583 lines
17 KiB
Vue
583 lines
17 KiB
Vue
<template>
|
|
<div class="container">
|
|
<!-- <u-modal v-model="show" :content="content"></u-modal> -->
|
|
<model :show="show" @close="show=false" :content="content" />
|
|
<image class="greenbgc" src="https://www.focusnu.com/media/directive/index/greenbgc.png" />
|
|
<view class="title-back">
|
|
<view class="left-father" @click="goBack">
|
|
<image class="back-img" src="https://www.focusnu.com/media/directive/index/left.png" />
|
|
<view style="font-size: 30rpx;">入职登记表</view>
|
|
</view>
|
|
|
|
</view>
|
|
<view class="white-content">
|
|
|
|
<view class="content-title" style="margin: 20rpx 0;justify-content: space-between;">
|
|
<view style="display: flex;">
|
|
<view class="shu"></view>
|
|
<view class="content-weight">个人信息</view>
|
|
<image class="shu-img"
|
|
:src="applyStatus? `https://www.focusnu.com/media/directive/index/${statusarray[applyStatus-1]}.png`:``" />
|
|
</view>
|
|
|
|
<view class="small-blue" @click="changeMessage" v-if="!applyStatus">
|
|
修改个人信息
|
|
</view>
|
|
</view>
|
|
<view class="white-message">
|
|
<view>
|
|
<view v-for="(item,index) in nameArray1" :key="index" class="one"
|
|
@click="openLook(textArray[index])">
|
|
<view class="one-left">{{item}}</view>
|
|
<view class="one-right">{{textArray1[index] ? textArray1[index] : "自动获取" }}</view>
|
|
</view>
|
|
</view>
|
|
</view>
|
|
</view>
|
|
<view class="white-content">
|
|
<view class="content-title" :style="!applyStatus?{height: `100rpx`}:{height: `140rpx`}"
|
|
style="position: relative;margin-bottom: 20rpx;z-index: 999;">
|
|
<view class="shu"></view>
|
|
<view class="content-weight">身份证</view>
|
|
|
|
</view>
|
|
<view class="white-photo" @click="getMessage(headImge)">
|
|
<view class="photo-left">
|
|
<view class="photo-weight">人像面</view>
|
|
<view class="photo-font">请上传身份证人像面</view>
|
|
</view>
|
|
<view style="position: relative;">
|
|
<image class="photo"
|
|
:src="headImge ? headImge : `https://www.focusnu.com/media/directive/index/IDcard.png`" />
|
|
<image v-if="!headImge"
|
|
style="position: absolute;top: 50%;left: 50%;width: 70rpx;height: 60rpx;transform: translate(-50%,-50%);"
|
|
src="https://www.focusnu.com/media/directive/index/takephoto.png" />
|
|
</view>
|
|
|
|
</view>
|
|
<view class="white-photo" style="margin-top: 30rpx;" @click="getMessage(backImge)">
|
|
<view class="photo-left">
|
|
<view class="photo-weight">国徽面</view>
|
|
<view class="photo-font">请上传身份证国徽面</view>
|
|
</view>
|
|
<view style="position: relative;">
|
|
<image class="photo"
|
|
:src="backImge ? backImge : `https://www.focusnu.com/media/directive/index/backIDcard.png`" />
|
|
<image v-if="!backImge"
|
|
style="position: absolute;top: 50%;left: 50%;width: 70rpx;height: 60rpx;transform: translate(-50%,-50%);"
|
|
src="https://www.focusnu.com/media/directive/index/takephoto.png" />
|
|
</view>
|
|
|
|
</view>
|
|
<view class="content-title" style="margin: 20rpx 0;">
|
|
<view class="shu"></view>
|
|
<view class="content-weight">确认身份证信息</view>
|
|
</view>
|
|
<view class="white-message">
|
|
<view>
|
|
<view v-for="(item,index) in nameArray" :key="index" class="one"
|
|
@click="openLook(textArray[index])">
|
|
<view class="one-left">{{item}}</view>
|
|
<view class="one-right">{{textArray[index] ? textArray[index] : "自动获取" }}</view>
|
|
</view>
|
|
</view>
|
|
</view>
|
|
</view>
|
|
<view class="white-content">
|
|
<view class="content-title" style="margin-bottom: 30rpx;">
|
|
<view class="shu"></view>
|
|
<view class="content-weight">银行卡</view>
|
|
<view style="margin-top: 8rpx;margin-left: 12rpx;;font-size: 23rpx;">(选填)</view>
|
|
</view>
|
|
<view class="white-photo" @click="getMessage(fontphoto0)">
|
|
<view class="photo-left">
|
|
<view class="photo-weight">银行卡正面</view>
|
|
<view class="photo-font">请上传银行卡正面</view>
|
|
</view>
|
|
<view style="position: relative;">
|
|
<image class="photo"
|
|
:src="fontphoto0 ? fontphoto0 : `https://www.focusnu.com/media/directive/index/bankfront.png`" />
|
|
<image style="width: 100%;height: 100%;top: 0;left: 0;z-index: 1;position: absolute;"
|
|
:src="fontphoto0 ? `` : `https://www.focusnu.com/media/directive/index/bian.png`" />
|
|
<image v-if="!fontphoto0"
|
|
style="position: absolute;top: 50%;left: 50%;width: 70rpx;height: 60rpx;transform: translate(-50%,-50%);"
|
|
src="https://www.focusnu.com/media/directive/index/takephoto.png" />
|
|
</view>
|
|
|
|
</view>
|
|
<view class="white-photo" style="margin-top: 30rpx;" @click="getMessage(endphoto0)">
|
|
<view class="photo-left">
|
|
<view class="photo-weight">银行卡反面</view>
|
|
<view class="photo-font">请上传银行卡反面</view>
|
|
</view>
|
|
<view style="position: relative;">
|
|
<image class="photo"
|
|
:src="endphoto0 ? endphoto0 : `https://www.focusnu.com/media/directive/index/bankend.png`" />
|
|
<image style="width: 100%;height: 100%;top: 0;left: 0;z-index: 1;position: absolute;"
|
|
:src="endphoto0 ? `` : `https://www.focusnu.com/media/directive/index/bian.png`" />
|
|
<image v-if="!endphoto0"
|
|
style="position: absolute;top: 50%;left: 50%;width: 70rpx;height: 60rpx;transform: translate(-50%,-50%);"
|
|
src="https://www.focusnu.com/media/directive/index/takephoto.png" />
|
|
</view>
|
|
|
|
</view>
|
|
<view class="content-title" style="margin: 30rpx 0;">
|
|
<view class="shu"></view>
|
|
<view class="content-weight">确认银行卡信息</view>
|
|
</view>
|
|
<view class="white-message">
|
|
<view>
|
|
<view v-for="(item,index) in nameArray0" :key="index" class="one"
|
|
@click="openLook(textArray0[index])">
|
|
<view class="one-left">{{item}}</view>
|
|
<view class="one-right">{{textArray0[index] ? textArray0[index] : "自动获取" }}</view>
|
|
</view>
|
|
</view>
|
|
</view>
|
|
</view>
|
|
<view class="white-content">
|
|
<view class="content-title" style="margin-bottom: 20rpx;">
|
|
<view class="shu"></view>
|
|
<view class="content-weight">健康证</view>
|
|
<view style="margin-top: 8rpx;margin-left: 12rpx;;font-size: 23rpx;">(选填)</view>
|
|
</view>
|
|
<view class="white-photo"
|
|
@click="getMessage(imgArray[0] ? `${base_url}/sys/common/static/${imgArray[0]}` : '')">
|
|
<view class="photo-left">
|
|
<view class="photo-weight">健康证正面</view>
|
|
<view class="photo-font">请上传健康证正面</view>
|
|
</view>
|
|
<view style="position: relative;">
|
|
<image class="photo" :src="imgArray[0] ? `${base_url}/sys/common/static/${imgArray[0]}` : ``" />
|
|
<!-- <image style="width: 100%;height: 100%;top: 0;left: 0;z-index: 1;position: absolute;"
|
|
:src="imgArray[0] ? `` : `https://www.focusnu.com/media/directive/index/bian.png`" />
|
|
<image v-if="!imgArray[0]"
|
|
style="position: absolute;top: 50%;left: 50%;width: 70rpx;height: 60rpx;transform: translate(-50%,-50%);"
|
|
src="https://www.focusnu.com/media/directive/index/takephoto.png" /> -->
|
|
</view>
|
|
|
|
</view>
|
|
<!-- <view class="white-photo"
|
|
@click="getMessage(imgArray[1] ? `${base_url}/sys/common/static/${imgArray[1]}` : '')">
|
|
<view class="photo-left">
|
|
<view class="photo-weight">健康证反面</view>
|
|
<view class="photo-font">请上传健康证反面</view>
|
|
</view>
|
|
<view style="position: relative;">
|
|
<image class="photo"
|
|
:src="imgArray[1] ? `${base_url}/sys/common/static/${imgArray[1]}` : `https://www.focusnu.com/media/directive/index/healend.png`" />
|
|
<image style="width: 100%;height: 100%;top: 0;left: 0;z-index: 1;position: absolute;"
|
|
:src="imgArray[1] ? `` : `https://www.focusnu.com/media/directive/index/bian.png`" />
|
|
<image v-if="!imgArray[1]"
|
|
style="position: absolute;top: 50%;left: 50%;width: 70rpx;height: 60rpx;transform: translate(-50%,-50%);"
|
|
src="https://www.focusnu.com/media/directive/index/takephoto.png" />
|
|
</view>
|
|
|
|
</view> -->
|
|
</view>
|
|
<view class="white-content">
|
|
<view class="content-title" style="margin: 20rpx 0;">
|
|
<view class="shu"></view>
|
|
<view class="content-weight">资质证</view>
|
|
<view style="margin-top: 8rpx;margin-left: 12rpx;;font-size: 23rpx;">(选填)</view>
|
|
</view>
|
|
<view class="white-photo"
|
|
@click="getMessage(imgArray[2] ? `${base_url}/sys/common/static/${imgArray[2]}` : '')">
|
|
<view class="photo-left">
|
|
<view class="photo-weight">资质证</view>
|
|
<view class="photo-font">请上传资质证</view>
|
|
</view>
|
|
<view style="position: relative;">
|
|
<image class="photo" :src="imgArray[2] ? `${base_url}/sys/common/static/${imgArray[2]}` : ``" />
|
|
<!-- <image style="width: 100%;height: 100%;top: 0;left: 0;z-index: 1;position: absolute;"
|
|
:src="imgArray[2] ? `` : `https://www.focusnu.com/media/directive/index/bian.png`" /> -->
|
|
<!-- <image v-if="!imgArray[2]"
|
|
style="position: absolute;top: 50%;left: 50%;width: 70rpx;height: 60rpx;transform: translate(-50%,-50%);"
|
|
src="https://www.focusnu.com/media/directive/index/takephoto.png" /> -->
|
|
</view>
|
|
|
|
</view>
|
|
</view>
|
|
<view class="white-content">
|
|
<view class="content-title" style="margin: 20rpx 0;">
|
|
<view class="shu"></view>
|
|
<view class="content-weight">无犯罪证明</view>
|
|
<view style="margin-top: 8rpx;margin-left: 12rpx;;font-size: 23rpx;">(选填)</view>
|
|
</view>
|
|
<view class="white-photo"
|
|
@click="getMessage(imgArray[3] ? `${base_url}/sys/common/static/${imgArray[3]}` : '')">
|
|
<view class="photo-left">
|
|
<view class="photo-weight">无犯罪证明</view>
|
|
<view class="photo-font">请上传无犯罪证明</view>
|
|
</view>
|
|
<view style="position: relative;">
|
|
<image class="photo" :src="imgArray[3] ? `${base_url}/sys/common/static/${imgArray[3]}` : ``" />
|
|
<!-- <image style="width: 100%;height: 100%;top: 0;left: 0;z-index: 1;position: absolute;"
|
|
:src="imgArray[3] ? `` : `https://www.focusnu.com/media/directive/index/bian.png`" />
|
|
<image v-if="!imgArray[3]"
|
|
style="position: absolute;top: 50%;left: 50%;width: 70rpx;height: 60rpx;transform: translate(-50%,-50%);"
|
|
src="https://www.focusnu.com/media/directive/index/takephoto.png" /> -->
|
|
</view>
|
|
|
|
</view>
|
|
</view>
|
|
<view style="display: flex;width: 100%;margin-top: 40rpx;"></view>
|
|
|
|
</div>
|
|
</template>
|
|
|
|
<script setup>
|
|
import {
|
|
ref,
|
|
reactive
|
|
} from 'vue'
|
|
import {
|
|
onLoad
|
|
} from '@dcloudio/uni-app';
|
|
import {
|
|
base_url
|
|
} from '@/request/index.js';
|
|
import {
|
|
getrel
|
|
} from '@/pages/addjigou/api/addjigou.js';
|
|
import model from "@/compontent/public/model.vue"
|
|
import {
|
|
swapLongTerm
|
|
} from '@/compontent/public/long.js'
|
|
|
|
const show = ref(false);
|
|
const content = ref("");
|
|
|
|
const statusarray = ["loading", "success", "fail"]
|
|
|
|
const nameArray = ["姓名", "性别", "身份证号码", "民族", "出生日期", "住址", "签发机关", "有效期限"];
|
|
const textArray = reactive(["", "", "", "", "", "", "", ""]);
|
|
|
|
const headImge = ref("");
|
|
|
|
const headImge0 = ref("");
|
|
|
|
const fontphoto0 = ref("")
|
|
const endphoto0 = ref("")
|
|
const imgArray = ref(["", "", "", ""])
|
|
|
|
const nameArray0 = ["开户行", "开户行卡号"];
|
|
const textArray0 = reactive(["", "", ]);
|
|
|
|
const nameArray1 = ["婚否", "联系电话", "身高", "体重", "健康状态", "政治面貌", "紧急联系人", "紧急联系人电话", "联系人与本人关系", "户口性质", ];
|
|
const textArray1 = reactive(["", "", "", "", "", "", "", "", "", ""]);
|
|
|
|
const backImge = ref("");
|
|
|
|
const states = ["待提交", "审核中", "审核通过", "审核未通过"];
|
|
|
|
const fontphoto = ref("");
|
|
const endphoto = ref("");
|
|
const statesTarget = ref(0);
|
|
|
|
// 本地保存的临时文件路径
|
|
const tempImagePath = ref('')
|
|
|
|
// 拍照并上传
|
|
function getMessage(url) {
|
|
if (!url) {
|
|
return
|
|
}
|
|
uni.previewImage({
|
|
current: url, // 当前显示图片的链接
|
|
urls: [url], // 可以预览的图片列表
|
|
indicator: 'default', // 显示面板指示点,'default'|'number'|'none'
|
|
loop: true, // 是否可循环预览
|
|
longPressActions: {
|
|
itemList: ['保存图片'],
|
|
success: (data) => {
|
|
console.log('长按操作成功', data)
|
|
},
|
|
fail: (err) => {
|
|
console.error('长按操作失败', err)
|
|
}
|
|
}
|
|
})
|
|
}
|
|
|
|
function isAtLeastEightChars(str) {
|
|
return typeof str === 'string' && str.length >= 12;
|
|
}
|
|
const openLook = (res) => {
|
|
if (isAtLeastEightChars(res)) {
|
|
content.value = res;
|
|
show.value = true
|
|
}
|
|
}
|
|
const goBack = () => {
|
|
uni.navigateBack()
|
|
}
|
|
const alldata = ref("");
|
|
const contentred = ref("")
|
|
const applyStatus = ref(false);
|
|
onLoad((options) => {
|
|
if (options.applyStatus) {
|
|
applyStatus.value = options.applyStatus
|
|
}
|
|
alldata.value = JSON.parse(options.element);
|
|
// console.log("???")
|
|
let data = alldata.value
|
|
if (data.content) {
|
|
contentred.value = data.content
|
|
}
|
|
textArray[0] = data.name;
|
|
textArray[1] = data.sex;
|
|
textArray[2] = data.idCard;
|
|
textArray[3] = data.national;
|
|
textArray[4] = data.birthDate;
|
|
textArray[5] = data.idCardAddress;
|
|
textArray[6] = data.issuingAuthority;
|
|
textArray[7] = `${data.startTime}-${swapLongTerm(data.endTime)}`;
|
|
headImge.value = `${base_url}/sys/common/static/${data.cardZmPath}`;
|
|
backImge.value = `${base_url}/sys/common/static/${data.cardFmPath}`;
|
|
textArray0[0] = data.openingBank;
|
|
textArray0[1] = data.bankCard;
|
|
fontphoto0.value = `${base_url}/sys/common/static/${data.bankZmPath}`;
|
|
endphoto0.value = `${base_url}/sys/common/static/${data.bankFmPath}`;
|
|
imgArray.value[0] = data.healthZmPath
|
|
imgArray.value[1] = data.healthFmPath
|
|
imgArray.value[2] = data.qualificationPath
|
|
imgArray.value[3] = data.noCrimeCertificate
|
|
|
|
|
|
const keys = [
|
|
"maritalStatus",
|
|
"tel",
|
|
"height",
|
|
"weight",
|
|
"healthStatus",
|
|
"politicalAppearance",
|
|
"contactName",
|
|
"contactTel",
|
|
"contactRelationship",
|
|
"hukouType"
|
|
]
|
|
|
|
keys.forEach((key, index) => {
|
|
textArray1[index] = data[key] || ""
|
|
})
|
|
textArray1[2] += "cm"
|
|
textArray1[3] += 'kg'
|
|
})
|
|
const changeMessage = () => {
|
|
console.log("????",alldata.value)
|
|
if(alldata.value.modifyState=='1'){
|
|
openLook("该信息正在审核中,请等待")
|
|
}else{
|
|
uni.setStorageSync("baddata", alldata.value)
|
|
uni.setStorageSync('specicalid', alldata.value.id);
|
|
uni.setStorageSync("backhuancun", {})
|
|
uni.navigateTo({
|
|
url: `/pages/addstaff/information`
|
|
});
|
|
}
|
|
|
|
}
|
|
</script>
|
|
|
|
<style lang="scss" scoped>
|
|
.container {
|
|
display: flex;
|
|
flex-direction: column;
|
|
min-height: 100vh;
|
|
width: 100%;
|
|
background-color: #F7F7F7;
|
|
position: relative;
|
|
|
|
.white-content {
|
|
width: 90%;
|
|
margin-left: 5%;
|
|
border-radius: 35rpx;
|
|
|
|
.content-title {
|
|
display: flex;
|
|
align-items: center;
|
|
height: 100rpx;
|
|
position: relative;
|
|
font-weight: 600;
|
|
|
|
.content-weight {
|
|
font-size: 32rpx;
|
|
}
|
|
|
|
.content-img {
|
|
position: absolute;
|
|
right: 0;
|
|
top: 0;
|
|
width: 400rpx;
|
|
height: 100%;
|
|
}
|
|
}
|
|
}
|
|
|
|
.white-photo {
|
|
width: 100%;
|
|
height: 300rpx;
|
|
border-radius: 35rpx;
|
|
background-color: #fff;
|
|
justify-content: space-around;
|
|
align-items: center;
|
|
display: flex;
|
|
|
|
.photo {
|
|
width: 300rpx;
|
|
height: 200rpx;
|
|
}
|
|
}
|
|
|
|
.white-message {
|
|
width: 100%;
|
|
margin-top: 20rpx;
|
|
padding-top: 20rpx;
|
|
padding-bottom: 20rpx;
|
|
margin-bottom: 30rpx;
|
|
border-radius: 35rpx;
|
|
background-color: #fff;
|
|
justify-content: space-around;
|
|
display: flex;
|
|
flex-direction: column;
|
|
|
|
.one {
|
|
width: 90%;
|
|
margin-left: 5%;
|
|
height: 100rpx;
|
|
display: flex;
|
|
justify-content: space-between;
|
|
align-items: center;
|
|
margin-bottom: 10rpx;
|
|
|
|
.one-left {
|
|
margin-left: 10rpx;
|
|
font-size: 30rpx;
|
|
// color: red;
|
|
color: black;
|
|
z-index: 1;
|
|
}
|
|
|
|
.one-right {
|
|
margin-right: 10rpx;
|
|
font-size: 30rpx;
|
|
color: #999999;
|
|
overflow: hidden;
|
|
/* 隐藏超出内容 */
|
|
white-space: nowrap;
|
|
/* 不换行 */
|
|
text-overflow: ellipsis;
|
|
max-width: 380rpx;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
.photo-left {
|
|
z-index: 1;
|
|
|
|
.photo-weight {
|
|
font-size: 32rpx;
|
|
font-weight: 600;
|
|
color: #333;
|
|
}
|
|
|
|
.photo-font {
|
|
font-size: 28rpx;
|
|
margin-top: 10rpx;
|
|
color: #666;
|
|
}
|
|
|
|
}
|
|
|
|
.gray-font {
|
|
padding: 20rpx 60rpx;
|
|
padding-bottom: 35rpx;
|
|
color: #999999;
|
|
}
|
|
|
|
.title-back {
|
|
margin-top: 100rpx;
|
|
width: 100%;
|
|
height: 100rpx;
|
|
display: flex;
|
|
justify-content: space-between;
|
|
align-items: center;
|
|
}
|
|
|
|
.left-father {
|
|
display: flex;
|
|
align-items: center;
|
|
z-index: 1;
|
|
|
|
.back-img {
|
|
width: 45rpx;
|
|
height: 40rpx;
|
|
margin-left: 40rpx;
|
|
margin-right: 15rpx;
|
|
}
|
|
}
|
|
|
|
.shu {
|
|
width: 14rpx;
|
|
height: 36rpx;
|
|
background-color: #0097FF;
|
|
border-radius: 10rpx;
|
|
margin: 3rpx 20rpx 0 30rpx;
|
|
}
|
|
|
|
.line {
|
|
margin: 10rpx 0;
|
|
}
|
|
|
|
.shu-img {
|
|
position: absolute;
|
|
right: 20rpx;
|
|
top: 40%;
|
|
transform: translateY(-40%);
|
|
width: 150rpx;
|
|
height: 130rpx;
|
|
}
|
|
|
|
.greenbgc {
|
|
position: absolute;
|
|
top: 0;
|
|
left: 0;
|
|
width: 100%;
|
|
height: 700rpx;
|
|
}
|
|
|
|
.contentred {
|
|
width: 90%;
|
|
border: dashed 3rpx #FF4B2F;
|
|
border-radius: 15rpx;
|
|
margin: 15rpx 0;
|
|
margin-left: 5%;
|
|
padding: 5rpx;
|
|
|
|
.contentred-bgc {
|
|
background-color: rgb(240, 228, 228);
|
|
border-radius: 15rpx;
|
|
color: red;
|
|
padding: 20rpx;
|
|
padding-bottom: 30rpx;
|
|
|
|
}
|
|
}
|
|
|
|
.small-blue {
|
|
display: flex;
|
|
justify-content: center;
|
|
align-items: center;
|
|
width: 35%;
|
|
height: 70rpx;
|
|
// margin: 0rpx auto;
|
|
// margin-bottom: 80rpx;
|
|
color: #fff;
|
|
background: linear-gradient(to right, #00C9FF, #0076FF);
|
|
border-radius: 30rpx;
|
|
font-size: 30rpx;
|
|
z-index: 9999;
|
|
}
|
|
</style> |