From 05d45bd440ffc92e14e6c8728ac8956a0488c0ab Mon Sep 17 00:00:00 2001
From: xiejun <xj@2023>
Date: 星期四, 07 十二月 2023 17:20:26 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 Source/UBCS-WEB/src/components/MasterCrud/VciMasterCrud.vue |  173 ++++++++++++++++++++++++++++++++++++++-------------------
 1 files changed, 115 insertions(+), 58 deletions(-)

diff --git a/Source/UBCS-WEB/src/components/MasterCrud/VciMasterCrud.vue b/Source/UBCS-WEB/src/components/MasterCrud/VciMasterCrud.vue
index a8121e9..92973d5 100644
--- a/Source/UBCS-WEB/src/components/MasterCrud/VciMasterCrud.vue
+++ b/Source/UBCS-WEB/src/components/MasterCrud/VciMasterCrud.vue
@@ -36,16 +36,18 @@
               </el-select></span>
             </div>
             <div class="custom-table">
-              <el-table ref="dataTable" v-loading="isLoading" :data="tableData" :height="tableHeight"
-                        border class="cus-table"
-                        @select="handleSelection" @cell-click="handleCellClick" @row-click="handleRowClick"
-                        @select-all="handleSelectionAll" @selection-change="handleSelectionChange"
-                        @sort-change="sortChange">
+              <el-table ref="dataTable" v-loading="isLoading" :data="tableData"
+                        :header-cell-style="{background:'#FAFAFA',color:'#505050'}"
+                        :height="tableHeight" border
+                        class="cus-table" @select="handleSelection" @cell-click="handleCellClick"
+                        @row-click="handleRowClick" @select-all="handleSelectionAll"
+                        @selection-change="handleSelectionChange" @sort-change="sortChange">
                 <el-table-column v-if="tableData.length != 0" fixed type="selection" width="55"></el-table-column>
                 <el-table-column v-if="tableData.length != 0" fixed label="搴忓彿" type="index" width="55">
                 </el-table-column>
                 <!--              鐢熷懡鍛ㄦ湡-->
-                <el-table-column v-for="(item,index) in lcstatusArray" v-if=" lcstatusArray.length !== 0 && !item.hidden"
+                <el-table-column v-for="(item,index) in lcstatusArray"
+                                 v-if=" lcstatusArray.length >= 0 && !item.hidden"
                                  key="index" :show-overflow-tooltip="true" :sortable="item.sortable"
                                  :width="item.width" align="center" label="鐢熷懡鍛ㄦ湡鍊�"
                                  prop="lcstatus">
@@ -75,7 +77,8 @@
                                  align="center">
                 </el-table-column>
                 <!--               鍙傜収鏁版嵁-->
-                <el-table-column v-for="(item,index) in referArray" v-if="item.referConfig && Object.keys(item.referConfig).length > 0 && !item.hidden"
+                <el-table-column v-for="(item,index) in referArray"
+                                 v-if="item.referConfig && Object.keys(item.referConfig).length > 0 && !item.hidden"
                                  :key="index"
                                  :label="item.title" :show-overflow-tooltip="true"
                                  :sortable="item.sortable" :width="item.width" align="center"
@@ -96,9 +99,9 @@
           </FormTemplateDialog>
           <!--          淇-->
           <FormTemplateDialog :codeClassifyOid="this.codeClassifyOid" :codeRuleOid="this.codeRuleOid"
-                              :disabledProp="disabledProp" :rowOid="rowOid" :templateOid="templateOid" :title="'淇敼缂栫爜淇℃伅'"
-                              :visible.sync="amendvisible" status="amend"
-                              type="edit" @submit="amendSumbit"></FormTemplateDialog>
+                              :disabledProp="disabledProp" :selectRow="selectRow" :templateOid="templateOid"
+                              :title="'鏁版嵁淇'" :visible.sync="amendvisible" status="amend"
+                              type="add" @submit="amendSumbit"></FormTemplateDialog>
           <!--          鏂板-->
           <FormTemplateDialog :TreeValue="TreeValue" :codeClassifyOid="this.codeClassifyOid"
                               :codeRuleOid="this.codeRuleOid" :disabledProp="disabledProp" :templateOid="templateOid"
@@ -108,7 +111,8 @@
           </FormTemplateDialog>
           <!--          淇敼-->
           <FormTemplateDialog :codeClassifyOid="this.codeClassifyOid" :codeRuleOid="this.codeRuleOid"
-                              :disabledProp="disabledProp" :rowOid="rowOid" :templateOid="templateOid" :title="'淇敼缂栫爜淇℃伅'"
+                              :disabledProp="disabledProp" :rowOid="rowOid" :templateOid="templateOid"
+                              :title="'淇敼缂栫爜淇℃伅'"
                               :visible.sync="editvisible"
                               type="edit" @submit="EditSumbit"></FormTemplateDialog>
           <!--          鎵归噺缂栬緫-->
@@ -183,7 +187,8 @@
   upSaveCode,
   applyGroupCode,
   receiveEditApply,
