From 2d43a1df3f5ba42710e6d21c27d1e13bdb8dfd56 Mon Sep 17 00:00:00 2001
From: zhangwei <1504152376@qq.com>
Date: 星期一, 24 三月 2025 09:23:08 +0800
Subject: [PATCH] -
---
src/pages/checkin/checkin.vue | 275 ++++++++++++++++++++++++++++++++++++++++++++++++++++++-
1 files changed, 270 insertions(+), 5 deletions(-)
diff --git a/src/pages/checkin/checkin.vue b/src/pages/checkin/checkin.vue
index 8183fd0..eb2684c 100644
--- a/src/pages/checkin/checkin.vue
+++ b/src/pages/checkin/checkin.vue
@@ -1,22 +1,287 @@
<template>
<view>
-
+ <view class='chuany-flex camera-fill chuany-justify-center chuany-align-center'>
+ <tem-upload-fui immediate :url="`${apiBaseUrl}/api/UpFile/UpdateFile`" ref="uploadE" max='1'
+ @success="success" cameraType='back' :sizeType='sizeType' :sourceType='sourceType' @error="error"
+ @complete="complete" width="280" :mediaType='mediaType' height="280">
+ <view class="" v-if="checkPhoto">
+ <image :src="checkPhoto" mode="aspectFill" style="width: 280rpx;height: 280rpx;">
+ </image>
+ </view>
+ <view class=" chuany-flex chuany-flex-direction chuany-align-center" v-else>
+ <fui-icon name="camera-fill"></fui-icon>
+ <view class="chuany-font20">鎷嶆憚鐜鐓х墖</view>
+ </view>
+ </tem-upload-fui>
+ <tem-upload-fui ref="uploadP" max='1' @error="error" @complete="completePerson" width="280" height="280"
+ :sizeType='sizeType' :sourceType='sourceType' :mediaType='mediaType' :isFace='true'>
+ <view class="" v-if="faceImg">
+ <image :src="faceImg" mode="aspectFill" style="width: 280rpx;height: 280rpx;"></image>
+ </view>
+ <view class=" chuany-flex chuany-flex-direction chuany-align-center" v-else>
+ <fui-icon name="addfriends-fill"></fui-icon>
+ <view class="chuany-font20">鎷嶆憚浜鸿劯鐓х墖</view>
+ </view>
+ </tem-upload-fui>
+
+ <!-- <view class="fui-upload__item fui-upload__noborder"
+ style="width:280rpx;height:280rpx;background:#eee;" @tap.stop="openCamera">
+ <view class="" v-if="faceImg">
+ <image :src="faceImg" mode="aspectFill" style="width: 280rpx;height: 280rpx;"></image>
+ </view>
+ <view class=" chuany-flex chuany-flex-direction chuany-align-center" v-else>
+ <fui-icon name="addfriends-fill"></fui-icon>
+ <view class="chuany-font20">鎷嶆憚浜鸿劯鐓х墖</view>
+ </view>
+ </view> -->
+ </view>
+ <view class="c-m-20 chuany-font24">
+ 涓轰簡淇濊瘉鎵撳崱鐨勬纭�э紝鈥屽缓璁湪鍏徃闂ㄥ彛鎴栬繘鍏ュ姙鍏鐨勯棬鍙e啀鎵撳崱銆傗�屽悓鏃讹紝鈥岀‘淇濈収鐗囩殑娓呮櫚銆佲�屾槑浜紝鈥岄潰閮ㄥ彲瑙併��
+ 鎵撳崱璁℃椂浠ュ皬鏃朵负鍗曚綅杩涜鏍哥畻銆傚憳宸ユ瘡娆℃墦鍗¤褰曠殑鏃堕棿宸皢绮剧‘鍒板皬鏃躲�備緥濡傦紝鍛樺伐涓婄彮鎵撳崱9鐐癸紝涓嬬彮鎵撳崱12鐐�30鍒嗭紝璁′负4灏忔椂宸ヤ綔鏃堕暱銆�
+ </view>
+ <view v-if='dakaList&&dakaList.length>0'>
+ <view class="chuany-flex chuany-justify-evenly chuany-flex-wrap c-p-t-20">
+ <view
+ class="chuany-flex chuany-flex-direction chuany-align-center chuany-justify-around textclo chuany-font24 c-p-b-30 daka"
+ :key="index" v-for="(item,index) in dakaList">
+ <up-avatar shape="square" size="56" :src="item.checkPhoto"
+ @click="previewImage(item.checkPhoto)"></up-avatar>
+ <view class="step_item">
+ <up-icon name="checkmark-circle-fill" :color="item.checktime?'#2979ff':'#e9e8e8'"
+ size="22"></up-icon>
+ <view class="line" :class="item.checkPhoto?'line-active':''"
+ v-if="index!==dakaList.length-1&&index%2==0">
+ </view>
+ </view>
+ <text>{{item.checktime?'宸叉墦鍗�':'鏈墦鍗�'}}</text>
+ <text
+ :class="$util.formatDate(item.checktime,true)=='-'?'core-opa':''">{{$util.formatDate(item.checktime,true)}}</text>
+ </view>
+ </view>
+ </view>
+ <view class="tabbtns">
+ <up-button color='#fece01' text="纭鎵撳崱" :loading='isLoading' loadingText="鎵撳崱涓�"
+ @click="enroll"></up-button>
+ </view>
</view>
</template>
<script>
+ import {
+ apiBaseUrl
+ } from '@/common/setting/constVarsHelper.js';
export default {
data() {
return {
-
+ src: '',
+ apiBaseUrl,
+ orderBiddingId: '', //鎷涘伐鏄庣粏OrderBiddingId
+ checkPhoto: '', //鎵撳崱鐓х墖
+ faceImg: '', //浜鸿劯鍥剧墖
+ dakaList: [],
+ sourceType: ["camera"],
+ sizeType: ['compressed'],
+ mediaType: ['image'],
+ isLoading: false
}
},
+ onLoad(option) {
+ this.apiBaseUrl = apiBaseUrl
+ let id = option.orderid
+ this.orderBiddingId = id
+ this.getDaka(id)
+ },
+ onShow(){
+ if(this.$db.get('faceImg')){
+ let faceImgPath = this.$db.get('faceImg')
+ this.$refs.uploadP.urls = [faceImgPath]
+ this.$refs.uploadP.status = ['success']
+ this.$util.pathToBase64(faceImgPath).then(res => {
+ this.faceImg = res
+ })
+ }
+ },
+ onUnload(){
+ this.$db.del('faceImg')
+ },
methods: {
-
+ getDaka(id) {
+ this.$api.getDaka({
+ orderId: id
+ }).then(res => {
+ if (res.code == 1) {
+ this.dakaList = res.data ? res.data.orderBiddingDetailCheck : []
+ if (this.dakaList.length > 6) {
+ this.dakaList.length = 6
+ }
+ if (this.dakaList.length % 2 !== 0) {
+ this.dakaList.push({})
+ }
+ } else {
+ this.$util.showToast({
+ title: res.error
+ })
+ }
+ })
+ },
+ openCamera() {
+ // 鎷嶇収鍜岀浉鍐�
+ // uni.chooseMedia({
+ // count: 1,
+ // mediaType: ['image'],
+ // sizeType: ["compressed"],
+ // sourceType: ["camera"],
+ // camera: 'front',
+ // success: (res) => {
+ // const {
+ // tempFiles
+ // } = res;
+ // this.$util.pathToBase64(tempFiles[0].tempFilePath).then(res => {
+ // this.faceImg = res
+ // })
+ // },
+ // });
+
+ },
+
+ success(e) {
+ //e.res 涓烘湇鍔″櫒杩斿洖鏁版嵁
+ //涓婁紶鎴愬姛鍥炶皟锛屽鐞嗘湇鍔″櫒杩斿洖鏁版嵁銆愭澶勬牴鎹疄闄呰繑鍥炴暟鎹繘琛屽鐞嗐��
+ let res = JSON.parse(e.res.data.replace(/\ufeff/g, "") || "{}")
+ if (res.data) {
+ this.checkPhoto = res.data //鎵撳崱鐓х墖
+ //浜鸿劯鍥剧墖
+ // enterpriseInfo.businessLicense = res.data.url
+ // enterpriseInfo.suppliername = res.data.info.name //浼佷笟鍚嶇О
+ // enterpriseInfo.regtime = res.data.info.setDate //娉ㄥ唽鏃堕棿
+ // enterpriseInfo.address = res.data.info.address //鑱旂郴鍦板潃
+ // enterpriseInfo.suppliercode = res.data.info.regNum //浼佷笟娉ㄥ唽鍙�
+ // enterpriseInfo.contact = res.data.info.person //鑱旂郴浜�
+ }
+ },
+ error() {
+
+ },
+ complete(e) {
+ if (e.action == 'delete') {
+ // 鍒犻櫎澶勭悊
+ }
+ console.log(e, '鍒犻櫎')
+ },
+ completePerson(e) {
+ if (e.action == 'delete') {
+ this.faceImg = ''
+ this.$db.del('faceImg')
+ // 鍒犻櫎澶勭悊
+ return
+ }
+ this.$util.pathToBase64(e.urls[0]).then(res => {
+ this.faceImg = res
+ })
+ },
+ previewImage(url) {
+ uni.previewImage({
+ urls: [url]
+ })
+ },
+ enroll() {
+ if (!this.checkPhoto) {
+ this.$util.showToast({
+ title: "璇锋媿鎽勭幆澧冪収鐗囷紒",
+ icon: "error"
+ })
+ return
+ }
+ if (!this.faceImg) {
+ this.$util.showToast({
+ title: "璇锋媿鎽勪汉鑴哥収鐗囷紒",
+ icon: "error"
+ })
+ return
+ }
+ this.isLoading = true
+ let obj = {
+ OrderId: this.orderBiddingId, //鎷涘伐鏄庣粏OrderBiddingId
+ checkPhoto: this.checkPhoto, //鎵撳崱鐓х墖
+ faceImg: this.faceImg,
+ }
+ this.$api.saveDaka(obj).then(res => {
+ if (res.code == 1) {
+ this.$util.showToast({
+ title: "鎵撳崱鎴愬姛锛�",
+ icon: "success"
+ })
+ this.checkPhoto = '' //鎵撳崱鐓х墖
+ this.faceImg = ''
+ this.$db.del('faceImg')
+ this.$refs.uploadP.deleteImage()
+ this.$refs.uploadE.deleteImage()
+ this.getDaka(this.orderBiddingId)
+ } else {
+ this.$util.showToast({
+ title: res.error,
+ })
+ }
+ this.isLoading = false
+ })
+ }
}
}
</script>
-<style>
+<style lang="scss">
+ .fui-upload__item {
+ /* #ifndef APP-NVUE */
+ display: flex;
+ /* #endif */
+ align-items: center;
+ justify-content: center;
+ margin-right: 20rpx;
+ margin-bottom: 20rpx;
+ /* #ifdef H5 */
+ cursor: pointer;
+ /* #endif */
+ position: relative;
-</style>
+ /* #ifndef APP-NVUE */
+ box-sizing: border-box;
+ /* #endif */
+ }
+
+ .fui-upload__noborder {
+ border-width: 0;
+ }
+
+ .camera-fill {
+ // width: 400rpx;
+ // height: 400rpx;
+ margin: 20rpx auto;
+ border-radius: 20rpx;
+ }
+
+ .daka {
+ width: 260rpx;
+ height: 230rpx;
+ }
+
+ .step_item {
+ position: relative;
+ /* width: 144rpx; */
+ display: flex;
+
+ .line {
+ position: absolute;
+ top: 17rpx;
+ left: 35rpx;
+ content: "";
+ height: 4rpx;
+ width: 310rpx;
+ background-color: #e9e8e8;
+ z-index: -1;
+ }
+
+ .line-active {
+ background-color: #2979ff;
+ }
+ }
+</style>
\ No newline at end of file
--
Gitblit v1.9.1