7/30 限制前端输入字数

This commit is contained in:
Zy
2026-07-30 17:59:32 +08:00
parent 903c92fef0
commit 2907f9202c
115 changed files with 2561 additions and 1213 deletions

View File

@@ -5,49 +5,34 @@
<div class="title">基本信息</div>
<div class="addBuildingFormBody">
<el-form class="formBody" label-position="left" ref="formRef" :model="form" :rules="rules" label-width="130px">
<!-- <el-row>
<el-col :span="11">
<el-form-item label="车辆区域" prop="areaId">
<el-select @change="changeAreaList" v-model="form.areaId" placeholder="请选择车辆区域">
<el-option v-for="item in carAreaList" :key="item.id" :label="`${item.areaName}(${item.areaCode})`" :value="item.id" />
</el-select>
</el-form-item>
</el-col>
<el-col :span="2"></el-col>
<el-col :span="11">
<el-form-item label="车位编号" prop="parkingId">
<el-select v-model="form.parkingId" placeholder="请选择车位编号">
<el-option v-for="item in parkingList" :key="item.id" :label="item.parkingCode" :value="item.id" />
</el-select>
</el-form-item>
</el-col>
</el-row> -->
<el-row>
<el-col :span="11">
<el-form-item label="车牌号" prop="carNum" :validate-event="false">
<!-- <el-input v-model.trim="form.carNum" placeholder="请输入车牌号" /> -->
<LicensePlateInput ref="carNumInputRef" required v-model="form.carNum" @change="() => handleValidate()" />
<el-input
maxlength="10"
v-model.trim="form.carNum"
placeholder="请输入车牌号"
style="text-transform: uppercase; letter-spacing: 2px"
/>
</el-form-item>
</el-col>
<el-col :span="2"></el-col>
<el-col :span="11">
<el-form-item label="车辆品牌" prop="carBrand">
<el-input v-model.trim="form.carBrand" placeholder="请输入车辆品牌" />
<el-input maxlength="12" v-model.trim="form.carBrand" placeholder="请输入车辆品牌" />
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="11">
<el-form-item label="车辆型号" prop="carModel">
<el-input v-model.trim="form.carModel" placeholder="请输入补充车辆型号" />
<el-input maxlength="12" v-model.trim="form.carModel" placeholder="请输入补充车辆型号" />
</el-form-item>
</el-col>
<el-col :span="2"></el-col>
<el-col :span="11">
<el-form-item label="车身颜色" prop="carColor">
<el-input v-model.trim="form.carColor" placeholder="请输入车身颜色" />
<el-input maxlength="12" v-model.trim="form.carColor" placeholder="请输入车身颜色" />
</el-form-item>
</el-col>
</el-row>
@@ -62,6 +47,7 @@
name="file"
:headers="headerToken()"
:show-file-list="false"
:limit="1"
:on-success="handleAvatarSuccess"
:before-upload="beforeAvatarUpload"
>
@@ -98,7 +84,7 @@
<el-row>
<el-col :span="24">
<el-form-item label="备注" prop="remark">
<el-input type="textarea" :rows="5" v-model.trim="form.remark" placeholder="请输入" />
<el-input maxlength="200" show-word-limit type="textarea" :rows="5" v-model.trim="form.remark" placeholder="请输入" />
</el-form-item>
</el-col>
</el-row>
@@ -114,7 +100,6 @@
<script setup lang="ts">
import { ref } from 'vue';
import LicensePlateInput from '@/components/LicensePlateInput/index.vue';
import Holder from '@/components/Holder/index.vue';
import PageHeader from '@/components/Pageheader/index.vue';
import { listArea } from '@/api/system/carArea';
@@ -124,6 +109,7 @@ import { addCar, getCar, updateCar } from '@/api/system/cars';
import { useUserStore } from '@/store/modules/user';
import AppUser from '@/components/Holder/appUser.vue';
import { Plus } from '@element-plus/icons-vue';
import { LicensePlateValidator2 } from '@/utils/Reg2';
const uploadUrl = import.meta.env.VITE_APP_BASE_API + '/car/uploadImage';
@@ -154,6 +140,20 @@ const rules = ref({
required: true,
message: '请输入车牌号码',
trigger: ['blur']
},
{
validator: (_: any, value: string, callback: any) => {
if (!value) {
callback(new Error('请输入车牌号'));
return;
}
if (!LicensePlateValidator2.isValidPlate(value)) {
callback(new Error('请输入正确的车牌号'));
return;
}
callback();
},
trigger: 'blur'
}
],
carBrand: [{ required: false, message: '请输入车辆品牌', trigger: 'blur' }]