From 1db2d5ed103a14ddd0ef0c1d18711fc55d9aaa26 Mon Sep 17 00:00:00 2001
From: zhangzengfei <zhangzengfei@smartai.com>
Date: 星期三, 23 三月 2022 22:25:43 +0800
Subject: [PATCH] 修复数据栈删除时的回显问题

---
 src/pages/cameraAccess/components/DataStackInfo.vue |  636 +++++++++++++++++++++-----------------------------------
 1 files changed, 241 insertions(+), 395 deletions(-)

diff --git a/src/pages/cameraAccess/components/DataStackInfo.vue b/src/pages/cameraAccess/components/DataStackInfo.vue
index c2b2f4e..55e70d6 100644
--- a/src/pages/cameraAccess/components/DataStackInfo.vue
+++ b/src/pages/cameraAccess/components/DataStackInfo.vue
@@ -4,26 +4,14 @@
       <el-col :span="12">
         <el-form ref="addForm" :model="form" :rules="rules" label-width="88px">
           <el-form-item label="鍚嶇О" prop="name" style="width: 440px">
-            <el-input
-              v-model="form.name"
-              size="small"
-              :disabled="isDisabled"
-            ></el-input>
+            <el-input v-model="form.name" size="small" :disabled="isDisabled"></el-input>
           </el-form-item>
 
           <el-form-item label="绫诲瀷" prop="type" style="width: 440px">
-            <el-radio v-model="form.type" :label="1" :disabled="!isAdd"
-              >瑙嗛</el-radio
-            >
-            <el-radio v-model="form.type" :label="2" :disabled="!isAdd"
-              >鍥剧墖</el-radio
-            >
-            <el-radio v-model="form.type" :label="3" :disabled="!isAdd"
-              >闊抽</el-radio
-            >
-            <el-radio v-model="form.type" :label="4" :disabled="!isAdd"
-              >鍏朵粬鏁版嵁</el-radio
-            >
+            <el-radio v-model="form.type" :label="1" :disabled="!isAdd">瑙嗛</el-radio>
+            <el-radio v-model="form.type" :label="2" :disabled="!isAdd">鍥剧墖</el-radio>
+            <el-radio v-model="form.type" :label="3" :disabled="!isAdd">闊抽</el-radio>
+            <el-radio v-model="form.type" :label="4" :disabled="!isAdd">鍏朵粬鏁版嵁</el-radio>
           </el-form-item>
           <el-form-item label="澶勭悊鍒嗚鲸鐜�" style="width: 440px">
             <el-select
@@ -36,49 +24,19 @@
               <el-option
                 v-for="item in form.resolutions"
                 :key="`${item.width}*${item.height}`"
-                :label="
-                  `${item.width}*${item.height}` == '0*0'
-                    ? '鏈満鍒嗚鲸鐜�'
-                    : `${item.width}*${item.height}`
-                "
+                :label="`${item.width}*${item.height}` == '0*0' ? '鏈満鍒嗚鲸鐜�' : `${item.width}*${item.height}`"
                 :value="`${item.width}*${item.height}`"
               ></el-option>
             </el-select>
           </el-form-item>
-          <el-form-item
-            label="澶勭悊瀹屾垚鍚庤嚜鍔ㄥ垹闄ゆ枃浠�"
-            prop="isAutoDelFile"
-            label-width="200px"
-            style="width: 440px"
-          >
-            <el-radio
-              v-model="form.isAutoDelFile"
-              :label="true"
-              :disabled="isDisabled"
-              >鏄�</el-radio
-            >
-            <el-radio
-              v-model="form.isAutoDelFile"
-              :label="false"
-              :disabled="isDisabled"
-              >鍚�</el-radio
-            >
+          <el-form-item label="澶勭悊瀹屾垚鍚庤嚜鍔ㄥ垹闄ゆ枃浠�" prop="isAutoDelFile" label-width="200px" style="width: 440px">
+            <el-radio v-model="form.isAutoDelFile" :label="true" :disabled="isDisabled">鏄�</el-radio>
+            <el-radio v-model="form.isAutoDelFile" :label="false" :disabled="isDisabled">鍚�</el-radio>
           </el-form-item>
 
           <el-form-item label-width="0px" style="text-align: left">
-            <el-button
-              size="small"
-              type="primary"
-              @click="onSubmit('addForm')"
-              :disabled="isDisabled"
-              >淇濆瓨</el-button
-            >
-            <el-button
-              type="danger"
-              size="small"
-              @click="deleteDir"
-              v-if="!isAdd"
-              :disabled="isDisabled"
+            <el-button size="small" type="primary" @click="onSubmit('addForm')" :disabled="isDisabled">淇濆瓨</el-button>
+            <el-button type="danger" size="small" @click="deleteDir" v-if="!isAdd" :disabled="isDisabled"
               >鍒犻櫎鏁版嵁鏍�</el-button
             >
           </el-form-item>
