From 4a92762d441c5e9c2df58fc9ee1f083a4d33f8e1 Mon Sep 17 00:00:00 2001 From: YunaiV Date: Tue, 26 May 2026 00:08:46 +0800 Subject: [PATCH] =?UTF-8?q?fix(mes):=20=E4=BF=AE=E6=AD=A3=E5=AE=89?= =?UTF-8?q?=E7=81=AF=E8=BF=81=E7=A7=BB=E7=9A=84=E9=85=8D=E7=BD=AE=E8=A7=92?= =?UTF-8?q?=E8=89=B2=E6=98=BE=E7=A4=BA=E5=92=8C=E8=AE=B0=E5=BD=95=E5=8F=AA?= =?UTF-8?q?=E8=AF=BB=E5=AD=97=E6=AE=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/api/mes/pro/andon/config/index.ts | 1 + .../src/views/mes/pro/andon/config/data.ts | 13 +- .../src/views/mes/pro/andon/record/data.ts | 190 +++++++++++------- .../src/api/mes/pro/andon/config/index.ts | 1 + .../src/views/mes/pro/andon/config/data.ts | 13 +- .../src/views/mes/pro/andon/record/data.ts | 190 +++++++++++------- 6 files changed, 242 insertions(+), 166 deletions(-) diff --git a/apps/web-antd/src/api/mes/pro/andon/config/index.ts b/apps/web-antd/src/api/mes/pro/andon/config/index.ts index d21621877..9309a0c8c 100644 --- a/apps/web-antd/src/api/mes/pro/andon/config/index.ts +++ b/apps/web-antd/src/api/mes/pro/andon/config/index.ts @@ -9,6 +9,7 @@ export namespace MesProAndonConfigApi { reason?: string; // 呼叫原因 level?: number; // 级别 handlerRoleId?: number; // 处置角色编号 + handlerRoleName?: string; // 处置角色名称 handlerUserId?: number; // 处置人编号 handlerUserNickname?: string; // 处置人昵称 remark?: string; // 备注 diff --git a/apps/web-antd/src/views/mes/pro/andon/config/data.ts b/apps/web-antd/src/views/mes/pro/andon/config/data.ts index f8ff65c18..42b7c1860 100644 --- a/apps/web-antd/src/views/mes/pro/andon/config/data.ts +++ b/apps/web-antd/src/views/mes/pro/andon/config/data.ts @@ -1,7 +1,6 @@ import type { VbenFormSchema } from '#/adapter/form'; import type { VxeTableGridOptions } from '#/adapter/vxe-table'; import type { MesProAndonConfigApi } from '#/api/mes/pro/andon/config'; -import type { SystemRoleApi } from '#/api/system/role'; import { DICT_TYPE } from '@vben/constants'; import { getDictOptions } from '@vben/hooks'; @@ -10,10 +9,6 @@ import { z } from '#/adapter/form'; import { getSimpleRoleList } from '#/api/system/role'; import { getSimpleUserList } from '#/api/system/user'; -/** 关联数据 */ -let roleList: SystemRoleApi.Role[] = []; -getSimpleRoleList().then((data) => (roleList = data)); - /** 安灯配置列表的字段 */ export function useGridColumns(): VxeTableGridOptions['columns'] { return [ @@ -27,13 +22,7 @@ export function useGridColumns(): VxeTableGridOptions - roleList.find((role) => role.id === cellValue)?.name ?? '', - }, + { field: 'handlerRoleName', title: '处置角色', width: 140 }, { field: 'handlerUserNickname', title: '处置人', width: 140 }, { field: 'remark', title: '备注', minWidth: 160 }, { diff --git a/apps/web-antd/src/views/mes/pro/andon/record/data.ts b/apps/web-antd/src/views/mes/pro/andon/record/data.ts index 0a58427b1..017596872 100644 --- a/apps/web-antd/src/views/mes/pro/andon/record/data.ts +++ b/apps/web-antd/src/views/mes/pro/andon/record/data.ts @@ -128,7 +128,7 @@ export function useGridColumns(): VxeTableGridOptions false }, }, - { - fieldName: 'workstationId', - label: '工作站', - component: markRaw(MdWorkstationSelect), - componentProps: { - disabled: !isCreate, - placeholder: '请选择工作站', - }, - rules: 'selectRequired', - }, - { - fieldName: 'userId', - label: '发起人', - component: 'ApiSelect', - componentProps: { - allowClear: true, - api: getSimpleUserList, - disabled: !isCreate, - labelField: 'nickname', - placeholder: '请选择发起人', - valueField: 'id', - }, - }, - { - fieldName: 'workOrderId', - label: '生产工单', - component: markRaw(ProWorkOrderSelect), - componentProps: { - disabled: !isCreate, - placeholder: '请选择工单(可选)', - status: MesProWorkOrderStatusEnum.CONFIRMED, - }, - }, - { - fieldName: 'processId', - label: '工序', - component: markRaw(ProProcessSelect), - componentProps: { - disabled: !isCreate, - placeholder: '请选择工序(可选)', - }, - }, - { - fieldName: 'configId', - label: '呼叫原因', - component: markRaw(AndonConfigSelect), - componentProps: { - disabled: !isCreate, - // 选择呼叫原因后,自动填充对应的级别 - onChange: async (config?: MesProAndonConfigApi.AndonConfig) => { - await formApi?.setValues({ - level: config?.level, - reason: config?.reason, - }); + isCreate + ? { + fieldName: 'workstationId', + label: '工作站', + component: markRaw(MdWorkstationSelect), + componentProps: { + placeholder: '请选择工作站', + }, + rules: 'selectRequired', + } + : { + fieldName: 'workstationName', + label: '工作站', + component: 'Input', + componentProps: { + disabled: true, + }, + }, + isCreate + ? { + fieldName: 'userId', + label: '发起人', + component: 'ApiSelect', + componentProps: { + allowClear: true, + api: getSimpleUserList, + labelField: 'nickname', + placeholder: '请选择发起人', + valueField: 'id', + }, + } + : { + fieldName: 'userNickname', + label: '发起人', + component: 'Input', + componentProps: { + disabled: true, + }, + }, + isCreate + ? { + fieldName: 'workOrderId', + label: '生产工单', + component: markRaw(ProWorkOrderSelect), + componentProps: { + placeholder: '请选择工单(可选)', + status: MesProWorkOrderStatusEnum.CONFIRMED, + }, + } + : { + fieldName: 'workOrderCode', + label: '生产工单', + component: 'Input', + componentProps: { + disabled: true, + }, + }, + isCreate + ? { + fieldName: 'processId', + label: '工序', + component: markRaw(ProProcessSelect), + componentProps: { + placeholder: '请选择工序(可选)', + }, + } + : { + fieldName: 'processName', + label: '工序', + component: 'Input', + componentProps: { + disabled: true, + }, + }, + isCreate + ? { + fieldName: 'configId', + label: '呼叫原因', + component: markRaw(AndonConfigSelect), + componentProps: { + // 选择呼叫原因后,自动填充对应的级别 + onChange: async (config?: MesProAndonConfigApi.AndonConfig) => { + await formApi?.setValues({ + level: config?.level, + reason: config?.reason, + }); + }, + }, + rules: 'selectRequired', + } + : { + fieldName: 'reason', + label: '呼叫原因', + component: 'Input', + componentProps: { + disabled: true, + }, }, - }, - rules: 'selectRequired', - }, { fieldName: 'level', label: '级别', @@ -239,19 +279,27 @@ export function useFormSchema( valueFormat: 'x', }, }, - { - fieldName: 'handlerUserId', - label: '处置人', - component: 'ApiSelect', - componentProps: { - allowClear: true, - api: getSimpleUserList, - disabled: !isUpdate, - labelField: 'nickname', - placeholder: '请选择处置人', - valueField: 'id', - }, - }, + isUpdate + ? { + fieldName: 'handlerUserId', + label: '处置人', + component: 'ApiSelect', + componentProps: { + allowClear: true, + api: getSimpleUserList, + labelField: 'nickname', + placeholder: '请选择处置人', + valueField: 'id', + }, + } + : { + fieldName: 'handlerUserNickname', + label: '处置人', + component: 'Input', + componentProps: { + disabled: true, + }, + }, ] as VbenFormSchema[])), { fieldName: 'remark', diff --git a/apps/web-ele/src/api/mes/pro/andon/config/index.ts b/apps/web-ele/src/api/mes/pro/andon/config/index.ts index d21621877..9309a0c8c 100644 --- a/apps/web-ele/src/api/mes/pro/andon/config/index.ts +++ b/apps/web-ele/src/api/mes/pro/andon/config/index.ts @@ -9,6 +9,7 @@ export namespace MesProAndonConfigApi { reason?: string; // 呼叫原因 level?: number; // 级别 handlerRoleId?: number; // 处置角色编号 + handlerRoleName?: string; // 处置角色名称 handlerUserId?: number; // 处置人编号 handlerUserNickname?: string; // 处置人昵称 remark?: string; // 备注 diff --git a/apps/web-ele/src/views/mes/pro/andon/config/data.ts b/apps/web-ele/src/views/mes/pro/andon/config/data.ts index a83f6cef4..ea3288193 100644 --- a/apps/web-ele/src/views/mes/pro/andon/config/data.ts +++ b/apps/web-ele/src/views/mes/pro/andon/config/data.ts @@ -1,7 +1,6 @@ import type { VbenFormSchema } from '#/adapter/form'; import type { VxeTableGridOptions } from '#/adapter/vxe-table'; import type { MesProAndonConfigApi } from '#/api/mes/pro/andon/config'; -import type { SystemRoleApi } from '#/api/system/role'; import { DICT_TYPE } from '@vben/constants'; import { getDictOptions } from '@vben/hooks'; @@ -10,10 +9,6 @@ import { z } from '#/adapter/form'; import { getSimpleRoleList } from '#/api/system/role'; import { getSimpleUserList } from '#/api/system/user'; -/** 关联数据 */ -let roleList: SystemRoleApi.Role[] = []; -getSimpleRoleList().then((data) => (roleList = data)); - /** 安灯配置列表的字段 */ export function useGridColumns(): VxeTableGridOptions['columns'] { return [ @@ -27,13 +22,7 @@ export function useGridColumns(): VxeTableGridOptions - roleList.find((role) => role.id === cellValue)?.name ?? '', - }, + { field: 'handlerRoleName', title: '处置角色', width: 140 }, { field: 'handlerUserNickname', title: '处置人', width: 140 }, { field: 'remark', title: '备注', minWidth: 160 }, { diff --git a/apps/web-ele/src/views/mes/pro/andon/record/data.ts b/apps/web-ele/src/views/mes/pro/andon/record/data.ts index a0734a6e0..affc820bb 100644 --- a/apps/web-ele/src/views/mes/pro/andon/record/data.ts +++ b/apps/web-ele/src/views/mes/pro/andon/record/data.ts @@ -128,7 +128,7 @@ export function useGridColumns(): VxeTableGridOptions false }, }, - { - fieldName: 'workstationId', - label: '工作站', - component: markRaw(MdWorkstationSelect), - componentProps: { - disabled: !isCreate, - placeholder: '请选择工作站', - }, - rules: 'selectRequired', - }, - { - fieldName: 'userId', - label: '发起人', - component: 'ApiSelect', - componentProps: { - api: getSimpleUserList, - clearable: true, - disabled: !isCreate, - labelField: 'nickname', - placeholder: '请选择发起人', - valueField: 'id', - }, - }, - { - fieldName: 'workOrderId', - label: '生产工单', - component: markRaw(ProWorkOrderSelect), - componentProps: { - disabled: !isCreate, - placeholder: '请选择工单(可选)', - status: MesProWorkOrderStatusEnum.CONFIRMED, - }, - }, - { - fieldName: 'processId', - label: '工序', - component: markRaw(ProProcessSelect), - componentProps: { - disabled: !isCreate, - placeholder: '请选择工序(可选)', - }, - }, - { - fieldName: 'configId', - label: '呼叫原因', - component: markRaw(AndonConfigSelect), - componentProps: { - disabled: !isCreate, - // 选择呼叫原因后,自动填充对应的级别 - onChange: async (config?: MesProAndonConfigApi.AndonConfig) => { - await formApi?.setValues({ - level: config?.level, - reason: config?.reason, - }); + isCreate + ? { + fieldName: 'workstationId', + label: '工作站', + component: markRaw(MdWorkstationSelect), + componentProps: { + placeholder: '请选择工作站', + }, + rules: 'selectRequired', + } + : { + fieldName: 'workstationName', + label: '工作站', + component: 'Input', + componentProps: { + disabled: true, + }, + }, + isCreate + ? { + fieldName: 'userId', + label: '发起人', + component: 'ApiSelect', + componentProps: { + api: getSimpleUserList, + clearable: true, + labelField: 'nickname', + placeholder: '请选择发起人', + valueField: 'id', + }, + } + : { + fieldName: 'userNickname', + label: '发起人', + component: 'Input', + componentProps: { + disabled: true, + }, + }, + isCreate + ? { + fieldName: 'workOrderId', + label: '生产工单', + component: markRaw(ProWorkOrderSelect), + componentProps: { + placeholder: '请选择工单(可选)', + status: MesProWorkOrderStatusEnum.CONFIRMED, + }, + } + : { + fieldName: 'workOrderCode', + label: '生产工单', + component: 'Input', + componentProps: { + disabled: true, + }, + }, + isCreate + ? { + fieldName: 'processId', + label: '工序', + component: markRaw(ProProcessSelect), + componentProps: { + placeholder: '请选择工序(可选)', + }, + } + : { + fieldName: 'processName', + label: '工序', + component: 'Input', + componentProps: { + disabled: true, + }, + }, + isCreate + ? { + fieldName: 'configId', + label: '呼叫原因', + component: markRaw(AndonConfigSelect), + componentProps: { + // 选择呼叫原因后,自动填充对应的级别 + onChange: async (config?: MesProAndonConfigApi.AndonConfig) => { + await formApi?.setValues({ + level: config?.level, + reason: config?.reason, + }); + }, + }, + rules: 'selectRequired', + } + : { + fieldName: 'reason', + label: '呼叫原因', + component: 'Input', + componentProps: { + disabled: true, + }, }, - }, - rules: 'selectRequired', - }, { fieldName: 'level', label: '级别', @@ -240,19 +280,27 @@ export function useFormSchema( valueFormat: 'x', }, }, - { - fieldName: 'handlerUserId', - label: '处置人', - component: 'ApiSelect', - componentProps: { - api: getSimpleUserList, - clearable: true, - disabled: !isUpdate, - labelField: 'nickname', - placeholder: '请选择处置人', - valueField: 'id', - }, - }, + isUpdate + ? { + fieldName: 'handlerUserId', + label: '处置人', + component: 'ApiSelect', + componentProps: { + api: getSimpleUserList, + clearable: true, + labelField: 'nickname', + placeholder: '请选择处置人', + valueField: 'id', + }, + } + : { + fieldName: 'handlerUserNickname', + label: '处置人', + component: 'Input', + componentProps: { + disabled: true, + }, + }, ] as VbenFormSchema[])), { fieldName: 'remark',