From 30dd1bcc069b31d417e738d57b5cd18ce9ed6871 Mon Sep 17 00:00:00 2001
From: 田源 <lastanimals@163.com>
Date: 星期一, 06 十一月 2023 14:30:03 +0800
Subject: [PATCH] 主数据分页Loading优化

---
 Source/UBCS-WEB/src/components/template/Stage.vue           |    1 
 Source/UBCS-WEB/src/components/MasterCrud/VciMasterCrud.vue |   82 ++++++++++-----------------
 Source/UBCS-WEB/src/views/integration/systemInfo.vue        |    1 
 Source/UBCS-WEB/src/views/MasterData/items.vue              |   52 ++++++++++++----
 4 files changed, 70 insertions(+), 66 deletions(-)

diff --git a/Source/UBCS-WEB/src/components/MasterCrud/VciMasterCrud.vue b/Source/UBCS-WEB/src/components/MasterCrud/VciMasterCrud.vue
index af66e4b..2a5807d 100644
--- a/Source/UBCS-WEB/src/components/MasterCrud/VciMasterCrud.vue
+++ b/Source/UBCS-WEB/src/components/MasterCrud/VciMasterCrud.vue
@@ -319,7 +319,8 @@
         hasUpload: true,
         height: 110
       },
-      result: ''
+      result: '',
+      elapsedTime:'',
     };
   },
   computed: {
@@ -681,21 +682,37 @@
         });
       }
     },
-    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;
+      console.log(this.elapsedTime)
+      this.page.total = res.data.total;
+      this.data = res.data.data;
+      this.tableData = res.data.data;
     },
-    handleCurrentChange(val) {
+
+    async handleSizeChange(val) {
       this.isLoading = true;
-      setTimeout(() => {
-        this.page.currentPage = val;
-        this.$emit("currentPage", val);
-        this.CrudRend();
-      }, 3000);
+      await this.CrudRend();
+      this.page.pageSize = val;
+      this.$emit("pageSize", val);
+      this.isLoading = false;
+    },
+
+    async handleCurrentChange(val) {
+      this.isLoading = true;
+      await this.CrudRend();
+      this.page.currentPage = val;
+      this.$emit("currentPage", val);
+      this.isLoading = false;
     },
     // 鐩戝惉鍗曞厓鏍肩偣鍑讳簨浠跺苟瀛樺偍姝e湪缂栬緫鐨勮
     handleCellClick(row, column) {
@@ -746,43 +763,6 @@
           this.$refs.dataTable.doLayout();
         }
       })