@@ -104,10 +62,7 @@
             :style="`width:80%;height:174px;position: relative;left: -12px;`"
             v-if="PollData.barCharts && PollData.barCharts.length !== 0"
           >
-            <eChartsBar
-              ref="cpuMeneryCharts"
-              :xAxisData="PollData.barCharts"
-            ></eChartsBar>
+            <eChartsBar ref="cpuMeneryCharts" :xAxisData="PollData.barCharts"></eChartsBar>
           </div>
         </div>
       </el-col>
@@ -116,16 +71,8 @@
     <!-- 涓婁紶绠$悊 -->
     <el-divider></el-divider>
     <div class="upload-menu">
-      <span
-        @click="activeName = 'uploaded'"
-        :class="activeName === 'uploaded' ? 'active tab' : 'tab'"
-        >宸蹭笂浼�</span
-      >
-      <span
-        @click="activeName = 'uploading'"
-        :class="activeName === 'uploading' ? 'active tab' : 'tab'"
-        >姝e湪涓婁紶</span
-      >
+      <span @click="activeName = 'uploaded'" :class="activeName === 'uploaded' ? 'active tab' : 'tab'">宸蹭笂浼�</span>
+      <span @click="activeName = 'uploading'" :class="activeName === 'uploading' ? 'active tab' : 'tab'">姝e湪涓婁紶</span>
 
       <div class="btn-right">
         <el-input
@@ -136,36 +83,16 @@
           size="small"
           @change="handelSearchInputChange"
         >
-          <i
-            class="el-icon-search el-input__icon"
-            style="color: #dcdfe6; padding: 0px"
-            slot="prefix"
-          ></i>
+          <i class="el-icon-search el-input__icon" style="color: #dcdfe6; padding: 0px" slot="prefix"></i>
         </el-input>
 
         <!-- 鎵归噺鏆傚仠 -->
-        <el-tooltip
-          content="鎵归噺鏆傚仠"
-          placement="bottom"
-          popper-class="atooltip"
-        >
-          <el-button
-            type="text"
-            class="iconfont iconzanting btn"
-            @click="handleFileStatus({}, 0, true)"
-          ></el-button>
+        <el-tooltip content="鎵归噺鏆傚仠" placement="bottom" popper-class="atooltip">
+          <el-button type="text" class="iconfont iconzanting btn" @click="handleFileStatus({}, 0, true)"></el-button>
         </el-tooltip>
         <!-- 鎵归噺鍒犻櫎 -->
-        <el-tooltip
-          content="鎵归噺鍒犻櫎"
-          placement="bottom"
-          popper-class="atooltip"
-        >
-          <el-button
-            type="text"
-            class="el-icon-delete btn"
-            @click="handleFileDelete({}, true)"
-          ></el-button>
+        <el-tooltip content="鎵归噺鍒犻櫎" placement="bottom" popper-class="atooltip">
+          <el-button type="text" class="el-icon-delete btn" @click="handleFileDelete({}, true)"></el-button>
         </el-tooltip>
 
         <!-- 鏂囦欢涓婁紶 -->
@@ -196,16 +123,12 @@
       :header-cell-style="{
         background: '#f8f8f8',
         color: '#222222',
-        textAlign: 'center',
+        textAlign: 'center'
       }"
       @select="handleSelect"
       @select-all="handleSelect"
     >
-      <el-table-column
-        type="selection"
-        align="center"
-        :selectable="isSelectable"
-      ></el-table-column>
+      <el-table-column type="selection" align="center" :selectable="isSelectable"></el-table-column>
       <el-table-column prop="name" label="鏂囦欢鍚�">
         <template slot-scope="{ row }">
           <div :class="snapshotClass">
@@ -223,9 +146,7 @@
               style="width: 30x; height: 30px; background: #fff"
               :src="`/files/${row.path.substr(row.path.lastIndexOf('/') + 1)}`"
               fit="fill"
-              :preview-src-list="[
-                `/files/${row.path.substr(row.path.lastIndexOf('/') + 1)}`,
-              ]"
+              :preview-src-list="[`/files/${row.path.substr(row.path.lastIndexOf('/') + 1)}`]"
             >
               <div slot="error" :class="snapshotClass"></div>
             </el-image>
@@ -243,18 +164,13 @@
               margin-left: 10px;
             "
           />
