From a75ed7b2ec701afa546895653903e9c1f35db2b1 Mon Sep 17 00:00:00 2001
From: 田源 <lastanimals@163.com>
Date: 星期四, 26 十月 2023 12:09:51 +0800
Subject: [PATCH] 主数据添加 编码申请添加-ts时间戳bug

---
 Source/UBCS-WEB/src/components/Theme/ThemeAttrCrud.vue |  208 ++++++++++++++++++++++++++++++++++++----------------
 1 files changed, 144 insertions(+), 64 deletions(-)

diff --git a/Source/UBCS-WEB/src/components/Theme/ThemeAttrCrud.vue b/Source/UBCS-WEB/src/components/Theme/ThemeAttrCrud.vue
index adfb9af..847ed74 100644
--- a/Source/UBCS-WEB/src/components/Theme/ThemeAttrCrud.vue
+++ b/Source/UBCS-WEB/src/components/Theme/ThemeAttrCrud.vue
@@ -3,75 +3,99 @@
     <div v-if="this.crudArrayFlag" class="app" style="display: flex;flex-wrap: wrap; display: inline-block">
       <el-button-group>
         <!--鏂板-->
-        <el-button
-          v-if="attrEditVisible == false && attrFlagChiledren==false && editOpenFlag &&  (!checkStatus || crudLCStatus=='Editing' )"
-          icon="el-icon-plus" plain size="small" type="primary" @click="busineHandle">娣诲姞 {{ msg }}
+        <span v-if="permissionList.busineStatus">
+           <el-button
+             v-if="attrEditVisible == false && attrFlagChiledren==false && editOpenFlag &&  (!checkStatus || crudLCStatus=='Editing' )"
+             icon="el-icon-plus" plain size="small" type="primary" @click="busineHandle">娣诲姞 {{ msg }}
         </el-button>
+        </span>
         <!--        鍏ㄥ睆缂栬緫-->
-        <el-button
-          v-if=" attrEditVisible == false && attrFlagChiledren==false && editOpenFlag&&(!checkStatus || crudLCStatus=='Editing')"
-          icon="el-icon-full-screen" size="small" @click="fullscreenHandle">鍏ㄥ睆缂栬緫
+        <span v-if="permissionList.fullscreenStatus">
+            <el-button
+              v-if=" attrEditVisible == false && attrFlagChiledren==false && editOpenFlag&&(!checkStatus || crudLCStatus=='Editing')"
+              icon="el-icon-full-screen" size="small" @click="fullscreenHandle">鍏ㄥ睆缂栬緫
         </el-button>
-        <!--        楠岃瘉瑙勫垯-->
+        </span>
+        <span v-if="permissionList.ruleStatus">
+           <!--        楠岃瘉瑙勫垯-->
         <el-button v-if="(!checkStatus || crudLCStatus=='Editing' )&& editOpenFlag" icon="el-icon-info" size="small"
                    @click="ruleAddHandler">楠岃瘉瑙勫垯
         </el-button>
-        <!--        灞炴�у垎缁�-->
+        </span>
+        <span v-if="permissionList.attrStatus">
+          <!--        灞炴�у垎缁�-->
         <el-button v-if="(!checkStatus || crudLCStatus=='Editing') && editOpenFlag" icon="el-icon-menu" size="small"
                    @click="attrVisibleHandle">灞炴�у垎缁�
         </el-button>
+       </span>
       </el-button-group>
       <el-button-group>
-        <!--    淇濆瓨-->
-        <el-button v-if="(!checkStatus|| crudLCStatus=='Editing') && editOpenFlag" icon="el-icon-check" plain size="small"
+        <span v-if="permissionList.saveStatus">
+           <!--    淇濆瓨-->
+        <el-button v-if="(!checkStatus|| crudLCStatus=='Editing') && editOpenFlag" icon="el-icon-check" plain
+                   size="small"
                    type="success" @click.prevent="addsHandler">淇濆瓨
         </el-button>
+        </span>
         <!--    棰勮鎺掑簭-->
