diff --git a/klp-ui/src/components/ImageUpload/index.vue b/klp-ui/src/components/ImageUpload/index.vue index 9c92e86b..32a80da2 100644 --- a/klp-ui/src/components/ImageUpload/index.vue +++ b/klp-ui/src/components/ImageUpload/index.vue @@ -49,6 +49,12 @@ import { listByIds, delOss } from "@/api/system/oss"; export default { props: { value: [String, Object, Array], + // 值模式: 'ossId' - v-model绑定ossId字符串(默认), 'url' - v-model绑定url字符串 + valueMode: { + type: String, + default: 'ossId', + validator: (val) => ['ossId', 'url'].includes(val) + }, // 图片数量限制 limit: { type: Number, @@ -89,19 +95,26 @@ export default { value: { async handler(val) { if (val) { - // 首先将值转为数组 let list; if (Array.isArray(val)) { list = val; } else { - await listByIds(val).then(res => { - list = res.data; - }) + if (this.valueMode === 'url') { + list = val.split(',').filter(url => url).map(url => { + return { name: url.slice(url.lastIndexOf('/') + 1), url: url }; + }); + } else { + await listByIds(val).then(res => { + list = res.data; + }) + } } - // 然后将数组转为对象数组 this.fileList = list.map(item => { - // 此处name使用ossId 防止删除出现重名 - item = { name: item.ossId, url: item.url, ossId: item.ossId }; + if (this.valueMode === 'url') { + item = { name: item.url.slice(item.url.lastIndexOf('/') + 1), url: item.url }; + } else { + item = { name: item.ossId, url: item.url, ossId: item.ossId }; + } return item; }); } else { @@ -172,8 +185,10 @@ export default { handleDelete(file) { const findex = this.fileList.map(f => f.name).indexOf(file.name); if(findex > -1) { - let ossId = this.fileList[findex].ossId; - delOss(ossId); + if (this.valueMode === 'ossId') { + let ossId = this.fileList[findex].ossId; + delOss(ossId); + } this.fileList.splice(findex, 1); this.$emit("input", this.listToString(this.fileList)); } @@ -203,8 +218,12 @@ export default { let strs = ""; separator = separator || ","; for (let i in list) { - if (list[i].ossId) { - strs += list[i].ossId + separator; + if (this.valueMode === 'url') { + strs += list[i].url + separator; + } else { + if (list[i].ossId) { + strs += list[i].ossId + separator; + } } } return strs != "" ? strs.substr(0, strs.length - 1) : ""; diff --git a/klp-ui/src/views/wms/coil/components/AbnormalForm.vue b/klp-ui/src/views/wms/coil/components/AbnormalForm.vue index 3509be1c..3d7055cf 100644 --- a/klp-ui/src/views/wms/coil/components/AbnormalForm.vue +++ b/klp-ui/src/views/wms/coil/components/AbnormalForm.vue @@ -52,17 +52,22 @@ 是否为主缺陷 + + +