Browse Source

完善员工管理--手机号只保留11位的长度判断

master
yunuo970428 2 years ago
parent
commit
a907b471e7
  1. 109
      anrui-management/anrui-management-ui/src/views/sysstaffinfo/yuangongAdd.vue

109
anrui-management/anrui-management-ui/src/views/sysstaffinfo/yuangongAdd.vue

@ -49,8 +49,7 @@
</el-col> </el-col>
<el-col :span="8"> <el-col :span="8">
<el-form-item prop="birthday"> <el-form-item prop="birthday">
<el-date-picker v-model="temp.birthday" style="width: 100%" type="date" placeholder="选择日期" <el-date-picker v-model="temp.birthday" style="width: 100%" type="date" placeholder="选择日期" value-format="yyyy-MM-dd"/>
value-format="yyyy-MM-dd"/>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
@ -68,8 +67,7 @@
</el-col> </el-col>
<el-col :span="8" class="jiguan"> <el-col :span="8" class="jiguan">
<el-form-item prop="idTerm"> <el-form-item prop="idTerm">
<el-date-picker v-model="temp.idTerm" style="width: 100%" type="date" placeholder="选择日期" <el-date-picker v-model="temp.idTerm" style="width: 100%" type="date" placeholder="选择日期" value-format="yyyy-MM-dd"/>
value-format="yyyy-MM-dd"/>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
@ -80,8 +78,7 @@
<el-col :span="8"> <el-col :span="8">
<el-form-item prop="national"> <el-form-item prop="national">
<el-select v-model="temp.national" style="width: 100%" placeholder="请选择民族" @change="getNational"> <el-select v-model="temp.national" style="width: 100%" placeholder="请选择民族" @change="getNational">
<el-option v-for="(item, index) in national_list" :key="index.dictKey" :label="item.dictValue" <el-option v-for="(item, index) in national_list" :key="index.dictKey" :label="item.dictValue" :value="item.dictKey"/>
:value="item.dictKey"/>
</el-select> </el-select>
</el-form-item> </el-form-item>
</el-col> </el-col>
@ -90,7 +87,7 @@
</el-col> </el-col>
<el-col :span="8"> <el-col :span="8">
<el-form-item prop="mobile"> <el-form-item prop="mobile">
<el-input v-model="temp.mobile" maxlength="20" placeholder="请输入手机号码" clearable/> <el-input v-model="temp.mobile" maxlength="11" show-word-limit placeholder="请输入手机号码" clearable/>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
@ -101,8 +98,7 @@
<el-col :span="8"> <el-col :span="8">
<el-form-item prop="poliCode"> <el-form-item prop="poliCode">
<el-select v-model="temp.poliCode" style="width: 100%" placeholder="请选择政治面貌" @change="getPoliCode"> <el-select v-model="temp.poliCode" style="width: 100%" placeholder="请选择政治面貌" @change="getPoliCode">
<el-option v-for="(item, index) in political_list" :key="index.dictKey" :label="item.dictValue" <el-option v-for="(item, index) in political_list" :key="index.dictKey" :label="item.dictValue" :value="item.dictKey"/>
:value="item.dictKey"/>
</el-select> </el-select>
</el-form-item> </el-form-item>
</el-col> </el-col>
@ -112,8 +108,7 @@
<el-col :span="8"> <el-col :span="8">
<el-form-item prop="maritalStatus"> <el-form-item prop="maritalStatus">
<el-select v-model="temp.maritalStatus" style="width: 100%" placeholder="请选择婚姻状况" @change="getMari"> <el-select v-model="temp.maritalStatus" style="width: 100%" placeholder="请选择婚姻状况" @change="getMari">
<el-option v-for="(item, index) in maritalstatus_list" :key="index.dictKey" :label="item.dictValue" <el-option v-for="(item, index) in maritalstatus_list" :key="index.dictKey" :label="item.dictValue" :value="item.dictKey"/>
:value="item.dictKey"/>
</el-select> </el-select>
</el-form-item> </el-form-item>
</el-col> </el-col>
@ -130,8 +125,7 @@
</el-col> </el-col>
<el-col :span="6"> <el-col :span="6">
<el-form-item prop="emergencyContact"> <el-form-item prop="emergencyContact">
<el-input v-model="temp.emergencyContact" maxlength="20" placeholder="请输入紧急联系人" <el-input v-model="temp.emergencyContact" maxlength="20" placeholder="请输入紧急联系人" clearable/>
clearable/>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="3"> <el-col :span="3">
@ -139,8 +133,7 @@
</el-col> </el-col>
<el-col :span="6"> <el-col :span="6">
<el-form-item prop="emergencyMobile"> <el-form-item prop="emergencyMobile">
<el-input v-model="temp.emergencyMobile" maxlength="20" placeholder="请输入紧急联系电话" <el-input v-model="temp.emergencyMobile" maxlength="20" placeholder="请输入紧急联系电话" clearable/>
clearable/>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="2" style="border-top:1px solid #e0e3eb" class="spe_style"> <el-col :span="2" style="border-top:1px solid #e0e3eb" class="spe_style">
@ -177,8 +170,7 @@
<el-select v-model="temp.county" filterable placeholder="请选择县" style="width: 148px" @change="getQu"> <el-select v-model="temp.county" filterable placeholder="请选择县" style="width: 148px" @change="getQu">
<el-option v-for="item in inputCountyList" :key="item.sid" :label="item.name" :value="item.sid"/> <el-option v-for="item in inputCountyList" :key="item.sid" :label="item.name" :value="item.sid"/>
</el-select> </el-select>
<el-input v-model="temp.nativePlace" maxlength="20" placeholder="请输入详细地址" <el-input v-model="temp.nativePlace" maxlength="20" placeholder="请输入详细地址" style="margin-left:15px;width: 40%" clearable/>
style="margin-left:15px;width: 40%" clearable/>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
@ -194,8 +186,7 @@
<!-- <el-col :span="6">--> <!-- <el-col :span="6">-->
<el-form-item prop="personType"> <el-form-item prop="personType">
<el-select v-model="temp.personType" placeholder="请选择员工类型" class="addinputw02" @change="getPersonType"> <el-select v-model="temp.personType" placeholder="请选择员工类型" class="addinputw02" @change="getPersonType">
<el-option v-for="(item, index) in personType_list" :key="index.dictKey" :label="item.dictValue" <el-option v-for="(item, index) in personType_list" :key="index.dictKey" :label="item.dictValue" :value="item.dictKey"/>
:value="item.dictKey"/>
</el-select> </el-select>
</el-form-item> </el-form-item>
</el-col> </el-col>
@ -204,8 +195,7 @@
</el-col> </el-col>
<el-col :span="6"> <el-col :span="6">
<el-form-item prop="orgName"> <el-form-item prop="orgName">
<el-cascader ref="clearableCascader" class="addinputw" v-model="orgName_list" :props="props" :options="options" clearable <el-cascader ref="clearableCascader" class="addinputw" v-model="orgName_list" :props="props" :options="options" clearable @change="orgNameChange"/>
@change="orgNameChange"/>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="3" class="spe_style"> <el-col :span="3" class="spe_style">
@ -214,8 +204,7 @@
<el-col :span="6" class="spe_style02"> <el-col :span="6" class="spe_style02">
<el-form-item prop="postSid"> <el-form-item prop="postSid">
<el-select v-model="temp.postName" class="addinputw" filterable placeholder="请选择岗位" @change="getPostSid"> <el-select v-model="temp.postName" class="addinputw" filterable placeholder="请选择岗位" @change="getPostSid">
<el-option v-for="(item, index) in postSid_list" :key="index.postCode" :label="item.name" <el-option v-for="(item, index) in postSid_list" :key="index.postCode" :label="item.name" :value="item.postCode"/>
:value="item.postCode"/>
</el-select> </el-select>
</el-form-item> </el-form-item>
</el-col> </el-col>
@ -226,8 +215,6 @@
<div class="span-sty"> <div class="span-sty">
<span><span class="icon">*</span>入职日期</span> <span><span class="icon">*</span>入职日期</span>
</div> </div>
<!-- </el-col>-->
<!-- <el-col :span="6">-->
<el-form-item prop="joinCompnyDate"> <el-form-item prop="joinCompnyDate">
<el-date-picker v-model="temp.joinCompnyDate" class="addinputw02" type="date" placeholder="选择日期" value-format="yyyy-MM-dd"/> <el-date-picker v-model="temp.joinCompnyDate" class="addinputw02" type="date" placeholder="选择日期" value-format="yyyy-MM-dd"/>
</el-form-item> </el-form-item>
@ -238,8 +225,7 @@
<el-col :span="6"> <el-col :span="6">
<el-form-item prop="probPeriod"> <el-form-item prop="probPeriod">
<el-select v-model="temp.probPeriod" class="addinputw" placeholder="请选择试用期" @change="getProbPeriod"> <el-select v-model="temp.probPeriod" class="addinputw" placeholder="请选择试用期" @change="getProbPeriod">
<el-option v-for="(item, index) in probPeriod_list" :key="index.dictKey" :label="item.dictValue" <el-option v-for="(item, index) in probPeriod_list" :key="index.dictKey" :label="item.dictValue" :value="item.dictKey"/>
:value="item.dictKey"/>
</el-select> </el-select>
</el-form-item> </el-form-item>
</el-col> </el-col>
@ -248,8 +234,7 @@
</el-col> </el-col>
<el-col :span="6" class="spe_style02"> <el-col :span="6" class="spe_style02">
<el-form-item prop="plannedConfirmDate"> <el-form-item prop="plannedConfirmDate">
<el-date-picker v-model="temp.plannedConfirmDate" class="addinputw" type="date" placeholder="选择日期" <el-date-picker v-model="temp.plannedConfirmDate" class="addinputw" type="date" placeholder="选择日期" value-format="yyyy-MM-dd"/>
value-format="yyyy-MM-dd"/>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
@ -258,8 +243,6 @@
<div class="span-sty"> <div class="span-sty">
<span>实际转正日期</span> <span>实际转正日期</span>
</div> </div>
<!-- </el-col>-->
<!-- <el-col :span="6">-->
<el-form-item prop="confirmationDate"> <el-form-item prop="confirmationDate">
<el-date-picker v-model="temp.confirmationDate" class="addinputw02" type="date" placeholder="选择日期" value-format="yyyy-MM-dd"/> <el-date-picker v-model="temp.confirmationDate" class="addinputw02" type="date" placeholder="选择日期" value-format="yyyy-MM-dd"/>
</el-form-item> </el-form-item>
@ -287,8 +270,6 @@
<div class="span-sty"> <div class="span-sty">
<span>身份证(人像面)</span> <span>身份证(人像面)</span>
</div> </div>
<!-- </el-col>-->
<!-- <el-col :span="6">-->
<Upload ref="uploadImg" class="addinputw02" v-model="idCardA_list" :limit="1" bucket="map" :upload-data="{ type: '0001' }"/> <Upload ref="uploadImg" class="addinputw02" v-model="idCardA_list" :limit="1" bucket="map" :upload-data="{ type: '0001' }"/>
</el-col> </el-col>
<el-col :span="3"> <el-col :span="3">
@ -322,8 +303,7 @@
<el-col :span="6"> <el-col :span="6">
<el-form-item prop="education"> <el-form-item prop="education">
<el-select v-model="temp.education" placeholder="请选择学历" @change="getEducate"> <el-select v-model="temp.education" placeholder="请选择学历" @change="getEducate">
<el-option v-for="(item, index) in educate_list" :key="index.dictKey" :label="item.dictValue" <el-option v-for="(item, index) in educate_list" :key="index.dictKey" :label="item.dictValue" :value="item.dictKey"/>
:value="item.dictKey"/>
</el-select> </el-select>
</el-form-item> </el-form-item>
</el-col> </el-col>
@ -351,8 +331,7 @@
<el-col :span="12"> <el-col :span="12">
<el-form-item prop="licenseType"> <el-form-item prop="licenseType">
<el-select v-model="temp.licenseType" placeholder="请选择驾照类型" @change="getLicenseType"> <el-select v-model="temp.licenseType" placeholder="请选择驾照类型" @change="getLicenseType">
<el-option v-for="(item, index) in licenseType_list" :key="index.dictKey" :label="item.dictValue" <el-option v-for="item in licenseType_list" :key="item.dictKey" :label="item.dictValue" :value="item.dictKey"/>
:value="item.dictKey"/>
</el-select> </el-select>
</el-form-item> </el-form-item>
</el-col> </el-col>
@ -390,8 +369,7 @@
</el-col> </el-col>
<el-col :span="3" class="spe_style02"> <el-col :span="3" class="spe_style02">
<el-form-item prop="insuranceAddr"> <el-form-item prop="insuranceAddr">
<el-input v-model="temp.insuranceAddr" maxlength="20" style="width: 100%" placeholder="请输入参保地" class="addinputw" <el-input v-model="temp.insuranceAddr" maxlength="20" style="width: 100%" placeholder="请输入参保地" class="addinputw" clearable/>
clearable/>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="3"> <el-col :span="3">
@ -399,8 +377,7 @@
</el-col> </el-col>
<el-col :span="3" class="spe_style02"> <el-col :span="3" class="spe_style02">
<el-form-item prop="insuranceStartDate"> <el-form-item prop="insuranceStartDate">
<el-date-picker v-model="temp.insuranceStartDate" style="width: 100%" type="date" placeholder="选择日期" <el-date-picker v-model="temp.insuranceStartDate" style="width: 100%" type="date" placeholder="选择日期" value-format="yyyy-MM-dd"/>
value-format="yyyy-MM-dd"/>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="3"> <el-col :span="3">
@ -412,7 +389,6 @@
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
<el-row> <el-row>
<el-col :span="3"> <el-col :span="3">
<span>养老</span> <span>养老</span>
@ -478,8 +454,7 @@
</el-col> </el-col>
<el-col :span="9"> <el-col :span="9">
<el-form-item prop="contractStartDate"> <el-form-item prop="contractStartDate">
<el-date-picker v-model="temp.contractStartDate" type="date" placeholder="选择日期" <el-date-picker v-model="temp.contractStartDate" type="date" placeholder="选择日期" value-format="yyyy-MM-dd"/>
value-format="yyyy-MM-dd"/>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="3"> <el-col :span="3">
@ -520,22 +495,24 @@
</template> </template>
<script> <script>
import {getCity, getCounty, getProvince} from '@/api/Common/areaPicker' // import { getCity, getCounty, getProvince } from '@/api/Common/areaPicker' //
import Upload from '@/components/uploadFileimg/upload.vue' import Upload from '@/components/uploadFileimg/upload.vue'
import uploadHead from '@/components/uploadFileimg/upload_head.vue' import uploadHead from '@/components/uploadFileimg/upload_head.vue'
import req from '@/api/management/yuangongguanli' import req from '@/api/management/yuangongguanli'
export default { export default {
name: 'YuangongAdd', name: 'YuangongAdd',
components: {Upload, uploadHead}, components: { Upload, uploadHead },
data() { data() {
var checkSubmit = (rule, value, callback) => { var checkSubmit = (rule, value, callback) => {
const Submit = if (value !== undefined && value !== null) {
/^(13[0-9]|14[01456879]|15[0-35-9]|16[2567]|17[0-8]|18[0-9]|19[0-35-9])\d{8}$/ if (value.length < 11) {
if (Submit.test(value)) { callback(new Error('请输入正确的手机号'))
return callback() }
} else {
callback(new Error('请输入手机号'))
} }
callback(new Error('请输入手机号')) callback()
} }
var identitycard = (rules, value, callback) => { var identitycard = (rules, value, callback) => {
const card = const card =
@ -600,14 +577,14 @@ export default {
sysStaffPost: {} // sysStaffPost: {} //
}, },
rules: { rules: {
name: [{required: true, message: '姓名不能为空', trigger: 'change'}], name: [{ required: true, message: '姓名不能为空', trigger: 'change' }],
gender: [{required: true, message: '性别不能为空', trigger: 'change'}], gender: [{ required: true, message: '性别不能为空', trigger: 'change' }],
idNo: [{required: true, message: '身份证号不能为空', validator: identitycard, trigger: 'change'}], idNo: [{ required: true, message: '身份证号不能为空', validator: identitycard, trigger: 'change' }],
idTerm: [{required: true, message: '证件有效期不能为空', trigger: 'change'}], idTerm: [{ required: true, message: '证件有效期不能为空', trigger: 'change' }],
national: [{required: true, message: '民族不能为空', trigger: 'change'}], national: [{ required: true, message: '民族不能为空', trigger: 'change' }],
mobile: [{required: true, message: '手机号不能为空', validator: checkSubmit, trigger: 'change'}], mobile: [{ required: true, validator: checkSubmit, trigger: 'blur' }],
personType: [{required: true, message: '员工类型不能为空', trigger: 'change'}], personType: [{ required: true, message: '员工类型不能为空', trigger: 'change' }],
joinCompnyDate: [{required: true, message: '入职日期不能为空', trigger: 'blur'}] joinCompnyDate: [{ required: true, message: '入职日期不能为空', trigger: 'blur' }]
}, },
submitdisabled: false submitdisabled: false
} }
@ -1028,35 +1005,35 @@ export default {
}, },
// //
getUrl() { getUrl() {
console.log('身份证人面像',this.idCardA_list) console.log('身份证人面像', this.idCardA_list)
// () // ()
if (this.idCardA_list.length > 0) { if (this.idCardA_list.length > 0) {
this.temp.idCardA = this.idCardA_list[this.idCardA_list.length - 1].url this.temp.idCardA = this.idCardA_list[this.idCardA_list.length - 1].url
}else { } else {
this.temp.idCardA = '' this.temp.idCardA = ''
} }
// () // ()
if (this.idCardB_list.length > 0) { if (this.idCardB_list.length > 0) {
this.temp.idCardB = this.idCardB_list[this.idCardB_list.length - 1].url this.temp.idCardB = this.idCardB_list[this.idCardB_list.length - 1].url
}else { } else {
this.temp.idCardB = '' this.temp.idCardB = ''
} }
// //
if (this.diploma_list.length > 0) { if (this.diploma_list.length > 0) {
this.temp.diploma = this.diploma_list[this.diploma_list.length - 1].url this.temp.diploma = this.diploma_list[this.diploma_list.length - 1].url
}else { } else {
this.temp.diploma = '' this.temp.diploma = ''
} }
// //
if (this.degree_list.length > 0) { if (this.degree_list.length > 0) {
this.temp.degreeCertificate = this.degree_list[this.degree_list.length - 1].url this.temp.degreeCertificate = this.degree_list[this.degree_list.length - 1].url
}else { } else {
this.temp.degreeCertificate = '' this.temp.degreeCertificate = ''
} }
// leaveCertificate // leaveCertificate
if (this.leave_list.length > 0) { if (this.leave_list.length > 0) {
this.temp.leaveCertificate = this.leave_list[this.leave_list.length - 1].url this.temp.leaveCertificate = this.leave_list[this.leave_list.length - 1].url
}else { } else {
this.temp.leaveCertificate = '' this.temp.leaveCertificate = ''
} }
}, },
@ -1132,7 +1109,7 @@ export default {
url: this.temp.idCardA url: this.temp.idCardA
}) })
} }
console.log('身份证人面像',this.idCardA_list) console.log('身份证人面像', this.idCardA_list)
if (this.temp.idCardB !== '') { if (this.temp.idCardB !== '') {
const imgName = this.temp.idCardB.split('/') const imgName = this.temp.idCardB.split('/')
this.idCardB_list.push({ this.idCardB_list.push({

Loading…
Cancel
Save