From 1deae1d89a7039ef0b943be291f6c1b9aaa5ad2c Mon Sep 17 00:00:00 2001
From: hsy <1029150275@qq.com>
Date: 星期一, 17 八月 2026 10:30:33 +0800
Subject: [PATCH] feat(mes): 生产报工新增「可报工数量」展示 - `src/api/mes/pro/task/index.ts`: `MesProTaskApi.Task` 接口新增 `reportableQuantity` (可报工数量) 字段定义 - `src/views/mes/pro/feedback/data.ts`: - 生产报工弹框表单中新增「可报工数量」字段展示,设置为不可编辑,且仅在新建/编辑模式下显示 - 在生产任务选择弹框 (`ProTaskSelect`) 的 `onChange` 事件中,自动从选中的任务对象中提取并带入 `reportableQuantity` - 完善了表单联动的重置逻辑,确保更换工单等操作时正确清空此字段
---
src/views/crm/receivable/plan/modules/form.vue | 19 +++++++++++++------
1 files changed, 13 insertions(+), 6 deletions(-)
diff --git a/src/views/crm/receivable/plan/modules/form.vue b/src/views/crm/receivable/plan/modules/form.vue
index 69e420b..2110d0d 100644
--- a/src/views/crm/receivable/plan/modules/form.vue
+++ b/src/views/crm/receivable/plan/modules/form.vue
@@ -26,6 +26,7 @@
const [Form, formApi] = useVbenForm({
commonConfig: {
+ labelWidth: 120,
componentProps: {
class: 'w-full',
},
@@ -45,6 +46,10 @@
modalApi.lock();
// 鎻愪氦琛ㄥ崟
const data = (await formApi.getValues()) as CrmReceivablePlanApi.Plan;
+ // 缂栬緫鏃堕渶瑕佹妸 id 琛ュ洖鎻愪氦鏁版嵁锛堣〃鍗� schema 涓嶅惈 id 瀛楁锛�
+ if (formData.value?.id) {
+ data.id = formData.value.id;
+ }
try {
await (formData.value?.id
? updateReceivablePlan(data)
@@ -63,17 +68,19 @@
return;
}
// 鍔犺浇鏁版嵁
+ formData.value = undefined;
+ await formApi.resetForm();
const data = modalApi.getData<CrmReceivablePlanApi.Plan>();
- if (!data || !data.id) {
- // 璁剧疆鍒� values
- await formApi.setValues(data);
+ if (!data) {
return;
}
modalApi.lock();
try {
- formData.value = await getReceivablePlan(data.id);
+ if (data.id) {
+ formData.value = await getReceivablePlan(data.id);
+ }
// 璁剧疆鍒� values
- await formApi.setValues(formData.value);
+ await formApi.setValues(formData.value ?? data);
} finally {
modalApi.unlock();
}
@@ -82,7 +89,7 @@
</script>
<template>
- <Modal :title="getTitle" class="w-2/5">
+ <Modal :title="getTitle" class="w-3/5">
<Form class="mx-4" />
</Modal>
</template>
--
Gitblit v1.9.3