8/19 账单-时间类型-自然/滚动

This commit is contained in:
Zy
2026-08-19 09:27:48 +08:00
parent 3fa96351d7
commit 406cf90db5
29 changed files with 442 additions and 120 deletions

View File

@@ -236,7 +236,7 @@ const rules = ref({
if (val === '' || val === null || val === undefined) {
return callback(new Error('请输入名称'));
}
return validator(val, 'ChineseName') ? callback() : callback(new Error('请输入中文字符'));
return validator(val, 'Character') ? callback() : callback(new Error('请输入正确的名称'));
}
}
],
@@ -320,7 +320,7 @@ const rules = ref({
const userid = ref(null);
const treeData = ref(null);
const houseFacilities = ref([]);
// !== 楼栋房屋 =============================================================================╬
// !== 楼栋房屋 =============================================================================
async function getTreeData() {
const resList = await listHouseFacilities();
houseFacilities.value = resList.rows
@@ -358,13 +358,12 @@ getHouseUseType();
function handleChange(val: CascaderValue) {
userHousePath.value = val;
form.value.houseId = val[2];
form.value.rentalName = '';
if (val[2]) {
getHouseOwnUser(val[2]).then((res) => {
if (res.msg.trim()) {
if (res.msg && res.msg.trim()) {
form.value.rentalName = res.msg.trim();
} else {
form.value.rentalName = '';
form.value.rentalName = undefined;
}
});
}
@@ -382,7 +381,7 @@ const handleAvatarSuccess: UploadProps['onSuccess'] = (response) => {
};
const blockedExits = ['.exe', '.bat', '.cmd', '.msi'];
const allowExits = ['.bmp", ".gif", ".jpg", ".jpeg", ".png'];
const allowExits = ['.bmp', '.gif', '.jpg', '.jpeg', '.png'];
const handleChangeFile = (uploadFile: UploadFile, uploadFiles: UploadFiles) => {
const ext = uploadFile.name.toLowerCase().slice(uploadFile.name.lastIndexOf('.'));
if (blockedExits.includes(ext)) {

View File

@@ -150,7 +150,6 @@ async function init() {
HouseInfo.value.houseImageUrls = HouseInfo.value.houseImageUrl.split(',').filter((item) => item);
});
}
//.╬
init();
function handlefacilities(id: string) {

View File

@@ -130,6 +130,20 @@
placeholder="请选择租赁终止日"
/>
</el-form-item>
<el-form-item label="租金" prop="rentAmount">
<el-input maxlength="8" v-model.trim.number="form.rentAmount" placeholder="请输入租金">
<template #append>
<span>元/月</span>
</template>
</el-input>
</el-form-item>
<el-form-item label="押金" prop="depositAmount">
<el-input maxlength="8" v-model.trim.number="form.depositAmount" placeholder="请输入押金">
<template #append>
<span>元</span>
</template>
</el-input>
</el-form-item>
<el-form-item label="合同附件">
<el-upload
accept=".png,.jpg,.jpeg, .pdf"
@@ -145,6 +159,7 @@
:on-preview="handlePreview"
:auto-upload="false"
drag
style="width: 100%"
:action="uploadApi"
>
<el-icon class="el-icon--upload"><upload-filled /></el-icon>
@@ -207,6 +222,8 @@ type HouseRentalFormType = HouseRentalSigningVO & {
const initFormData: HouseRentalFormType = {
contractName: '',
rentAmount: undefined,
depositAmount: undefined,
'createTime': undefined,
'id': undefined,
'rentalId': undefined,
@@ -275,7 +292,9 @@ const data = reactive<PageData<HouseRentalFormType, HouseRentalQuery>>({
leaseEndDate: [{ required: true, message: '请选择租赁终止日', trigger: 'change' }],
houseId: [{ required: true, message: '请选择房屋', trigger: 'change' }],
villageId: [{ required: true, message: '请选择小区', trigger: 'change' }],
houseArea: [{ required: true, message: '请输入房屋面积', trigger: 'blur' }]
houseArea: [{ required: true, message: '请输入房屋面积', trigger: 'blur' }],
rentAmount: [{ required: true, message: '请输入租金', trigger: 'blur' }],
depositAmount: [{ required: true, message: '请输入押金', trigger: 'blur' }]
}
});
@@ -294,7 +313,7 @@ const getList = async () => {
});
};
/** 取消按钮╬ */
/** 取消按钮 */
const cancel = () => {
reset();
dialog.visible = false;
@@ -394,14 +413,20 @@ function sign(row: HouseRentalVO) {
form.value.rentalId = row.id;
if (row.signingList && row.signingList.length > 0) {
const names = row.signingList[0].contractName ? row.signingList[0].contractName.split(',') : [];
showImgList.value = row.signingList[0].contractUrl.split(',').map((item, index) => {
return {
uid: index,
name: names[index] || item.split('.com/')[1].split('/')[3],
url: item,
isLink: true
};
});
const list = row.signingList[0].contractUrl ? row.signingList[0].contractUrl.split(',') : [];
console.log(list);
if (list.length > 0) {
showImgList.value = list.map((item, index) => {
return {
uid: index,
name: names[index] || item ? item.split('.com/')[1].split('/')[3] : '',
url: item,
isLink: true
};
});
} else {
showImgList.value = [];
}
} else {
showImgList.value = [];
}
@@ -459,6 +484,8 @@ function submitForm() {
const arr = await uploadAllCarousel();
// 拼接最终图片字符串
form.value.contractUrl = arr.join(',');
form.value.rentAmount = String(form.value.rentAmount) || 0;
form.value.depositAmount = String(form.value.depositAmount) || 0;
HouseRedientSign(form.value).then(() => {
proxy?.$modal.msgSuccess('操作成功');
getList();