Commit f69658e6 authored by 吴冠's avatar 吴冠

正则

parent ac2c7888
<template>
<div class="form flex-colunm">
<el-steps :active="active" finish-status="success" style="width: 4.8rem;">
<el-steps :active="active" finish-status="success" style="width: 4.8rem">
<el-step title="注册账户"></el-step>
<el-step title="完善信息"></el-step>
<el-step title="审核"></el-step>
</el-steps>
<!-- 注册 -->
<div class="register" v-if="active==1">
<div class="register" v-if="active == 1">
<div class="company">
<h4>单位信息</h4>
<el-form ref="form" :model="form" label-width="1.4rem" :rules="rules">
<el-form-item label="单位名称" prop="companyName" class="item">
<el-input v-model="form.companyName" placeholder="请输入单位名称" style="width:2.4rem" maxlength="30" @keyup.native="$event.target.value = $event.target.value.replace(/^\s+|\s+$/gm,'')"></el-input>
<el-input
v-model="form.companyName"
placeholder="请输入单位名称"
style="width: 2.4rem"
maxlength="30"
@keyup.native="
$event.target.value = $event.target.value.replace(
/^\s+|\s+$/gm,
''
)
"
></el-input>
</el-form-item>
<el-form-item label="区域选择" prop="local" class="item">
<citySelect @sendprovinceId="getprovinceId" @sendcityId="getcityId" @senddistrictId="getdistrictId"></citySelect>
<citySelect
@sendprovinceId="getprovinceId"
@sendcityId="getcityId"
@senddistrictId="getdistrictId"
></citySelect>
</el-form-item>
<el-form-item label="注册角色" prop="type" class="item">
<el-select v-model="form.type" placeholder="请输入选择">
......@@ -24,29 +39,113 @@
</el-form-item>
</el-form>
<h4>管理员信息</h4>
<el-form ref="adminform" :model="adminform" label-width="1.4rem" :rules="rules">
<el-form
ref="adminform"
:model="adminform"
label-width="1.4rem"
:rules="rules"
>
<el-form-item label="管理员姓名" prop="name" class="item">
<el-input v-model="adminform.name" placeholder="请输入" style="width:2.4rem" maxlength="30" @keyup.native="$event.target.value = $event.target.value.replace(/^\s+|\s+$/gm,'')"></el-input>
<el-input
v-model="adminform.name"
placeholder="请输入"
style="width: 2.4rem"
maxlength="30"
@keyup.native="
$event.target.value = $event.target.value.replace(
/^\s+|\s+$/gm,
''
)
"
></el-input>
</el-form-item>
<el-form-item label="身份证" prop="idNumber" class="item">
<el-input v-model="adminform.idNumber" placeholder="请输入" style="width:2.4rem" maxlength="18" @keyup.native="$event.target.value = $event.target.value.replace(/^\s+|\s+$/gm,'')"></el-input>
<el-input
v-model="adminform.idNumber"
placeholder="请输入"
style="width: 2.4rem"
maxlength="18"
@keyup.native="
$event.target.value = $event.target.value.replace(
/^\s+|\s+$/gm,
''
)
"
></el-input>
</el-form-item>
<el-form-item label="密码" prop="password" class="item">
<el-input v-model="adminform.password" placeholder="8-16位数字字母组合" style="width:2.4rem" minlength="8" maxlength="16" type="password" @keyup.native="$event.target.value = $event.target.value.replace(/^\s+|\s+$/gm,'')"></el-input>
<el-input
v-model="adminform.password"
placeholder="8-16位数字字母组合"
style="width: 2.4rem"
minlength="8"
maxlength="16"
type="password"
@keyup.native="
$event.target.value = $event.target.value.replace(
/^\s+|\s+$/gm,
''
)
"
></el-input>
<!-- <div class="password-tips">密码需由8-16位数字字母组合</div> -->
</el-form-item>
<el-form-item label="确认密码" prop="isPassword" class="item">
<el-input v-model="adminform.isPassword" placeholder="请输入" style="width:2.4rem" minlength="8" maxlength="16" type="password" @keyup.native="$event.target.value = $event.target.value.replace(/^\s+|\s+$/gm,'')"></el-input>
<el-input
v-model="adminform.isPassword"
placeholder="请输入"
style="width: 2.4rem"
minlength="8"
maxlength="16"
type="password"
@keyup.native="
$event.target.value = $event.target.value.replace(
/^\s+|\s+$/gm,
''
)
"
></el-input>
</el-form-item>
<el-form-item label="电子邮箱" prop="email" class="item">
<el-input v-model="adminform.email" placeholder="请输入" maxlength="20" @keyup.native="$event.target.value = $event.target.value.replace(/^\s+|\s+$/gm,'')"></el-input>
<el-input
v-model="adminform.email"
placeholder="请输入"
maxlength="20"
@keyup.native="
$event.target.value = $event.target.value.replace(
/^\s+|\s+$/gm,
''
)
"
></el-input>
</el-form-item>
<el-form-item label="手机号" prop="phonenumber" class="item">
<el-input v-model="adminform.phonenumber" placeholder="请输入" maxlength="11" @keyup.native="$event.target.value = $event.target.value.replace(/^\s+|\s+$/gm,'')"></el-input>
<el-input
v-model="adminform.phonenumber"
placeholder="请输入"
maxlength="11"
@keyup.native="
$event.target.value = $event.target.value.replace(
/^\s+|\s+$/gm,
''
)
"
></el-input>
</el-form-item>
<div class="getcode">
<el-form-item label="验证码" prop="code" class="item">
<el-input v-model="adminform.code" placeholder="请输入验证码" style="width:1.55rem" maxlength="4" @keyup.native="$event.target.value = $event.target.value.replace(/^\s+|\s+$/gm,'')"></el-input>
<el-input
v-model="adminform.code"
placeholder="请输入验证码"
style="width: 1.55rem"
maxlength="4"
@keyup.native="
$event.target.value = $event.target.value.replace(
/^\s+|\s+$/gm,
''
)
"
></el-input>
</el-form-item>
<div class="code" @click="refreshCode">
<!-- :fresh:父组件向子组件传送刷新验证码的信号;
......@@ -56,7 +155,18 @@
</div>
<div class="getphonecode">
<el-form-item label="短信验证码" prop="phonecode" class="item">
<el-input v-model="adminform.phonecode" placeholder="请输入短信验证码" style="width:2.4rem" maxlength="4" @keyup.native="$event.target.value = $event.target.value.replace(/^\s+|\s+$/gm,'')"></el-input>
<el-input
v-model="adminform.phonecode"
placeholder="请输入短信验证码"
style="width: 2.4rem"
maxlength="4"
@keyup.native="
$event.target.value = $event.target.value.replace(
/^\s+|\s+$/gm,
''
)
"
></el-input>
</el-form-item>
<div class="phonecode" @click="getMessagecode">获取短信验证码</div>
</div>
......@@ -65,7 +175,7 @@
<el-checkbox v-model="checked" class="t1">同意《注册协议》</el-checkbox>
</div>
<!-- 完善 -->
<div class="perfect content" v-if="active==0">
<div class="perfect content" v-if="active == 0">
<div class="flex-between perfect-head">
<div class="t2 flex">
<div>单位名称:</div>
......@@ -79,761 +189,1044 @@
<div>行政区域:</div>
<div>浙江省 杭州市 滨江区</div>
</div>
</div>
<el-form ref="perfectForm" :model="perfectForm" label-width="1.8rem" :rules="rules">
<el-form
ref="perfectForm"
:model="perfectForm"
label-width="1.8rem"
:rules="rules"
>
<div class="flex-between">
<el-form-item label="法人姓名" prop="legalPersonName" class="item">
<el-input v-model="perfectForm.legalPersonName" placeholder="请输入" style="width:2.4rem" maxlength="30" @keyup.native="$event.target.value = $event.target.value.replace(/^\s+|\s+$/gm,'')"></el-input>
<el-input
v-model="perfectForm.legalPersonName"
placeholder="请输入"
style="width: 2.4rem"
maxlength="30"
@keyup.native="
$event.target.value = $event.target.value.replace(
/^\s+|\s+$/gm,
''
)
"
></el-input>
</el-form-item>
<el-form-item label="法人电话" prop="legalPersonPhone" class="item">
<el-input v-model="perfectForm.legalPersonPhone" placeholder="请输入" style="width:2.4rem" maxlength="11" @keyup.native="$event.target.value = $event.target.value.replace(/^\s+|\s+$/gm,'')"></el-input>
<el-input
v-model="perfectForm.legalPersonPhone"
placeholder="请输入"
style="width: 2.4rem"
maxlength="11"
@keyup.native="
$event.target.value = $event.target.value.replace(
/^\s+|\s+$/gm,
''
)
"
></el-input>
</el-form-item>
<el-form-item label="统一社会信用代码" prop="socialCode" class="item">
<el-input v-model="perfectForm.socialCode" placeholder="请输入" style="width:2.4rem" maxlength="18" @keyup.native="$event.target.value = $event.target.value.replace(/^\s+|\s+$/gm,'')"></el-input >
<el-input
v-model="perfectForm.socialCode"
placeholder="请输入"
style="width: 2.4rem"
maxlength="18"
@keyup.native="
$event.target.value = $event.target.value.replace(
/^\s+|\s+$/gm,
''
)
"
></el-input>
</el-form-item>
</div>
<div class="flex-between">
<el-form-item label="单位性质" prop="companyNature" class="item">
<el-select v-model="perfectForm.companyNature" placeholder="请选择">
<el-option v-for="item in companyNatures" :key="item.id" :label="item.name" :value="item.id">
<el-option
v-for="item in companyNatures"
:key="item.id"
:label="item.name"
:value="item.id"
>
</el-option>
</el-select>
</el-form-item>
<el-form-item label="单位所在地" prop="location" class="item">
<el-input v-model="perfectForm.location" placeholder="请输入" style="width:2.4rem" maxlength="30" @keyup.native="$event.target.value = $event.target.value.replace(/^\s+|\s+$/gm,'')"></el-input >
<el-input
v-model="perfectForm.location"
placeholder="请输入"
style="width: 2.4rem"
maxlength="30"
@keyup.native="
$event.target.value = $event.target.value.replace(
/^\s+|\s+$/gm,
''
)
"
></el-input>
</el-form-item>
<el-form-item label="行业类型" prop="industryType" class="item">
<el-select v-model="perfectForm.industryType" placeholder="请选择">
<el-option v-for="item in belongTypes" :key="item.id" :label="item.name" :value="item.id">
<el-option
v-for="item in belongTypes"
:key="item.id"
:label="item.name"
:value="item.id"
>
</el-option>
</el-select>
</el-form-item>
</div>
<div class="flex-between">
<el-form-item label="开户银行名称" prop="bankName" class="item">
<el-input v-model="perfectForm.bankName" placeholder="请输入" style="width:2.4rem" maxlength="30" @keyup.native="$event.target.value = $event.target.value.replace(/^\s+|\s+$/gm,'')"></el-input>
<el-input
v-model="perfectForm.bankName"
placeholder="请输入"
style="width: 2.4rem"
maxlength="30"
@keyup.native="
$event.target.value = $event.target.value.replace(
/^\s+|\s+$/gm,
''
)
"
></el-input>
</el-form-item>
<el-form-item label="结算账号" prop="bankAccount" class="item">
<el-input v-model="perfectForm.bankAccount" placeholder="请输入" style="width:2.4rem" minlength="12" maxlength="30" @keyup.native="$event.target.value = $event.target.value.replace(/^\s+|\s+$/gm,'')"></el-input>
<el-input
v-model="perfectForm.bankAccount"
placeholder="请输入"
style="width: 2.4rem"
minlength="12"
maxlength="30"
@keyup.native="
$event.target.value = $event.target.value.replace(
/^\s+|\s+$/gm,
''
)
"
></el-input>
</el-form-item>
<el-form-item label="结算账号名" prop="bankAccountName" class="item">
<el-input v-model="perfectForm.bankAccountName" placeholder="请输入" style="width:2.4rem" minlength="2" maxlength="30" @keyup.native="$event.target.value = $event.target.value.replace(/^\s+|\s+$/gm,'')"></el-input>
<el-input
v-model="perfectForm.bankAccountName"
placeholder="请输入"
style="width: 2.4rem"
minlength="2"
maxlength="30"
@keyup.native="
$event.target.value = $event.target.value.replace(
/^\s+|\s+$/gm,
''
)
"
></el-input>
</el-form-item>
</div>
<div class="flex-between" style="width: 60%;">
<el-form-item label="注册资本(万元)" prop="registeredCapital" class="item">
<el-input v-model="perfectForm.registeredCapital" placeholder="请输入" style="width:2.4rem" maxlength="10" @keyup.native="$event.target.value = $event.target.value.replace(/^\s+|\s+$/gm,'')"></el-input>
<div class="flex-between" style="width: 60%">
<el-form-item
label="注册资本(万元)"
prop="registeredCapital"
class="item"
>
<el-input
v-model="perfectForm.registeredCapital"
placeholder="请输入"
style="width: 2.4rem"
maxlength="10"
@keyup.native="
$event.target.value = $event.target.value.replace(
/^\s+|\s+$/gm,
''
)
"
></el-input>
</el-form-item>
<el-form-item label="联系地址" prop="contactAddress" class="item">
<el-input v-model="perfectForm.contactAddress" placeholder="请输入" style="width:2.4rem" minlength="4" maxlength="30" @keyup.native="$event.target.value = $event.target.value.replace(/^\s+|\s+$/gm,'')"></el-input>
<el-input
v-model="perfectForm.contactAddress"
placeholder="请输入"
style="width: 2.4rem"
minlength="4"
maxlength="30"
@keyup.native="
$event.target.value = $event.target.value.replace(
/^\s+|\s+$/gm,
''
)
"
></el-input>
</el-form-item>
</div>
<el-form-item label="经营范围" prop="businessScope" class="item">
<el-input type="textarea" :rows="2" v-model="perfectForm.businessScope" placeholder="请输入" style="width:2.4rem" maxlength="300"></el-input>
<el-input
type="textarea"
:rows="2"
v-model="perfectForm.businessScope"
placeholder="请输入"
style="width: 2.4rem"
maxlength="300"
></el-input>
</el-form-item>
<el-form-item label="法人身份证正反面" prop="identity" class="item">
<imgUpload :limit="1" :max="10" @input="getJustimg" tip=""></imgUpload>
<imgUpload :limit="1" :max="10" @input="getBackimg" tip=""></imgUpload>
<imgUpload
:limit="1"
:max="10"
@input="getJustimg"
tip=""
></imgUpload>
<imgUpload
:limit="1"
:max="10"
@input="getBackimg"
tip=""
></imgUpload>
</el-form-item>
<el-form-item label="三证合一扫描件" prop="cardimg" class="item">
<imgUpload :limit="3" :max="10" @input="getCardimg" tip="只可上传三张图片,大小不能超过10MB,此项为必填项"></imgUpload>
<imgUpload
:limit="3"
:max="10"
@input="getCardimg"
tip="只可上传三张图片,大小不能超过10MB,此项为必填项"
></imgUpload>
</el-form-item>
<el-form-item prop="file" class="item" margin-left="-1.8rem">
<div class="else">
<div>其他资料 <span class="red">用于上传其他证明性材料如法人变更证明,报名资料请勿在此上传,单个附件建议不超过2M。</span> </div>
<div>
其他资料
<span class="red"
>用于上传其他证明性材料如法人变更证明,报名资料请勿在此上传,单个附件建议不超过2M。</span
>
</div>
</div>
<Upload :limit="5" :max="10" @input="getfile" tip="支持扩展名:.rar .zip .doc .docx .pdf .jpg..."></Upload>
<Upload
:limit="5"
:max="10"
@input="getfile"
tip="最多上传五份文件,每份不超过10M"
></Upload>
</el-form-item>
</el-form>
</div>
<!-- 审核结果 -->
<div class="result flex-center" v-if="active==2">
<div v-show="result==0">
<div class="result flex-center" v-if="active == 2">
<div v-show="result == 0">
<h4>您的注册申请已提交,请耐心等待平台管理员审核</h4>
<h5>
温馨提示 <br>
1.审核后,您注册填写的手机号讲收到短信提醒 <br>
2.您可以登录系统查看审核进度 <br>
3.若超过一天未审核,请致电400-400-400咨询 <br>
温馨提示 <br />
1.审核后,您注册填写的手机号讲收到短信提醒 <br />
2.您可以登录系统查看审核进度 <br />
3.若超过一天未审核,请致电400-400-400咨询 <br />
</h5>
</div>
<div v-show="result==1">
<div v-show="result == 1">
<h4>您已通过平台审核!</h4>
</div>
<div v-show="result==2">
<h4 style="color:red">对不起,您没有通过审核!</h4>
<h5 style="color:#000000">拒绝原因:身份证信息作假</h5>
<div v-show="result == 2">
<h4 style="color: red">对不起,您没有通过审核!</h4>
<h5 style="color: #000000">拒绝原因:身份证信息作假</h5>
</div>
</div>
<button @click="next" class="t2 nextButton" v-if="active==0||active==1">下一步</button>
<button @click="back" class="t2 nextButton" v-if="active==2">回到首页</button>
<button
@click="next"
class="t2 nextButton"
v-if="active == 0 || active == 1"
>
下一步
</button>
<button @click="back" class="t2 nextButton" v-if="active == 2">
回到首页
</button>
</div>
</template>
<script>
import {
industryList,
getVerify,
sendSms,
verifyPhone,
companyNatureList,
checkAccount
} from '~/api/common/list';
import {
register
} from '~/api/bid/login'
import Upload from '~/components/Upload/Upload';
import imgUpload from '~/components/Upload/imgUpload';
import Identify from '~/components/identify';
import citySelect from '~/components/citySelect';
export default {
components: {
Identify,
citySelect,
Upload,
imgUpload
},
data() {
// 测试省份
let islocal = (rule, value, callback) => {
console.log("1")
if (!this.form.provinceId) {
callback(new Error('请选择省份'));
} else if (!this.form.cityId) {
callback(new Error('请选择市'));
} else if (!this.form.districtId) {
callback(new Error('请选择区'));
import {
industryList,
getVerify,
sendSms,
verifyPhone,
companyNatureList,
checkAccount,
} from "~/api/common/list";
import { register } from "~/api/bid/login";
import Upload from "~/components/Upload/Upload";
import imgUpload from "~/components/Upload/imgUpload";
import Identify from "~/components/identify";
import citySelect from "~/components/citySelect";
/* import {validateRealName} from '../../utils/validate.js' */
export default {
components: {
Identify,
citySelect,
Upload,
imgUpload,
},
data() {
// 测试省份
let islocal = (rule, value, callback) => {
console.log("1");
if (!this.form.provinceId) {
callback(new Error("请选择省份"));
} else if (!this.form.cityId) {
callback(new Error("请选择市"));
} else if (!this.form.districtId) {
callback(new Error("请选择区"));
} else {
callback();
}
};
// 测试正反图片是否上传
let checkidentity = (rule, value, callback) => {
if (this.justimg.length === 0) {
callback(new Error("请上传正面照片"));
} else if (this.backimg.length === 0) {
callback(new Error("请上传反面照片"));
} else {
callback();
}
};
// 测试三证合一是否上传
let checkcardimg = (rule, value, callback) => {
if (this.cardimg.length === 0) {
callback(new Error("请上传三证合一"));
} else {
callback();
}
};
// 修改密码验证二次是否输入相同
let validate = (rule, value, callback) => {
if (value === "") {
callback(new Error("请输入密码"));
} else {
if (this.adminform.isPassword !== "") {
this.$refs.adminform.validateField("isPassword");
}
callback();
}
};
let validate2 = (rule, value, callback) => {
if (value === "") {
callback(new Error("请再次输入密码"));
} else if (value !== this.adminform.password) {
callback(new Error("两次输入密码不一致!"));
} else {
callback();
}
};
let checkPhone = async (rule, value, callback) => {
if (!value) {
return callback(new Error("手机号不能为空"));
} else {
const reg = /^1[3|4|5|7|8][0-9]\d{8}$/;
console.log(reg.test(value));
if (reg.test(value)) {
const { code } = await checkAccount(value);
if (code === 200) {
callback();
} else {
return callback(new Error("手机号重复"));
}
} else {
callback();
return callback(new Error("请输入正确的手机号"));
}
}
// 测试正反图片是否上传
let checkidentity = (rule, value, callback) => {
if (this.justimg.length === 0) {
callback(new Error('请上传正面照片'));
} else if (this.backimg.length === 0) {
callback(new Error('请上传反面照片'));
};
//验证码验证
// let checkCode = (rule, value, callback) => {
// if (!value) {
// return callback(new Error('验证码不能为空'));
// } else {
// let code = this.code;
// if (value.toLowerCase() == code.toLowerCase()) {
// callback();
// } else {
// return callback(new Error('请输入正确的验证码'));
// }
// }
// };
//名字校验
let validateRealName = (rule, value, callback) => {
const realnameReg = /^[\u4e00-\u9fa5]{1,30}$/;
setTimeout(() => {
if (!realnameReg.test(value)) {
var reg = new RegExp("[^\u4e00-\u9fa5]{1,30}");
let a = value.replace(reg, "");
this.perfectForm.legalPersonName = a;
this.form.companyName = a;
this.perfectForm.location = a;
this.adminform.name = a;
this.perfectForm.bankAccountName = a;
this.perfectForm.bankName = a;
this.perfectForm.contactAddress = a;
return callback(new Error("您的输入有误,请重新输入!"));
} else {
callback();
}
};
// 测试三证合一是否上传
let checkcardimg = (rule, value, callback) => {
if (this.cardimg.length === 0) {
callback(new Error('请上传三证合一'));
}, 1000);
};
//电话号校验
let validateRealPhone = (rule, value, callback) => {
const realnameReg = /^[1][3,4,5,7,8][0-9]{9}$/;
setTimeout(() => {
if (!realnameReg.test(value)) {
var reg = new RegExp(
"^[023456789A-z。?!,、 ; : “ ” ‘ ’ ( ) 《 》 〈 〉 【 】 『 』 「 」 ﹃ ﹄ 〔 〕 … — ~ ﹏ ¥.]"
);
let a = value.replace(reg, "");
console.log(a + "--------------");
this.perfectForm.legalPersonPhone = a;
this.adminform.phonenumber = a;
return callback(new Error("您的输入有误,请重新输入!"));
} else {
callback();
}
};
// 修改密码验证二次是否输入相同
let validate = (rule, value, callback) => {
if (value === '') {
callback(new Error('请输入密码'));
}, 1000);
};
//身份证号校验
let validateRealId = (rule, value, callback) => {
const realnameReg = /^[1-9]\d{7}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])\d{3}$|^[1-9]\d{5}[1-9]\d{3}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])\d{3}([0-9]|X)$/;
setTimeout(() => {
if (!realnameReg.test(value)) {
var reg = new RegExp(
"^[A-z。?!,、 ; : “ ” ‘ ’ ( ) 《 》 〈 〉 【 】 『 』 「 」 ﹃ ﹄ 〔 〕 … — ~ ﹏ ¥.]"
);
let a = value.replace(reg, "");
console.log(a + "--------------");
this.adminform.idNumber = a;
return callback(new Error("您的输入有误,请重新输入!"));
} else {
if (this.adminform.isPassword !== '') {
this.$refs.adminform.validateField('isPassword');
}
callback();
}
};
let validate2 = (rule, value, callback) => {
if (value === '') {
callback(new Error('请再次输入密码'));
} else if (value !== this.adminform.password) {
callback(new Error('两次输入密码不一致!'));
}, 1000);
};
//统一社会代码
let validateRealSHid = (rule, value, callback) => {
const realnameReg = /^[_IOZSVa-z\W]{2}\d{6}[^_IOZSVa-z\W]{10}$/g;
setTimeout(() => {
if (!realnameReg.test(value)) {
var reg = new RegExp(
"^[a-z。?!,、 ; : “ ” ‘ ’ ( ) 《 》 〈 〉 【 】 『 』 「 」 ﹃ ﹄ 〔 〕 … — ~ ﹏ ¥.]"
);
let a = value.replace(reg, "");
console.log(a + "--------------");
this.perfectForm.socialCode = a;
return callback(new Error("您的输入有误,请重新输入!"));
} else {
callback();
}
};
let checkPhone = async (rule, value, callback) => {
if (!value) {
return callback(new Error('手机号不能为空'));
}, 1000);
};
let validateRealLast = (rule, value, callback) => {
const realnameReg = /^([1-9]{1})(\d{14}|\d{18})$/;
setTimeout(() => {
if (!realnameReg.test(value)) {
var reg = new RegExp(
"^[a-z。?!,、 ; : “ ” ‘ ’ ( ) 《 》 〈 〉 【 】 『 』 「 」 ﹃ ﹄ 〔 〕 … — ~ ﹏ ¥.]"
);
let a = value.replace(reg, "");
this.perfectForm.bankAccount = a;
return callback(new Error("您的输入有误,请重新输入!"));
} else {
const reg = /^1[3|4|5|7|8][0-9]\d{8}$/
console.log(reg.test(value));
if (reg.test(value)) {
const {
code
} = await checkAccount(value)
if (code === 200) {
callback();
}else{
return callback(new Error('手机号重复'));
}
callback();
}
}, 1000);
};
let validateRealPrice = (rule, value, callback) => {
const realnameReg = /^[1-9]{1}[0-9]{9}|^[1-9]{1}[0-9]{6}\.[0-9]{1,2}/;
setInterval(() => {
if (!realnameReg.test(value)) {
var reg = new RegExp(
"^[A-z。?!,、 ; : “ ” ‘ ’ ( ) 《 》 〈 〉 【 】 『 』 「 」 ﹃ ﹄ 〔 〕 … — ~ ﹏ ¥]"
);
let a = value.replace(reg, "");
this.perfectForm.registeredCapital = a;
return callback(new Error("您的输入有误,请重新输入!"));
} else {
return callback(new Error('请输入正确的手机号'));
callback();
}
}
};
//验证码验证
// let checkCode = (rule, value, callback) => {
// if (!value) {
// return callback(new Error('验证码不能为空'));
// } else {
// let code = this.code;
// if (value.toLowerCase() == code.toLowerCase()) {
// callback();
// } else {
// return callback(new Error('请输入正确的验证码'));
// }
// }
// };
var validateTitle = (rule, value, callback) => {
const reg = reg.replace(/\s*/g,"")
if (!reg.test(value)) {
callback(new Error('只允许填写汉字、字母、下划线'))
} else {
callback()
}
}
return {
companyNatures:[],
files: [],
justimg: [],
backimg: [],
cardimg: [],
belongTypes: [],
result: "0",
fileList: [],
flag: true, //该值变化,就会触发刷新
code: '', //刷新后的验证码
active: 0,
checked: false,
adminform: {
name: "",
idNumber: "",
password: '',
isPassword: '',
email: '',
phonenumber: '',
code: '',
phonecode: '',
},
form: {
companyName: '',
local: '',
provinceId: "",
cityId: "",
districtId: "",
type: '',
},
perfectForm: {
legalPersonPhone: "",
legalPersonName: "",
location: "",
bankAccount: "",
bankAccountName: "",
contactAddress: "",
socialCode: "",
companyNature: "",
industryType: "",
bankName: "",
registeredCapital: "",
businessScope: ""
},
rules: {
companyName: [{
}, 1000);
}
/* this.flag = false
clearInterval(timer);
this.flag = true; */
return {
flag: true,
companyNatures: [],
files: [],
justimg: [],
backimg: [],
cardimg: [],
belongTypes: [],
result: "0",
fileList: [],
flag: true, //该值变化,就会触发刷新
code: "", //刷新后的验证码
active: 0,
checked: false,
adminform: {
name: "",
idNumber: "",
password: "",
isPassword: "",
email: "",
phonenumber: "",
code: "",
phonecode: "",
},
form: {
companyName: "",
local: "",
provinceId: "",
cityId: "",
districtId: "",
type: "",
},
perfectForm: {
legalPersonPhone: "",
legalPersonName: "",
location: "",
bankAccount: "",
bankAccountName: "",
contactAddress: "",
socialCode: "",
companyNature: "",
industryType: "",
bankName: "",
registeredCapital: "",
businessScope: "",
},
rules: {
companyName: [
{
required: true,
message: '请输入单位名称',
trigger: 'blur'
}],
local: [{
message: "请输入单位名称",
trigger: "blur",
},
{
validator: validateRealName,
},
],
local: [
{
required: true,
validator: islocal,
trigger: 'blur'
}],
type: [{
trigger: "blur",
},
],
type: [
{
required: true,
message: '请选择角色',
trigger: 'blur'
}],
name: [{
message: "请选择角色",
trigger: "blur",
},
],
name: [
{
required: true,
message: '请输入管理者姓名',
trigger: 'blur'
}],
idNumber: [{
required: true,
message: '请输入身份证',
trigger: 'blur'
},
{
pattern:/^[1-9]\d{5}(18|19|([23]\d))\d{2}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)\d{3}[0-9Xx]$/,
message: '请输入正确的身份证号'
}
],
password: [{
required: true,
message: '请输入密码',
trigger: 'blur'
},
{
validator: validate,
trigger: 'blur'
},
{
pattern: /^(?![0-9]+$)(?![a-zA-Z]+$)[0-9A-Za-z]{8,16}$/,
message: '密码需由8-16位数字字母组合'
}
],
isPassword: [{
required: true,
message: '请再次输入密码',
trigger: 'blur'
},
{
validator: validate2,
trigger: 'blur'
},
{
pattern: /^(?![0-9]+$)(?![a-zA-Z]+$)[0-9A-Za-z]{8,16}$/,
message: '密码需由8-16位数字字母组合'
}
],
email: [{
required: true,
message: '请输入电子邮箱',
trigger: 'blur'
},
{
pattern: /^([a-zA-Z0-9]+[_|\_|\.]?)*[a-zA-Z0-9]+@([a-zA-Z0-9]+[_|\_|\.]?)*[a-zA-Z0-9]+\.[a-zA-Z]{2,3}$/,
message: '请输入正确的邮箱地址'
}
],
phonenumber: [{
message: "请输入管理者姓名",
trigger: "blur",
},
{
validator: validateRealName,
},
],
idNumber: [
{
required: true,
validator: checkPhone,
trigger: 'blur'
message: "请输入身份证",
trigger: "blur",
},
{
validator: validateRealId,
},
],
password: [
{
required: true,
message: '请输入',
trigger: 'blur'
}
],
code: [{
message: "请输入密码",
trigger: "blur",
},
{
pattern: /^(?![0-9]+$)(?![a-zA-Z]+$)[0-9A-Za-z]{8,16}$/,
message: "密码需由8-16位数字字母组合",
},
],
isPassword: [
{
required: true,
message: '请输入验证码',
trigger: 'blur'
}],
phonecode: [{
message: "请再次输入密码",
trigger: "blur",
},
{
validator: validate2,
trigger: "blur",
},
{
pattern: /^(?![0-9]+$)(?![a-zA-Z]+$)[0-9A-Za-z]{8,16}$/,
message: "密码需由8-16位数字字母组合",
},
],
email: [
{
required: true,
message: '请输入短信验证码',
trigger: 'blur'
}],
legalPersonPhone: [{
message: "请输入电子邮箱",
trigger: "blur",
},
{
pattern: /^([a-zA-Z0-9]+[_|\_|\.]?)*[a-zA-Z0-9]+@([a-zA-Z0-9]+[_|\_|\.]?)*[a-zA-Z0-9]+\.[a-zA-Z]{2,3}$/,
message: "请输入正确的邮箱地址",
},
],
phonenumber: [
{
required: true,
validator: checkPhone,
trigger: "blur",
},
{
validator: validateRealPhone,
},
],
code: [
{
required: true,
message: "请输入验证码",
trigger: "blur",
},
],
phonecode: [
{
required: true,
message: "请输入短信验证码",
trigger: "blur",
},
],
legalPersonPhone: [
{
required: true,
message: '请输入法人电话',
trigger: 'blur'
message: "请输入法人电话",
trigger: "blur",
},
{
pattern:/^1[3456789]\d{9}$/,
message: '请输入正确的电话号码'
}],
validator: validateRealPhone,
},
],
legalPersonName: [{
legalPersonName: [
{
required: true,
message: '请输入法人姓名',
trigger: 'blur'
},{
pattern:/* /^[\u4e00-\u9fa5]{2,4}$/, *//\s/g,
message: '请输入正确的姓名'
}
],
location: [{
message: "请输入法人姓名",
trigger: "blur",
},
{
validator: validateRealName,
},
],
location: [
{
required: true,
message: '请输入单位所在地',
trigger: 'blur'
},{
pattern: /^[\u4e00-\u9fa5]{2,}$/,
message: '请输入正确的单位所在地'
}
],
bankAccount: [{
message: "请输入单位所在地",
trigger: "blur",
},
{
validator: validateRealName,
},
],
bankAccount: [
{
required: true,
message: '请输入结算账号',
trigger: 'blur'
},{
pattern: /(^[1-9]\d*$)/,
message: '请输入正确的结算账号'
}],
bankAccountName: [{
message: "请输入结算账号",
trigger: "blur",
},
{
validator: validateRealLast,
},
],
bankAccountName: [
{
required: true,
message: '请输入结算账号名',
trigger: 'blur'
},{
pattern: /^[\u4e00-\u9fa5]{2,4}$/,
message: '请输入正确的结算账号名'
}
],
contactAddress: [{
message: "请输入结算账号名",
trigger: "blur",
},
{
validator: validateRealName,
},
],
contactAddress: [
{
required: true,
message: '请输入联系地址',
trigger: 'blur'
},{
pattern: /^[\u4e00-\u9fa5]{2,}$/,
message: '请输入正确的联系地址'
}],
message: "请输入联系地址",
trigger: "blur",
},
{
validator: validateRealName,
},
],
socialCode: [{
socialCode: [
{
required: true,
message: '请输入社会信用码',
trigger: 'blur'
message: "请输入社会信用码",
trigger: "blur",
},
{
pattern:/[^_IOZSVa-z\W]{2}\d{6}[^_IOZSVa-z\W]{10}$/g,
message: '请输入正确的社会信用码'
}],
companyNature: [{
validator: validateRealSHid,
},
],
companyNature: [
{
required: true,
message: '请输入行业类型',
trigger: 'blur'
}],
industryType: [{
message: "请输入行业类型",
trigger: "blur",
},
],
industryType: [
{
required: true,
message: '请选择行业类型',
trigger: 'blur'
}],
bankName: [{
message: "请选择行业类型",
trigger: "blur",
},
],
bankName: [
{
required: true,
message: '开户银行名称',
trigger: 'blur'
message: "开户银行名称",
trigger: "blur",
},
{
pattern: /^[\u4e00-\u9fa5]{2,}$/,
message: '请输入正确的开户银行名称'
}
],
registeredCapital: [{
{
validator: validateRealName,
},
],
registeredCapital: [
{
required: true,
message: '请输入注册资本',
trigger: 'blur'
},
{
pattern: /^\d+(\.\d{2})?$/,
message: '请输入正确的注册资本'
}],
businessScope: [{
message: "请输入注册资本",
trigger: "blur",
},
{
validator: validateRealPrice,
},
],
businessScope: [
{
required: true,
message: '请输入经营范围',
trigger: 'blur'
message: "请输入经营范围",
trigger: "blur",
},
{
{
pattern: /[\u4e00-\u9fa5]|[\(\)\《\》\—\;\,\。\“\”\<\>\!]/,
message: '请输入正确的经营范围'
}],
identity: [{
message: "请输入正确的经营范围",
},
],
identity: [
{
required: true,
validator: checkidentity,
trigger: 'blur'
}],
cardimg: [{
trigger: "blur",
},
],
cardimg: [
{
required: true,
validator: checkcardimg,
trigger: 'blur'
}]
},
};
},
methods: {
// 回到首页
back(){
this.$router.push("/")
},
// 获取单位性质
async getCompanyNatureList() {
const res = await companyNatureList()
this.companyNatures = res
},
//获取所属行业
async getIndustryList() {
const res = await industryList()
this.belongTypes = res
},
// 获取验证码图片
// async getCordimg() {
// const res = await getVerify()
// console.log(res);
// },
getJustimg(val) {
console.log(val)
this.justimg = val
},
getBackimg(val) {
console.log(val)
this.backimg = val
},
getCardimg(val) {
console.log(val)
this.cardimg = val
},
getfile(val) {
console.log(val)
this.files = val
trigger: "blur",
},
],
},
// 获取市ID
getprovinceId(val) {
this.form.provinceId = val
this.form.cityId = "";
this.form.districtId = "";
};
},
methods: {
back() {
this.$router.push("/");
},
// 获取单位性质
async getCompanyNatureList() {
const res = await companyNatureList();
this.companyNatures = res;
},
//获取所属行业
async getIndustryList() {
const res = await industryList();
this.belongTypes = res;
},
// 获取验证码图片
// async getCordimg() {
// const res = await getVerify()
// console.log(res);
// },
},
// 获取省ID
getcityId(val) {
this.form.cityId = val
this.form.districtId = "";
},
// 获取城ID
getdistrictId(val) {
this.form.districtId = val
},
async next() {
let active = this.active;
// 注册阶段
if (active == 0) {
const valid = await this.$refs['form'].validate()
const valid1 = await this.$refs['adminform'].validate()
if (valid && valid1) {
let checked=this.checked;
if(!checked){
this.$message.error("请勾选协议")
return;
}
let message={}
message.phone=this.adminform.phonenumber
message.verify=this.adminform.phonecode
const {
msg,
code
} = await verifyPhone(message);
if(code===200){
this.active++
}else{
this.$message.error(msg)
}
getJustimg(val) {
console.log(val);
this.justimg = val;
},
getBackimg(val) {
console.log(val);
this.backimg = val;
},
getCardimg(val) {
console.log(val);
this.cardimg = val;
},
getfile(val) {
console.log(val);
this.files = val;
},
// 获取市ID
getprovinceId(val) {
this.form.provinceId = val;
this.form.cityId = "";
this.form.districtId = "";
},
// 获取省ID
getcityId(val) {
this.form.cityId = val;
this.form.districtId = "";
},
// 获取城ID
getdistrictId(val) {
this.form.districtId = val;
},
async next() {
let active = this.active;
// 注册阶段
if (active == 0) {
const valid = await this.$refs["form"].validate();
const valid1 = await this.$refs["adminform"].validate();
if (valid && valid1) {
let checked = this.checked;
if (!checked) {
this.$message.error("请勾选协议");
return;
}
// 完善阶段
} else if (active == 1) {
const valid = await this.$refs['perfectForm'].validate()
if (valid) {
let justimg = this.justimg;
let backimg = this.backimg;
let cardimg = this.cardimg;
let files = this.files;
justimg.forEach(function(item, index) {
item.type = 1
});
backimg.forEach(function(item, index) {
item.type = 2
});
cardimg.forEach(function(item, index) {
item.type = 3
});
files.forEach(function(item, index) {
item.type = 4
});
let file = justimg.concat(backimg).concat(cardimg).concat(files);
let form = this.form;
let adminform = this.adminform;
let perfectForm = this.perfectForm;
Object.assign(perfectForm, form);
perfectForm.sysUserPO = adminform
perfectForm.fileList = file
const {
data,
code,
msg
} = await register(perfectForm);
if(code===200){
this.$message.success(msg)
this.active++
}
let message = {};
message.phone = this.adminform.phonenumber;
message.verify = this.adminform.phonecode;
const { msg, code } = await verifyPhone(message);
if (code === 200) {
this.active++;
} else {
this.$message.error(msg);
}
}
},
refreshCode() {
this.flag = !this.flag;
console.log("刷新")
},
getMakedCode(code) {
this.code = code;
},
async getMessagecode(){
if(!this.adminform.phonenumber){
this.$message.error("请输入手机号")
return
}
if(!this.adminform.code){
this.$message.error("请填写验证码")
return
}
if(this.code.toLowerCase()!==this.adminform.code.toLowerCase()){
this.$message.error("请输入正确的验证码")
return
}
let message={}
message.phone=this.adminform.phonenumber;
message.type = 1
const {
msg,
code
} = await sendSms(message)
if (code === 200) {
this.$message.success("发送成功")
this.refreshCode();
// 完善阶段
} else if (active == 1) {
const valid = await this.$refs["perfectForm"].validate();
if (valid) {
let justimg = this.justimg;
let backimg = this.backimg;
let cardimg = this.cardimg;
let files = this.files;
justimg.forEach(function (item, index) {
item.type = 1;
});
backimg.forEach(function (item, index) {
item.type = 2;
});
cardimg.forEach(function (item, index) {
item.type = 3;
});
files.forEach(function (item, index) {
item.type = 4;
});
let file = justimg.concat(backimg).concat(cardimg).concat(files);
let form = this.form;
let adminform = this.adminform;
let perfectForm = this.perfectForm;
Object.assign(perfectForm, form);
perfectForm.sysUserPO = adminform;
perfectForm.fileList = file;
const { data, code, msg } = await register(perfectForm);
if (code === 200) {
this.$message.success(msg);
this.active++;
}
}
}
},
refreshCode() {
this.flag = !this.flag;
console.log("刷新");
},
getMakedCode(code) {
this.code = code;
},
async getMessagecode() {
if (!this.adminform.phonenumber) {
this.$message.error("请输入手机号");
return;
}
if (!this.adminform.code) {
this.$message.error("请填写验证码");
return;
}
if (this.code.toLowerCase() !== this.adminform.code.toLowerCase()) {
this.$message.error("请输入正确的验证码");
return;
}
let message = {};
message.phone = this.adminform.phonenumber;
message.type = 1;
const { msg, code } = await sendSms(message);
if (code === 200) {
this.$message.success("发送成功");
this.refreshCode();
}
},
mounted() {
console.log(this.flag);
this.flag = !this.flag;
this.getIndustryList();
this.getCompanyNatureList()
this.getCompanyNatureList();
// this.getCordimg();
},
}
},
};
</script>
<style scoped>
.upload>div {
color: rgba(102, 102, 102, 1);
font-weight: 400;
}
.upload > div {
color: rgba(102, 102, 102, 1);
font-weight: 400;
}
.label-form {
font-size: .16rem;
margin-top: 0.3rem;
margin-bottom: 0.1rem;
font-weight: 400;
}
.label-form {
font-size: 0.16rem;
margin-top: 0.3rem;
margin-bottom: 0.1rem;
font-weight: 400;
}
.company h4 {
font-size: .22rem;
font-weight: bold;
color: rgba(0, 0, 0, 1);
margin-top: 0.62rem;
margin-bottom: 0.5rem;
}
.company h4 {
font-size: 0.22rem;
font-weight: bold;
color: rgba(0, 0, 0, 1);
margin-top: 0.62rem;
margin-bottom: 0.5rem;
}
.el-input {
width: 2.4rem;
height: 0.4rem;
}
.el-input {
width: 2.4rem;
height: 0.4rem;
}
.nextButton {
width: 3rem;
height: .48rem;
background: rgba(4, 134, 254, 1);
border-radius: .04rem;
line-height: .46rem;
margin-top: .45rem;
margin-bottom: .8rem;
color: #fff
}
.nextButton {
width: 3rem;
height: 0.48rem;
background: rgba(4, 134, 254, 1);
border-radius: 0.04rem;
line-height: 0.46rem;
margin-top: 0.45rem;
margin-bottom: 0.8rem;
color: #fff;
}
.item .el-form-item__label {
font-size: .16rem;
font-weight: bold;
}
.item .el-form-item__label {
font-size: 0.16rem;
font-weight: bold;
}
.password-tips {
margin-bottom: 0;
color: rgba(144, 147, 153, 1);
font-weight: 400;
font-size: .12rem;
}
.password-tips {
margin-bottom: 0;
color: rgba(144, 147, 153, 1);
font-weight: 400;
font-size: 0.12rem;
}
.avatar-uploader .el-upload {
border: 1px dashed #d9d9d9;
border-radius: 6px;
cursor: pointer;
position: relative;
overflow: hidden;
}
.avatar-uploader .el-upload {
border: 1px dashed #d9d9d9;
border-radius: 6px;
cursor: pointer;
position: relative;
overflow: hidden;
}
.avatar-uploader .el-upload:hover {
border-color: #409EFF;
}
.avatar-uploader .el-upload:hover {
border-color: #409eff;
}
.avatar-uploader-icon {
font-size: 28px;
color: #8c939d;
width: 1.2rem;
height: 1.2rem;
line-height: 1.2rem;
text-align: center;
background: rgba(247, 247, 247, 1);
}
.avatar-uploader-icon {
font-size: 28px;
color: #8c939d;
width: 1.2rem;
height: 1.2rem;
line-height: 1.2rem;
text-align: center;
background: rgba(247, 247, 247, 1);
}
.avatar {
width: 1.2rem;
height: 1.2rem;
display: block;
}
.avatar {
width: 1.2rem;
height: 1.2rem;
display: block;
}
.getcode,
.getphonecode {
position: relative;
}
.getcode,
.getphonecode {
position: relative;
}
.getcode>.code {
/*margin: 400px auto;*/
width: .68rem;
height: .32rem;
/*border: 1px solid red;*/
position: absolute;
top: 0;
left: 3.3rem;
}
.getcode > .code {
/*margin: 400px auto;*/
width: 0.68rem;
height: 0.32rem;
/*border: 1px solid red;*/
position: absolute;
top: 0;
left: 3.3rem;
}
.getphonecode>.phonecode {
font-size: .14rem;
font-weight: 400;
color: rgba(51, 136, 255, 1);
position: absolute;
top: 0.13rem;
left: 4rem;
cursor: pointer;
}
.getphonecode > .phonecode {
font-size: 0.14rem;
font-weight: 400;
color: rgba(51, 136, 255, 1);
position: absolute;
top: 0.13rem;
left: 4rem;
cursor: pointer;
}
.else .red {
color: #FF6161;
font-size: .14rem;
}
.else .red {
color: #ff6161;
font-size: 0.14rem;
}
.perfect-head {
width: 9rem;
margin-top: 0.66rem;
margin-bottom: .37rem;
}
.perfect-head {
width: 9rem;
margin-top: 0.66rem;
margin-bottom: 0.37rem;
}
.perfect-head>div>text {
font-weight: bold;
}
.perfect-head > div > text {
font-weight: bold;
}
.result {
width: 100%;
height: 3rem
}
.result {
width: 100%;
height: 3rem;
}
.result h4 {
font-size: .30rem;
font-weight: 600;
color: rgba(75, 193, 103, 1);
margin-top: 1rem;
margin-bottom: .2rem;
}
.result h4 {
font-size: 0.3rem;
font-weight: 600;
color: rgba(75, 193, 103, 1);
margin-top: 1rem;
margin-bottom: 0.2rem;
}
.result h5 {
font-size: .18rem;
font-weight: 400;
color: rgba(128, 128, 128, 1);
line-height: .3rem;
text-align: center;
}
</style>
.result h5 {
font-size: 0.18rem;
font-weight: 400;
color: rgba(128, 128, 128, 1);
line-height: 0.3rem;
text-align: center;
}
</style>
\ No newline at end of file
/* 验证账号 */
export function validateUsername(rule, value, callback) {
if (value.length < 6 || value.length > 20) {
return callback(new Error('用户名不得小于6个或大于20个字符!'))
} else {
callback()
}
}
/* 验证密码 */
export function validatePassword(rule, value, callback) {
if (value.length < 6) {
return callback(new Error('密码不能小于6位'))
} else {
callback()
}
}
/* 合法邮箱 */
export function validateEmail(rule, value, callback) {
const emailReg = /^(([a-zA-Z0-9_\-\.]+)@([a-zA-Z0-9_\-\.]+)\.([a-zA-Z]{2,5}){1,25})$/
if (!value) {
return callback(new Error('邮箱不能为空!!'))
}
setTimeout(() => {
if (!emailReg.test(value)) {
return callback(new Error('邮箱格式错误'))
} else {
callback()
}
}, 100)
}
/* 合法手机号 */
export function validatePhone(rule, value, callback) {
const phoneReg = /^[1][3,4,5,7,8][0-9]{9}$/
if (!value) {
return callback(new Error('手机号码不能为空!!'))
}
setTimeout(() => {
if (!phoneReg.test(value)) {
return callback(new Error('手机号码格式错误'))
} else {
callback()
}
}, 100)
}
/* 合法真实姓名 */
export function validateRealName(rule, value, callback) {
const realnameReg = /^[\u4e00-\u9fa5]{1,30}$/
if (!value) {
return callback(new Error('真实姓名不能为空!!'))
}
setTimeout(() => {
if (!realnameReg.test(value)) {
console.log(value+'----------')
var reg = new RegExp('[^\u4e00-\u9fa5]{1,30}');
let a = value.replace(reg,'')
value = a
return value
console.log(value+'+++++++++++++++++')
return callback(new Error('您的真实姓名格式错误,请输入英文或汉字!'))
} else {
callback()
}
}, 100)
}
/* 合法身份证 */
export function validateIdNumber(rule, value, callback) {
const idNumberReg = /^[1-9]\d{7}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])\d{3}$|^[1-9]\d{5}[1-9]\d{3}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])\d{3}([0-9]|X)$/
if (!value) {
return callback(new Error('身份证号码不能为空!!'))
}
setTimeout(() => {
if (!idNumberReg.test(value)) {
return callback(new Error('您的身份证号码格式错误!'))
} else {
callback()
}
}, 100)
}
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment