9/2 禅道问题

This commit is contained in:
Zy
2026-09-02 17:32:15 +08:00
parent de4bae3bc1
commit e8564269b0
45 changed files with 1036 additions and 927 deletions

View File

@@ -117,6 +117,7 @@
<el-form-item label="租赁起始日" prop="leaseStartDate">
<el-date-picker
v-model.trim="form.leaseStartDate"
:disabled-date="disabledStartDate"
format="YYYY-MM-DD"
placeholder="请选择租赁起始日"
style="width: 100%"
@@ -127,6 +128,7 @@
<el-form-item label="租赁终止日" prop="leaseEndDate">
<el-date-picker
v-model.trim="form.leaseEndDate"
:disabled-date="disabledEndDate"
format="YYYY-MM-DD"
placeholder="请选择租赁终止日"
style="width: 100%"
@@ -306,6 +308,33 @@ const data = reactive<PageData<HouseRentalFormType, HouseRentalQuery>>({
const { queryParams, form, rules } = toRefs(data);
/** 获取今日零点时间戳 */
const todayStart = new Date();
todayStart.setHours(0, 0, 0, 0);
const TODAY = todayStart.getTime();
/**
* 起始日禁用规则:
* 1. 今日之前不可选
* 2. 若已选结束日,则结束日之后不可选
*/
function disabledStartDate(date: Date): boolean {
if (date.getTime() < TODAY) return true;
if (!form.value.leaseEndDate) return false;
return date.getTime() > new Date(form.value.leaseEndDate).getTime();
}
/**
* 结束日禁用规则:
* 1. 今日之前不可选
* 2. 若已选起始日,则起始日之前不可选
*/
function disabledEndDate(date: Date): boolean {
if (date.getTime() < TODAY) return true;
if (!form.value.leaseStartDate) return false;
return date.getTime() < new Date(form.value.leaseStartDate).getTime();
}
/** 查询房屋租赁管理列表 */
const getList = async () => {
loading.value = true;
@@ -455,6 +484,12 @@ const handleExceed = () => {
ElMessage.warning(`最多只能上传 ${MAX_UPLOAD_FILES} 个附件`);
};
const handleChange = (file: UploadUserFile) => {
// 过滤上传文件-只允许图片,pdf格式
if (!/^\.(jpg|jpeg|png|gif|pdf)$/i.test(file.name)) {
ElMessage.warning('只允许上传图片,pdf格式');
uploadRef.value?.handleRemove(file);
return;
}
// 实时判断当前已存在图片总数
if (showImgList.value.length > MAX_UPLOAD_FILES) {
ElMessage.warning(`最多上传${MAX_UPLOAD_FILES}个附件,无法继续添加`);
@@ -463,6 +498,7 @@ const handleChange = (file: UploadUserFile) => {
return;
}
};
// 批量上传校验图片数量,前后端数量匹配校验
const uploadAllCarousel = async () => {
const filterArr = showImgList.value.filter((item) => {