| | |
| | | :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"
|
| | |
| | | }
|
| | | },{ 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;
|
| | |
| | | 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("上传图片失败");
|