-  applySaveCode
+  applySaveCode,
+  exportGroupCodeExcel
 } from "@/api/GetItem";
 import {processTS, changeStatus} from "@/api/template/setPersonnel"
 import {listCodeAttributeByClassId} from "@/api/integration/integration.js";
@@ -388,6 +393,11 @@
     this.doLayout()
   },
   watch: {
+    isLoading: {
+      handler(newval) {
+        // console.log(newval)
+      }
+    },
     tableHeadDataFateher: {
       handler(newval, oldval) {
         this.options = newval.tableDefineVO.seniorQueryColumns
@@ -403,7 +413,7 @@
       handler(newval, oldval) {
         this.tableData = newval;
         this.searchResults = newval
-        this.doLayout()
+        this.doLayout();
       },
     },
     tableHeadFindData: {
@@ -428,33 +438,31 @@
           }
         })
         this.tableHeadFindDatas = newval;
-        // console.log('new',newval)
-        if (!this.isCodeArrayPushed) {
+        if (newval) {
+          this.CodeArray = [];
           if (newval.find(item => item.prop === 'id')) {
             this.CodeArray.push(newval.find(item => item.prop === 'id'));
           } else {
-            this.CodeArray.push([]);
+            this.CodeArray = [];
           }
-          // console.log('CodeArray', this.CodeArray);
-          this.isCodeArrayPushed = true;
+
         }
-        if (!this.islcstatusPushed) {
+        if (newval) {
+          this.lcstatusArray = [];
           if (newval.find(item => item.prop === 'lcstatus')) {
             this.lcstatusArray.push(newval.find(item => item.prop === 'lcstatus'));
           } else {
-            this.lcstatusArray.push([]);
+            this.lcstatusArray = [];
           }
-          // console.log('lcstatusArray', this.lcstatusArray);
-          this.islcstatusPushed = true;
         }
-        if (!this.isReferPushed) {
+        if (newval) {
+          this.referArray = [];
           if (newval.find(item => Object.keys(item.referConfig).length > 0)) {
             this.referArray.push(newval.find(item => Object.keys(item.referConfig).length > 0));
           } else {
-            this.referArray.push([])
+            this.referArray = [];
           }
         }
-        this.isReferPushed = true;
         this.WupinFindValue = ''
       },
     },
@@ -481,8 +489,7 @@
       this.LinkObject = row;
       this.LinkVisible = true;
       this.LinkList = Object.keys(row).map(property => property)
-      // console.log(result);
-      // console.log(this.LinkObject)
+
     },
     //鐘舵�佹悳绱�
     cellSelectHandler(row) {
@@ -493,6 +500,7 @@
       }
     },
     cellStatusFind(lcstatus) {
+      this.isLoading = true;
       TableData({
         templateOid: this.templateOid,
         codeClassifyOid: this.codeClassifyOid,
@@ -500,7 +508,10 @@
         limit: this.page.pageSize,
         'conditionMap[lcstatus]': lcstatus
       }).then(res => {
-        this.tableData = res.data.data
+        // console.log(res)
+        this.tableData = res.data.data;
+        this.page.total = res.data.total;
+        this.isLoading = false;
       })
     },
     //灞曞紑闄勪欢
@@ -550,6 +561,44 @@
         if (uniqueFlag === 'CODEAMEND') return this.codeAMENDHandler()
         //鎵归噺缂栬緫
         if (uniqueFlag === 'bulkEdit') return this.bulkEditHandler("bulkEdit")
+        //闆嗗洟鐮佸鍑�
+        if (uniqueFlag === 'excelGroupCode') return this.excelGroupCode()
+        //闆嗗洟鐮佸鍏�
+        if (uniqueFlag === 'importGroupCode') return this.importGroupCode("groupCode")
+      });
+    },
+    importGroupCode(type) {
+      this.batchImportData.visible = true
+      this.batchImportData.type = type
+      this.batchImportData.codeClassifyOid = this.codeClassifyOid
+    },
+    //闆嗗洟鐮佸鍑�
+    excelGroupCode() {
+      this.isLoading = true;
+      exportGroupCodeExcel({
+        codeClassifyOid: this.codeClassifyOid,
+      }).then(res => {
+        // let reader = new FileReader();
+        // reader.readAsText(res.data);
+        // reader.onload = () => {
+        //   try {
+        //     let resData = JSON.parse(reader.result);  // 瑙f瀽瀵硅薄鎴愬姛
+        //     if (!resData.success) {
+        //       this.$message.error(resData.msg);
+        //       this.isLoading = false;
+        //     }
+        //   } catch (err) {
+        //     // 瑙f瀽鎴愬璞″け璐ワ紝璇存槑鏄甯哥殑鏂囦欢娴�
+        //     func.downloadFileByBlobHandler(res);
+        //     this.$message.success('涓嬭浇鎴愬姛锛岃鏌ョ湅锛�');
+        //     this.isLoading = false;
+        //   }
+        // };
+        func.downloadFileByBlobHandler(res);
+        this.$message.success('涓嬭浇鎴愬姛锛岃鏌ョ湅锛�');
+        this.isLoading = false;
+      }).catch(error=>{
+        this.$message.error(error);
       });
     },
     //鏍囧噯鐢宠
