|
|
|
@ -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("上传图片失败");
|
|
|
|
|