-          <a
-            v-else
-            style="line-height: 30px; margin-left: 10px; cursor: pointer"
-            @click="preview(row)"
-            >{{ row.name }}</a
-          >
+          <a v-else style="line-height: 30px; margin-left: 10px; cursor: pointer" @click="preview(row)">{{
+            row.name
+          }}</a>
         </template>
       </el-table-column>
       <el-table-column prop="fileSize" label="澶у皬">
-        <template slot-scope="scope">{{
-          scope.row.size | readFileSizeUnit
-        }}</template>
+        <template slot-scope="scope">{{ scope.row.size | readFileSizeUnit }}</template>
       </el-table-column>
       <el-table-column
         prop="duration"
@@ -263,29 +179,14 @@
         align="center"
         v-if="form.type != 2"
       ></el-table-column>
-      <el-table-column
-        prop="uploadTime"
-        label="涓婁紶鏃堕棿"
-        show-overflow-tooltip
-        align="center"
-      >
-        <template slot-scope="scope">{{
-          scope.row.createTime | moment
-        }}</template>
+      <el-table-column prop="uploadTime" label="涓婁紶鏃堕棿" show-overflow-tooltip align="center">
+        <template slot-scope="scope">{{ scope.row.createTime | moment }}</template>
       </el-table-column>
-      <el-table-column
-        prop="status"
-        label="澶勭悊鐘舵��"
-        show-overflow-tooltip
-        align="center"
-      >
+      <el-table-column prop="status" label="澶勭悊鐘舵��" show-overflow-tooltip align="center">
         <template slot-scope="scope">
           <div
             class="lowHash"
-            v-if="
-              !PollData.stackChannelCount &&
-              (scope.row.status == '1' || scope.row.status == '2')
-            "
+            v-if="!PollData.stackChannelCount && (scope.row.status == '1' || scope.row.status == '2')"
           >
             鏁版嵁鏍堢畻鍔涗笉瓒�
           </div>
@@ -303,18 +204,10 @@
               :disabled="scope.row.status == 2"
               class="el-icon-top btn"
               @click="handleSortFile(1, scope.row.id)"
-              :style="
-                scope.row.id === fileList[0].id
-                  ? 'visibility:hidden'
-                  : 'visibility:initial'
-              "
+              :style="scope.row.id === fileList[0].id ? 'visibility:hidden' : 'visibility:initial'"
             ></el-button>
             <!-- 鏆傚仠 -->
-            <el-tooltip
-              content="鏆傚仠澶勭悊"
-              placement="bottom"
-              popper-class="atooltip"
-            >
+            <el-tooltip content="鏆傚仠澶勭悊" placement="bottom" popper-class="atooltip">
               <el-button
                 type="text"
                 :disabled="scope.row.status == 2"
@@ -325,11 +218,7 @@
             </el-tooltip>
 
             <!-- 寮�濮� -->
-            <el-tooltip
-              content="閲嶆柊寮�濮�"
-              placement="bottom"
-              popper-class="atooltip"
-            >
+            <el-tooltip content="閲嶆柊寮�濮�" placement="bottom" popper-class="atooltip">
               <el-button
                 type="text"
                 :disabled="scope.row.status == 2"
@@ -340,11 +229,7 @@
             </el-tooltip>
 
             <!-- 閲嶆柊澶勭悊 -->
-            <el-tooltip
-              content="閲嶆柊澶勭悊"
-              placement="bottom"
-              popper-class="atooltip"
-            >
+            <el-tooltip content="閲嶆柊澶勭悊" placement="bottom" popper-class="atooltip">
               <el-button
                 type="text"
                 :disabled="scope.row.status == 2"
@@ -357,25 +242,15 @@
             <!-- 鍏朵粬鎿嶄綔 -->
             <el-dropdown @command="dropdownClick">
               <!-- <span class="iconfont icongengduo1 btn"></span> -->
-              <el-button
-                type="text"
-                :disabled="scope.row.status == 2"
-                class="iconfont icongengduo1 btn"
-              ></el-button>
+              <el-button type="text" :disabled="scope.row.status == 2" class="iconfont icongengduo1 btn"></el-button>
               <el-dropdown-menu slot="dropdown">
-                <el-dropdown-item
-                  icon="el-icon-edit"
-                  :command="{ cb: handleFileRename, data: scope.row }"
+                <el-dropdown-item icon="el-icon-edit" :command="{ cb: handleFileRename, data: scope.row }"
                   >閲嶅懡鍚�</el-dropdown-item
                 >
-                <el-dropdown-item
-                  icon="el-icon-copy-document"
-                  :command="{ cb: handleFileMove, data: scope.row }"
+                <el-dropdown-item icon="el-icon-copy-document" :command="{ cb: handleFileMove, data: scope.row }"
                   >绉诲姩/澶嶅埗</el-dropdown-item
                 >
