罗广辉
2026-06-18 44dd9c4eb8a2489c63a5eb53fd4254bbb3510e95
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
<!-- 巡检任务 -->
<template>
  <view>
    <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";
import { useAppStore } from "@/store/index.js";
 
const appStore = useAppStore();
 
// const viewUrl = getWebViewUrl('/inspectionTask')
 
const updateKey = ref(0);
const sxListKey = ref(0);
const viewUrl = computed(() => {
  // #ifdef MP-WEIXIN
  return getWebViewUrl("/inspectionTask", {
    updateKey: updateKey.value,
    sxListKey: sxListKey.value,
    showAddBtn: 1,
  });
  // #endif
 
  // #ifndef MP-WEIXIN
  return getWebViewUrl("/inspectionTask", {
    updateKey: updateKey.value,
    sxListKey: sxListKey.value,
    showAddBtn: 0,
  });
  // #endif
});
 
watch(
  () => [appStore.jobUpdateKey, appStore.deviceUpdateKey],
  () => {
    sxListKey.value = sxListKey.value + 1;
  }
);
 
function onPostMessage(data) {
  if (data.type === "taskDetails") {
    // #ifdef MP-WEIXIN
    // #endif
 
    // #ifndef MP-WEIXIN
    if ([1, 2].includes(data.rowItem.status)) {
      uni.navigateTo({
        url: `/subPackages/taskDetail/inProgress/index?wayLineJobInfoId=${data.rowItem.id}&batchNo=${data.rowItem.batch_no}`,
      });
    } else {
      uni.navigateTo({
        url: `/subPackages/taskDetail/execution/index?wayLineJobInfoId=${data.rowItem.id}&waylineJobId=${data.rowItem.wayline_job_id}&batch_no=${data.rowItem.batch_no}`,
      });
    }
    // #endif
  }
 
  if (data.type === "addTask") {
    // #ifdef MP-WEIXIN
    // #endif
  }
}
 
onShow(() => {
  const joinParams = uni.getStorageSync("joinParams");
  if (joinParams) {
    // 使用后清除
    console.log("是否打印", updateKey.value);
    updateKey.value = updateKey.value + 1;
    uni.removeStorageSync("joinParams");
  }
  // isApp.value = true
  // 清除数据
  const encodedData = encodeURIComponent(JSON.stringify({ device_sn: "" }));
  uni.setStorageSync("webview_params", encodedData);
 
  // #ifndef MP-WEIXIN
  uni.setTabBarItem({
    index: 2, // Tab 的索引(从0开始)
    visible: true,
    pagePath: "subPackages/taskDetail/addTask/index",
  });
  uni.setTabBarItem({
    index: 3, // Tab
    visible: false,
  });
  // #endif
});
 
onHide(() => {
  // isApp.value = false
});
</script>
<style scoped lang="scss"></style>