被检设备批量导入功能、ImportExcel组件微调
This commit is contained in:
@@ -30,7 +30,9 @@ export const deletePqDev = (params: string[]) => {
|
||||
export const exportPqDev=(params: Device.ReqPqDevParams)=>{
|
||||
return http.download(`/pqDev/export`, params)
|
||||
}
|
||||
|
||||
export const downloadTemplate = () => {
|
||||
return http.download(`/pqDev/downloadTemplate`)
|
||||
}
|
||||
//导入被检设备
|
||||
export const importPqDev=(params: Device.ReqPqDevParams)=>{
|
||||
return http.post(`/pqDev/import`, params)
|
||||
|
||||
@@ -32,7 +32,7 @@
|
||||
</template>
|
||||
</el-upload>
|
||||
</el-form-item>
|
||||
<el-form-item label="数据覆盖 :">
|
||||
<el-form-item v-if="parameter.showCover" label="数据覆盖 :">
|
||||
<el-switch v-model="isCover" />
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
@@ -47,6 +47,7 @@ import { ElNotification, UploadRequestOptions, UploadRawFile } from "element-plu
|
||||
|
||||
export interface ExcelParameterProps {
|
||||
title: string; // 标题
|
||||
showCover?: boolean; // 是否显示”数据覆盖“选项
|
||||
fileSize?: number; // 上传文件的大小
|
||||
fileType?: File.ExcelMimeType[]; // 上传文件的类型
|
||||
tempApi?: (params: any) => Promise<any>; // 下载模板的Api
|
||||
@@ -76,14 +77,14 @@ const acceptParams = (params: ExcelParameterProps) => {
|
||||
// Excel 导入模板下载
|
||||
const downloadTemp = () => {
|
||||
if (!parameter.value.tempApi) return;
|
||||
useDownload(parameter.value.tempApi, `${parameter.value.title}模板`);
|
||||
useDownload(parameter.value.tempApi, `${parameter.value.title}模板`,{},true);
|
||||
};
|
||||
|
||||
// 文件上传
|
||||
const uploadExcel = async (param: UploadRequestOptions) => {
|
||||
let excelFormData = new FormData();
|
||||
excelFormData.append("file", param.file);
|
||||
excelFormData.append("isCover", isCover.value as unknown as Blob);
|
||||
isCover.value && excelFormData.append("isCover", isCover.value as unknown as Blob);
|
||||
await parameter.value.importApi!(excelFormData);
|
||||
parameter.value.getTableList && parameter.value.getTableList();
|
||||
dialogVisible.value = false;
|
||||
|
||||
@@ -41,7 +41,7 @@ import DevicePopup from '@/views/machine/device/components/devicePopup.vue'
|
||||
import { CirclePlus, Delete, EditPen, Share, Download, Upload, View, Refresh } from '@element-plus/icons-vue'
|
||||
import deviceDataList from '@/api/device/deviceData'
|
||||
import { useDictStore } from '@/stores/modules/dict'
|
||||
import {getPqDevList, deletePqDev, exportPqDev, importPqDev} from '@/api/device/device.ts'
|
||||
import {getPqDevList, deletePqDev, exportPqDev, downloadTemplate,importPqDev} from '@/api/device/device.ts'
|
||||
import { reactive, ref } from 'vue'
|
||||
import { ElMessageBox } from 'element-plus'
|
||||
|
||||
@@ -161,8 +161,9 @@ const deviceImportExcel = ref<InstanceType<typeof ImportExcel> | null>(null)
|
||||
|
||||
const importFile=async ()=>{
|
||||
const params = {
|
||||
title: '设备',
|
||||
tempApi: exportPqDev,
|
||||
title: '被检设备',
|
||||
showCover: false,
|
||||
tempApi: downloadTemplate,
|
||||
importApi: importPqDev,
|
||||
getTableList: proTable.value?.getTableList,
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user