-                <el-dropdown-item
-                  icon="el-icon-delete"
-                  :command="{ cb: handleFileDelete, data: scope.row }"
+                <el-dropdown-item icon="el-icon-delete" :command="{ cb: handleFileDelete, data: scope.row }"
                   >鍒犻櫎</el-dropdown-item
                 >
               </el-dropdown-menu>
@@ -405,9 +280,7 @@
       <file-uploader
         :ref="`uploader_${stack.id}`"
         :key="stack.id"
-        v-show="
-          activeName === 'uploading' && stack.id == DataStackPool.selectedDir.id
-        "
+        v-show="activeName === 'uploading' && stack.id == DataStackPool.selectedDir.id"
         :sourceType="stack.type"
       />
     </template>
@@ -417,43 +290,25 @@
         鎮ㄧ殑娴忚鍣ㄤ笉鏀寔 video 鏍囩銆�
       </video> -->
 
-      <wasm-player
-        :rtspUrl="videoUrl"
-        :showArea="false"
-        v-if="videoUrl"
-      ></wasm-player>
+      <wasm-player :rtspUrl="videoUrl" :showArea="false" v-if="videoUrl"></wasm-player>
 
       <el-image v-if="imgUrl" :src="imgUrl"></el-image>
     </el-dialog>
 
     <el-dialog title="绉诲姩/澶嶅埗" :visible.sync="fileDialog" width="500px">
       <p style="margin: 0px 0px 20px 0px">璇烽�夋嫨鎮ㄦ兂澶嶅埗/绮樿创鍒扮殑 鏁版嵁鏍堬細</p>
-      <span
-        class="iconfont iconwenjian"
-        style="color: #3d68e1; margin-right: 5px"
-      ></span>
+      <span class="iconfont iconwenjian" style="color: #3d68e1; margin-right: 5px"></span>
       <el-select v-model="targetDir" placeholder="璇烽�夋嫨鐩爣鏂囦欢澶�" size="mini">
-        <el-option
-          v-for="item in dirOptions"
-          :key="item.id"
-          :label="item.name"
-          :value="item.id"
-        >
+        <el-option v-for="item in dirOptions" :key="item.id" :label="item.name" :value="item.id">
           <span class="iconfont iconwenjian"></span>
           <span style="margin-left: 10px">{{ item.name }}</span>
         </el-option>
       </el-select>
 
       <div style="margin-top: 20px">
-        <el-button type="primary" size="mini" @click="cellFileCopy"
-          >澶嶅埗</el-button
-        >
-        <el-button type="primary" size="mini" @click="cellFileMove"
-          >绉诲姩</el-button
-        >
-        <el-button type="info" size="mini" @click="fileDialog = false"
-          >鍙栨秷</el-button
-        >
+        <el-button type="primary" size="mini" @click="cellFileCopy">澶嶅埗</el-button>
+        <el-button type="primary" size="mini" @click="cellFileMove">绉诲姩</el-button>
+        <el-button type="info" size="mini" @click="fileDialog = false">鍙栨秷</el-button>
       </div>
     </el-dialog>
   </div>
@@ -470,14 +325,14 @@
   findAllFileByStackId,
   renameFile,
   moveFile,
-  copyFile,
-} from "@/api/localVedio";
+  copyFile
+} from "@/api/localVedio"
 
-import InfoCard from "./infoCard";
-import eChartsBar from "@/components/subComponents/eChartsBar";
-import FileUploader from "@/components/subComponents/FileUpload";
+import InfoCard from "./infoCard"
+import eChartsBar from "@/components/subComponents/eChartsBar"
+import FileUploader from "@/components/subComponents/FileUpload"
 
