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