hldy_xcx/pages/addstaff/all.vue

605 lines
18 KiB
Vue
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<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="title-back" :style="{height:`${uni.getStorageSync('moveHeight')+40}px`}">
<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 :style="{height:`${uni.getStorageSync('moveHeight') + 30}px`}"></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" style="margin-top: -2rpx;">个人信息</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="contentred" v-if="!applyStatus&&contentred">
<view class="contentred-bgc">
驳回原因{{contentred}}
</view>
</view> -->
<view style="margin:0 auto 0;width: 100%;color: red;display: flex;" v-if="!applyStatus&&contentred">
<text style="color: #222;margin-left: 40rpx;width: 20%;white-space: nowrap;">驳回原因</text>
<text style="word-break: break-all; width: 73%;">{{contentred}}</text>
</view>
<view class="white-message">
<view>
<view v-for="(item,index) in nameArray1" :key="index" class="one"
@click="openLook(textArray1[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] ? `${media_base_url}${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] ? `${media_base_url}${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] ? `${media_base_url}${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] ? `${media_base_url}${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] ? `${media_base_url}${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] ? `${media_base_url}${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 {
media_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
console.log("00000",data)
if (options.auditContent) {
contentred.value = options.auditContent
}
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 = `${media_base_url}${data.cardZmPath}`;
backImge.value = `${media_base_url}${data.cardFmPath}`;
textArray0[0] = data.openingBank;
textArray0[1] = data.bankCard;
fontphoto0.value = `${media_base_url}${data.bankZmPath}`;
endphoto0.value = `${media_base_url}${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",
"currentAddress"
]
keys.forEach((key, index) => {
textArray1[index] = data[key] || ""
})
textArray1[2] = Number(textArray1[2]) + "cm"
textArray1[3] = Number(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;
align-items: center;
margin-bottom: 10rpx;
.one-left {
margin-left: 10rpx;
font-size: 30rpx;
color: black;
z-index: 1;
width: 250rpx;
}
.one-right {
margin-right: 10rpx;
font-size: 30rpx;
color: #999999;
overflow: hidden;
/* 隐藏超出内容 */
white-space: nowrap;
/* 不换行 */
text-overflow: ellipsis;
max-width: 330rpx;
}
}
}
}
.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 {
background-color: #F7F7F7;
width: 100%;
height: 70rpx;
display: flex;
justify-content: space-between;
align-items: flex-end;
padding-bottom: 20rpx;
border-bottom: 1rpx solid #cbd1d2;
position: fixed;
top: 0;
left: 0;
z-index: 9999;
}
.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;
background: linear-gradient(to bottom, #e7f4ff, #c5e5ff);
border: 2rpx solid #9AD1FF;
color: #007CFF;
border-radius: 30rpx;
font-size: 30rpx;
z-index: 2;
}
</style>