This commit is contained in:
caozehui
2025-03-14 11:23:49 +08:00
parent 50fc02d4eb
commit 0947097932
5 changed files with 95 additions and 85 deletions

View File

@@ -87,7 +87,7 @@ export const changeErrorSystem = (params: {
deviceId: string, deviceId: string,
code: string code: string
}) => { }) => {
return http.post("/result/changeErrorSystem", params, {loading: false}); return http.post("/result/changeErrorSystem", params, {loading: true});
} }
/** /**

View File

@@ -1,4 +1,4 @@
import type { Device } from '@/api/device/interface/device' import type {Device} from '@/api/device/interface/device'
import http from '@/api' import http from '@/api'
/** /**
@@ -7,57 +7,65 @@ import http from '@/api'
//获取被检设备 //获取被检设备
export const getPqDevList = (params: Device.ReqPqDevParams) => { export const getPqDevList = (params: Device.ReqPqDevParams) => {
return http.post(`/pqDev/list`, params) return http.post(`/pqDev/list`, params)
} }
//添加被检设备 //添加被检设备
export const addPqDev = (params: Device.ResPqDev) => { export const addPqDev = (params: Device.ResPqDev) => {
return http.post(`/pqDev/add`, params) return http.post(`/pqDev/add`, params)
} }
//编辑被检设备 //编辑被检设备
export const updatePqDev = (params: Device.ResPqDev) => { export const updatePqDev = (params: Device.ResPqDev) => {
return http.post(`/pqDev/update`, params) return http.post(`/pqDev/update`, params)
} }
//删除被检设备 //删除被检设备
export const deletePqDev = (params: string[]) => { export const deletePqDev = (params: string[]) => {
return http.post(`/pqDev/delete`, params) return http.post(`/pqDev/delete`, params)
} }
// export const downloadTemplate = () => { //导出被检设备
// return http.download(`/pqDev/downloadTemplate`) 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.uploadExcel(`/pqDev/import`, params)
}
//导入比对式被检设备
export const importContrastPqDev = (params: Device.ReqPqDevParams) => {
return http.upload(`/pqDev/importContrast`, params)
}
// //导出灿能二楼设备
// export const exportCNDev = (params: Device.ReqPqDevParams) => {
// return http.download(`/pqDev/exportCNDev`, params)
// }
//
// // 下载灿能二楼设备导入文件模板
// export const downloadCNDevTemplate = () => {
// return http.download(`/pqDev/downloadCNDevTemplate`)
// }
//
// //导入灿能二楼设备
// export const importCNDev = (params: Device.ReqPqDevParams) => {
// return http.uploadExcel(`/pqDev/importCNDev`, params)
// } // }
// //导入被检设备(比对)
// export const importPqDev=(params: Device.ReqPqDevParams)=>{
// return http.upload(`/pqDev/import`, params)
// }
// //导入比对式被检设备
// export const importContrastPqDev=(params: Device.ReqPqDevParams)=>{
// return http.upload(`/pqDev/importContrast`, params)
// }
//导出灿能二楼设备
export const exportCNDev = (params: Device.ReqPqDevParams) => {
return http.download(`/pqDev/exportCNDev`, params)
}
// 下载灿能二楼设备导入文件模板
export const downloadCNDevTemplate = () => {
return http.download(`/pqDev/downloadCNDevTemplate`)
}
//导入灿能二楼设备
export const importCNDev = (params: Device.ReqPqDevParams) => {
return http.uploadExcel(`/pqDev/importCNDev`, params)
}
//根据设备类型决定电源、icd、模板、通道数、额定电压、额定电流 //根据设备类型决定电源、icd、模板、通道数、额定电压、额定电流
export const getPqDev = () => { export const getPqDev = () => {
return http.get(`/devType/listAll`) return http.get(`/devType/listAll`)
} }
//被检设备归档 //被检设备归档
export const documentedPqDev = (ids: string[]) => { export const documentedPqDev = (ids: string[]) => {
return http.post(`/pqDev/documented`, ids) return http.post(`/pqDev/documented`, ids)
} }

View File

@@ -38,3 +38,8 @@ export const refreshToken = () => {
) )
} }
//获取场景
export const getCurrentScene = () => {
return http.get('/admin/getCurrentScene', {}, { loading: false })
}

View File

@@ -52,6 +52,7 @@ import { ElMessage } from "element-plus";
import { useAuthStore } from "@/stores/modules/auth"; import { useAuthStore } from "@/stores/modules/auth";
import { useModeStore, useAppSceneStore } from "@/stores/modules/mode"; // 引入模式 store import { useModeStore, useAppSceneStore } from "@/stores/modules/mode"; // 引入模式 store
import { ref } from "vue"; import { ref } from "vue";
import {getCurrentScene} from "@/api/user/login";
const authStore = useAuthStore(); const authStore = useAuthStore();
const modeStore = useModeStore(); // 使用模式 store const modeStore = useModeStore(); // 使用模式 store
const AppSceneStore = useAppSceneStore(); const AppSceneStore = useAppSceneStore();
@@ -82,7 +83,9 @@ const modeList = [
]; ];
const handelOpen = async (item: any) => { const handelOpen = async (item: any) => {
modeStore.setCurrentMode(item.code); // 将模式code存入 store modeStore.setCurrentMode(item.code); // 将模式code存入 store
AppSceneStore.setCurrentMode('1');//0省级平台1设备出厂2研发自测 const {data:scene} = await getCurrentScene(); // 获取当前场景
// AppSceneStore.setCurrentMode(scene+'');//0省级平台1设备出厂2研发自测
AppSceneStore.setCurrentMode('0');//0省级平台1设备出厂2研发自测
await authStore.setShowMenu(); await authStore.setShowMenu();
return; return;
// if (isActive) { // if (isActive) {

View File

@@ -1,9 +1,9 @@
<template> <template>
<div class='table-box' ref='popupBaseView'> <div class='table-box' ref='popupBaseView'>
<ProTable <ProTable
ref='proTable' ref='proTable'
:columns='columns' :columns='columns'
:request-api='getTableList' :request-api='getTableList'
> >
<!-- :requestApi="getRoleList" --> <!-- :requestApi="getRoleList" -->
<!-- 表格 header 按钮 --> <!-- 表格 header 按钮 -->
@@ -32,32 +32,25 @@
</ProTable> </ProTable>
</div> </div>
<DevicePopup :refresh-table='proTable?.getTableList' ref='devicePopup' /> <DevicePopup :refresh-table='proTable?.getTableList' ref='devicePopup'/>
<ImportExcel ref='deviceImportExcel' /> <ImportExcel ref='deviceImportExcel'/>
</template> </template>
<script setup lang='tsx' name='useRole'> <script setup lang='tsx' name='useRole'>
import TimeControl from '@/components/TimeControl/index.vue' import TimeControl from '@/components/TimeControl/index.vue'
import { type Device } from '@/api/device/interface/device.ts' import {type Device} from '@/api/device/interface/device.ts'
import { useHandleData } from '@/hooks/useHandleData' import {useHandleData} from '@/hooks/useHandleData'
import { useDownload } from '@/hooks/useDownload' import {useDownload} from '@/hooks/useDownload'
import ProTable from '@/components/ProTable/index.vue' import ProTable from '@/components/ProTable/index.vue'
import ImportExcel from '@/components/ImportExcel/index.vue' import ImportExcel from '@/components/ImportExcel/index.vue'
import { type ProTableInstance, type ColumnProps } from '@/components/ProTable/interface' import {type ColumnProps, type ProTableInstance} from '@/components/ProTable/interface'
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, Download, EditPen, Upload} from '@element-plus/icons-vue'
import { useDictStore } from '@/stores/modules/dict' import {useDictStore} from '@/stores/modules/dict'
import { import {deletePqDev, downloadTemplate, exportPqDev, getPqDev, getPqDevList, importPqDev} from '@/api/device/device/index.ts'
getPqDevList, import {ElMessageBox} from 'element-plus'
deletePqDev, import {onBeforeMount, reactive, ref} from 'vue'
getPqDev, import {useAppSceneStore, useModeStore} from '@/stores/modules/mode'
exportCNDev,
downloadCNDevTemplate,
importCNDev,
} from '@/api/device/device/index.ts'
import { ElMessage, ElMessageBox } from 'element-plus'
import { onBeforeMount, reactive, ref } from 'vue'
import { useModeStore, useAppSceneStore } from '@/stores/modules/mode'
// defineOptions({ // defineOptions({
// name: 'device', // name: 'device',
@@ -72,6 +65,7 @@ const boundPqDevList = ref<Device.ReqPqDevParams[]>([])//根据检测计划id查
// 存储设备类型选项 // 存储设备类型选项
const devTypeOptions = ref<Device.ResDev[]>([]) const devTypeOptions = ref<Device.ResDev[]>([])
const getTableList = async (params: any) => { const getTableList = async (params: any) => {
let newParams = JSON.parse(JSON.stringify(params)) let newParams = JSON.parse(JSON.stringify(params))
newParams.searchEndTime = endDate.value newParams.searchEndTime = endDate.value
@@ -84,12 +78,12 @@ const getTableList = async (params: any) => {
// 表格配置项 // 表格配置项
const columns = reactive<ColumnProps<Device.ResPqDev>[]>([ const columns = reactive<ColumnProps<Device.ResPqDev>[]>([
{ type: 'selection', fixed: 'left', width: 70 }, {type: 'selection', fixed: 'left', width: 70},
{ type: 'index', fixed: 'left', width: 70, label: '序号' }, {type: 'index', fixed: 'left', width: 70, label: '序号'},
{ {
prop: 'name', prop: 'name',
label: '名称', label: '名称',
search: { el: 'input' }, search: {el: 'input'},
// isShow: appSceneStore.currentScene != '1', // isShow: appSceneStore.currentScene != '1',
// ...(appSceneStore.currentScene != '1' ? { // ...(appSceneStore.currentScene != '1' ? {
// search: { el: 'input' }, // search: { el: 'input' },
@@ -115,12 +109,12 @@ const columns = reactive<ColumnProps<Device.ResPqDev>[]>([
search: { search: {
render: () => { render: () => {
return ( return (
<div class='flx-flex-start'> <div class='flx-flex-start'>
<TimeControl <TimeControl
default={'月'} default={'月'}
onUpdate-dates={handleDateChange} onUpdate-dates={handleDateChange}
/> />
</div> </div>
) )
}, },
}, },
@@ -163,8 +157,8 @@ const columns = reactive<ColumnProps<Device.ResPqDev>[]>([
enum: dictStore.getDictData('Dev_Manufacturers'), enum: dictStore.getDictData('Dev_Manufacturers'),
isShow: appSceneStore.currentScene != '1', isShow: appSceneStore.currentScene != '1',
...(appSceneStore.currentScene != '1' ? { ...(appSceneStore.currentScene != '1' ? {
search: { el: 'select', props: { filterable: true }, order: 1 }, search: {el: 'select', props: {filterable: true}, order: 1},
fieldNames: { label: 'name', value: 'id' }, fieldNames: {label: 'name', value: 'id'},
} : {}), } : {}),
minWidth: 200, minWidth: 200,
}, },
@@ -174,19 +168,19 @@ const columns = reactive<ColumnProps<Device.ResPqDev>[]>([
width: 200, width: 200,
render: scope => { render: scope => {
if (scope.row.createTime) { if (scope.row.createTime) {
const date = new Date(scope.row.createTime); const date = new Date(scope.row.createTime);
const year = date.getFullYear(); const year = date.getFullYear();
const month = String(date.getMonth() + 1).padStart(2, '0'); const month = String(date.getMonth() + 1).padStart(2, '0');
const day = String(date.getDate()).padStart(2, '0'); const day = String(date.getDate()).padStart(2, '0');
const hours = String(date.getHours()).padStart(2, '0'); const hours = String(date.getHours()).padStart(2, '0');
const minutes = String(date.getMinutes()).padStart(2, '0'); const minutes = String(date.getMinutes()).padStart(2, '0');
const seconds = String(date.getSeconds()).padStart(2, '0'); const seconds = String(date.getSeconds()).padStart(2, '0');
return `${year}-${month}-${day} ${hours}:${minutes}:${seconds}`; return `${year}-${month}-${day} ${hours}:${minutes}:${seconds}`;
} }
return ''; return '';
} }
}, },
{ prop: 'operation', label: '操作', fixed: 'right', width: 200 }, {prop: 'operation', label: '操作', fixed: 'right', width: 200},
]) ])
@@ -206,8 +200,8 @@ const openDialog = (titleType: string, row: Partial<Device.ResPqDev> = {}) => {
// 批量删除设备 // 批量删除设备
const batchDelete = async (id: string[]) => { const batchDelete = async (id: string[]) => {
const patternId = dictStore.getDictData('Pattern').find(item => item.name === modeStore.currentMode)?.id ?? ''//获取数据字典中对应的id const patternId = dictStore.getDictData('Pattern').find(item => item.name === modeStore.currentMode)?.id ?? ''//获取数据字典中对应的id
await useHandleData(deletePqDev, { 'ids': id, 'pattern': patternId }, '删除所选设备') await useHandleData(deletePqDev, {'ids': id, 'pattern': patternId}, '删除所选设备')
proTable.value?.clearSelection() proTable.value?.clearSelection()
proTable.value?.getTableList() proTable.value?.getTableList()
} }
@@ -215,9 +209,9 @@ const batchDelete = async (id: string[]) => {
// 删除设备 // 删除设备
const handleDelete = async (params: Device.ResPqDev) => { const handleDelete = async (params: Device.ResPqDev) => {
const patternId = dictStore.getDictData('Pattern').find(item => item.name === modeStore.currentMode)?.id//获取数据字典中对应的id const patternId = dictStore.getDictData('Pattern').find(item => item.name === modeStore.currentMode)?.id//获取数据字典中对应的id
await useHandleData(deletePqDev, { 'ids': [params.id], 'pattern': patternId }, `删除【${params.name}】设备`) await useHandleData(deletePqDev, {'ids': [params.id], 'pattern': patternId}, `删除【${params.name}】设备`)
proTable.value?.getTableList() proTable.value?.getTableList()
} }
// 导出设备 // 导出设备
@@ -229,9 +223,9 @@ const downloadFile = async () => {
searchParam.searchBeginTime = startDate.value searchParam.searchBeginTime = startDate.value
searchParam.searchEndTime = endDate.value searchParam.searchEndTime = endDate.value
ElMessageBox.confirm('确认导出被检设备?', '温馨提示', { type: 'warning' }).then(() => { ElMessageBox.confirm('确认导出被检设备?', '温馨提示', {type: 'warning'}).then(() => {
const patternId = dictStore.getDictData('Pattern').find(item => item.name === modeStore.currentMode)?.id//获取数据字典中对应的id const patternId = dictStore.getDictData('Pattern').find(item => item.name === modeStore.currentMode)?.id//获取数据字典中对应的id
useDownload(exportCNDev, '被检设备导出数据', { ...proTable.value?.searchParam, pattern: patternId }, false, '.xlsx') useDownload(exportPqDev, '被检设备导出数据', {...proTable.value?.searchParam, pattern: patternId}, false, '.xlsx')
}) })
} }
@@ -254,8 +248,8 @@ const importFile = async (pattern: string) => {
title: '被检设备', title: '被检设备',
showCover: false, showCover: false,
patternId: dictStore.getDictData('Pattern').find(item => item.name === modeStore.currentMode)?.id, patternId: dictStore.getDictData('Pattern').find(item => item.name === modeStore.currentMode)?.id,
tempApi: downloadCNDevTemplate, tempApi: downloadTemplate,
importApi: importCNDev, importApi: importPqDev,
// importApi: modeStore.currentMode === "比对式"? importContrastPqDev: importCNDev, // importApi: modeStore.currentMode === "比对式"? importContrastPqDev: importCNDev,
getTableList: proTable.value?.getTableList, getTableList: proTable.value?.getTableList,
} }