-import WasmPlayer from "@/components/wasmPlayer";
+import WasmPlayer from "@/components/wasmPlayer"
 
 export default {
   name: "DataStackInfo",
@@ -485,15 +340,15 @@
     InfoCard,
     eChartsBar,
     FileUploader,
-    WasmPlayer,
+    WasmPlayer
   },
   props: {
     cameraList: {
       default: () => {
-        return [];
+        return []
       },
-      type: Array,
-    },
+      type: Array
+    }
   },
   filters: {
     statusFormat(value) {
@@ -503,58 +358,48 @@
         0: "鏆傚仠澶勭悊",
         1: "绛夊緟澶勭悊",
         2: "澶勭悊涓�",
-        9: "澶勭悊瀹屾垚",
-      };
-      return statusCode[value];
+        9: "澶勭悊瀹屾垚"
+      }
+      return statusCode[value]
     },
     readFileSizeUnit(value) {
-      let UNITS = [
-        " B",
-        " KB",
-        " MB",
-        " GB",
-        " TB",
-        " PB",
-        " EB",
-        " ZB",
-        " YB",
-      ];
-      let format = function (value, power) {
-        return (value / Math.pow(1024, power)).toFixed(2) + UNITS[power];
-      };
+      let UNITS = [" B", " KB", " MB", " GB", " TB", " PB", " EB", " ZB", " YB"]
+      let format = function(value, power) {
+        return (value / Math.pow(1024, power)).toFixed(2) + UNITS[power]
+      }
 
-      value = parseFloat(value, 10);
+      value = parseFloat(value, 10)
       for (var i = 0; i < UNITS.length; i++) {
         if (value < Math.pow(1024, i)) {
           if (UNITS[i - 1]) {
-            return format(value, i - 1);
+            return format(value, i - 1)
           }
-          return value + UNITS[i];
+          return value + UNITS[i]
         }
       }
-      return format(value, i - 1);
-    },
+      return format(value, i - 1)
+    }
   },
   computed: {
     snapshotClass() {
-      let classs = ["snapshot"];
+      let classs = ["snapshot"]
       if (this.form.type === 1) {
-        classs.push("snapshot-video");
+        classs.push("snapshot-video")
       } else if (this.form.type === 2) {
-        classs.push("snapshot-image");
+        classs.push("snapshot-image")
       } else if (this.form.type === 3) {
-        classs.push("snapshot-audio");
+        classs.push("snapshot-audio")
       } else {
-        classs.push("snapshot-files");
+        classs.push("snapshot-files")
       }
 
-      return classs;
+      return classs
     },
     dirOptions() {
       return this.DataStackPool.dirs.filter((dir) => {
-        return dir.id !== this.DataStackPool.selectedDir.id;
-      });
-    },
+        return dir.id !== this.DataStackPool.selectedDir.id
+      })
+    }
   },
   data() {
     return {
@@ -569,16 +414,14 @@
       searchInput: "",
       form: {
         id: "",
-        resolution: "",
+        resolution: ""
       },
       fileList: [],
       // 璁板綍娣诲姞鐘舵��
       isAdd: false,
       addParentId: "",
       rules: {
-        dirName: [
-          { required: true, message: "璁惧鍚嶇О涓嶈兘涓虹┖", trigger: "blur" },
-        ],
+        dirName: [{ required: true, message: "璁惧鍚嶇О涓嶈兘涓虹┖", trigger: "blur" }]
       },
       activeName: "uploaded",
       page: 1,
@@ -588,32 +431,31 @@
       editRowId: "",
       timer: 0,
       targetDir: "",
-      targetFile: "",
-    };
+      targetFile: ""
+    }
   },
   mounted() {
-    this.initFormData();
+    this.initFormData()
   },
   beforeDestroy() {
-    this.taskUid = 0;
+    this.taskUid = 0
   },
   methods: {
     checkResolution(val) {
-      this.form.resolution_width = Number(val.split("*")[0]);
-      this.form.resolution_height = Number(val.split("*")[1]);
+      this.form.resolution_width = Number(val.split("*")[0])
+      this.form.resolution_height = Number(val.split("*")[1])
     },
     preview(row) {
-      this.previewDialog = true;
+      this.previewDialog = true
       if (row.type === 1) {
-        this.videoUrl = "/files/" + row.identifier + ".mp4";
+        this.videoUrl = "/files/" + row.identifier + ".mp4"
 
         // 涓烘湐榛勪娇鐢ㄦ暟鎹爤瀹氬埗, 娌℃湁MD5
         if (row.identifier == "") {
-          this.videoUrl = row.path.replace("/opt/vasystem", "");
+          this.videoUrl = row.path.replace("/opt/vasystem", "")
         }
       } else if (row.type === 2) {
-        this.imgUrl =
-          "/files/" + row.path.substr(row.path.lastIndexOf("/") + 1);
+        this.imgUrl = "/files/" + row.path.substr(row.path.lastIndexOf("/") + 1)
       }
     },
     // 娓呯┖杈撳叆妗�
@@ -626,58 +468,64 @@
         sort: 0,
         status: 0,
         type: 1,
-      };
+        resolutions: [
+          {
+            height: 0,
+            width: 0
+          }
+        ]
+      }
     },
     // 娣诲姞璁惧
     addDir(node) {
-      this.isAdd = true;
-      this.isDisabled = false;
-      this.initFormData();
-      this.DataStackPool.clean();
-      this.fileList = [];
+      this.isAdd = true
+      this.isDisabled = false
+      this.initFormData()
+      this.DataStackPool.clean()
+      this.fileList = []
     },
     // 鏁版嵁鏍堟枃浠跺す閫変腑鏃讹紝鐢辩埗缁勪欢瑙﹀彂
     selectDir(node) {
       if (node.id === "") {
-        return;
+        return
       }
 
-      this.isDisabled = false;
-      this.isAdd = false;
-      this.videoItem = null;
-      this.$refs.addForm.resetFields();
+      this.isDisabled = false
+      this.isAdd = false
+      this.videoItem = null
+      this.$refs.addForm.resetFields()
       // this.initFormData();
       // this.$refs.addForm.clearValidate();
-      this.form = { ...node };
-      this.form.resolution = `${node.resolution_width}*${node.resolution_height}`;
-      delete this.form.createTime;
-      delete this.form.updateTime;
-      delete this.form.status;
+      this.form = { ...node }
+      this.form.resolution = `${node.resolution_width}*${node.resolution_height}`
+      delete this.form.createTime
+      delete this.form.updateTime
+      delete this.form.status
 
-      this.fileList = [];
-      this.searchInput = "";
-      this.page = 1;
-      this.size = 10;
-      this.total = 0;
-      this.multipleSelection = []; // 娓呯┖閫変腑鐘舵��
-      this.initFetchListTask();
-      this.videoUrl = "";
-      this.imgUrl = "";
+      this.fileList = []
+      this.searchInput = ""
+      this.page = 1
+      this.size = 10
+      this.total = 0
+      this.multipleSelection = [] // 娓呯┖閫変腑鐘舵��
+      this.initFetchListTask()
+      this.videoUrl = ""
+      this.imgUrl = ""
     },
     initFetchListTask() {
-      const uid = Math.round(Math.random() * 1000);
-      this.taskUid = uid;
-      this.timingtask(uid);
+      const uid = Math.round(Math.random() * 1000)
+      this.taskUid = uid
+      this.timingtask(uid)
     },
     timingtask(uid) {
       if (uid !== this.taskUid || this.form.id === "") {
-        return;
+        return
       }
-      this.fetchFileList();
-      let _this = this;
+      this.fetchFileList()
+      let _this = this
       this.timer = setTimeout(() => {
-        _this.timingtask(uid);
-      }, 2 * 1000);
+        _this.timingtask(uid)
+      }, 2 * 1000)
     },
     fetchFileList() {
       findAllFileByStackId({
@@ -685,26 +533,26 @@
         stackId: this.form.id,
         page: this.page,
         size: this.size,
-        type: 0,
+        type: 0
       })
         .then((rsp) => {
           if (rsp && rsp.success && rsp.data.total >= 0) {
-            this.fileList = rsp.data.dataList;
-            this.total = rsp.data.total;
+            this.fileList = rsp.data.dataList
+            this.total = rsp.data.total
             // 瀹氭椂鍒锋柊浼氭竻绌洪�変腑鐘舵�侊紝鍦ㄨ繖閲屾仮澶�
             this.fileList.forEach((row) => {
               //this.polygonDatas.push({snapshot_url:row.snapshot_url})
               if (this.multipleSelection.indexOf(row.id) !== -1) {
                 this.$nextTick(() => {
-                  this.$refs.multipleTable.toggleRowSelection(row);
-                });
+                  this.$refs.multipleTable.toggleRowSelection(row)
+                })
               }
-            });
+            })
           }
         })
         .catch((err) => {
-          console.log(err);
-        });
+          console.log(err)
+        })
     },
 
     // 淇濆瓨
