From 376ac09a54e8c95190d06bf39f295c890829c103 Mon Sep 17 00:00:00 2001
From: zhangwei <1504152376@qq.com>
Date: 星期二, 03 九月 2024 15:43:25 +0800
Subject: [PATCH] 查看工人详情

---
 src/pages/mine/apply.vue |  264 ++++++++++++++++++++++++++++++++++++++++++----------
 1 files changed, 213 insertions(+), 51 deletions(-)

diff --git a/src/pages/mine/apply.vue b/src/pages/mine/apply.vue
index 84abc6d..a07b706 100644
--- a/src/pages/mine/apply.vue
+++ b/src/pages/mine/apply.vue
@@ -1,33 +1,62 @@
 <template>
-	<view class="full-page">
+	<view class="full-page-fff">
 		<view class="content">
-			<up-form labelPosition="left" :model="model1" :rules="rules" ref="form1" labelWidth='90'>
-				<up-form-item label="韬唤璇佹闈�" prop="userInfo.sex" required borderBottom @click="showSex = true; hideKeyboard()"
-					ref="item1">
-					<tem-upload src="/static/positive.png" />
+			<up-form labelPosition="left" :model="userInfo" :rules="rules" ref="formRef" labelWidth='80'>
+				<up-form-item label="韬唤璇佹闈�" prop="idCardFace" required>
+					<fui-upload immediate :url="`${apiBaseUrl}/api/UpFile/UploadIdCord?PageName=FRONT`" ref="uploadF"
+						max='1' background='#fff' @success="success('FRONT',$event)" @error="error"
+						@complete="completeFront" width="300" height="150">
+						<image :src="userInfo.idCardFace?userInfo.idCardFace:'/static/positive.png'" mode="widthFix"
+							style="width: 300rpx;height: 150rpx;"></image>
+					</fui-upload>
 					<!-- <template #right>
 						<up-icon name="arrow-right"></up-icon>
 					</template> -->
 				</up-form-item>
-				<up-form-item label="韬唤璇佸弽闈�" prop="userInfo.sex" required borderBottom @click="showSex = true; hideKeyboard()"
-					ref="item1">
-					<tem-upload src="/static/negative.png"/>
-					
+				<up-form-item label="韬唤璇佸弽闈�" prop="idCardBack" required>
+					<fui-upload immediate :url="`${apiBaseUrl}/api/UpFile/UploadIdCord?PageName=Back`" ref="uploadB"
+						max='1' background='#fff' @success="success('Back',$event)" @error="error" @complete="complete"
+						width="300" height="150">
+						<image :src="userInfo.idCardBack?userInfo.idCardBack:'/static/negative.png'" mode="widthFix"
+							style="width: 300rpx;height: 150rpx;"></image>
+					</fui-upload>
 				</up-form-item>
-				<up-form-item label="濮撳悕" required prop="userInfo.name" borderBottom ref="item1">
-					<up-input v-model="state.model1.userInfo.name" border="none" placeholder="璇疯緭鍏ュ鍚�"></up-input>
+				<up-form-item label="濮撳悕" required prop="name" ref="item1">
+					<up-input v-model="userInfo.name" border="none" placeholder="璇疯緭鍏ュ鍚�" readonly></up-input>
 				</up-form-item>
-				<up-form-item label="鑱旂郴鐢佃瘽" required prop="userInfo.name" borderBottom ref="item1">
-					<up-input v-model="state.model1.userInfo.name" border="none" placeholder="璇疯緭鍏ヨ仈绯荤數璇�"></up-input>
+				<up-form-item label="鑱旂郴鐢佃瘽" required prop="phone" ref="item1">
+					<up-input v-model="userInfo.phone" border="none" placeholder="璇疯緭鍏ヨ仈绯荤數璇�"></up-input>
 				</up-form-item>
-				<up-form-item label="韬唤璇佸彿" required prop="userInfo.name" borderBottom ref="item1">
-					<up-input v-model="state.model1.userInfo.name" border="none" placeholder="璇疯緭鍏ヨ韩浠借瘉鍙�"></up-input>
+				<up-form-item label="韬唤璇佸彿" required prop="idCode" ref="item1">
+					<up-input v-model="userInfo.idCode" border="none" placeholder="璇疯緭鍏ヨ韩浠借瘉鍙�" readonly></up-input>
 				</up-form-item>
-				<up-form-item label="绠�鍘嗘弿杩�" required prop="userInfo.name" borderBottom ref="item1">
-					<up-textarea v-model="state.model1.userInfo.name" placeholder="璇疯緭鍏ョ畝鍘嗘弿杩�" ></up-textarea>
+				<up-form-item label="鑱旂郴鍦板潃" required prop="address" ref="item1">
+					<up-input v-model="userInfo.address" border="none" placeholder="璇疯緭鍏ヨ仈绯诲湴鍧�"></up-input>
 				</up-form-item>
