From 2be0ef348c881796d66e112463f62be5ef374527 Mon Sep 17 00:00:00 2001
From: ludc
Date: 星期二, 14 十一月 2023 11:46:08 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 Source/UBCS-WEB/src/components/MasterCrud/VciMasterCrud.vue |  252 +++++++++++++++++++++++++++++--------------------
 1 files changed, 148 insertions(+), 104 deletions(-)

diff --git a/Source/UBCS-WEB/src/components/MasterCrud/VciMasterCrud.vue b/Source/UBCS-WEB/src/components/MasterCrud/VciMasterCrud.vue
index 791d4d1..77ae0da 100644
--- a/Source/UBCS-WEB/src/components/MasterCrud/VciMasterCrud.vue
+++ b/Source/UBCS-WEB/src/components/MasterCrud/VciMasterCrud.vue
@@ -6,15 +6,15 @@
           <div>
           </div>
           <el-row style="width: 100%;margin-bottom: 10px">
-            <div>
-              <el-button v-for="(item, index) in masterVrBtnList"
-                         v-if="!['PREVIEW', 'DELETEFILE', 'revisefile', 'DOWNLOADFILE', 'UPLOADFILE'].includes(item.uniqueFlag)"
-                         :key="index" plain size="small"
-                         type="primary"
-                         @click="handelBtnClick(item)">{{
-                  item.name
-                }}
-              </el-button>
+            <div style="margin-bottom: 10px" >
+                <el-button v-for="(item, index) in masterVrBtnList"
+                           v-if="!['PREVIEW', 'DELETEFILE', 'revisefile', 'DOWNLOADFILE', 'UPLOADFILE'].includes(item.uniqueFlag)"
+                           :key="index" plain size="small"
+                           type="primary"
+                           @click="handleBtnClick(item)">{{
+                    item.name
+                  }}
+                </el-button>
               <span v-if="tableHeadFindData.length > 0">
               <el-select slot="prepend" v-model="keyWordFind" placeholder="璇烽�夋嫨" size="small">
                 <el-option v-for="item in tableHeadFindData" :key="item.id" :label="item.label"
@@ -35,33 +35,45 @@
                 <el-option label="瀹℃牳涓�" value="Auditing"></el-option>
               </el-select></span>
             </div>
-            <el-table ref="dataTable" v-loading="isLoading" :data="tableData"
-                      :height="tableHeight"
-                      @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 in CodeArray" v-if="!item.hidden" :label="item.label" :prop="item.prop"
-                               :show-overflow-tooltip="true" :sortable="item.sortable" :width="item.width"
-                               align="center">
-                <template slot-scope="scope">
-                  <el-link type="primary" @click="CodeLinkHandler(scope.row)">
-                    {{ scope.row[item.prop] }}
-                  </el-link>
-                </template>
-              </el-table-column>
-              <el-table-column v-for="item in this.tableHeadFindData" v-if="!item.hidden && item.prop !== 'id'"
-                               :key="item.id"
-                               :formatter="item.formatter"
-                               :label="item.label" :prop="item.prop"
-                               :show-overflow-tooltip="true"
-                               :sortable="item.sortable"
-                               :width="item.width"
-                               align="center">
-              </el-table-column>
-            </el-table>
+            <div class="custom-table">
+              <el-table class="cus-table" ref="dataTable" v-loading="isLoading" :data="tableData"
+                        :height="tableHeight"  border
+                        @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" key="index" v-if=" lcstatusArray.length !== 0 && !item.hidden" label="鐢熷懡鍛ㄦ湡鍊�" prop="lcstatus"
+                                 :show-overflow-tooltip="true" :sortable="item.sortable" :width="item.width"
+                                 align="center">
+                  <template slot-scope="scope">
+                    <span>{{ scope.row.lcstatus_text }}</span>
+                  </template>
+                </el-table-column>
+                <!--              缂栧彿-->
+                <el-table-column  v-for="(item, index) in CodeArray" key="index" v-if="CodeArray.length !== 0 && !item.hidden" :label="item.label" :prop="item.prop"
+                                  :show-overflow-tooltip="true" :sortable="item.sortable" :width="item.width"
+                                  align="center">
+                  <template slot-scope="scope">
+                    <el-link type="primary" @click="CodeLinkHandler(scope.row)">
+                      {{ scope.row[item.prop] }}
+                    </el-link>
+                  </template>
+                </el-table-column>
+                <el-table-column v-for="item in this.tableHeadFindData" v-if="!item.hidden && item.prop !== 'id' && item.prop !== 'lcstatus'"
+                                 :key="item.id"
+                                 :formatter="item.formatter"
+                                 :label="item.label" :prop="item.prop"
+                                 :show-overflow-tooltip="true"
+                                 :sortable="item.sortable"
+                                 :width="item.width"
+                                 align="center">
+                </el-table-column>
+
+              </el-table>
+            </div>
           </el-row>
           <!--          鏂板-->
           <FormTemplateDialog :TreeValue="TreeValue" :codeClassifyOid="this.codeClassifyOid"