-        <el-button icon="el-icon-arrow-down" size="small" @click="orderHandle">棰勮鎺掑簭</el-button>
-        <!--    鍒犻櫎-->
+        <el-button v-if="permissionList.orderStatus" icon="el-icon-arrow-down" size="small" @click="orderHandle">棰勮鎺掑簭
+        </el-button>
+        <span v-if="permissionList.removeStatus">
+           <!--    鍒犻櫎-->
         <el-button v-if="(!checkStatus || crudLCStatus=='Editing') && editOpenFlag" icon="el-icon-delete" size="small"
                    @click="CrudRemove">鍒犻櫎
         </el-button>
+        </span>
         <!--    閲嶇疆-->
-        <el-button icon="el-icon-refresh-right" size="small" @click="reset">閲嶇疆</el-button>
+        <el-button v-if="permissionList.resetStatus" icon="el-icon-refresh-right" size="small" @click="resetHandler">
+          閲嶇疆
+        </el-button>
       </el-button-group>
       <el-button-group>
-        <!--鏂板-->
-        <!--        鍒嗙被娉ㄥ叆-->
+       <span v-if="permissionList.injectStatus"><!--        鍒嗙被娉ㄥ叆-->
         <el-button v-if="(!checkStatus || crudLCStatus=='Editing') && editOpenFlag" icon="el-icon-magic-stick"
                    size="small" @click="injectBtn">鍒嗙被娉ㄥ叆
-        </el-button>
-        <!--    缁勫悎瑙勫垯-->
+        </el-button></span>
+        <span v-if="permissionList.isShowStatus"> <!--    缁勫悎瑙勫垯-->
         <el-button v-if="(!checkStatus || crudLCStatus=='Editing') && editOpenFlag" icon="el-icon-film" size="small"
                    @click="isShowHandler">缁勫悎瑙勫垯
-        </el-button>
-        <!--        鏋氫妇娉ㄥ叆-->
+        </el-button></span>
+        <span v-if="permissionList.enumStatus"> <!--        鏋氫妇娉ㄥ叆-->
         <el-button v-if="(!checkStatus || crudLCStatus=='Editing') && editOpenFlag" icon="el-icon-c-scale-to-original"
-                   size="small" @click="enmuVisHandle">鏋氫妇娉ㄥ叆
-        </el-button>
-        <!--    绾ц仈灞炴��-->
+                   size="small" @click="enumVisHandle">鏋氫妇娉ㄥ叆
+        </el-button></span>
+
+        <span v-if="permissionList.cascadStatus">
+               <!--    绾ц仈灞炴��-->
         <el-button v-if="(!checkStatus|| crudLCStatus=='Editing') && editOpenFlag" icon="el-icon-coin" size="small"
                    @click="CascadeHandle">绾ц仈灞炴��
         </el-button>
+        </span>
       </el-button-group>
 
       <el-button-group>
         <!--    鍚屾鍒板叾浠栨ā鏉�-->
-        <el-button icon="el-icon-share" size="small" @click="syncHandle">鍚屾鍒板叾浠栨ā鏉�</el-button>
+        <el-button v-if="permissionList.syncStatus" icon="el-icon-share" size="small" @click="syncHandle">鍚屾鍒板叾浠栨ā鏉�
+        </el-button>
       </el-button-group>
 
       <el-button-group>
         <!--    缂栫爜鐢宠棰勮-->
-        <el-button icon="el-icon-view" size="small" style="" @click="applicationHandle">缂栫爜鐢宠棰勮</el-button>
+        <el-button v-if="permissionList.applicationStatus" icon="el-icon-view" size="small" style=""
+                   @click="applicationHandle">缂栫爜鐢宠棰勮
+        </el-button>
 
       </el-button-group>
       <!-- 鏄惁寮�鍚紪杈�     -->
       <el-button-group>
-        <el-button v-if="(!checkStatus|| crudLCStatus=='Editing') && !editOpenFlag && attrEditVisible == false && attrFlagChiledren==false" icon="el-icon-view" plain
-                   size="small"
-                   @click="editOpen">寮�鍚紪杈�
+        <el-button
+          v-if="(!checkStatus|| crudLCStatus=='Editing') && !editOpenFlag && attrEditVisible == false && attrFlagChiledren==false"
+          icon="el-icon-view" plain
+          size="small"
+          @click="editOpen">寮�鍚紪杈�
         </el-button>
