From 06a70b6f1f24c5105b1705e892867acf488ca5dd Mon Sep 17 00:00:00 2001 From: 田源 <tianyuan@vci-tech.com> Date: 星期三, 18 十二月 2024 15:28:18 +0800 Subject: [PATCH] UI定义-页签设计&&页面设计区域按钮权限 --- Source/plt-web/plt-web-ui/src/views/modelingMenu/ui/uiDefine/rightRegion/bottomTable/index.vue | 136 ++++++++++++++++++++++++++++++++------------- 1 files changed, 97 insertions(+), 39 deletions(-) diff --git a/Source/plt-web/plt-web-ui/src/views/modelingMenu/ui/uiDefine/rightRegion/bottomTable/index.vue b/Source/plt-web/plt-web-ui/src/views/modelingMenu/ui/uiDefine/rightRegion/bottomTable/index.vue index 534aa18..8f682cd 100644 --- a/Source/plt-web/plt-web-ui/src/views/modelingMenu/ui/uiDefine/rightRegion/bottomTable/index.vue +++ b/Source/plt-web/plt-web-ui/src/views/modelingMenu/ui/uiDefine/rightRegion/bottomTable/index.vue @@ -13,20 +13,20 @@ @selection-change="selectChangeHandler" @row-click="rowClickHandler"> <template slot="menuLeft" slot-scope="scope"> - <el-button icon="el-icon-plus" plain size="small" type="primary" + <el-button v-if="permissionChildrenList.UiPageLayoutAddBtn" icon="el-icon-plus" plain size="small" type="primary" @click="addClickHandler">澧炲姞 </el-button> - <el-button icon="el-icon-edit-outline" plain size="small" type="primary" + <el-button v-if="permissionChildrenList.UiPageLayoutDesignBtn" icon="el-icon-edit-outline" plain size="small" type="primary" @click="btnDesignClickHandler">鎸夐挳璁捐 </el-button> </template> <template slot="menu" slot-scope="scope"> - <el-button icon="el-icon-edit" size="small" type="text" @click="editBtnClick(scope.row)">缂栬緫 + <el-button v-if="permissionChildrenList.UiPageLayoutEditBtn" icon="el-icon-edit" size="small" type="text" @click="editBtnClick(scope.row)">缂栬緫 </el-button> - <el-button icon="el-icon-delete" size="small" type="text" @click="rowDeleteHandler(scope.row)">鍒犻櫎 + <el-button v-if="permissionChildrenList.UiPageLayoutDelBtn" icon="el-icon-delete" size="small" type="text" @click="rowDeleteHandler(scope.row)">鍒犻櫎 </el-button> - <el-button icon="el-icon-document-copy" size="small" type="text" @click="rowCloneHandler(scope.row)">鍏嬮殕 + <el-button v-if="permissionChildrenList.UiPageLayoutCloneBtn" icon="el-icon-document-copy" size="small" type="text" @click="rowCloneHandler(scope.row)">鍏嬮殕 </el-button> </template> @@ -268,6 +268,7 @@ } from "@/api/UI/uiDefine"; import actionDialog from '@/views/modelingMenu/ui/Aciton/components/dialog'; import cloneDialog from "@/views/modelingMenu/ui/uiDefine/rightRegion/cloneDialog"; +import {mapGetters} from "vuex"; export default { props: { @@ -288,9 +289,11 @@ name: "index", data() { return { - queryTemplateNameList:[], + queryTemplateNameList: [], templateIdList: [], searchTargerChangeFlag: false, + showTypeChangeFlag: false, + linkTypeChangeFlag: false, formBtnOid: '', sourceBtnOid: '', sourceOId: '', @@ -412,6 +415,7 @@ data: [], option: { ...basicOption, + size:'mini', height: this.height, addBtn: false, index: true, @@ -422,6 +426,7 @@ { label: '鍚嶇О', prop: 'name', + labelWidth: 110, rules: [ { required: true, @@ -433,6 +438,7 @@ { label: '缂栧彿', prop: 'seq', + labelWidth: 110, hide: false, rules: [ { @@ -446,17 +452,25 @@ label: '', prop: 'uiParser', hide: true, - labelWidth: 100, + labelWidth: 110, }, { label: '', prop: 'extAttr', hide: true, + labelWidth: 110, + }, + { + label: '鎻忚堪', + prop: 'description', + labelWidth: 110, + hide: false, }, { label: '妯℃澘绫诲瀷', prop: 'templateType', type: 'radio', + labelWidth: 110, span: 24, value: '1', dicData: [ @@ -515,6 +529,7 @@ label: '鏄剧ず绫诲瀷', prop: 'navigatorType', type: 'radio', + labelWidth: 110, span: 24, value: '1', hide: true, @@ -537,6 +552,7 @@ label: '鎼滅储绫诲瀷', prop: 'searchTarger', display: true, + labelWidth: 110, type: 'radio', value: '1', span: 24, @@ -562,7 +578,7 @@ if (this.searchTargerChangeFlag) { // 鍒囨崲娓呯┖妯℃澘绫诲瀷 - const list = ['showType', 'linkType', 'templateId', 'SubUILayout', 'queryTemplateName', 'searchObjType', 'bsCustQueryCLsOrUrl', 'csCustQueryCLsOrUrl']; + const list = ['showType', 'linkType', 'templateId', 'SubUILayout', 'queryTemplateName', 'searchObjType', 'bsDataModel', 'csDataModel']; list.forEach(item => { this.form[item] = ''; }) @@ -571,22 +587,19 @@ } } }, - { - label: '鎻忚堪', - prop: 'description', - display: false - }, ], group: [ { - label: '', - arrow: false, + icon:'el-icon-info', + label:'', + arrow: true, prop: 'group1', column: [ { label: '婧愬璞�', prop: 'showType', type: 'select', + labelWidth: 115, cascader: ['linkType', 'SubUILayout', 'searchObjType'], placeholder: "璇疯緭鍏ュ唴瀹�", dicUrl: '/api/uiManagerController/getBtmDatasByPage?page=1&limit=-1', @@ -594,7 +607,7 @@ change: (val) => { if (val.value) { let params = { - 'conditionMap[selectBtmType]': this.form.searchTarger === '1' ? this.form.showType : this.form.linkType + 'conditionMap[selectBtmType]': this.form.searchTarger === '1' ? val.value : this.form.linkType } getPortalVIDatasByPage(1, -1, params).then(res => { this.templateIdList = res.data.data; @@ -602,6 +615,20 @@ getQTInfoDatasByPage(1, -1, params).then(res => { this.queryTemplateNameList = res.data.data; }) + } + if (this.showTypeChangeFlag) { + if (val.value) { + if (this.form.searchTarger === '1') { + this.form.templateId = ""; + this.form.queryTemplateName = ""; + } else { + this.form.linkType = ""; + this.form.templateId = ""; + this.form.queryTemplateName = ""; + } + } + } else { + this.showTypeChangeFlag = true; } }, props: { @@ -622,6 +649,7 @@ prop: 'linkType', type: 'select', display: false, + labelWidth: 115, filterable: true, props: { label: 'name', @@ -629,7 +657,7 @@ desc: 'tag' }, dicUrl: '/api/uiManagerController/getLinkDatasByPage?page=1&limit=-1&conditionMap[selectBtmType]={{key}}', - change:(val) => { + change: (val) => { if (val.value) { let params = { 'conditionMap[selectBtmType]': val.value @@ -641,11 +669,20 @@ this.queryTemplateNameList = res.data.data; }) } + if (this.linkTypeChangeFlag) { + if (val.value) { + this.form.templateId = ""; + this.form.queryTemplateName = ""; + } + } else { + this.linkTypeChangeFlag = true; + } } }, { label: '閫夋嫨妯℃澘', prop: 'templateId', + labelWidth: 115, display: false, formslot: true, rules: [ @@ -660,6 +697,7 @@ label: 'UI瀹氫箟', prop: 'SubUILayout', type: 'select', + labelWidth: 115, filterable: true, display: false, props: { @@ -674,6 +712,7 @@ display: false, value: '1', type: 'radio', + labelWidth: 115, span: 24, dicData: [ { @@ -691,7 +730,7 @@ prop: 'searchObjType', type: 'select', display: false, - labelWidth: 100, + labelWidth: 115, props: { label: 'qtName', value: 'qtName', @@ -702,6 +741,7 @@ { label: '鏌ヨ妯℃澘', prop: 'queryTemplateName', + labelWidth: 115, type: 'select', display: false, formslot: true, @@ -709,6 +749,7 @@ { label: '鎺у埗璺緞', prop: 'controlPath', + labelWidth: 115, display: false, type: 'textarea', span: 24, @@ -717,18 +758,20 @@ { label: '鏍戠粨鏋勫睍寮�鍒�', prop: 'expandCols', - labelWidth: 110, + labelWidth: 115, display: false, span: 12 }, { label: '鍙傜収鏍戣缃�', prop: 'showLinkAbs', + labelWidth: 115, display: false, }, { label: '鍒嗛殧绗�', prop: 'separator', + labelWidth: 115, display: false, }, { @@ -736,6 +779,7 @@ prop: 'expandMode', display: false, type: 'radio', + labelWidth: 115, value: '1', dicData: [ { @@ -749,6 +793,20 @@ ] }, { + label: 'B/S鑷畾涔夋煡璇�', + prop: 'bsDataModel', + display: false, + labelWidth: 115, + span: 12 + }, + { + label: 'C/S鑷畾涔夋煡璇�', + prop: 'csDataModel', + display: false, + labelWidth: 115, + span: 12 + }, + { label: '鏍硅妭鐐规樉绀鸿〃杈惧紡', prop: 'rootContent', display: false, @@ -760,20 +818,6 @@ prop: 'showAbs', display: false, labelWidth: 135, - span: 12 - }, - { - label: 'B/S鑷畾涔夋煡璇�', - prop: 'bsCustQueryCLsOrUrl', - display: false, - labelWidth: 115, - span: 12 - }, - { - label: 'C/S鑷畾涔夋煡璇�', - prop: 'csCustQueryCLsOrUrl', - display: false, - labelWidth: 115, span: 12 }, ] @@ -799,6 +843,18 @@ formDataRow: {}, } }, + computed:{ + ...mapGetters(["permission"]), + permissionChildrenList() { + return { + UiPageLayoutAddBtn: this.vaildData(this.permission[this.$route.query.id].UiPageLayoutAdd, false), + UiPageLayoutEditBtn: this.vaildData(this.permission[this.$route.query.id].UiPageLayoutEdit, false), + UiPageLayoutDelBtn: this.vaildData(this.permission[this.$route.query.id].UiPageLayoutDel, false), + UiPageLayoutCloneBtn: this.vaildData(this.permission[this.$route.query.id].UiPageLayoutClone, false), + UiPageLayoutDesignBtn: this.vaildData(this.permission[this.$route.query.id].UiPageLayoutDesign, false), + } + } + }, watch: { sourceData: { handler(val) { @@ -812,7 +868,6 @@ deep: true } }, - computed: {}, methods: { //鑾峰彇鍒楄〃鏁版嵁 getTableList() { @@ -873,6 +928,8 @@ // 澧炲姞鍏抽棴瀵硅瘽妗� 娓呯┖event鏁扮粍 beforeClose(done) { this.eventData = []; + this.showTypeChangeFlag = false; + this.linkTypeChangeFlag = false; done(); }, @@ -892,6 +949,7 @@ }; }); } + console.log('row',row); this.searchTargerChangeFlag = false; this.$refs.crud.rowEdit(row); }, @@ -1012,7 +1070,7 @@ // 妯℃澘绫诲瀷涓鸿〃鏍� templateTypeTable(val) { if (!val) return; - this.updateDisplay(val, ['showType', 'templateId', 'queryTemplateName', 'bsCustQueryCLsOrUrl', 'csCustQueryCLsOrUrl']); + this.updateDisplay(val, ['showType', 'templateId', 'queryTemplateName', 'bsDataModel', 'csDataModel']); }, // 妯℃澘绫诲瀷涓鸿嚜瀹氫箟妯℃澘 @@ -1026,13 +1084,13 @@ // 妯℃澘绫诲瀷涓烘爲琛� templateTypeTreeTable(val) { if (!val) return; - this.updateDisplay(val, ['showType', 'templateId', 'queryTemplateName', 'expandCols', 'expandMode', 'bsCustQueryCLsOrUrl', 'csCustQueryCLsOrUrl']); + this.updateDisplay(val, ['showType', 'templateId', 'queryTemplateName', 'expandCols', 'expandMode', 'bsDataModel', 'csDataModel']); }, // 妯℃澘绫诲瀷涓鸿〃鍗� templateTypeForm(val) { if (!val) return; - this.updateDisplay(val, ['showType', 'templateId', 'queryTemplateName', 'bsCustQueryCLsOrUrl', 'csCustQueryCLsOrUrl']); + this.updateDisplay(val, ['showType', 'templateId', 'queryTemplateName', 'bsDataModel', 'csDataModel']); }, // 妯℃澘绫诲瀷涓烘爲 @@ -1040,7 +1098,7 @@ if (!val) return; const searchTarger = this.option.column.find(item => item.prop === 'searchTarger'); // 鑾峰彇鎼滅储绫诲瀷閰嶇疆椤� searchTarger.display = false; // 涓嶅睍绀烘悳绱㈢被鍨� - this.updateDisplay(val, ['showType', 'queryTemplateName', 'rootContent', 'showAbs', 'showLinkAbs', 'separator', 'expandMode', 'linkType', 'bsCustQueryCLsOrUrl', 'csCustQueryCLsOrUrl']); + this.updateDisplay(val, ['showType', 'queryTemplateName', 'rootContent', 'showAbs', 'showLinkAbs', 'separator', 'expandMode', 'linkType', 'bsDataModel', 'csDataModel']); }, // 妯℃澘绫诲瀷涓篣I瀹氫箟 @@ -1048,7 +1106,7 @@ if (!val) return; const searchTarger = this.option.column.find(item => item.prop === 'searchTarger'); // 鑾峰彇鎼滅储绫诲瀷閰嶇疆椤� searchTarger.display = false; // 涓嶅睍绀烘悳绱㈢被鍨� - this.updateDisplay(val, ['showType', 'SubUILayout', 'searchType', 'searchObjType', 'queryTemplateName', 'bsCustQueryCLsOrUrl', 'csCustQueryCLsOrUrl']); + this.updateDisplay(val, ['showType', 'SubUILayout', 'searchType', 'searchObjType', 'queryTemplateName', 'bsDataModel', 'csDataModel']); }, // 鏌ユ壘鏁扮粍涓璞$储寮� -- Gitblit v1.9.3