| | |
| | | async function handleSubmit() { |
| | | try { |
| | | modalApi.modalLoading(true); |
| | | if (fileList.value.length !== 1) { |
| | | if (fileList.value.length === 0) { |
| | | handleCancel(); |
| | | return; |
| | | } |
| | | const data = { |
| | | file: fileList.value[0]!.originFileObj as Blob, |
| | | updateSupport: unref(checked), |
| | | }; |
| | | const { code, msg } = await maintPlanImportData(data); |
| | | |
| | | // 构建包含多个文件的请求数据,支持多文件上传 |
| | | const formData = new FormData(); |
| | | fileList.value.forEach((file) => { |
| | | const blob = file.originFileObj as Blob; |
| | | formData.append('files', blob); // 将多个文件以数组形式添加到表单数据中 |
| | | }); |
| | | formData.append('updateSupport', unref(checked).toString()); // 添加 updateSupport 参数 |
| | | |
| | | // 调用接口上传多文件 |
| | | const { code, msg } = await maintPlanImportData(formData); |
| | | let modal = Modal.success; |
| | | if (code === 200) { |
| | | emit('reload'); |
| | |
| | | <UploadDragger |
| | | v-model:file-list="fileList" |
| | | :before-upload="() => false" |
| | | :max-count="1" |
| | | :multiple="true" |
| | | :show-upload-list="true" |
| | | accept="application/vnd.openxmlformats-officedocument.spreadsheetml.sheet, application/vnd.ms-excel" |
| | | > |
| | |
| | | <div class="flex items-center gap-2"> |
| | | <span class="text-red-500">⚠️特别注意⚠️:请下载模版保持导入文件表头和模版一致后导入</span> |
| | | </div> |
| | | <!-- <div class="flex items-center gap-2">--> |
| | | <!-- <span :class="{ 'text-red-500': checked }">--> |
| | | <!-- 是否更新/覆盖已存在的保养计划数据--> |
| | | <!-- </span>--> |
| | | <!-- <Switch v-model:checked="checked" />--> |
| | | <!-- </div>--> |
| | | <div class="flex items-center gap-2"> |
| | | <span :class="{ 'text-red-500': checked }"> |
| | | 是否更新/覆盖已存在的保养计划数据 |
| | | </span> |
| | | <Switch v-model:checked="checked" /> |
| | | </div> |
| | | </div> |
| | | </BasicModal> |
| | | </template> |