|
|
@ -86,19 +86,21 @@ export default {
|
|
|
|
},
|
|
|
|
},
|
|
|
|
watch: {
|
|
|
|
watch: {
|
|
|
|
value: {
|
|
|
|
value: {
|
|
|
|
handler(val) {
|
|
|
|
async handler(val) {
|
|
|
|
if (val) {
|
|
|
|
if (val) {
|
|
|
|
// 首先将值转为数组
|
|
|
|
// 首先将值转为数组
|
|
|
|
const list = Array.isArray(val) ? val : this.value.split(',');
|
|
|
|
let list;
|
|
|
|
|
|
|
|
if (Array.isArray(val)) {
|
|
|
|
|
|
|
|
list = val;
|
|
|
|
|
|
|
|
} else {
|
|
|
|
|
|
|
|
await listByIds(val).then(res => {
|
|
|
|
|
|
|
|
list = res.data;
|
|
|
|
|
|
|
|
})
|
|
|
|
|
|
|
|
}
|
|
|
|
// 然后将数组转为对象数组
|
|
|
|
// 然后将数组转为对象数组
|
|
|
|
this.fileList = list.map(item => {
|
|
|
|
this.fileList = list.map(item => {
|
|
|
|
// 字符串回显处理 如果此处存的是url可直接回显 如果存的是id需要调用接口查出来
|
|
|
|
// 此处name使用ossId 防止删除出现重名
|
|
|
|
if (typeof item === "string") {
|
|
|
|
item = { name: item.ossId, url: item.url, ossId: item.ossId };
|
|
|
|
item = { name: item, url: item };
|
|
|
|
|
|
|
|
} else {
|
|
|
|
|
|
|
|
// 此处name使用ossId 防止删除出现重名
|
|
|
|
|
|
|
|
item = { name: item.ossId, url: item.url, ossId: item.ossId };
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
return item;
|
|
|
|
return item;
|
|
|
|
});
|
|
|
|
});
|
|
|
|
} else {
|
|
|
|
} else {
|
|
|
@ -124,7 +126,7 @@ export default {
|
|
|
|
let ossId = this.fileList[findex].ossId;
|
|
|
|
let ossId = this.fileList[findex].ossId;
|
|
|
|
delOss(ossId);
|
|
|
|
delOss(ossId);
|
|
|
|
this.fileList.splice(findex, 1);
|
|
|
|
this.fileList.splice(findex, 1);
|
|
|
|
this.$emit("input", this.fileList);
|
|
|
|
this.$emit("input", this.listToString(this.fileList));
|
|
|
|
}
|
|
|
|
}
|
|
|
|
},
|
|
|
|
},
|
|
|
|
// 上传成功回调
|
|
|
|
// 上传成功回调
|
|
|
@ -135,7 +137,7 @@ export default {
|
|
|
|
this.fileList = this.fileList.concat(this.uploadList);
|
|
|
|
this.fileList = this.fileList.concat(this.uploadList);
|
|
|
|
this.uploadList = [];
|
|
|
|
this.uploadList = [];
|
|
|
|
this.number = 0;
|
|
|
|
this.number = 0;
|
|
|
|
this.$emit("input", this.fileList);
|
|
|
|
this.$emit("input", this.listToString(this.fileList));
|
|
|
|
this.$modal.closeLoading();
|
|
|
|
this.$modal.closeLoading();
|
|
|
|
}
|
|
|
|
}
|
|
|
|
} else {
|
|
|
|
} else {
|
|
|
@ -188,6 +190,15 @@ export default {
|
|
|
|
this.dialogImageUrl = file.url;
|
|
|
|
this.dialogImageUrl = file.url;
|
|
|
|
this.dialogVisible = true;
|
|
|
|
this.dialogVisible = true;
|
|
|
|
},
|
|
|
|
},
|
|
|
|
|
|
|
|
// 对象转成指定字符串分隔
|
|
|
|
|
|
|
|
listToString(list, separator) {
|
|
|
|
|
|
|
|
let strs = "";
|
|
|
|
|
|
|
|
separator = separator || ",";
|
|
|
|
|
|
|
|
for (let i in list) {
|
|
|
|
|
|
|
|
strs += list[i].ossId + separator;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
return strs != "" ? strs.substr(0, strs.length - 1) : "";
|
|
|
|
|
|
|
|
},
|
|
|
|
}
|
|
|
|
}
|
|
|
|
};
|
|
|
|
};
|
|
|
|
</script>
|
|
|
|
</script>
|
|
|
|