Forráskód Böngészése

fix: 无农场跳转,参数处理

刘秀芳 3 hete
szülő
commit
5f45fde217

+ 4 - 13
src/views/old_mini/dev_login.vue

@@ -47,20 +47,14 @@ const saveSelectedFarm = (farm) => {
     localStorage.setItem("selectedFarmData", JSON.stringify(farm));
 };
 
-/** 拉取农场列表:无数据去录入;有数据则恢复缓存选中或默认第一项 */
+/** 拉取农场列表:有数据则恢复缓存选中或默认第一项;无数据仍继续进入目标页 */
 const resolveFarmsAfterLogin = async () => {
     const id = userId || localStorage.getItem("MINI_USER_ID");
-    if (!id) {
-        router.replace({ path: "/entry_information", query: { isClose: "1" } });
-        return false;
-    }
+    if (!id) return;
     try {
         const res = await VE_API.questionnaire.getFarms({ id });
         const list = Array.isArray(res?.data) ? res.data : [];
-        if (!list.length) {
-            router.replace({ path: "/entry_information", query: { isClose: "1" } });
-            return false;
-        }
+        if (!list.length) return;
 
         let cached = null;
         try {
@@ -71,10 +65,8 @@ const resolveFarmsAfterLogin = async () => {
 
         const farm = hasSelectedFarm(cached) ? normalizeFarm(cached) : normalizeFarm(list[0]);
         saveSelectedFarm(farm);
-        return true;
     } catch (e) {
         console.warn("[dev_login] getFarms failed", e);
-        return true;
     }
 };
 
@@ -119,8 +111,7 @@ onMounted(async () => {
     store.commit("home/SET_MINI_USER_ID", userId);
     store.commit("home/SET_MINI_USER_LOCATION_POINT", `POINT(${pointXy[0]} ${pointXy[1]})`);
 
-    const hasFarms = await resolveFarmsAfterLogin();
-    if (!hasFarms) return;
+    await resolveFarmsAfterLogin();
 
     router.push(`${targetUrl}?miniJson=${JSON.stringify(route.query)}`);
 });

+ 7 - 1
src/views/old_mini/growth_report/components/CropAlertPanel.vue

@@ -340,6 +340,12 @@ const resolveFarmId = () => {
     return id != null && id !== "" ? id : "";
 };
 
+/** 保证有zone_id */
+const resolveZoneId = () => {
+    const farm = getSelectedFarm();
+    return farm.zone_id || "";
+};
+
 const formatLocalDate = (date) => {
     const y = date.getFullYear();
     const m = String(date.getMonth() + 1).padStart(2, "0");
@@ -351,7 +357,7 @@ const formatLocalDate = (date) => {
 const getQueryParams = () => {
     return {
         farm_id: resolveFarmId(),
-        zone_id: selectedZoneId.value,
+        zone_id: selectedZoneId.value || resolveZoneId(),
         date: formatLocalDate(new Date()),
     };
 };