From fa9d2b5117227f263ad9aa15b71bddb3fe64ac81 Mon Sep 17 00:00:00 2001
From: riku <risaku@163.com>
Date: 星期二, 29 七月 2025 13:21:28 +0800
Subject: [PATCH] 新增巡查任务编辑功能

---
 src/components/mission/MissionEdit.vue   |   37 ++++++++++++++++++++++++++++++++++---
 src/api/index.js                         |    4 ++--
 src/components.d.ts                      |    2 +-
 src/components/mission/MissionManage.vue |    4 ++--
 4 files changed, 39 insertions(+), 8 deletions(-)

diff --git a/src/api/index.js b/src/api/index.js
index edabfb4..ef12b54 100644
--- a/src/api/index.js
+++ b/src/api/index.js
@@ -1,8 +1,8 @@
 import axios from 'axios';
 import { ElMessage } from 'element-plus';
 
-const openLog = false;
-const debug = false;
+const openLog = true;
+const debug = true;
 
 let ip1 = 'http://47.100.191.150:9029/';
 let ws = `47.100.191.150:9031`;
diff --git a/src/components.d.ts b/src/components.d.ts
index fa422c5..80dc883 100644
--- a/src/components.d.ts
+++ b/src/components.d.ts
@@ -14,6 +14,7 @@
     'CardDialog copy': typeof import('./components/CardDialog copy.vue')['default']
     CheckButton: typeof import('./components/common/CheckButton.vue')['default']
     ConfigManage: typeof import('./components/map/ConfigManage.vue')['default']
+    copy: typeof import('./components/CardDialog copy.vue')['default']
     CoreHeader: typeof import('./components/core/CoreHeader.vue')['default']
     CoreMenu: typeof import('./components/core/CoreMenu.vue')['default']
     DataSummary: typeof import('./components/monitor/DataSummary.vue')['default']
@@ -38,7 +39,6 @@
     ElFormItem: typeof import('element-plus/es')['ElFormItem']
     ElIcon: typeof import('element-plus/es')['ElIcon']
     ElInput: typeof import('element-plus/es')['ElInput']
-    ElInputNumber: typeof import('element-plus/es')['ElInputNumber']
     ElLink: typeof import('element-plus/es')['ElLink']
     ElOption: typeof import('element-plus/es')['ElOption']
     ElPagination: typeof import('element-plus/es')['ElPagination']
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;
diff --git a/src/components/mission/MissionManage.vue b/src/components/mission/MissionManage.vue
index 92fda9d..9c1c51f 100644
--- a/src/components/mission/MissionManage.vue
+++ b/src/components/mission/MissionManage.vue
@@ -46,13 +46,13 @@
           <el-table-column label="绠$悊" width="160" align="center">
             <template #default="{ row }">
               <!-- <MissionEdit mode="update"></MissionEdit> -->
-              <!-- <el-button
+              <el-button
                 type="primary"
                 size="small"
                 icon="EditPen"
                 class="el-button-custom"
                 @click="updateMission(row)"
-              ></el-button> -->
+              ></el-button>
               <el-button
                 type="primary"
                 size="small"

--
Gitblit v1.9.3