8/6 校验问题

This commit is contained in:
Zy
2026-08-06 09:09:53 +08:00
parent 494b7869ea
commit 40196737d3
23 changed files with 242 additions and 106 deletions

View File

@@ -80,6 +80,7 @@ import { ref } from 'vue';
import PageHeader from '@/components/Pageheader/index.vue';
import { getChargeItem, updateChargeItem, addChargeItem } from '@/api/system/SdbChargeItem';
import { listChargeType } from '@/api/system/ChargeType';
import { validator } from '@/utils/Reg';
const { proxy } = getCurrentInstance() as ComponentInternalInstance;
const { com_charge_item_unit } = toRefs<any>(proxy?.useDict('com_charge_item_unit'));
@@ -105,7 +106,17 @@ const form = ref({
'formula': ''
});
const rules = ref({
itemName: [{ required: true, message: '请输入 项目名称', trigger: 'blur' }],
itemName: [
{ required: true, message: '请输入 项目名称', trigger: 'blur' },
{
validator: (_: any, value: string | number, callback: (arg0?: Error) => any) => {
if (value === '' || value === undefined) {
return callback(new Error('请输入项目名称'));
}
return !validator(value, 'fullFilterReg') ? callback() : callback(new Error('请输入正确的项目名称'));
}
}
],
typeId: [{ required: true, message: '请选择 收费类型', trigger: 'blur' }],
billingType: [{ required: true, message: '请输入 计费方式', trigger: 'blur' }],
fixedPrice: [

View File

@@ -4,7 +4,7 @@
<transition :enter-active-class="proxy?.animate.searchAnimate.enter" :leave-active-class="proxy?.animate.searchAnimate.leave">
<div v-show="showSearch" class="mb-[10px]">
<el-card shadow="hover">
<el-form ref="queryFormRef" :model="queryParams" :inline="true" @submit.prevent="handleQuery">
<el-form ref="queryFormRef" :rules="rules" :model="queryParams" :inline="true" @submit.prevent="handleQuery">
<el-form-item label="项目名称" prop="itemName">
<el-input maxlength="20" v-model="queryParams.itemName" placeholder="请输入项目名称" clearable @keyup.enter.prevent="handleQuery" />
</el-form-item>
@@ -99,6 +99,7 @@ import DictTag from '@/components/DictTag/index.vue';
import { listChargeItem, delChargeItem, updateChargeItem } from '@/api/system/SdbChargeItem';
import { ChargeItemVO, ChargeItemQuery, ChargeItemForm } from '@/api/system/SdbChargeItem/type';
import { checkPermi } from '@/utils/permission';
import { validator } from '@/utils/Reg';
const { proxy } = getCurrentInstance() as ComponentInternalInstance;
const { com_charge_item_method } = toRefs<any>(proxy?.useDict('com_charge_item_method'));
@@ -128,10 +129,21 @@ const data = reactive<PageData<ChargeItemForm, ChargeItemQuery>>({
pageSize: 10,
itemName: undefined
},
rules: {}
rules: {
itemName: [
{
validator: (_: any, value: string | number, callback: (arg0?: Error) => any) => {
if (value === '' || value === undefined) {
return callback();
}
return !validator(value, 'fullFilterReg') ? callback() : callback(new Error('请输入正确的项目名称'));
}
}
]
}
});
const { queryParams } = toRefs(data);
const { queryParams, rules } = toRefs(data);
/** 查询收费项目管理列表 */
const getList = async () => {