-    },
-    //琛ㄦ牸澶存覆鏌�
-    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) {
diff --git a/Source/UBCS-WEB/src/components/template/Stage.vue b/Source/UBCS-WEB/src/components/template/Stage.vue
index dcde53c..508d8fb 100644
--- a/Source/UBCS-WEB/src/components/template/Stage.vue
+++ b/Source/UBCS-WEB/src/components/template/Stage.vue
@@ -11,7 +11,6 @@
         </template>
       </avue-crud>
     </div>
-
     <el-dialog :visible.sync="dialogNode" append-to-body="true" title="妯℃澘闃舵" width="50%">
       <avue-crud ref="crud" :data="stageData" :option="stageOption" :table-loading="loading" @on-load="getStagelist"
                  @row-click="handleRowStageClick">
diff --git a/Source/UBCS-WEB/src/views/MasterData/items.vue b/Source/UBCS-WEB/src/views/MasterData/items.vue
index 83996ca..49816c3 100644
--- a/Source/UBCS-WEB/src/views/MasterData/items.vue
+++ b/Source/UBCS-WEB/src/views/MasterData/items.vue
@@ -3,18 +3,42 @@
     <el-aside>
       <basic-container style="overflow: hidden;">
         <!--          鏍戠粍浠�-->
-        <master-tree @codeClassifyOid="codeClassifyOidList" @coderuleoid="coderuleoidList" :pageSize="this.pageSize"
-          :currentPage="this.currentPage" @tableDataArray="tableDataArrays" @tableHeadDataFateher="tableHeadDatas"
-          @tableHeadBttoms="tableHeadBttoms" @total="totals" @nodeClick="nodeClick"
-          @tableHeadFindData="tableHeadFindDatas" @Treedata="TreedataList" @TreeValue="TreeValueEmit"></master-tree>
+        <master-tree
+          :currentPage="this.currentPage"
+          :pageSize="this.pageSize"
+          @TreeValue="TreeValueEmit"
+          @Treedata="TreedataList"
+          @codeClassifyOid="codeClassifyOidList"
+          @coderuleoid="coderuleoidList"
+          @nodeClick="nodeClick"
+          @tableDataArray="tableDataArrays"
+          @tableHeadBttoms="tableHeadBttoms"
+          @tableHeadDataFateher="tableHeadDatas"
+          @tableHeadFindData="tableHeadFindDatas"
+          @total="totals"
+        >
+        </master-tree>
       </basic-container>
     </el-aside>
     <el-main>
       <!--        琛ㄦ牸缁勪欢-->
-      <VciMasterCrud :page="this.page" :codeClassifyOid="this.codeClassifyOid" :coderuleoid="this.coderuleoid"
-        @pageSize="pageSizes" @currentPage="currentPages" :tableDataArray="tableDataArray" :total="this.total"
-        :tableHeadDataFateher="this.tableHeadDataFateher" :isLoading="isLoading" :templateOid="templateOid"
-        :tableHeadFindData="tableHeadFindData" :tableHeadBtnData="masterVrBtnList" :Treedata="Treedata" :TreeValue="TreeValue"></VciMasterCrud>
+      <VciMasterCrud
+        :TreeValue="TreeValue"
+        :Treedata="Treedata"
+        :codeClassifyOid="this.codeClassifyOid"
+        :coderuleoid="this.coderuleoid"
+        :isLoading="isLoading"
+        :page="this.page"
+        :tableDataArray="tableDataArray"
+        :tableHeadBtnData="masterVrBtnList"
+        :tableHeadDataFateher="this.tableHeadDataFateher"
+        :tableHeadFindData="tableHeadFindData"
+        :templateOid="templateOid"
+        :total="this.total"
+        @currentPage="currentPages"
+        @pageSize="pageSizes"
+      >
+      </VciMasterCrud>
     </el-main>
   </el-container>
 </template>
@@ -35,7 +59,7 @@
       currentPage: "1",
       codeClassifyOid: "",
       coderuleoid: "",
-      Treedata:[],
+      Treedata: [],
       templateOid: "",
       tableDataArray: [],
       masterVrBtnList: [],
@@ -43,14 +67,14 @@
       total: "",
       isLoading: false,
       tableHeadFindData: {},
-      TreeValue:''
+      TreeValue: ''
     }
   },
   created() {
   },
   methods: {
-    TreeValueEmit(val){
-      this.TreeValue=val
+    TreeValueEmit(val) {
+      this.TreeValue = val
     },
     codeClassifyOidList(val) {
       this.codeClassifyOid = val;
@@ -58,8 +82,8 @@
     coderuleoidList(val) {
       this.coderuleoid = val;
     },
-    TreedataList(val){
-      this.Treedata=val
+    TreedataList(val) {
+      this.Treedata = val
     },
     pageSizes(val) {
       this.pageSize = val
diff --git a/Source/UBCS-WEB/src/views/integration/systemInfo.vue b/Source/UBCS-WEB/src/views/integration/systemInfo.vue
index b3d2433..653321e 100644
--- a/Source/UBCS-WEB/src/views/integration/systemInfo.vue
+++ b/Source/UBCS-WEB/src/views/integration/systemInfo.vue
@@ -294,6 +294,7 @@
         // this.ModifyProperties(this.TreeData, 'text', 'label');
         // 鏍规嵁this.TreeData鐨勯暱搴﹁绠楀欢杩熸椂闂�
         const delayTime = this.TreeData.length * 1;
+        console.log(delayTime)
         setTimeout(() => {
           this.loading = false;
           this.reload = Math.random();

--
Gitblit v1.9.3