@@ -155,6 +167,7 @@
 import {validatenull} from "@/util/validate";
 import fileInHtml from "@/components/file/inHtml.vue";
 import {getUserInfo} from "@/api/system/user";
+import func from "@/util/func";
 
 export default {
   components: {
@@ -220,6 +233,8 @@
       LinkList: [],
       isCodeArrayPushed: false, // 缂栫爜鏁扮粍娣诲姞鏍囪瘑鍙橀噺
       CodeArray: [],
+      lcstatusArray:[],
+      islcstatusPushed:false,
       // 鐘舵�佹悳绱�
       statusSelect: "all",
       // 鍏抽敭瀛楁煡璇�
@@ -304,7 +319,8 @@
         hasUpload: true,
         height: 110
       },
-      result: ''
+      result: '',
+      elapsedTime:'',
     };
   },
   computed: {
@@ -314,7 +330,7 @@
         oids.push(ele.oid);
       });
       return oids;
-    }
+    },
   },
   created() {
     // const index = this.$route.query.id.indexOf('@name=') + '@name='.length;
@@ -372,9 +388,24 @@
           }
         })
         this.tableHeadFindDatas = newval;
+        // console.log('new',newval)
         if (!this.isCodeArrayPushed) {
-          this.CodeArray.push(newval.find(item => item.prop === 'id'))
-          this.isCodeArrayPushed = true
+          if (newval.find(item => item.prop === 'id')) {
+            this.CodeArray.push(newval.find(item => item.prop === 'id'));
+          } else {
+            this.CodeArray.push([]);
+          }
+          // console.log('CodeArray', this.CodeArray);
+          this.isCodeArrayPushed = true;
+        }
+        if (!this.islcstatusPushed) {
+          if (newval.find(item => item.prop === 'lcstatus')) {
+            this.lcstatusArray.push(newval.find(item => item.prop === 'lcstatus'));
+          } else {
+            this.lcstatusArray.push([]);
+          }
+          // console.log('lcstatusArray', this.lcstatusArray);
+          this.islcstatusPushed = true;
         }
         // console.log('new',newval)
         this.WupinFindValue = ''
@@ -393,9 +424,7 @@
     },
     tableHeadBtnData: {
       handler(newval) {
-        if (newval.length !== 0) {
           this.masterVrBtnList = newval
-        }
       },
       deep: true
     },
@@ -440,10 +469,10 @@
     openVis(visible) {
       this[visible] = true
     },
-    handelBtnClick(event) {
+    handleBtnClick(event) {
       const {uniqueFlag} = event
       this.$nextTick(() => {
-        if (uniqueFlag === 'CODEADD') return this.addvisible = true
+        if (uniqueFlag === 'CODEADD') return this.addSaveHandler()
         if (uniqueFlag === 'CODEEDIT') return this.editHandler()
         if (uniqueFlag === 'CODEBATCHADD') return this.openBatchImport('batchImportApply')
         if (uniqueFlag === 'CODEIMPORTHISTORY') return this.openBatchImport('historyImport')
@@ -468,6 +497,23 @@
         if (uniqueFlag === 'receiveEditApply') return this.receiveEditApply()
         //  鐩镐技椤规煡璇�
         //  if(uniqueFlag === 'CODEEDIT') return this.similarHandler()
+        //  鏍囧噯鐢宠
+        if (uniqueFlag === 'CODEAPPLY') return this.codeApplyHandler()
+        //  鏍囧噯淇
+        if (uniqueFlag === 'CODEAMEND') return this.codeAMENDHandler()
+      });
+    },
+    //鏍囧噯鐢宠
+    codeApplyHandler(){
+      console.log('1')
+    },
+    //鏍囧噯淇
+    codeAMENDHandler(){
+      console.log('2')
+    },
+    addSaveHandler(){
+      this.$nextTick(() => {
+        this.addvisible = true;
       });
     },
     //鐢宠闆嗗洟鐮佹暟鎹�
@@ -645,21 +691,36 @@
         });
       }
     },
