曹睿
4 天以前 c056874186f0e2520f575d3363c5497df089e984
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
<template>
  <view>
    <wd-icon name="scan" color="#999" size="18px" @click="openScan" />
    <Scan ref="scanRef" />
    <!-- 弹窗 -->
    <wd-toast />
  </view>
</template>
 
<script setup lang="ts">
import Scan from "@/components/scan/index.vue";
import { useUserStore } from "@/store/modules/user";
import reportApi from "@/api/work/report";
import { useToast } from "wot-design-uni";
 
defineOptions({
  name: "工时发送",
});
 
const scanRef = ref();
const userStore = useUserStore();
const userInfo: any = computed(() => userStore.userInfo);
const toast = useToast();
 
const openScan = () => {
  scanRef.value.triggerScan();
};
 
const getScanCode = async () => {
  const { code } = await reportApi.sendWorkTime({
    userName: userInfo.value.userName,
  });
  if (code == 200) {
    toast.success("扫码成功");
  }
};
 
onLoad(() => {
  // 开启广播监听事件
  uni.$on("scan", getScanCode);
});
onUnload(() => {
  // 开启广播监听事件
  uni.$off("scan", getScanCode);
});
</script>
 
<style lang="scss" scoped></style>