@@ -584,33 +633,50 @@
     },
     //鏍囧噯淇
     codeAMENDHandler() {
-      if (this.selectRow.length !== 1) {
-        this.$message.warning("璇烽�夋嫨涓�鏉℃暟鎹�");
+      let foundItem = false;
+      this.tableHeadFindData.forEach(item => {
+        if (item.field === "oldcode" && Object.keys(item.referConfig).length >= 1) {
+          foundItem = true;
+        }
+      });
+      if (foundItem) {
+        if (this.selectRow.length >= 1) {
+          this.$confirm('宸叉湁鍙傜収鏄惁鍙栨秷鍕鹃�夌户缁墽琛岋紵', '鎻愮ず', {
+            confirmButtonText: '纭畾',
+            cancelButtonText: '鍙栨秷',
+            type: 'warning'
+          }).then(() => {
+            this.selectRow = [];
+            //鍙栨秷鍕鹃�夌姸鎬�
+            this.$refs.dataTable.clearSelection();
+            this.amendvisible = true;
+          }).catch(() => {
+            this.$message({
+              type: 'info',
+              message: '宸插彇娑堝綋鍓嶆搷浣�'
+            });
+          });
+        } else {
+          this.amendvisible = true;
+        }
       } else {
-        this.amendvisible = true;
-        this.rowOid = this.selectRow[0].oid;
+        if (this.selectRow.length <= 0) {
+          this.$message.warning("璇疯嚦灏戦�夋嫨涓�鏉℃暟鎹�");
+        } else {
+          this.amendvisible = true;
+
+        }
       }
     },
     //鎵归噺缂栬緫
     bulkEditHandler(type) {
-      console.log(this.nodeClickList)
       if (this.nodeClickList.children.length >= 1) {
         this.$message.warning('褰撳墠閫夋嫨鐨勫垎绫讳笉鏄彾瀛愯妭鐐癸紝涓嶅厑璁告壒閲忕紪杈戯紒')
         return;
       }
-      if (this.selectRow.length <= 0) {
-        this.$message.warning('璇烽�夋嫨鑷冲皯涓�鏉℃暟鎹紒')
-        return;
-      }
-      const Editing = this.selectRow.every(item => item.lcstatus === 'Editing');
-
-      if (Editing) {
-        this.batchImportData.visible = true
-        this.batchImportData.type = type
-        this.batchImportData.codeClassifyOid = this.codeClassifyOid
-      } else {
-        this.$message.warning('閫夋嫨鐨勬暟鎹腑鏈夌紪鐮佺姸鎬佷笉鏄�滅紪杈戜腑鈥濓紝涓嶅彲缂栬緫锛�');
-      }
+      this.batchImportData.visible = true
+      this.batchImportData.type = type
+      this.batchImportData.codeClassifyOid = this.codeClassifyOid
     },
     addSaveHandler() {
       this.$nextTick(() => {
@@ -622,10 +688,6 @@
       if (this.selectRow.length <= 0) {
         this.$message.warning('璇烽�夋嫨涓�鏉℃暟鎹ā鏉匡紒')
       } else {
-        // const requestData = this.selectRow.forEach(item => {
-        //   return { oids: item.oid, btmName: item.btmname };
-        // });
-
         const oids = this.selectRow.map(item => item.oid).join(',');
         applyGroupCode({oids, btmName: this.selectRow[0].btmname}).then(res => {
           if (res.data.code == 200) {
@@ -640,9 +702,6 @@
       if (this.selectRow.length <= 0) {
         this.$message.warning('璇烽�夋嫨涓�鏉℃暟鎹ā鏉匡紒')
       } else {
-        // const requestData = this.selectRow.forEach(item => {
-        //   return { oids: item.oid, btmName: item.btmname };
-        // });
         const oids = this.selectRow.map(item => item.oid).join(',');
         receiveEditApply({oids, btmName: this.selectRow[0].btmname}).then(res => {
           if (res.data.code == 200) {
@@ -1018,10 +1077,7 @@
     },
     //杈撳叆鍥炶溅鎼滅储
     tableFindInp() {
-      /*if (this.WupinFindValue.trim() === '') {
-        this.$message.warning('杈撳叆鍊间笉鑳戒负绌�')
-        return;
-      }*/
+      this.isLoading = true;
       TableData({
         templateOid: this.templateOid,
         codeClassifyOid: this.codeClassifyOid,
@@ -1030,7 +1086,8 @@
         ['conditionMap[' + this.keyWordFind + ']']: '*' + this.WupinFindValue + '*'
       }).then(res => {
         this.tableData = res.data.data;
-        // this.page.total = res.data.data.total;
+        this.page.total = res.data.total;
+        this.isLoading = false;
       })
     }
 

--
Gitblit v1.9.3