From 3c6c92b68a1b113b5450554db750ebe1d8bd26bb Mon Sep 17 00:00:00 2001 From: 田源 <lastanimals@163.com> Date: 星期五, 20 九月 2024 15:16:14 +0800 Subject: [PATCH] 整合代码 action管理 --- Source/plt-web/plt-web-ui/src/views/modelingMenu/ui/formDefine/components/tableDialog.vue | 581 ++++++++++++++++++++++++++++++++++++++++++++++++--------- 1 files changed, 485 insertions(+), 96 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..6350b43 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,35 @@ width="60%" @close="closeDialog" > - <el-form :model="form" :rules="rules" label-position="right" label-width="100px"> + <el-form v-loading="formLoading" :model="form" :rules="rules" label-position="right" label-width="100px"> <el-row> <el-col :span="12"> <el-form-item label="鍚嶇О"> - <el-input v-model="user" placeholder="璇疯緭鍏ュ唴瀹�" size="mini"></el-input> + <el-input v-model="form.viName" placeholder="璇疯緭鍏ュ悕绉�" size="mini"></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="璇疯緭鍏ユ瘡椤佃鏁�" size="mini" 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="璇疯緭鍏ユ煡璇㈡潯浠�" size="mini"></el-input> </el-form-item> </el-col> <el-col :span="12"> <el-form-item label="缁戝畾琛ㄥ崟"> <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="璇烽�夋嫨缁戝畾琛ㄥ崟" size="mini"> + <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> + <el-button plain size="mini" style="margin-left: 3px" type="success" @click="formSelectClickHandler">閫夋嫨 + </el-button> </div> </el-form-item> </el-col> @@ -45,9 +45,11 @@ <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="璇疯緭鍏ョ埗鍚嶇О" size="mini"></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> @@ -57,8 +59,10 @@ <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%"> + :data="form.itemSelectOutFieldList" + :highlight-current-row="true" + style="width: 100%" + @row-click="showLabelLeftRowClick"> <el-table-column align="center" label="鍙娇鐢ㄥ瓧娈�" @@ -67,13 +71,16 @@ </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> + <el-button circle icon="el-icon-back" style="margin-right: 10px" + @click="showLeftTransferClick"></el-button> + <el-button circle icon="el-icon-right" @click="showRightTransferClick"></el-button> </div> <div style="height: 260px; width: 160px; border: 1px solid #bdbbbb;overflow-y: auto"> <el-table - :data="showRightTable" - style="width: 100%"> + :data="form.itemOutFieldList" + :highlight-current-row="true" + style="width: 100%" + @row-click="showLabelRightRowClick"> <el-table-column align="center" label="闇�瑕佷娇鐢ㄥ瓧娈�" @@ -90,8 +97,10 @@ <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%"> + :data="form.itemSearchFieldList" + :highlight-current-row="true" + style="width: 100%" + @row-click="searchLeftRowClick"> <el-table-column align="center" label="鍙緵鎼滅储瀛楁" @@ -100,13 +109,16 @@ </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> + <el-button circle icon="el-icon-back" style="margin-right: 10px" + @click="searchLeftTransferClick"></el-button> + <el-button circle icon="el-icon-right" @click="searchRightTransferClick"></el-button> </div> <div style="height: 260px; width: 160px; border: 1px solid #bdbbbb;overflow-y: auto"> <el-table - :data="searchRightTable" - style="width: 100%"> + :data="form.itemKeyFieldList" + :highlight-current-row="true" + style="width: 100%" + @row-click="searchRightRowClick"> <el-table-column align="center" label="闇�鎼滅储瀛楁" @@ -120,9 +132,9 @@ <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.itemFileWidthSelect" placeholder="璇烽�夋嫨鍒�" size="mini" @change="itemFileWidthChange"> + <el-option v-for="(item,index) in form.itemFieldWidthList" :key="index" :label="item.key" + :value="item.key"></el-option> </el-select> </el-form-item> </el-col> @@ -130,8 +142,10 @@ <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> + <el-input v-model="form.itemWidth" placeholder="璇疯緭鍏ュ搴�" size="mini" style="width: 193px" + type="number"></el-input> + <el-button plain size="mini" style="margin-left: 3px" type="success" @click="widthSetUpClickHandler">璁剧疆 + </el-button> </div> </el-form-item> </el-col> @@ -141,25 +155,26 @@ <el-form-item label="璁剧疆鍒楀"> <div style="height: 150px; width: 100%; border: 1px solid #bdbbbb;overflow-y: auto"> <el-table - :data="columnWidthData" + :data="form.itemFieldWidthList" :highlight-current-row="true" border stripe - style="width: 100%"> + style="width: 100%" + @row-click="itemFileWidthRowClick"> <el-table-column align="center" label="鍒楀悕" - prop="id"> + prop="key"> <template slot-scope="scope"> - <el-tag size="medium">{{ scope.row.id }}</el-tag> + <el-tag size="medium">{{ scope.row.key }}</el-tag> </template> </el-table-column> <el-table-column align="center" label="鍒楀" - prop="width"> + prop="value"> <template slot-scope="scope"> - <el-tag size="medium">{{ scope.row.width }}</el-tag> + <el-tag size="medium">{{ scope.row.value }}</el-tag> </template> </el-table-column> </el-table> @@ -169,22 +184,24 @@ <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 +210,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 +247,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="璇烽�夋嫨鍙屽嚮鎿嶄綔" size="mini"> + <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 +259,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="璇疯緭鍏ラ暱搴�" size="mini"></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="璇疯緭鍏ュ搴�" size="mini"></el-input> </div> </div> </el-form-item> @@ -253,19 +271,19 @@ <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-select v-model="form.itemQtName" placeholder="璇烽�夋嫨鏌ヨ妯℃澘" size="mini"> <el-option label="鍖哄煙涓�" value="shanghai"></el-option> <el-option label="鍖哄煙浜�" value="beijing"></el-option> </el-select> @@ -274,62 +292,432 @@ </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 + v-dialogDrag + v-loading="selectFormLoading" + :visible.sync="selectFormVisible" + append-to-body="true" + class="avue-dialog" + title="琛ㄥ崟閫夋嫨" + width="50%"> + <avue-crud + ref="crud" + :data="selectFormData" + :option="selectFormOption" + @selection-change="selectionChange" + @row-click="rowClick"> + + </avue-crud> + + <span slot="footer" class="dialog-footer"> + <el-button @click="selectFormVisible = false">鍙� 娑�</el-button> + <el-button type="primary" @click="selectFormAddClickHandler">纭� 瀹�</el-button> + </span> + </el-dialog> </el-dialog> + </template> <script> +import basicOption from "@/util/basic-option"; +import {gridPortalVIDatas, getPortalVIById, getItemDblList, savePortalVI} from "@/api/UI/formDefine/api"; +import func from "@/util/func"; + export default { name: "tableDialog", + 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' - } - ], + 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: {}, - form: {}, + form: { + viName: '', // 鍚嶇О + itemPageSize: '', // 姣忛〉鍙樉绀鸿鏁� + itemAddFilter: '', // 闄勫姞鏌ヨ鏉′欢 + itemInObj: '', // 缁戝畾琛ㄥ崟 + itemParentFolderName: '', // 鐖跺悕绉� + itemIsShowFolder: false, // 鏄惁鏄剧ず鏂囦欢澶� + itemIsNavigatorExpand: false, // 鏄剧ず鏌ヨ鍖哄煙 + itemSelectOutFieldList: [], // 鍙娇鐢ㄥ瓧娈� + itemOutFieldList: [], // 闇�瑕佷娇鐢ㄥ瓧娈� // 鍒椾笅鎷夋 + itemSearchFieldList: [], // 鍙緵鎼滅储浣跨敤瀛楁 + itemKeyFieldList: [], // 闇�瑕佹悳绱㈠瓧娈� + itemWidth: '250', // 瀹藉害 + itemFieldWidthList: [], // 璁剧疆鍒楀鏁扮粍 涓� itemOutFieldList 鐩稿尮閰� + itemFileWidthSelect: '', // 鍒椾笅鎷夋 + 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 鐩稿尮閰� + itemFileWidthSelect: '', // 鍒椾笅鎷夋 + 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() { + this.visible = false; + this.form = {...this.defaultForm}; + }, + // 閫夋嫨琛ㄥ崟鍏抽棴瀵硅瘽妗� + closeSelectFormDialog() { + + }, + + // 閫夋嫨缁戝畾琛ㄥ崟 + formSelectClickHandler() { + this.selectFormVisible = true; + const params = { + 'conditionMap[typeName]': this.TreeNodeRow.attributes.id, + '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.selectFormData = data; + } + }); + }, + + // 鑾峰彇鍒濆鍖栬〃鏍奸噷闇�瑕佺殑榛樿鏁版嵁 + getFormSelectList() { + this.formLoading = true; + const params = { + 'conditionMap[typeName]': this.TreeNodeRow.id, + '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.selectList[0].id, + 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.$set(this.form, 'itemSelectOutFieldList', list); + this.formLoading = false; + } + }) + }, + + // 琛ㄦ牸澶氶�� + selectionChange(list) { + this.selectList = list; + }, + + // 琛岀偣鍑� + rowClick(row) { + func.rowClickHandler( + row, + this.$refs.crud, + this.lastIndex, + (newIndex) => { + this.lastIndex = newIndex; + }, + () => { + this.selectList = []; + } + ); + }, + + // 琛ㄥ崟閫夋嫨纭畾 + selectFormAddClickHandler() { + if (this.selectList.length <= 0) { + this.$message.error('璇疯嚦灏戦�夋嫨涓�鏉℃暟鎹�'); + return; + } + + if (this.selectList.length > 1) { + this.$message.error('鍙兘閫夋嫨涓�鏉℃暟鎹�'); + return; + } + const params = { + id: this.selectList[0].id, + 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; + this.selectFormVisible = false; + } + }) + this.form.itemInObj = this.selectList[0].id; + }, + + // 鏄剧ず瀛楁宸︿晶琛ㄦ牸琛岀偣鍑� + showLabelLeftRowClick(row) { + this.showLabelLeftRow = row; + }, + + // 鏄剧ず瀛楁鍙充晶琛ㄦ牸琛岀偣鍑� + showLabelRightRowClick(row) { + this.showLabelRightRow = row; + }, + + // 鎼滅储瀛楁宸︿晶琛ㄦ牸琛岀偣鍑� + searchLeftRowClick(row) { + this.searchLeftRow = row; + }, + + // 鎼滅储瀛楁鍙充晶琛ㄦ牸琛岀偣鍑� + searchRightRowClick(row) { + this.searchRightRow = row; + }, + + // 鏄剧ず瀛楁绌挎妗嗗乏绉� + showLeftTransferClick() { + if (func.isEmptyObject(this.showLabelRightRow)) { + this.$message.error('璇烽�夋嫨涓�鏉℃暟鎹�'); + return; + } + this.form.itemSelectOutFieldList.unshift(this.showLabelRightRow); + this.form.itemOutFieldList = this.form.itemOutFieldList.filter(item => item.id !== this.showLabelRightRow.id); + this.form.itemSearchFieldList = this.form.itemOutFieldList; + this.form.itemFieldWidthList = this.form.itemFieldWidthList.filter(item => item.key !== this.showLabelRightRow.id); + this.form.itemFileWidthSelect = this.form.itemFieldWidthList.length >= 1 ? this.form.itemFieldWidthList[0].key : ''; + this.showLabelRightRow = {}; + }, + + // 鏄剧ず瀛楁绌挎妗嗗彸绉� + showRightTransferClick() { + if (func.isEmptyObject(this.showLabelLeftRow)) { + this.$message.error('璇烽�夋嫨涓�鏉℃暟鎹�'); + return; + } + this.form.itemOutFieldList.push(this.showLabelLeftRow); + this.form.itemSearchFieldList = this.form.itemOutFieldList; + + // 杩囨护 itemSelectOutFieldList锛岀Щ闄� id 涓� showLabelLeftRow.id 鐩稿悓鐨勫璞� + this.form.itemSelectOutFieldList = this.form.itemSelectOutFieldList.filter(item => item.id !== this.showLabelLeftRow.id); + this.form.itemFieldWidthList.push({ + key: this.showLabelLeftRow.id, + value: this.form.itemWidth + }); + this.form.itemFileWidthSelect = this.form.itemFieldWidthList[0].key; + this.showLabelLeftRow = {}; + + }, + + // 鎼滅储瀛楁绌挎妗嗗乏绉� + searchLeftTransferClick() { + if (func.isEmptyObject(this.searchRightRow)) { + this.$message.error('璇烽�夋嫨涓�鏉℃暟鎹�'); + return; + } + this.form.itemSearchFieldList.unshift(this.searchRightRow); + this.form.itemKeyFieldList = this.form.itemKeyFieldList.filter(item => item.id !== this.searchRightRow.id) + this.searchRightRow = {}; + }, + + // 鎼滅储鑷姩绌挎妗嗗彸绉� + searchRightTransferClick() { + if (func.isEmptyObject(this.searchLeftRow)) { + this.$message.error('璇烽�夋嫨涓�鏉℃暟鎹�'); + return; + } + + this.form.itemKeyFieldList.push(this.searchLeftRow); + + this.form.itemSearchFieldList = this.form.itemSearchFieldList.filter(item => item.id !== this.searchLeftRow.id); + this.searchLeftRow = {}; + }, + + // 璁剧疆鍒楀琛岀偣鍑� + itemFileWidthRowClick(row) { + this.itemFileWidthRow = row; + this.form.itemFileWidthSelect = row.key; + this.form.itemWidth = row.value; + }, + + // 鍒椾笅鎷塩hange + itemFileWidthChange(val) { + this.itemFileWidthChangeVal = val; + }, + + // 璁剧疆瀹藉害 + widthSetUpClickHandler() { + if (this.form.itemFileWidthSelect) { + const item = this.form.itemFieldWidthList.find(item => item.key === this.form.itemFileWidthSelect); + item.value = this.form.itemWidth; + } + }, + + // 鑾峰彇鍙屽嚮鎿嶄綔鏁版嵁 + getDbList() { + getItemDblList().then(res => { + if (res.data.code === 200) { + const data = res.data.data; + this.itemDblList = data; + } + }) + }, + + // 鏌ヨ妯℃澘琛ㄦ牸琛岀偣鍑� + itemSeniorRowClick(row) { + this.itemSeniorRow = row; + }, + + // 鏌ヨ妯℃澘娣诲姞 + searchAddClickHandler() { + 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.id); + this.itemSeniorRow = {}; + }, + + // 琛ㄦ牸瀵硅瘽妗嗕繚瀛� + dialogSaveClickHandler() { + this.form.itemSelectOutFieldList = this.form.itemSelectOutFieldList.map(item => item.id); // 鍙娇鐢ㄥ瓧娈� + this.form.itemOutFieldList = this.form.itemOutFieldList.map(item => item.id); // 闇�瑕佷娇鐢ㄥ瓧娈� + this.form.itemSearchFieldList = this.form.itemSearchFieldList.map(item => item.id); // 鍙緵鎼滅储瀛楁 + this.form.itemKeyFieldList = this.form.itemKeyFieldList.map(item => item.id); // 闇�瑕佷娇鐢ㄥ瓧娈� + this.form.itemImgWH = `${this.itemImgHeight},${this.itemImgWidth}`; + const params = { + id: this.form.editNodeId, + prm: { + formQtName: '', + prmItemList: [ + this.form + ], + }, + typeFlag: this.treeRadio, + typeFlagText: this.treeRadio === '0' ? "涓氬姟绫诲瀷鐨勮〃鍗�" : '閾炬帴绫诲瀷鐨勮〃鍗�', + typeName: this.TreeNodeRow.attributes.id, + viName: this.form.viName, + viType: 0, + viTypeText: "琛ㄦ牸" + } + savePortalVI(params).then(res => { + if (res.data.code === 200) { + this.$message.success('淇濆瓨鎴愬姛'); + this.closeDialog(); + this.$emit('updataTable'); + } + }) } } } @@ -342,3 +730,4 @@ } } </style> + -- Gitblit v1.9.3