From b5f084460e9e639358fbf91056a86be8d0a5c4b2 Mon Sep 17 00:00:00 2001
From: yaolonglong <yaolonglong15@163.com>
Date: 星期四, 09 十月 2025 20:18:57 +0800
Subject: [PATCH] 获取验证码功能
---
policy/scodePage/scodePage.vue | 268 +++++++++++++++++++++++++++++++++--------------------
1 files changed, 166 insertions(+), 102 deletions(-)
diff --git a/policy/scodePage/scodePage.vue b/policy/scodePage/scodePage.vue
index 6ca01de..ce49891 100644
--- a/policy/scodePage/scodePage.vue
+++ b/policy/scodePage/scodePage.vue
@@ -1,102 +1,166 @@
-<template>
- <view>
- <u-navbar
- @rightClick="rightClick"
- :autoBack="true"
- :placeholder="false"
- bgColor="transparent"
- leftIconColor="white"
- >
- </u-navbar>
- <image src="/static/policy/back.png" mode="widthFix" class="back-image"></image>
- <view class="page-box">
- <view class="code-hint">
- <view>
- <image src="/static/policy/success.png" mode="widthFix"></image>
- <!-- <image src="/static/policy/error.png" mode="widthFix"></image> -->
- <text>鎴愬姛-缁跨爜</text>
- <!-- <text>澶辫触-绾㈢爜</text> -->
- </view>
- <view class="hint">
- 鍙姝や紒涓氳繘琛屾牳鏌�
- </view>
- <view class="hint">
- 璇锋牳鏌ヤ紒涓氫俊鎭�
- </view>
- </view>
- <!-- 浜岀淮鐮� -->
- <view class="qrcode">
- <image src="/static/policy/qrcode-border.png" class="border" mode="widthFix"></image>
- <image :src="uqrcodeImage" mode="widthFix" class="qrcode-1"></image>
- <view class="code-time">
- <text>鎵爜鏃堕棿锛�</text>2024-05-12 12:00
- </view>
- </view>
- <view class="code">
- <view class="item">
- <text class="label">鎵ф硶浜哄憳</text>
- <text class="value">鐜嬪皬涓�</text>
- </view>
- <view class="write-border"></view>
- <view class="item">
- <text class="label">鎵ф硶閮ㄩ棬</text>
- <text class="value">宸ュ晢绠$悊灞�</text>
- </view>
- </view>
- <view class="hint-text">
- 褰撳墠浼佷笟瀛樺湪<text>1</text>鏉℃湭瀹屾垚鐨勬墽娉曚换鍔�
- </view>
- <view class="down-block">
- <view class="box">
- <view class="title">24骞�5鏈堢獊鍑绘鏌ユ秷闃插畨鍏�</view>
- <view class="user-news">
- <text>鐜嬫�濋洦</text>
- <view class="driver"></view>
- <text>宸ュ晢绠$悊灞�</text>
- </view>
- <view class="font-13">
- <text>鎵ф硶瀵硅薄锛�</text>娌冲崡瑙夐啋绉戞妧鏈夐檺鍏徃
- </view>
- <view class="border"></view>
- <view class="font-12 margin-bottom">
- <text>鎵ф硶鏃堕棿锛�</text>2024-05-12 12:00
- </view>
- <view class="font-12">
- <text>鐢宠鏃堕棿锛�</text>2024-05-12 12:00:12
- </view>
- </view>
- </view>
- </view>
- <uqrcode class="hide-canvas" :size="470" sizeUnit="rpx" v-if="companyCode" ref="uqrcode" canvas-id="qrcode" :value="companyCode" :options="{ backgroundColor: 'green',useDynamicSize: true, areaColor: '#ffffff', foregroundColor: '#ffffff' }"></uqrcode>
-
- </view>
-</template>
-
-<script>
- export default {
- data() {
- return {
- companyCode: 'code===',
- uqrcodeImage: ''
- }
- },
- onReady() {
- this.$refs.uqrcode.toTempFilePath({
- success: res => {
- this.uqrcodeImage = res.tempFilePath
- }
- });
- },
- methods: {
-
- }
- }
-</script>
-<style>
- page{
- padding-bottom: 20rpx;
- }
-</style>
-<style lang="scss" scoped>
-@import "./scodePage.scss";
-</style>
+<template>
+ <view>
+ <u-navbar @rightClick="rightClick" :autoBack="true" :placeholder="false" bgColor="transparent"
+ leftIconColor="white">
+ </u-navbar>
+ <image src="/static/policy/back.png" mode="widthFix" class="back-image"></image>
+ <view class="page-box">
+ <view class="code-hint">
+ <template v-if="color == 'green'">
+ <view>
+ <image src="/static/policy/success.png" mode="widthFix"></image>
+ <text>鎴愬姛-缁跨爜</text>
+ </view>
+ <view class="hint">
+ 鍙姝や紒涓氳繘琛屾牳鏌�
+ </view>
+ </template>
+ <template v-if="color == 'red'">
+ <view>
+ <image src="/static/policy/error.png" mode="widthFix"></image>
+ <text>澶辫触-绾㈢爜</text>
+ </view>
+ <view class="hint">
+ 璇锋牳鏌ヤ紒涓氫俊鎭�
+ </view>
+ </template>
+ </view>
+ <!-- 浜岀淮鐮� -->
+ <view class="qrcode">
+ <image src="/static/policy/qrcode-border.png" class="border" mode="widthFix"></image>
+ <image :src="uqrcodeImage" mode="widthFix" class="qrcode-1"></image>
+ <view class="code-time">
+ <text>鎵爜鏃堕棿锛�</text>{{$u.timeFormat(new Date(), 'yyyy-mm-dd hh:MM:ss')}}
+ </view>
+ </view>
+ <view class="code">
+ <view class="item">
+ <text class="label">鎵ф硶浜哄憳</text>
+ <text class="value">{{userInfo.nickName}}</text>
+ </view>
+ <view class="write-border"></view>
+ <view class="item">
+ <text class="label">鎵ф硶閮ㄩ棬</text>
+ <text class="value">{{userInfo.dept.deptName}}</text>
+ </view>
+ </view>
+ <view class="hint-text">
+ 褰撳墠浼佷笟瀛樺湪<text>{{list.length}}</text>鏉℃湭瀹屾垚鐨勬墽娉曚换鍔�
+ </view>
+ <!-- <view class="hint-text">
+ 褰撳墠浼佷笟鏈畬鎴愮殑鎵ф硶浠诲姟
+ </view> -->
+ <view class="down-block">
+ <swiper style="height: 500rpx;" :indicator-dots="false" :interval="3000" :duration="1000">
+ <swiper-item v-for="(item,index) in list" :key="index">
+ <view class="box">
+ <view class="title">{{item.enforceReason}}</view>
+ <view class="user-news">
+ <text>{{item.applyUser || ''}}</text>
+ <view class="driver"></view>
+ <text>{{item.applyDeptName || item.applyDeptNames || ''}}</text>
+ </view>
+ <view class="font-13">
+ <text>鎵ф硶瀵硅薄锛�</text>{{item.companyName}}
+ </view>
+ <view class="border"></view>
+ <view class="font-12 margin-bottom">
+ <text>鎵ф硶鏃堕棿锛�</text>{{item.planTime || item.planMonth || ''}}
+ </view>
+ <view class="font-12">
+ <text>鐢宠鏃堕棿锛�</text>{{item.applyTime || ''}}
+ </view>
+ <view class="button-entery">
+ <view class="button" v-if="item.isSelect" @click="doScanOrder(item.orderId, index)">纭鎵ф硶</view>
+ </view>
+ </view>
+ </swiper-item>
+ </swiper>
+ </view>
+ </view>
+ <uqrcode class="hide-canvas" :size="470" sizeUnit="rpx" v-if="companyCode" ref="uqrcode" canvas-id="qrcode"
+ :value="companyCode"
+ :options="{ backgroundColor: color,useDynamicSize: true, areaColor: '#ffffff', foregroundColor: '#ffffff' }">
+ </uqrcode>
+
+ </view>
+</template>
+
+<script>
+ import {
+ getScanList,
+ doScanOrder
+ } from '@/api/policy.js'
+ import {
+ getInfo
+ } from '@/api/auth.js'
+ export default {
+ data() {
+ return {
+ companyCode: '',
+ uqrcodeImage: '',
+ list: [],
+ userInfo: {},
+ color: '',
+
+ }
+ },
+ onReady() {
+
+ },
+ onLoad(options) {
+ this.getScanList(options.code)
+
+ this.getInfo()
+ },
+ methods: {
+ getScanList(companyCode) {
+ getScanList({
+ companyCode
+ }).then(val => {
+ this.list = val.data.data.map(item => {
+ item['isSelect'] = true
+ return item
+ })
+ if (this.list.length) {
+ this.color = 'green'
+ } else {
+ this.color = 'red'
+ }
+ this.companyCode = companyCode
+ setTimeout(() => {
+ this.$refs.uqrcode.toTempFilePath({
+ success: res => {
+ this.uqrcodeImage = res.tempFilePath
+ }
+ });
+ }, 500)
+ })
+ },
+ getInfo() {
+ getInfo().then(val => {
+ this.userInfo = val.data.data
+ })
+ },
+ doScanOrder(item, index) {
+ doScanOrder(item).then(val => {
+ if (val.data.code == 200) {
+ uni.showToast({
+ title: '纭鎵ф硶鎴愬姛',
+ icon: 'none'
+ })
+ this.list[index].isSelect = false
+ }
+ })
+ }
+ }
+ }
+</script>
+<style>
+ page {
+ padding-bottom: 20rpx;
+ }
+</style>
+<style lang="scss" scoped>
+ @import "./scodePage.scss";
+</style>
\ No newline at end of file
--
Gitblit v1.9.1