<template>
|
<view class="full-page-fff">
|
<view class="content">
|
<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="errorFront"
|
@complete="completeFront" width="300" height="150">
|
<image src="/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="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="/static/negative.png" mode="widthFix"
|
style="width: 300rpx;height: 150rpx;"></image>
|
</fui-upload>
|
</up-form-item>
|
<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="phone" ref="item1">
|
<up-input v-model="userInfo.phone" border="none" placeholder="请输入联系电话"></up-input>
|
</up-form-item>
|
<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="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="保存" :loading='isLoading' loadingText="保存中"
|
@click='saveUserWorker'></up-button>
|
</view>
|
</up-form>
|
</view>
|
|
</view>
|
</template>
|
|
<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';
|
|
// let webgl = ref()
|
onLoad(() => {
|
const userToken = $db.get("userToken");
|
if (!userToken) {
|
uni.showToast({
|
title: '请先登录!',
|
icon: 'none',
|
duration: 1000,
|
complete: function() {
|
setTimeout(function() {
|
uni.hideToast();
|
uni.navigateTo({
|
url: '/pages/login/index'
|
});
|
},
|
1000);
|
}
|
});
|
}
|
let data = $db.get('userInfo') ? JSON.parse($db.get('userInfo')) : null
|
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 uploadF = ref()
|
let uploadB = ref()
|
let isLoading = ref(false)
|
let rules = {
|
idCardFace: {
|
required: true,
|
message: '请上传身份证正面',
|
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);
|
if(userInfo.idCardBack){
|
uploadB.value.urls = [userInfo.idCardBack]
|
uploadB.value.status = ['success']
|
}
|
if(userInfo.idCardFace){
|
uploadF.value.urls = [userInfo.idCardFace]
|
uploadF.value.status = ['success']
|
}
|
|
})
|
onMounted(() => {
|
formRef.value.setRules(rules);
|
console.log(formRef.value, 'formRef'); // 访问子组件Demo中的属性
|
});
|
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 => {
|
isLoading.value = true
|
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"
|
})
|
$api.getUser().then(res => {
|
$db.set('userInfo', JSON.stringify(res.data))
|
})
|
uni.navigateBack()
|
}
|
isLoading.value = false
|
})
|
} else {
|
$util.showToast({
|
title: res.msg
|
})
|
isLoading.value = false
|
}
|
})
|
}).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, "") || "{}")
|
if (res.code == 1) {
|
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 //身份证反面路径
|
}
|
} else {
|
uni.$u.toast(res.error)
|
if (text == 'FRONT') {
|
uploadF.value.deleteImage()
|
} else {
|
uploadB.value.deleteImage()
|
}
|
}
|
|
}
|
//上传失败时触发
|
const error = (e) => {}
|
const errorFront = (e) => {
|
console.log(e, '--------------');
|
}
|
//选择图片或上传完成时触发
|
const completeFront = (e) => {
|
if (e.action == 'delete') {
|
// 删除处理
|
userInfo.idCardFace = '' //身份证正面路径
|
userInfo.idCode = '' //身份证号
|
userInfo.name = ''
|
userInfo.address = ''
|
gender.value = ''
|
return
|
}
|
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 {
|
background-color: #fff;
|
padding: 0 20rpx;
|
}
|
|
.fui-upload__item {
|
margin-top: 20rpx !important;
|
}
|
</style>
|