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 |  108 +++++++++++++++++++++++++++++++++++------------------
 1 files changed, 71 insertions(+), 37 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 b035270..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: {
@@ -414,6 +415,7 @@
       data: [],
       option: {
         ...basicOption,
+        size:'mini',
         height: this.height,
         addBtn: false,
         index: true,
@@ -424,6 +426,7 @@
           {
             label: '鍚嶇О',
             prop: 'name',
+            labelWidth: 110,
             rules: [
               {
                 required: true,
@@ -435,6 +438,7 @@
           {
             label: '缂栧彿',
             prop: 'seq',
+            labelWidth: 110,
             hide: false,
             rules: [
               {
@@ -448,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: [
@@ -517,6 +529,7 @@
             label: '鏄剧ず绫诲瀷',
             prop: 'navigatorType',
             type: 'radio',
+            labelWidth: 110,
             span: 24,
             value: '1',
             hide: true,
@@ -539,6 +552,7 @@
             label: '鎼滅储绫诲瀷',
             prop: 'searchTarger',
             display: true,
+            labelWidth: 110,
             type: 'radio',
             value: '1',
             span: 24,
@@ -564,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] = '';
                 })
@@ -573,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',
@@ -596,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;
@@ -638,6 +649,7 @@
                 prop: 'linkType',
                 type: 'select',
                 display: false,
+                labelWidth: 115,
                 filterable: true,
                 props: {
                   label: 'name',
@@ -670,6 +682,7 @@
               {
                 label: '閫夋嫨妯℃澘',
                 prop: 'templateId',
+                labelWidth: 115,
                 display: false,
                 formslot: true,
                 rules: [
@@ -684,6 +697,7 @@
                 label: 'UI瀹氫箟',
                 prop: 'SubUILayout',
                 type: 'select',
+                labelWidth: 115,
                 filterable: true,
                 display: false,
                 props: {
@@ -698,6 +712,7 @@
                 display: false,
                 value: '1',
                 type: 'radio',
+                labelWidth: 115,
                 span: 24,
                 dicData: [
                   {
@@ -715,7 +730,7 @@
                 prop: 'searchObjType',
                 type: 'select',
                 display: false,
-                labelWidth: 100,
+                labelWidth: 115,
                 props: {
                   label: 'qtName',
                   value: 'qtName',
@@ -726,6 +741,7 @@
               {
                 label: '鏌ヨ妯℃澘',
                 prop: 'queryTemplateName',
+                labelWidth: 115,
                 type: 'select',
                 display: false,
                 formslot: true,
@@ -733,6 +749,7 @@
               {
                 label: '鎺у埗璺緞',
                 prop: 'controlPath',
+                labelWidth: 115,
                 display: false,
                 type: 'textarea',
                 span: 24,
@@ -741,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,
               },
               {
@@ -760,6 +779,7 @@
                 prop: 'expandMode',
                 display: false,
                 type: 'radio',
+                labelWidth: 115,
                 value: '1',
                 dicData: [
                   {
@@ -773,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,
@@ -784,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
               },
             ]
@@ -823,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) {
@@ -836,7 +868,6 @@
       deep: true
     }
   },
-  computed: {},
   methods: {
     //鑾峰彇鍒楄〃鏁版嵁
     getTableList() {
@@ -897,6 +928,8 @@
     // 澧炲姞鍏抽棴瀵硅瘽妗� 娓呯┖event鏁扮粍
     beforeClose(done) {
       this.eventData = [];
+      this.showTypeChangeFlag = false;
+      this.linkTypeChangeFlag = false;
       done();
     },
 
@@ -916,6 +949,7 @@
           };
         });
       }
+      console.log('row',row);
       this.searchTargerChangeFlag = false;
       this.$refs.crud.rowEdit(row);
     },
@@ -1036,7 +1070,7 @@
     // 妯℃澘绫诲瀷涓鸿〃鏍�
     templateTypeTable(val) {
       if (!val) return;
-      this.updateDisplay(val, ['showType', 'templateId', 'queryTemplateName', 'bsCustQueryCLsOrUrl', 'csCustQueryCLsOrUrl']);
+      this.updateDisplay(val, ['showType', 'templateId', 'queryTemplateName', 'bsDataModel', 'csDataModel']);
     },
 
     // 妯℃澘绫诲瀷涓鸿嚜瀹氫箟妯℃澘
@@ -1050,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']);
     },
 
     // 妯℃澘绫诲瀷涓烘爲
@@ -1064,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瀹氫箟
@@ -1072,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