From 91eff4781fa4142d1f62d30a0fa1de5cae424eaf Mon Sep 17 00:00:00 2001
From: liu <2021943741@qq.com>
Date: 星期三, 16 九月 2026 18:23:12 +0800
Subject: [PATCH] refactor: 单据审核改为审批配置状态机(前端统一审核弹窗)
---
src/views/mes/pd/tech-confirm/modules/form.vue | 29 ++++++++++++++++++++++++++---
1 files changed, 26 insertions(+), 3 deletions(-)
diff --git a/src/views/mes/pd/tech-confirm/modules/form.vue b/src/views/mes/pd/tech-confirm/modules/form.vue
index 5ae8653..85a8dfe 100644
--- a/src/views/mes/pd/tech-confirm/modules/form.vue
+++ b/src/views/mes/pd/tech-confirm/modules/form.vue
@@ -8,6 +8,8 @@
import { useVbenModal } from '@vben/common-ui';
import { $t } from '@vben/locales';
+ import { MesPdTechConfirmStatusEnum } from '#/packages/constants/src';
+
import { message } from 'ant-design-vue';
import { useVbenForm } from '#/adapter/form';
@@ -55,8 +57,21 @@
return;
}
modalApi.lock();
- // 鎻愪氦琛ㄥ崟
- const data = (await formApi.getValues()) as MesPdTechConfirmApi.TechConfirm;
+ // 鎻愪氦琛ㄥ崟锛氬彧鎻愪氦鐢ㄦ埛鍙~鍐欑殑涓氬姟瀛楁锛岀姸鎬佷笌娴佺▼娲剧敓瀛楁鐢卞悗绔寜娴佺▼鎺ㄨ繘锛屼笉鍥炰紶
+ const {
+ status,
+ drafterId,
+ drafterName,
+ draftTime,
+ reviewerId,
+ reviewerName,
+ reviewTime,
+ reviewRemark,
+ customerConfirmUser,
+ customerConfirmTime,
+ ...values
+ } = await formApi.getValues();
+ const data = values as MesPdTechConfirmApi.TechConfirm;
try {
await (data.id ? updateTechConfirm(data) : createTechConfirm(data));
// 鍏抽棴骞舵彁绀�
@@ -75,7 +90,7 @@
// 鍔犺浇鏁版嵁
const data = modalApi.getData<{ formType: FormType; id?: number }>();
formType.value = data.formType;
- formApi.setState({ schema: useFormSchema(formApi) });
+ formApi.setState({ schema: useFormSchema(formType.value, formApi) });
formApi.setDisabled(formType.value === 'detail');
modalApi.setState({ showConfirmButton: formType.value !== 'detail' });
if (!data?.id) {
@@ -86,6 +101,14 @@
formData.value = await getTechConfirm(data.id);
// 璁剧疆鍒� values
await formApi.setValues(formData.value);
+ // 浠呰崏绋夸笌瀹℃牳涓嶉�氳繃鍙慨鏀癸紱寰呭鏍� / 宸插鏍� / 瀹㈡埛宸茬‘璁や负閿佸畾鎴栫粓鎬�
+ const editable =
+ formData.value?.status === MesPdTechConfirmStatusEnum.DRAFT ||
+ formData.value?.status === MesPdTechConfirmStatusEnum.REJECTED;
+ if (!editable) {
+ formApi.setDisabled(true);
+ modalApi.setState({ showConfirmButton: false });
+ }
} finally {
modalApi.unlock();
}
--
Gitblit v1.9.3