From 34415f3d4cc5c3c324126a63794eb8f2087c4edb Mon Sep 17 00:00:00 2001 From: sakuya <81883387@qq.com> Date: Fri, 21 May 2021 00:45:05 +0800 Subject: [PATCH] up --- src/components/scUpload/multiple.vue | 99 ++++++++++++++++++++-------- src/views/vab/upload.vue | 15 +++-- 2 files changed, 81 insertions(+), 33 deletions(-) diff --git a/src/components/scUpload/multiple.vue b/src/components/scUpload/multiple.vue index 766213c1..932222fc 100644 --- a/src/components/scUpload/multiple.vue +++ b/src/components/scUpload/multiple.vue @@ -3,29 +3,36 @@
- {{defaultFileList}}
- +

{{title}}

+ + @@ -40,28 +47,52 @@ }, data(){ return { - defaultFileList: this.toArr(this.modelValue) + value: "", + defaultFileList: [], + fileList: [] } }, watch:{ - modelValue(val){ - this.defaultFileList = this.toArr(val) + modelValue(){ + this.fileList = this.modelValuetoArr + this.value = this.modelValue }, - defaultFileList: { - handler(val){ - console.log(val); - this.$emit('update:modelValue', this.toStr(val)); + fileList: { + handler(){ + if(this.isAllSuccess){ + this.$emit('update:modelValue', this.fileListtoStr); + } }, - //deep: true + deep: true } }, computed: { + modelValuetoArr(){ + return this.toArr(this.modelValue) + }, + fileListtoStr(){ + return this.toStr(this.fileList) + }, preview(){ - return this.defaultFileList.map(v => v.url) + return this.fileList.map(v => v.url) + }, + isAllSuccess(){ + var all_length = this.fileList.length; + var success_length = 0 + this.fileList.forEach(item => { + if(item.status == "success"){ + success_length += 1 + } + }) + + return success_length == all_length + } }, mounted() { - + this.defaultFileList = this.toArr(this.modelValue); + this.fileList = this.toArr(this.modelValue) + this.value = this.modelValue }, methods: { //默认值转换为数组 @@ -83,7 +114,9 @@ toStr(arr){ var _arr = []; arr.forEach(item => { - _arr.push(item.url) + + _arr.push(item.url) + }) var str = _arr.join(",") return str; @@ -91,12 +124,9 @@ before(){ }, - change(file){ - if(file.status =='ready'){ - file.aa = "123" - file.url = URL.createObjectURL(file.raw); - this.defaultFileList.push(file) - } + change(file, fileList){ + file.tempImg = URL.createObjectURL(file.raw); + this.fileList = fileList }, success(res, file){ file.url = res.data.src @@ -114,8 +144,8 @@ }) }, del(index){ - this.defaultFileList.splice(index, 1); - this.$refs.upload.uploadFiles.splice(index-this.defaultFileList.length-1, 1); + this.fileList.splice(index, 1); + this.$refs.upload.uploadFiles.splice(index-this.fileList.length-1, 1); } } } @@ -123,19 +153,34 @@