|
@@ -34,7 +34,7 @@
|
|
|
v-for="dict in dict.type.sys_yes_no"
|
|
v-for="dict in dict.type.sys_yes_no"
|
|
|
:key="`${dict.value}`"
|
|
:key="`${dict.value}`"
|
|
|
:label="dict.value"
|
|
:label="dict.value"
|
|
|
-
|
|
|
|
|
|
|
+
|
|
|
>{{ dict.label }}</el-radio
|
|
>{{ dict.label }}</el-radio
|
|
|
>
|
|
>
|
|
|
</el-radio-group>
|
|
</el-radio-group>
|
|
@@ -88,7 +88,7 @@
|
|
|
</el-col>
|
|
</el-col>
|
|
|
|
|
|
|
|
<el-col :xs="24" :sm="12" :md="8" :lg="6">
|
|
<el-col :xs="24" :sm="12" :md="8" :lg="6">
|
|
|
- <el-form-item prop="entryTime" label="现任职日期">
|
|
|
|
|
|
|
+ <el-form-item prop="entryTime" label="现任职日期" label-width="240">
|
|
|
<el-date-picker style="width: 270px;" v-model="formData.entryTime" align="right"
|
|
<el-date-picker style="width: 270px;" v-model="formData.entryTime" align="right"
|
|
|
type="date" placeholder="选择现任职日期">
|
|
type="date" placeholder="选择现任职日期">
|
|
|
</el-date-picker>
|
|
</el-date-picker>
|
|
@@ -117,7 +117,7 @@
|
|
|
</el-col>
|
|
</el-col>
|
|
|
|
|
|
|
|
<el-col :xs="24" :sm="12" :md="8" :lg="6">
|
|
<el-col :xs="24" :sm="12" :md="8" :lg="6">
|
|
|
- <el-form-item label="最高学历" prop="highestEducation">
|
|
|
|
|
|
|
+ <el-form-item label="最高学历" prop="highestEducation" label-width="240">
|
|
|
<el-select style="width: 270px;" v-model="formData.highestEducation" placeholder="请选择最高学历">
|
|
<el-select style="width: 270px;" v-model="formData.highestEducation" placeholder="请选择最高学历">
|
|
|
<el-option v-for="dict in dict.type.sys_highest_education" :key="dict.value" :label="dict.label"
|
|
<el-option v-for="dict in dict.type.sys_highest_education" :key="dict.value" :label="dict.label"
|
|
|
:value="dict.value" />
|
|
:value="dict.value" />
|
|
@@ -143,7 +143,7 @@
|
|
|
</el-form-item>
|
|
</el-form-item>
|
|
|
</el-col>
|
|
</el-col>
|
|
|
<el-col :xs="24" :sm="12" :md="8" :lg="6">
|
|
<el-col :xs="24" :sm="12" :md="8" :lg="6">
|
|
|
- <el-form-item label="身份证号码" prop="idCard">
|
|
|
|
|
|
|
+ <el-form-item label="身份证号码" prop="idCard" label-width="240">
|
|
|
<el-input maxlength="18" style="width: 270px;" v-model="formData.idCard"
|
|
<el-input maxlength="18" style="width: 270px;" v-model="formData.idCard"
|
|
|
placeholder="请输入身份证号码">
|
|
placeholder="请输入身份证号码">
|
|
|
</el-input>
|
|
</el-input>
|
|
@@ -168,14 +168,7 @@
|
|
|
</el-select>
|
|
</el-select>
|
|
|
</el-form-item>
|
|
</el-form-item>
|
|
|
</el-col>
|
|
</el-col>
|
|
|
- <!-- <el-col :xs="24" :sm="12" :md="8" :lg="8">
|
|
|
|
|
- <el-form-item label="专业技术职业资格" v-if="formData.certificateWork != 0" label-width="240"
|
|
|
|
|
- prop="professionalQualifications">
|
|
|
|
|
- <el-input style="width: 280px;" maxlength="50" v-model="formData.professionalQualifications"
|
|
|
|
|
- placeholder="请输入初级以上证书名称">
|
|
|
|
|
- </el-input>
|
|
|
|
|
- </el-form-item>
|
|
|
|
|
- </el-col> -->
|
|
|
|
|
|
|
+
|
|
|
|
|
|
|
|
<el-col :xs="24" :sm="12" :md="8" :lg="8">
|
|
<el-col :xs="24" :sm="12" :md="8" :lg="8">
|
|
|
<el-form-item label="金融安全防范工程专家" prop="financialExperts" label-width="240">
|
|
<el-form-item label="金融安全防范工程专家" prop="financialExperts" label-width="240">
|
|
@@ -246,7 +239,7 @@ export default {
|
|
|
deptId: null,
|
|
deptId: null,
|
|
|
duties: null,
|
|
duties: null,
|
|
|
workType: null,
|
|
workType: null,
|
|
|
- isFullTime: "1",
|
|
|
|
|
|
|
+ isFullTime:"Y",
|
|
|
highestEducation: null,
|
|
highestEducation: null,
|
|
|
educationType: null,
|
|
educationType: null,
|
|
|
certificateWork: "1",
|
|
certificateWork: "1",
|
|
@@ -259,31 +252,42 @@ export default {
|
|
|
responsibilitiesLeaderDuties: null,
|
|
responsibilitiesLeaderDuties: null,
|
|
|
qualificationCertificateUrl: null,
|
|
qualificationCertificateUrl: null,
|
|
|
userId: null,
|
|
userId: null,
|
|
|
|
|
+ financialExperts:null,
|
|
|
},
|
|
},
|
|
|
rules: {
|
|
rules: {
|
|
|
- financialExperts:[
|
|
|
|
|
- { required: true, message: '请选择金融安全防范工程专家级别', trigger: 'blur'}
|
|
|
|
|
- ],
|
|
|
|
|
idCard:[
|
|
idCard:[
|
|
|
- { required: true, message: '请输入身份证号码', trigger: 'change'}
|
|
|
|
|
|
|
+ { required: true, message: '请输入身份证号码', trigger: 'change'},
|
|
|
|
|
+ { min: 18, message: "请输入18位身份证号码", trigger: "blur" },
|
|
|
|
|
+ {
|
|
|
|
|
+ validator: (rule, value, callback) => {
|
|
|
|
|
+ if (
|
|
|
|
|
+ this. checkIdCard(value)==false
|
|
|
|
|
+ ) {
|
|
|
|
|
+ callback(new Error("身份证号码格式不正确"));
|
|
|
|
|
+ } else {
|
|
|
|
|
+ callback();
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
|
|
+ trigger: "blur",
|
|
|
|
|
+ },
|
|
|
],
|
|
],
|
|
|
deptId: [
|
|
deptId: [
|
|
|
- { required: true, message: '请选择所属部门', trigger: 'blur' },
|
|
|
|
|
|
|
+ { required: true, message: '请选择所属部门', trigger: 'change' },
|
|
|
],
|
|
],
|
|
|
duties: [
|
|
duties: [
|
|
|
- { required: true, message: '请选择职务', trigger: 'blur' },
|
|
|
|
|
|
|
+ { required: true, message: '请选择职务', trigger: 'change' },
|
|
|
],
|
|
],
|
|
|
workType: [
|
|
workType: [
|
|
|
- { required: true, message: '请选择用工形式', trigger: 'blur' },
|
|
|
|
|
|
|
+ { required: true, message: '请选择用工形式', trigger: 'change' },
|
|
|
],
|
|
],
|
|
|
isFullTime: [
|
|
isFullTime: [
|
|
|
{ required: true, message: '请选择是否专职', trigger: 'blur' },
|
|
{ required: true, message: '请选择是否专职', trigger: 'blur' },
|
|
|
],
|
|
],
|
|
|
highestEducation: [
|
|
highestEducation: [
|
|
|
- { required: true, message: '请选择最高学历', trigger: 'blur' },
|
|
|
|
|
|
|
+ { required: true, message: '请选择最高学历', trigger: 'change' },
|
|
|
],
|
|
],
|
|
|
educationType: [
|
|
educationType: [
|
|
|
- { required: true, message: '请选择学历取得形式', trigger: 'blur' },
|
|
|
|
|
|
|
+ { required: true, message: '请选择学历取得形式', trigger: 'change' },
|
|
|
],
|
|
],
|
|
|
certificateWork: [
|
|
certificateWork: [
|
|
|
{ required: true, message: '请选择是否持证上岗', trigger: 'blur' },
|
|
{ required: true, message: '请选择是否持证上岗', trigger: 'blur' },
|
|
@@ -312,8 +316,8 @@ export default {
|
|
|
certificateFailReason: [
|
|
certificateFailReason: [
|
|
|
{ required: true, message: '请输入持证上岗未通过原因', trigger: 'change' }
|
|
{ required: true, message: '请输入持证上岗未通过原因', trigger: 'change' }
|
|
|
],
|
|
],
|
|
|
- date2: [
|
|
|
|
|
- { type: 'date', required: true, message: '请选择时间', trigger: 'change' }
|
|
|
|
|
|
|
+ financialExperts: [
|
|
|
|
|
+ { required: true, message: '请选择金融安全防范工程专家级别', trigger: 'change' }
|
|
|
],
|
|
],
|
|
|
type: [
|
|
type: [
|
|
|
{ type: 'array', required: true, message: '请至少选择一个活动性质', trigger: 'change' }
|
|
{ type: 'array', required: true, message: '请至少选择一个活动性质', trigger: 'change' }
|
|
@@ -407,6 +411,157 @@ export default {
|
|
|
mounted() {
|
|
mounted() {
|
|
|
},
|
|
},
|
|
|
methods: {
|
|
methods: {
|
|
|
|
|
+//身份证
|
|
|
|
|
+checkIdCard(val){
|
|
|
|
|
+
|
|
|
|
|
+ //是否为空
|
|
|
|
|
+ if (val === '') {
|
|
|
|
|
+ // Toast('请输入18位身份证号');
|
|
|
|
|
+ return false;
|
|
|
|
|
+ }
|
|
|
|
|
+ if (val.length != 18) {
|
|
|
|
|
+ // Toast('请输入18位身份证号');
|
|
|
|
|
+ return false;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ //检查号码是否符合规范,包括长度,类型
|
|
|
|
|
+ if(this.isCardNo(val) === false){
|
|
|
|
|
+ // Toast("证件号码不符合规范");
|
|
|
|
|
+ return false;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ //检查省份
|
|
|
|
|
+ if(this.checkProvince(val) === false){
|
|
|
|
|
+ // Toast("证件号码不对校验省份错误");
|
|
|
|
|
+ return false;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ //校验生日
|
|
|
|
|
+ if(this.checkBirthday(val) === false){
|
|
|
|
|
+ // Toast("证件号码校验生日错误");
|
|
|
|
|
+ return false;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ //检验位的检测
|
|
|
|
|
+ if (this.checkParity(val) === false) {
|
|
|
|
|
+ // Toast('您的身份证校验位不正确,请重新输入');
|
|
|
|
|
+ return false;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+},
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+//检查号码是否符合规范,包括长度,类型
|
|
|
|
|
+isCardNo(data){
|
|
|
|
|
+ //身份证号码为15位或者18位,15位时全为数字,18位前17位为数字,最后一位是校验位,可能为数字或字符X
|
|
|
|
|
+ var reg = /(^\d{15}$)|(^\d{17}(\d|X)$)/;
|
|
|
|
|
+ if (reg.test(data) === false) {
|
|
|
|
|
+ return false;
|
|
|
|
|
+ }
|
|
|
|
|
+ return true;
|
|
|
|
|
+ },
|
|
|
|
|
+
|
|
|
|
|
+//取身份证前两位,校验省份
|
|
|
|
|
+checkProvince(data) {
|
|
|
|
|
+ var city={11:"北京",12:"天津",13:"河北",14:"山西",15:"内蒙古",21:"辽宁",22:"吉林",23:"黑龙江 ",
|
|
|
|
|
+ 31:"上海",32:"江苏",33:"浙江",34:"安徽",35:"福建",36:"江西",37:"山东",41:"河南",42:"湖北",
|
|
|
|
|
+ 43:"湖南",44:"广东",45:"广西",46:"海南",50:"重庆",51:"四川",52:"贵州",53:"云南",54:"西藏 ",
|
|
|
|
|
+ 61:"陕西",62:"甘肃",63:"青海",64:"宁夏",65:"新疆",71:"台湾",81:"香港",82:"澳门",91:"国外 "};
|
|
|
|
|
+ var province = data.substr(0,2);
|
|
|
|
|
+ if (city[province] == undefined) {
|
|
|
|
|
+ return false;
|
|
|
|
|
+ }
|
|
|
|
|
+ return true
|
|
|
|
|
+ },
|
|
|
|
|
+
|
|
|
|
|
+//检查生日是否正确
|
|
|
|
|
+checkBirthday(data) {
|
|
|
|
|
+ var len = data.length;
|
|
|
|
|
+ //身份证15位时,次序为省(3位)市(3位)年(2位)月(2位)日(2位)校验位(3位),皆为数字
|
|
|
|
|
+ if(len == '15')
|
|
|
|
|
+ {
|
|
|
|
|
+ var re_fifteen = /^(\d{6})(\d{2})(\d{2})(\d{2})(\d{3})$/;
|
|
|
|
|
+ var arr_data = data.match(re_fifteen);
|
|
|
|
|
+ var year = arr_data[2];
|
|
|
|
|
+ var month = arr_data[3];
|
|
|
|
|
+ var day = arr_data[4];
|
|
|
|
|
+ var birthday = new Date('19'+year+'/'+month+'/'+day);
|
|
|
|
|
+ return this.verifyBirthday('19'+year,month,day,birthday);
|
|
|
|
|
+ }
|
|
|
|
|
+ //身份证18位时,次序为省(3位)市(3位)年(4位)月(2位)日(2位)校验位(4位),校验位末尾可能为X
|
|
|
|
|
+ if(len == '18')
|
|
|
|
|
+ {
|
|
|
|
|
+ var re_eighteen = /^(\d{6})(\d{4})(\d{2})(\d{2})(\d{3})([0-9]|X)$/;
|
|
|
|
|
+ var arr_data = data.match(re_eighteen);
|
|
|
|
|
+ var year = arr_data[2];
|
|
|
|
|
+ var month = arr_data[3];
|
|
|
|
|
+ var day = arr_data[4];
|
|
|
|
|
+ var birthday = new Date(year+'/'+month+'/'+day);
|
|
|
|
|
+ return this.verifyBirthday(year,month,day,birthday);
|
|
|
|
|
+ }
|
|
|
|
|
+ return false;
|
|
|
|
|
+ },
|
|
|
|
|
+
|
|
|
|
|
+//校验日期
|
|
|
|
|
+verifyBirthday(year,month,day,birthday)
|
|
|
|
|
+ {
|
|
|
|
|
+ var now = new Date();
|
|
|
|
|
+ var now_year = now.getFullYear();
|
|
|
|
|
+ //年月日是否合理
|
|
|
|
|
+ if(birthday.getFullYear() == year && (birthday.getMonth() + 1) == month && birthday.getDate() == day)
|
|
|
|
|
+ {
|
|
|
|
|
+ //判断年份的范围(0岁到130岁之间)
|
|
|
|
|
+ var time = now_year - year;
|
|
|
|
|
+ if(time >= 0 && time <= 150)
|
|
|
|
|
+ {
|
|
|
|
|
+ return true;
|
|
|
|
|
+ }
|
|
|
|
|
+ return false;
|
|
|
|
|
+ }
|
|
|
|
|
+ return false;
|
|
|
|
|
+ },
|
|
|
|
|
+ //校验位的检测
|
|
|
|
|
+ checkParity(data)
|
|
|
|
|
+ {
|
|
|
|
|
+ //15位转18位
|
|
|
|
|
+ data = this.changeFivteenToEighteen(data);
|
|
|
|
|
+ var len = data.length;
|
|
|
|
|
+ if(len == '18')
|
|
|
|
|
+ {
|
|
|
|
|
+ var arrInt = new Array(7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2);
|
|
|
|
|
+ var arrCh = new Array('1', '0', 'X', '9', '8', '7', '6', '5', '4', '3', '2');
|
|
|
|
|
+ var cardTemp = 0, i, valnum;
|
|
|
|
|
+ for(i = 0; i < 17; i ++)
|
|
|
|
|
+ {
|
|
|
|
|
+ cardTemp += data.substr(i, 1) * arrInt[i];
|
|
|
|
|
+ }
|
|
|
|
|
+ valnum = arrCh[cardTemp % 11];
|
|
|
|
|
+ if (valnum == data.substr(17, 1))
|
|
|
|
|
+ {
|
|
|
|
|
+ return true;
|
|
|
|
|
+ }
|
|
|
|
|
+ return false;
|
|
|
|
|
+ }
|
|
|
|
|
+ return false;
|
|
|
|
|
+ },
|
|
|
|
|
+ //15位转18位身份证号
|
|
|
|
|
+ changeFivteenToEighteen(data)
|
|
|
|
|
+ {
|
|
|
|
|
+ if(data.length == '15')
|
|
|
|
|
+ {
|
|
|
|
|
+ var arrInt = new Array(7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2);
|
|
|
|
|
+ var arrCh = new Array('1', '0', 'X', '9', '8', '7', '6', '5', '4', '3', '2');
|
|
|
|
|
+ var cardTemp = 0, i;
|
|
|
|
|
+ data = data.substr(0, 6) + '19' + data.substr(6, data.length - 6);
|
|
|
|
|
+ for(i = 0; i < 17; i ++)
|
|
|
|
|
+ {
|
|
|
|
|
+ cardTemp += data.substr(i, 1) * arrInt[i];
|
|
|
|
|
+ }
|
|
|
|
|
+ data += arrCh[cardTemp % 11];
|
|
|
|
|
+ return data;
|
|
|
|
|
+ }
|
|
|
|
|
+ return data;
|
|
|
|
|
+ },
|
|
|
|
|
|
|
|
|
|
|
|
|
getImgUrl(img) {
|
|
getImgUrl(img) {
|