-    handleSizeChange(val) {
-      this.isLoading = true;
-      setTimeout(() => {
-        this.page.pageSize = val;
-        this.$emit("pageSize", val);
-        this.CrudRend();
-      }, 3000);
+    async CrudRend() {
+      this.elapsedTime = 0;
+      const startTime = performance.now();
+      const res = await TableData({
+        templateOid: this.templateOid,
+        codeClassifyOid: this.codeClassifyOid,
+        page: this.page.currentPage,
+        limit: this.page.pageSize,
+      });
+      const endTime = performance.now();
+      this.elapsedTime = Math.floor(endTime - startTime) * 1;
+      this.page.total = res.data.total;
+      this.data = res.data.data;
+      this.tableData = res.data.data;
     },
-    handleCurrentChange(val) {
+
+    async handleSizeChange(val) {
+      this.page.pageSize = val;
+      this.$emit("pageSize", val);
       this.isLoading = true;
-      setTimeout(() => {
-        this.page.currentPage = val;
-        this.$emit("currentPage", val);
-        this.CrudRend();
-      }, 3000);
+      await this.CrudRend();
+      this.isLoading = false;
+    },
+
+    async handleCurrentChange(val) {
+      this.page.currentPage = val;
+      this.$emit("currentPage", val);
+      this.isLoading = true;
+      await this.CrudRend();
+      this.isLoading = false;
     },
     // 鐩戝惉鍗曞厓鏍肩偣鍑讳簨浠跺苟瀛樺偍姝e湪缂栬緫鐨勮
     handleCellClick(row, column) {
@@ -711,46 +772,9 @@
         }
       })
     },
-    //琛ㄦ牸澶存覆鏌�
-    CrudHeaderRend() {
-      if (this.codeClassifyOid != "") {
-        MasterTable({
-          codeClassifyOid: this.codeClassifyOid
-        }).then((res) => {
-          this.options = res.data.tableDefineVO.seniorQueryColumns;
-          this.List = res.data.tableDefineVO.cols[0];
-          this.List.forEach((item) => {
-            let columnItem = {
-              label: item.title,
-              prop: item.queryField,
-              type: this.columnType[item.type],
-              sortable: item.sort,
-              width: item.minWidth,
-            };
-            this.option.column.push(columnItem);
-            this.option.column = this.tableHeadData;
-            this.templateOid = res.data.tableDefineVO.oid;
-            this.$emit("templateOid", this.templateOid);
-          });
-        });
-      }
-    },
-    //琛ㄦ牸鏁版嵁
-    CrudRend() {
-      TableData({
-        templateOid: this.templateOid,
-        codeClassifyOid: this.codeClassifyOid,
-        page: this.page.currentPage,
-        limit: this.page.pageSize,
-      }).then((res) => {
-        this.page.total = res.data.total;
-        this.data = res.data.data;
-        this.tableData = res.data.data;
-      });
-    },
     // 鎺掑簭
     sortChange(val) {
-      console.log(val)
+      // console.log(val)
       this.isLoading = true;
       let order = "";
       if (val.order == "ascending") {
@@ -852,6 +876,11 @@
     },
     //澧炲姞淇濆瓨
     AddSumbit(val) {
+      // console.log('val',val)
+      if(func.notEmpty(val.ts)) {
+        val.ts = func.formattedDateTime(val.ts);
+        //console.log(val.ts);
+      }
       addSaveCode(val).then(res => {
         this.$nextTick(() => {
           this.addvisible = false;
@@ -900,7 +929,8 @@
         limit: this.page.pageSize,
         ['conditionMap[' + this.keyWordFind + ']']: '*' + this.WupinFindValue + '*'
       }).then(res => {
-        this.tableData = res.data.data
+        this.tableData = res.data.data;
+        // this.page.total = res.data.data.total;
       })
     }
 
@@ -909,15 +939,26 @@
 </script>
 
 <style lang="scss" scoped>
-.testbox {
-  .el-table--scrollable-x .el-table__body-wrapper {
-    overflow: auto !important;
-  }
-
-  .el-table__fixed-right-patch {
-    background-color: #f5f7fa !important;
-  }
+//鍥哄畾鍒楅珮搴�
+/deep/ .el-table__fixed {
+  height: calc(100vh - 370px)!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;
+}
+
 
 .el-button {
   margin: 0 10px 10px 0;
@@ -943,4 +984,7 @@
   margin-top: 10px;
 }
 
+ .el-table__body-wrapper{
+  height: calc(100% - 44px) !important;
+}
 </style>

--
Gitblit v1.9.3