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'
}
],
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' }],
content: [{ required: true, message: '请输入内容', trigger: 'blur' }]
};

View File

@@ -6,7 +6,13 @@
<el-card shadow="hover">
<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-input
maxlength="20"
v-model.trim="queryParams.itemName"
placeholder="请输入项目名称"
clearable
@keyup.enter.prevent="handleQuery"
/>
</el-form-item>
<el-form-item>
<el-button type="primary" @click="handleQuery">搜索</el-button>
@@ -131,12 +137,22 @@ const data = reactive<PageData<ChargeItemForm, ChargeItemQuery>>({
rules: {
itemName: [
{
validator: (_: any, value: string | number, callback: (arg0?: Error) => any) => {
if (value === '' || value === undefined) {
return callback();
validator: (_: any, value: string, callback: (error?: Error) => void) => {
if (!value || value.trim() === '') {
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 = () => {
queryFormRef.value.validate((valid: boolean) => {
console.log(valid);
if (valid) {
queryParams.value.pageNum = 1;
getList();
}
});
};
/** 重置按钮操作 */
const resetQuery = () => {
queryFormRef.value?.resetFields();
queryParams.value.itemName = undefined;
handleQuery();
};

View File

@@ -59,6 +59,7 @@ import TableUnit from './components/table.vue';
import { useHouseStore } from '@/store/modules/house';
import { listHouseUseType_add_house } from '@/api/system/houseUse';
import { addUnitNo, delUnitNo, getUnitNo, updateUnitNo } from '@/api/system/houseUnit';
import { validator } from '@/utils/Reg';
const { proxy } = getCurrentInstance() as ComponentInternalInstance;
@@ -94,7 +95,25 @@ const form = ref({
});
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' }]
};
/** 新增按钮操作 */

View File

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

View File

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