-        <el-select v-if="(!checkStatus || crudLCStatus=='Editing') && editOpenFlag" v-model="selectvalue" placeholder="璇烽�夋嫨"
+        <el-select v-if="(!checkStatus || crudLCStatus=='Editing') && editOpenFlag" v-model="selectvalue"
+                   placeholder="璇烽�夋嫨"
                    size="small">
           <el-option
             v-for="item in selectoptions"
@@ -288,7 +312,6 @@
           <el-button size="small" type="primary" @click="addVisible=false">鍙栨秷</el-button>
         </div>
       </el-dialog>
-
       <!--      鍙傜収閰嶇疆-->
       <refer-config-dialog
         :display="referConfigVisble"
@@ -301,7 +324,8 @@
               ref="referAttrCrud"
               v-loading="loading"
               :data="ProData"
-              :height="this.editStyleFlag? 800 : 343"
+              :height="this.tableHeight"
+              border
               style="width: 100%"
               @select="selectHandle"
               @cell-click="handleCellClicks"
@@ -309,13 +333,13 @@
               @row-click="rowClick"
     >
       <el-table-column
-        fixed
+        :fixed="!editStyleFlag ? 'left' : undefined"
         type="selection" width="55">
       </el-table-column>
       <!--<el-table-column fixed label="搴忓彿" type="index" width="55"></el-table-column>-->
       <el-table-column v-for="(item,index) in this.option.column" v-if="item.edit !='referName'"
                        :key="item.id"
-                       :fixed="item.fixed"
+                       :fixed="!editStyleFlag ? item.fixed : undefined"
                        :formatter="formAttr"
                        :label="item.label"
                        :prop="item.prop"
@@ -325,17 +349,20 @@
                        align="center"
       >
         <template slot-scope="{ row }">
-          <el-input v-if="editingRows === row && editShows== item.prop && item.prop != 'codeDateFormat' && (item.edit == 'text'  ||item.edit == 'refer' )"
-                    :ref="'input' + row.oid"
-                    v-show="!AddCellFlag"
-                    v-model="row[item.prop]"
-                    @blur="saveRows(row)"
-                    ></el-input>
-          <el-input-number v-if="editingRows === row && editShows== item.prop && item.edit == 'number'" v-model="row[item.prop]"
+          <el-input
+            v-if="editingRows === row && editShows== item.prop && item.prop != 'codeDateFormat' && (item.edit == 'text'  ||item.edit == 'refer' )"
+            v-show="!AddCellFlag"
+            :ref="'input' + row.oid"
+            v-model="row[item.prop]"
+            @blur="saveRows(row)"
+          ></el-input>
+          <el-input-number v-if="editingRows === row && editShows== item.prop && item.edit == 'number'"
+                           v-model="row[item.prop]"
                            :style="{width:(item.width-10)+'px'}"
                            controls-position="right"
                            size="small" @blur="saveRows"></el-input-number>
-          <el-select v-if="editingRows === row && editShows== item.prop && item.edit == 'select' " slot="prepend" v-model="row[item.prop]" allow-create default-first-option
+          <el-select v-if="editingRows === row && editShows== item.prop && item.edit == 'select' " slot="prepend"
+                     v-model="row[item.prop]" allow-create default-first-option
                      filterable
                      @blur="selectChangeHandler(item.editConfig,index)">
             <el-option
@@ -374,6 +401,7 @@
 import {getList} from "@/api/refer/table";
 import func from "@/util/func";
 import {getCurrentInstance} from "vue";
+import {mapGetters} from "vuex";
 
 export default {
   name: "attrCrud .vue",
@@ -431,7 +459,7 @@
     },
     crudArrayFlag: {
       handler(newval, oldval) {
-        console.log('crudArrayFlag', newval)
+        // console.log('crudArrayFlag', newval)
       }
     },
     crudArray: {
@@ -455,16 +483,6 @@
         }
       }
     },
