This commit is contained in:
sjl
2024-11-07 19:25:57 +08:00
3 changed files with 11 additions and 7 deletions

View File

@@ -30,7 +30,9 @@ export const deletePqDev = (params: string[]) => {
export const exportPqDev=(params: Device.ReqPqDevParams)=>{ export const exportPqDev=(params: Device.ReqPqDevParams)=>{
return http.download(`/pqDev/export`, params) return http.download(`/pqDev/export`, params)
} }
export const downloadTemplate = () => {
return http.download(`/pqDev/downloadTemplate`)
}
//导入被检设备 //导入被检设备
export const importPqDev=(params: Device.ReqPqDevParams)=>{ export const importPqDev=(params: Device.ReqPqDevParams)=>{
return http.post(`/pqDev/import`, params) return http.post(`/pqDev/import`, params)

View File

@@ -32,7 +32,7 @@
</template> </template>
</el-upload> </el-upload>
</el-form-item> </el-form-item>
<el-form-item label="数据覆盖 :"> <el-form-item v-if="parameter.showCover" label="数据覆盖 :">
<el-switch v-model="isCover" /> <el-switch v-model="isCover" />
</el-form-item> </el-form-item>
</el-form> </el-form>
@@ -47,6 +47,7 @@ import { ElNotification, UploadRequestOptions, UploadRawFile } from "element-plu
export interface ExcelParameterProps { export interface ExcelParameterProps {
title: string; // 标题 title: string; // 标题
showCover?: boolean; // 是否显示”数据覆盖“选项
fileSize?: number; // 上传文件的大小 fileSize?: number; // 上传文件的大小
fileType?: File.ExcelMimeType[]; // 上传文件的类型 fileType?: File.ExcelMimeType[]; // 上传文件的类型
tempApi?: (params: any) => Promise<any>; // 下载模板的Api tempApi?: (params: any) => Promise<any>; // 下载模板的Api
@@ -76,14 +77,14 @@ const acceptParams = (params: ExcelParameterProps) => {
// Excel 导入模板下载 // Excel 导入模板下载
const downloadTemp = () => { const downloadTemp = () => {
if (!parameter.value.tempApi) return; 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) => { const uploadExcel = async (param: UploadRequestOptions) => {
let excelFormData = new FormData(); let excelFormData = new FormData();
excelFormData.append("file", param.file); 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); await parameter.value.importApi!(excelFormData);
parameter.value.getTableList && parameter.value.getTableList(); parameter.value.getTableList && parameter.value.getTableList();
dialogVisible.value = false; dialogVisible.value = false;

View File

@@ -39,7 +39,7 @@ import { type ProTableInstance, type ColumnProps } from '@/components/ProTable/i
import DevicePopup from '@/views/machine/device/components/devicePopup.vue' import DevicePopup from '@/views/machine/device/components/devicePopup.vue'
import { CirclePlus, Delete, EditPen, Download, Upload } from '@element-plus/icons-vue' import { CirclePlus, Delete, EditPen, Download, Upload } from '@element-plus/icons-vue'
import { useDictStore } from '@/stores/modules/dict' 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 { reactive, ref } from 'vue'
import { ElMessageBox } from 'element-plus' import { ElMessageBox } from 'element-plus'
@@ -159,8 +159,9 @@ const deviceImportExcel = ref<InstanceType<typeof ImportExcel> | null>(null)
const importFile=async ()=>{ const importFile=async ()=>{
const params = { const params = {
title: '设备', title: '被检设备',
tempApi: exportPqDev, showCover: false,
tempApi: downloadTemplate,
importApi: importPqDev, importApi: importPqDev,
getTableList: proTable.value?.getTableList, getTableList: proTable.value?.getTableList,
} }