<template> <view class="page"> <view class="status_bar"> <view class="top_view"></view> </view> <view class="wui_banner"> <view class="banner_img"> <image src="../../static/home-bg.png" mode=""></image> </view> </view> <view class="home-apps"> <view class="home-apps-item" @click="fnScan"> <view class="home-apps-item-img"> <image src="../../static/icon-apps/app_icons6.png" mode=""></image> </view> <view class="text"> <text>扫码</text> </view> </view> <view class="home-apps-item" v-for="(item, index) in baseList" :key="index" @click="fnNavigator(index)"> <view class="home-apps-item-img"> <image :src="item.img" mode=""></image> </view> <view class="text"> <text>{{ item.title }}</text> </view> </view> </view> <u-modal :show="updateVersion.modalShow" title="温馨提示" :showConfirmButton="updateVersion.showConfirmButton" :showCancelButton="updateVersion.showCancelButton" :confirmText="updateVersion.confirmText" :cancelText="updateVersion.cancelText" @cancel="modalCancel" @confirm="modalConfirm" > <view style="text-align: center; color: #606266"> <rich-text :nodes="updateVersion.modalContent"></rich-text> </view> </u-modal> </view> </template> <script> import updateVersion from '../../utils/updateVersion' import { setEntry, getIsUploadFace } from '../../api' import {setEntryV1} from "../../api/api"; export default { mixins: [updateVersion], data() { return { baseList: [ { img: require('../../static/icon-apps/app_icons.png'), title: '电子工牌', url: '/pages/electronic_work_card/index' }, { img: require('../../static/icon-apps/app_icons2.png'), title: '服务单位 管理', url: '/pages/service_unit_management/index' }, { img: require('../../static/icon-apps/app_icons3.png'), title: '我的信息', url: '/pages/mine/information/index' }, { img: require('../../static/icon-apps/app_icons4.png'), title: '证书信息', url: '/pages/certificate_information/index' }, { img: require('../../static/icon-apps/app_icons5.png'), title: '就职单位', url: '/pages/employed_by/index' }, { img: require('../../static/icon-apps/app_icons7.png'), title: '高危作业', url: '/pages/eight_assignments/index' }, { img: require('../../static/icon-apps/app_icons8.png'), title: '培训管理', url: '/pages/train_management/index' } ] } }, computed: { userInfo() { return this.$store.getters.getUserInfo } }, onLoad() { // 获取系统版本号, 其函数主体在 /utils/updateVersion.js 文件内查找 this.fnUpdateVersion(false) this.getUserFaceCompleted() }, methods: { handleGetListAll(classId) { return new Promise(async (resolve, reject) => { const userInfo = store.getters.getUserInfo await getListAll({ classId, userId: userInfo.USER_ID }) .then((resData) => { resolve(resData.classInfo) }) .catch(() => { uni.$u.toast('网络开小差了,请稍后尝试') reject() }) }) }, async fnScan() { uni.scanCode({ success: async (res) => { // let obj = JSON.parse(res.result) // let type = obj[0].CODE_TYPE const { classId, type } = JSON.parse(response.result) const classInfo = await this.handleGetListAll(classId); switch(type) { case "0": { let info = await setEntryV1({ userId: this.userInfo.USER_ID, corpinfoId: obj[0].CORPINFO_ID, RELEVANT_UNIT_NAME: obj[0].RELEVANT_UNIT_NAME, postMethod: 'application/json' }) if (info.code === 200) { uni.$u.toast('入职成功') } else { uni.$u.toast('入职失败,请联系管理员') } break; }; case "1": { // type=1时跳转电子工牌页面 uni.$u.route({ url: '/pages/electronic_work_card/index', params: { USER_ID: obj[0].USER_ID, CODE_TYPE: obj[0].CODE_TYPE } }) break; }; case "2": { // 签到二维码方式进入, [type: 2 --> 签到二维码方式进入] if (classInfo) { uni.$u.route({ url: '/pages/train_management/realname_info_auth', params: { type: 'scan_face', classId } }) } else { uni.$u.toast('您未在培训计划内,无法入班签到,请联系教师') } break; }; case "3": { // 考试二维码方式进入 [type: 3 --> 考试二维码方式进入] if (classInfo) { uni.$u.route({ url: '/pages/train_management/face_authentication', params: { type: 'learning_certification', stageexampaperinputId, classId, } }) } else { uni.$u.toast('您未在培训计划内,无法进行考试,请联系教师') } break; } default: { break; }; } } }) }, fnIsShow(index) { if (index === 5) return !!this.userInfo.CORPINFO_ID return true }, fnNavigator(e) { uni.$u.route({ url: this.baseList[e].url }) }, /** * 获取是否已经完成上传人脸信息 */ async getUserFaceCompleted() { const userFaceData = await getIsUploadFace() // userFaceData.authentication --> 0: 未完成人脸认证 // userFaceData.authentication --> 1: 已完成人脸认证 this.$store.dispatch('setVerification', userFaceData.authentication ? userFaceData.authentication : "0"); // 设置本地存储人脸检测验证状态 const isPassedVerification = userFaceData.authentication === '0' if (isPassedVerification) { uni.showModal({ title: '温馨提示', content: '为了能够得到更好的体验,我们会获取您个人信息,请完成人脸信息认证!', success: function (res) { if (res.confirm) { uni.$u.route({ url: '/pages/train_management/face_authentication', params: { type: 'facial_input' } }) } if (res.cancel) { uni.$u.toast("您可进入[我的]-[人脸认证]完成信息认证") } } }) } } } } </script> <style lang="scss" scoped> .page { background-color: #f7f9ff; min-height: 100vh; } </style>