| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736 |
- <template>
- <div id="singleDataTableManager">
- <!-- <div class="searchPanel">
- <div class="actionPanel">
- </div>
- </div> -->
- <el-row :gutter="10" style="height:28px;">
- <el-col :span="8" style="height:28px;">
- <el-form ref="searchForm" :inline="true">
- <el-form-item v-for="searchItem in searchConfigure" :label="searchItem.comments" :key="searchItem.comments" v-if="searchItem.isHidden!='1'">
- <el-input v-if="searchItem.widgetType=='text'" v-model="searchDataObject[searchItem.name]"></el-input>
- <el-input v-if="searchItem.widgetType=='tree'" @focus="showTrees" v-model="areaTxt"></el-input>
- <el-date-picker v-if="searchItem.widgetType=='date'" v-model="searchDataObject[searchItem.name]"></el-date-picker>
- <!-- <el-date-picker v-if="searchItem.widgetType=='year'" type="year" v-model="searchDataObject[searchItem.name]"></el-date-picker> -->
- <el-select-dict v-if="searchItem.widgetType=='select'" :dictId="searchItem['refObjValue']" :initialValue="searchDataObject[searchItem.name]" v-model="searchDataObject[searchItem.name]"></el-select-dict>
- <!--<el-tree v-if="searchItem.widgetType=='tree' && treeShows" :treeInfos="areaData" :label="'text'" :parentId="areaId" @closeTree="treeShows = 0" @sendMenuInfo="officeInfo"></el-tree>-->
- </el-form-item>
- </el-form>
- </el-col>
- <el-col :span="6" style="height:28px;">
- <el-button v-for="action in viewActions" :key="action.name" type="primary"
- size="mini"
- @click="handleViewActions(action)">{{action.label}}
- </el-button>
- </el-col>
- </el-row>
- <el-container style="margin-top:10px;">
- <el-main style="padding:5px;">
- <el-table
- :data="tableData"
- stripe
- height="300"
- border
- style="width: 100%"
- >
- <!--数据列配置-->
- <el-table-column v-for="colmun in tableViewConfigure" :key="colmun.name" v-if="colmun.isHidden!='1'"
- :prop="colmun.name"
- show-overflow-tooltip
- header-align="center"
- align="center"
- :formatter="tableColumnsFormatter.bind(colmun)"
- :label="colmun.comments"
- :min-width="colmun.width">
- <template slot-scope="scope">
- {{tableColumnsFormatter(scope.row,scope,scope.$index,colmun)}}
- </template>
- </el-table-column>
- <!--操作列配置-->
- <el-table-column v-if="tableColumnsActions.length > 0"
- label="操作"
- header-align="center"
- align="center"
- min-width="180">
- <template slot-scope="scope">
- <el-button v-for="action in tableColumnsActions" :key="action.name"
- size="mini"
- @click="handleTableColumnsActions(scope.$index, scope.row,action)">{{action.label}}</el-button>
- </template>
- </el-table-column>
- </el-table>
- </el-main>
- </el-container>
- <div class="pagination">
- <el-pagination @current-change="handleCurrentChange" layout="total, prev, pager, next" :total="total">
- </el-pagination>
- </div>
- <!-- 弹出form表单 -->
- <el-dialog :title="actionType=='add'?'新增':'修改'"
- v-if="showDetailForm"
- :visible.sync="showDetailForm"
- :before-close="handleClose"
- :modal-append-to-body="true"
- :append-to-body="true"
- width="40%">
- <div :style="{'max-height':heightForDialog + 'px'}" style="width:100%;background-color:white;overflow-y: auto;">
- <el-form ref="form" label-width="160px" >
- <!-- form表单填录项配置 -->
- <el-form-item v-for="formItem in formViewConfigure" :label="formItem.comments" :required="formItem.isrequired=='1'" :key="formItem.comments" v-if="formItem.isHidden!='1' || (formItem.name != 'id' && actionType=='add') || formItem.isEditable == '1'">
- <template name="label" slot="label"><!--2018.09.16 增加对必填项目的星号提示-->
- <p style="display:inline;color:red" v-if="formItem.isRequired">*</p>
- <p style="display:inline;">{{formItem.comments}}:</p>
- </template>
- <el-input v-if="formItem.widgetType!='table'
- &&formItem.widgetType!='date'
- &&formItem.widgetType!='month'
- &&formItem.widgetType!='select'
- &&formItem.widgetType != 'tree'
- &&formItem.widgetType != 'table'
- &&formItem.widgetType != 'treeCheck'
- &&formItem.widgetType != 'selectMultiple'
- &&formItem.widgetType != 'year'"
- :type="formItem.widgetType=='textarea'?'textarea':
- formItem.widgetType=='password' ? 'password' : 'text'"
- v-model="formDataObject[formItem.name]">
- </el-input>
- <el-input v-if="formItem.widgetType == 'tree'" :type="formItem.widgetType=='textarea'?'textarea':'text'" v-model="parentName" @focus="showTree(formItem.widgetType)"></el-input>
- <el-input v-if="formItem.widgetType == 'table'" :type="formItem.widgetType=='textarea'?'textarea':'text'" v-model="parentNameTab" @focus="addParentEvent(formItem.widgetType)" ></el-input>
- <el-input v-if="0" :type="formItem.widgetType=='textarea'?'textarea':formItem.widgetType=='password' ? 'password' : 'text'" v-model="formDataObject[formItem.name]" @focus="showTree(formItem.widgetType)"></el-input>
- <tree-x v-if="treeShow && formItem.widgetType == 'tree'" @closeTree='hideTree' @sendMenuInfo='getMenuInfo' :isChecked='formItem.widgetType'></tree-x>
- <!-- <table-x v-if="tableShow && formItem.widgetType == 'table'" @closeTable='hideTable' @sendMenuInfo='getMenuInfo' :isChecked='formItem.widgetType'></table-x> -->
- <tree-x v-if="formItem.widgetType == 'treeCheck'" :id="idid" @sendMenuInfo='getMenuInfo' :isChecked='formItem.widgetType'></tree-x>
- <el-date-picker v-if="formItem.widgetType=='date'||formItem.widgetType=='year'||formItem.widgetType=='month'"
- :type="formItem.widgetType=='date'?'date':formItem.widgetType=='year' ? 'year':formItem.widgetType=='month' ? 'month':'date'"
- v-model="formDataObject[formItem.name]"
- :value-format="formItem.widgetType=='date' ? 'yyyy-MM-dd':formItem.widgetType=='month' ? 'yyyy-MM':'yyyy'"></el-date-picker>
- <!--<el-date-picker type="year" v-if="formItem.widgetType=='year'" v-model="formDataObject[formItem.name]"></el-date-picker>-->
- <el-select-dict v-if="formItem.widgetType=='select'" :dictId="formItem['refObjValue']" :initialValue="formDataObject[formItem.name]" v-model="formDataObject[formItem.name]"></el-select-dict>
- <el-multiple-select v-if="formItem.widgetType=='selectMultiple'" @privInfo='infoList' :id="idid"></el-multiple-select>
- </el-form-item>
- <!-- form表单操作项配置 -->
- </el-form>
- </div>
- <el-row style="text-align: right;margin-top: 25px;">
- <el-button v-for="action in formActions" :key="action.name" :type="action.label =='保存'?'primary':''"
- @click="handleFormAction(action)"
- v-if="action.name==actionType"
- >{{action.label}}</el-button>
- </el-row>
- </el-dialog>
- <!-- 删除提示框 -->
- <el-dialog :modal="false" title="提示" :visible.sync="delVisible" width="300px" center>
- <div class="del-dialog-cnt">删除不可恢复,是否确定删除?</div>
- <span slot="footer" class="dialog-footer">
- <el-button @click="delVisible = false">取 消</el-button>
- <el-button type="primary" @click="deleteRow">确 定</el-button>
- </span>
- </el-dialog>
- <!-- wxcwater 添加行自定义插槽弹出窗 -->
- <el-dialog :modal-append-to-body="true" :append-to-body="true" title="" :visible.sync="popupVisible" v-if="popupVisible" center>
- <slot name="gridpopup" :row="popupSlotRow" :action="popupSlotAction">
- </slot>
- </el-dialog>
- <el-dialog :modal-append-to-body="true" :append-to-body="true" title="所属机构" :visible.sync="addPaBasinCode" v-if="addPaBasinCode">
- <div :style="{'max-height':heightForTable+'px','overflow-y':'auto',}" >
- <table-x @dialogEvent="dialogEvent"></table-x>
- </div>
- </el-dialog>
- </div>
- </template>
- <script>
- /*
- 组件名称:singleDataTableManager
- 组件用途:后台单表(视图))管理
- 包含组件:dragable(拖拽)
- singleDataForm(单表form)
- 包含API文件:
- (singleDataTableManagerApi -单表管理组件用到的API)
- (dictionaryApi - 字典相关的API)
- props:tableViewId:string - 指定管理视图代码 (通过此代码查询接口获得组成页面的所有信息)
- otherParamsObject:object - 额外查询参数(为有额外联查条件要求准备,所有属性均会附加在所有请求中)
- 版本记录:
- 0.0.1 (初版) @author:wxcwater @date:2018.09.11
- 0.0.2 @author:唐怀亚 增加提交等操作的逻辑处理
- 0.0.3 @author:wxcwater @date:2018.09.16 增加根据json配置查询功能 增加对必填项目的*提示
- 0.0.4 @author:wby @date:2018.09.18 增加树形控件
- 0.0.5 @author:zhangyz @date:2018.11.14 dialog 添加 :model = "false"
- 0.0.6 @author:zhangyz @date:2018.11.15 添加el-date-picker type为year的判断;el-table动态高度:height="heightForDialog";弹出form表单动态高度
- 0.0.7 @author:wxcwater @date:2018.11.15 增加表格操作中的自定义弹出框操作。设置action.name为popup。
- 自定义弹出窗内容为插槽。默认带当前行数据与action数据
- 添加列的width的绑定
- 添加了otherParamsOject为有多个关联限定做准备otherParamsObject的每个属性均会在所有请求中出现
- 添加了popup按钮的事件冒泡,方便在外层拼装ohterParamsObject
- 0.0.8 @author:wxcwater @date:2018.11.16 对otherparamObject的watch修改为深度监视以监视对象的变化。之前的方式在对象属性变化
- 而非绑定变化时会不起作用。
- 0.0.9 @author:zhangyz @date:2018.11.16 添加了一河一策清单中有时间填报的dateFormatter,这里在实现基本功能后,对el-date-picker的type="date"和"year"类型还要做统一判断
- 添加了el-dialog 的:modal-append-to-body="true" :append-to-body="true" 这两个属性解决dialog弹出遮罩问题,始终让最新弹出的dialog在最亮的状态
- 278行 添加delete判断
- */
- import axios from 'axios';
- import {adCd_global} from '../utils/myRequest/url.js'
- import {getAddTree} from '../api/administrativeRegion.js'
- import treeX from './treeX.vue'
- import tableX from './tableX.vue'
- import elTree from './treeComponent.vue'
- import request from '../utils/gw_ajax_request.js'
- import {dateFormat} from '../utils/gw_date.js'
- import {getdictItemBydictIdSync} from '../utils/gw_dictionary.js'
- import elSelectDict from './elSelectWithDict'
- import elMultipleSelect from './selectMultiple.vue'
- import {baseUrl} from '../utils/myRequest/url.js'
- export default {
- props:['tableViewId','dataTitle','otherParamsObject'],
- name: 'singleDataTableManager',
- components: {
- 'el-select-dict':elSelectDict,
- 'tree-x': treeX,
- 'table-x': tableX,
- 'el-multiple-select': elMultipleSelect,
- 'el-tree': elTree,
- },
- computed:{
- },
- watch:{
- formDataObject:{
- handler(){
- console.log('formDataObject变化了');
- },
- deep:true,
- },
- areaTxt(val){
- if(val == ''){
- this.searchDataObject.adCd = ''
- }
- },
- otherParamsObject:{
- handler(){
- console.log('otherParamsObject');
- this.getTableData();
- },
- deep:true,
- }
- },
- data () {
- return {
- heightForDialog:window.innerHeight*0.45,
- heightForTable:window.innerHeight-91,
- mainHeight:window.innerHeight-265,
- manageViewConfigure:{},//从后台获得的view整体的配置信息对象
- viewActions:[],//脱离于table与form的操作 如刷新、查询等
- tableViewConfigure:[],//table表格的数据列配置
- tableColumnsActions:[],//table表格每行的操作 如 查询 修改 删除
- formViewConfigure:[],//form表单的配置对象
- formActions:[],//form表单的操作 如 保存 取消
- searchConfigure:[],//2018.09.16 + 查询参数用
- tableData:[],//单表(视图)实体数据
- showDetailForm:false,//展示详细弹窗 以用于查看、新增、修改
- searchDataObject:{},
- formBasicObject:{},//表单基本对象
- formDataObject:{},//表单数据对象(实际持有表单数据的对象)
- actionType:'',//针对表单 是修改(edit) 或是 新增(add) 的状态记录
- detailType:null,
- detailUrl:null,
- deleteType:null,
- deleteUrl:null,
- addType:null,
- addUrl:null,
- editType:null,
- editUrl:null,
- searchType:null,
- searchUrl:null,
- editVisible: false,
- delVisible: false,
- idx: -1,
- page:{
- pageNum: 1,
- pageSize: 10
- },
- total:0,
- baseUrl:'/pdcApi/',
- treeShow: 0,
- tableShow: 0,
- parentName: '',
- parentNameTab: '',
- idid: null,
- treeShows: 0,
- // areaId: getNodeByAd,
- areacode:localStorage.getItem('areacode') ? localStorage.getItem('areacode') : '350000000000',
- areaTxt: '',
- areaData: null,
- popupVisible:false,
- addPaBasinCode:false,
- popupSlotRow:{},
- popupSlotAction:{},
- }
- },
- mounted:function(){
- let me = this;
- me.getManageViewConfigureInformation();
- console.log(this.otherParamsObject);
- },
- methods:{
- dialogEvent:function(item){
- var _self =this;
- _self.parentNameTab = item.deptId;
- this.formDataObject.deptId = item.deptId;
- _self.addPaBasinCode = false;
- },
- addParentEvent:function(){
- var _self =this;
- _self.addPaBasinCode = true;
- },
- getManageViewConfigureInformation:function(){ //通过tableViewId
- console.log('获取'+this.tableViewId+'的配置内容');
- let _self = this;
- axios.get('/src/static/fields.json').then((res) => {
- _self.manageViewConfigure = res.data[_self.tableViewId];
- // _self.dataTitle.title = res.data[_self.tableViewId].title;
- this.analyseManageViewConfigure();
- })
- },
- analyseUrlTempLateToRealUrl:function(urlTemplate,paramsObject){
- let urlTemp = urlTemplate.split('/');
- urlTemp.forEach((element,index) => {
- if(element.startsWith('{')&&element.endsWith('}')){
- console.log('换'+paramsObject[element.substring(1,element.length-1)]);
- urlTemp[index] = paramsObject[element.substring(1,element.length-1)]
- }
- });
- console.log(urlTemp);
- return this.baseUrl + urlTemp.join('/');
- },
- analyseManageViewConfigure:function(){
- console.log('开始分析处理');
- this.tableViewConfigure = this.manageViewConfigure['fields'];//拆分数据列配置
- this.formViewConfigure= this.manageViewConfigure['fields'];//拆分表单配置
- console.log(this.manageViewConfigure.actions);
- this.manageViewConfigure.actions.forEach(item => {//拆分操作部分
- if(item.position=='grid'){
- this.tableColumnsActions.push(item);
- if(item.name == 'detail'){
- this.detailType = item.restType;
- this.detailUrl = item.url;
- }else if(item.name == 'delete'){
- this.deleteType = item.restType;
- this.deleteUrl = item.url;
- }
- }else if(item.position=='down_center'){
- this.formActions.push(item);
- if(item.name == 'add'){
- this.addType = item.restType;
- this.addUrl = item.url;
- }else {
- this.editType = item.restType;
- this.editUrl = item.url;
- }
- }else{
- if(item.type != 'noSr'){
- this.viewActions.push(item);
- if(item.name == 'load'){
- this.searchType = item.restType;
- this.searchUrl = item.url;
- }
- }else{
- if(item.name == 'load'){
- this.searchType = item.restType;
- this.searchUrl = item.url;
- }
- };
- }
- });
- this.formViewConfigure.forEach(item => {//设定form表单基本对象
- this.formBasicObject[item.name] = null;
- });
- this.formDataObject = Object.assign({},this.formBasicObject); //克隆basic对象,防止后续对BasicObject的污染
- //@update 2018.09.16 @author wxcwater 增加对可查询字段的分拆工作
- this.tableViewConfigure.forEach(element => {
- if(element.isSearchable == '1'){
- this.searchDataObject[element.name] = '';
- this.searchConfigure.push(element);
- }
- });
- console.log('打印结果');
- console.log(this.viewActions);
- console.log(this.tableColumnsActions);
- console.log(this.formActions);
- this.getTableData();
- },
- getTableData:function(){
- let me = this;
- let queryParams = Object.assign(this.searchDataObject,this.page);
- if(this.otherParamsObject) {
- queryParams = Object.assign(queryParams, this.otherParamsObject);
- }
- console.log(queryParams);
- request({
- url: `${baseUrl}/${me.searchUrl}`,
- method: me.searchType,
- params: queryParams
- }).then((response) => {
- // ;
- console.log(response)
- me.tableData = response.data.list ? response.data.list : response.data
- me.total = response.data.total;
- })
- .catch(function (err) {
- console.log(err);
- });
- // axios.get(me.baseUrl + me.searchUrl,me.page)
- },
- handleTableColumnsActions:function(index,row,action){//处理表格中的操作
- console.log(index);
- console.log(row);
- console.log(action);
- if(action.name == 'detail'){
- this.actionType = 'edit';
- delete row.password
- for(var i in row){
- if(row[i] === true){
- row[i] = 'true'
- }
- if(row[i] === false){
- row[i] = 'false'
- }
- }
- this.formDataObject = row;
- this.$route.name == '字典管理' ? this.idid = row.dictTypeId : this.idid = row.id
- this.parentName = row.parentName ? row.parentName : row.adCode; //菜单树父菜单取值
- this.showDetailForm = true;
- }else if(action.name == 'delete'){
- this.formDataObject = row;
- this.idx = index;
- this.delVisible = true;
- }else if(action.name=='popup'){
- this.$emit('gridPopupButtonClick',{'row':row,'action':action});
- this.popupSlotRow = row;
- this.popupSlotAction = action;
- this.popupVisible = true;
- }
- },
- handleViewActions:function(action){//处理view的操作
- console.log(action);
- this.treeShows = 0
- if(action.name == 'add'){
- //添加逻辑
- this.formDataObject.dictTypeId = ''
- console.log(this.formDataObject.dictTypeId)
- this.actionType = 'add';
- this.formDataObject = Object.assign({},this.formBasicObject); //克隆basic对象,防止后续对BasicObject的污染
- this.showDetailForm = true;
- }else if(action.name == 'load'){
- this.getTableData();
- }
- },
- handleFormAction:function(action){
- if(this.actionType == 'add'){
- //新增 的 ajax请求
- this.parentName = ''
- this.handleAddRequest();
- }else if(this.actionType == 'edit'){
- //修改的ajax请求
- this.handleEditRequest();
- }
- },
- tableColumnsFormatter:function(row, scope, index,colmunObj){//table列表中针对某一列的formatter
- let columnContentType = colmunObj["widgetType"]; //获得widgetType来确定是否需要对值进行处理
- let prop = scope.column.property;//获取配置的prop 用以返回属性
- if(columnContentType == 'select'){
- let formatterResult = row[prop];
- let dictOptions = getdictItemBydictIdSync(colmunObj["refObjValue"]);
- if(dictOptions){
- let hasDict = false;
- dictOptions.forEach(element => {
- if(element['key'] == row[prop]){
- hasDict = true;
- formatterResult = element['value'];
- }
- });
- }
- return formatterResult;
- }else if(columnContentType == 'selectMultiple'){
- let formatterResult = row[prop];
- let dictOptions = getdictItemBydictIdSync(colmunObj["refObjValue"]);
- if(dictOptions){
- let hasDict = false;
- dictOptions.forEach(element => {
- if(element['key'] == row[prop]){
- hasDict = true;
- formatterResult = element['value'];
- }
- });
- }
- return formatterResult;
- }else if(columnContentType = 'text'){
- let formatterResult = row[prop];
- let dictOptions = getdictItemBydictIdSync(colmunObj["refObjValue"]);
- if(dictOptions){
- let hasDict = false;
- dictOptions.forEach(element => {
- if(row[prop]){
- if(element['value'] == row[prop].toString()){
- hasDict = true;
- formatterResult = element['descr'];
- }
- }
- });
- }
- return formatterResult;
- // return row[prop];
- }else{
- return row[prop];
- }
- return row[prop];
- },
- handleCurrentChange:function(val) {
- this.page.pageNum = val;
- this.getTableData();
- },
- //3个
- handleAddRequest:function(){
- console.log('handleAddRequest');
- let realUrl = this.analyseUrlTempLateToRealUrl(this.addUrl,this.formDataObject);
- let queryParams = this.formDataObject;
- // if(queryParams.createTime){
- // queryParams.createTime = dateFormat(queryParams.createTime,'yyyy-MM-dd');
- // }
- // if(queryParams.startTime){
- // queryParams.startTime = dateFormat(queryParams.startTime,'yyyy-MM-dd');
- // }
- // if(queryParams.endTime){
- // queryParams.endTime = dateFormat(queryParams.endTime,'yyyy-MM-dd');
- // }
- // if(queryParams.tgIndexDate){
- // queryParams.tgIndexDate = dateFormat(queryParams.tgIndexDate,'yyyy');
- // }
- // if(queryParams.tyYear){
- // queryParams.tyYear = dateFormat(queryParams.tyYear,'yyyy');
- // }
- // if(queryParams.wbiYear){
- // queryParams.wbiYear = dateFormat(queryParams.wbiYear,'yyyy');
- // }
- // if(queryParams.wbuYear){
- // queryParams.wbuYear = dateFormat(queryParams.wbuYear,'yyyy');
- // }
- if(this.otherParamsObject) {
- queryParams= Object.assign(this.formDataObject, this.otherParamsObject);
- }
- request({
- url: realUrl,
- method: this.addType,
- data: queryParams,
- params:queryParams,
- }).then((response) => {
- if(response.success == true){
- this.showDetailForm = false;
- this.getTableData();
- }
- })
- },
- handleEditRequest:function(){
- console.log('handleEditRequest');
- let realUrl = this.analyseUrlTempLateToRealUrl(this.editUrl,this.formDataObject);
- let queryParams = this.formDataObject;
- // if(queryParams.createTime){
- // queryParams.createTime = dateFormat(queryParams.createTime,'yyyy-MM-dd');
- // }
- // if(queryParams.startTime){
- // queryParams.startTime = dateFormat(queryParams.startTime,'yyyy-MM-dd');
- // }
- // if(queryParams.endTime){
- // queryParams.endTime = dateFormat(queryParams.endTime,'yyyy-MM-dd');
- // }
- // if(queryParams.tgIndexDate&&queryParams.tgIndexDate.length != 4 ){
- // queryParams.tgIndexDate = dateFormat(queryParams.tgIndexDate,'yyyy');
- // }
- // if(queryParams.wbiYear&&queryParams.wbiYear.length != 4 ){
- // queryParams.wbiYear = dateFormat(queryParams.wbiYear,'yyyy');
- // }
- // if(queryParams.wbuYear&&queryParams.wbuYear.length != 4 ){
- // queryParams.wbuYear = dateFormat(queryParams.wbuYear,'yyyy');
- // }
- // if(queryParams.wboYear&&queryParams.wboYear.length != 4 ){
- // queryParams.wboYear = dateFormat(queryParams.wboYear,'yyyy');
- // }
- // if(queryParams.tyYear&&queryParams.tyYear.length != 4){
- // queryParams.tyYear = dateFormat(queryParams.tyYear,'yyyy');
- // }
- if(this.otherParamsObject) {
- queryParams= Object.assign(this.formDataObject, this.otherParamsObject);
- }
- request({
- url: realUrl,
- method: this.editType,
- params: queryParams,
- data: queryParams
- }).then((response) => {
- if(response.success == true){
- this.showDetailForm = false;
- this.getTableData();
- }
- })
- },
- handleDeleteRequest:function(row){
- console.log('handleDeleteRequest');
- let realUrl = this.analyseUrlTempLateToRealUrl(this.deleteUrl,row);
- let queryParams = this.formDataObject;
- if(this.otherParamsObject) {
- queryParams= this.otherParamsObject;
- }
- console.log(row)
- request({
- url: realUrl,
- method: this.deleteType,
- params: queryParams,
- data: queryParams
- })
- },
- // 确定删除
- deleteRow(){
- this.handleDeleteRequest(this.formDataObject);
- this.tableData.splice(this.idx, 1);
- this.$message.success('删除成功');
- this.delVisible = false;
- setTimeout(()=>{
- this.getTableData();
- },50)
- },
- handleClose(done){
- this.parentName = ''
- done()
- },
- //获取菜单树信息
- getMenuInfoTable(menuInfo){
- if(menuInfo){
- this.formDataObject.adCode = menuInfo.id
- }
- // else{
- // this.formDataObject.parentId = menuInfo.id
- // this.formDataObject.menuIds = menuInfo
- // }
- this.parentName = menuInfo.id ? menuInfo.id : "";
- },
- getMenuInfo(menuInfo){
- if(menuInfo){
- this.formDataObject.adCode = menuInfo.id
- }
- // else{
- // this.formDataObject.parentId = menuInfo.id
- // this.formDataObject.menuIds = menuInfo
- // }
- this.parentName = menuInfo.id ? menuInfo.id : "";
- },
- //展示/收起树
- showTree(type){
- if(type == 'tree' || type == 'treeCheck'){
- this.treeShow = 1
- }
- },
- //展示/收起树
- showTable(type){
- if(type == 'table' || type == 'tableCheck'){
- this.tableShow = 1
- }
- },
- hideTree(hide){
- console.log(hide)
- this.treeShow = hide
- },
- hideTable(hide){
- console.log(hide)
- this.tableShow = hide
- },
- infoList(info){
- this.$route.name == '用户管理' ? this.formDataObject.roleIds = info : this.$route.name == '角色管理' ? this.formDataObject.privIds = info : this.formDataObject.dictTypeId = info.join('')
- },
- showTrees(){
- this.treeShows = 1
- },
- officeInfo(data) {
- console.log(data)
- this.areaTxt = data.text
- console.log(this.searchDataObject)
- this.searchDataObject.adCd = data.id
- },
- //获取政区结构表
- getArea(){
- getAddTree(this.areacode).then((res) => {
- this.areaData = res.data.data
- })
- }
- },
- }
- </script>
- <style>
- #singleDataTableManager{
- /*height:100%;*/
- width:100%;
- /* margin:-15px; */
- }
- #singleDataTableManager th,#singleDataTableManager .el-table thead tr {
- font-size: 14px;
- background-color: #eef1f6;
- color: #1f2d3d;
- }
- .searchPanel{
- width:100%;
- /* border-bottom: 1px dotted #6161d7; */
- /* padding-bottom:10px; */
- padding-left: 10px;
- margin-top: 10px;
- box-sizing: border-box;
- /* overflow: hidden; */
- }
- .actionPanel{
- width:100%;
- }
- .searchPanel .el-form{
- float: left;
- margin-right: 20px;
- height: 30px;
- }
- #singleDataTableManager .pagination{
- text-align: center;
- }
- #singleDataTableManager .el-select{
- width: 100%;
- }
- .menu_tree .el-tree-node__content .el-tree-node__expand-icon+span::before {
- content: url(../assets/images/place.png);
- margin-right: 6px;
- }
- .menu_tree .el-tree-node__children .el-tree-node__expand-icon+span::before {
- content: url(../assets/images/place.png);
- }
- </style>
|