diff --git a/src/api/mes/equipment.js b/src/api/mes/equipment.js index 2152385..b7bccd2 100644 --- a/src/api/mes/equipment.js +++ b/src/api/mes/equipment.js @@ -1,10 +1,10 @@ import request from '@/utils/request' -export function getEquipmentDetail(id) { +export function getEquipmentDetail(id, params = {}) { return request({ url: '/admin-api/mes/device-ledger/get', method: 'get', - params: { id } + params: { id, ...params } }) } diff --git a/src/pages_function/pages/equipment/detail.vue b/src/pages_function/pages/equipment/detail.vue index 1a4d3da..125aaa6 100644 --- a/src/pages_function/pages/equipment/detail.vue +++ b/src/pages_function/pages/equipment/detail.vue @@ -214,6 +214,8 @@ import { DICT_TYPE, getDictLabel } from '@/utils/dict' const loading = ref(false) const deviceId = ref(undefined) +const deviceCode = ref(undefined) +const equipmentType = ref(undefined) const detailData = ref(null) const inspectionList = ref([]) const maintainList = ref([]) @@ -336,24 +338,30 @@ function handleTabChange(e) { } onLoad((query) => { - const rawId = query && (query.id !== undefined ? query.id : query.code) + const rawId = query && query.id const decoded = rawId ? decodeURIComponent(String(rawId)) : '' deviceId.value = decoded ? decoded : undefined + equipmentType.value = query && query.type + deviceCode.value = query && query.code fetchAll() }) async function fetchAll() { - if (!deviceId.value) { + if (!deviceId.value && !deviceCode.value) { uni.showToast({ title: '缺少设备ID', icon: 'none' }) return } loading.value = true try { + const isScan = equipmentType.value === 'scan' + const idParam = isScan ? { id: deviceId.value } : { code: deviceCode.value } + const deviceIdParam = isScan ? { deviceId: deviceId.value } : { code: deviceCode.value } + const [detailRes, inspectionRes, maintainRes, repairRes] = await Promise.all([ - getEquipmentDetail(deviceId.value), - getEquipmentInspectionByDeviceId(deviceId.value), - getEquipmentMaintenanceByDeviceId(deviceId.value), - getEquipmentRepairListByDeviceId(deviceId.value) + getEquipmentDetail(deviceId.value, idParam), + getEquipmentInspectionByDeviceId(deviceId.value, deviceIdParam), + getEquipmentMaintenanceByDeviceId(deviceId.value, deviceIdParam), + getEquipmentRepairListByDeviceId(deviceId.value, deviceIdParam) ]) detailData.value = normalizeDetail(detailRes) inspectionList.value = normalizeList(inspectionRes) diff --git a/src/pages_function/pages/equipment/index.vue b/src/pages_function/pages/equipment/index.vue index 8350369..320654e 100644 --- a/src/pages_function/pages/equipment/index.vue +++ b/src/pages_function/pages/equipment/index.vue @@ -120,12 +120,18 @@ function confirmInput() { return; } - navigateToDetail(equipmentCode.value.trim()); + navigateToDetail(equipmentCode.value.trim(), 'input'); } -function navigateToDetail(code) { +function navigateToDetail(code, type = 'scan') { + let url + if (type === 'scan') { + url = `/pages_function/pages/equipment/detail?id=${encodeURIComponent(code)}&type=${type}` + } else { + url = `/pages_function/pages/equipment/detail?code=${code}&type=${type}` + } uni.navigateTo({ - url: `/pages_function/pages/equipment/detail?id=${encodeURIComponent(code)}` + url: url }); }