Browse Source

feat:修改报告bug

wangsisi 9 hours ago
parent
commit
37689c25c6
1 changed files with 14 additions and 15 deletions
  1. 14 15
      src/views/old_mini/entry_information/components/selectEquipment.vue

+ 14 - 15
src/views/old_mini/entry_information/components/selectEquipment.vue

@@ -578,7 +578,7 @@ function buildReportParams() {
     };
 }
 
-/** 从对象中尽量解析 farm_id / zone_id(兼容多种返回结构) */
+/** 从新增接口返回体解析 farm_id / zone_id(兼容 zone_ids 数组等结构) */
 function pickFarmZoneIds(data) {
     if (!data || typeof data !== "object") return null;
     const farmId =
@@ -587,9 +587,12 @@ function pickFarmZoneIds(data) {
         data.farm?.farm_id ??
         data.farm?.id ??
         data.id;
+    // add_farm_info 实际返回 zone_ids: [1369],不是 zone_id
     const zoneId =
         data.zone_id ??
         data.zoneId ??
+        data.zone_ids?.[0] ??
+        data.zoneIds?.[0] ??
         data.zone?.zone_id ??
         data.zone?.id ??
         data.default_zone_id ??
@@ -599,26 +602,22 @@ function pickFarmZoneIds(data) {
     return { farm_id: farmId, zone_id: zoneId };
 }
 
-function readSelectedFarmIds() {
-    try {
-        return pickFarmZoneIds(JSON.parse(localStorage.getItem("selectedFarmData") || "null"));
-    } catch {
-        return null;
-    }
-}
-
-/** 新增成功后触发 generate_6module,不等待、不落库 */
+/** 新增成功后触发 generate_6module,仅用接口返回的 farm_id/zone_id,不等待、不落库 */
 function triggerReportApis(res) {
-    const data = res?.data && typeof res.data === "object" ? res.data : res;
-    const ids = pickFarmZoneIds(data) || pickFarmZoneIds(res) || readSelectedFarmIds() || {};
+    // 只认 addFarmInfo 返回值,禁止回退到旧的 selectedFarmData
+    const payload = res?.data && typeof res.data === "object" ? res.data : null;
+    const ids = pickFarmZoneIds(payload) || pickFarmZoneIds(res);
+    if (!ids) {
+        console.warn("generate_6module skipped: addFarmInfo 未返回 farm_id/zone_id", res);
+        return;
+    }
     const reportParams = pendingReportParams.value || {};
     const generateParams = {
-        farm_id: ids.farm_id ?? "",
-        zone_id: ids.zone_id ?? "",
+        farm_id: ids.farm_id,
+        zone_id: ids.zone_id,
         region: reportParams.region || "",
         crop: reportParams.crop || "",
     };
-    // 仅触发请求,不做结果处理
     VE_API.report.generate6Module(generateParams).catch(() => {});
 }