<template>
<div>
<div class="crumbs">
</div>
<div class="container">
<div class="form-box">
<el-form ref="formRef" :rules="rules" :model="form" label-width="80px" >
<el-form-item label="账号" prop="code" label-width="100px">
<el-input v-model="form.code"></el-input>
</el-form-item>
<el-form-item label="密码" prop="pwd" label-width="100px">
<el-input v-model="form.pwd" show-password></el-input>
</el-form-item>
<el-form-item label="确认密码" prop="confirm" label-width="100px">
<el-input v-model="form.confirm" show-password></el-input>
</el-form-item>
<el-form-item label="手机号码" prop="mobile" label-width="100px">
<el-input v-model="form.mobile" maxlength="11"></el-input>
</el-form-item>
<el-form-item label="名称" prop="userName" label-width="100px">
<el-input v-model="form.userName"></el-input>
</el-form-item>
<el-form-item style="margin-left: 12%">
<el-button type="primary" @click="submit(formRef)">注册</el-button>
<el-button @click="resetForm(formRef)">重置</el-button>
</el-form-item>
</el-form>
</div>
</div>
</div>
</template>
<script>
import { reactive, ref } from "vue";
import {ElLoading, ElMessage, ElMessageBox} from "element-plus";
import md5 from "js-md5";
import {regularKey, REQ_SUCCESS_GET} from "../../assets/js/commonConfig";
import {addOperator} from "../../api/apiIndex";
export default {
name: "registerOperator",
setup() {
const formRef = ref('');
const validateConfirm = (rule,value,callback) =>{
if(value === ''){
callback(new Error("确认密码栏不能为空"))
}else if(value !== form.pwd){
callback(new Error("两次输入的密码不一致"))
}else {
callback()
}
}
const rules = {
code:[
{
required:true,
message:"账号不能为空!",
trigger:"blur"
}
],
pwd:[
{
required:true,
message:"密码不能为空!",
trigger:"blur"
},
{
pattern:regularKey,
message:"密码必须为6-16位的字母、数字或符号任意两种的组合!",
trigger: "blur"
}
],
mobile:[
{
required:true,
message:"手机号不能为空!",
trigger:"blur"
},{
pattern:/^1[3|4|5|6|7|8|9][0-9]\d{8}$/,
message: "请输入正确的手机号码",
trigger: "blur"
}
],
userName:[
{
required:true,
message:"名称不能为空!",
trigger:"blur"
}
],
confirm:[
{
validator:validateConfirm,
trigger:"blur"
}
],
};
const form = reactive({
code: "",
pwd:"",
mobile:"",
userName:"",
confirm:"",
});
const submit = (formEl) =>{
if(!formEl){
return;
}
formEl.validate((valid, fields) =>{
if(valid){
const loading = ElLoading.service({
lock: true,
text: '注册中···',
background: 'rgba(0, 0, 0, 0.7)',
})
addOperator({
userCode:form.code,
userPassword:md5(md5(form.pwd)),
mobile:form.mobile,
userName:form.userName,
},res => {
loading.close();
console.log('注册集运人员结果',res);
if(res.retCode == REQ_SUCCESS_GET){
ElMessage.success('创建集运人员成功');
formEl.resetFields();
}else{
ElMessage.error(res.retMsg);
}
},err => {
loading.close();
console.log('注册集运人员异常',err)
ElMessage.error('创建集运人员异常')
})
}else{
ElMessage.error('参数异常,请根据参数规则检查参数!');
console.log("error,校验失败",fields);
return;
}
})
}
const resetForm = (formEl) =>{
formEl.resetFields();
}
return {
rules,
form,
formRef,
submit,
resetForm,
};
}
}
</script>
<style scoped>
.el-form-item__label{
width: 100px !important;
}
>>>.el-form-item__label {
width: 150px !important;
}
table tbody::-webkit-scrollbar {
width: 6px;
}
</style>