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