罗广辉
2025-12-04 1bb5b64dfc7dd4623b60b6ecdc654524e6624605
src/pages/map/index.vue
@@ -1,69 +1,85 @@
<!--
 * @Author       : yuan
 * @Date         : 2025-12-03 14:20:57
 * @LastEditors  : yuan
 * @LastEditTime : 2025-12-03 14:20:57
 * @FilePath     : \src\pages\map\index copy 2.vue
 * @Description  :
 * Copyright 2025 OBKoro1, All Rights Reserved.
 * 2025-12-03 14:20:57
-->
<template>
   <view class="page-wrap">
      <WebViewPlus :src="`${viewUrl}`" @webMessage="onPostMessage" />
   </view>
  <view class="page-wrap">
    <WebViewPlus :src="`${viewUrl}`" @webMessage="onPostMessage" />
  </view>
</template>
<script setup>
   import {
      getWebViewUrl
   } from "@/utils/index.js";
   import WebViewPlus from "@/components/WebViewPlus.vue";
   // const viewUrl = getWebViewUrl("/defaultMap");
   const baseUrl = getWebViewUrl("/defaultMap");
import { getWebViewUrl } from "@/utils/index.js";
import WebViewPlus from "@/components/WebViewPlus.vue";
import { onHide } from "@dcloudio/uni-app";
// const viewUrl = getWebViewUrl("/defaultMap");
   let envParam = "";
   // #ifdef WEB
   envParam = "isWeb=true";
   // #endif
   // #ifdef APP-PLUS
   envParam = "isWeb=false";
   // #endif
   const viewUrl = ref("");
   onMounted(() => {
      if (typeof baseUrl === "string") {
         viewUrl.value = baseUrl.includes("?") ?
            `${baseUrl}&${envParam}` :
            `${baseUrl}?${envParam}`;
      }
   });
   const onPostMessage = (data) => {
      if (data.type === "scanCode") {
         uni.navigateTo({
            url: "/subPackages/qrCode/index",
         });
      } else if (data.type === "jumpAddWork") { //新建任务
         const encodedData = encodeURIComponent(JSON.stringify(data.rowItem))
         uni.setStorageSync('webview_params', encodedData)
         uni.switchTab({
            url: `/subPackages/taskDetail/addTask/index`,
         });
      } else if (data.type === 'jumpMapNav') { //事件导航
         uni.navigateTo({
            url: `/subPackages/workDetail/mapWork/index?currentItem=${data.eventNum}`
         });
      } else if (data.type === 'workid') { //事件详情
         uni.navigateTo({
            url: `/subPackages/workDetail/index?eventNum=${data.eventNum}`
         });
      }
   };
let envParam = "";
// #ifdef WEB
envParam = "true";
// #endif
// #ifdef APP-PLUS
envParam = "false";
// #endif
   onShow(() => {
      uni.setTabBarItem({
         index: 2, // Tab 的索引(从0开始)
         visible: false,
      pagePath: "subPackages/taskDetail/addTask/index"
      })
      uni.setTabBarItem({
         index: 3, // Tab
         visible: true,
      });
   })
const updateKey = ref(0);
const viewUrl = computed(() => {
  return getWebViewUrl("/defaultMap", {
    isWeb: envParam,
    updateKey: updateKey.value,
  });
});
const onPostMessage = (data) => {
  if (data.type === "scanCode") {
    uni.navigateTo({
      url: "/subPackages/qrCode/index",
    });
  } else if (data.type === "jumpAddWork") {
    //新建任务
    const encodedData = encodeURIComponent(JSON.stringify(data.rowItem));
    uni.setStorageSync("webview_params", encodedData);
    uni.switchTab({
      url: `/subPackages/taskDetail/addTask/index`,
    });
  } else if (data.type === "jumpMapNav") {
    //事件导航
    uni.navigateTo({
      url: `/subPackages/workDetail/mapWork/index?currentItem=${data.eventNum}`,
    });
  } else if (data.type === "workid") {
    //事件详情
    uni.navigateTo({
      url: `/subPackages/workDetail/index?eventNum=${data.eventNum}`,
    });
  }
};
onShow(() => {
  uni.setTabBarItem({
    index: 2, // Tab 的索引(从0开始)
    visible: false,
    pagePath: "subPackages/taskDetail/addTask/index",
  });
  uni.setTabBarItem({
    index: 3, // Tab
    visible: true,
  });
});
onHide(() => {
  updateKey.value = updateKey.value + 1;
});
</script>
<style scoped lang="scss">
   .page-wrap {
      font-size: 20px;
   }
.page-wrap {
  font-size: 20px;
}
</style>