|
@@ -578,7 +578,7 @@ function buildReportParams() {
|
|
|
};
|
|
};
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
-/** 从对象中尽量解析 farm_id / zone_id(兼容多种返回结构) */
|
|
|
|
|
|
|
+/** 从新增接口返回体解析 farm_id / zone_id(兼容 zone_ids 数组等结构) */
|
|
|
function pickFarmZoneIds(data) {
|
|
function pickFarmZoneIds(data) {
|
|
|
if (!data || typeof data !== "object") return null;
|
|
if (!data || typeof data !== "object") return null;
|
|
|
const farmId =
|
|
const farmId =
|
|
@@ -587,9 +587,12 @@ function pickFarmZoneIds(data) {
|
|
|
data.farm?.farm_id ??
|
|
data.farm?.farm_id ??
|
|
|
data.farm?.id ??
|
|
data.farm?.id ??
|
|
|
data.id;
|
|
data.id;
|
|
|
|
|
+ // add_farm_info 实际返回 zone_ids: [1369],不是 zone_id
|
|
|
const zoneId =
|
|
const zoneId =
|
|
|
data.zone_id ??
|
|
data.zone_id ??
|
|
|
data.zoneId ??
|
|
data.zoneId ??
|
|
|
|
|
+ data.zone_ids?.[0] ??
|
|
|
|
|
+ data.zoneIds?.[0] ??
|
|
|
data.zone?.zone_id ??
|
|
data.zone?.zone_id ??
|
|
|
data.zone?.id ??
|
|
data.zone?.id ??
|
|
|
data.default_zone_id ??
|
|
data.default_zone_id ??
|
|
@@ -599,26 +602,22 @@ function pickFarmZoneIds(data) {
|
|
|
return { farm_id: farmId, zone_id: zoneId };
|
|
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) {
|
|
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 reportParams = pendingReportParams.value || {};
|
|
|
const generateParams = {
|
|
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 || "",
|
|
region: reportParams.region || "",
|
|
|
crop: reportParams.crop || "",
|
|
crop: reportParams.crop || "",
|
|
|
};
|
|
};
|
|
|
- // 仅触发请求,不做结果处理
|
|
|
|
|
VE_API.report.generate6Module(generateParams).catch(() => {});
|
|
VE_API.report.generate6Module(generateParams).catch(() => {});
|
|
|
}
|
|
}
|
|
|
|
|
|