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