From 28ab9da809aa7c5d42e1871af5fd10c2de09ac66 Mon Sep 17 00:00:00 2001
From: 王恒 <318726284@qq.com>
Date: 星期五, 26 九月 2025 14:04: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