@@ -713,9 +561,9 @@
         if (this.form.name.indexOf("/") >= 0) {
           this.$notify({
             type: "error",
-            message: "淇濆瓨澶辫触,鏁版嵁鏍堝悕绉颁笉鑳藉寘鍚�'/'锛�",
-          });
-          return;
+            message: "淇濆瓨澶辫触,鏁版嵁鏍堝悕绉颁笉鑳藉寘鍚�'/'锛�"
+          })
+          return
         }
       }
       this.$refs[formName].validate(async (valid) => {
@@ -724,229 +572,227 @@
             if (rsp.success) {
               this.$notify({
                 type: "success",
-                message: "鏁版嵁鏍堜俊鎭繚瀛樻垚鍔燂紒",
-              });
-              this.DataStackPool.fetchFiles();
+                message: "鏁版嵁鏍堜俊鎭繚瀛樻垚鍔燂紒"
+              })
+              this.DataStackPool.fetchFiles()
             } else {
               this.$notify({
                 type: "error",
-                message: "鏁版嵁鏍堜俊鎭繚瀛樺け璐ワ紒",
-              });
+                message: "鏁版嵁鏍堜俊鎭繚瀛樺け璐ワ紒"
+              })
             }
-          });
+          })
         }
-      });
+      })
     },
     // 鍒犻櫎鎽勫儚鏈�
     deleteDir() {
       this.$confirm("鏄惁鍒犻櫎姝ゆ枃浠跺す锛�", {
         center: true,
         cancelButtonClass: "comfirm-class-cancle",
-        confirmButtonClass: "comfirm-class-sure",
+        confirmButtonClass: "comfirm-class-sure"
       }).then(() => {
         delDir(this.form.id)
           .then((res) => {
             if (res.success) {
-              this.initFormData();
+              this.initFormData()
               this.$notify({
                 type: "success",
-                message: "鍒犻櫎鎴愬姛锛�",
-              });
-              this.DataStackPool.fetchFiles();
-              this.DataStackPool.selectedDir = {};
+                message: "鍒犻櫎鎴愬姛锛�"
+              })
+              this.DataStackPool.fetchFiles()
+              this.DataStackPool.selectedDir = {}
+              // 鍒犻櫎鍚庢仮澶嶆湭閫変腑鐘舵��
+              this.addDir()
+              this.isAdd = false
+              this.isDisabled = true
             } else {
               this.$notify({
                 type: "error",
-                message: "鍒犻櫎澶辫触锛�",
-              });
+                message: "鍒犻櫎澶辫触锛�"
+              })
             }
           })
           .catch((err) => {
             this.$notify({
               type: "error",
-              message: "鍒犻櫎澶辫触锛�",
-            });
-          });
-      });
+              message: "鍒犻櫎澶辫触锛�"
+            })
+          })
+      })
     },
     handleTabClick(tab, event) {
-      console.log(tab, event);
+      console.log(tab, event)
     },
     handleSelect(val) {
       this.multipleSelection = val.map((row) => {
-        return row.id;
-      });
+        return row.id
+      })
     },
     handelSearchInputChange(val) {
-      this.multipleSelection = [];
+      this.multipleSelection = []
     },
     handleUpload() {
-      console.log(this.DataStackPool.selectedDir.id);
-      console.log(
-        this.$refs[
-          `uploader_${this.DataStackPool.selectedDir.id}`
-        ][0].$refs.button.$refs.btn.click()
-      );
+      console.log(this.DataStackPool.selectedDir.id)
+      console.log(this.$refs[`uploader_${this.DataStackPool.selectedDir.id}`][0].$refs.button.$refs.btn.click())
     },
     handleRefrashFileList(val) {
-      this.page = val;
-      this.multipleSelection = [];
-      this.fetchFileList();
+      this.page = val
+      this.multipleSelection = []
+      this.fetchFileList()
     },
     handleSizeChange(val) {
-      this.size = val;
-      this.multipleSelection = [];
-      this.fetchFileList();
+      this.size = val
+      this.multipleSelection = []
+      this.fetchFileList()
     },
     async handleSortFile(direct, id) {
       let res = await sortFile({
         id: id,
-        direct: direct,
-      });
+        direct: direct
+      })
       if (res && res.success) {
-        this.fetchFileList();
+        this.fetchFileList()
         //鏇存柊鐙珛鍦烘櫙鏁版嵁鏍堟枃浠�
-        console.log(this.$root.$children[0].$children[1].$refs["sepRule"]);
-        this.$root.$children[0].$children[1].$refs["sepRule"].getStackFiles();
+        console.log(this.$root.$children[0].$children[1].$refs["sepRule"])
+        this.$root.$children[0].$children[1].$refs["sepRule"].getStackFiles()
         this.$notify({
           type: "success",
-          message: "鏂囦欢鎺掑簭鎴愬姛锛�",
-        });
+          message: "鏂囦欢鎺掑簭鎴愬姛锛�"
+        })
       }
     },
     async handleFileStatus(row, status, multi = false) {
-      let ids = this.multipleSelection;
+      let ids = this.multipleSelection
       if (!multi) {
-        ids = [row.id];
+        ids = [row.id]
       }
       if (!ids.length) {
         this.$notify({
           type: "error",
-          message: "鏈�変腑鏂囦欢",
-        });
-        return;
+          message: "鏈�変腑鏂囦欢"
+        })
+        return
       }
       try {
         let res = await updateStatus({
           ids: ids,
-          status: status,
-        });
+          status: status
+        })
         if (res && res.success) {
-          this.fetchFileList();
+          this.fetchFileList()
           this.$notify({
             type: "success",
-            message: "鍒囨崲鏂囦欢澶勭悊鐘舵�佹垚鍔�",
-          });
+            message: "鍒囨崲鏂囦欢澶勭悊鐘舵�佹垚鍔�"
+          })
         }
       } catch {
-        console.log("err");
+        console.log("err")
       }
     },
     dropdownClick(cmd) {
-      cmd.cb(cmd.data);
+      cmd.cb(cmd.data)
     },
     handleFileDelete(rows, multi = false) {
-      let _this = this;
-      let ids = this.multipleSelection;
+      let _this = this
+      let ids = this.multipleSelection
       if (!multi) {
-        ids = [rows.id];
+        ids = [rows.id]
       }
       if (!ids.length) {
         this.$notify({
           type: "error",
-          message: "鏈�変腑鏂囦欢",
-        });
-        return;
+          message: "鏈�変腑鏂囦欢"
+        })
+        return
       }
       this.$confirm("鎻愮ず锛氱‘瀹氬垹闄よ鏂囦欢鍚楋紵", {
         center: true,
         cancelButtonClass: "comfirm-class-cancle",
-        confirmButtonClass: "comfirm-class-sure",
+        confirmButtonClass: "comfirm-class-sure"
       })
         .then(() => {
           deleteLocalFile({ ids: ids }).then((rsp) => {
             this.$notify({
               type: "error",
-              message: "鏂囦欢宸插垹闄�",
-            });
-          });
+              message: "鏂囦欢宸插垹闄�"
+            })
+          })
         })
