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