From e1467b19874294a9a36dcfb06083081f9d4b504d Mon Sep 17 00:00:00 2001 From: hanbaoshan <hanbaoshan@aiotlink.com> Date: 星期四, 05 十一月 2020 11:32:16 +0800 Subject: [PATCH] 上传组件回复至三方原始包,数据栈根据文件夹动态传入资源类型;联动刷新底图修复 --- src/pages/cameraAccess/components/LinkageRule.vue | 9 +++ src/components/canvas/index.vue | 2 src/components/subComponents/FileUpload/uploader.vue | 80 +++++++------------------- src/components/subComponents/FileUpload/index.vue | 20 +----- src/components/subComponents/FileUpload/btn.vue | 27 ++++----- src/pages/cameraAccess/components/DataStackInfo.vue | 25 +------- 6 files changed, 50 insertions(+), 113 deletions(-) diff --git a/src/components/canvas/index.vue b/src/components/canvas/index.vue index cc30349..aa5f89f 100644 --- a/src/components/canvas/index.vue +++ b/src/components/canvas/index.vue @@ -169,7 +169,7 @@ .then(res => { if (res.data.cameraId === this.currentCameraId) { this.baseImg = res.data.snapshotUrl; - this.$emit('refresh', res.data.snapshotUrl) + this.$emit('refresh', res.data.snapshotUrl,this.currentCameraId) this.$forceUpdate() this.$notify({ type: "success", diff --git a/src/components/subComponents/FileUpload/btn.vue b/src/components/subComponents/FileUpload/btn.vue index 750ad79..9eccf99 100644 --- a/src/components/subComponents/FileUpload/btn.vue +++ b/src/components/subComponents/FileUpload/btn.vue @@ -27,25 +27,22 @@ return {} } }, - - }, - watch: { - attrs: { - handler(n, o) { - //this.$nextTick(() => { - if(n){ - this.uploader.uploader.assignBrowse(this.$refs.btn, this.directory, this.single, n) - } - - //}) - }, - deep: true + sourceType: { + type: Number, } }, + mounted() { this.$nextTick(() => { - console.log('attrs', this.attrs) - this.uploader.uploader.assignBrowse(this.$refs.btn, this.directory, this.single, this.attrs) + console.log('btn attrs', this.attrs) + console.log("btn sourceType", this.sourceType) + let props = {accept:''}; + if(this.sourceType == 1){ + props.accept = '.mp4'; + }else if(this.sourceType == 2){ + props.accept = '.jpg,.jpeg,.png'; + } + this.uploader.uploader.assignBrowse(this.$refs.btn, this.directory, this.single, props) }) } } diff --git a/src/components/subComponents/FileUpload/index.vue b/src/components/subComponents/FileUpload/index.vue index 35d8293..796d99f 100644 --- a/src/components/subComponents/FileUpload/index.vue +++ b/src/components/subComponents/FileUpload/index.vue @@ -5,7 +5,6 @@ ref="uploader" :options="options" :file-status-text="statusText" - :attrs="attrs" class="uploader-single" @file-added="onFileAdded" @complete="onComplete" @@ -24,7 +23,6 @@ <uploader v-else ref="uploader" - :attrs="attrs" :options="options" :file-status-text="statusText" class="uploader-example" @@ -33,7 +31,7 @@ @complete="onComplete" @close="closeHandle" > - <uploader-btn ref="button" :attrs="attrs"> + <uploader-btn ref="button" :sourceType="sourceType"> <i class="el-icon-upload2" style="font-size:18px; color:#0088ff"></i> 涓婁紶 </uploader-btn> @@ -55,9 +53,8 @@ UploaderList }, props: { - acptTypes: { - type: String, - default: '' + sourceType: { + type: Number, }, tip: { type: Boolean, @@ -162,15 +159,6 @@ } }, computeMD5Success(md5, file) { - // 灏嗚嚜瀹氫箟鍙傛暟鐩存帴鍔犺浇uploader瀹炰緥鐨刼pts涓� - // if (this.$route.path.indexOf("VideoManage") >= 0) { - // Object.assign(this.uploader.opts, { - // query: { - // stackId: this.DataStackPool.selectedDir.id - // // ...this.params, - // } - // }) - // } //灏嗚嚜瀹氫箟鍙傛暟鐩存帴鍔犺浇uploader瀹炰緥鐨刼pts涓� if (location.href.indexOf("dataStack") >= 0) { Object.assign(this.uploader.opts, { @@ -196,7 +184,7 @@ }, mounted() { this.$nextTick(() => { - console.log(this.acptTypes) + console.log(this.sourceType) window.uploader = this.$refs.uploader.uploader }) } diff --git a/src/components/subComponents/FileUpload/uploader.vue b/src/components/subComponents/FileUpload/uploader.vue index fafa33e..6ada9f3 100644 --- a/src/components/subComponents/FileUpload/uploader.vue +++ b/src/components/subComponents/FileUpload/uploader.vue @@ -14,9 +14,7 @@ </template> <script> -//import Uploader from 'simple-uploader.js' -//require('./common/uploader-simple') -import './common/uploader-simple' +import Uploader from 'simple-uploader.js' import { kebabCase } from './common/utils' import UploaderBtn from './btn.vue' import UploaderDrop from './drop.vue' @@ -34,19 +32,6 @@ return { uploader: this } - }, - watch:{ - attrs:{ - handler(n,o){ - console.log('uploader attrs update',n) - //this.$nextTick(()=>{ - this.unBindUploader(); - this.bindUploader(); - //}) - }, - deep: true - }, - }, props: { attrs: { @@ -134,54 +119,31 @@ }, closeHandle() { this.$emit("close") - }, - bindUploader(){ - console.log('new Uploader') - this.options.initialPaused = !this.autoStart - const uploader = new Uploader(this.options) - this.uploader = uploader - this.uploader.fileStatusText = this.fileStatusText - uploader.on('catchAll', this.allEvent) - uploader.on(FILE_ADDED_EVENT, this.fileAdded) - uploader.on(FILES_ADDED_EVENT, this.filesAdded) - uploader.on('fileRemoved', this.fileRemoved) - uploader.on('filesSubmitted', this.filesSubmitted) - }, - unBindUploader(){ - const uploader = this.uploader - uploader.off('catchAll', this.allEvent) - uploader.off(FILE_ADDED_EVENT, this.fileAdded) - uploader.off(FILES_ADDED_EVENT, this.filesAdded) - uploader.off('fileRemoved', this.fileRemoved) - uploader.off('filesSubmitted', this.filesSubmitted) - this.uploader = null } }, created() { - console.log('uploader attrs',this.attrs); - this.bindUploader(); - // this.options.initialPaused = !this.autoStart - // const uploader = new Uploader(this.options) - // this.uploader = uploader - // this.uploader.fileStatusText = this.fileStatusText - // uploader.on('catchAll', this.allEvent) - // uploader.on(FILE_ADDED_EVENT, this.fileAdded) - // uploader.on(FILES_ADDED_EVENT, this.filesAdded) - // uploader.on('fileRemoved', this.fileRemoved) - // uploader.on('filesSubmitted', this.filesSubmitted) + // console.log('uploader attrs',this.attrs); + // this.bindUploader(); + this.options.initialPaused = !this.autoStart + const uploader = new Uploader(this.options) + this.uploader = uploader + this.uploader.fileStatusText = this.fileStatusText + uploader.on('catchAll', this.allEvent) + uploader.on(FILE_ADDED_EVENT, this.fileAdded) + uploader.on(FILES_ADDED_EVENT, this.filesAdded) + uploader.on('fileRemoved', this.fileRemoved) + uploader.on('filesSubmitted', this.filesSubmitted) }, - mounted(){ - //this.bindUploader(); - }, + destroyed() { - this.unBindUploader(); - // const uploader = this.uploader - // uploader.off('catchAll', this.allEvent) - // uploader.off(FILE_ADDED_EVENT, this.fileAdded) - // uploader.off(FILES_ADDED_EVENT, this.filesAdded) - // uploader.off('fileRemoved', this.fileRemoved) - // uploader.off('filesSubmitted', this.filesSubmitted) - // this.uploader = null + //this.unBindUploader(); + const uploader = this.uploader + uploader.off('catchAll', this.allEvent) + uploader.off(FILE_ADDED_EVENT, this.fileAdded) + uploader.off(FILES_ADDED_EVENT, this.filesAdded) + uploader.off('fileRemoved', this.fileRemoved) + uploader.off('filesSubmitted', this.filesSubmitted) + this.uploader = null }, components: { UploaderBtn, diff --git a/src/pages/cameraAccess/components/DataStackInfo.vue b/src/pages/cameraAccess/components/DataStackInfo.vue index 328e263..d20e8e7 100644 --- a/src/pages/cameraAccess/components/DataStackInfo.vue +++ b/src/pages/cameraAccess/components/DataStackInfo.vue @@ -271,7 +271,7 @@ <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_${stack.id}`" :key="stack.id" v-show="activeName === 'uploading' && stack.id == DataStackPool.selectedDir.id" :sourceType="stack.type" /> <!-- <file-uploader ref="uploader" v-show="activeName === 'uploading'" /> --> </template> <!-- 鏂囦欢棰勮 --> @@ -416,9 +416,7 @@ timer: 0, targetDir: "", targetFile: "", - attrs: { - accept: "" - } + }; }, mounted () { @@ -437,18 +435,7 @@ 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) { @@ -482,11 +469,9 @@ this.fileList = []; }, selectDir (node) { - if (node.id === "") { return } - this.isDisabled = false; this.isAdd = false; this.videoItem = null; @@ -517,9 +502,7 @@ if (uid !== this.taskUid || this.form.id === "") { return; } - this.fetchFileList(); - let _this = this; this.timer = setTimeout(() => { _this.timingtask(uid); @@ -545,7 +528,6 @@ }).catch(err => { console.log(err) }) - }, // 淇濆瓨 @@ -612,7 +594,6 @@ }, handleUpload () { console.log(this.DataStackPool.selectedDir.id) - debugger console.log(this.$refs[`uploader_${this.DataStackPool.selectedDir.id}`][0].$refs.button.$refs.btn.click()) }, handleRefrashFileList (val) { diff --git a/src/pages/cameraAccess/components/LinkageRule.vue b/src/pages/cameraAccess/components/LinkageRule.vue index dcf7ca7..57a7fa9 100644 --- a/src/pages/cameraAccess/components/LinkageRule.vue +++ b/src/pages/cameraAccess/components/LinkageRule.vue @@ -74,6 +74,7 @@ :currentCameraId="data.cameraId" @changeLoading="changeLoading" @fromCanvas="getCanvasData" + @refresh="refresh" ></polygon-canvas> </swiper-slide> </swiper> @@ -236,6 +237,14 @@ } this.swipercanvasData = swipers; }, + refresh(url,id) { + this.swipercanvasData.forEach(data=>{ + if(data.cameraId == id){ + data.baseImg = url; + } + }) + //this.Camera.baseImg = url + }, getCanvasData() { }, showRules() { this.tableRuleList = []; -- Gitblit v1.8.0