<!-- 新建任务 -->
|
<template>
|
<WebViewPlus v-if="isApp" :src="`${viewUrl}`" @webMessage="onPostMessage" />
|
</template>
|
|
<script setup>
|
import WebViewPlus from "@/components/WebViewPlus.vue";
|
|
import { getWebViewUrl } from "@/utils/index.js";
|
import { onHide, onLoad, onShow } from "@dcloudio/uni-app";
|
|
const viewUrl = ref("");
|
|
function onPostMessage(data) {
|
if (data.type === "submitSuccess") {
|
// #ifdef MP-WEIXIN
|
if ("fun" in data && data.fun === "add") {
|
uni.setStorageSync("joinParams", {
|
type: "add",
|
});
|
}
|
// #endif
|
|
// #ifndef MP-WEIXIN
|
uni.setStorageSync("joinParams", {
|
type: "add",
|
});
|
uni.switchTab({
|
url: "/pages/inspectionTask/index",
|
});
|
// #endif
|
|
}
|
}
|
|
const isApp = ref(false);
|
|
// #ifdef MP-WEIXIN
|
onLoad((options) => {
|
isApp.value = true;
|
let params = {};
|
if ("data" in options) {
|
try {
|
params = JSON.parse(options.data);
|
} catch (e) {
|
console.error(e);
|
}
|
}
|
viewUrl.value = getWebViewUrl("/addTask", params);
|
});
|
// #endif
|
|
// #ifndef MP-WEIXIN
|
onShow(() => {
|
isApp.value = true;
|
let params = {};
|
const encodedData = uni.getStorageSync("webview_params");
|
if (encodedData) {
|
try {
|
params = JSON.parse(decodeURIComponent(encodedData));
|
} catch (e) {
|
console.error(e);
|
}
|
}
|
viewUrl.value = getWebViewUrl("/addTask", params);
|
});
|
// #endif
|
|
onHide(() => {
|
isApp.value = false;
|
});
|
</script>
|
|
<style lang="scss" scoped></style>
|