|
@@ -80,7 +80,10 @@
|
|
|
<el-upload
|
|
|
v-model:file-list="fileList"
|
|
|
class="upload-demo"
|
|
|
+ ref="upload_ele"
|
|
|
:on-error="upError"
|
|
|
+ :limit="1"
|
|
|
+ :on-exceed="handleExceed"
|
|
|
:headers="{ Authorization }"
|
|
|
:on-progress="upProgress"
|
|
|
:before-upload="upload"
|
|
@@ -101,7 +104,7 @@
|
|
|
<script setup>
|
|
|
import header_local from '../components/header.vue';
|
|
|
import { UploadFilled } from '@element-plus/icons-vue';
|
|
|
-import { ElMessage } from 'element-plus';
|
|
|
+import { ElMessage, genFileId } from 'element-plus';
|
|
|
import { storeImg, historyImg } from '@/api/processing';
|
|
|
import { ref } from 'vue';
|
|
|
import config from '../../../config/index';
|
|
@@ -111,6 +114,7 @@ const route = useRouter();
|
|
|
const Authorization = localStorage.getItem('token') || '';
|
|
|
|
|
|
const dialogVisible = ref(false);
|
|
|
+const upload_ele = ref(null);
|
|
|
const fileList = ref([]);
|
|
|
const input = ref('');
|
|
|
const page_data = ref({
|
|
@@ -127,6 +131,14 @@ function upProgress(par) {
|
|
|
console.log(par);
|
|
|
}
|
|
|
|
|
|
+function handleExceed(files) {
|
|
|
+ upload_ele.value.clearFiles();
|
|
|
+ const file = files[0];
|
|
|
+ file.uid = genFileId();
|
|
|
+ upload_ele.value.handleStart(file);
|
|
|
+ upload_ele.value.submit();
|
|
|
+}
|
|
|
+
|
|
|
function upError() {
|
|
|
ElMessage.error('请稍后重新选择文件!');
|
|
|
}
|
|
@@ -149,8 +161,10 @@ function submit() {
|
|
|
dialogVisible.value = false;
|
|
|
input.value = '';
|
|
|
getList();
|
|
|
+ upload_ele.value.clearFiles();
|
|
|
})
|
|
|
.catch(e => {
|
|
|
+ upload_ele.value.clearFiles();
|
|
|
dialogVisible.value = false;
|
|
|
input.value = '';
|
|
|
});
|