From e3f6581c48b1dfb65c55e8a1a6ce1761a7dc26b4 Mon Sep 17 00:00:00 2001
From: zhangwei <1504152376@qq.com>
Date: 星期四, 16 一月 2025 15:29:43 +0800
Subject: [PATCH] 费用报销

---
 src/pages/checkin/checkin.vue |  125 ++++++++++++++++++++++++++++++++---------
 1 files changed, 97 insertions(+), 28 deletions(-)

diff --git a/src/pages/checkin/checkin.vue b/src/pages/checkin/checkin.vue
index 31f3f25..cd28503 100644
--- a/src/pages/checkin/checkin.vue
+++ b/src/pages/checkin/checkin.vue
@@ -1,27 +1,44 @@
 <template>
 	<view>
 		<view class='chuany-flex camera-fill chuany-justify-center chuany-align-center'>
-			<fui-upload immediate :url="`${apiBaseUrl}api/UpFile/UpdateFile`" ref="uploadB" max='1' @success="success"
-				@error="error" @complete="complete" width="280" height="280">
-				<image v-if="checkPhoto" :src="checkPhoto" mode="widthFix" style="width: 280rpx;height: 280rpx;">
-				</image>
+			<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>
-			</fui-upload>
-			<fui-upload ref="uploadB" max='1' @error="error" @complete="completePerson" width="280" height="280">
-				<image v-if="src" :src="src" mode="widthFix" style="width: 280rpx;height: 280rpx;"></image>
+			</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>
-			</fui-upload>
+			</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啀鎵撳崱銆傗�屽悓鏃讹紝鈥岀‘淇濈収鐗囩殑娓呮櫚銆佲�屾槑浜紝鈥岄潰閮ㄥ彲瑙併��
 		</view>
-		<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"
@@ -42,7 +59,8 @@
 			</view>
 		</view>
 		<view class="tabbtns">
-			<up-button color='#fece01' class="text-69" text="纭鎵撳崱" @click="enroll"></up-button>
+			<up-button color='#fece01' class="text-69" text="纭鎵撳崱" :loading='isLoading' loadingText="鎵撳崱涓�"
+				@click="enroll"></up-button>
 		</view>
 	</view>
 </template>
@@ -59,7 +77,11 @@
 				orderBiddingId: '', //鎷涘伐鏄庣粏OrderBiddingId
 				checkPhoto: '', //鎵撳崱鐓х墖
 				faceImg: '', //浜鸿劯鍥剧墖
-				dakaList: null
+				dakaList: [],
+				sourceType: ["camera"],
+				sizeType: ['compressed'],
+				mediaType: ['image'],
+				isLoading: false
 			}
 		},
 		onLoad(option) {
@@ -68,16 +90,26 @@
 			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.orderBiddingDetailCheck
-						if (this.dakaList.length == 0) {
-							this.dakaList.length = 2
-						}
+						this.dakaList = res.data ? res.data.orderBiddingDetailCheck : []
 						if (this.dakaList.length > 6) {
 							this.dakaList.length = 6
 						}
@@ -93,18 +125,22 @@
 			},
 			openCamera() {
 				// 鎷嶇収鍜岀浉鍐�
-				uni.chooseImage({
-					count: 1,
-					sizeType: ["original", "compressed"],
-					sourceType: ["camera"],
-					success: (res) => {
-						const {
-							tempFilePaths
-						} = res;
-						console.log(tempFilePaths);
-					},
-				});
-
+				// 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) {
@@ -132,6 +168,12 @@
 				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
 				})
@@ -156,6 +198,7 @@
 					})
 					return
 				}
+				this.isLoading = true
 				let obj = {
 					OrderId: this.orderBiddingId, //鎷涘伐鏄庣粏OrderBiddingId
 					checkPhoto: this.checkPhoto, //鎵撳崱鐓х墖
@@ -169,12 +212,16 @@
 						})
 						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.data,
+							title: res.error,
 						})
 					}
+					this.isLoading = false
 				})
 			}
 		}
@@ -182,6 +229,28 @@
 </script>
 
 <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;
+
+		/* #ifndef APP-NVUE */
+		box-sizing: border-box;
+		/* #endif */
+	}
+
+	.fui-upload__noborder {
+		border-width: 0;
+	}
+
 	.camera-fill {
 		// width: 400rpx;
 		// height: 400rpx;

--
Gitblit v1.9.1