Commit f69658e6 authored by 吴冠's avatar 吴冠

正则

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