|
|
|
@ -9,8 +9,8 @@ |
|
|
|
:limit="limit" |
|
|
|
:on-error="handleUploadError" |
|
|
|
:on-exceed="handleExceed" |
|
|
|
name="file" |
|
|
|
:on-remove="handleRemove" |
|
|
|
ref="imageUpload" |
|
|
|
:before-remove="handleDelete" |
|
|
|
:show-file-list="true" |
|
|
|
:headers="headers" |
|
|
|
:file-list="fileList" |
|
|
|
@ -107,23 +107,6 @@ watch(() => props.modelValue, val => { |
|
|
|
} |
|
|
|
},{ deep: true, immediate: true }); |
|
|
|
|
|
|
|
// 删除图片 |
|
|
|
function handleRemove(file, files) { |
|
|
|
emit("update:modelValue", listToString(fileList.value)); |
|
|
|
} |
|
|
|
|
|
|
|
// 上传成功回调 |
|
|
|
function handleUploadSuccess(res) { |
|
|
|
uploadList.value.push({ name: res.fileName, url: res.fileName }); |
|
|
|
if (uploadList.value.length === number.value) { |
|
|
|
fileList.value = fileList.value.filter(f => f.url !== undefined).concat(uploadList.value); |
|
|
|
uploadList.value = []; |
|
|
|
number.value = 0; |
|
|
|
emit("update:modelValue", listToString(fileList.value)); |
|
|
|
proxy.$modal.closeLoading(); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
// 上传前loading加载 |
|
|
|
function handleBeforeUpload(file) { |
|
|
|
let isImg = false; |
|
|
|
@ -162,6 +145,41 @@ function handleExceed() { |
|
|
|
proxy.$modal.msgError(`上传文件数量不能超过 ${props.limit} 个!`); |
|
|
|
} |
|
|
|
|
|
|
|
// 上传成功回调 |
|
|
|
function handleUploadSuccess(res, file) { |
|
|
|
if (res.code === 200) { |
|
|
|
uploadList.value.push({ name: res.fileName, url: res.fileName }); |
|
|
|
uploadedSuccessfully(); |
|
|
|
} else { |
|
|
|
number.value--; |
|
|
|
proxy.$modal.closeLoading(); |
|
|
|
proxy.$modal.msgError(res.msg); |
|
|
|
proxy.$refs.imageUpload.handleRemove(file); |
|
|
|
uploadedSuccessfully(); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
// 删除图片 |
|
|
|
function handleDelete(file) { |
|
|
|
const findex = fileList.value.map(f => f.name).indexOf(file.name); |
|
|
|
if (findex > -1 && uploadList.value.length === number.value) { |
|
|
|
fileList.value.splice(findex, 1); |
|
|
|
emit("update:modelValue", listToString(fileList.value)); |
|
|
|
return false; |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
// 上传结束处理 |
|
|
|
function uploadedSuccessfully() { |
|
|
|
if (number.value > 0 && uploadList.value.length === number.value) { |
|
|
|
fileList.value = fileList.value.filter(f => f.url !== undefined).concat(uploadList.value); |
|
|
|
uploadList.value = []; |
|
|
|
number.value = 0; |
|
|
|
emit("update:modelValue", listToString(fileList.value)); |
|
|
|
proxy.$modal.closeLoading(); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
// 上传失败 |
|
|
|
function handleUploadError() { |
|
|
|
proxy.$modal.msgError("上传图片失败"); |
|
|
|
|