diff --git a/src/views/device/Instance/Import/file.vue b/src/views/device/Instance/Import/file.vue index feb42d93..1b0cdc8c 100644 --- a/src/views/device/Instance/Import/file.vue +++ b/src/views/device/Instance/Import/file.vue @@ -25,6 +25,7 @@ modelRef?.file?.fileType ? `.${modelRef?.file?.fileType}` : '.xlsx' " :before-upload="beforeUpload" + :disabled='disabled' > @@ -80,6 +81,7 @@ const importLoading = ref(false); const flag = ref(false); const count = ref(0); const errMessage = ref(''); +const disabled = ref(false) const downFile = async (type: string) => { const res: any = await templateDownload(props.product!, type); @@ -107,7 +109,6 @@ const submitData = async (fileUrl: string) => { if (!!fileUrl) { count.value = 0; errMessage.value = ''; - flag.value = true; const autoDeploy = !!modelRef?.file?.autoDeploy || false; importLoading.value = true; let dt = 0; @@ -123,10 +124,12 @@ const submitData = async (fileUrl: string) => { } else { errMessage.value = res.message || '失败'; } + disabled.value = false }; source.onerror = (e: { status: number }) => { if (e.status === 403) errMessage.value = '暂无权限,请联系管理员'; flag.value = false; + disabled.value = false source.close(); }; source.onopen = () => {}; @@ -136,6 +139,8 @@ const submitData = async (fileUrl: string) => { }; const uploadChange = async (info: Record) => { + disabled.value = true + console.log(info.file) if (info.file.status === 'done') { const resp: any = info.file.response || { result: '' }; await submitData(resp?.result || ''); diff --git a/src/views/link/plugin/Save.vue b/src/views/link/plugin/Save.vue index 0a736149..2ef30e93 100644 --- a/src/views/link/plugin/Save.vue +++ b/src/views/link/plugin/Save.vue @@ -41,7 +41,7 @@ name='version' :rules='[{ required: true, message: "请上传文件" }]' > - +
diff --git a/src/views/link/plugin/UploadFile.vue b/src/views/link/plugin/UploadFile.vue index c96f619d..c374f00d 100644 --- a/src/views/link/plugin/UploadFile.vue +++ b/src/views/link/plugin/UploadFile.vue @@ -11,6 +11,8 @@ :before-upload="beforeUpload" :disabled='loading' :maxCount='1' + :fileList='list' + @remove='remove' >
上传文件 @@ -39,6 +41,10 @@ const props = defineProps({ disabled: { type: Boolean, default: false + }, + fileName: { + type: String, + default: undefined } }); @@ -47,9 +53,17 @@ const paths: string = useSystem().$state.configInfo.paths?.[ ] as string; const value = ref(props.modelValue); +const list = ref(props.fileName ? [{ name: props.fileName}] : []) const loading = ref(false); +const remove = () => { + list.value = [] + emit('update:modelValue', ''); + emit('change', {}); +} + const beforeUpload: UploadProps['beforeUpload'] = (file, fl) => { + list.value = fl const arr = file.name.split('.'); const isFile = ['jar', 'zip'].includes(arr[arr.length - 1]); // file.type === 'application/zip' || file.type === 'application/javj-archive' if (!isFile) { @@ -62,7 +76,6 @@ const handleChange = async (info: UploadChangeParam) => { loading.value = true; if (info.file.status === 'done') { loading.value = false; - console.log(info.file) const result = info.file.response?.result; const f = result.accessUrl; onlyMessage('上传成功!', 'success');