罗广辉
2025-12-04 1bb5b64dfc7dd4623b60b6ecdc654524e6624605
Merge remote-tracking branch 'origin/feature/v9.0/9.0.1' into feature/v9.0/9.0.1
1 files modified
134 ■■■■■ changed files
src/pages/map/index.vue 134 ●●●●● patch | view | raw | blame | history
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>