249 lines
8.4 KiB
Vue
249 lines
8.4 KiB
Vue
|
<template>
|
||
|
<view>
|
||
|
<!-- <cu-custom bgColor="bg-gradual-blueness" :isBack="true">
|
||
|
<block slot="backText">返回</block>
|
||
|
<block slot="content">从业人员注册-基础信息</block>
|
||
|
</cu-custom>-->
|
||
|
<scroll-view scroll-y="false" >
|
||
|
<view class="form">
|
||
|
<view class="cu-form-group">
|
||
|
<view class="title">姓名</view>
|
||
|
<input v-model="formData.NAME" disabled placeholder="请输入姓名" maxlength="50" name="input" style="color: #cccccc" />
|
||
|
</view>
|
||
|
<view class="cu-form-group margin-top-xs">
|
||
|
<view class="title">身份证号</view>
|
||
|
<input v-model="formData.USER_ID_CARD" disabled placeholder="请输入身份证号" maxlength="18" name="input" style="color: #cccccc" />
|
||
|
</view>
|
||
|
<view class="cu-form-group margin-top-xs">
|
||
|
<view class="title">手机</view>
|
||
|
<input v-model="formData.PHONE" disabled placeholder="请输入手机证号" maxlength="11" name="input" style="color: #cccccc" />
|
||
|
</view>
|
||
|
<view class="cu-form-group margin-top-xs">
|
||
|
<view class="title">人员类型</view>
|
||
|
<view v-if="forbidEdit" style="color: #cccccc">{{formData.PERSONNEL_TYPE_NAME}}</view>
|
||
|
<picker v-else @change="pickerChangeData($event,'PERSONNEL_TYPE')" :value="dictData.PERSONNEL_TYPE.index" :range="dictData.PERSONNEL_TYPE.list" range-key="NAME">
|
||
|
<view class="picker">
|
||
|
{{formData.PERSONNEL_TYPE_NAME?formData.PERSONNEL_TYPE_NAME:'请选择'}}
|
||
|
</view>
|
||
|
</picker>
|
||
|
</view>
|
||
|
<view class="cu-form-group margin-top">
|
||
|
<view class="title">文化程度</view>
|
||
|
<view v-if="forbidEdit" style="color: #cccccc">{{formData.DEGREE_OF_EDUCATION_NAME}}</view>
|
||
|
<picker v-else @change="pickerChangeData($event,'DEGREE_OF_EDUCATION')" :value="dictData.DEGREE_OF_EDUCATION.index" :range="dictData.DEGREE_OF_EDUCATION.list" range-key="NAME">
|
||
|
<view class="picker">
|
||
|
{{formData.DEGREE_OF_EDUCATION_NAME?formData.DEGREE_OF_EDUCATION_NAME:'请选择'}}
|
||
|
</view>
|
||
|
</picker>
|
||
|
</view>
|
||
|
<view class="cu-form-group margin-top-xs">
|
||
|
<view class="title">政治面貌</view>
|
||
|
<view v-if="forbidEdit" style="color: #cccccc">{{formData.POLITICAL_OUTLOOK_NAME}}</view>
|
||
|
<picker v-else @change="pickerChangeData($event,'POLITICAL_OUTLOOK')" :value="dictData.POLITICAL_OUTLOOK.index" :range="dictData.POLITICAL_OUTLOOK.list" range-key="NAME">
|
||
|
<view class="picker">
|
||
|
{{formData.POLITICAL_OUTLOOK_NAME?formData.POLITICAL_OUTLOOK_NAME:'请选择'}}
|
||
|
</view>
|
||
|
</picker>
|
||
|
</view>
|
||
|
<view class="cu-form-group margin-top-xs">
|
||
|
<view class="title">参加工作日期</view>
|
||
|
<view v-if="forbidEdit" style="color: #cccccc">{{formData.WORKING_DATE}}</view>
|
||
|
<picker v-else mode="date" @change="changeDate($event,'WORKING_DATE')" :value="formData.WORKING_DATE" :end="limitData.WORKING_DATE.end">
|
||
|
<view class="picker">
|
||
|
{{formData.WORKING_DATE?formData.WORKING_DATE:'请选择'}}
|
||
|
</view>
|
||
|
</picker>
|
||
|
</view>
|
||
|
|
||
|
</view>
|
||
|
<view class="cu-bar btn-group" style="margin-top: 30upx;">
|
||
|
<button v-if="!forbidEdit" class="cu-btn bg-blue margin-tb-sm lg" @click="$noMultipleClicks(confirmBaseInfo)">下一步</button>
|
||
|
<button v-if="forbidEdit && applyStatus !== '0'" class="cu-btn bg-blue margin-tb-sm lg" @click="$noMultipleClicks(goEdit)">编辑</button>
|
||
|
<!-- <button class="cu-btn bg-green margin-tb-sm lg" @click="$noMultipleClicks(goback)">返回</button>-->
|
||
|
</view>
|
||
|
</scroll-view>
|
||
|
</view>
|
||
|
</template>
|
||
|
|
||
|
<script>
|
||
|
import {
|
||
|
formatDate,validateIdCard,validateMobile,getLevel
|
||
|
} from '../../../../common/tool.js';
|
||
|
export default {
|
||
|
name: "register_baseInfo",
|
||
|
props: {
|
||
|
applyStatus: {
|
||
|
type: String,
|
||
|
default: ''
|
||
|
},
|
||
|
forbidEdit: {
|
||
|
type: Boolean,
|
||
|
default: true
|
||
|
},
|
||
|
colorValue: {
|
||
|
type: String,
|
||
|
default: "#cccccc"
|
||
|
},
|
||
|
formData: {
|
||
|
type: Object,
|
||
|
default: function() {
|
||
|
return {}
|
||
|
}
|
||
|
}
|
||
|
},
|
||
|
data() {
|
||
|
return {
|
||
|
permissionID:'',
|
||
|
noClick: true,
|
||
|
// 范围限制
|
||
|
limitData: {
|
||
|
// 参加工作日期
|
||
|
WORKING_DATE:{ start: '', end: '' },
|
||
|
},
|
||
|
dictData:{
|
||
|
// 人员类型
|
||
|
PERSONNEL_TYPE:{
|
||
|
index: -1,
|
||
|
list:[],
|
||
|
},
|
||
|
// 政治面貌
|
||
|
POLITICAL_OUTLOOK:{
|
||
|
index: -1,
|
||
|
list:[],
|
||
|
},
|
||
|
// 文化程度
|
||
|
DEGREE_OF_EDUCATION:{
|
||
|
index: -1,
|
||
|
list:[],
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
},
|
||
|
mounted() {
|
||
|
this.getDictList()
|
||
|
this.limitData.WORKING_DATE.end = formatDate(new Date(), 'yyyy-MM-dd'); // 参加工作日期截止时间
|
||
|
},
|
||
|
methods: {
|
||
|
async getDictList(){
|
||
|
//人员类型
|
||
|
this.dictData.PERSONNEL_TYPE.list = await getLevel({DICTIONARIES_ID: '0b62f92b0b624aab8e89a77304a64d5e', BIANMA: 'TRAFFIC_EMPLOYMENT_DRIVE'});
|
||
|
//政治面貌
|
||
|
this.dictData.POLITICAL_OUTLOOK.list = await getLevel({DICTIONARIES_ID: '6351efdd12dc4730952e5d195718e252'});
|
||
|
//文化程度
|
||
|
this.dictData.DEGREE_OF_EDUCATION.list = await getLevel({DICTIONARIES_ID: 'd7d80f08d73a4accbccf4fd3d8d1d867'});
|
||
|
|
||
|
},
|
||
|
//跳转事件
|
||
|
confirmBaseInfo() {
|
||
|
if (this.validateData()) {
|
||
|
this.$emit("confirm", '');
|
||
|
}
|
||
|
},
|
||
|
goEdit(){
|
||
|
this.$emit("goEdit", false);
|
||
|
},
|
||
|
changeDate(e,name) {
|
||
|
this.formData[name] = e.detail.value
|
||
|
this.$forceUpdate();//强制刷新
|
||
|
},
|
||
|
pickerChangeData(e,name) {
|
||
|
// 人员类型
|
||
|
if (name === 'PERSONNEL_TYPE') {
|
||
|
this.dictData.PERSONNEL_TYPE.index = e.detail.value;
|
||
|
this.formData.PERSONNEL_TYPE = this.dictData.PERSONNEL_TYPE.list[this.dictData.PERSONNEL_TYPE.index].DICTIONARIES_ID
|
||
|
this.formData.PERSONNEL_TYPE_NAME = this.dictData.PERSONNEL_TYPE.list[this.dictData.PERSONNEL_TYPE.index].NAME
|
||
|
}
|
||
|
// 政治面貌
|
||
|
if (name === 'POLITICAL_OUTLOOK') {
|
||
|
this.dictData.POLITICAL_OUTLOOK.index = e.detail.value;
|
||
|
this.formData.POLITICAL_OUTLOOK = this.dictData.POLITICAL_OUTLOOK.list[this.dictData.POLITICAL_OUTLOOK.index].DICTIONARIES_ID
|
||
|
this.formData.POLITICAL_OUTLOOK_NAME = this.dictData.POLITICAL_OUTLOOK.list[this.dictData.POLITICAL_OUTLOOK.index].NAME
|
||
|
}
|
||
|
// 文化程度
|
||
|
if (name === 'DEGREE_OF_EDUCATION') {
|
||
|
this.dictData.DEGREE_OF_EDUCATION.index = e.detail.value;
|
||
|
this.formData.DEGREE_OF_EDUCATION = this.dictData.DEGREE_OF_EDUCATION.list[this.dictData.DEGREE_OF_EDUCATION.index].DICTIONARIES_ID
|
||
|
this.formData.DEGREE_OF_EDUCATION_NAME = this.dictData.DEGREE_OF_EDUCATION.list[this.dictData.DEGREE_OF_EDUCATION.index].NAME
|
||
|
}
|
||
|
this.$forceUpdate();//强制刷新
|
||
|
},
|
||
|
goback(){
|
||
|
var pages = getCurrentPages(); // 获取当前页面栈
|
||
|
var prePage = pages[pages.length - 2]; // 上二级页面
|
||
|
prePage.$vm.initflag = true; // A 页面 init方法 为true
|
||
|
uni.navigateBack({delta: 1});
|
||
|
uni.hideLoading();
|
||
|
},
|
||
|
validateData() {
|
||
|
// 人员类型
|
||
|
if (!this.formData.PERSONNEL_TYPE) {
|
||
|
uni.showToast({
|
||
|
icon: 'none',
|
||
|
title: '请选择人员类型',
|
||
|
duration: 2000
|
||
|
});
|
||
|
return false;
|
||
|
}
|
||
|
return true;
|
||
|
},
|
||
|
|
||
|
}
|
||
|
}
|
||
|
</script>
|
||
|
|
||
|
<style>
|
||
|
page{
|
||
|
background-color: #f3f2f2;
|
||
|
}
|
||
|
.prevent {
|
||
|
width: 100%;
|
||
|
height: 100%;
|
||
|
position: fixed;
|
||
|
top: 0;
|
||
|
left: 0;
|
||
|
overflow: hidden;
|
||
|
}
|
||
|
.cu-form-title{
|
||
|
padding: 20upx 0;
|
||
|
}
|
||
|
.cu-form-textarea{
|
||
|
background-color: #ffffff;
|
||
|
padding: 1upx 30upx 20upx;
|
||
|
min-height: 100upx;
|
||
|
}
|
||
|
.cu-form-textarea textarea {
|
||
|
height: 4.6em;
|
||
|
width: 100%;
|
||
|
line-height: 1.2em;
|
||
|
flex: 1;
|
||
|
font-size: 28upx;
|
||
|
padding: 0;
|
||
|
}
|
||
|
.selected{
|
||
|
display: flex;
|
||
|
align-items: center;
|
||
|
height: 100upx;
|
||
|
}
|
||
|
.selected .radio{
|
||
|
transform:scale(0.8);
|
||
|
margin-right: 10upx;
|
||
|
}
|
||
|
.group{
|
||
|
display: flex;
|
||
|
align-items: center;
|
||
|
}
|
||
|
.cu-form-group .title{
|
||
|
font-size: 28upx;
|
||
|
font-weight: bold;
|
||
|
}
|
||
|
.cu-bar .action:first-child {
|
||
|
font-size: 28upx;
|
||
|
}
|
||
|
.cu-form-group .picker{
|
||
|
color: #808080;
|
||
|
}
|
||
|
.picker-tree{
|
||
|
color: #808080;
|
||
|
}
|
||
|
</style>
|