From e6c042f8d26c1d8cb6e510c392679166e5caebee Mon Sep 17 00:00:00 2001
From: 云 <2163098428@qq.com>
Date: 星期四, 30 七月 2026 09:23:45 +0800
Subject: [PATCH] feat(workorder): 添加工单表单保存功能
---
src/views/mes/pro/workorder/modules/form.vue | 30 +++++++++++++++++++++++++++++-
1 files changed, 29 insertions(+), 1 deletions(-)
diff --git a/src/views/mes/pro/workorder/modules/form.vue b/src/views/mes/pro/workorder/modules/form.vue
index 8de7795..c998ef8 100644
--- a/src/views/mes/pro/workorder/modules/form.vue
+++ b/src/views/mes/pro/workorder/modules/form.vue
@@ -110,8 +110,32 @@
? '瀹屾垚'
: isCreateMode.value
? '鏂板'
- : undefined,
+ : '淇濆瓨',
});
+ }
+
+ /** 浠呬繚瀛橈紙涓嶆敼鍙樼姸鎬侊級 */
+ async function handleSave() {
+ const { valid } = await formApi.validate();
+ if (!valid || !formData.value?.id) return;
+ modalApi.lock();
+ try {
+ const data = (await formApi.getValues()) as MesProWorkOrderApi.WorkOrder;
+ await updateWorkOrder({ ...formData.value, ...data });
+ if (tempProcessList.value.length > 0) {
+ const processList = tempProcessList.value.map(item => ({
+ ...item,
+ workOrderId: formData.value!.id,
+ }));
+ await batchSaveWorkOrderProcess(processList);
+ }
+ formData.value = { ...formData.value, ...data };
+ originalSnapshot.value = JSON.stringify(await formApi.getValues());
+ emit('success');
+ message.success($t('ui.actionMessage.operationSuccess'));
+ } finally {
+ modalApi.unlock();
+ }
}
/** 鏌ョ湅璁㈠崟鏉$爜 */
@@ -329,6 +353,10 @@
</Tabs>
</template>
<template #prepend-footer>
+ <Button v-if="canConfirm"
+ @click="handleSave">
+ 淇濆瓨
+ </Button>
<Button v-if="formType === 'detail' && formData?.id"
@click="handleBarcode">
鏌ョ湅鏉$爜
--
Gitblit v1.9.3