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/erp/finance/payment/modules/form.vue | 28 ++++++++++++++++++++++++++++
1 files changed, 28 insertions(+), 0 deletions(-)
diff --git a/src/views/erp/finance/payment/modules/form.vue b/src/views/erp/finance/payment/modules/form.vue
index d00de4a..b7652ed 100644
--- a/src/views/erp/finance/payment/modules/form.vue
+++ b/src/views/erp/finance/payment/modules/form.vue
@@ -17,6 +17,7 @@
getFinancePayment,
updateFinancePayment,
} from '#/api/erp/finance/payment';
+import { getPurchaseInvoiceSimpleList } from '#/api/erp/purchase/invoice';
import { useFormSchema } from '../data';
import ItemForm from './item-form.vue';
@@ -68,6 +69,11 @@
if (changedFields.includes('supplierId')) {
formData.value.supplierId = values.supplierId;
}
+ // 鍏宠仈鏉ョエ鍙樺寲鏃讹紝鍔犺浇鏉ョエ淇℃伅渚涙槑缁嗚嚜鍔ㄧ敓鎴�
+ if (changedFields.includes('invoiceId')) {
+ formData.value.invoiceId = values.invoiceId;
+ handleInvoiceChange(values.invoiceId);
+ }
// 鐩殑锛氬悓姝ュ埌 item-form 缁勪欢锛岃Е鍙戞暣浣撶殑浠锋牸璁$畻
if (changedFields.includes('discountPrice')) {
formData.value.discountPrice = values.discountPrice;
@@ -80,6 +86,27 @@
}
},
});
+
+/** 鍏宠仈鏉ョエ鍙樺寲鏃讹紝鍔犺浇鏉ョエ淇℃伅锛屼緵浠樻鏄庣粏鑷姩鐢熸垚 */
+async function handleInvoiceChange(invoiceId: number | undefined) {
+ if (formType.value === 'detail' || !invoiceId) {
+ if (!invoiceId) {
+ formData.value.invoice = undefined;
+ }
+ return;
+ }
+ const supplierId = formData.value.supplierId;
+ if (!supplierId) {
+ return;
+ }
+ const invoices = await getPurchaseInvoiceSimpleList(supplierId);
+ // 璇锋眰鏈熼棿鏉ョエ宸插啀娆″垏鎹㈡椂锛屼涪寮冭繃鏈熺粨鏋滐紝閬垮厤鍥炴樉閿欎贡
+ if (formData.value.invoiceId !== invoiceId) {
+ return;
+ }
+ const invoice = invoices.find((item) => item.id === invoiceId);
+ formData.value.invoice = invoice;
+}
/** 鏇存柊浠樻椤� */
function handleUpdateItems(items: ErpFinancePaymentApi.FinancePaymentItem[]) {
@@ -198,6 +225,7 @@
:supplier-id="formData?.supplierId"
:disabled="formType === 'detail'"
:discount-price="formData?.discountPrice ?? 0"
+ :invoice="formData?.invoice"
@update:items="handleUpdateItems"
@update:total-price="handleUpdateTotalPrice"
@update:payment-price="handleUpdatePaymentPrice"
--
Gitblit v1.9.3