Merge branch 'dev' into report

This commit is contained in:
Zy
2026-08-20 17:34:44 +08:00
5 changed files with 70 additions and 13 deletions

View File

@@ -310,7 +310,14 @@ const rules = {
trigger: 'blur' trigger: 'blur'
} }
], ],
contactPhone: [{ required: true, message: '请输入联系方式', trigger: 'blur' }], contactPhone: [
{ required: true, message: '请输入联系方式', trigger: 'blur' },
{
validator: (_: any, value: string | number) => validator(value, 'Character'),
message: '请输入中文,字母,数字等字符',
trigger: 'blur'
}
],
coverImage: [{ required: true, message: '请上传活动封面', trigger: 'blur' }], coverImage: [{ required: true, message: '请上传活动封面', trigger: 'blur' }],
content: [{ required: true, message: '请输入内容', trigger: 'blur' }] content: [{ required: true, message: '请输入内容', trigger: 'blur' }]
}; };

View File

@@ -6,7 +6,13 @@
<el-card shadow="hover"> <el-card shadow="hover">
<el-form ref="queryFormRef" :rules="rules" :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-form-item label="项目名称" prop="itemName">
<el-input maxlength="20" v-model="queryParams.itemName" placeholder="请输入项目名称" clearable @keyup.enter.prevent="handleQuery" /> <el-input
maxlength="20"
v-model.trim="queryParams.itemName"
placeholder="请输入项目名称"
clearable
@keyup.enter.prevent="handleQuery"
/>
</el-form-item> </el-form-item>
<el-form-item> <el-form-item>
<el-button type="primary" @click="handleQuery">搜索</el-button> <el-button type="primary" @click="handleQuery">搜索</el-button>
@@ -131,12 +137,22 @@ const data = reactive<PageData<ChargeItemForm, ChargeItemQuery>>({
rules: { rules: {
itemName: [ itemName: [
{ {
validator: (_: any, value: string | number, callback: (arg0?: Error) => any) => { validator: (_: any, value: string, callback: (error?: Error) => void) => {
if (value === '' || value === undefined) { if (!value || value.trim() === '') {
return callback(); callback();
return;
} }
return !validator(value, 'fullFilterReg') ? callback() : callback(new Error('请输入正确的项目名称'));
} // 使用 Character 正则验证(只允许字母、数字、中文、下划线、横线)
const isValid = validator(value, 'Character');
if (!isValid) {
callback(new Error('只能输入中文、字母、数字、下划线和横线'));
} else {
callback();
}
},
trigger: 'blur'
} }
] ]
} }
@@ -159,13 +175,19 @@ const getList = async () => {
/** 搜索按钮操作 */ /** 搜索按钮操作 */
const handleQuery = () => { const handleQuery = () => {
queryParams.value.pageNum = 1; queryFormRef.value.validate((valid: boolean) => {
getList(); console.log(valid);
if (valid) {
queryParams.value.pageNum = 1;
getList();
}
});
}; };
/** 重置按钮操作 */ /** 重置按钮操作 */
const resetQuery = () => { const resetQuery = () => {
queryFormRef.value?.resetFields(); queryFormRef.value?.resetFields();
queryParams.value.itemName = undefined;
handleQuery(); handleQuery();
}; };

View File

@@ -59,6 +59,7 @@ import TableUnit from './components/table.vue';
import { useHouseStore } from '@/store/modules/house'; import { useHouseStore } from '@/store/modules/house';
import { listHouseUseType_add_house } from '@/api/system/houseUse'; import { listHouseUseType_add_house } from '@/api/system/houseUse';
import { addUnitNo, delUnitNo, getUnitNo, updateUnitNo } from '@/api/system/houseUnit'; import { addUnitNo, delUnitNo, getUnitNo, updateUnitNo } from '@/api/system/houseUnit';
import { validator } from '@/utils/Reg';
const { proxy } = getCurrentInstance() as ComponentInternalInstance; const { proxy } = getCurrentInstance() as ComponentInternalInstance;
@@ -94,7 +95,25 @@ const form = ref({
}); });
const rules = { const rules = {
name: [{ required: true, message: '单元名称不能为空', trigger: 'blur' }], name: [
{ required: true, message: '单元名称不能为空', trigger: 'blur' },
{
validator: (_: any, value: string, callback: (error?: Error) => void) => {
if (!value || value.trim() === '') {
callback();
return;
}
// 使用 Character 正则验证(只允许字母、数字、中文、下划线、横线)
const isValid = validator(value, 'Character');
if (!isValid) {
callback(new Error('只能输入中文、字母、数字、下划线和横线'));
} else {
callback();
}
},
trigger: 'blur'
}
],
buildingId: [{ required: true, message: '所属楼栋不能为空', trigger: 'blur' }] buildingId: [{ required: true, message: '所属楼栋不能为空', trigger: 'blur' }]
}; };
/** 新增按钮操作 */ /** 新增按钮操作 */

View File

@@ -13,7 +13,7 @@
<table border> <table border>
<tbody> <tbody>
<tr> <tr>
<td style="width: 90px;">序号</td> <td style="width: 90px">序号</td>
<td>物资名称</td> <td>物资名称</td>
<td>品牌</td> <td>品牌</td>
<td>规格型号</td> <td>规格型号</td>
@@ -48,8 +48,8 @@
<div>制单人{{ form.leader }}</div> <div>制单人{{ form.leader }}</div>
<div>仓库{{ form.warehouseName }}</div> <div>仓库{{ form.warehouseName }}</div>
<div>日期 {{ form.createTime }}</div> <div>日期 {{ form.createTime }}</div>
<div>备注 {{ form.remark }}</div>
</div> </div>
<div class="formark">备注 {{ form.remark }}</div>
</div> </div>
</div> </div>
</div> </div>
@@ -161,10 +161,14 @@ const cancelForm = () => {
.foorter { .foorter {
display: grid; display: grid;
grid-template-columns: repeat(3, 1fr); grid-template-columns: repeat(3, 1fr);
width: 85%; width: 100%;
gap: 30px; gap: 30px;
margin: 30px auto 0; margin: 30px auto 0;
} }
.formark {
font-size: smaller;
margin-top: 10px;
}
} }
} }
</style> </style>

View File

@@ -166,15 +166,20 @@ function handleChangeitem(row: MaterialVO[]) {
.map((item) => { .map((item) => {
if (!item.id) return null; if (!item.id) return null;
const find = form.value.items.find((i) => i.id === item.id); const find = form.value.items.find((i) => i.id === item.id);
console.log(item, find);
if (find || form.value.items.length <= 0) { if (find || form.value.items.length <= 0) {
return { return {
...item, ...item,
costPrice: 0,
inNum: 0,
materialId: item.id, materialId: item.id,
...find ...find
}; };
} else { } else {
return { return {
...item, ...item,
costPrice: 0,
inNum: 0,
materialId: item.id materialId: item.id
}; };
} }