This commit is contained in:
Zy
2026-09-20 08:57:53 +08:00
parent 292ee1a6dd
commit f6a7eb1b4e
41 changed files with 864 additions and 608 deletions

View File

@@ -7,39 +7,39 @@
<el-button v-if="HouseInfo.house" v-has-permi="['system:house:edit']" text type="primary" @click="editHouse">编辑</el-button>
</div>
<div v-if="HouseInfo.house" class="addBuildingFormBody">
<div class="descriptionsbox">
<div class="descriptionsBox">
<div class="label">房号:</div>
<div class="value">{{ HouseInfo.house?.buildingName }}-{{ HouseInfo.house?.unitNoName }}-{{ HouseInfo.house?.houseNo ?? '--' }}</div>
</div>
<div class="descriptionsbox">
<div class="descriptionsBox">
<div class="label">所属小区:</div>
<div class="value">{{ HouseInfo.house?.villageName ?? '--' }}</div>
</div>
<div class="descriptionsbox">
<div class="descriptionsBox">
<div class="label">楼栋:</div>
<div class="value">{{ HouseInfo.house?.buildingName ?? '--' }}</div>
</div>
<div class="descriptionsbox">
<div class="descriptionsBox">
<div class="label">单元:</div>
<div class="value">{{ HouseInfo.house?.unitNoName ?? '--' }}</div>
</div>
<div class="descriptionsbox">
<div class="descriptionsBox">
<div class="label">楼层:</div>
<div class="value">{{ HouseInfo.house?.floorNo ? HouseInfo.house?.floorNo + ' 层' : '--' }}</div>
</div>
<div class="descriptionsbox">
<div class="descriptionsBox">
<div class="label">建筑面积:</div>
<div class="value">{{ HouseInfo.house?.houseArea ? `${HouseInfo.house?.houseArea} ㎡` : '--' }}</div>
</div>
<div class="descriptionsbox">
<div class="descriptionsBox">
<div class="label">套内面积:</div>
<div class="value">{{ HouseInfo.house?.internalArea ? `${HouseInfo.house?.internalArea} ㎡` : '--' }}</div>
</div>
<div class="descriptionsbox">
<div class="descriptionsBox">
<div class="label">公摊面积:</div>
<div class="value">{{ HouseInfo.house?.shareArea ? `${HouseInfo.house?.shareArea} ㎡` : '--' }}</div>
</div>
<div class="descriptionsbox">
<div class="descriptionsBox">
<div class="label">户型:</div>
<div class="value">
{{ HouseInfo.house?.houseType ? HouseInfo.house?.houseType.split('')[0] : '--' }}室
@@ -60,31 +60,31 @@
</div>
<div v-if="HouseInfo.storeroom" class="">
<div class="addBuildingFormBody">
<div class="descriptionsbox">
<div class="descriptionsBox">
<div class="label">楼栋:</div>
<div class="value">{{ HouseInfo.storeroom?.buildingName ?? '--' }}</div>
</div>
<div class="descriptionsbox">
<div class="descriptionsBox">
<div class="label">单元:</div>
<div class="value">{{ HouseInfo.storeroom?.unitNoName ? `${HouseInfo.storeroom?.unitNoName} 单元` : '--' }}</div>
</div>
<div class="descriptionsbox">
<div class="descriptionsBox">
<div class="label">储藏室号:</div>
<div class="value">{{ HouseInfo.storeroom?.storeroomNo ? `${HouseInfo.storeroom?.storeroomNo}` : '--' }}</div>
</div>
<div class="descriptionsbox">
<div class="descriptionsBox">
<div class="label">建筑面积:</div>
<div class="value">{{ HouseInfo.storeroom?.houseArea ? HouseInfo.storeroom?.houseArea + ' ㎡' : '--' }}</div>
</div>
<div class="descriptionsbox">
<div class="descriptionsBox">
<div class="label">公摊面积:</div>
<div class="value">{{ HouseInfo.storeroom?.shareArea ? HouseInfo.storeroom?.shareArea + ' ㎡' : '--' }}</div>
</div>
<div class="descriptionsbox">
<div class="descriptionsBox">
<div class="label">实用面积:</div>
<div class="value">{{ HouseInfo.storeroom?.internalArea ? HouseInfo.storeroom?.internalArea + ' ㎡' : '--' }}㎡</div>
</div>
<div class="descriptionsbox" style="grid-column-start: 1; grid-column-end: 4">
<div class="descriptionsBox" style="grid-column-start: 1; grid-column-end: 4">
<div class="label">备注:</div>
<div class="value">{{ HouseInfo.storeroom?.remark ?? '--' }}</div>
</div>
@@ -141,12 +141,12 @@
<el-table-column label="收费项目" prop="itemName" />
<el-table-column label="收费标准" prop="name">
<template #default="scope">
<div class="flex">
<div v-if="scope.row.fixedPrice" class="flex">
<span>{{ scope.row.fixedPrice }}</span>
<span v-if="scope.row.fixedPrice && scope.row.unit">/</span>
<span v-else>---</span>
<dict-tag :options="com_charge_item_unit" :value="scope.row.unit"></dict-tag>
<span v-if="scope.row.unit">/</span>
<dict-tag v-if="scope.row.unit" :options="com_charge_item_unit" :value="scope.row.unit"></dict-tag>
</div>
<span v-else> --- </span>
</template>
</el-table-column>
<el-table-column label="开始时间" prop="createTime" />
@@ -178,7 +178,7 @@
<DictTag :options="com_resident_relationship" :value="scope.row.ownerRelationship"></DictTag>
</template>
</el-table-column>
<el-table-column label="备注" prop="name" />
<el-table-column label="备注" prop="remark" show-overflow-tooltip />
</el-table>
</div>
</div>
@@ -188,19 +188,16 @@
<span>缴费账单</span>
</div>
<div>
<el-table :data="HouseInfo.billResidentList" style="width: 100%">
<el-table-column label="账单编号" prop="billCode" />
<el-table-column label="账单名称" prop="billName" />
<el-table-column label="账单项目" prop="chargeTypeName" />
<el-table :data="billList" style="width: 100%">
<el-table-column label="账单名称" prop="detailsName" />
<el-table-column label="账单项目" prop="chargeItemName" />
<el-table-column label="金额" prop="money">
<template #default="scope">
<span v-if="scope.row.chargeTypeName === '水费' || scope.row.chargeTypeName === '电费'">--</span>
<span v-else>{{ scope.row.money }}</span>
<span>{{ scope.row.amount }}</span>
</template>
</el-table-column>
<el-table-column label="支付状态" prop="payStatus">
<template #default="scope">
<span v-if="scope.row.chargeTypeName === '水费' || scope.row.chargeTypeName === '电费'">--</span>
<DictTag :options="com_pay_status" :value="scope.row.payStatus ?? 0"></DictTag>
</template>
</el-table-column>
@@ -214,7 +211,8 @@
import { ref } from 'vue';
import DictTag from '@/components/DictTag/index.vue';
import PageHeader from '@/components/Pageheader/index.vue';
import { Data, getHouseMain } from '@/api/system/house';
import { Data, getHouseMain, House } from '@/api/system/house';
import { billlistType, billQuery } from '@/api/system/SdbCashier';
const { proxy } = getCurrentInstance() as ComponentInternalInstance;
const { com_resident_relationship } = toRefs<any>(proxy?.useDict('com_resident_relationship'));
@@ -226,7 +224,7 @@ const { com_charge_item_unit } = toRefs<any>(proxy?.useDict('com_charge_item_uni
const route = useRoute();
const router = useRouter();
const routeid = ref('');
let routeId = '';
const HouseInfo = ref<Data>({
billResidentList: [],
chargeItemList: [],
@@ -263,13 +261,35 @@ function handleEditUser(id: string) {
}
function init() {
if (route.query.id) {
routeid.value = route.query.id as string;
getHouseMain(routeid.value).then((res) => {
routeId = route.query.id as string;
getHouseMain(routeId).then((res) => {
HouseInfo.value = res.data;
getBillByHouse(res.data.house);
});
}
}
init();
const billList = ref<billlistType[]>([]);
const queryParams = ref({
pageSize: 10,
pageNum: 1
});
const total = ref(0);
function getBillByHouse(info: House) {
const obj = {
buildingId: info.buildingId,
houseId: info.houseId,
pageNum: queryParams.value.pageNum,
pageSize: queryParams.value.pageSize,
unitNoId: info.unitNoId,
payStatus: null,
villageId: info.villageId
};
billQuery(obj).then((res) => {
billList.value = res.rows;
total.value = res.total;
});
}
</script>
<style lang="scss" scoped>
@@ -300,10 +320,10 @@ init();
display: grid;
grid-template-columns: repeat(3, 1fr);
grid-template-rows: repeat(3, 1fr);
&.remarkbuildingformbody {
&.remarkBuildingFormBody {
display: block;
}
.descriptionsbox {
.descriptionsBox {
display: flex;
align-items: center;
margin: 10px 0;