Explorar o código

ETA表格 编辑中状态优化

hbchen hai 1 ano
pai
achega
777b39d465
Modificáronse 1 ficheiros con 44 adicións e 6 borrados
  1. 44 6
      src/views/datasheet_manage/sheetList.vue

+ 44 - 6
src/views/datasheet_manage/sheetList.vue

@@ -344,7 +344,7 @@ export default {
   components: { mDialog, classifyDia, Sheet, CustomTable, MixedTable,sheetListWrap },
   mixins: [leftMixin],
   beforeRouteLeave(to,from,next){
-    if(from.path=='/sheetList' && to.path!='/sheetList'){
+    if(from.path=='/sheetList'){
       this.markFinishStatus()
     }
     next()
@@ -720,8 +720,9 @@ export default {
       this.loading.close();
       if (res.Ret !== 200) return;
       this.$message.success("保存成功");
-      this.getTreeData();
+      this.markFinishStatus()
 
+      this.getTreeData();
       this.getDetailHandle();
     }, 300),
     autoSaveFun:_.debounce(async function(){
@@ -838,6 +839,23 @@ export default {
             3: "/addMixedSheet",
           };
           if(this.sheetDetailInfo.Source === 1) {
+            if(this.editButtonText.indexOf('编辑中')!=-1){
+              // 编辑中的状态 重新获取最新的详情数据
+              sheetInterface.sheetDetail({
+                ExcelInfoId: this.select_id,
+              })
+              .then((res) => {
+                if (res.Ret !== 200) return;
+
+                this.sheetDetailInfo = res.Data;
+                this.saveTime = this.$moment(this.sheetDetailInfo.ModifyTime).format('YYYY-MM-DD HH:mm:ss')||''
+
+                this.$nextTick(() => {
+                  this.$refs.sheetRef.init();
+                });
+              });
+            }
+
             this.onlineExcelEditing=true
           }else {
             this.$router.push({
@@ -911,7 +929,6 @@ export default {
     },
     // 标记 编辑完成
     markFinishStatus(select_id){
-      // console.log(select_id,'markFinishStatus',this.select_id);
       let id = select_id || this.select_id
       if((!this.onlineExcelEditing) || (!id) || id=='0'){
         this.onlineExcelEditing=false
@@ -921,6 +938,28 @@ export default {
         if(res.Ret != 200) return 
       })
       this.onlineExcelEditing=false
+    },
+    unloadMark(){
+      // sheetInterface.markSheetEditStatus({ExcelInfoId: this.select_id,Status:2}) 
+      if((!this.onlineExcelEditing) || (!this.select_id) || this.select_id=='0'){
+        this.onlineExcelEditing=false
+        return
+      }
+
+      let url = process.env.VUE_APP_API_ROOT + "/datamanage/excel_info/mark"
+      let params={ExcelInfoId: this.select_id,Status:2}
+      const uuid = localStorage.getItem("uuid") || "";
+      fetch(url, {
+        method: 'POST',
+        headers:{
+          Authorization:localStorage.getItem("auth"),
+          Uuid:uuid,
+          AccessToken:uuid + "--zheshiyigename"
+        },
+        body:JSON.stringify(params),
+        // 保持连接 让请求不会因为页面关闭而中断
+        keepalive: true
+      });
     }
   },
   mounted() {
@@ -933,16 +972,15 @@ export default {
       this.getTreeData();
       this.getPublicList();
     }
-
     window.addEventListener("resize", this.reloadRightWid);
     if(this.$route.path == '/sheetList'){
-      window.addEventListener('beforeunload',this.markFinishStatus)
+      window.addEventListener('beforeunload',this.unloadMark)
     }
   },
   destroyed() {
     window.removeEventListener("resize", this.reloadRightWid);
     if(this.$route.path == '/sheetList'){
-      window.removeEventListener('beforeunload',this.markFinishStatus)
+      window.removeEventListener('beforeunload',this.unloadMark)
     }
   },
 };