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