-        .catch(() => {});
+        .catch(() => {})
     },
     handleFileMove(row) {
-      this.targetDir = "";
-      this.targetFile = row.id;
-      this.fileDialog = true;
+      this.targetDir = ""
+      this.targetFile = row.id
+      this.fileDialog = true
     },
     handleFileRename(row) {
-      this.editRowId = row.id;
-      clearTimeout(this.timer);
-      this.timer = null;
+      this.editRowId = row.id
+      clearTimeout(this.timer)
+      this.timer = null
     },
     cellRenameFile(row) {
-      this.editRowId = "";
+      this.editRowId = ""
       renameFile({ id: row.id, name: row.name })
         .then((rsp) => {
           if (rsp && rsp.success) {
             this.$notify({
               type: "success",
-              message: "鏂囦欢閲嶅懡鍚嶆垚鍔�",
-            });
+              message: "鏂囦欢閲嶅懡鍚嶆垚鍔�"
+            })
           } else {
             this.$notify({
               type: "error",
-              message: "鏂囦欢閲嶅懡鍚嶅け璐�",
-            });
+              message: "鏂囦欢閲嶅懡鍚嶅け璐�"
+            })
           }
           if (!this.timer) {
-            this.initFetchListTask();
+            this.initFetchListTask()
           }
         })
         .catch(() => {
           if (!this.timer) {
-            this.initFetchListTask();
+            this.initFetchListTask()
           }
-        });
+        })
     },
     isSelectable(row, rowIndex) {
-      return row.status !== 2;
+      return row.status !== 2
     },
     cellFileCopy() {
-      copyFile({ id: this.targetFile, stackIds: [this.targetDir] }).then(
-        (rsp) => {
-          if (rsp && rsp.success) {
-            this.$notify({
-              type: "success",
-              message: "澶嶅埗鎴愬姛",
-            });
-            this.fileDialog = false;
-          } else {
-            this.$notify({
-              type: "error",
-              message: "澶嶅埗澶辫触",
-            });
-          }
+      copyFile({ id: this.targetFile, stackIds: [this.targetDir] }).then((rsp) => {
+        if (rsp && rsp.success) {
+          this.$notify({
+            type: "success",
+            message: "澶嶅埗鎴愬姛"
+          })
+          this.fileDialog = false
+        } else {
+          this.$notify({
+            type: "error",
+            message: "澶嶅埗澶辫触"
+          })
         }
-      );
+      })
     },
     cellFileMove() {
       moveFile({ id: this.targetFile, stackId: this.targetDir }).then((rsp) => {
         if (rsp && rsp.success) {
           this.$notify({
             type: "success",
-            message: "绉诲姩鎴愬姛",
-          });
-          this.fileDialog = false;
+            message: "绉诲姩鎴愬姛"
+          })
+          this.fileDialog = false
         } else {
           this.$notify({
             type: "error",
-            message: "绉诲姩澶辫触",
-          });
+            message: "绉诲姩澶辫触"
+          })
         }
-      });
-    },
-  },
-};
+      })
+    }
+  }
+}
 </script>
 
 <style lang="scss">
@@ -1068,4 +914,4 @@
     height: 230px;
   }
 }
-</style>
\ No newline at end of file
+</style>

--
Gitblit v1.8.0