diff --git a/src/api/mes/deviceledger/index.ts b/src/api/mes/deviceledger/index.ts index aef0ac75..53559a29 100644 --- a/src/api/mes/deviceledger/index.ts +++ b/src/api/mes/deviceledger/index.ts @@ -23,6 +23,8 @@ export interface DeviceLedgerVO { remark: string // 备注 fileUrl?: string // 附件下载 componentId?: string // 关键件,ids集合 + inspectionList?: any[] + maintainList?: any[] creator?: string // 创建人 createTime?: string | number | Date updateTime?: string | number | Date diff --git a/src/api/mes/dvrepair/index.ts b/src/api/mes/dvrepair/index.ts index 1a191f32..edbe9d93 100644 --- a/src/api/mes/dvrepair/index.ts +++ b/src/api/mes/dvrepair/index.ts @@ -1,62 +1,62 @@ -import request from '@/config/axios' - -// 设备维修记录 VO -export interface DvRepairVO { - id: number // ID - repairCode: string // 维修单编号 - repairName: string // 维修单名称 - machineryId: number // 设备ID - machineryCode: string // 设备编码 - machineryName: string // 设备名称 - machineryBrand: string // 品牌 - machinerySpec: string // 规格型号 - machineryTypeId: number // 设备类型 - requireDate: Date // 报修日期 - finishDate: Date // 完成日期 - confirmDate: Date // 验收日期 - repairResult: string // 维修结果 - acceptedBy: string // 维修人员 - confirmBy: string // 验收人员 - status: string // 单据状态 - remark: string // 备注 -} - -// 设备维修记录 API -export const DvRepairApi = { - // 查询设备维修记录分页 - getDvRepairPage: async (params: any) => { - return await request.get({ url: `/mes/dv-repair/page`, params }) - }, - - // 查询设备维修记录详情 - getDvRepair: async (id: number) => { - return await request.get({ url: `/mes/dv-repair/get?id=` + id }) - }, - - // 新增设备维修记录 - createDvRepair: async (data: DvRepairVO) => { - return await request.post({ url: `/mes/dv-repair/create`, data }) - }, - - // 修改设备维修记录 - updateDvRepair: async (data: DvRepairVO) => { - return await request.put({ url: `/mes/dv-repair/update`, data }) - }, - - // 删除设备维修记录 - deleteDvRepair: async (id: number) => { - return await request.delete({ url: `/mes/dv-repair/delete?id=` + id }) - }, - - // 导出设备维修记录 Excel - exportDvRepair: async (params) => { - return await request.download({ url: `/mes/dv-repair/export-excel`, params }) - }, - -// ==================== 子表(设备维修记录行) ==================== - - // 获得设备维修记录行列表 - getDvRepairLineListByRepairId: async (repairId) => { - return await request.get({ url: `/mes/dv-repair/dv-repair-line/list-by-repair-id?repairId=` + repairId }) - }, -} \ No newline at end of file +import request from '@/config/axios' + +// 设备维修记录 VO +export interface DvRepairVO { + id: number // ID + repairCode: string // 维修单编号 + repairName: string // 维修单名称 + machineryId: number // 设备ID + machineryCode: string // 设备编码 + machineryName: string // 设备名称 + machineryBrand: string // 品牌 + machinerySpec: string // 规格型号 + machineryTypeId: number // 设备类型 + requireDate: Date // 报修日期 + finishDate: Date // 完成日期 + confirmDate: Date // 验收日期 + repairResult: string // 维修结果 + acceptedBy: string // 维修人员 + confirmBy: string // 验收人员 + status: string // 单据状态 + remark: string // 备注 +} + +// 设备维修记录 API +export const DvRepairApi = { + // 查询设备维修记录分页 + getDvRepairPage: async (params: any) => { + return await request.get({ url: `/mes/dv-repair/page`, params }) + }, + + // 查询设备维修记录详情 + getDvRepair: async (id: number) => { + return await request.get({ url: `/mes/dv-repair/get?id=` + id }) + }, + + // 新增设备维修记录 + createDvRepair: async (data: DvRepairVO) => { + return await request.post({ url: `/mes/dv-repair/create`, data }) + }, + + // 修改设备维修记录 + updateDvRepair: async (data: DvRepairVO) => { + return await request.put({ url: `/mes/dv-repair/update`, data }) + }, + + // 删除设备维修记录 + deleteDvRepair: async (ids: string) => { + return await request.delete({ url: `/mes/dv-repair/delete?ids=` + ids }) + }, + + // 导出设备维修记录 Excel + exportDvRepair: async (params) => { + return await request.download({ url: `/mes/dv-repair/export-excel`, params }) + }, + +// ==================== 子表(设备维修记录行) ==================== + + // 获得设备维修记录行列表 + getDvRepairLineListByRepairId: async (repairId) => { + return await request.get({ url: `/mes/dv-repair/dv-repair-line/list-by-repair-id?repairId=` + repairId }) + }, +} diff --git a/src/api/mes/repairItems/index.ts b/src/api/mes/repairItems/index.ts new file mode 100644 index 00000000..fc36d3a2 --- /dev/null +++ b/src/api/mes/repairItems/index.ts @@ -0,0 +1,49 @@ +import request from '@/config/axios' + +export interface RepairItemVO { + id?: number + subjectCode: string + subjectName: string + deviceType: string | number + deviceId?: string | number + componentId?: string | number + inspectionMethod?: string + valueType?: string + judgmentCriteria?: string + isEnable: string + deviceName?: string + componentName?: string + creatorName?: string + createTime?: string | number | Date + projectContent?: string +} + +export const RepairItemsApi = { + getRepairItemsPage: async (params: any) => { + return await request.get({ url: `/mes/repair-tems/page`, params }) + }, + + getComponentList: async (deviceId: number) => { + return await request.get({ url: `/mes/repair-tems/getComponentList`, params: { deviceId } }) + }, + + getDeviceOrComponentList: async (params: { deviceId: number; componentId?: number; deviceType: number }) => { + return await request.get({ url: `/mes/repair-tems/getDeviceOrComponentList`, params }) + }, + + createRepairItem: async (data: RepairItemVO) => { + return await request.post({ url: `/mes/repair-tems/create`, data }) + }, + + updateRepairItem: async (data: RepairItemVO) => { + return await request.put({ url: `/mes/repair-tems/update`, data }) + }, + + deleteRepairItems: async (ids: string) => { + return await request.delete({ url: `/mes/repair-tems/delete?ids=` + ids }) + }, + + exportRepairItems: async (params: any) => { + return await request.download({ url: `/mes/repair-tems/export-excel`, params }) + } +} diff --git a/src/views/erp/mold/components/MoldBrandProductList.vue b/src/views/erp/mold/components/MoldBrandProductList.vue index 41e4e88b..5f48f0cf 100644 --- a/src/views/erp/mold/components/MoldBrandProductList.vue +++ b/src/views/erp/mold/components/MoldBrandProductList.vue @@ -73,19 +73,6 @@ const queryParams = reactive({ brandId: undefined as unknown }) -/** 监听主表的关联字段的变化,加载对应的子表数据 */ -watch( - () => props.brandId, - (val: number) => { - if (!val) { - return - } - queryParams.brandId = val - handleQuery() - }, - { immediate: true, deep: true } -) - /** 查询列表 */ const getList = async () => { loading.value = true @@ -104,6 +91,19 @@ const handleQuery = () => { getList() } +/** 监听主表的关联字段的变化,加载对应的子表数据 */ +watch( + () => props.brandId, + (val: number) => { + if (!val) { + return + } + queryParams.brandId = val + handleQuery() + }, + { immediate: true, deep: true } +) + /** 添加/修改操作 */ const formRef = ref() const openForm = (type: string, id?: number) => { diff --git a/src/views/erp/mold/components/MoldList.vue b/src/views/erp/mold/components/MoldList.vue index 4a16a4a8..3f580671 100644 --- a/src/views/erp/mold/components/MoldList.vue +++ b/src/views/erp/mold/components/MoldList.vue @@ -12,9 +12,9 @@ - - - + + + + @@ -106,19 +107,6 @@ const queryParams = reactive({ brandId: undefined as unknown }) -/** 监听主表的关联字段的变化,加载对应的子表数据 */ -watch( - () => props.brandId, - (val: number) => { - if (!val) { - return - } - queryParams.brandId = val - handleQuery() - }, - { immediate: true, deep: true } -) - /** 查询列表 */ const getList = async () => { loading.value = true @@ -137,6 +125,19 @@ const handleQuery = () => { getList() } +/** 监听主表的关联字段的变化,加载对应的子表数据 */ +watch( + () => props.brandId, + (val: number) => { + if (!val) { + return + } + queryParams.brandId = val + handleQuery() + }, + { immediate: true, deep: true } +) + /** 添加/修改操作 */ const formRef = ref() const openForm = (type: string, id?: number) => { diff --git a/src/views/erp/mold/index.vue b/src/views/erp/mold/index.vue index 22b2fcfd..cae22f8a 100644 --- a/src/views/erp/mold/index.vue +++ b/src/views/erp/mold/index.vue @@ -26,31 +26,21 @@ class="!w-240px" /> - - - - + - + - - - 搜索 @@ -103,13 +84,17 @@ + @@ -168,26 +153,31 @@ - + +
+ {{ currentBrandDisplay }} +
- - - - + +
+ + + diff --git a/src/views/iot/deviceParamAnalysis/index.vue b/src/views/iot/deviceParamAnalysis/index.vue index cccd34b3..0353ca11 100644 --- a/src/views/iot/deviceParamAnalysis/index.vue +++ b/src/views/iot/deviceParamAnalysis/index.vue @@ -59,7 +59,13 @@ />
- + +
@@ -120,6 +126,7 @@ const selectedModelId = ref(undefined) const selectedParam = ref(null) const chartLoading = ref(false) +const chartState = ref<'idle' | 'loading' | 'empty' | 'ready'>('idle') const chartXAxis = ref([]) const chartSeries = ref<{ name: string; data: Array }[]>([]) const chartRenderKey = ref(0) @@ -251,6 +258,7 @@ const loadTree = async () => { selectedParam.value = null selectedDeviceId.value = undefined selectedModelId.value = undefined + chartState.value = 'idle' chartXAxis.value = [] chartSeries.value = [] } @@ -300,6 +308,7 @@ const fetchChart = async () => { return date.includes(':') ? date : `${date} ${suffix}` } + chartState.value = 'loading' chartLoading.value = true resetChartData() try { @@ -313,6 +322,7 @@ const fetchChart = async () => { if (!rows.length) { chartXAxis.value = [] chartSeries.value = [] + chartState.value = 'empty' return } @@ -356,8 +366,11 @@ const fetchChart = async () => { const values = keys.map((k) => toNumber(firstRow[k])) chartSeries.value = [{ name: param?.label || '参数', data: values }] } + + chartState.value = chartXAxis.value.length && chartSeries.value.length ? 'ready' : 'empty' } catch { message.error('获取图表数据失败') + chartState.value = 'idle' } finally { chartLoading.value = false } diff --git a/src/views/mes/deviceledger/index.vue b/src/views/mes/deviceledger/index.vue index 8968bfa5..f63a0912 100644 --- a/src/views/mes/deviceledger/index.vue +++ b/src/views/mes/deviceledger/index.vue @@ -2,57 +2,35 @@
+v-loading="typeTreeLoading" :data="typeTreeData" node-key="id" highlight-current :props="typeTreeProps" + :default-expanded-keys="typeTreeExpandedKeys" :expand-on-click-node="false" @node-click="handleTypeNodeClick" />
- + +v-model="queryParams.deviceCode" placeholder="请输入编码" clearable @keyup.enter="handleQuery" + class="!w-240px" /> +v-model="queryParams.deviceName" placeholder="请输入名称" clearable @keyup.enter="handleQuery" + class="!w-240px" /> - + - 搜索 - 重置 + + 搜索 + + + 重置 + 新增 @@ -60,12 +38,8 @@ 批量删除 +type="success" plain @click="handleExport" :loading="exportLoading" + v-hasPermi="['mes:device-ledger:export']"> 导出 @@ -74,14 +48,8 @@ +ref="tableRef" v-loading="loading" :data="list" :stripe="true" :show-overflow-tooltip="true" + row-key="id" @selection-change="handleSelectionChange">