From bff63ed3dd1a585f84b8c41f9396fa6f7a4ff4c7 Mon Sep 17 00:00:00 2001
From: gaoluyang <2820782392@qq.com>
Date: 星期五, 31 七月 2026 16:21:20 +0800
Subject: [PATCH] 银川 1.质量管理模块AI辅助判定检验结果联调
---
src/views/mes/pro/workorder/modules/form.vue | 66 ++++++++++++++++++++++++++------
1 files changed, 53 insertions(+), 13 deletions(-)
diff --git a/src/views/mes/pro/workorder/modules/form.vue b/src/views/mes/pro/workorder/modules/form.vue
index 72d0374..1181216 100644
--- a/src/views/mes/pro/workorder/modules/form.vue
+++ b/src/views/mes/pro/workorder/modules/form.vue
@@ -99,17 +99,41 @@
});
/** 閲嶆柊鎸傝浇 schema 骞舵寜琛ㄥ崟鎬佹帶鍒跺簳閮ㄦ寜閽� */
+ const mainActionText = computed(() => {
+ if (isConfirm.value) return '纭';
+ if (isFinish.value) return '瀹屾垚';
+ return '鎻愪氦';
+ });
+
+ const showMainBtn = computed(() => isEditable.value || isConfirm.value || isFinish.value);
+
function applySchema() {
formApi.setState({ schema: useFormSchema(formType.value, formApi) });
- const showBtn = isEditable.value || isConfirm.value || isFinish.value;
- modalApi.setState({
- showConfirmButton: showBtn,
- confirmText: isConfirm.value || canConfirm.value
- ? '纭'
- : isFinish.value
- ? '瀹屾垚'
- : undefined,
- });
+ modalApi.setState({ showCancelButton: false, showConfirmButton: false });
+ }
+
+ /** 浠呬繚瀛橈紙涓嶆敼鍙樼姸鎬侊級 */
+ 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();
+ }
}
/** 鏌ョ湅璁㈠崟鏉$爜 */
@@ -327,10 +351,26 @@
</Tabs>
</template>
<template #prepend-footer>
- <Button v-if="formType === 'detail' && formData?.id"
- @click="handleBarcode">
- 鏌ョ湅鏉$爜
- </Button>
+ <div class="flex flex-auto items-center">
+ <Button v-if="showMainBtn"
+ type="primary"
+ @click="modalApi.onConfirm()">
+ {{ mainActionText }}
+ </Button>
+ </div>
+ </template>
+ <template #append-footer>
+ <div class="flex gap-2">
+ <Button v-if="canConfirm"
+ @click="handleSave">
+ 淇濆瓨淇敼
+ </Button>
+ <Button v-if="formType === 'detail' && formData?.id"
+ @click="handleBarcode">
+ 鏌ョ湅鏉$爜
+ </Button>
+ <Button @click="modalApi.close()">鍙栨秷</Button>
+ </div>
</template>
</Modal>
<BarcodeDetail ref="barcodeDetailRef" />
--
Gitblit v1.9.3