+				<up-form-item label="绠�鍘嗘弿杩�" required prop="resume" ref="item1">
+
+				</up-form-item>
+				<up-textarea v-model="userInfo.resume" placeholder="璇疯緭鍏ョ畝鍘嗘弿杩�"></up-textarea>
+				<!-- <up-form-item label="鎬у埆" required prop="Gender"   ref="item2">
+					<up-radio-group v-model="userInfo.Gender">
+						<up-radio :customStyle="{marginRight: '16px'}" v-for="(item, index) in radiolist1" :key="index"
+							:label="item.name" :name="item.name">
+						</up-radio>
+					</up-radio-group>
+				</up-form-item> -->
+				<!-- <view class="text-area">
+					<camera device-position="front" style="width: 100%; height: 600rpx;"></camera>
+				</view> -->
+				<!-- <view class="tabbtns">
+					<up-button color='#fece01' class="text-69" text="浜鸿劯璇嗗埆" @click='IaiAddPerso'></up-button>
+				</view> -->
+
+
+				<!-- <up-popup :show="show" @close="close" @open="open"> -->
+				<!-- <tem-session/> -->
+				<!-- </up-popup> -->
 				<view class="tabbtns">
-					<up-button color='#fece01' class="text-69" text="淇濆瓨"></up-button>
+					<up-button color='#fece01' class="text-69" text="淇濆瓨" @click='saveUserWorker'></up-button>
 				</view>
 			</up-form>
 		</view>
@@ -37,49 +66,182 @@
 
 <script setup>
 	import {
+		onLoad,
+		onShow,
+		onReady
+	} from "@dcloudio/uni-app";
+
+	import {
+		apiBaseUrl
+	} from '@/common/setting/constVarsHelper.js';
+	import {
+		onMounted,
+		getCurrentInstance
+	} from 'vue'
+	const {
+		$upload,
+		$api,
+		$util,
+		$db
+	} = getCurrentInstance().appContext.config.globalProperties
+	import {
 		ref,
 		reactive
 	} from 'vue';
 
