From 4efa964eede86720346feb454f5bb3c20d24d901 Mon Sep 17 00:00:00 2001
From: shuishen <1109946754@qq.com>
Date: Mon, 30 Oct 2023 17:07:22 +0800
Subject: [PATCH] 楼盘表相关页面
---
subPackage/house/roomDetails/index.vue | 249 ++++++++++++++++++++
pages.json | 36 +++
static/margin.css | 4
subPackage/house/family/index.vue | 310 +++++++++++++++++++++++++
subPackage/house/list/index.vue | 83 ++++++
5 files changed, 682 insertions(+), 0 deletions(-)
diff --git a/pages.json b/pages.json
index 205afdf..acbbe3d 100644
--- a/pages.json
+++ b/pages.json
@@ -435,8 +435,44 @@
}
]
+ },
+
+
+ // 楼栋管理
+ {
+ "root": "subPackage/house",
+ "pages": [{
+ "path": "list/index",
+ "style": {
+ "navigationBarTitleText": "楼栋列表",
+ "navigationBarBackgroundColor": "#5887f9",
+ "navigationBarTextStyle": "white",
+ "enablePullDownRefresh": false
+ }
+ },
+ {
+ "path": "family/index",
+ "style": {
+ "navigationBarTitleText": "楼盘",
+ "navigationBarBackgroundColor": "#5887f9",
+ "navigationBarTextStyle": "white",
+ "enablePullDownRefresh": false
+ }
+ },
+ {
+ "path": "roomDetails/index",
+ "style": {
+ "navigationBarTitleText": "房屋详情",
+ "navigationBarBackgroundColor": "#5887f9",
+ "navigationBarTextStyle": "white",
+ "enablePullDownRefresh": false
+ }
+ }
+
+ ]
}
+
],
"globalStyle": {
"navigationBarTextStyle": "black",
diff --git a/static/margin.css b/static/margin.css
index f17a34d..cdf34c3 100644
--- a/static/margin.css
+++ b/static/margin.css
@@ -59,6 +59,10 @@
margin-top: 20rpx;
}
+.mt-40 {
+ margin-top: 40rpx;
+}
+
.mt-55 {
margin-top: 55rpx;
}
diff --git a/subPackage/house/family/index.vue b/subPackage/house/family/index.vue
new file mode 100644
index 0000000..e3fd773
--- /dev/null
+++ b/subPackage/house/family/index.vue
@@ -0,0 +1,310 @@
+<template>
+ <view class="container">
+ <view class="flex f-d-c main">
+ <view class="cur-header">
+ <u-icon name="home" color="#fff"></u-icon>
+ {{housingName}}/{{buildingName}}栋
+ </view>
+ <view class="h0 flex-1 build-list-box">
+ <u-collapse :border="false">
+ <u-collapse-item style="border: none;" :title="item.unitName" :name="index"
+ v-for="(item, index) in buildingList" :key="index">
+ <view class="flex floor-content" v-for="(floor, floorIndex) in item.floorList"
+ :key="floorIndex">
+ <view class="floor-num-box flex a-i-c j-c-c">
+ {{floor.floorName}}
+ </view>
+ <view class="room-content">
+ <u-grid class="flex flex-wrap" col="2" :border="true">
+ <u-grid-item v-for="(family, familyIndex) in floor.familyList" :key="familyIndex">
+ <view class="room-box flex f-d-c">
+
+ <view class="flex a-i-c j-c-s-b" v-show="family.resideStatus">
+ <view class="l">{{family.houseHoldName}}</view>
+ <view class="r flex">
+ <view v-show="family.resideStatus">
+ <u-icon name="photo"></u-icon>
+ </view>
+
+ <view v-show="family.isOwner">
+ <u-icon name="photo"></u-icon>
+ </view>
+ </view>
+ </view>
+
+ <view class="flex">
+ <view class="l flex">
+ <u-icon name="home" color="blue"></u-icon>
+ {{family.roomNumber}}
+ </view>
+ <view class="r">
+
+ </view>
+ </view>
+
+ </view>
+ </u-grid-item>
+ </u-grid>
+ </view>
+ </view>
+ </u-collapse-item>
+ </u-collapse>
+
+ <u-divider text="已经到底了"></u-divider>
+ </view>
+ </view>
+ </view>
+</template>
+
+<script>
+ export default {
+ components: {},
+
+ data() {
+ return {
+ housingName: '万达晶座',
+ buildingName: 11,
+ buildingList: [{
+ unitName: '一单元',
+ floorList: [{
+ floorName: '1层',
+ familyList: [{
+ houseHoldName: '王子豪1',
+ resideStatus: 1, // 1居住,0未居住
+ isOwner: 1, // 1业主, 0不是业主
+ roomNumber: 301
+ },
+ {
+ houseHoldName: '王子豪2',
+ resideStatus: 1, // 1居住,0未居住
+ isOwner: 1, // 1业主, 0不是业主
+ roomNumber: 301
+ },
+ {
+ houseHoldName: '王子豪3',
+ resideStatus: 0, // 1居住,0未居住
+ isOwner: 0, // 1业主, 0不是业主
+ roomNumber: 301
+ },
+ {
+ houseHoldName: '王子豪4',
+ resideStatus: 1, // 1居住,0未居住
+ isOwner: 1, // 1业主, 0不是业主
+ roomNumber: 301
+ },
+ {
+ houseHoldName: '王子豪5',
+ resideStatus: 1, // 1居住,0未居住
+ isOwner: 1, // 1业主, 0不是业主
+ roomNumber: 301
+ },
+ {
+ houseHoldName: '王子豪6',
+ resideStatus: 1, // 1居住,0未居住
+ isOwner: 1, // 1业主, 0不是业主
+ roomNumber: 301
+ },
+ {
+ houseHoldName: '王子豪',
+ resideStatus: 1, // 1居住,0未居住
+ isOwner: 1, // 1业主, 0不是业主
+ roomNumber: 301
+ }
+ ]
+ },
+ {
+ floorName: '2层',
+ familyList: [{
+ houseHoldName: '王子豪1',
+ resideStatus: 1, // 1居住,0未居住
+ isOwner: 1, // 1业主, 0不是业主
+ roomNumber: 301
+ },
+ {
+ houseHoldName: '王子豪2',
+ resideStatus: 1, // 1居住,0未居住
+ isOwner: 1, // 1业主, 0不是业主
+ roomNumber: 301
+ },
+ {
+ houseHoldName: '王子豪3',
+ resideStatus: 1, // 1居住,0未居住
+ isOwner: 1, // 1业主, 0不是业主
+ roomNumber: 301
+ },
+ {
+ houseHoldName: '王子豪4',
+ resideStatus: 1, // 1居住,0未居住
+ isOwner: 1, // 1业主, 0不是业主
+ roomNumber: 301
+ },
+ {
+ houseHoldName: '王子豪5',
+ resideStatus: 1, // 1居住,0未居住
+ isOwner: 1, // 1业主, 0不是业主
+ roomNumber: 301
+ },
+ {
+ houseHoldName: '王子豪6',
+ resideStatus: 1, // 1居住,0未居住
+ isOwner: 1, // 1业主, 0不是业主
+ roomNumber: 301
+ },
+ {
+ houseHoldName: '王子豪',
+ resideStatus: 1, // 1居住,0未居住
+ isOwner: 1, // 1业主, 0不是业主
+ roomNumber: 301
+ }
+ ]
+ }
+ ]
+ },
+ {
+ unitName: '二单元',
+ floorList: [{
+ floorName: '1层',
+ familyList: [{
+ houseHoldName: '王子豪1',
+ resideStatus: 0, // 1居住,0未居住
+ isOwner: 0, // 1业主, 0不是业主
+ roomNumber: 301
+ }]
+ },
+ {
+ floorName: '2层',
+ familyList: [{
+ houseHoldName: '王子豪1',
+ resideStatus: 1, // 1居住,0未居住
+ isOwner: 1, // 1业主, 0不是业主
+ roomNumber: 301
+ },
+ {
+ houseHoldName: '王子豪2',
+ resideStatus: 1, // 1居住,0未居住
+ isOwner: 1, // 1业主, 0不是业主
+ roomNumber: 301
+ },
+ {
+ houseHoldName: '王子豪3',
+ resideStatus: 1, // 1居住,0未居住
+ isOwner: 1, // 1业主, 0不是业主
+ roomNumber: 301
+ },
+ {
+ houseHoldName: '王子豪4',
+ resideStatus: 1, // 1居住,0未居住
+ isOwner: 1, // 1业主, 0不是业主
+ roomNumber: 301
+ },
+ {
+ houseHoldName: '王子豪5',
+ resideStatus: 1, // 1居住,0未居住
+ isOwner: 1, // 1业主, 0不是业主
+ roomNumber: 301
+ },
+ {
+ houseHoldName: '王子豪6',
+ resideStatus: 1, // 1居住,0未居住
+ isOwner: 1, // 1业主, 0不是业主
+ roomNumber: 301
+ },
+ {
+ houseHoldName: '王子豪',
+ resideStatus: 1, // 1居住,0未居住
+ isOwner: 1, // 1业主, 0不是业主
+ roomNumber: 301
+ },
+ {
+ houseHoldName: '王子豪',
+ resideStatus: 1, // 1居住,0未居住
+ isOwner: 1, // 1业主, 0不是业主
+ roomNumber: 301
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ },
+
+ onShow() {},
+
+ methods: {
+
+ }
+ }
+</script>
+
+<style lang="scss" scoped>
+ .container {
+ width: 100%;
+ height: 100%;
+
+ display: flex;
+ flex-direction: column;
+ background: #F9F9FA;
+ font-size: 26rpx;
+
+
+ .main {
+ position: relative;
+ height: 0;
+ flex: 1;
+ overflow-y: auto;
+
+ .cur-header {
+ padding-left: 16rpx;
+ display: flex;
+ align-items: center;
+ min-height: 96rpx;
+ color: #fff;
+ background: #6A9DFD;
+ }
+
+ .build-list-box {
+ /deep/ .u-cell {
+ background: #A0C0FC !important;
+ }
+
+ /deep/ .u-collapse-item__content__text {
+ padding: 0 !important;
+ }
+ }
+
+ /deep/ .floor-content {
+ border-bottom: 1rpx solid #ccc;
+
+ .floor-num-box {
+ padding: 0 20rpx !important;
+ background: #EAECF0;
+ }
+
+ .room-content {
+ width: 0;
+ flex: 1;
+ background: #FEFEFF;
+
+ .room-box {
+ padding: 8rpx;
+ justify-content: center;
+ align-items: center;
+ width: 100%;
+ min-height: 116rpx;
+ box-sizing: border-box;
+
+ &>view {
+ margin: auto;
+ width: 100%;
+ }
+ }
+
+ .u-grid-item:nth-child(2n-1) {
+ border-right: 1rpx solid #dadbde !important;
+ }
+ }
+ }
+ }
+ }
+</style>
\ No newline at end of file
diff --git a/subPackage/house/list/index.vue b/subPackage/house/list/index.vue
new file mode 100644
index 0000000..c08138d
--- /dev/null
+++ b/subPackage/house/list/index.vue
@@ -0,0 +1,83 @@
+<template>
+ <view class="container">
+ <view class="flex f-d-c main">
+ <view class="flex house-container">
+ <view class="house-list-box" v-for="(item, index) in houseList">
+ <view class="l">
+ <u-icon name="home" color="#fff"></u-icon>
+ </view>
+ <view class="r">
+ {{item.title}}栋
+ </view>
+ </view>
+ </view>
+
+ <u-divider text="已经到底了"></u-divider>
+ </view>
+ </view>
+</template>
+
+<script>
+ export default {
+ components: {},
+
+ data() {
+ return {
+ houseList: [{
+ title: 11
+ },
+ {
+ title: 12
+ },
+ {
+ title: 13
+ }
+ ]
+ }
+ },
+
+ onShow() {},
+
+ methods: {
+
+ }
+ }
+</script>
+
+<style lang="scss" scoped>
+ .container {
+ width: 100%;
+ height: 100%;
+
+ display: flex;
+ flex-direction: column;
+ background: #F9F9FA;
+ font-size: 26rpx;
+
+
+ .main {
+ position: relative;
+ height: 0;
+ flex: 1;
+ overflow-y: auto;
+
+ .house-container {
+ flex-wrap: wrap;
+
+ .house-list-box {
+ margin: 16rpx;
+ padding: 0 16rpx;
+ display: flex;
+ justify-content: space-between;
+ align-items: center;
+ width: calc((100% - 96rpx) / 3);
+ height: 68rpx;
+ border-radius: 34rpx;
+ color: #fff;
+ background: linear-gradient(to right, #417BE9, #6D9FFB);
+ box-sizing: border-box;
+ }
+ }
+ }
+ }
+</style>
\ No newline at end of file
diff --git a/subPackage/house/roomDetails/index.vue b/subPackage/house/roomDetails/index.vue
new file mode 100644
index 0000000..657e006
--- /dev/null
+++ b/subPackage/house/roomDetails/index.vue
@@ -0,0 +1,249 @@
+<template>
+ <view class="container">
+ <view class="main">
+ <view class="content">
+ <view class="base b-c-w">
+ <view class="flex a-i-c">
+ <u-icon name="photo"></u-icon> 万达晶座:11栋
+ </view>
+ <view class="flex j-c-s-b">
+ <view>
+ 一单元单元 2901室(共2人)
+ </view>
+ <view class="flex a-i-c">
+ <u-button size='small' shape="circle" type="primary" :plain="true" text="房屋管理"></u-button>
+ </view>
+ </view>
+ </view>
+
+ <view class="mt-40 owner-box b-c-w" v-for="(item, index) in ownerInfoList" :key="index">
+ <view class="flex">
+ <view class="l flex-1 flex">
+ <view class="flex_base">
+ <view class="head-img flex_base">
+ <u--image shape="circle" :showLoading="true" :src="item.src" width="120rpx"
+ height="120rpx"></u--image>
+ </view>
+ </view>
+ <view class="info">
+ <view>姓名:{{item.name}}</view>
+ <view class="flex">
+ 手机:{{item.phone}} <u-icon name="phone-fill" color="#4586FE"></u-icon>
+ </view>
+ <view class="flex">
+ 关系:
+ <view class="flex a-i-c">
+ <u-tag :text="item.relation" size="mini"
+ :bgColor="item.relationType == 1 ? '#07C160' : '#1989FA'"></u-tag>
+ </view>
+ </view>
+ </view>
+ </view>
+ <view class="r flex f-d-c j-c-s-a">
+ <view>
+ <u-button size='small' type="primary" :plain="true" text="资料管理"></u-button>
+ </view>
+ <view>
+ <u-button size='small' type="primary" :plain="true" text="标签管理"></u-button>
+ </view>
+ </view>
+ </view>
+ <view class="flex a-i-c j-c-s-b">
+ <view class="l flex">
+ <u-icon name="photo"></u-icon>
+ <u-icon name="photo"></u-icon>
+ </view>
+ <view class="r">
+ <u-icon name="trash-fill" color="red"></u-icon>
+ </view>
+ </view>
+ </view>
+
+ <view class="mt-20 rent-out-box">
+ <box-title :title="'出租管理'"></box-title>
+
+ <view class="mt-40 rent-out-list b-c-w" v-for="(item, index) in rentOutList" :key="index">
+ <view class="t flex j-c-s-b a-i-c">
+ <view class="l">
+ 租客:{{item.name}}(共{{item.allNum}}人)
+ </view>
+ <view class="r">
+ <u-icon name="trash-fill" color="red"></u-icon>
+ </view>
+ </view>
+ <view class="t flex j-c-s-b a-i-c">
+ <view class="l">
+ {{item.startTime}} - {{item.endTime}}
+ </view>
+ <view class="r">
+ {{item.status == 1 ? '已到期' : '未到期'}}
+ </view>
+ </view>
+ <view class="btn-box flex j-c-s-a">
+ <u-button color="#CDF3DF" text="修改"></u-button>
+ <u-button color="#DAE7FF" text="续租"></u-button>
+ <u-button color="#FCCED3" text="终止"></u-button>
+ </view>
+ </view>
+ </view>
+
+ <u-divider text="已经到底了"></u-divider>
+ </view>
+
+ <view class="edit-btn">
+ <veiw>
+ <u-button type="primary" text="添加成员"></u-button>
+ </veiw>
+
+ <view>
+ <u-button type="primary" :plain="true" text="添加租赁信息"></u-button>
+ </view>
+ </view>
+ </view>
+ </view>
+</template>
+
+<script>
+ export default {
+ components: {},
+
+ data() {
+ return {
+ ownerInfoList: [{
+ src: 'https://cdn.uviewui.com/uview/album/1.jpg',
+ name: '郑洪峰',
+ phone: 13566687549,
+ relationType: 1,
+ relation: '业主'
+ },
+ {
+ src: 'https://cdn.uviewui.com/uview/album/1.jpg',
+ name: '郑小峰',
+ phone: 13547687549,
+ relationType: 3,
+ relation: '儿子'
+ }
+ ],
+
+ rentOutList: [
+ {
+ name: '皇阿玛',
+ startTime: '2023-01-01',
+ endTime: '2024-01-01',
+ status: 0, // 0 未到期,1已到期
+ allNum: 1
+ },
+ {
+ name: '皇阿玛two',
+ startTime: '2023-01-01',
+ endTime: '2024-01-01',
+ status: 0, // 0 未到期,1已到期
+ allNum: 2
+ }
+ ]
+ }
+ },
+
+ onShow() {},
+
+ methods: {
+
+ }
+ }
+</script>
+
+<style lang="scss" scoped>
+ .container {
+ width: 100%;
+ height: 100%;
+
+ display: flex;
+ flex-direction: column;
+ background: #F9F9FA;
+ font-size: 26rpx;
+
+
+ .main {
+ position: relative;
+ height: 0;
+ flex: 1;
+ display: flex;
+ flex-direction: column;
+
+ .content {
+ height: 0;
+ flex: 1;
+ overflow-y: auto;
+
+ .base {
+ &>view {
+ padding: 0 10rpx;
+ height: 96rpx;
+ line-height: 96rpx;
+ border-bottom: 1rpx solid #EBEDF0;
+ }
+ }
+
+ .owner-box {
+
+
+ .l {
+ align-items: center;
+
+ .head-img {
+ width: 164rpx;
+ height: 164rpx;
+ background: #EBEDF0;
+ border-radius: 50%;
+ }
+
+ .info {
+ margin-left: 16rpx;
+
+ &>view {
+ height: 66rpx;
+ line-height: 66rpx;
+ }
+ }
+ }
+
+ &>view {
+ padding: 10px;
+ }
+
+ &>view:last-child {
+ height: 44rpx;
+ border-top: 1rpx solid #EBEDF0;
+ }
+ }
+
+ .rent-out-box {
+
+ .rent-out-list {
+ padding: 20rpx 16rpx;
+
+ .t {
+ height: 72rpx;
+
+ }
+
+ .btn-box {
+ &>.u-button {
+ margin: 0 16rpx;
+ }
+ }
+ }
+ }
+ }
+
+ .edit-btn {
+ height: 116rpx;
+ display: flex;
+ justify-content: space-around;
+ align-items: center;
+ background: #fff;
+ border-top: 1rpx solid #ccc;
+ }
+ }
+ }
+</style>
\ No newline at end of file
--
Gitblit v1.9.3