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