-	// 浣跨敤 reactive 鍒涘缓鍝嶅簲寮忕姸鎬�  
-	const state = reactive({
-		showSex: false,
-		model1: {
-			userInfo: {
-				name: '',
-				sex: '',
-			},
-		},
-		actions: [{
-				name: '鐢�'
-			},
-			{
-				name: '濂�'
-			},
-			{
-				name: '淇濆瘑'
-			},
-		],
-		
-		radio: '',
-		switchVal: false,
-	});
-
-	// 浣跨敤 ref 鍒涘缓鍝嶅簲寮忓紩鐢�  
-	const formRef = ref(null);
-
-	// 瀹氫箟鏂规硶  
-	function sexSelect(e) {
-		state.model1.userInfo.sex = e.name;
-		if (formRef.value) {
-			formRef.value.validateField('userInfo.sex');
+	// let webgl = ref()
+	onLoad(() => {
+		let data = JSON.parse($db.get('userInfo'))
+		if (data && data.userWorker) {
+			userInfo.idCardFace = data.userWorker?data.userWorker.idCardFace:'' //韬唤璇佹闈㈣矾寰�
+			userInfo.idCardBack = data.userWorker?data.userWorker.idCardBack:'' //韬唤璇佸弽闈㈣矾寰�
+			userInfo.name = data.userWorker.name //濮撳悕
+			userInfo.phone = data.userWorker.phone //鐢佃瘽鍙风爜
+			userInfo.idCode = data.userWorker.idCode //韬唤璇佸彿
+			userInfo.address = data.userWorker.address //鑱旂郴鍦板潃
+			userInfo.resume = data.userWorker.resume //绠�鍘嗘弿杩�
+			userInfo.id = data.userWorker.id
 		}
+		console.log(userInfo,data && data.userWorker,'data && data.userWorker');
+	})
+	let rules = {
+		idCardFace: {
+			required: true,
+			message: '璇蜂笂浼犺韩浠借瘉姝i潰',
+			trigger: ['blur', 'change']
+		}, //钀ヤ笟鎵х収璺緞
+		idCardBack: {
+			required: true,
+			message: '璇蜂笂浼犺韩浠借瘉鍙嶉潰',
+			trigger: ['blur', 'change']
+		}, //浼佷笟鍚嶇О
+		name: {
+			required: true,
+			message: '濮撳悕涓嶈兘涓虹┖',
+			trigger: ['blur', 'change']
+		}, //娉ㄥ唽鏃堕棿
+		idCode: {
+			required: true,
+			message: '韬唤璇佸彿涓嶈兘涓虹┖',
+			trigger: ['blur', 'change']
+		}, //鑱旂郴鍦板潃
+		address: {
+			required: true,
+			message: '鑱旂郴鍦板潃涓嶈兘涓虹┖',
+			trigger: ['blur', 'change']
+		}, //浼佷笟娉ㄥ唽鍙�
+		resume: {
+			required: true,
+			message: '绠�鍘嗘弿杩颁笉鑳戒负绌�',
+			trigger: ['blur', 'change']
+		}, //鍏徃绠�浠�
+		phone: {
+			required: true,
+			message: '鐢佃瘽鍙风爜涓嶈兘涓虹┖',
+			trigger: ['blur', 'change']
+		}
+	}
+	let status = ref(false)
+	const formRef = ref()
+	onReady(() => {
+		formRef.value.setRules(rules);
+	})
+	onMounted(() => {
+		formRef.value.setRules(rules);
+		console.log(formRef.value, 'formRef'); // 璁块棶瀛愮粍浠禗emo涓殑灞炴��
+	});
+	let gender = ref()
+	let idCardFaceBase64 = ref('')
+	let userInfo = reactive({
+		idCardFace: '', //韬唤璇佹闈㈣矾寰�
+		idCardBack: '', //韬唤璇佸弽闈㈣矾寰�
+		name: '', //濮撳悕
+		phone: '', //鐢佃瘽鍙风爜
+		idCode: '', //韬唤璇佸彿
+		address: '', //鑱旂郴鍦板潃
+		resume: '', //绠�鍘嗘弿杩�
+		id: 0
+	})
+
+	const IaiAddPerso = (e) => {
+
+	}
+
+	const saveUserWorker = (e) => {
+		formRef.value.validate().then(res => {
+			let obj = {
+				imgBase64: idCardFaceBase64,
+				cordId: userInfo.idCode, //韬唤璇佸彿鐮�
+				name: userInfo.name, //濮撳悕
+				gender: gender.value == '鐢�' ? 1 : 2 //鎬у埆
+			}
+			$api.IaiAddPersoBase64(obj).then(res => {
+				if (res.data.isOK == true) {
+					$api.saveUserWorker(userInfo).then(res => {
+						if (res.code == 1) {
+							$util.showToast({
+								title: "淇濆瓨鎴愬姛锛�",
+								icon: "success"
+							})
+						}
+					})
+				}
+			})
+		}).catch(errors => {
+			console.log(errors)
+			uni.$u.toast(errors[0].message)
+		})
+	}
+
+	//涓婁紶鎴愬姛鏃惰Е鍙�
+	const success = (text, e) => {
+		//e.res 涓烘湇鍔″櫒杩斿洖鏁版嵁
+		//涓婁紶鎴愬姛鍥炶皟锛屽鐞嗘湇鍔″櫒杩斿洖鏁版嵁銆愭澶勬牴鎹疄闄呰繑鍥炴暟鎹繘琛屽鐞嗐��
+		let res = JSON.parse(e.res.data.replace(/\ufeff/g, "") || "{}")
+		console.log(res.data.url, text, res.data.url && text == 'FRONT');
+		if (res.data.url && text == 'FRONT') {
+			userInfo.idCardFace = res.data.url //韬唤璇佹闈㈣矾寰�
+			userInfo.idCode = res.data.info.idNum //韬唤璇佸彿
+			userInfo.name = res.data.info.name
+			userInfo.address = res.data.info.address
+			gender.value = res.data.info.sex
+		} else {
+			userInfo.idCardBack = res.data.url //韬唤璇佸弽闈㈣矾寰�
+		}
+	}
+	//涓婁紶澶辫触鏃惰Е鍙�
+	const error = (e) => {}
+	//閫夋嫨鍥剧墖鎴栦笂浼犲畬鎴愭椂瑙﹀彂
+	const completeFront = (e) => {
+		if (e.action == 'delete') {
+			// 鍒犻櫎澶勭悊
+			userInfo.idCardFace = '' //韬唤璇佹闈㈣矾寰�
+			userInfo.idCode = '' //韬唤璇佸彿
+			userInfo.name = ''
+			userInfo.address = ''
+			gender.value = ''
+		}
+		console.log(e, '鍒犻櫎')
+		$util.pathToBase64(e.urls[0]).then(res => {
+			idCardFaceBase64 = res
+		})
+	}
+	const complete = (e) => {
+		if (e.action == 'delete') {
+			// 鍒犻櫎澶勭悊
+			userInfo.idCardBack = ''
+		}
+		console.log(e, '鍒犻櫎')
 	}
 </script>
 
 <style>
-	.content{
+	.content {
 		background-color: #fff;
 		padding: 0 20rpx;
 	}
+
+	.fui-upload__item {
+		margin-top: 20rpx !important;
+	}
 </style>
\ No newline at end of file

--
Gitblit v1.9.1