货运挂车 增加校验

dev
277151821@qq.com 2024-03-06 12:02:19 +08:00
parent 4b724f5560
commit 3accb1e683
3 changed files with 105 additions and 39 deletions

View File

@ -7,32 +7,32 @@
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="自编号" prop="NUM"> <el-form-item label="自编号" prop="NUM">
<el-input v-model.number="form.NUM" /> <el-input v-model="form.NUM" maxlength="50" show-word-limit/>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="车牌号" prop="PLATE_NUMBER"> <el-form-item label="车牌号" prop="PLATE_NUMBER">
<el-input v-model="form.PLATE_NUMBER" /> <el-input v-model="form.PLATE_NUMBER" maxlength="50" show-word-limit/>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="车架号" prop="VIN"> <el-form-item label="车架号" prop="VIN">
<el-input v-model="form.VIN" /> <el-input v-model="form.VIN" maxlength="50" show-word-limit/>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="车身编号" prop="VEHICLE_BODY_NUMBER"> <el-form-item label="车身编号" prop="VEHICLE_BODY_NUMBER">
<el-input v-model="form.VEHICLE_BODY_NUMBER" /> <el-input v-model="form.VEHICLE_BODY_NUMBER" maxlength="50" show-word-limit/>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="挂车类型" prop="TRAILER_TYPE"> <el-form-item label="挂车类型" prop="TRAILER_TYPE">
<el-input v-model="form.TRAILER_TYPE" /> <el-input v-model="form.TRAILER_TYPE" maxlength="50" show-word-limit/>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="营运证号" prop="OPER_CERTIFICATE_NUM"> <el-form-item label="营运证号" prop="OPER_CERTIFICATE_NUM">
<el-input v-model="form.OPER_CERTIFICATE_NUM" /> <el-input v-model="form.OPER_CERTIFICATE_NUM" maxlength="50" show-word-limit/>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
@ -42,22 +42,22 @@
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="车主/业户" prop="CAR_OWNERS"> <el-form-item label="车主/业户" prop="CAR_OWNERS">
<el-input v-model="form.CAR_OWNERS" /> <el-input v-model="form.CAR_OWNERS" maxlength="50" show-word-limit/>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="车主电话" prop="CAR_OWNERS_TEL"> <el-form-item label="车主电话" prop="CAR_OWNERS_TEL">
<el-input v-model="form.CAR_OWNERS_TEL" /> <el-input v-model="form.CAR_OWNERS_TEL" maxlength="11" show-word-limit/>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="联系人" prop="CONTACTS"> <el-form-item label="联系人" prop="CONTACTS">
<el-input v-model="form.CONTACTS" /> <el-input v-model="form.CONTACTS" maxlength="50" show-word-limit/>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="联系电话" prop="CONTACT_PHONE"> <el-form-item label="联系电话" prop="CONTACT_PHONE">
<el-input v-model="form.CONTACT_PHONE" /> <el-input v-model="form.CONTACT_PHONE" maxlength="11" show-word-limit/>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
@ -95,27 +95,27 @@
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="挂车品牌" prop="TRAILER_BRAND"> <el-form-item label="挂车品牌" prop="TRAILER_BRAND">
<el-input v-model="form.TRAILER_BRAND" /> <el-input v-model="form.TRAILER_BRAND" maxlength="50" show-word-limit/>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="挂车型号" prop="TRAILER_MODEL"> <el-form-item label="挂车型号" prop="TRAILER_MODEL">
<el-input v-model="form.TRAILER_MODEL" /> <el-input v-model="form.TRAILER_MODEL" maxlength="50" show-word-limit/>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="核定总质量" prop="APPROVED_TOTAL_MASS"> <el-form-item label="核定总质量" prop="APPROVED_TOTAL_MASS">
<el-input v-model="form.APPROVED_TOTAL_MASS" /> <el-input v-model="form.APPROVED_TOTAL_MASS" maxlength="50" show-word-limit/>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="核定载质量" prop="APPROVED_LOAD_CAPACITY"> <el-form-item label="核定载质量" prop="APPROVED_LOAD_CAPACITY">
<el-input v-model="form.APPROVED_LOAD_CAPACITY" /> <el-input v-model="form.APPROVED_LOAD_CAPACITY" maxlength="50" show-word-limit/>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="容积/体积" prop="VOLUME"> <el-form-item label="容积/体积" prop="VOLUME">
<el-input v-model="form.TEAM_NAME" /> <el-input v-model="form.TEAM_NAME" maxlength="50" show-word-limit/>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
@ -124,6 +124,7 @@
v-model="form.NOTES" v-model="form.NOTES"
type="textarea" type="textarea"
:autosize="{ minRows: 3 }" :autosize="{ minRows: 3 }"
maxlength="250" show-word-limit
/> />
</el-form-item> </el-form-item>
</el-col> </el-col>
@ -223,14 +224,46 @@
OPER_CERTIFICATE_IMG:[], OPER_CERTIFICATE_IMG:[],
TRAILER_INFO:[], TRAILER_INFO:[],
}); });
const isVehicleNumber = (rule, vehicleNumber, callback)=>{
if(vehicleNumber){
var xreg=/^[京津沪渝冀豫云辽黑湘皖鲁新苏浙赣鄂桂甘晋蒙陕吉闽贵粤青藏川宁琼使领A-Z]{1}[A-Z]{1}(([0-9]{5}[DF]$)|([DF][A-HJ-NP-Z0-9][0-9]{4}$))/;
var creg=/^[京津沪渝冀豫云辽黑湘皖鲁新苏浙赣鄂桂甘晋蒙陕吉闽贵粤青藏川宁琼使领A-Z]{1}[A-Z]{1}[A-HJ-NP-Z0-9]{4}[A-HJ-NP-Z0-9挂学警港澳]{1}$/;
if(vehicleNumber.length === 7){
if(creg.test(vehicleNumber)===false){callback(new Error("格式错误"))}else callback();
} else if(vehicleNumber.length === 8){
if(xreg.test(vehicleNumber)===false){callback(new Error("格式错误"))}else callback();
} else{
callback(new Error("格式错误"))
}
}else callback();
}
const rules = { const rules = {
PLATE_NUMBER: [{ required: true, message: "请输入", trigger: "blur" }], PLATE_NUMBER: [
{ required: true, message: "请输入", trigger: "blur" },
{ validator: isVehicleNumber, trigger: "blur" },
],
VIN: [{ required: true, message: "请输入", trigger: "blur" }], VIN: [{ required: true, message: "请输入", trigger: "blur" }],
TRAILER_TYPE: [{ required: true, message: "请输入", trigger: "blur" }], TRAILER_TYPE: [{ required: true, message: "请输入", trigger: "blur" }],
CAR_OWNERS: [{ required: true, message: "请输入", trigger: "blur" }], CAR_OWNERS: [{ required: true, message: "请输入", trigger: "blur" }],
CAR_OWNERS_TEL: [{ required: true, message: "请输入", trigger: "blur" }], CAR_OWNERS_TEL: [
{ required: true, message: "请输入", trigger: "blur" },
{ min: 11, max: 11, message: "请输入11位手机号码", trigger: "blur" },
{
pattern:
/^(?:(?:\+|00)86)?1(?:(?:3[\d])|(?:4[5-79])|(?:5[0-35-9])|(?:6[5-7])|(?:7[0-8])|(?:8[\d])|(?:9[189]))\d{8}$/,
message: "请输入正确的手机号码",
},
],
CONTACTS: [{ required: true, message: "请输入", trigger: "blur" }], CONTACTS: [{ required: true, message: "请输入", trigger: "blur" }],
CONTACT_PHONE: [{ required: true, message: "请输入", trigger: "blur" }], CONTACT_PHONE: [
{ required: true, message: "请输入", trigger: "blur" },
{ min: 11, max: 11, message: "请输入11位手机号码", trigger: "blur" },
{
pattern:
/^(?:(?:\+|00)86)?1(?:(?:3[\d])|(?:4[5-79])|(?:5[0-35-9])|(?:6[5-7])|(?:7[0-8])|(?:8[\d])|(?:9[189]))\d{8}$/,
message: "请输入正确的手机号码",
},],
INITIAL_REGISTRATION_DATE: [{ required: true, message: "请输入", trigger: "blur" }], INITIAL_REGISTRATION_DATE: [{ required: true, message: "请输入", trigger: "blur" }],
} }
const fnGetData = async () => { const fnGetData = async () => {

View File

@ -7,32 +7,32 @@
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="自编号" prop="NUM"> <el-form-item label="自编号" prop="NUM">
<el-input v-model.number="form.NUM" /> <el-input v-model="form.NUM" maxlength="50" show-word-limit/>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="车牌号" prop="PLATE_NUMBER"> <el-form-item label="车牌号" prop="PLATE_NUMBER">
<el-input v-model="form.PLATE_NUMBER" /> <el-input v-model="form.PLATE_NUMBER" maxlength="50" show-word-limit/>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="车架号" prop="VIN"> <el-form-item label="车架号" prop="VIN">
<el-input v-model="form.VIN" /> <el-input v-model="form.VIN" maxlength="50" show-word-limit/>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="车身编号" prop="VEHICLE_BODY_NUMBER"> <el-form-item label="车身编号" prop="VEHICLE_BODY_NUMBER">
<el-input v-model="form.VEHICLE_BODY_NUMBER" /> <el-input v-model="form.VEHICLE_BODY_NUMBER" maxlength="50" show-word-limit/>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="挂车类型" prop="TRAILER_TYPE"> <el-form-item label="挂车类型" prop="TRAILER_TYPE">
<el-input v-model="form.TRAILER_TYPE" /> <el-input v-model="form.TRAILER_TYPE" maxlength="50" show-word-limit/>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="营运证号" prop="OPER_CERTIFICATE_NUM"> <el-form-item label="营运证号" prop="OPER_CERTIFICATE_NUM">
<el-input v-model="form.OPER_CERTIFICATE_NUM" /> <el-input v-model="form.OPER_CERTIFICATE_NUM" maxlength="50" show-word-limit/>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
@ -42,22 +42,22 @@
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="车主/业户" prop="CAR_OWNERS"> <el-form-item label="车主/业户" prop="CAR_OWNERS">
<el-input v-model="form.CAR_OWNERS" /> <el-input v-model="form.CAR_OWNERS" maxlength="50" show-word-limit/>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="车主电话" prop="CAR_OWNERS_TEL"> <el-form-item label="车主电话" prop="CAR_OWNERS_TEL">
<el-input v-model="form.CAR_OWNERS_TEL" /> <el-input v-model="form.CAR_OWNERS_TEL" maxlength="11" show-word-limit/>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="联系人" prop="CONTACTS"> <el-form-item label="联系人" prop="CONTACTS">
<el-input v-model="form.CONTACTS" /> <el-input v-model="form.CONTACTS" maxlength="50" show-word-limit/>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="联系电话" prop="CONTACT_PHONE"> <el-form-item label="联系电话" prop="CONTACT_PHONE">
<el-input v-model="form.CONTACT_PHONE" /> <el-input v-model="form.CONTACT_PHONE" maxlength="11" show-word-limit/>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
@ -95,27 +95,27 @@
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="挂车品牌" prop="TRAILER_BRAND"> <el-form-item label="挂车品牌" prop="TRAILER_BRAND">
<el-input v-model="form.TRAILER_BRAND" /> <el-input v-model="form.TRAILER_BRAND" maxlength="50" show-word-limit/>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="挂车型号" prop="TRAILER_MODEL"> <el-form-item label="挂车型号" prop="TRAILER_MODEL">
<el-input v-model="form.TRAILER_MODEL" /> <el-input v-model="form.TRAILER_MODEL" maxlength="50" show-word-limit/>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="核定总质量" prop="APPROVED_TOTAL_MASS"> <el-form-item label="核定总质量" prop="APPROVED_TOTAL_MASS">
<el-input v-model="form.APPROVED_TOTAL_MASS" /> <el-input v-model="form.APPROVED_TOTAL_MASS" maxlength="50" show-word-limit/>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="核定载质量" prop="APPROVED_LOAD_CAPACITY"> <el-form-item label="核定载质量" prop="APPROVED_LOAD_CAPACITY">
<el-input v-model="form.APPROVED_LOAD_CAPACITY" /> <el-input v-model="form.APPROVED_LOAD_CAPACITY" maxlength="50" show-word-limit/>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="容积/体积" prop="VOLUME"> <el-form-item label="容积/体积" prop="VOLUME">
<el-input v-model="form.TEAM_NAME" /> <el-input v-model="form.TEAM_NAME" maxlength="50" show-word-limit/>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
@ -124,6 +124,7 @@
v-model="form.NOTES" v-model="form.NOTES"
type="textarea" type="textarea"
:autosize="{ minRows: 3 }" :autosize="{ minRows: 3 }"
maxlength="250" show-word-limit
/> />
</el-form-item> </el-form-item>
</el-col> </el-col>
@ -223,14 +224,46 @@
OPER_CERTIFICATE_IMG:[], OPER_CERTIFICATE_IMG:[],
TRAILER_INFO:[], TRAILER_INFO:[],
}); });
const isVehicleNumber = (rule, vehicleNumber, callback)=>{
if(vehicleNumber){
var xreg=/^[京津沪渝冀豫云辽黑湘皖鲁新苏浙赣鄂桂甘晋蒙陕吉闽贵粤青藏川宁琼使领A-Z]{1}[A-Z]{1}(([0-9]{5}[DF]$)|([DF][A-HJ-NP-Z0-9][0-9]{4}$))/;
var creg=/^[京津沪渝冀豫云辽黑湘皖鲁新苏浙赣鄂桂甘晋蒙陕吉闽贵粤青藏川宁琼使领A-Z]{1}[A-Z]{1}[A-HJ-NP-Z0-9]{4}[A-HJ-NP-Z0-9挂学警港澳]{1}$/;
if(vehicleNumber.length === 7){
if(creg.test(vehicleNumber)===false){callback(new Error("格式错误"))}else callback();
} else if(vehicleNumber.length === 8){
if(xreg.test(vehicleNumber)===false){callback(new Error("格式错误"))}else callback();
} else{
callback(new Error("格式错误"))
}
}else callback();
}
const rules = { const rules = {
PLATE_NUMBER: [{ required: true, message: "请输入", trigger: "blur" }], PLATE_NUMBER: [
{ required: true, message: "请输入", trigger: "blur" },
{ validator: isVehicleNumber, trigger: "blur" },
],
VIN: [{ required: true, message: "请输入", trigger: "blur" }], VIN: [{ required: true, message: "请输入", trigger: "blur" }],
TRAILER_TYPE: [{ required: true, message: "请输入", trigger: "blur" }], TRAILER_TYPE: [{ required: true, message: "请输入", trigger: "blur" }],
CAR_OWNERS: [{ required: true, message: "请输入", trigger: "blur" }], CAR_OWNERS: [{ required: true, message: "请输入", trigger: "blur" }],
CAR_OWNERS_TEL: [{ required: true, message: "请输入", trigger: "blur" }], CAR_OWNERS_TEL: [
{ required: true, message: "请输入", trigger: "blur" },
{ min: 11, max: 11, message: "请输入11位手机号码", trigger: "blur" },
{
pattern:
/^(?:(?:\+|00)86)?1(?:(?:3[\d])|(?:4[5-79])|(?:5[0-35-9])|(?:6[5-7])|(?:7[0-8])|(?:8[\d])|(?:9[189]))\d{8}$/,
message: "请输入正确的手机号码",
},
],
CONTACTS: [{ required: true, message: "请输入", trigger: "blur" }], CONTACTS: [{ required: true, message: "请输入", trigger: "blur" }],
CONTACT_PHONE: [{ required: true, message: "请输入", trigger: "blur" }], CONTACT_PHONE: [
{ required: true, message: "请输入", trigger: "blur" },
{ min: 11, max: 11, message: "请输入11位手机号码", trigger: "blur" },
{
pattern:
/^(?:(?:\+|00)86)?1(?:(?:3[\d])|(?:4[5-79])|(?:5[0-35-9])|(?:6[5-7])|(?:7[0-8])|(?:8[\d])|(?:9[189]))\d{8}$/,
message: "请输入正确的手机号码",
},],
INITIAL_REGISTRATION_DATE: [{ required: true, message: "请输入", trigger: "blur" }], INITIAL_REGISTRATION_DATE: [{ required: true, message: "请输入", trigger: "blur" }],
} }
const fnGetData = async () => { const fnGetData = async () => {

View File

@ -21,9 +21,9 @@
<el-descriptions-item label-class-name="width_200" label="营运证号"> <el-descriptions-item label-class-name="width_200" label="营运证号">
{{ info.OPER_CERTIFICATE_NUM }} {{ info.OPER_CERTIFICATE_NUM }}
</el-descriptions-item> </el-descriptions-item>
<el-descriptions-item label-class-name="width_200" label="运输企业"> <!--<el-descriptions-item label-class-name="width_200" label="运输企业">-->
{{ info.TRANSPORT_ENTERPRISESNAME }} <!--{{ info.TRANSPORT_ENTERPRISESNAME }}-->
</el-descriptions-item> <!--</el-descriptions-item>-->
<el-descriptions-item label-class-name="width_200" label="归属部门"> <el-descriptions-item label-class-name="width_200" label="归属部门">
{{ info.DEPARTMENT_NAME }} {{ info.DEPARTMENT_NAME }}
</el-descriptions-item> </el-descriptions-item>