-    // editingRows:{
-    //   handler(newval,oldval){
-    //     if(newval){
-    //       const inputElement = document.querySelector(`#inputRef${newval.oid}`);
-    //       if (inputElement) {
-    //         inputElement.focus();
-    //       };
-    //     }
-    //   }
-    // },
     ProData: {
       handler(newval, oldval) {
         if (newval) {
@@ -485,7 +503,7 @@
     },
     editOpenFlag: {
       handler(newval, oldval) {
-        console.log('editOpenFlag', newval)
+        // console.log('editOpenFlag', newval)
       },
       deep: true,
       immediate: true
@@ -494,8 +512,10 @@
   },
   data() {
     return {
+      //琛ㄦ牸楂樺害
+      dynamicHeight: '',
       // 淇濆瓨鍗曞厓鏍肩姸鎬�
-      AddCellFlag:false,
+      AddCellFlag: false,
       //鍏ㄥ睆缂栬緫楂樺害鐘舵��
       editStyleFlag: false,
       loading: false,
@@ -642,6 +662,7 @@
         addBtn: false,
         header: false,
         align: 'center',
+        columnBtn: false,
         menuAlign: 'center',
         column: [{
           label: '',
@@ -856,6 +877,7 @@
           {
             label: "鍙傜収閰嶇疆",
             prop: "referConfig",
+            width: 105
           },
           {
             label: "绾ц仈鏌ヨ灞炴��",
@@ -900,7 +922,7 @@
           {
             label: "鍙栧�艰寖鍥�",
             prop: "valueArea",
-          },
+          }
         ]
       },
       // 瀛樺偍琛ㄦ牸鏁版嵁
@@ -1091,12 +1113,12 @@
           {
             label: "灞炴�ц嫳鏂囧悕绉�",
             prop: "id",
-            width:100,
+            width: 100,
           },
           {
             label: "灞炴�т腑鏂囧悕绉�",
             prop: "name",
-            width:100,
+            width: 100,
           },
           {
             label: "闀垮害",
@@ -1177,6 +1199,7 @@
       List: [],
       option: {
         index: false,
+        columnBtn: false,
         border: true,
         editBtn: false,
         selection: true,
@@ -1527,6 +1550,25 @@
     }
   },
   computed: {
+    ...mapGetters(["permission"]),
+    permissionList() {
+      return {
+        busineStatus: this.vaildData(this.permission.classifyTree.attr_add, false),
+        fullscreenStatus: this.vaildData(this.permission.classifyTree.attr_view_edit, false),
+        ruleStatus: this.vaildData(this.permission.classifyTree.attr_rule, false),
+        attrStatus: this.vaildData(this.permission.classifyTree.attr_group, false),
+        saveStatus: this.vaildData(this.permission.classifyTree.attr_save, false),
+        resetStatus: this.vaildData(this.permission.classifyTree.attr_reset, false),
+        injectStatus: this.vaildData(this.permission.classifyTree.attr_inject, false),
+        isShowStatus: this.vaildData(this.permission.classifyTree.attr_formrule, false),
+        enumStatus: this.vaildData(this.permission.classifyTree.attr_enum, false),
+        cascadStatus: this.vaildData(this.permission.classifyTree.attr_parentcode, false),
+        syncStatus: this.vaildData(this.permission.classifyTree.attr_sync, false),
+        applicationStatus: this.vaildData(this.permission.classifyTree.attr_application, false),
+        orderStatus: this.vaildData(this.permission.classifyTree.attr_sort, false),
+        removeStatus: this.vaildData(this.permission.classifyTree.attr_delete, false),
+      }
+    },
     attrOids() {
       let oids = [];
       this.attrSelectList.forEach(ele => {
@@ -1541,6 +1583,13 @@
       });
       return oids.join(",");
     },
+    tableHeight() {
+      if (this.editStyleFlag) {
+        return '800px'
+      } else {
+        return 'calc(100vh - 595px)'
+      }
+    }
   },
   mounted() {
   },
@@ -1802,7 +1851,7 @@
           this.editOpenFlag = false;
           // 璋冪敤鐖剁粍浠朵慨鏀规寜閽姸鎬�
           this.$emit('editCloseChildren')
-          this.AddCellFlag=true;
+          this.AddCellFlag = true;
         }).catch(() => {
           this.$message.warning('淇濆瓨澶辫触锛岃鏌ョ湅鎺у埗鍙拌緭鍑猴紒')
         });
@@ -1911,7 +1960,7 @@
       this.tableData.splice(row.$index, 1)
     },
     //鏋氫妇娉ㄥ叆鎸夐挳
-    enmuVisHandle() {
+    enumVisHandle() {
       if (this.attrSelectList.length > 1) {
         this.$message.warning('鍙兘閫夋嫨涓�鏉℃ā鏉垮睘鎬�')
       } else if (this.attrSelectList < 1) {
@@ -2024,7 +2073,13 @@
     },
     //鍒嗙被娉ㄥ叆淇濆瓨
     injectAddHandle() {
-      const { classifyInvokeAttr, classifyInvokeAttrName, classifyInvokeLevel, classifyInvokeEditFlag, classifyNumber } = this.injectOption;
+      const {
+        classifyInvokeAttr,
+        classifyInvokeAttrName,
+        classifyInvokeLevel,
+        classifyInvokeEditFlag,
+        classifyNumber
+      } = this.injectOption;
 
       const data = {
         "娉ㄥ叆绫诲瀷": classifyInvokeAttr,
@@ -2075,7 +2130,7 @@
       })
     },
     //琛ㄦ牸閲嶇疆
-    reset() {
+    resetHandler() {
       this.CrudRend()
     },
     //鍚屾鍒板叾浠栨ā鏉�
@@ -2112,7 +2167,7 @@
         this.editStyleFlag = true;
         this.attrEditVisible = true;
         this.attrFlag = true;
-        this.AddCellFlag=true;
+        this.AddCellFlag = true;
       }
 
     },
@@ -2126,7 +2181,7 @@
     updataFormlaContent(val) {
       if (this.CurrentCell) {
         this.$set(this.CurrentCell, 'componentRule', val.replace(/"/g, ''))
-        this.componentRuleText= this.CurrentCell.componentRule
+        this.componentRuleText = this.CurrentCell.componentRule
       } else {
         this.$set(this.attrRow, 'componentRule', val.replace(/"/g, ''))
       }
@@ -2143,12 +2198,12 @@
     },
     // 鎺掑簭 this.AddCellFlag=false;
     sortChange(val) {
-      console.log(val)
+      // console.log(val)
     },
     //寮�鍚紪杈�
     editOpen() {
       this.editOpenFlag = true;
-      this.AddCellFlag=false;
+      this.AddCellFlag = false;
     },
     //瀹氫箟涓�涓叧闂紪杈戠殑鏂规硶渚涘瓙缁勪欢浣跨敤
     editClose() {
@@ -2165,6 +2220,31 @@
 </script>
 
 <style lang="scss" scoped>
+//鍥哄畾鍒楅珮搴�
+/deep/ .el-table__fixed {
+  height: calc(100vh - 612px) !important;
+}
+
+///deep/ .el-table__fixed[v-if='editStyleFlag'] {
+//  height: calc(100vh - 152px)!important; // 缂栬緫鐘舵�佷笅鐨勯珮搴�
+//}
+// 婊氬姩鏉℃牱寮忎慨鏀�
+// 婊氬姩鏉$殑瀹藉害
+/deep/ .el-table__body-wrapper::-webkit-scrollbar {
+  height: 15px; // 绾靛悜婊氬姩鏉� 蹇呭啓
+  background: white;
+  border: white;
+  width: 10px;
+
+}
+
+// 婊氬姩鏉$殑婊戝潡
+/deep/ .el-table__body-wrapper::-webkit-scrollbar-thumb {
+  background-color: #ececec;
+  border-radius: 20px;
+  border: #ececec;
+}
+
 .app {
   /deep/ .el-button {
     //margin: 0 10px 10px 0;

--
Gitblit v1.9.3