被检设备批量导入功能、ImportExcel组件微调
This commit is contained in:
@@ -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)
|
||||||
|
|||||||
@@ -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;
|
||||||
|
|||||||
@@ -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 { CirclePlus, Delete, EditPen, Share, Download, Upload, View, Refresh } from '@element-plus/icons-vue'
|
||||||
import deviceDataList from '@/api/device/deviceData'
|
import deviceDataList from '@/api/device/deviceData'
|
||||||
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'
|
||||||
|
|
||||||
@@ -161,8 +161,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,
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user