From d5ce0b7e6d9ff8db84c03af0bef143024dd246ca Mon Sep 17 00:00:00 2001
From: zhangzengfei <zhangzengfei@iotlink.com>
Date: 星期二, 03 十一月 2020 17:24:35 +0800
Subject: [PATCH] 调整应用中心定时器
---
src/pages/cameraAccess/components/DataStackInfo.vue | 158 +++++++++++++++++++++++++++++++---------------------
1 files changed, 93 insertions(+), 65 deletions(-)
diff --git a/src/pages/cameraAccess/components/DataStackInfo.vue b/src/pages/cameraAccess/components/DataStackInfo.vue
index 4bd21d6..328e263 100644
--- a/src/pages/cameraAccess/components/DataStackInfo.vue
+++ b/src/pages/cameraAccess/components/DataStackInfo.vue
@@ -50,7 +50,7 @@
<li>
<info-card
style="width: 100%;min-width: 440px"
- :realtime="PollData.RealTimeSum"
+ :realtime="PollData.RealTimeValidCount"
:polling="PollData.PollValidCount"
:dataStack="PollData.stackChannelCount"
></info-card>
@@ -105,10 +105,20 @@
</el-tooltip>
<!-- 鏂囦欢涓婁紶 -->
- <el-button type="primary" size="small" :disabled="!DataStackPool.selectedDir.id" @click="handleUpload">
- 涓婁紶
- <i class="el-icon-upload el-icon--right"></i>
- </el-button>
+ <template v-for="stack in DataStackPool.dirs">
+ <el-button
+ :class="`uploader_${stack.id}`"
+ :key="stack.id"
+ type="primary"
+ size="small"
+ v-show="stack.id == DataStackPool.selectedDir.id"
+ :disabled="!DataStackPool.selectedDir.id"
+ @click="handleUpload"
+ >
+ 涓婁紶
+ <i class="el-icon-upload el-icon--right"></i>
+ </el-button>
+ </template>
</div>
</div>
@@ -118,13 +128,12 @@
v-show="activeName === 'uploaded' "
:data="fileList"
tooltip-effect="dark"
-
border
:header-cell-style="{background:'#f8f8f8', color:'#222222', textAlign:'center'}"
@select="handleSelect"
@select-all="handleSelect"
>
- <el-table-column type="selection" width="50" 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">
@@ -139,7 +148,7 @@
</el-image>
<el-image
v-if="row.type==2"
- style="width: 30x; height: 30px"
+ 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)}`]"
@@ -163,7 +172,7 @@
>{{row.name}}</a>
</template>
</el-table-column>
- <el-table-column prop="fileSize" label="澶у皬" width="120">
+ <el-table-column prop="fileSize" label="澶у皬" >
<template slot-scope="scope">{{scope.row.size | readFileSizeUnit}}</template>
</el-table-column>
<el-table-column prop="duration" label="鏃堕暱" show-overflow-tooltip align="center"></el-table-column>
@@ -248,10 +257,11 @@
<!-- 鍒嗛〉 -->
<div class="pagination">
<el-pagination
+ v-show="activeName=='uploaded'"
@size-change="handleSizeChange"
@current-change="handleRefrashFileList"
:current-page="page"
- :page-sizes="[5, 10, 15, 20]"
+ :page-sizes="[10, 20, 50, 100]"
:page-size="size"
style="position:absolute;right:10px;bottom:5px"
:total="total"
@@ -259,9 +269,11 @@
></el-pagination>
</div>
- <!-- 鏂囦欢涓婁紶缁勪欢 -->
- <file-uploader ref="uploader" v-show="activeName === 'uploading'" />
-
+ <template v-for="stack in DataStackPool.dirs">
+ <!-- 鏂囦欢涓婁紶缁勪欢 -->
+ <file-uploader :ref="`uploader_${stack.id}`" :key="stack.id" v-show="activeName === 'uploading' && stack.id == DataStackPool.selectedDir.id" :attrs="attrs" />
+ <!-- <file-uploader ref="uploader" v-show="activeName === 'uploading'" /> -->
+ </template>
<!-- 鏂囦欢棰勮 -->
<el-dialog title="鏌ョ湅鏂囦欢" :visible.sync="previewDialog" width="500px">
<video v-if="videoUrl" :src="videoUrl" controls style="margin-top: 12px;">鎮ㄧ殑娴忚鍣ㄤ笉鏀寔 video 鏍囩銆�</video>
@@ -323,7 +335,7 @@
}
},
filters: {
- statusFormat(value) {
+ statusFormat (value) {
let statusCode = {
"-1": "宸插垹闄�",
"0": "鏆傚仠澶勭悊",
@@ -333,7 +345,7 @@
}
return statusCode[value];
},
- readFileSizeUnit(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];
@@ -352,7 +364,7 @@
}
},
computed: {
- snapshotClass() {
+ snapshotClass () {
let classs = ["snapshot"];
if (this.form.type === 1) {
classs.push("snapshot-video")
@@ -366,13 +378,13 @@
return classs;
},
- dirOptions() {
+ dirOptions () {
return this.DataStackPool.dirs.filter(dir => {
return dir.id !== this.DataStackPool.selectedDir.id
})
}
},
- data() {
+ data () {
return {
videoUrl: "",
imgUrl: "",
@@ -403,39 +415,54 @@
editRowId: "",
timer: 0,
targetDir: "",
- targetFile: ""
+ targetFile: "",
+ attrs: {
+ accept: ""
+ }
};
},
- mounted() {
+ mounted () {
this.initFormData();
console.log(this.PollData.barCharts)
+
},
- beforeDestroy() {
+ beforeDestroy () {
this.taskUid = 0;
},
- watch:{
- 'fileList.length':{
- handler(n,o){
+ watch: {
+ 'fileList.length': {
+ handler (n, o) {
//鏁版嵁鏍堟枃浠舵暟閲忓彉鏇�
//鏇存柊鐙珛鍦烘櫙鏁版嵁鏍堟枃浠�
- console.log(this.$root.$children[0].$children[1].$refs['sepRule'])
this.$root.$children[0].$children[1].$refs['sepRule'].getStackFiles();
+ }
+ },
+ 'form.type': {
+ handler (n, o) {
+ console.log(n, o)
+ if (n == 1) {
+ //浠呮敮鎸佷笂浼犺棰�
+ this.$set(this.attrs, 'accept', ".mp4");
+ } else if (n == 2) {
+ //鍥剧墖
+ this.$set(this.attrs, 'accept', ".jpg,.jpeg,.png");
+ }
}
}
},
methods: {
- preview(row) {
+ preview (row) {
this.previewDialog = true;
if (row.type === 1) {
-
+
this.videoUrl = "/files/" + row.identifier + ".mp4"
- }else if(row.type===2){
-
- this.imgUrl = "/files/" + row.path.substr(row.path.lastIndexOf('/')+1)
+ } else if (row.type === 2) {
+
+ this.imgUrl = "/files/" + row.path.substr(row.path.lastIndexOf('/') + 1)
}
},
// 娓呯┖杈撳叆妗�
- initFormData() {
+ initFormData () {
this.form = {
enable: false,
id: "",
@@ -447,15 +474,15 @@
};
},
// 娣诲姞璁惧
- addDir(node) {
+ addDir (node) {
this.isAdd = true;
this.isDisabled = false;
this.initFormData();
this.DataStackPool.clean();
this.fileList = [];
},
- selectDir(node) {
-
+ selectDir (node) {
+
if (node.id === "") {
return
}
@@ -481,12 +508,12 @@
this.videoUrl = '';
this.imgUrl = '';
},
- initFetchListTask() {
+ initFetchListTask () {
const uid = Math.round(Math.random() * 1000);
this.taskUid = uid;
this.timingtask(uid);
},
- timingtask(uid) {
+ timingtask (uid) {
if (uid !== this.taskUid || this.form.id === "") {
return;
}
@@ -498,11 +525,11 @@
_this.timingtask(uid);
}, 2 * 1000);
},
- fetchFileList() {
+ fetchFileList () {
findAllFileByStackId({ name: this.searchInput, stackId: this.form.id, page: this.page, size: this.size, type: 0 }).then(rsp => {
- if (rsp && rsp.success && rsp.data.total > 0) {
+ if (rsp && rsp.success && rsp.data.total >= 0) {
this.fileList = rsp.data.dataList;
-
+
this.total = rsp.data.total;
// 瀹氭椂鍒锋柊浼氭竻绌洪�変腑鐘舵�侊紝鍦ㄨ繖閲屾仮澶�
@@ -522,7 +549,7 @@
},
// 淇濆瓨
- onSubmit(formName) {
+ onSubmit (formName) {
this.$refs[formName].validate(async valid => {
if (valid) {
saveDir(this.form).then(rsp => {
@@ -543,7 +570,7 @@
});
},
// 鍒犻櫎鎽勫儚鏈�
- deleteDir() {
+ deleteDir () {
this.$confirm("鏄惁鍒犻櫎姝ゆ枃浠跺す锛�", {
center: true,
cancelButtonClass: "comfirm-class-cancle",
@@ -572,32 +599,33 @@
});
});
},
- handleTabClick(tab, event) {
+ handleTabClick (tab, event) {
console.log(tab, event);
},
- handleSelect(val) {
+ handleSelect (val) {
this.multipleSelection = val.map(row => {
return row.id;
});
},
- handelSearchInputChange(val) {
+ handelSearchInputChange (val) {
this.multipleSelection = [];
},
- handleUpload() {
+ handleUpload () {
console.log(this.DataStackPool.selectedDir.id)
- console.log(this.$refs.uploader.$refs.button.$refs.btn.click())
+ debugger
+ console.log(this.$refs[`uploader_${this.DataStackPool.selectedDir.id}`][0].$refs.button.$refs.btn.click())
},
- handleRefrashFileList(val) {
+ handleRefrashFileList (val) {
this.page = val;
this.multipleSelection = [];
this.fetchFileList();
},
- handleSizeChange(val) {
+ handleSizeChange (val) {
this.size = val;
this.multipleSelection = [];
this.fetchFileList();
},
- async handleSortFile(direct, id) {
+ async handleSortFile (direct, id) {
let res = await sortFile({
id: id,
direct: direct
@@ -613,7 +641,7 @@
})
}
},
- async handleFileStatus(row, status, multi = false) {
+ async handleFileStatus (row, status, multi = false) {
let ids = this.multipleSelection;
if (!multi) {
ids = [row.id];
@@ -641,10 +669,10 @@
console.log("err")
}
},
- dropdownClick(cmd) {
+ dropdownClick (cmd) {
cmd.cb(cmd.data);
},
- handleFileDelete(rows, multi = false) {
+ handleFileDelete (rows, multi = false) {
let _this = this;
let ids = this.multipleSelection;
if (!multi) {
@@ -668,20 +696,20 @@
message: "鏂囦欢宸插垹闄�"
})
});
-
+
}).catch(() => { })
},
- handleFileMove(row) {
+ handleFileMove (row) {
this.targetDir = "";
this.targetFile = row.id;
this.fileDialog = true;
},
- handleFileRename(row) {
+ handleFileRename (row) {
this.editRowId = row.id;
clearTimeout(this.timer);
this.timer = null;
},
- cellRenameFile(row) {
+ cellRenameFile (row) {
this.editRowId = "";
renameFile({ id: row.id, name: row.name }).then(rsp => {
if (rsp && rsp.success) {
@@ -704,10 +732,10 @@
}
})
},
- isSelectable(row, rowIndex) {
+ isSelectable (row, rowIndex) {
return row.status !== 2
},
- cellFileCopy() {
+ cellFileCopy () {
copyFile({ id: this.targetFile, stackIds: [this.targetDir] }).then(rsp => {
if (rsp && rsp.success) {
this.$notify({
@@ -723,7 +751,7 @@
}
})
},
- cellFileMove() {
+ cellFileMove () {
moveFile({ id: this.targetFile, stackId: this.targetDir }).then(rsp => {
if (rsp && rsp.success) {
this.$notify({
@@ -756,9 +784,9 @@
.el-form-item__label {
text-align: left;
}
- .el-button--primary.is-disabled{
+ .el-button--primary.is-disabled {
background-color: #9eb4f0 !important;
- border-color: #9eb4f0 !important;
+ border-color: #9eb4f0 !important;
}
.label {
color: #606266;
@@ -843,19 +871,19 @@
vertical-align: middle;
}
.snapshot-video {
- background: url("/images/cameraAccess/video.png");
+ background: url('/images/cameraAccess/video.png');
background-repeat: round;
}
.snapshot-image {
- background: url("/images/cameraAccess/image.png");
+ background: url('/images/cameraAccess/image.png');
background-repeat: round;
}
.snapshot-audio {
- background: url("/images/cameraAccess/audio.png");
+ background: url('/images/cameraAccess/audio.png');
background-repeat: round;
}
.snapshot-files {
- background: url("/images/cameraAccess/files.png");
+ background: url('/images/cameraAccess/files.png');
background-repeat: round;
}
}
--
Gitblit v1.8.0