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