From 1f0a8387b1f012a12129429c4c1659e1f8e75e9b Mon Sep 17 00:00:00 2001 From: liutao <790864623@qq.com> Date: Mon, 1 Jun 2026 15:09:25 +0800 Subject: [PATCH] =?UTF-8?q?=E8=A7=A3=E5=86=B3=E5=86=B2=E7=AA=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/api/mes/deviceledger/index.ts | 7 ++- .../mes/deviceledger/detail/editIndex.vue | 61 +++++++++++++------ 2 files changed, 48 insertions(+), 20 deletions(-) diff --git a/src/api/mes/deviceledger/index.ts b/src/api/mes/deviceledger/index.ts index d14f7e03..ff3d1883 100644 --- a/src/api/mes/deviceledger/index.ts +++ b/src/api/mes/deviceledger/index.ts @@ -111,5 +111,10 @@ export const DeviceLedgerApi = { exportDeviceComponent: async (params: any) => { return await request.download({ url: `/mes/device-critical-component/export-excel`, params }) - } + }, + + // 删除设备关键件明细 + deleteDeviceCriticalComponent: async (id: string) => { + return await request.delete({ url: `/mes/device-critical-component/delete?id=` + id }) + }, } diff --git a/src/views/mes/deviceledger/detail/editIndex.vue b/src/views/mes/deviceledger/detail/editIndex.vue index cf126644..d2041ac6 100644 --- a/src/views/mes/deviceledger/detail/editIndex.vue +++ b/src/views/mes/deviceledger/detail/editIndex.vue @@ -208,7 +208,7 @@ {{ t('action.export') }} - + @@ -225,6 +225,15 @@ + + + @@ -232,7 +241,7 @@
- {{ t('common.cancel') }} + {{ t('common.cancel') }} {{ t('common.save') }}
@@ -364,6 +373,7 @@ const message = useMessage() const route = useRoute() const { delView } = useTagsViewStore() const { currentRoute } = useRouter() +const router = useRouter() const appStore = useAppStore() const deviceId = computed(() => Number(route.params.id)) const detailLoading = ref(false) @@ -384,6 +394,7 @@ const updateActionBarRect = () => { actionBarStyle.width = rect.width + 'px' } +const tableRef = ref() const updateActionBarRectAfterLayout = () => { nextTick(updateActionBarRect) window.setTimeout(updateActionBarRect, 320) @@ -622,14 +633,12 @@ const selectedDeviceRows = ref([]) const ids = ref([]) const bjIds = ref([]) const openCriticalComponentDialog = () => { -/* criticalComponentDraft.value = [...(formData.value.componentIds ?? [])] - criticalComponentDialogVisible.value = true - ids.value = [...(formData.value.componentIds ?? [])] - setDefaultSelections()*/ - + queryParams.name = '' + queryParams.description = '' + queryParams.code = '' const rows = selectedDeviceRows.value.map((item) => ({ ...item, id: Number(item.id) })) criticalComponentSelectDialogRef.value?.open(rows) - let initIds= formData.value.machineId!=undefined?formData.value.machineId.toString().split(","):[] + let initIds= formData.value.componentIds!=undefined?formData.value.componentIds.toString().split(","):[] ids.value=initIds.map((id) => Number(id)) } const openBeijianDialog = () => { @@ -1014,13 +1023,14 @@ const submitForm = async () => { await DeviceLedgerApi.updateDeviceLedger(buildSubmitData()) message.success(t('common.updateSuccess')) await getDetail() + getDetailList() } finally { formLoading.value = false } } -const handleCancelEdit = async () => { - await getDetail() +const handleCancel = async () => { + router.back() } const handleExportCriticalComponent = async () => { if (!deviceId.value) return @@ -1111,6 +1121,7 @@ async function initForm() { beijianIds: parseIdsValue((detail as any)?.beijianId), qrcodeUrl: (detail as any)?.qrcodeUrl, } + ids.value=parseIdsValue((detail as any)?.componentId) savedCriticalComponentOptions.value = buildCriticalComponentOptions((detail as any)?.componentList ?? []) savedBeijianOptions.value = buildBeijianOptions((detail as any)?.beijianList ?? []) // syncCriticalComponentRows() @@ -1141,15 +1152,7 @@ const criticalComponentColumns = computed(() => [ const fetchCriticalComponentPage = async (params: Record) => { return await CriticalComponentApi.getCriticalComponentPage(params) } -const handleCriticalComponentSelectConfirm = ({ ids: selectedIds, rows }: { ids: Array; rows: any[] }) => { -/* selectedRows.value = rows - savedCriticalComponentOptions.value = mergeSelectionOptions(savedCriticalComponentOptions.value, buildCriticalComponentOptions(rows)) - const selected = filterValidSelectedIds( - [...(formData.value.componentIds ?? []), ...selectedIds], - mergeSelectionOptions(savedCriticalComponentOptions.value, criticalComponentOptions.value) - ) - formData.value.componentIds = selected - appendSelectedCriticalComponentRows(selected)*/ +const handleCriticalComponentSelectConfirm = (payload: { ids: (number | string)[]; rows: any[] }) => { formData.value.devices = payload.rows .map((item) => { const id = Number(item.id) @@ -1163,6 +1166,7 @@ const handleCriticalComponentSelectConfirm = ({ ids: selectedIds, rows }: { ids: selectedDeviceRows.value = payload.rows formData.value.machineId = payload.ids.join(',') ids.value = payload.ids.map((id) => Number(id)) + appendSelectedCriticalComponentRows(ids.value) } const buildCriticalComponentRowById = (id: number) => { @@ -1202,6 +1206,25 @@ const appendSelectedCriticalComponentRows = (selectedIds: number[]) => { editableCriticalComponentRows.value = [...editableCriticalComponentRows.value, ...rowsToAppend] } } +/** 删除按钮操作 */ +const buildIdsParam = (ids: number | number[]) => { + return Array.isArray(ids) ? ids.join(',') : String(ids) +} +const handleDelete = async (id: string) => { + try { + // 删除的二次确认 + await message.delConfirm() + editableCriticalComponentRows.value = editableCriticalComponentRows.value.filter((item: any) => item.id !== id) + await DeviceLedgerApi.deleteDeviceCriticalComponent(id) + message.success(t('common.delSuccess')) + selectedIds.value = [] + + tableRef.value?.clearSelection?.() + // 刷新列表 + //await getList() + } catch { + } +} onMounted(async () => { await ensureOptionsLoaded()