From a27f80b043bb9651fd0032dcd28b2fee6cf820b9 Mon Sep 17 00:00:00 2001
From: 云 <2163098428@qq.com>
Date: 星期一, 03 八月 2026 13:42:34 +0800
Subject: [PATCH] feat(ai): 集成AI智能分析功能到MPS表单和仪表板

---
 src/views/mes/pro/mps/modules/form.vue |   14 ++++++++++++++
 1 files changed, 14 insertions(+), 0 deletions(-)

diff --git a/src/views/mes/pro/mps/modules/form.vue b/src/views/mes/pro/mps/modules/form.vue
index 4cc8308..7490a8d 100644
--- a/src/views/mes/pro/mps/modules/form.vue
+++ b/src/views/mes/pro/mps/modules/form.vue
@@ -13,6 +13,10 @@
 import { createMps, getMps, updateMps } from '#/api/mes/pro/mps';
 import { $t } from '#/locales';
 
+import PredictDelivery from '../../workorder/modules/ai/predict-delivery.vue';
+import PredictDuration from '../../workorder/modules/ai/predict-duration.vue';
+import PredictMaterial from '../../workorder/modules/ai/predict-material.vue';
+import PredictRisk from '../../workorder/modules/ai/predict-risk.vue';
 import { MpsStatusEnum, useFormSchema } from '../data';
 
 const emit = defineEmits(['success']);
@@ -20,6 +24,8 @@
 const formType = ref<FormType>('detail');
 
 const isEditable = computed(() => ['create', 'edit'].includes(formType.value));
+
+const canUseAi = computed(() => !!formData.value?.id);
 
 const getTitle = computed(() => {
   switch (formType.value) {
@@ -171,5 +177,13 @@
         </Descriptions.Item>
       </Descriptions>
     </div>
+    <template #prepend-footer>
+      <div v-if="canUseAi" class="flex items-center gap-2">
+        <PredictMaterial :mps-id="formData!.id" :work-order-id="formData!.workOrderId" />
+        <PredictDuration :mps-id="formData!.id" :work-order-id="formData!.workOrderId" />
+        <PredictRisk :mps-id="formData!.id" :work-order-id="formData!.workOrderId" />
+        <PredictDelivery :mps-id="formData!.id" :work-order-id="formData!.workOrderId" />
+      </div>
+    </template>
   </Modal>
 </template>

--
Gitblit v1.9.3