2054 lines
71 KiB
Vue
2054 lines
71 KiB
Vue
<template>
|
||
<view class="page">
|
||
<u-navbar
|
||
class="u-navbar"
|
||
:title="pageTitle"
|
||
placeholder
|
||
@leftClick="leftClick"
|
||
leftIconColor="#fff"
|
||
bgColor="#00337A"
|
||
:titleStyle="{ color: '#FFF', fontSize: '32rpx' }"
|
||
/>
|
||
<scroll-view class="scroll-view" scroll-x="true">
|
||
<view class="scroll-view-item" :class="hIndex == 1 ? 'active' : ''">
|
||
身份证
|
||
<view class="activeLine" v-if="hIndex == 1"></view>
|
||
</view>
|
||
<view class="scroll-view-item" :class="hIndex == 2 ? 'active' : ''" @click="hIndex = 2">
|
||
关键信息
|
||
<view class="activeLine" v-if="hIndex == 2"></view>
|
||
</view>
|
||
<view class="scroll-view-item" :class="hIndex == 3 ? 'active' : ''">
|
||
安全培训
|
||
<view class="activeLine" v-if="hIndex == 3"></view>
|
||
</view>
|
||
<view class="scroll-view-item" :class="hIndex == 4 ? 'active' : ''" v-if="indexMax == 7" @click="hIndex = 4">
|
||
分包班组
|
||
<view class="activeLine" v-if="hIndex == 4"></view>
|
||
</view>
|
||
<view class="scroll-view-item" :class="hIndex == 5 ? 'active' : ''" v-if="indexMax == 7">
|
||
合同
|
||
<view class="activeLine" v-if="hIndex == 5"></view>
|
||
</view>
|
||
<view class="scroll-view-item" :class="hIndex == 6 ? 'active' : ''" v-if="indexMax == 7">
|
||
工资卡
|
||
<view class="activeLine" v-if="hIndex == 6"></view>
|
||
</view>
|
||
<view class="scroll-view-item" :class="hIndex == indexMax ? 'active' : ''">
|
||
其他
|
||
<view class="activeLine" v-if="hIndex == indexMax"></view>
|
||
</view>
|
||
</scroll-view>
|
||
|
||
<scroll-view class="content" scroll-y="true">
|
||
<view v-show="hIndex == 1">
|
||
<u--form class="addForm" :model="entryIdNumberBean" ref="vForm">
|
||
<view style="width: 100%; height: 80rpx; display: flex; justify-content: space-between; align-items: center">
|
||
<view style="margin-left: 20rpx">身份证人像面信息</view>
|
||
<view
|
||
style="
|
||
margin-right: 20rpx;
|
||
color: #00337a;
|
||
padding: 20rpx;
|
||
border: 1rpx solid #00337a;
|
||
border-radius: 20rpx;
|
||
"
|
||
@click="distinguishFornt"
|
||
>
|
||
身份证识别
|
||
</view>
|
||
</view>
|
||
<view class="form-input-box">
|
||
<view style="width: 20%; height: 100%">
|
||
<text>姓名</text>
|
||
</view>
|
||
<u-form-item prop="name" style="width: 75%; height: 100%">
|
||
<u--input
|
||
v-model="entryIdNumberBean.name"
|
||
type="text"
|
||
placeholder="请输入"
|
||
maxlength="20"
|
||
border="surround"
|
||
clearable
|
||
></u--input>
|
||
</u-form-item>
|
||
</view>
|
||
<view class="form-input-box">
|
||
<view style="width: 20%; height: 100%">
|
||
<text>身份证号</text>
|
||
</view>
|
||
<u-form-item prop="idNumber" style="width: 75%; height: 100%">
|
||
<u--input
|
||
v-model="entryIdNumberBean.idNumber"
|
||
type="text"
|
||
placeholder="请输入"
|
||
maxlength="18"
|
||
border="surround"
|
||
clearable
|
||
@input="getBorth"
|
||
></u--input>
|
||
</u-form-item>
|
||
</view>
|
||
<view class="form-input-box">
|
||
<view style="width: 20%; height: 100%">
|
||
<text>性别</text>
|
||
</view>
|
||
<u-form-item prop="sex" style="width: 75%; height: 100%">
|
||
<u--input
|
||
v-model="entryIdNumberBean.sex"
|
||
readonly
|
||
type="text"
|
||
placeholder="自动计算带入"
|
||
maxlength="15"
|
||
border="surround"
|
||
clearable
|
||
></u--input>
|
||
</u-form-item>
|
||
</view>
|
||
<view class="form-input-box">
|
||
<view style="width: 20%; height: 100%">
|
||
<text>出生日期</text>
|
||
</view>
|
||
<u-form-item prop="birthday" style="width: 75%; height: 100%">
|
||
<u--input
|
||
v-model="entryIdNumberBean.birthday"
|
||
readonly
|
||
type="text"
|
||
placeholder="自动计算带入"
|
||
maxlength="20"
|
||
border="surround"
|
||
clearable
|
||
></u--input>
|
||
</u-form-item>
|
||
</view>
|
||
<view class="form-input-box">
|
||
<view style="width: 20%; height: 100%">
|
||
<text>民族</text>
|
||
</view>
|
||
<u-form-item prop="ethnic" style="width: 75%; height: 100%">
|
||
<u--input
|
||
v-model="entryIdNumberBean.ethnic"
|
||
type="text"
|
||
placeholder="请输入"
|
||
maxlength="15"
|
||
border="surround"
|
||
clearable
|
||
></u--input>
|
||
</u-form-item>
|
||
</view>
|
||
<view class="form-input-box">
|
||
<view style="width: 20%; height: 100%">
|
||
<text>住址</text>
|
||
</view>
|
||
<u-form-item prop="address" style="width: 75%; height: 100%">
|
||
<u--input
|
||
v-model="entryIdNumberBean.address"
|
||
type="text"
|
||
placeholder="请输入"
|
||
maxlength="40"
|
||
border="surround"
|
||
clearable
|
||
></u--input>
|
||
</u-form-item>
|
||
</view>
|
||
<view style="width: 100%; height: 80rpx; display: flex; justify-content: space-between; align-items: center">
|
||
<view style="margin-left: 20rpx">身份证国徽面信息</view>
|
||
<view
|
||
style="
|
||
margin-right: 20rpx;
|
||
color: #00337a;
|
||
padding: 20rpx;
|
||
border: 1rpx solid #00337a;
|
||
border-radius: 20rpx;
|
||
"
|
||
@click="distinguishBack"
|
||
>
|
||
身份证识别
|
||
</view>
|
||
</view>
|
||
<view class="form-input-box">
|
||
<view style="width: 20%; height: 100%">
|
||
<text>生效日期</text>
|
||
</view>
|
||
<u-form-item prop="signDate" style="width: 75%; height: 100%">
|
||
<uni-datetime-picker
|
||
type="date"
|
||
:clear-icon="false"
|
||
format="YYYY-MM-DD"
|
||
v-model="entryIdNumberBean.signDate"
|
||
/>
|
||
</u-form-item>
|
||
</view>
|
||
<view class="form-input-box">
|
||
<view style="width: 20%; height: 100%">
|
||
<text>失效日期</text>
|
||
</view>
|
||
<u-form-item prop="expiryDate" style="width: 75%; height: 100%">
|
||
<uni-datetime-picker
|
||
type="date"
|
||
:clear-icon="false"
|
||
format="YYYY-MM-DD"
|
||
v-model="entryIdNumberBean.expiryDate"
|
||
/>
|
||
</u-form-item>
|
||
</view>
|
||
<view class="form-input-box">
|
||
<view style="width: 20%; height: 100%">
|
||
<text>签发机关</text>
|
||
</view>
|
||
<u-form-item prop="issuance" style="width: 75%; height: 100%">
|
||
<u--input
|
||
v-model="entryIdNumberBean.issuance"
|
||
type="text"
|
||
placeholder="请输入"
|
||
maxlength="40"
|
||
border="surround"
|
||
clearable
|
||
></u--input>
|
||
</u-form-item>
|
||
</view>
|
||
|
||
<view class="submit-box">
|
||
<u-button type="primary" shape="surround" @click="next" style="background: #5193fe">下一步</u-button>
|
||
</view>
|
||
</u--form>
|
||
</view>
|
||
|
||
<view v-show="hIndex == 2">
|
||
<view class="tip-view">
|
||
<text style="font-size: 24rpx; color: red">此页面全部为必填项</text>
|
||
</view>
|
||
<u--form class="addForm" :model="entryCruxBean" ref="iForm">
|
||
<view class="form-input-box">
|
||
<view style="width: 20%; height: 100%">
|
||
<text>入场工程</text>
|
||
</view>
|
||
<u-form-item prop="proId" style="width: 75%; height: 100%">
|
||
<uni-data-select v-model="entryCruxBean.proId" :localdata="proList" @change="changePro"></uni-data-select>
|
||
</u-form-item>
|
||
</view>
|
||
<view class="form-input-box">
|
||
<view style="width: 20%; height: 100%">
|
||
<text>工种</text>
|
||
</view>
|
||
<u-form-item prop="postId" style="width: 75%; height: 100%">
|
||
<uni-data-select
|
||
v-model="entryCruxBean.postId"
|
||
:localdata="postList"
|
||
@change="changePost"
|
||
></uni-data-select>
|
||
</u-form-item>
|
||
</view>
|
||
<view class="form-input-box">
|
||
<view style="width: 20%; height: 100%">
|
||
<text>手机号码</text>
|
||
</view>
|
||
<u-form-item prop="phone" style="width: 75%; height: 100%">
|
||
<u--input
|
||
v-model="entryCruxBean.phone"
|
||
type="number"
|
||
placeholder="请输入"
|
||
maxlength="11"
|
||
border="surround"
|
||
clearable
|
||
></u--input>
|
||
</u-form-item>
|
||
</view>
|
||
<view class="tip-view">
|
||
<text style="font-size: 24rpx; color: red">特征信息采集</text>
|
||
</view>
|
||
<view class="form-input-box">
|
||
<view style="width: 25%; height: 100%; margin-top: 20rpx">
|
||
<text>人脸照片采集</text>
|
||
</view>
|
||
<view class="img-box">
|
||
<view class="img-item" v-if="faceImgUrl != ''">
|
||
<image class="img" :src="faceImgUrl" mode=""></image>
|
||
</view>
|
||
<view style="margin-left: 40rpx" class="signBtn" @click="openPhotograph">人脸照片采集</view>
|
||
</view>
|
||
</view>
|
||
<view class="form-input-box">
|
||
<view style="width: 25%; height: 100%; margin-top: 20rpx">
|
||
<view>电子签名采集</view>
|
||
</view>
|
||
<view class="img-box">
|
||
<view class="img-item" v-if="signImgUrl != ''">
|
||
<image class="img" :src="signImgUrl" mode=""></image>
|
||
</view>
|
||
<view style="margin-left: 40rpx" class="signBtn" @click="openSignView">采集电子签名</view>
|
||
</view>
|
||
</view>
|
||
<view style="display: flex; flex-direction: column; padding: 20rpx">
|
||
<text style="font-size: 24rpx; color: red">提醒事项:</text>
|
||
<text style="font-size: 24rpx; color: red">1.入场工程后,即为入场即可考勤打卡;</text>
|
||
<text style="font-size: 24rpx; color: red">
|
||
2.手机号会自动创建施工人员级别APP账号,默认密码:YNsbd@123456)
|
||
</text>
|
||
<text style="font-size: 24rpx; color: red">3.人脸照片采集用于考勤打卡(APP打卡,考勤机打卡)</text>
|
||
<text style="font-size: 24rpx; color: red">4.电子签名用于电子合同签订使用。</text>
|
||
</view>
|
||
<view class="submit-box">
|
||
<u-button
|
||
type="primary"
|
||
shape="surround"
|
||
@click="up"
|
||
class="submit-btn"
|
||
style="background: #ccc; border: 0"
|
||
>
|
||
上一步
|
||
</u-button>
|
||
<u-button type="primary" shape="surround" @click="next" class="submit-btn" style="background: #5193fe">
|
||
下一步
|
||
</u-button>
|
||
</view>
|
||
</u--form>
|
||
</view>
|
||
|
||
<view v-show="hIndex == 3">
|
||
<view class="tip-view">
|
||
<text style="font-size: 24rpx; color: #5193fe">培训结果</text>
|
||
<text style="font-size: 24rpx; color: red">非必填</text>
|
||
</view>
|
||
<u--form class="addForm" :model="entryTrainBean" ref="tForm">
|
||
<!-- <view class="form-input-box">
|
||
<view style="width:25%;height: 100%;">
|
||
<text>安规培训</text>
|
||
</view>
|
||
<u-form-item prop='safetyTraining' style="width:70%;height: 100%;" >
|
||
<u-radio-group v-model="entryTrainBean.safetyTraining" placement="row" style="border: 1rpx solid #ccc;padding: 20rpx;border-radius: 10rpx;">
|
||
<u-radio label="未完成" name="0" style="margin-right: 40rpx;"></u-radio>
|
||
<u-radio label="完成" name="1"></u-radio>
|
||
</u-radio-group>
|
||
</u-form-item>
|
||
</view>
|
||
<view class="form-input-box">
|
||
<view style="width:25%;height: 100%;">
|
||
<text>保命教育实操</text>
|
||
</view>
|
||
<u-form-item prop='practical' style="width:70%;height: 100%;" >
|
||
<u-radio-group v-model="entryTrainBean.practical" placement="row" style="border: 1rpx solid #ccc;padding: 20rpx;border-radius: 10rpx;">
|
||
<u-radio label="未完成" name="0" style="margin-right: 40rpx;"></u-radio>
|
||
<u-radio label="完成" name="1"></u-radio>
|
||
</u-radio-group>
|
||
</u-form-item>
|
||
</view>
|
||
<view class="form-input-box">
|
||
<view style="width:25%;height: 100%;">
|
||
<text>保命教育理论</text>
|
||
</view>
|
||
<u-form-item prop='theory' style="width:70%;height: 100%;" >
|
||
<u-radio-group v-model="entryTrainBean.theory" placement="row" style="border: 1rpx solid #ccc;padding: 20rpx;border-radius: 10rpx;">
|
||
<u-radio label="未完成" name="0" style="margin-right: 40rpx;"></u-radio>
|
||
<u-radio label="完成" name="1"></u-radio>
|
||
</u-radio-group>
|
||
</u-form-item>
|
||
</view>
|
||
<view class="form-input-box">
|
||
<view style="width:25%;height: 100%;">
|
||
<text>准军事化培训</text>
|
||
</view>
|
||
<u-form-item prop='militarize' style="width:70%;height: 100%;" >
|
||
<u-radio-group v-model="entryTrainBean.militarize" placement="row" style="border: 1rpx solid #ccc;padding: 20rpx;border-radius: 10rpx;">
|
||
<u-radio label="未完成" name="0" style="margin-right: 40rpx;"></u-radio>
|
||
<u-radio label="完成" name="1"></u-radio>
|
||
</u-radio-group>
|
||
</u-form-item>
|
||
</view>
|
||
<view class="tip-view">
|
||
<text style="font-size: 24rpx;color: #5193FE;">培训成绩结果</text>
|
||
</view> -->
|
||
<view class="form-input-box">
|
||
<view style="width: 25%; height: 100%; margin-top: 20rpx">
|
||
<text>公司级考试</text>
|
||
</view>
|
||
<view class="img-box">
|
||
<view class="img-item" v-if="entryTrainBean.companyExamFilePath">
|
||
<image class="img" :src="entryTrainBean.companyExamFilePath" mode=""></image>
|
||
</view>
|
||
<view style="margin-left: 40rpx" class="signBtn" @click="uploadFileTraining(1)">
|
||
{{ entryTrainBean.companyExamFilePath ? '重新上传' : '附件上传' }}
|
||
</view>
|
||
</view>
|
||
</view>
|
||
<view class="form-input-box">
|
||
<view style="width: 25%; height: 100%; margin-top: 20rpx">
|
||
<text>部门级考试</text>
|
||
</view>
|
||
<view class="img-box">
|
||
<view class="img-item" v-if="entryTrainBean.deptExamFilePath">
|
||
<image class="img" :src="entryTrainBean.deptExamFilePath" mode=""></image>
|
||
</view>
|
||
<view style="margin-left: 40rpx" class="signBtn" @click="uploadFileTraining(2)">
|
||
{{ entryTrainBean.deptExamFilePath ? '重新上传' : '附件上传' }}
|
||
</view>
|
||
</view>
|
||
</view>
|
||
<view class="form-input-box">
|
||
<view style="width: 25%; height: 100%; margin-top: 20rpx">
|
||
<text>班组级级考试</text>
|
||
</view>
|
||
<view class="img-box">
|
||
<view class="img-item" v-if="entryTrainBean.eamExamFilePath">
|
||
<image class="img" :src="entryTrainBean.eamExamFilePath" mode=""></image>
|
||
</view>
|
||
<view style="margin-left: 40rpx" class="signBtn" @click="uploadFileTraining(3)">
|
||
{{ entryTrainBean.eamExamFilePath ? '重新上传' : '附件上传' }}
|
||
</view>
|
||
</view>
|
||
</view>
|
||
<view class="form-input-box">
|
||
<view style="width: 28%; height: 100%">
|
||
<text>公司级考试成绩</text>
|
||
</view>
|
||
<u-form-item prop="companyExamScore" style="width: 70%; height: 100%">
|
||
<u--input
|
||
v-model="entryTrainBean.companyExamScore"
|
||
type="number"
|
||
placeholder="80分以上及格"
|
||
maxlength="3"
|
||
border="surround"
|
||
clearable
|
||
@input="matchScore1"
|
||
></u--input>
|
||
</u-form-item>
|
||
</view>
|
||
<view class="form-input-box">
|
||
<view style="width: 28%; height: 100%">
|
||
<text>部门级考试成绩</text>
|
||
</view>
|
||
<u-form-item prop="deptExamScore" style="width: 70%; height: 100%">
|
||
<u--input
|
||
v-model="entryTrainBean.deptExamScore"
|
||
type="number"
|
||
placeholder="80分以上及格"
|
||
maxlength="3"
|
||
border="surround"
|
||
clearable
|
||
@input="matchScore2"
|
||
></u--input>
|
||
</u-form-item>
|
||
</view>
|
||
<view class="form-input-box">
|
||
<view style="width: 28%; height: 100%">
|
||
<text>班组级考试成绩</text>
|
||
</view>
|
||
<u-form-item prop="teamExamScore" style="width: 70%; height: 100%">
|
||
<u--input
|
||
v-model="entryTrainBean.teamExamScore"
|
||
type="number"
|
||
placeholder="80分以上及格"
|
||
maxlength="3"
|
||
border="surround"
|
||
clearable
|
||
@input="matchScore3"
|
||
></u--input>
|
||
</u-form-item>
|
||
</view>
|
||
<!-- <view class="form-input-box">
|
||
<view style="width:28%;height: 100%;">
|
||
<text>准军事化培训</text>
|
||
</view>
|
||
<u-form-item prop='militarizeScore' style="width:70%;height: 100%;" >
|
||
<u--input v-model="entryTrainBean.militarizeScore" type="number" placeholder="80分以上及格" maxlength="3" border="surround" clearable @input="matchScore4"></u--input>
|
||
</u-form-item>
|
||
</view> -->
|
||
<view style="display: flex; flex-direction: column; padding: 20rpx">
|
||
<text style="font-size: 24rpx; color: red">提醒事项:</text>
|
||
<text style="font-size: 24rpx; color: red">1.未完成安全培训考试为【红灯】人员;</text>
|
||
<text style="font-size: 24rpx; color: red">
|
||
2.工资册生成时需要处理红灯打卡是否有效,(红灯打卡为待生效打卡)
|
||
</text>
|
||
<text style="font-size: 24rpx; color: red">3.红灯人员只可打卡7天,作业计划无法选择红灯人员。</text>
|
||
</view>
|
||
<view class="submit-box">
|
||
<u-button
|
||
type="primary"
|
||
shape="surround"
|
||
@click="up"
|
||
class="submit-btn"
|
||
style="background: #ccc; border: 0"
|
||
>
|
||
上一步
|
||
</u-button>
|
||
<u-button type="primary" shape="surround" @click="next" class="submit-btn" style="background: #5193fe">
|
||
下一步
|
||
</u-button>
|
||
</view>
|
||
</u--form>
|
||
</view>
|
||
|
||
<view v-show="hIndex == 4" v-if="indexMax == 7">
|
||
<view style="color: #c0c0c0; font-size: 24rpx; margin-left: 20rpx">
|
||
关键信息已选择工程(只可选择工程下绑定得分包商
|
||
</view>
|
||
<view class="tip-view">
|
||
<view>
|
||
<text style="font-size: 24rpx; color: #000">{{ entryCruxBean.proName }}</text>
|
||
</view>
|
||
<text style="font-size: 24rpx; color: red">非必填</text>
|
||
</view>
|
||
<u--form class="addForm" :model="entrySubTeamBean" ref="iForm">
|
||
<view class="form-input-box">
|
||
<view style="width: 20%; height: 100%">
|
||
<text>所属分包</text>
|
||
</view>
|
||
<u-form-item prop="subId" style="width: 75%; height: 100%">
|
||
<uni-data-select
|
||
v-model="entrySubTeamBean.subId"
|
||
:localdata="subList"
|
||
@change="changeSub"
|
||
></uni-data-select>
|
||
</u-form-item>
|
||
</view>
|
||
<view class="form-input-box">
|
||
<view style="width: 20%; height: 100%">
|
||
<text>所属班组</text>
|
||
</view>
|
||
<u-form-item prop="teamId" style="width: 75%; height: 100%">
|
||
<uni-data-select
|
||
v-model="entrySubTeamBean.teamId"
|
||
:localdata="teamList"
|
||
@change="changeTeam"
|
||
></uni-data-select>
|
||
</u-form-item>
|
||
</view>
|
||
<view class="form-input-box">
|
||
<view style="width: 20%; height: 100%">
|
||
<text>是否为班组固定人员</text>
|
||
</view>
|
||
<u-form-item prop="isRegularPerson" style="width: 75%; height: 100%">
|
||
<u-radio-group
|
||
v-model="entrySubTeamBean.isRegularPerson"
|
||
placement="row"
|
||
style="border: 1rpx solid #ccc; padding: 16rpx; border-radius: 10rpx"
|
||
>
|
||
<u-radio label="否" name="0" style="margin-right: 40rpx"></u-radio>
|
||
<u-radio label="是" name="1"></u-radio>
|
||
</u-radio-group>
|
||
</u-form-item>
|
||
</view>
|
||
|
||
<view style="display: flex; flex-direction: column; padding: 20rpx">
|
||
<text style="font-size: 24rpx; color: red">提醒事项:</text>
|
||
<text style="font-size: 24rpx; color: red">1.未完成分包班组绑定为【黄灯人员】;</text>
|
||
<text style="font-size: 24rpx; color: red">2.生成工资册之前必须绑定分包班组信息;</text>
|
||
<text style="font-size: 24rpx; color: red">3.班组固定人员不可使用【强制转场】</text>
|
||
</view>
|
||
<view class="submit-box">
|
||
<u-button
|
||
type="primary"
|
||
shape="surround"
|
||
@click="up"
|
||
class="submit-btn"
|
||
style="background: #ccc; border: 0"
|
||
>
|
||
上一步
|
||
</u-button>
|
||
<u-button type="primary" shape="surround" @click="next" class="submit-btn" style="background: #5193fe">
|
||
下一步
|
||
</u-button>
|
||
</view>
|
||
</u--form>
|
||
</view>
|
||
|
||
<view v-show="hIndex == 5" v-if="indexMax == 7">
|
||
<view class="tip-view">
|
||
<view>
|
||
<text style="font-size: 24rpx; color: #5193fe">纸质合同见证上传</text>
|
||
<text style="font-size: 24rpx; color: red">(电子合同在【电子合同】完成及审核)</text>
|
||
</view>
|
||
<text style="font-size: 24rpx; color: red">非必填</text>
|
||
</view>
|
||
<u--form class="addForm" :model="entryContractBean" ref="cForm">
|
||
<view class="form-input-box">
|
||
<view style="width: 25%; height: 100%">
|
||
<text>合同类型</text>
|
||
</view>
|
||
<u-form-item prop="contractType" style="width: 70%; height: 100%">
|
||
<u--input v-model="entryContractBean.contractType" type="text" readonly border="surround"></u--input>
|
||
</u-form-item>
|
||
</view>
|
||
<view class="form-input-box">
|
||
<view style="width: 25%; height: 100%">
|
||
<text>合同编号</text>
|
||
</view>
|
||
<u-form-item prop="contractCode" style="width: 70%; height: 100%">
|
||
<u--input
|
||
v-model="entryContractBean.contractCode"
|
||
type="text"
|
||
placeholder="请输入"
|
||
maxlength="40"
|
||
border="surround"
|
||
clearable
|
||
></u--input>
|
||
</u-form-item>
|
||
</view>
|
||
<view style="width: 100%; height: auto">
|
||
<view style="width: 25%; height: 100%; margin: 20rpx">
|
||
<text>合同期限类型</text>
|
||
</view>
|
||
<u-form-item prop="laborContractType" style="width: 96%; height: 100%; margin: 0 auto">
|
||
<u-radio-group
|
||
v-model="entryContractBean.laborContractType"
|
||
placement="row"
|
||
style="border: 1rpx solid #ccc; padding: 20rpx 10rpx; border-radius: 10rpx"
|
||
>
|
||
<u-radio
|
||
label="以完成一定工作为期限的合同"
|
||
name="以完成一定工作为期限的合同"
|
||
style="margin-right: 20rpx; transform: scale(0.8)"
|
||
></u-radio>
|
||
<u-radio label="固定期限合同" name="固定期限合同" style="transform: scale(0.8)"></u-radio>
|
||
</u-radio-group>
|
||
</u-form-item>
|
||
</view>
|
||
|
||
<view class="form-input-box">
|
||
<view style="width: 25%; height: 100%">
|
||
<text>合同签订日期</text>
|
||
</view>
|
||
<u-form-item prop="contractValidDate" style="width: 70%; height: 100%">
|
||
<uni-datetime-picker
|
||
type="date"
|
||
:clear-icon="false"
|
||
format="YYYY-MM-DD"
|
||
v-model="entryContractBean.contractValidDate"
|
||
/>
|
||
</u-form-item>
|
||
</view>
|
||
<view class="form-input-box">
|
||
<view style="width: 25%; height: 100%">
|
||
<text>合同终止日期</text>
|
||
</view>
|
||
<u-form-item prop="contractInvalidDate" style="width: 70%; height: 100%">
|
||
<uni-datetime-picker
|
||
type="date"
|
||
:clear-icon="false"
|
||
format="YYYY-MM-DD"
|
||
v-model="entryContractBean.contractInvalidDate"
|
||
/>
|
||
</u-form-item>
|
||
</view>
|
||
<view class="form-input-box">
|
||
<view style="width: 25%; height: 100%">
|
||
<text>工资核定方式</text>
|
||
</view>
|
||
<u-form-item prop="wageApprovedWay" style="width: 70%; height: 100%">
|
||
<u--input v-model="entryContractBean.wageApprovedWay" type="text" readonly border="surround"></u--input>
|
||
</u-form-item>
|
||
</view>
|
||
<view class="form-input-box">
|
||
<view style="width: 25%; height: 100%">
|
||
<text>工资核定标准</text>
|
||
</view>
|
||
<u-form-item prop="wageCriterion" style="width: 70%; height: 100%">
|
||
<u--input
|
||
v-model="entryContractBean.wageCriterion"
|
||
type="number"
|
||
placeholder="请输入"
|
||
maxlength="3"
|
||
border="surround"
|
||
clearable
|
||
@input="matchWageCriterion"
|
||
></u--input>
|
||
</u-form-item>
|
||
</view>
|
||
<view class="form-input-box">
|
||
<view style="width: 25%; height: 100%">
|
||
<text>人员角色</text>
|
||
</view>
|
||
<u-form-item prop="role" style="width: 70%; height: 100%">
|
||
<uni-data-select v-model="entryContractBean.role" :localdata="roleList"></uni-data-select>
|
||
</u-form-item>
|
||
</view>
|
||
<view class="form-input-box">
|
||
<view style="width: 25%; height: 100%">
|
||
<text>是否参加城乡居民医疗保险</text>
|
||
</view>
|
||
<u-form-item prop="miurInsurance" style="width: 70%; height: 100%">
|
||
<u-radio-group
|
||
v-model="entryContractBean.miurInsurance"
|
||
placement="row"
|
||
style="border: 1rpx solid #ccc; padding: 16rpx; border-radius: 10rpx"
|
||
>
|
||
<u-radio label="否" name="否" style="margin-right: 40rpx"></u-radio>
|
||
<u-radio label="是" name="是"></u-radio>
|
||
</u-radio-group>
|
||
</u-form-item>
|
||
</view>
|
||
<view class="form-input-box">
|
||
<view style="width: 25%; height: 100%">
|
||
<text>是否参加城乡居民养老保险</text>
|
||
</view>
|
||
<u-form-item prop="endowmentInsurance" style="width: 70%; height: 100%">
|
||
<u-radio-group
|
||
v-model="entryContractBean.endowmentInsurance"
|
||
placement="row"
|
||
style="border: 1rpx solid #ccc; padding: 16rpx; border-radius: 10rpx"
|
||
>
|
||
<u-radio label="否" name="否" style="margin-right: 40rpx"></u-radio>
|
||
<u-radio label="是" name="是"></u-radio>
|
||
</u-radio-group>
|
||
</u-form-item>
|
||
</view>
|
||
<view class="form-input-box">
|
||
<view style="width: 25%; height: 100%">
|
||
<text>是否在职</text>
|
||
</view>
|
||
<u-form-item prop="whetherOnJob" style="width: 70%; height: 100%">
|
||
<u-radio-group
|
||
v-model="entryContractBean.whetherOnJob"
|
||
placement="row"
|
||
style="border: 1rpx solid #ccc; padding: 16rpx; border-radius: 10rpx"
|
||
>
|
||
<u-radio label="否" name="否" style="margin-right: 40rpx"></u-radio>
|
||
<u-radio label="是" name="是"></u-radio>
|
||
</u-radio-group>
|
||
</u-form-item>
|
||
</view>
|
||
|
||
<view class="tip-view">
|
||
<text style="font-size: 24rpx; color: #5193fe">合同见证照片上传</text>
|
||
</view>
|
||
<view class="form-input-box" style="display: block">
|
||
<view style="width: 25%; height: 100%; margin-top: 20rpx">
|
||
<text>合同上传</text>
|
||
</view>
|
||
<view class="img-box">
|
||
<view class="img-item upload-btn" @click="uploadContractImg()">
|
||
<image class="img" src="@/static/realName/tianjia-img.png" mode=""></image>
|
||
</view>
|
||
<view class="img-item" v-if="contractImgUrl != ''">
|
||
<image class="img" :src="contractImgUrl" mode=""></image>
|
||
</view>
|
||
</view>
|
||
</view>
|
||
|
||
<view style="display: flex; flex-direction: column; padding: 20rpx">
|
||
<text style="font-size: 24rpx; color: red">提醒事项:</text>
|
||
<text style="font-size: 24rpx; color: red">1.未完成合同上传为【黄灯】人员;</text>
|
||
<text style="font-size: 24rpx; color: red">
|
||
2.工资册生成之前必须上传合同信息,工资册根据合同核定标准生成
|
||
</text>
|
||
</view>
|
||
<view class="submit-box">
|
||
<u-button
|
||
type="primary"
|
||
shape="surround"
|
||
@click="up"
|
||
class="submit-btn"
|
||
style="background: #ccc; border: 0"
|
||
>
|
||
上一步
|
||
</u-button>
|
||
<u-button type="primary" shape="surround" @click="next" class="submit-btn" style="background: #5193fe">
|
||
下一步
|
||
</u-button>
|
||
</view>
|
||
</u--form>
|
||
</view>
|
||
|
||
<view v-show="hIndex == 6" v-if="indexMax == 7">
|
||
<view class="tip-view">
|
||
<text style="font-size: 24rpx; color: #5193fe">工资卡见证</text>
|
||
<text style="font-size: 24rpx; color: red">非必填</text>
|
||
</view>
|
||
<u--form class="addForm" :model="entryBankBean" ref="cForm">
|
||
<view class="form-input-box" style="display: block">
|
||
<view style="width: 25%; height: 100%">
|
||
<text>见证照片</text>
|
||
</view>
|
||
<view class="img-box">
|
||
<view class="img-item upload-btn" @click="uploadBankImg()">
|
||
<image class="img" src="@/static/realName/tianjia-img.png" mode=""></image>
|
||
</view>
|
||
<view class="img-item" v-if="bankImgUrl != ''">
|
||
<image class="img" :src="bankImgUrl" mode=""></image>
|
||
</view>
|
||
</view>
|
||
</view>
|
||
<view class="form-input-box">
|
||
<view style="width: 25%; height: 100%">
|
||
<text>银行名称</text>
|
||
</view>
|
||
<u-form-item prop="bankName" style="width: 70%; height: 100%">
|
||
<u--input
|
||
v-model="entryBankBean.bankName"
|
||
type="text"
|
||
placeholder="请输入"
|
||
maxlength="30"
|
||
border="surround"
|
||
clearable
|
||
></u--input>
|
||
</u-form-item>
|
||
</view>
|
||
<view class="form-input-box">
|
||
<view style="width: 25%; height: 100%">
|
||
<text>银行卡号</text>
|
||
</view>
|
||
<u-form-item prop="bankCard" style="width: 70%; height: 100%">
|
||
<u--input
|
||
v-model="entryBankBean.bankCard"
|
||
type="number"
|
||
placeholder="请输入"
|
||
maxlength="20"
|
||
border="surround"
|
||
clearable
|
||
></u--input>
|
||
</u-form-item>
|
||
</view>
|
||
<view class="form-input-box">
|
||
<view style="width: 25%; height: 100%">
|
||
<text>银行支行名称</text>
|
||
</view>
|
||
<u-form-item prop="rollBankName" style="width: 70%; height: 100%">
|
||
<u--input
|
||
v-model="entryBankBean.rollBankName"
|
||
type="text"
|
||
placeholder="请输入"
|
||
maxlength="30"
|
||
border="surround"
|
||
clearable
|
||
></u--input>
|
||
</u-form-item>
|
||
</view>
|
||
<view style="display: flex; flex-direction: column; padding: 20rpx">
|
||
<text style="font-size: 24rpx; color: red">提醒事项:</text>
|
||
<text style="font-size: 24rpx; color: red">1.未完成工资卡上传为【黄灯】人员;</text>
|
||
<text style="font-size: 24rpx; color: red">2.工资册生成之前必须上传工资卡。</text>
|
||
</view>
|
||
<view class="submit-box">
|
||
<u-button
|
||
type="primary"
|
||
shape="surround"
|
||
@click="up"
|
||
class="submit-btn"
|
||
style="background: #ccc; border: 0"
|
||
>
|
||
上一步
|
||
</u-button>
|
||
<u-button type="primary" shape="surround" @click="next" class="submit-btn" style="background: #5193fe">
|
||
下一步
|
||
</u-button>
|
||
</view>
|
||
</u--form>
|
||
</view>
|
||
|
||
<view v-show="hIndex == indexMax">
|
||
<view class="tip-view">
|
||
<view>
|
||
<text style="font-size: 24rpx; color: #5193fe">社保信息</text>
|
||
<text style="font-size: 24rpx; color: red">(分包自有人员)</text>
|
||
</view>
|
||
|
||
<text style="font-size: 24rpx; color: red">非必填</text>
|
||
</view>
|
||
<u--form class="addForm" :model="entryOtherBean" ref="oForm">
|
||
<view class="form-input-box">
|
||
<view style="width: 25%; height: 100%">
|
||
<text>社保证明</text>
|
||
</view>
|
||
<u-form-item prop="socialSecurityPath" style="width: 70%; height: 100%"></u-form-item>
|
||
</view>
|
||
<view class="form-input-box">
|
||
<view style="width: 25%; height: 100%">
|
||
<text>社保号</text>
|
||
</view>
|
||
<u-form-item prop="socialSecurityNumber" style="width: 70%; height: 100%">
|
||
<u--input
|
||
v-model="entryOtherBean.socialSecurityNumber"
|
||
type="text"
|
||
placeholder="请输入社保号"
|
||
maxlength="30"
|
||
border="surround"
|
||
clearable
|
||
></u--input>
|
||
</u-form-item>
|
||
</view>
|
||
<view class="form-input-box">
|
||
<view style="width: 25%; height: 100%">
|
||
<text>社保单位</text>
|
||
</view>
|
||
<u-form-item prop="socialSecurityUnit" style="width: 70%; height: 100%">
|
||
<u--input
|
||
v-model="entryOtherBean.socialSecurityUnit"
|
||
type="text"
|
||
placeholder="请输入社保单位"
|
||
maxlength="30"
|
||
border="surround"
|
||
clearable
|
||
></u--input>
|
||
</u-form-item>
|
||
</view>
|
||
<view class="tip-view">
|
||
<text style="font-size: 24rpx; color: #5193fe">其他信息</text>
|
||
</view>
|
||
<view class="form-input-box">
|
||
<view style="width: 25%; height: 100%">
|
||
<text>人员类型</text>
|
||
</view>
|
||
<u-form-item prop="personType" style="width: 70%; height: 100%">
|
||
<u--input
|
||
v-model="entryOtherBean.personType"
|
||
type="text"
|
||
placeholder="请输入人员类型"
|
||
maxlength="30"
|
||
border="surround"
|
||
clearable
|
||
></u--input>
|
||
</u-form-item>
|
||
</view>
|
||
<view class="form-input-box">
|
||
<view style="width: 25%; height: 100%">
|
||
<text>工人技能</text>
|
||
</view>
|
||
<u-form-item prop="workerSkill" style="width: 70%; height: 100%">
|
||
<u--input
|
||
v-model="entryOtherBean.workerSkill"
|
||
type="text"
|
||
placeholder="请输入工人技能"
|
||
maxlength="30"
|
||
border="surround"
|
||
clearable
|
||
></u--input>
|
||
</u-form-item>
|
||
</view>
|
||
<view class="form-input-box">
|
||
<view style="width: 25%; height: 100%">
|
||
<text>重要人员</text>
|
||
</view>
|
||
<u-form-item prop="importantPerson" style="width: 70%; height: 100%">
|
||
<u--input
|
||
v-model="entryOtherBean.importantPerson"
|
||
type="text"
|
||
placeholder="请输入重要人员"
|
||
maxlength="30"
|
||
border="surround"
|
||
clearable
|
||
></u--input>
|
||
</u-form-item>
|
||
</view>
|
||
<view class="form-input-box">
|
||
<view style="width: 25%; height: 100%">
|
||
<text>紧急联系人</text>
|
||
</view>
|
||
<u-form-item prop="urgentPerson" style="width: 70%; height: 100%">
|
||
<u--input
|
||
v-model="entryOtherBean.urgentPerson"
|
||
type="text"
|
||
placeholder="请输入紧急联系人"
|
||
maxlength="30"
|
||
border="surround"
|
||
clearable
|
||
></u--input>
|
||
</u-form-item>
|
||
</view>
|
||
<view class="form-input-box">
|
||
<view style="width: 28%; height: 100%">
|
||
<text>紧急联系人电话</text>
|
||
</view>
|
||
<u-form-item prop="urgentPersonPhone" style="width: 67%; height: 100%">
|
||
<u--input
|
||
v-model="entryOtherBean.urgentPersonPhone"
|
||
type="number"
|
||
placeholder="请输入紧急联系人电话"
|
||
maxlength="11"
|
||
border="surround"
|
||
clearable
|
||
></u--input>
|
||
</u-form-item>
|
||
</view>
|
||
|
||
<view class="form-input-box">
|
||
<view style="width: 25%; height: 100%">
|
||
<text>文化程度</text>
|
||
</view>
|
||
<u-form-item prop="cultrue" style="width: 70%; height: 100%">
|
||
<u--input
|
||
v-model="entryOtherBean.cultrue"
|
||
type="text"
|
||
placeholder="请输入文化程度"
|
||
maxlength="30"
|
||
border="surround"
|
||
clearable
|
||
></u--input>
|
||
</u-form-item>
|
||
</view>
|
||
<view class="form-input-box">
|
||
<view style="width: 25%; height: 100%">
|
||
<text>政治面貌</text>
|
||
</view>
|
||
<u-form-item prop="politicalOutlook" style="width: 70%; height: 100%">
|
||
<u--input
|
||
v-model="entryOtherBean.politicalOutlook"
|
||
type="text"
|
||
placeholder="请输入政治面貌"
|
||
maxlength="30"
|
||
border="surround"
|
||
clearable
|
||
></u--input>
|
||
</u-form-item>
|
||
</view>
|
||
<view class="form-input-box">
|
||
<view style="width: 25%; height: 100%">
|
||
<text>家庭电话</text>
|
||
</view>
|
||
<u-form-item prop="addressPhone" style="width: 70%; height: 100%">
|
||
<u--input
|
||
v-model="entryOtherBean.addressPhone"
|
||
type="text"
|
||
placeholder="请输入家庭电话"
|
||
maxlength="30"
|
||
border="surround"
|
||
clearable
|
||
></u--input>
|
||
</u-form-item>
|
||
</view>
|
||
|
||
<view class="submit-box">
|
||
<u-button
|
||
type="primary"
|
||
shape="surround"
|
||
@click="up"
|
||
class="submit-btn"
|
||
style="background: #ccc; border: 0"
|
||
>
|
||
上一步
|
||
</u-button>
|
||
<u-button type="primary" shape="surround" @click="next" class="submit-btn" style="background: #5193fe">
|
||
下一步
|
||
</u-button>
|
||
</view>
|
||
</u--form>
|
||
</view>
|
||
</scroll-view>
|
||
<!-- 签名弹窗 -->
|
||
<u-popup :show="signPopup" mode="center" @close="closeSign">
|
||
<view style="width: 650rpx; height: 100%; position: relative; background-color: #fff">
|
||
<!-- <view class="popup-header">
|
||
<view style="width: 5%;height: 80rpx;"></view>
|
||
<view style="width: 85%;height: 80rpx;line-height: 80rpx;font-weight: bold;">收样信息修改</view>
|
||
<u-icon style="width: 10%;" name="close" color="#000" size="32" @click="closeSign"></u-icon>
|
||
</view> -->
|
||
<view class="popup-content">
|
||
<SignView v-on:signConfirm="signConfirm" photoType="aoto" style="width: 100%; height: 100%" />
|
||
</view>
|
||
<!-- <view class="popup-submit-box">
|
||
<u-button shape="square" class="submit-edit-1" @click="closeSign">取 消</u-button>
|
||
<u-button type="primary" shape="square" class="submit-edit-2" @click="signConfirm">确 认</u-button>
|
||
</view> -->
|
||
</view>
|
||
</u-popup>
|
||
</view>
|
||
</template>
|
||
|
||
<script>
|
||
import { pathToBase64, base64ToPath } from 'image-tools'
|
||
import SignView from '../../components/signView.vue'
|
||
import config from '@/config'
|
||
export default {
|
||
components: { SignView },
|
||
data() {
|
||
return {
|
||
pageTitle: '新增人员',
|
||
sysUser: uni.getStorageSync('realNameUser'),
|
||
hIndex: 1,
|
||
indexMax: 4,
|
||
errorType: 'message',
|
||
entryIdNumberBean: {
|
||
name: '',
|
||
idNumber: '',
|
||
sex: '',
|
||
birthday: '',
|
||
ethnic: '', //民族
|
||
address: '', //住址
|
||
signDate: '', //生效日期
|
||
expiryDate: '', //失效日期
|
||
issuance: '', //签发机关
|
||
frontPath: '', //正面身份证照片
|
||
backPath: '', //反面身份证照片
|
||
workerType: '0', //用工类型:0-临时1-固有2-分包
|
||
light: '', //灯
|
||
userId: uni.getStorageSync('realNameUser').userId, //上传人
|
||
isOwnPerson: '' //是否自有人员
|
||
},
|
||
entryCruxBean: {
|
||
proId: '', //工程
|
||
proName: '',
|
||
postId: '', //工种
|
||
postName: '',
|
||
phone: '', //手机号
|
||
facePath: '', //人脸照片
|
||
// "faceFeature": "1111",//人脸特征
|
||
// "faceFeatureByte": [0],//人脸特征
|
||
autoPath: '', //签名
|
||
isFurloughPerson: '', //是否暂退
|
||
einStatus: '', //出入场状态
|
||
einTime: '' //入场时间
|
||
},
|
||
faceImgUrl: '',
|
||
signImgUrl: '',
|
||
signPopup: false,
|
||
entryTrainBean: {
|
||
//安全培训
|
||
safetyTraining: '', //安规培训
|
||
practical: '', //保命教育实操
|
||
theory: '', //保命教育理论
|
||
militarize: '', //准军事化培训
|
||
companyExamScore: '', //安规培训分数
|
||
deptExamScore: '', //保命教育实操分数
|
||
teamExamScore: '', //保命教育理论分数
|
||
// "militarizeScore": "",//准军事化培训分数
|
||
isPass: '', //是否合格
|
||
|
||
companyExamFilePath: '', // 公司级考试附件
|
||
deptExamFilePath: '', // 部门级考试附件
|
||
eamExamFilePath: '' // 班组级考试附件
|
||
},
|
||
entrySubTeamBean: {
|
||
subId: '', //分包编号
|
||
subName: '', //分包名称
|
||
teamId: '', //班组编号
|
||
teamName: '', //班组名称
|
||
isRegularPerson: '' //是否固定
|
||
},
|
||
entryContractBean: {
|
||
contractPath: '', //合同见证照片
|
||
contractId: '', //合同上传编号
|
||
contractCode: '', //合同编号
|
||
laborContractType: '', //合同期限类型
|
||
contractValidDate: '', //合同签订日期
|
||
contractInvalidDate: '', //合同终止日期
|
||
wageApprovedWay: '天', //工资核定方式
|
||
wageCriterion: '', //工资核定标准
|
||
role: '', //人员角色
|
||
contractType: '纸质合同', //合同类型
|
||
miurInsurance: '', //是否参加城乡居民医疗保险
|
||
endowmentInsurance: '', //是否参加城乡居民养老保险
|
||
whetherOnJob: '' //是否在职
|
||
},
|
||
contractImgUrl: '',
|
||
bankImgUrl: '',
|
||
entryBankBean: {
|
||
bankName: '', //银行名称
|
||
bankCard: '', //银行卡号
|
||
rollBankName: '', //银行支行名称
|
||
bankPhoto: '' //见证照片
|
||
},
|
||
entryOtherBean: {
|
||
socialSecurityNumber: '', //社保号
|
||
socialSecurityUnit: '', //社保单位
|
||
socialSecurityPath: '', //社保文件
|
||
personType: '', //人员类型
|
||
workerSkill: '', //工人技能
|
||
importantPerson: '', //重要人员
|
||
urgentPerson: '', //紧急联系人
|
||
urgentPersonPhone: '', //紧急联系人电话
|
||
cultrue: '', //文化程度
|
||
politicalOutlook: '', //政治面貌
|
||
addressPhone: '' //家庭电话
|
||
},
|
||
proList: [],
|
||
postList: [],
|
||
subList: [],
|
||
teamList: [],
|
||
roleList: [
|
||
{ value: '管理人员', text: '管理人员' },
|
||
{ value: '务工人员', text: '务工人员' },
|
||
{ value: '劳资专管员', text: '劳资专管员' }
|
||
]
|
||
}
|
||
},
|
||
onLoad(option) {
|
||
this.entryIdNumberBean.workerType = option.workerType || '0'
|
||
if (option.workerType == '0') {
|
||
this.indexMax = 4
|
||
this.pageTitle = '新增临时人员'
|
||
} else if (option.workerType == '1') {
|
||
this.indexMax = 7
|
||
this.pageTitle = '新增固定人员'
|
||
} else if (option.workerType == '2') {
|
||
this.indexMax = 7
|
||
this.pageTitle = '新增分包管理人员'
|
||
}
|
||
console.log('?? ~ realNameUser:', this.sysUser)
|
||
this.getproList()
|
||
this.getpostList()
|
||
},
|
||
onShow() {},
|
||
methods: {
|
||
//获取工程
|
||
getproList() {
|
||
let param = {
|
||
id: -1,
|
||
subId: this.sysUser.subId
|
||
}
|
||
console.log(param)
|
||
uni.request({
|
||
url: config.realAppUrl + '/offLine/getPro',
|
||
method: 'post',
|
||
data: param,
|
||
header: {
|
||
'Content-Type': 'application/x-www-form-urlencoded',
|
||
Authorization: uni.getStorageSync('realNameToken')
|
||
},
|
||
success: res => {
|
||
console.log(res)
|
||
res = res.data
|
||
if (res.code == 200) {
|
||
this.proList = res.data.map(item => {
|
||
let obj = { value: item.id, text: item.name }
|
||
return obj
|
||
})
|
||
}
|
||
},
|
||
fail: err => {
|
||
console.log(err)
|
||
}
|
||
})
|
||
// uni.request({
|
||
// url: config.realExamUrl+'/select/getProByTeamId',
|
||
// method: 'get',
|
||
// data: {},
|
||
// header: {
|
||
// 'Content-Type': 'application/x-www-form-urlencoded',
|
||
// Authorization: uni.getStorageSync('realNameToken')
|
||
// },
|
||
// success: res => {
|
||
// console.log(res)
|
||
// res = res.data;
|
||
// if(res.code==200){
|
||
// this.proList=res.data.map(item=>{
|
||
// let obj={value:item.id,text:item.name}
|
||
// return obj
|
||
// });
|
||
// }
|
||
// },
|
||
// fail: err => {
|
||
// console.log(err)
|
||
// }
|
||
// })
|
||
},
|
||
changePro(e) {
|
||
this.proList.forEach(item => {
|
||
if (item.value == e) {
|
||
this.entryCruxBean.proName = item.text
|
||
}
|
||
})
|
||
this.entryCruxBean.proId = e
|
||
this.getSubList()
|
||
},
|
||
//获取工种
|
||
getpostList() {
|
||
uni.request({
|
||
url: config.realAppUrl + '/offLine/getWorkType',
|
||
method: 'post',
|
||
data: {},
|
||
header: {
|
||
'Content-Type': 'application/x-www-form-urlencoded',
|
||
Authorization: uni.getStorageSync('realNameToken')
|
||
},
|
||
success: res => {
|
||
res = res.data
|
||
if (res.code == 200) {
|
||
res.data.forEach(item => {
|
||
if (item.code == 'postType') {
|
||
let obj = { value: item.id, text: item.type }
|
||
this.postList.push(obj)
|
||
}
|
||
})
|
||
}
|
||
},
|
||
fail: err => {
|
||
console.log(err)
|
||
}
|
||
})
|
||
},
|
||
changePost(e) {
|
||
this.postList.forEach(item => {
|
||
console.log(item)
|
||
if (item.value == e) {
|
||
this.entryCruxBean.postName = item.text
|
||
}
|
||
})
|
||
console.log(this.entryCruxBean.postName)
|
||
},
|
||
//获取分包商
|
||
getSubList() {
|
||
let param = {
|
||
proId: this.entryCruxBean.proId
|
||
}
|
||
uni.request({
|
||
url: config.lpExamUrl + '/select/getSubByProId',
|
||
method: 'get',
|
||
data: param,
|
||
header: {
|
||
'Content-Type': 'application/x-www-form-urlencoded',
|
||
Authorization: uni.getStorageSync('realNameToken')
|
||
},
|
||
success: res => {
|
||
console.log(res)
|
||
res = res.data
|
||
if (res.code == 200) {
|
||
if (res.data.length > 0) {
|
||
this.subList = res.data.map(item => {
|
||
let obj = { value: item.id, text: item.name }
|
||
return obj
|
||
})
|
||
this.entrySubTeamBean.subId = this.subList[0].value
|
||
this.getTeamList()
|
||
} else {
|
||
this.entrySubTeamBean.subId = ''
|
||
this.entrySubTeamBean.teamId = ''
|
||
this.subList = []
|
||
this.teamList = []
|
||
}
|
||
} else {
|
||
this.entrySubTeamBean.subId = ''
|
||
this.entrySubTeamBean.teamId = ''
|
||
this.subList = []
|
||
this.teamList = []
|
||
}
|
||
},
|
||
fail: err => {
|
||
this.entrySubTeamBean.subId = ''
|
||
this.entrySubTeamBean.teamId = ''
|
||
this.subList = []
|
||
this.teamList = []
|
||
}
|
||
})
|
||
},
|
||
changeSub(e) {
|
||
this.subList.forEach(item => {
|
||
if (item.value == e) {
|
||
this.entrySubTeamBean.subName = item.text
|
||
}
|
||
})
|
||
console.log(this.entrySubTeamBean.subName)
|
||
this.entrySubTeamBean.subId = e
|
||
this.getTeamList()
|
||
},
|
||
//获取班组
|
||
getTeamList() {
|
||
let param = {
|
||
subId: this.entrySubTeamBean.subId
|
||
}
|
||
uni.request({
|
||
url: config.lpExamUrl + '/select/getTeamBySubId',
|
||
method: 'get',
|
||
data: param,
|
||
header: {
|
||
'Content-Type': 'application/x-www-form-urlencoded',
|
||
Authorization: uni.getStorageSync('realNameToken')
|
||
},
|
||
success: res => {
|
||
console.log(res)
|
||
res = res.data
|
||
if (res.code == 200) {
|
||
if (res.data.length > 0) {
|
||
this.teamList = res.data.map(item => {
|
||
let obj = { value: item.id, text: item.name }
|
||
return obj
|
||
})
|
||
} else {
|
||
this.entrySubTeamBean.teamId = ''
|
||
this.teamList = []
|
||
}
|
||
} else {
|
||
this.entrySubTeamBean.teamId = ''
|
||
this.teamList = []
|
||
}
|
||
},
|
||
fail: err => {
|
||
this.entrySubTeamBean.teamId = ''
|
||
this.teamList = []
|
||
}
|
||
})
|
||
},
|
||
changeTeam(e) {
|
||
this.teamList.forEach(item => {
|
||
if (item.value == e) {
|
||
this.entrySubTeamBean.teamName = item.text
|
||
}
|
||
})
|
||
console.log(this.entrySubTeamBean.teamName)
|
||
},
|
||
|
||
//正面面识别采集
|
||
distinguishFornt() {
|
||
console.log('正面识别')
|
||
uni.chooseImage({
|
||
count: 1,
|
||
sizeType: ['compressed'],
|
||
sourceType: ['camera'],
|
||
success: res => {
|
||
console.log('?? ~ res-拍照:', res)
|
||
this.imgToBase64(res.tempFilePaths[0]).then(base64 => {
|
||
let param = {
|
||
type: '1',
|
||
recognitionFrontData: base64.split(',')[1]
|
||
}
|
||
console.log(param)
|
||
uni.request({
|
||
url: config.realIdCardUrl + '/recognition',
|
||
method: 'post',
|
||
data: param,
|
||
header: {
|
||
'Content-Type': 'application/Json',
|
||
Authorization: uni.getStorageSync('realNameToken')
|
||
},
|
||
success: res => {
|
||
console.log(res)
|
||
res = JSON.parse(res.data)
|
||
if (res.code == 20000) {
|
||
this.entryIdNumberBean.name = res.data.name
|
||
this.entryIdNumberBean.idNumber = res.data.idNumber
|
||
this.getBorth(this.entryIdNumberBean.idNumber)
|
||
this.entryIdNumberBean.sex = res.data.gender
|
||
this.entryIdNumberBean.ethnic = res.data.ethnicity
|
||
this.entryIdNumberBean.address = res.data.address
|
||
} else {
|
||
uni.$u.toast(res.msg)
|
||
}
|
||
},
|
||
fail: err => {
|
||
console.log(err)
|
||
}
|
||
})
|
||
})
|
||
},
|
||
fail: err => {
|
||
console.log('?? ~ err:', err)
|
||
}
|
||
})
|
||
},
|
||
//背面识别采集
|
||
distinguishBack() {
|
||
console.log('背面识别')
|
||
uni.chooseImage({
|
||
count: 1,
|
||
sizeType: ['compressed'],
|
||
sourceType: ['camera'],
|
||
success: res => {
|
||
console.log('?? ~ res-拍照:', res)
|
||
this.imgToBase64(res.tempFilePaths[0]).then(base64 => {
|
||
let param = {
|
||
type: '1',
|
||
recognitionBackData: base64.split(',')[1]
|
||
}
|
||
console.log(param)
|
||
uni.request({
|
||
url: config.realIdCardUrl + '/recognition',
|
||
method: 'post',
|
||
data: param,
|
||
header: {
|
||
'Content-Type': 'application/Json',
|
||
Authorization: uni.getStorageSync('realNameToken')
|
||
},
|
||
success: res => {
|
||
console.log(res)
|
||
res = JSON.parse(res.data)
|
||
if (res.code == 20000) {
|
||
this.entryIdNumberBean.issuance = res.data.issuingAuthority
|
||
this.entryIdNumberBean.signDate = res.data.validTime.split('-')[0]
|
||
this.entryIdNumberBean.expiryDate = res.data.validTime.split('-')[1]
|
||
} else {
|
||
uni.$u.toast(res.msg)
|
||
}
|
||
},
|
||
fail: err => {
|
||
console.log(err)
|
||
}
|
||
})
|
||
})
|
||
},
|
||
fail: err => {
|
||
console.log('?? ~ err:', err)
|
||
}
|
||
})
|
||
},
|
||
|
||
//上传合同照片
|
||
uploadContractImg() {
|
||
uni.chooseImage({
|
||
count: 1,
|
||
sizeType: ['compressed'],
|
||
sourceType: ['camera'],
|
||
success: res => {
|
||
console.log('?? ~ res-拍照:', res)
|
||
uni.uploadFile({
|
||
url: config.realFileUrl + `file/upload`, //服务器地址
|
||
fileType: 'image', //ZFB必填,不然报错
|
||
filePath: res.tempFilePaths[0], //这个就是我们上面拍照返回或者先中照片返回的数组
|
||
name: 'imgFile',
|
||
formData: {
|
||
photoType: 'Contract'
|
||
},
|
||
success: uploadFileRes => {
|
||
console.log(uploadFileRes)
|
||
if (uploadFileRes.statusCode == 200) {
|
||
this.entryContractBean.contractPath = JSON.parse(uploadFileRes.data).data.url
|
||
} else {
|
||
uni.$u.toast('上传失败')
|
||
}
|
||
},
|
||
fail: err => {
|
||
uni.$u.toast('上传失败')
|
||
console.log(err)
|
||
}
|
||
})
|
||
this.imgToBase64(res.tempFilePaths[0]).then(base64 => {
|
||
this.contractImgUrl = base64
|
||
})
|
||
},
|
||
fail: err => {
|
||
console.log('?? ~ err:', err)
|
||
}
|
||
})
|
||
},
|
||
//上传银行卡照片
|
||
uploadBankImg() {
|
||
uni.chooseImage({
|
||
count: 1,
|
||
sizeType: ['compressed'],
|
||
sourceType: ['camera'],
|
||
success: res => {
|
||
console.log('?? ~ res-拍照:', res)
|
||
uni.uploadFile({
|
||
url: config.realFileUrl + `file/upload`, //服务器地址
|
||
fileType: 'image', //ZFB必填,不然报错
|
||
filePath: res.tempFilePaths[0], //这个就是我们上面拍照返回或者先中照片返回的数组
|
||
name: 'imgFile',
|
||
formData: {
|
||
photoType: 'salary'
|
||
},
|
||
success: uploadFileRes => {
|
||
console.log(uploadFileRes)
|
||
if (uploadFileRes.statusCode == 200) {
|
||
this.entryBankBean.bankPhoto = JSON.parse(uploadFileRes.data).data.url
|
||
} else {
|
||
uni.$u.toast('上传失败')
|
||
}
|
||
},
|
||
fail: err => {
|
||
uni.$u.toast('上传失败')
|
||
console.log(err)
|
||
}
|
||
})
|
||
this.imgToBase64(res.tempFilePaths[0]).then(base64 => {
|
||
this.bankImgUrl = base64
|
||
})
|
||
},
|
||
fail: err => {
|
||
console.log('?? ~ err:', err)
|
||
}
|
||
})
|
||
},
|
||
// 人脸照片拍照录入
|
||
openPhotograph() {
|
||
if (!this.verifyidNumber(this.entryIdNumberBean.idNumber)) {
|
||
uni.$u.toast('人脸采集前请先填写身份证号!')
|
||
} else {
|
||
uni.chooseImage({
|
||
count: 1,
|
||
sizeType: ['compressed'],
|
||
sourceType: ['camera'],
|
||
success: res => {
|
||
console.log('?? ~ res-拍照:', res)
|
||
this.imgToBase64(res.tempFilePaths[0]).then(base64 => {
|
||
uni.uploadFile({
|
||
url: config.realFileUrl + `file/uploadFaceRecognition`, //服务器地址
|
||
fileType: 'image', //ZFB必填,不然报错
|
||
filePath: res.tempFilePaths[0], //这个就是我们上面拍照返回或者先中照片返回的数组
|
||
formData: {
|
||
file: base64,
|
||
optMode: 'replace',
|
||
photoType: 'face',
|
||
uniqueKey: this.entryIdNumberBean.idNumber
|
||
},
|
||
success: uploadFileRes => {
|
||
console.log(uploadFileRes)
|
||
if (uploadFileRes.statusCode == 200) {
|
||
uploadFileRes = JSON.parse(uploadFileRes.data)
|
||
if (uploadFileRes.code == 200) {
|
||
this.faceImgUrl = base64
|
||
this.entryCruxBean.facePath = uploadFileRes.data.url
|
||
} else {
|
||
uni.$u.toast(uploadFileRes.msg)
|
||
}
|
||
} else {
|
||
uni.$u.toast('上传失败')
|
||
}
|
||
},
|
||
fail: err => {
|
||
uni.$u.toast('上传失败')
|
||
console.log(err)
|
||
}
|
||
})
|
||
})
|
||
},
|
||
fail: err => {
|
||
console.log('?? ~ err:', err)
|
||
}
|
||
})
|
||
}
|
||
},
|
||
imgToBase64(data) {
|
||
return new Promise((resolve, reject) => {
|
||
pathToBase64(data)
|
||
.then(base64 => {
|
||
resolve(base64)
|
||
})
|
||
.catch(error => {
|
||
console.error(error)
|
||
reject(error)
|
||
})
|
||
})
|
||
},
|
||
//aoto 签名photoType
|
||
openSignView() {
|
||
this.signPopup = true
|
||
},
|
||
closeSign() {
|
||
this.signPopup = false
|
||
},
|
||
signConfirm(url, localPath) {
|
||
console.log(url)
|
||
this.entryCruxBean.autoPath = url
|
||
this.imgToBase64(localPath).then(base64 => {
|
||
this.signImgUrl = base64
|
||
})
|
||
this.signPopup = false
|
||
},
|
||
matchScore1(e) {
|
||
if (Number(e) > 100) {
|
||
this.entryTrainBean.companyExamScore = 100
|
||
} else if (Number(e) < 0) {
|
||
this.entryTrainBean.companyExamScore = 0
|
||
}
|
||
},
|
||
matchScore2(e) {
|
||
if (Number(e) > 100) {
|
||
this.entryTrainBean.deptExamScore = 100
|
||
} else if (Number(e) < 0) {
|
||
this.entryTrainBean.deptExamScore = 0
|
||
}
|
||
},
|
||
matchScore3(e) {
|
||
if (Number(e) > 100) {
|
||
this.entryTrainBean.teamExamScore = 100
|
||
} else if (Number(e) < 0) {
|
||
this.entryTrainBean.teamExamScore = 0
|
||
}
|
||
},
|
||
matchScore4(e) {
|
||
if (Number(e) > 100) {
|
||
this.entryTrainBean.militarizeScore = 100
|
||
} else if (Number(e) < 0) {
|
||
this.entryTrainBean.militarizeScore = 0
|
||
}
|
||
},
|
||
matchWageCriterion(e) {
|
||
if (Number(e) > 600) {
|
||
this.entryContractBean.wageCriterion = 600
|
||
} else if (Number(e) < 60 || e < '') {
|
||
this.entryContractBean.wageCriterion = 60
|
||
}
|
||
},
|
||
//身份证校验
|
||
verifyidNumber(idNumber) {
|
||
// 校验长度
|
||
if (idNumber.length !== 18) {
|
||
return false
|
||
}
|
||
// 校验前17位是否为数字
|
||
if (!/^\d{17}$/.test(idNumber.substr(0, 17))) {
|
||
return false
|
||
}
|
||
|
||
// 校验最后一位
|
||
var weightFactor = [7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2]
|
||
var checkCodeList = ['1', '0', 'X', '9', '8', '7', '6', '5', '4', '3', '2']
|
||
var checkSum = 0
|
||
for (var i = 0; i < 17; i++) {
|
||
checkSum += parseInt(idNumber.charAt(i)) * weightFactor[i]
|
||
}
|
||
var checkCodeIndex = checkSum % 11
|
||
if (idNumber.charAt(17).toUpperCase() !== checkCodeList[checkCodeIndex]) {
|
||
return false
|
||
}
|
||
|
||
return true
|
||
},
|
||
getBorth(e) {
|
||
if (e.length == 18) {
|
||
if (parseInt(this.entryIdNumberBean.idNumber.substr(16, 1)) % 2 == 1) {
|
||
this.entryIdNumberBean.sex = '男'
|
||
} else {
|
||
this.entryIdNumberBean.sex = '女'
|
||
}
|
||
this.entryIdNumberBean.birthday = this.entryIdNumberBean.idNumber.substring(6, 14)
|
||
}
|
||
},
|
||
next() {
|
||
var pattern = /^1[3-9]\d{9}$/
|
||
if (this.hIndex == 1) {
|
||
if (this.entryIdNumberBean.name == '') {
|
||
uni.$u.toast('请填写姓名')
|
||
} else if (this.entryIdNumberBean.idNumber == '') {
|
||
uni.$u.toast('请填写身份证号')
|
||
} else if (!this.verifyidNumber(this.entryIdNumberBean.idNumber)) {
|
||
uni.$u.toast('请填写正确身份证号')
|
||
} else if (this.entryIdNumberBean.ethnic == '') {
|
||
uni.$u.toast('请填写名族')
|
||
} else if (this.entryIdNumberBean.address == '') {
|
||
uni.$u.toast('请填写住址')
|
||
} else if (this.entryIdNumberBean.signDate == '') {
|
||
uni.$u.toast('请选择生效日期')
|
||
} else if (this.entryIdNumberBean.expiryDate == '') {
|
||
uni.$u.toast('请选择失效日期')
|
||
} else if (this.entryIdNumberBean.issuance == '') {
|
||
uni.$u.toast('请填写签发机关')
|
||
} else {
|
||
this.hIndex = 2
|
||
}
|
||
} else if (this.hIndex == 2) {
|
||
if (this.entryCruxBean.proId == '') {
|
||
uni.$u.toast('请选择工程')
|
||
} else if (this.entryCruxBean.postId == '') {
|
||
uni.$u.toast('请选择工种')
|
||
} else if (this.entryCruxBean.phone == '') {
|
||
uni.$u.toast('请填写手机号码')
|
||
} else if (!pattern.test(this.entryCruxBean.phone)) {
|
||
uni.$u.toast('请填写正确手机号码')
|
||
} else if (this.entryCruxBean.facePath == '') {
|
||
uni.$u.toast('人脸未采集')
|
||
} else {
|
||
this.hIndex = 3
|
||
}
|
||
} else if (this.hIndex == this.indexMax) {
|
||
this.addEntryPerson()
|
||
} else {
|
||
this.hIndex = this.hIndex + 1
|
||
}
|
||
},
|
||
up() {
|
||
if (this.hIndex != 1) {
|
||
this.hIndex = this.hIndex - 1
|
||
}
|
||
},
|
||
addEntryPerson() {
|
||
console.log('add')
|
||
if (
|
||
Number(this.entryTrainBean.safetyTraining) >= 90 &&
|
||
Number(this.entryTrainBean.deptExamScore) >= 80 &&
|
||
Number(this.entryTrainBean.teamExamScore) >= 80 &&
|
||
Number(this.entryTrainBean.militarizeScore) >= 80
|
||
) {
|
||
this.entryTrainBean.isPass = '1'
|
||
} else {
|
||
this.entryTrainBean.isPass = '0'
|
||
}
|
||
let param = {
|
||
entryIdNumberBean: this.entryIdNumberBean,
|
||
entryCruxBean: this.entryCruxBean,
|
||
entryTrainBean: this.entryTrainBean,
|
||
entrySubTeamBean: this.entrySubTeamBean,
|
||
entryContractBean: this.entryContractBean,
|
||
entryBankBean: this.entryBankBean,
|
||
entryOtherBean: this.entryOtherBean
|
||
}
|
||
console.log(param)
|
||
uni.request({
|
||
url: config.realAppUrl + '/entry/addEntryPerson',
|
||
method: 'post',
|
||
data: param,
|
||
header: {
|
||
'Content-Type': 'application/json',
|
||
Authorization: uni.getStorageSync('realNameToken')
|
||
},
|
||
success: res => {
|
||
console.log(res)
|
||
res = res.data
|
||
if (res.code == 200) {
|
||
uni.showToast({
|
||
title: res.data,
|
||
icon: 'none'
|
||
})
|
||
setTimeout(() => {
|
||
uni.navigateBack({
|
||
delta: 1 // 返回到已存在的页面
|
||
})
|
||
}, 1000)
|
||
} else {
|
||
uni.showToast({
|
||
title: res.msg,
|
||
icon: 'none'
|
||
})
|
||
}
|
||
},
|
||
fail: err => {
|
||
console.log(err)
|
||
}
|
||
})
|
||
},
|
||
// 返回
|
||
leftClick() {
|
||
console.log('返回')
|
||
uni.navigateBack({
|
||
delta: 1 // 返回
|
||
})
|
||
},
|
||
uploadFileTraining(type) {
|
||
// type 1. 公司级考试 2. 部门级考试 3. 班组级考试
|
||
uni.chooseImage({
|
||
count: 1,
|
||
sizeType: ['compressed'],
|
||
sourceType: ['camera'],
|
||
success: res => {
|
||
console.log('?? ~ res-拍照:', res)
|
||
this.imgToBase64(res.tempFilePaths[0]).then(base64 => {
|
||
uni.uploadFile({
|
||
url: config.realFileUrl + `file/uploadFaceRecognition`, //服务器地址
|
||
fileType: 'image', //ZFB必填,不然报错
|
||
filePath: res.tempFilePaths[0], //这个就是我们上面拍照返回或者先中照片返回的数组
|
||
formData: {
|
||
file: base64,
|
||
optMode: 'replace',
|
||
photoType: 'face',
|
||
uniqueKey: this.entryIdNumberBean.idNumber
|
||
},
|
||
success: uploadFileRes => {
|
||
console.log(uploadFileRes)
|
||
if (uploadFileRes.statusCode == 200) {
|
||
uploadFileRes = JSON.parse(uploadFileRes.data)
|
||
if (uploadFileRes.code == 200) {
|
||
this.faceImgUrl = base64
|
||
|
||
if (type === 1) {
|
||
this.entryTrainBean.companyExamFilePath = uploadFileRes.data.url
|
||
}
|
||
if (type === 2) {
|
||
this.entryTrainBean.deptExamFilePath = uploadFileRes.data.url
|
||
}
|
||
if (type === 3) {
|
||
this.entryTrainBean.eamExamFilePath = uploadFileRes.data.url
|
||
}
|
||
} else {
|
||
uni.$u.toast(uploadFileRes.msg)
|
||
}
|
||
} else {
|
||
uni.$u.toast('上传失败')
|
||
}
|
||
},
|
||
fail: err => {
|
||
uni.$u.toast('上传失败')
|
||
console.log(err)
|
||
}
|
||
})
|
||
})
|
||
},
|
||
fail: err => {
|
||
console.log('?? ~ err:', err)
|
||
}
|
||
})
|
||
}
|
||
}
|
||
}
|
||
</script>
|
||
|
||
<style lang="scss">
|
||
/deep/ .uni-stat__select {
|
||
width: 420rpx !important;
|
||
.uni-select__input-text {
|
||
width: 420rpx !important;
|
||
}
|
||
}
|
||
.scroll-view {
|
||
white-space: nowrap;
|
||
width: 100%;
|
||
}
|
||
|
||
.scroll-view-item {
|
||
display: inline-block;
|
||
width: 160rpx;
|
||
height: 100rpx;
|
||
line-height: 100rpx;
|
||
text-align: center;
|
||
|
||
.activeLine {
|
||
background: #00337a;
|
||
border-radius: 10upx;
|
||
width: 160rpx;
|
||
height: 6upx;
|
||
}
|
||
}
|
||
.active {
|
||
color: #333;
|
||
font-weight: bolder;
|
||
font-size: 32rpx;
|
||
}
|
||
.page {
|
||
width: 100vw;
|
||
height: 100vh;
|
||
background-color: #fff;
|
||
box-sizing: border-box;
|
||
.header {
|
||
width: 100vw;
|
||
height: 120rpx;
|
||
// display: flex;
|
||
.header-item {
|
||
width: 200rpx;
|
||
padding: 0 20rpx;
|
||
height: 120rpx;
|
||
color: #666;
|
||
line-height: 1200rpx;
|
||
// white-space: nowrap;
|
||
|
||
.activeLine {
|
||
background: #00337a;
|
||
border-radius: 10upx;
|
||
width: 200rpx;
|
||
height: 6upx;
|
||
}
|
||
}
|
||
.active {
|
||
// background: #fff;
|
||
color: #333;
|
||
font-weight: bolder;
|
||
font-size: 32rpx;
|
||
}
|
||
}
|
||
|
||
.content {
|
||
width: 100%;
|
||
height: 86vh;
|
||
margin-top: 20rpx;
|
||
padding-bottom: 80rpx;
|
||
background: #fff;
|
||
.addForm {
|
||
width: 100%;
|
||
height: auto;
|
||
|
||
.form-input-box {
|
||
padding: 0 20rpx;
|
||
display: flex;
|
||
align-items: center;
|
||
border-bottom: 1rpx solid #eee;
|
||
}
|
||
}
|
||
|
||
.submit-box {
|
||
width: 94%;
|
||
height: auto;
|
||
margin: 0 auto;
|
||
margin-top: 60rpx;
|
||
display: flex;
|
||
align-items: center;
|
||
justify-content: space-between;
|
||
.submit-btn {
|
||
width: 45%;
|
||
}
|
||
}
|
||
.tip-view {
|
||
width: 96%;
|
||
margin: 0 auto;
|
||
display: flex;
|
||
justify-content: space-between;
|
||
border-bottom: 1rpx solid #eee;
|
||
padding: 20rpx;
|
||
}
|
||
}
|
||
.img-box {
|
||
width: 70%;
|
||
height: auto;
|
||
margin: 0rpx auto;
|
||
padding: 20rpx;
|
||
display: flex;
|
||
align-items: center;
|
||
border-bottom: 1rpx solid #efefef;
|
||
.img-item {
|
||
float: left;
|
||
width: 200upx;
|
||
height: 200upx;
|
||
border: 1px solid #ddd;
|
||
margin: 0 22rpx 20upx 0upx;
|
||
position: relative;
|
||
box-sizing: border-box;
|
||
background: #eee;
|
||
.img {
|
||
display: block;
|
||
width: 100%;
|
||
height: 100%;
|
||
}
|
||
.remove-btn {
|
||
position: absolute;
|
||
top: -18upx;
|
||
right: -18upx;
|
||
width: 44upx;
|
||
height: 44upx;
|
||
z-index: 2;
|
||
}
|
||
}
|
||
.upload-btn {
|
||
display: flex;
|
||
justify-content: center;
|
||
align-items: center;
|
||
.img {
|
||
width: 60upx;
|
||
height: 60upx;
|
||
margin: unset;
|
||
}
|
||
}
|
||
}
|
||
.signBtn {
|
||
background-color: #00337a;
|
||
color: #fff;
|
||
height: 36rpx;
|
||
line-height: 36rpx;
|
||
padding: 10rpx 20rpx;
|
||
border-radius: 10rpx;
|
||
}
|
||
.popup-header {
|
||
width: 100%;
|
||
height: 80rpx;
|
||
margin: 0 auto;
|
||
display: flex;
|
||
justify-content: space-between;
|
||
align-items: center;
|
||
background-color: #fff;
|
||
}
|
||
.popup-content {
|
||
width: 100%;
|
||
height: 32vh;
|
||
background-color: #fff;
|
||
}
|
||
.popup-submit-box {
|
||
width: 100%;
|
||
height: 100rpx;
|
||
position: absolute;
|
||
bottom: 0;
|
||
display: flex;
|
||
padding-bottom: 20rpx;
|
||
justify-content: space-between;
|
||
align-items: center;
|
||
background-color: #fff;
|
||
.submit-edit-1 {
|
||
width: 45%;
|
||
margin: 0 auto;
|
||
height: 65rpx;
|
||
font-size: 26rpx;
|
||
background: #f5f5f5;
|
||
}
|
||
.submit-edit-2 {
|
||
width: 45%;
|
||
margin: 0 auto;
|
||
height: 65rpx;
|
||
font-size: 26rpx;
|
||
background: #0052d9;
|
||
}
|
||
}
|
||
}
|
||
</style>
|