From 8a166a60cfd1a2e593ffa103d10c0dc224fc8628 Mon Sep 17 00:00:00 2001 From: 田源 <tianyuan@vci-tech.com> Date: 星期四, 09 一月 2025 11:14:50 +0800 Subject: [PATCH] 表格定义显示字段设置拖拽排序 --- Source/plt-web/plt-web-ui/src/views/modelingMenu/ui/formDefine/components/tableDialog.vue | 588 ++++++++++++++++++++++++++++++++++++++++----------------- 1 files changed, 409 insertions(+), 179 deletions(-) diff --git a/Source/plt-web/plt-web-ui/src/views/modelingMenu/ui/formDefine/components/tableDialog.vue b/Source/plt-web/plt-web-ui/src/views/modelingMenu/ui/formDefine/components/tableDialog.vue index 0805b0c..b5efc09 100644 --- a/Source/plt-web/plt-web-ui/src/views/modelingMenu/ui/formDefine/components/tableDialog.vue +++ b/Source/plt-web/plt-web-ui/src/views/modelingMenu/ui/formDefine/components/tableDialog.vue @@ -9,35 +9,36 @@ width="60%" @close="closeDialog" > - <el-form :model="form" :rules="rules" label-position="right" label-width="100px"> + <el-form ref="form" v-loading="formLoading" :model="form" :rules="rules" label-position="right" label-width="100px" + size="small"> <el-row> <el-col :span="12"> - <el-form-item label="鍚嶇О"> - <el-input v-model="user" placeholder="璇疯緭鍏ュ唴瀹�" size="mini"></el-input> + <el-form-item label="鍚嶇О" prop="viName"> + <el-input v-model="form.viName" placeholder="璇疯緭鍏ュ悕绉�"></el-input> </el-form-item> </el-col> - <el-col :span="12"> <el-form-item label="姣忛〉琛屾暟"> - <el-input v-model="user" placeholder="璇疯緭鍏ュ唴瀹�" size="mini"></el-input> + <el-input v-model="form.itemPageSize" placeholder="璇疯緭鍏ユ瘡椤佃鏁�" type="number"></el-input> </el-form-item> </el-col> <el-col :span="24"> <el-form-item label="闄勫姞鏌ヨ鏉′欢"> - <el-input v-model="user" placeholder="璇疯緭鍏ュ唴瀹�" size="mini"></el-input> + <el-input v-model="form.itemAddFilter" placeholder="璇疯緭鍏ユ煡璇㈡潯浠�"></el-input> </el-form-item> </el-col> <el-col :span="12"> - <el-form-item label="缁戝畾琛ㄥ崟"> + <el-form-item label="缁戝畾琛ㄥ崟" prop="itemInObj"> <div style="display: flex;align-items: center;"> - <el-select v-model="form.region" placeholder="璇烽�夋嫨娲诲姩鍖哄煙" size="mini"> - <el-option label="鍖哄煙涓�" value="shanghai"></el-option> - <el-option label="鍖哄煙浜�" value="beijing"></el-option> + <el-select v-model="form.itemInObj" clearable placeholder="璇烽�夋嫨缁戝畾琛ㄥ崟" + @change="formSelectChange"> + <el-option v-for="(item,index) in selectList" :key="index" :label="item.viName" + :value="item.id"></el-option> </el-select> - <el-button plain size="mini" style="margin-left: 3px" type="success">閫夋嫨</el-button> + </div> </el-form-item> </el-col> @@ -45,146 +46,69 @@ <el-col :span="12"> <el-form-item label="鐖跺悕绉�"> <div style="display: flex;align-items: center;"> - <el-input v-model="user" placeholder="璇疯緭鍏ュ唴瀹�" size="mini"></el-input> - <el-checkbox v-model="checked" style="margin-left: 5px; margin-right: 5px">鏄剧ず鏌ヨ鍖哄煙</el-checkbox> - <el-checkbox v-model="checked" style="margin-left: 5px;margin-right: 0px">鏄剧ず鏂囦欢澶�</el-checkbox> + <el-input v-model="form.itemParentFolderName" placeholder="璇疯緭鍏ョ埗鍚嶇О"></el-input> + <el-checkbox v-model="form.itemIsNavigatorExpand" style="margin-left: 5px; margin-right: 5px">鏄剧ず鏌ヨ鍖哄煙 + </el-checkbox> + <el-checkbox v-model="form.itemIsShowFolder" style="margin-left: 5px;margin-right: 0px">鏄剧ず鏂囦欢澶� + </el-checkbox> </div> </el-form-item> </el-col> - <el-col :span="12"> - <el-form-item label="鏄剧ず瀛楁"> - <div style="display: flex; align-items: center"> - <div style="height: 260px; width: 160px; border: 1px solid #bdbbbb;overflow-y: auto"> - <el-table - :data="showLifeTable" - style="width: 100%"> - <el-table-column - align="center" - label="鍙娇鐢ㄥ瓧娈�" - prop="id"> - </el-table-column> - </el-table> - </div> - <div style="margin-left: 10px; margin-right: 10px"> - <el-button circle icon="el-icon-back" style="margin-right: 10px"></el-button> - <el-button circle icon="el-icon-right"></el-button> - </div> - <div style="height: 260px; width: 160px; border: 1px solid #bdbbbb;overflow-y: auto"> - <el-table - :data="showRightTable" - style="width: 100%"> - <el-table-column - align="center" - label="闇�瑕佷娇鐢ㄥ瓧娈�" - prop="id"> - </el-table-column> - </el-table> - </div> - </div> + <el-col :span="24"> + <el-form-item label="鏄剧ず瀛楁" prop="showLabel"> + <el-drag-select v-model="form.itemOutFieldList" multiple placeholder="璇烽�夋嫨" style="width:100%;" @outFileChange="outFileChange"> + <el-option v-for="(item,index) in form.itemSelectOutFieldList" :key="index" :label="item.id" + :value="item.id"/> + </el-drag-select> </el-form-item> </el-col> - <el-col :span="12"> + <el-col :span="24"> <el-form-item label="鎼滅储瀛楁"> - <div style="display: flex; align-items: center"> - <div style="height: 260px; width: 160px; border: 1px solid #bdbbbb;overflow-y: auto"> - <el-table - :data="searchLifeTable" - style="width: 100%"> - <el-table-column - align="center" - label="鍙緵鎼滅储瀛楁" - prop="id"> - </el-table-column> - </el-table> - </div> - <div style="margin-left: 10px; margin-right: 10px"> - <el-button circle icon="el-icon-back" style="margin-right: 10px"></el-button> - <el-button circle icon="el-icon-right"></el-button> - </div> - <div style="height: 260px; width: 160px; border: 1px solid #bdbbbb;overflow-y: auto"> - <el-table - :data="searchRightTable" - style="width: 100%"> - <el-table-column - align="center" - label="闇�鎼滅储瀛楁" - prop="id"> - </el-table-column> - </el-table> - </div> - </div> - </el-form-item> - </el-col> - - <el-col :span="12"> - <el-form-item label="鍒�"> - <el-select v-model="form.region" placeholder="璇烽�夋嫨鍒�" size="mini"> - <el-option label="鍖哄煙涓�" value="shanghai"></el-option> - <el-option label="鍖哄煙浜�" value="beijing"></el-option> + <el-select v-model="form.itemKeyFieldList" multiple placeholder="璇烽�夋嫨" style="width: 100%"> + <el-option + v-for="(item,index) in form.itemSearchFieldList" + :key="index" + :label="item.id" + :value="item.id"> + </el-option> </el-select> </el-form-item> </el-col> - <el-col :span="12"> - <el-form-item label="瀹藉害"> - <div style="display: flex;align-items: center;"> - <el-input v-model="user" placeholder="璇疯緭鍏ュ唴瀹�" size="mini" style="width: 193px"></el-input> - <el-button plain size="mini" style="margin-left: 3px" type="success">璁剧疆</el-button> - </div> - </el-form-item> - </el-col> </el-row> <el-col :span="24"> <el-form-item label="璁剧疆鍒楀"> - <div style="height: 150px; width: 100%; border: 1px solid #bdbbbb;overflow-y: auto"> - <el-table - :data="columnWidthData" - :highlight-current-row="true" - border - stripe - style="width: 100%"> - <el-table-column - align="center" - label="鍒楀悕" - prop="id"> - <template slot-scope="scope"> - <el-tag size="medium">{{ scope.row.id }}</el-tag> - </template> - </el-table-column> - <el-table-column - align="center" - label="鍒楀" - prop="width"> - <template slot-scope="scope"> - <el-tag size="medium">{{ scope.row.width }}</el-tag> - </template> - </el-table-column> - </el-table> - </div> + <avue-crud + :data="form.itemFieldWidthList" + :option="fileWidthOption"> + </avue-crud> + </el-form-item> </el-col> <el-col :span="8"> <el-form-item label="鏌ヨ瀛楁"> - <el-input v-model="user" placeholder="璇疯緭鍏ュ唴瀹�" size="mini"></el-input> + <el-input v-model="form.searchLabel" placeholder="璇疯緭鍏ユ煡璇㈠瓧娈�" size="mini"></el-input> </el-form-item> </el-col> <el-col :span="8"> <el-form-item label="鏌ヨ娆℃暟"> - <el-input v-model="user" placeholder="璇疯緭鍏ュ唴瀹�" size="mini"></el-input> + <el-input v-model="form.searchNumber" placeholder="璇疯緭鍏ユ煡璇㈡鏁�" size="mini"></el-input> </el-form-item> </el-col> <el-col :span="8"> <el-form-item label="鏌ヨsql"> <div style="display: flex;align-items: center"> - <el-input v-model="user" placeholder="璇疯緭鍏ュ唴瀹�" size="mini"></el-input> - <el-button plain size="mini" style="margin-left: 3px" type="success">娣诲姞</el-button> - <el-button plain size="mini" style="margin-left: 3px" type="danger">鍒犻櫎</el-button> + <el-input v-model="form.searchSql" placeholder="璇疯緭鍏ql" size="mini"></el-input> + <el-button plain size="mini" style="margin-left: 3px" type="success" @click="searchAddClickHandler">娣诲姞 + </el-button> + <el-button plain size="mini" style="margin-left: 3px" type="danger" @click="searchDelClickHandler">鍒犻櫎 + </el-button> </div> </el-form-item> </el-col> @@ -193,33 +117,34 @@ <el-form-item label="鏌ヨ瀛楁"> <div style="height: 150px; width: 100%; border: 1px solid #bdbbbb;overflow-y: auto"> <el-table - :data="columnSearchData" + :data="form.itemSeniorQueryBOS" :highlight-current-row="true" border stripe - style="width: 100%"> + style="width: 100%" + @row-click="itemSeniorRowClick"> <el-table-column align="center" label="鏌ヨ瀛楁" - prop="id"> + prop="itemSeniorQueryCols"> <template slot-scope="scope"> - <el-tag size="medium">{{ scope.row.id }}</el-tag> + <el-tag size="medium">{{ scope.row.itemSeniorQueryCols }}</el-tag> </template> </el-table-column> <el-table-column align="center" label="鏌ヨ娆℃暟" - prop="name"> + prop="itemSeniorQueryColsCounts"> <template slot-scope="scope"> - <el-tag size="medium">{{ scope.row.name }}</el-tag> + <el-tag size="medium">{{ scope.row.itemSeniorQueryColsCounts }}</el-tag> </template> </el-table-column> <el-table-column align="center" label="鏌ヨsql" - prop="sql"> + prop="itemQuerySql"> <template slot-scope="scope"> - <el-tag size="medium">{{ scope.row.sql }}</el-tag> + <el-tag size="medium">{{ scope.row.itemQuerySql }}</el-tag> </template> </el-table-column> </el-table> @@ -229,9 +154,9 @@ <el-col :span="24"> <el-form-item label="鍙屽嚮鎿嶄綔"> - <el-select v-model="form.region" placeholder="璇烽�夋嫨鍙屽嚮鎿嶄綔" size="mini"> - <el-option label="鍖哄煙涓�" value="shanghai"></el-option> - <el-option label="鍖哄煙浜�" value="beijing"></el-option> + <el-select v-model="form.itemDbl" placeholder="璇烽�夋嫨鍙屽嚮鎿嶄綔"> + <el-option v-for="(item,index) in itemDblList" :key="index" :label="item.value" + :value="item.key"></el-option> </el-select> </el-form-item> </el-col> @@ -241,11 +166,11 @@ <div style="display: flex;align-items: center"> <div style="display: flex;align-items: center;width: 100%;"> <span>闀匡細</span> - <el-input v-model="user" placeholder="璇疯緭鍏ュ唴瀹�" size="mini"></el-input> + <el-input v-model="itemImgHeight" placeholder="璇疯緭鍏ラ暱搴�"></el-input> </div> <div style="display: flex;align-items: center;width: 100%;margin-left: 30px"> <span>瀹斤細</span> - <el-input v-model="user" placeholder="璇疯緭鍏ュ唴瀹�" size="mini"></el-input> + <el-input v-model="itemImgWidth" placeholder="璇疯緭鍏ュ搴�"></el-input> </div> </div> </el-form-item> @@ -253,83 +178,387 @@ <el-col :span="12"> <el-form-item label="瀛楃涓叉埅鍙�"> - <el-input v-model="user" placeholder="璇疯緭鍏ュ唴瀹�" size="mini"></el-input> + <el-input v-model="form.itemCut" placeholder="璇疯緭鍏ュ瓧绗︿覆" size="mini"></el-input> </el-form-item> </el-col> <el-col :span="8"> <el-form-item label="瓒呴摼鎺�"> - <el-input v-model="user" placeholder="璇疯緭鍏ュ唴瀹�" size="mini"></el-input> + <el-input v-model="form.itemHrefConf" placeholder="璇疯緭鍏ヨ秴閾炬帴" size="mini"></el-input> </el-form-item> </el-col> <el-col :span="24"> <el-form-item label="鏌ヨ妯℃澘"> - <el-select v-model="form.region" placeholder="璇烽�夋嫨鏌ヨ妯℃澘" size="mini"> - <el-option label="鍖哄煙涓�" value="shanghai"></el-option> - <el-option label="鍖哄煙浜�" value="beijing"></el-option> + <el-select v-model="form.itemQtName" placeholder="璇烽�夋嫨鏌ヨ妯℃澘"> + <el-option v-for="(item,index) in searchQtNameList" :key="index" :label="item.qtName" + :value="item.qtName"></el-option> </el-select> </el-form-item> </el-col> </el-form> <span slot="footer" class="dialog-footer"> - <el-button>鍙� 娑�</el-button> - <el-button type="primary">纭� 瀹�</el-button> + <el-button @click="closeDialog">鍙� 娑�</el-button> + <el-button type="primary" @click="dialogSaveClickHandler">纭� 瀹�</el-button> </span> </el-dialog> + </template> <script> +import basicOption from "@/util/basic-option"; +import {gridPortalVIDatas, getPortalVIById, getItemDblList, savePortalVI, getObjTypeQTs} from "@/api/UI/formDefine/api"; +import func from "@/util/func"; +import ElDragSelect from './DragSelect' + export default { name: "tableDialog", + components: {ElDragSelect}, + props: { + TreeNodeRow: { + type: Object, + default: () => { + } + }, + treeRadio: { + type: String, + default: "" + } + }, + created() { + // this.getDbList(); + }, data() { return { - columnSearchData: [ - { - id: 'test', - name: '3', - sql: 'xxxxx' - } - ], - columnWidthData: [ - { - id: 'test', - width: '250' - } - ], - searchLifeTable: [], - searchRightTable: [], - showRightTable: [], - showLifeTable: [ - { - id: 'test1' - }, - { - id: 'test2' - }, - { - id: 'test1' - }, - { - id: 'test2' - }, - { - id: 'test1' - }, - { - id: 'test2' - } - ], - rules: {}, - form: {}, + fileWidthOption: { + ...basicOption, + addBtn: false, + editBtn: false, + delBtn: false, + refreshBtn: false, + highlightCurrentRow: true, + height: 200, + menu: false, + selection: false, + column: [ + { + label: '鍒楀悕', + prop: 'key', + }, + { + label: '鍒楀', + prop: 'value', + cell: true, + rules: [ + { + required: true, + message: '璇疯緭鍏ュ垪瀹�', + trigger: 'blur' + } + ] + } + ] + }, + searchQtNameList: [], + formLoading: false, + itemImgHeight: '', + itemImgWidth: '', + itemSeniorRow: {}, + itemDblList: [], + selectFormOption: { + ...basicOption, + addBtn: false, + menu: false, + refreshBtn: false, + column: [ + { + label: '涓氬姟鍚嶇О', + prop: 'typeName', + + }, + { + label: '鍚嶇О', + prop: 'viName', + sortable: true, + }, + { + label: '绫诲瀷', + prop: 'viTypeText', + }, + ] + }, + selectFormData: [], + selectFormLoading: false, + selectFormVisible: false, + rules: { + viName: [{ + required: true, + message: '璇疯緭鍏ュ悕绉�', + trigger: 'blur' + }], + itemInObj: [{ + required: true, + message: '璇烽�夋嫨缁戝畾琛ㄥ崟', + trigger: 'change' + }], + // showLabel: [{ + // required: true, + // message: '璇烽�夋嫨鏄剧ず瀛楁', + // trigger: 'submit' + // }], + }, + form: { + viName: '', // 鍚嶇О + itemPageSize: '', // 姣忛〉鍙樉绀鸿鏁� + itemAddFilter: '', // 闄勫姞鏌ヨ鏉′欢 + itemInObj: '', // 缁戝畾琛ㄥ崟 + itemParentFolderName: '', // 鐖跺悕绉� + itemIsShowFolder: false, // 鏄惁鏄剧ず鏂囦欢澶� + itemIsNavigatorExpand: false, // 鏄剧ず鏌ヨ鍖哄煙 + itemSelectOutFieldList: [], // 鍙娇鐢ㄥ瓧娈� + itemOutFieldList: [], // 闇�瑕佷娇鐢ㄥ瓧娈� // 鍒椾笅鎷夋 + itemSearchFieldList: [], // 鍙緵鎼滅储浣跨敤瀛楁 + itemKeyFieldList: [], // 闇�瑕佹悳绱㈠瓧娈� + itemWidth: '250', // 瀹藉害 + itemFieldWidthList: [], // 璁剧疆鍒楀鏁扮粍 涓� itemOutFieldList 鐩稿尮閰� + searchLabel: '', // 鏌ヨ瀛楁 + searchNumber: '1', // 鏌ヨ娆℃暟 + searchSql: '', // 鏌ヨsql + itemSeniorQueryBOS: [], // 鏌ヨ瀛楁鍒楄〃 + itemDbl: [], // 鍙屽嚮鎿嶄綔 + itemImgWH: '', // 鍥剧墖瀹介珮 w,h + itemCut: '', // 瀛楃涓叉埅鍙� + itemHrefConf: '', // 瓒呴摼鎺� + itemQtName: '', // 鏌ヨ妯℃澘 + }, + defaultForm: { + viName: '', // 鍚嶇О + itemPageSize: '', // 姣忛〉鍙樉绀鸿鏁� + itemAddFilter: '', // 闄勫姞鏌ヨ鏉′欢 + itemInObj: '', // 缁戝畾琛ㄥ崟 + itemParentFolderName: '', // 鐖跺悕绉� + itemIsShowFolder: false, // 鏄惁鏄剧ず鏂囦欢澶� + itemIsNavigatorExpand: false, // 鏄剧ず鏌ヨ鍖哄煙 + itemSelectOutFieldList: [], // 鍙娇鐢ㄥ瓧娈� + itemOutFieldList: [], // 闇�瑕佷娇鐢ㄥ瓧娈� // 鍒椾笅鎷夋 + itemSearchFieldList: [], // 鍙緵鎼滅储浣跨敤瀛楁 + itemKeyFieldList: [], // 闇�瑕佹悳绱㈠瓧娈� + itemWidth: '250', // 瀹藉害 + itemFieldWidthList: [], // 璁剧疆鍒楀鏁扮粍 涓� itemOutFieldList 鐩稿尮閰� + searchLabel: '', // 鏌ヨ瀛楁 + searchNumber: '1', // 鏌ヨ娆℃暟 + searchSql: '', // 鏌ヨsql + itemSeniorQueryBOS: [], // 鏌ヨ瀛楁鍒楄〃 + itemDbl: [], // 鍙屽嚮鎿嶄綔 + itemImgWH: '', // 鍥剧墖瀹介珮 w,h + itemCut: '', // 瀛楃涓叉埅鍙� + itemHrefConf: '', // 瓒呴摼鎺� + itemQtName: '', // 鏌ヨ妯℃澘 + }, loading: false, - visible: false + visible: false, + selectList: [], + lastIndex: null, + showLabelLeftRow: {}, + showLabelRightRow: {}, + searchLeftRow: {}, + searchRightRow: {}, + itemFileWidthRow: {}, + itemFileWidthChangeVal: '', } }, methods: { - closeDialog() { + // 鑾峰彇鍒濆鍖栬〃鏍奸噷闇�瑕佺殑榛樿鏁版嵁 + getFormSelectList() { + this.formLoading = true; + const params = { + 'conditionMap[typeName]': this.treeRadio === '0' ? this.TreeNodeRow.id : this.TreeNodeRow.name, + 'conditionMap[viType]': 'Form', + 'conditionMap[viTypeFlag]': this.treeRadio === '0' ? 'BtmType' : this.treeRadio === '1' ? 'LinkType' : '', + }; + // 鍙戣捣绗竴涓姹� + gridPortalVIDatas(1, -1, params).then(res => { + if (res.data.code === 200) { + const data = res.data.data; + this.selectList = data; + + // 纭繚 this.selectList 宸茬粡璧嬪�间笖涓嶄负绌� + if (this.selectList && this.selectList.length > 0) { + const param = { + id: this.form.itemInObj, + viType: '1' + }; + + // 鍙戣捣绗簩涓姹� + return getPortalVIById(param); + } + } + }).then(res => { + if (res.data.code === 200) { + const data = res.data.obj.prm.prmItemList.map(item => ({ + id: item.itemField + })); + // 杩囨护鍑烘潵闇�瑕佷娇鐢ㄥ瓧娈� 璧嬪�肩粰 鍙娇鐢ㄥ瓧娈垫覆鏌� 锛堜娇鐢ㄥ瓧娈电敱缂栬緫鎺ュ彛浼犻�掞級 + const list = data.filter(item => + !this.form.itemOutFieldList.some(outItem => outItem.id === item.id) + ); + this.getSearchSelectList(); // 閫夋嫨琛ㄥ崟涓嬫媺鎺ュ彛 + this.getFormSelect(); // 鏌ヨ妯℃澘涓嬫媺鎺ュ彛 + this.getDbList(); // 鍙屽嚮鎿嶄綔涓嬫媺鎺ュ彛 + this.$set(this.form, 'itemSelectOutFieldList', list); + this.formLoading = false; + } + }) + }, + // 鍏抽棴瀵硅瘽妗� + closeDialog() { + this.visible = false; + this.$refs.form.clearValidate(); + this.form = {...this.defaultForm}; + }, + + // 鑾峰彇閫夋嫨琛ㄥ崟鏁版嵁 + getFormSelect() { + const params = { + 'conditionMap[typeName]': this.treeRadio === '0' ? this.TreeNodeRow.id : this.TreeNodeRow.name, + 'conditionMap[viType]': 'Form', + 'conditionMap[viTypeFlag]': this.treeRadio === '0' ? 'BtmType' : this.treeRadio === '1' ? 'LinkType' : '', + } + gridPortalVIDatas(1, -1, params).then(res => { + if (res.data.code === 200) { + const data = res.data.data; + this.selectList = data; + } + }); + }, + + // 琛ㄥ崟閫夋嫨change浜嬩欢 + formSelectChange(val) { + this.form.itemOutFieldList = []; + this.form.itemKeyFieldList = []; + this.form.itemFieldWidthList = []; + + const params = { + id: val, + viType: '1' + } + getPortalVIById(params).then(res => { + if (res.data.code === 200) { + const data = res.data.obj.prm.prmItemList.map(item => { + return { + id: item.itemField + } + }); + this.form.itemSelectOutFieldList = data; + } + }) + }, + + // 鏄剧ず瀛楁change + outFileChange(val) { + this.form.itemSearchFieldList = this.form.itemOutFieldList.map(item => { + return { + id: item + } + }) + this.form.itemFieldWidthList = this.form.itemOutFieldList.map(item => { + return { + $cellEdit: true, + key: item, + value: '250', + } + }) + }, + + // 鏌ヨ妯℃澘涓嬫媺鎺ュ彛鏌ヨ + getSearchSelectList() { + getObjTypeQTs({btName: this.treeRadio === '0' ? this.TreeNodeRow.id : this.TreeNodeRow.name}).then(res => { + this.searchQtNameList = res.data.data; + }) + }, + + // 鑾峰彇鍙屽嚮鎿嶄綔鏁版嵁 + getDbList() { + getItemDblList().then(res => { + if (res.data.code === 200) { + const data = res.data.data; + this.itemDblList = data; + } + }) + }, + + // 鏌ヨ妯℃澘琛ㄦ牸琛岀偣鍑� + itemSeniorRowClick(row) { + this.itemSeniorRow = row; + }, + + // 鏌ヨ妯℃澘娣诲姞 + searchAddClickHandler() { + if (!this.form.searchLabel) { + this.$message.error('鏌ヨ瀛楁涓嶈兘涓虹┖!'); + return; + } + this.form.itemSeniorQueryBOS.push({ + itemSeniorQueryCols: this.form.searchLabel, + itemSeniorQueryColsCounts: this.form.searchNumber, + itemQuerySql: this.form.searchSql + }); + }, + + // 鏌ヨ妯℃澘鍒犻櫎 + searchDelClickHandler() { + if (func.isEmptyObject(this.itemSeniorRow)) { + this.$message.error('璇烽�夋嫨涓�鏉℃暟鎹繘琛屽垹闄�'); + return; + } + + this.form.itemSeniorQueryBOS = this.form.itemSeniorQueryBOS.filter(item => item.itemSeniorQueryCols != this.itemSeniorRow.itemSeniorQueryCols); + }, + + // 琛ㄦ牸瀵硅瘽妗嗕繚瀛� + dialogSaveClickHandler() { + this.$refs.form.validate((valid) => { + if (valid) { + if (this.form.itemOutFieldList.length <= 0) { + this.$message.error('璇烽�夋嫨鏄剧ず瀛楁'); + return; + } + const paramsForm = {...this.form}; + paramsForm.itemSelectOutFieldList = this.form.itemSelectOutFieldList.map(item => item.id); // 鍙娇鐢ㄥ瓧娈� + paramsForm.itemOutFieldList = this.form.itemOutFieldList; // 闇�瑕佷娇鐢ㄥ瓧娈� + paramsForm.itemSearchFieldList = this.form.itemSearchFieldList.map(item => item.id); // 鍙緵鎼滅储瀛楁 + paramsForm.itemKeyFieldList = this.form.itemKeyFieldList; // 闇�瑕佷娇鐢ㄥ瓧娈� + paramsForm.itemImgWH = `${this.itemImgWidth},${this.itemImgHeight}`; + const params = { + id: this.form.editNodeId, + prm: { + formQtName: this.form.itemQtName, + prmItemList: [ + paramsForm + ], + }, + typeFlag: this.treeRadio, + typeFlagText: this.treeRadio === '0' ? "涓氬姟绫诲瀷鐨勮〃鍗�" : '閾炬帴绫诲瀷鐨勮〃鍗�', + typeName: this.treeRadio === '0' ? this.TreeNodeRow.id : this.TreeNodeRow.name, // 涓氬姟绫诲瀷鍚� or 閾炬帴绫诲瀷鍚� + viName: this.form.viName, + viType: 0, + viTypeText: "琛ㄦ牸" + } + savePortalVI(params).then(res => { + if (res.data.code === 200) { + this.$message.success(res.data.obj); + // this.closeDialog(); + this.$emit('updataTable'); + // this.$refs.form.clearValidate(); + this.visible = false; + } + }) + } else { + return false; + } + }); } } } @@ -342,3 +571,4 @@ } } </style> + -- Gitblit v1.9.3