<!--
|
* @Author : yuan
|
* @Date : 2025-12-03 14:20:57
|
* @LastEditors : yuan
|
* @LastEditTime : 2025-12-20 16:49:02
|
* @FilePath : \src\pages\map\index.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>
|
</template>
|
|
<script setup>
|
import { getWebViewUrl } from "@/utils/index.js";
|
import WebViewPlus from "@/components/WebViewPlus.vue";
|
import { onHide, onShow } from "@dcloudio/uni-app";
|
// const viewUrl = getWebViewUrl("/defaultMap");
|
|
let envParam = "";
|
// #ifdef WEB
|
envParam = "true";
|
// #endif
|
// #ifdef APP-PLUS
|
envParam = "false";
|
// #endif
|
|
const updateKey = ref(0);
|
const viewUrl = computed(() => {
|
return getWebViewUrl("/defaultMap", {
|
isWeb: envParam,
|
updateKey: updateKey.value,
|
});
|
});
|
|
const onPostMessage = (data) => {
|
// #ifdef MP-WEIXIN
|
if (data.type === "scanCode") {
|
} else if (data.type === "jumpAddWork") {
|
} else if (data.type === "jumpMapNav") {
|
//事件导航
|
} else if (data.type === "workid") {
|
//事件详情
|
}
|
// #endif
|
|
// #ifndef MP-WEIXIN
|
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.navigateTo({
|
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}`,
|
});
|
}
|
// #endif
|
};
|
|
onShow(() => {
|
// #ifndef MP-WEIXIN
|
uni.setTabBarItem({
|
index: 2, // Tab 的索引(从0开始)
|
visible: false,
|
pagePath: "subPackages/taskDetail/addTask/index",
|
});
|
uni.setTabBarItem({
|
index: 3, // Tab
|
visible: true,
|
});
|
// #endif
|
});
|
|
onHide(() => {
|
updateKey.value = updateKey.value + 1;
|
});
|
</script>
|
|
<style scoped lang="scss">
|
.page-wrap {
|
font-size: 20px;
|
}
|
</style>
|