From bdb3123664234ec9bfe7f43be21fac7250f9479f Mon Sep 17 00:00:00 2001 From: 王恒 <318726284@qq.com> Date: 星期三, 13 八月 2025 20:00:51 +0800 Subject: [PATCH] '修改字段、处理空值' --- policy/scodePage/scodePage.vue | 300 +++++++++++++++++++++++++++++++---------------------------- 1 files changed, 156 insertions(+), 144 deletions(-) diff --git a/policy/scodePage/scodePage.vue b/policy/scodePage/scodePage.vue index 813ed64..a91626f 100644 --- a/policy/scodePage/scodePage.vue +++ b/policy/scodePage/scodePage.vue @@ -1,154 +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>{{$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> + <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}}</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}} - </view> - <view class="font-12"> - <text>鐢宠鏃堕棿锛�</text>{{item.applyTime}} - </view> - <view class="button-entery"> - <view class="button" @click="doScanOrder(item.orderId)">纭鎵ф硶</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> + <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}}</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}} + </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() - }, - onShow() { - - }, - methods: { - getScanList(companyCode){ - getScanList({companyCode}).then(val => { - this.list = val.data.data - 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 => { - console.log(val.data.data) - this.userInfo = val.data.data - }) - }, - doScanOrder(item) { - doScanOrder(item).then(val => { - if(val.data.code == 200) { - uni.showToast({ - title: '纭鎵ф硶鎴愬姛', - icon: 'none' - }) - } - }) - } - } - } + 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; - } + page { + padding-bottom: 20rpx; + } </style> <style lang="scss" scoped> -@import "./scodePage.scss"; -</style> + @import "./scodePage.scss"; +</style> \ No newline at end of file -- Gitblit v1.9.1