8/13,收银台-缴费周期,时间拆分

This commit is contained in:
Zy
2026-08-13 17:43:19 +08:00
parent de2b0fec48
commit 28959cff23
4 changed files with 59 additions and 42 deletions

View File

@@ -9,9 +9,9 @@ VITE_APP_ENV='development'
# 开发环境
VITE_APP_BASE_API='/dev-api'
# # 开发环境 接口代理地址
#VITE_APP_PROXY_API='http://192.168.1.222:8080'
VITE_APP_PROXY_API='http://192.168.1.222:8080'
# 开发环境 接口代理地址
VITE_APP_PROXY_API='http://192.168.1.6:8080'
#VITE_APP_PROXY_API='http://192.168.1.6:8080'
# 图片基础地址
VITE_IMG_URL='http://192.168.1.222:8080'

View File

@@ -23,6 +23,8 @@ const reg = {
passport: /^[EG]\d{8}$/,
/** 港澳通行证 */
hongkongPassport: /^[CHMW]\d{8}$/,
/** 微信 */
vx: /^[a-zA-Z][a-zA-Z0-9_-]{5,19}$/,
/** 年龄 */
age: /^[0-9]\d{0,2}$/,
/** 数字 */

View File

@@ -40,17 +40,23 @@
></el-option>
</el-select>
</el-form-item>
<el-form-item label="缴费周期" prop="chargePeriod">
<el-form-item label="缴费周期">
<el-date-picker
v-model="chargePeriod"
type="daterange"
v-model="queryParams.startDate"
type="date"
format="YYYY-MM-DD"
value-format="YYYY-MM-DD"
range-separator=""
start-placeholder="开始日期"
@clear="handleClearChargePeriod"
end-placeholder="结束日期"
placeholder="请选择缴费日期"
@clear="handleClearChargePeriod('start')"
placeholder="请选择开始缴费日期"
/>
<el-date-picker
v-model="queryParams.endDate"
type="date"
format="YYYY-MM-DD"
value-format="YYYY-MM-DD"
@clear="handleClearChargePeriod('end')"
style="margin-left: 10px"
placeholder="请选择结束缴费日期"
/>
</el-form-item>
<el-form-item label="房屋分类" prop="houseUseTypeId">
@@ -58,17 +64,23 @@
<el-option v-for="item in houseUseTypeList" :key="item.id" :label="item.name" :value="item.id" />
</el-select>
</el-form-item>
<el-form-item label="缴费时间" prop="payTime">
<el-form-item label="缴费时间">
<el-date-picker
v-model="payTime"
type="datetimerange"
v-model="queryParams.payTimeBegin"
type="datetime"
format="YYYY-MM-DD HH:mm:ss"
value-format="YYYY-MM-DD HH:mm:ss"
range-separator=""
start-placeholder="开始日期"
@clear="handleClearPayTime"
end-placeholder="结束日期"
placeholder="请选择缴费日期"
@clear="handleClearPayTime('payTimeBegin')"
placeholder="请选择开始缴费时间"
/>
<el-date-picker
v-model="queryParams.payTimeEnd"
type="datetime"
format="YYYY-MM-DD HH:mm:ss"
value-format="YYYY-MM-DD HH:mm:ss"
@clear="handleClearPayTime('payTimeEnd')"
style="margin-left: 10px"
placeholder="请选择结束缴费时间"
/>
</el-form-item>
<el-form-item label="业主姓名" prop="residentName">
@@ -134,7 +146,7 @@
</div>
</template>
</el-table-column>
<el-table-column label="数量" width="80" align="center" prop="quantity">
<el-table-column label="数量" width="85" align="center" prop="quantity">
<template #default="scope">
<span>{{ scope.row.quantity }}</span>
</template>
@@ -482,8 +494,6 @@ const queryParams = ref({
unitNoId: undefined,
// 房屋id
houseId: undefined,
// 缴费周期
chargePeriod: undefined,
// 房屋类型id
houseUseTypeId: undefined,
// 缴费时间
@@ -503,11 +513,6 @@ const queryParams = ref({
endDate: undefined
});
// 缴费周期
const chargePeriod = ref([]);
// 缴费时间
const payTime = ref([]);
const villageList = ref<communitylist_rows_type[]>([]); // 小区列表
const buildingList = ref<BuildingVo[]>([]); // 楼栋列表
const unitList = ref<BuildingUnitlist[]>([]); // 单元列表
@@ -578,21 +583,20 @@ function handleChangeUnit(val: string) {
function handleChangeHouseNo() {}
// 清空缴费时间
function handleClearPayTime() {
payTime.value = [];
function handleClearPayTime(type: 'payTimeBegin' | 'payTimeEnd') {
queryParams.value[type] = undefined;
}
// 清空缴费周期
function handleClearChargePeriod() {
chargePeriod.value = [];
function handleClearChargePeriod(type: 'start' | 'end' = 'start') {
if (type === 'start') {
queryParams.value.startDate = undefined;
} else {
queryParams.value.endDate = undefined;
}
}
// 获取列表
function getList() {
loading.value = true;
queryParams.value.payTimeBegin = payTime.value[0] ? payTime.value[0] : undefined;
queryParams.value.payTimeEnd = payTime.value[1] ? payTime.value[1] : undefined;
queryParams.value.startDate = chargePeriod.value[0] ? chargePeriod.value[0] : undefined;
queryParams.value.endDate = chargePeriod.value[1] ? chargePeriod.value[1] : undefined;
billQuery(queryParams.value)
.then((res) => {
tableData.value = res.rows;
@@ -612,10 +616,8 @@ const handleQuery = () => {
/** 重置按钮操作 */
const resetQuery = () => {
queryFormRef.value?.resetFields();
payTime.value = [];
chargePeriod.value = [];
queryParams.value = {
chargePeriod: undefined,
startDate: undefined,
payTime: undefined,
pageNum: 1,
pageSize: 20,
@@ -630,7 +632,6 @@ const resetQuery = () => {
residentName: undefined,
payTimeBegin: undefined,
payTimeEnd: undefined,
startDate: undefined,
endDate: undefined
};
queryParams.value.villageId = villageId;
@@ -877,7 +878,7 @@ const closer = () => {
};
// 提交
const submitForm = () => {
if (!handlePayListIsEmpt()) {
if (!handlePayListIsEmpty()) {
ElMessage.warning('请填写完整支付方式和支付金额');
return;
}
@@ -1149,7 +1150,7 @@ function handleChangePay(val: string, index: number = -1) {
}
}
function handlePayListIsEmpt() {
function handlePayListIsEmpty() {
if (payList.value.length === 0) {
ElMessage.warning('请添加支付方式');
return false;

View File

@@ -156,7 +156,7 @@
<el-col :span="2"></el-col>
<el-col :span="11">
<el-form-item label="微信" prop="vx">
<el-input maxlength="11" v-model.trim="form.vx" placeholder="请输入微信号码" />
<el-input maxlength="20" v-model.trim="form.vx" placeholder="请输入微信号码" />
</el-form-item>
</el-col>
</el-row>
@@ -279,6 +279,20 @@ const rules = ref({
}
}
],
vx: [
{ required: false, message: '请输入微信号码', trigger: 'blur' },
{
validator: (_: any, value: string | number, callback: (arg0?: Error) => void) => {
if (value === '' || value === null || value === 0) {
return callback();
}
if (validator(value, 'vx')) {
return callback(new Error('请输入正确的微信号码'));
}
return callback();
}
}
],
houseArea: [
{
required: false,