From a09f984cbe2369e13d8694e91c4f8165ec6c2ba9 Mon Sep 17 00:00:00 2001
From: riku <risaku@163.com>
Date: 星期三, 20 八月 2025 14:05:10 +0800
Subject: [PATCH] 动态溯源模块优化

---
 src/components/mission/MissionEdit.vue |   37 ++++++++++++++++++++++++++++++++++---
 1 files changed, 34 insertions(+), 3 deletions(-)

diff --git a/src/components/mission/MissionEdit.vue b/src/components/mission/MissionEdit.vue
index 902b77a..b114951 100644
--- a/src/components/mission/MissionEdit.vue
+++ b/src/components/mission/MissionEdit.vue
@@ -114,6 +114,11 @@
 });
 const param = computed(() => {
   return {
+    provinceCode: formObj.value.location.pCode,
+    provinceName: formObj.value.location.pName,
+    cityCode: formObj.value.location.cCode,
+    cityName: formObj.value.location.cName,
+    districtCode: formObj.value.location.dCode,
     districtName: formObj.value.location.dName,
     missionCode: formObj.value.missionCode,
     deviceType: formObj.value.deviceType,
@@ -124,7 +129,12 @@
 });
 
 function submitMission() {
-  const newMission = { ...param.value };
+  // const newMission = { ...param.value };
+  if (props.mode == 'create') {
+    createMission();
+  } else {
+    updateMission();
+  }
 }
 
 // 鍒涘缓浠诲姟
@@ -140,9 +150,23 @@
       .finally(() => emits('update:modelValue', false));
   });
 }
+
+function updateMission() {
+  fetchData((page, pageSize) => {
+    return missionApi
+      .updateMission(param.value)
+      .then((res) => {
+        missionStore.fetchMission();
+        // 閫氱煡鏈嶅姟绔惎鍔ㄤ换鍔¤寖鍥村唴鐨勭涓夋柟鏁版嵁鑾峰彇浠诲姟
+        thirdPartyDataApi.fetchMissionData(param.value.missionCode);
+      })
+      .finally(() => emits('update:modelValue', false));
+  });
+}
+
 const { formObj, formRef, edit, onSubmit, onCancel } = useFormConfirm({
   submit: {
-    do: createMission
+    do: submitMission
   },
   cancel: {
     do: () => {
@@ -161,7 +185,14 @@
         initFormObj();
       }
       if (m && props.mode == 'update') {
-        formObj.value.location = { dName: m.districtName };
+        formObj.value.location = {
+          pCode: m.provinceCode,
+          pName: m.provinceName,
+          cCode: m.cityCode,
+          cName: m.cityName,
+          dCode: m.districtCode,
+          dName: m.districtName
+        };
         formObj.value.missionCode = m.missionCode;
         formObj.value.deviceType = m.deviceType;
         formObj.value.deviceCode = m.deviceCode;

--
Gitblit v1.9.3