Compare commits

...

9 Commits

6 changed files with 781 additions and 600 deletions

View File

@ -1,153 +1,169 @@
<template> <template>
<view class="container"> <view class="container">
<div class="line"></div> <div class="line"></div>
<view class="main"> <view class="main">
<view class="table"> <view class="table">
<view class="label">房产</view> <view class="label">房产</view>
<view class="flexBox" @click="choseCommunity"> <view class="flexBox" @click="choseCommunity">
<input type="text" v-model="changeComm" disabled placeholder="请选择房产"> <input
<u-icon name="arrow-right"></u-icon> type="text"
</view> v-model="changeComm"
</view> disabled
<view class="table"> placeholder="请选择房产"
<view class="label">姓名</view> />
<input type="text" v-model="nameVal" placeholder="请输入姓名"> <u-icon name="arrow-right"></u-icon>
</view> </view>
<view class="table"> </view>
<view class="label">手机</view> <view class="table">
<input type="text" v-model="phoneVal" placeholder="请输入手机号"> <view class="label">姓名</view>
</view> <input type="text" v-model="nameVal" placeholder="请输入姓名" />
<view class="table"> </view>
<view class="label">身份</view> <view class="table">
<view class="label">手机</view>
<input type="text" v-model="phoneVal" placeholder="请输入手机号" />
</view>
<view class="table">
<view class="label">身份</view>
<view class="flexBox" @click="chooseIdentity"> <view class="flexBox" @click="chooseIdentity">
<input type="number" v-model="selectedLabel" disabled placeholder="请选择身份"> <input
<u-icon name="arrow-right"></u-icon> type="number"
</view> v-model="selectedLabel"
disabled
</view> placeholder="请选择身份"
<!-- <view class="tip"> />
<u-icon name="arrow-right"></u-icon>
</view>
</view>
<!-- <view class="tip">
注意业主为在物业登记在册的人员需经过物业审 核确认后即可成为该房产的业主如需帮助可与物 业或平台联系 注意业主为在物业登记在册的人员需经过物业审 核确认后即可成为该房产的业主如需帮助可与物 业或平台联系
</view> --> </view> -->
</view> </view>
<view class="btn" @click="headerSubmitClick">确定</view> <view class="btn" @click="headerSubmitClick">确定</view>
<u-popup :show="show" @close="close" mode="bottom" customStyle="width: 500rpx;" round="20rpx"> <u-popup
<u-picker :show="show" :columns="columns" keyName="label" @cancel="close" @confirm="confirm"></u-picker> :show="show"
</u-popup> @close="close"
</view> mode="bottom"
customStyle="width: 500rpx;"
round="20rpx"
>
<u-picker
:show="show"
:columns="columns"
keyName="label"
@cancel="close"
@confirm="confirm"
></u-picker>
</u-popup>
</view>
</template> </template>
<script> <script>
import { import { request, NavgateTo, isPhone } from "../../../utils";
request, import { apiArr } from "../../../api/community";
NavgateTo, export default {
isPhone onBackPress(options) {
} from '../../../utils'; console.log("from:" + options.from);
import { },
apiArr data() {
} from '../../../api/community'; return {
export default { communityId: "",
onBackPress(options) { roomId: "",
console.log('from:' + options.from) managementMobile: "",
}, show: false,
data() { changeComm: "",
return { columns: [
communityId: '', [
roomId: '', {
managementMobile: '', label: "业主",
show: false, value: "1",
changeComm: '', },
columns: [ {
[{ label: "家属",
label: "业主", value: "2",
value: "1" },
}, {
{ label: "租客",
label: "家属", value: "3",
value: "2" },
}, {
{ label: "访客",
label: "租客", value: "4",
value: "3" },
}, ],
{ ],
label: "访客", selectedValue: "",
value: "4" selectedLabel: "",
}, nameVal: "",
] phoneVal: "",
], };
selectedValue: '', },
selectedLabel: '', methods: {
nameVal: '', close() {
phoneVal: '', this.show = false;
} },
}, chooseIdentity() {
methods: { this.show = true;
close() { console.log();
this.show = false },
}, confirm(selected) {
chooseIdentity() { console.log(selected.value[0].value);
this.show = true this.selectedValue = selected.value[0].value;
console.log() this.selectedLabel = selected.value[0].label;
}, this.show = false;
confirm(selected) { },
console.log(selected.value[0].value) headerCloseClick() {
this.selectedValue = selected.value[0].value this.show = false;
this.selectedLabel = selected.value[0].label },
this.show = false
},
headerCloseClick() {
this.show = false;
},
headerInputClick(e) { headerInputClick(e) {
const { const { name } = e.currentTarget.dataset;
name const { value } = e.detail;
} = e.currentTarget.dataset; this[name] = value;
const { },
value async headerSubmitClick() {
} = e.detail; await request(apiArr.create, "POST", {
this[name] = value; community_id: parseInt(this.communityId),
}, room_id: parseInt(this.roomId),
async headerSubmitClick() { user_id: uni.getStorageSync("userId"),
await request(apiArr.create, "POST", { name: this.nameVal, //
community_id: parseInt(this.communityId), mobile: this.phoneVal, //
room_id: parseInt(this.roomId), type: parseInt(this.selectedValue), //
user_id: uni.getStorageSync('userId'), id_type: 1,
name: this.nameVal, // }).then((res) => {
mobile: this.phoneVal, // console.log(res);
type: parseInt(this.selectedValue), // uni.showToast({
id_type: 1 title: "提交成功请等待物业审核!",
}).then(res => { icon: "none",
console.log(res) duration: 1500,
uni.showToast({ });
title: '创建成功', //
icon: "none", setTimeout(() => {
duration: 2000 NavgateTo("/packages/community/myCommunity/index");
}); }, 1500);
NavgateTo("/packages/community/myCommunity/index") });
}) },
}, choseCommunity() {
choseCommunity() { NavgateTo("/packages/community/choseCommunity/index");
NavgateTo("/packages/community/choseCommunity/index") },
}, },
}, onLoad(options) {
console.log("接收到的参数:", options);
this.communityId = options.community_id
? decodeURIComponent(options.community_id)
: "";
this.roomId = options.room_id ? decodeURIComponent(options.room_id) : "";
this.changeComm = options.changeVal
? decodeURIComponent(options.changeVal)
: "";
},
onLoad(options) { onReachBottom() {},
console.log("接收到的参数:", options); };
this.communityId = options.community_id ? decodeURIComponent(options.community_id) : ''
this.roomId = options.room_id ? decodeURIComponent(options.room_id) : ''
this.changeComm = options.changeVal ? decodeURIComponent(options.changeVal) : ''
},
onReachBottom() {
},
}
</script> </script>
<style> <style>
@import url("./index.css"); @import url("./index.css");
</style> </style>

View File

@ -1,39 +1,57 @@
<template> <template>
<div class="container"> <div class="container">
<div class="currentAdd"> <div class="currentAdd">
<div class="currentAdd_left">{{city.region}}</div> <div class="currentAdd_left">{{ city.region }}</div>
<div class="currentAdd_right" @click="changeAddress"> <div class="currentAdd_right" @click="changeAddress">
切换城市 切换城市
<image src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/com_choseAddress.png"></image> <image
</div> src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/com_choseAddress.png"
</div> ></image>
</div>
</div>
<div class="communityBox" v-if="step == 1"> <div class="communityBox" v-if="step == 1">
<div class="search"> <div class="search">
<input type="text" placeholder="请输入小区名称" v-model="communityName"> <input
<image @click="searchByName" src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/com_communitySearchIcon.png"></image> type="text"
</div> placeholder="请输入小区名称"
v-model="communityName"
/>
<image
@click="searchByName"
src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/com_communitySearchIcon.png"
></image>
</div>
<!-- @click="chooseCommunity(item)" --> <!-- @click="chooseCommunity(item)" -->
<div class="communityList"> <div class="communityList">
<div class="communityItem" v-for="item in communityList" :key="item.community_id" @click="nextStep(item)"> <div
<div class="communityItem_left"> class="communityItem"
<div class="communityItem_tit">{{item.name}}</div> v-for="item in communityList"
<div class="communityItem_address">{{item.addr}}</div> :key="item.community_id"
</div> @click="nextStep(item)"
<div class="communityItem_right"> >
<image src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/com_communityMore.png"></image> <div class="communityItem_left">
</div> <div class="communityItem_tit">{{ item.name }}</div>
</div> <div class="communityItem_address">{{ item.addr }}</div>
</div> </div>
<div class="communityItem_right">
<image
src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/com_communityMore.png"
></image>
</div>
</div>
</div>
<div class="empty" v-if="communityList.length == 0"> <div class="empty" v-if="communityList.length == 0">
<image src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/com_noSearch.png"></image> <image
<span>未找到相关信息的小区</span> src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/com_noSearch.png"
</div> ></image>
</div> <span>未找到相关信息的小区</span>
</div>
</div>
<!-- <div class="communityBox" v-if="step == 2"> <!-- <div class="communityBox" v-if="step == 2">
<div class="search"> <div class="search">
<input type="text" placeholder="请输入楼栋名称"> <input type="text" placeholder="请输入楼栋名称">
<image src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/com_communitySearchIcon.png"></image> <image src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/com_communitySearchIcon.png"></image>
@ -51,235 +69,285 @@
</div> </div>
</div> --> </div> -->
<div class="communityBox" v-if="step == 2"> <div class="communityBox" v-if="step == 2">
<div class="search"> <div class="search">
<input v-model="searchQuery" type="text" placeholder="请输入楼栋名称"> <input v-model="searchQuery" type="text" placeholder="请输入楼栋名称" />
<image @click="searchName" src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/com_communitySearchIcon.png"></image> <image
</div> @click="searchName"
src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/com_communitySearchIcon.png"
></image>
</div>
<div class="floorList"> <div class="floorList">
<div @click="nextStep(item)" class="floorItem" v-for="(item, index) in filteredFloorsList" :key="index"> <div
{{ item.label }} @click="nextStep(item, index)"
</div> :class="{ active: index === selectedFloorIndex }"
</div> class="floorItem"
v-for="(item, index) in filteredFloorsList"
:key="index"
>
{{ item.label }}
</div>
</div>
<div class="empty" v-if="filteredFloorsList.length === 0"> <div class="empty" v-if="filteredFloorsList.length === 0">
<image src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/com_noSearch.png"></image> <image
<span>未找到相关信息的楼栋</span> src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/com_noSearch.png"
</div> ></image>
</div> <span>未找到相关信息的楼栋</span>
</div>
</div>
<div class="communityBox" v-if="step == 3"> <div class="communityBox" v-if="step == 3">
<div class="search"> <div class="search">
<input v-model="searchQuery" type="text" placeholder="请输入楼层名称"> <input v-model="searchQuery" type="text" placeholder="请输入楼层名称" />
<image @click="searchName" src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/com_communitySearchIcon.png"></image> <image
</div> @click="searchName"
src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/com_communitySearchIcon.png"
></image>
</div>
<div class="roomList"> <div class="roomList">
<!-- <div class="roomItem" v-for="(item,index) in 5" :class="index == 1?'active2':''"> --> <!-- <div class="roomItem" v-for="(item,index) in 5" :class="index == 1?'active2':''"> -->
<div @click="nextStep(item)" class="roomItem" v-for="(item,index) in filteredFloorsList" :key="index"> <div
{{item.label}} @click="nextStep(item, index, 'room')"
</div> :class="{ active2: index === selectedRoomIndex }"
</div> class="roomItem"
v-for="(item, index) in filteredFloorsList"
:key="index"
>
{{ item.label }}
</div>
</div>
<div class="empty" v-if="filteredFloorsList.length === 0"> <div class="empty" v-if="filteredFloorsList.length === 0">
<image src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/com_noSearch.png"></image> <image
<span>未找到相关信息的楼层</span> src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/com_noSearch.png"
</div> ></image>
</div> <span>未找到相关信息的楼层</span>
</div>
</div>
<div class="communityBox" v-if="step == 4"> <div class="communityBox" v-if="step == 4">
<div class="search"> <div class="search">
<input v-model="searchQuery" type="text" placeholder="请输入房间名称"> <input v-model="searchQuery" type="text" placeholder="请输入房间名称" />
<image @click="searchName" src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/com_communitySearchIcon.png"></image> <image
</div> @click="searchName"
src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/com_communitySearchIcon.png"
></image>
</div>
<div class="roomList"> <div class="roomList">
<!-- <div class="roomItem" v-for="(item,index) in 5" :class="index == 1?'active2':''"> --> <!-- <div class="roomItem" v-for="(item,index) in 5" :class="index == 1?'active2':''"> -->
<div @click="nextStep(item)" class="roomItem" v-for="(item,index) in filteredFloorsList" :key="index"> <div
{{item.label}} @click="nextStep(item, index, 'room')"
</div> :class="{ active2: index === selectedRoomIndex }"
</div> class="roomItem"
v-for="(item, index) in filteredFloorsList"
:key="index"
>
{{ item.label }}
</div>
</div>
<div class="empty" v-if="filteredFloorsList.length === 0"> <div class="empty" v-if="filteredFloorsList.length === 0">
<image src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/com_noSearch.png"></image> <image
<span>未找到相关信息的房间</span> src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/com_noSearch.png"
</div> ></image>
</div> <span>未找到相关信息的房间</span>
</div>
</div>
<areaPopup :show="show" @selectArea="selectArea" @close="close"></areaPopup>
<areaPopup :show="show" @selectArea="selectArea" @close="close"></areaPopup> <div class="dialogBox" v-if="dialogBoxShow">
<div class="dialogBoxCon">
<div class="dialogBox" v-if="dialogBoxShow"> <div class="dialogBoxCon1">确认选择</div>
<div class="dialogBoxCon"> <div class="dialogBoxCon2">{{ cName }}</div>
<div class="dialogBoxCon1">确认选择</div> <div class="dialogBoxCon3">{{ facilityName + fName + rName }}</div>
<div class="dialogBoxCon2">{{cName}}</div> <div class="dialogBoxConBtnList">
<div class="dialogBoxCon3">{{facilityName + fName + rName}}</div> <div class="dialogBoxConBtnItem1" @click="dialogBoxShow = false">
<div class="dialogBoxConBtnList"> 取消
<div class="dialogBoxConBtnItem1" @click="dialogBoxShow = false">取消</div> </div>
<div class="dialogBoxConBtnItem2" @click="confirmComm">确定</div> <div class="dialogBoxConBtnItem2" @click="confirmComm">确定</div>
</div> </div>
</div> </div>
</div> </div>
</div> </div>
</template> </template>
<script> <script>
import { import { apiArr } from "../../../api/community";
apiArr import {
} from '../../../api/community'; request,
import { picUrl,
request, uniqueByField,
picUrl, menuButtonInfo,
uniqueByField, NavgateTo,
menuButtonInfo, } from "../../../utils";
NavgateTo
} from '../../../utils';
export default { export default {
data() { data() {
return { return {
show: false, selectedFloorIndex: -1,
step: "1", selectedRoomIndex: -1,
communityName: '', show: false,
cName: '', step: "1",
fName: '', communityName: "",
communityId: '', cName: "",
communityList: [], fName: "",
facilityName: '', communityId: "",
// foloorList: [], communityList: [],
// floorsList: [], facilityName: "",
rName: '', // foloorList: [],
roomId: '', // floorsList: [],
// roomList: [], rName: "",
page_num: 1, roomId: "",
page_size: 10, // roomList: [],
dialogBoxShow: false, page_num: 1,
searchQuery: '', page_size: 10,
filteredFloorsList: [], dialogBoxShow: false,
searchList: [], searchQuery: "",
city: uni.getStorageSync('location'), filteredFloorsList: [],
currentCommunity:"" searchList: [],
} city: uni.getStorageSync("location"),
}, currentCommunity: "",
methods: { };
changeAddress() { },
this.show = true methods: {
}, changeAddress() {
close() { this.show = true;
this.show = false },
}, close() {
selectArea(val) { this.show = false;
console.log(val); },
this.city = { selectArea(val) {
region: val.confirmDist.ad_name.split(',').join(''), console.log(val);
...val.confirmDist this.city = {
} region: val.confirmDist.ad_name.split(",").join(""),
this.searchByName(); ...val.confirmDist,
this.show = false };
}, this.searchByName();
async searchByName() { this.show = false;
console.log(this.communityName,'zzz') },
await request(apiArr.getAllList, "POST", { async searchByName() {
community_id: '', console.log(this.communityName, "zzz");
name: this.communityName, await request(apiArr.getAllList, "POST", {
comm_code: '', community_id: "",
ad_code: this.city.ad_code ? this.city.ad_code : uni.getStorageSync('ad_code'), name: this.communityName,
page_num: this.page_num, comm_code: "",
page_size: this.page_size ad_code: this.city.ad_code
}).then(res => { ? this.city.ad_code
console.log(res.rows) : uni.getStorageSync("ad_code"),
this.communityList = res.rows page_num: this.page_num,
}) page_size: this.page_size,
}, }).then((res) => {
async nextStep(item) { console.log(res.rows);
this.communityId = item.community_id ? item.community_id : this.communityId; this.communityList = res.rows;
this.facilityName = this.facilityName ? this.facilityName : item.label; });
this.fName = this.step == 4 ? this.fName : (this.facilityName ? item.label : '') },
await request(apiArr.commRoomSelect, "POST", { async nextStep(item, index, type = "") {
community_ids: item.community_id ? item.community_id : this.communityId, if (type === "room") {
facility_names: this.facilityName, this.selectedRoomIndex = index;
floors: this.facilityName ? (this.facilityName == this.fName ? '' : item.label) : '', } else {
}).then(res => { this.selectedFloorIndex = index;
this.filteredFloorsList = this.step == 4 ? this.filteredFloorsList : res.rows }
this.searchList = res.rows this.communityId = item.community_id
this.searchQuery = '' ? item.community_id
if (this.step == '1') { : this.communityId;
this.step = '2'; this.facilityName = this.facilityName ? this.facilityName : item.label;
this.cName = item.name; this.fName =
// this.foloorList = res.rows this.step == 4 ? this.fName : this.facilityName ? item.label : "";
} else if (this.step == '2') { await request(apiArr.commRoomSelect, "POST", {
this.step = '3'; community_ids: item.community_id ? item.community_id : this.communityId,
// this.floorsList = res.rows facility_names: this.facilityName,
} else if (this.step == '3') { floors: this.facilityName
console.log(item.label); ? this.facilityName == this.fName
this.fName = item.label; ? ""
// this.roomList = res.rows : item.label
this.step = '4'; : "",
} else { }).then((res) => {
this.dialogBoxShow = true; this.filteredFloorsList =
this.rName = item.label this.step == 4 ? this.filteredFloorsList : res.rows;
this.romId = item.value this.searchList = res.rows;
} this.searchQuery = "";
}) if (this.step == "1") {
}, this.step = "2";
searchName() { this.cName = item.name;
// // this.foloorList = res.rows
this.filteredFloorsList = this.searchList.filter(item => } else if (this.step == "2") {
item.label.includes(this.searchQuery) this.step = "3";
); // this.floorsList = res.rows
}, } else if (this.step == "3") {
confirmComm() { console.log(item.label);
const params = { this.fName = item.label;
changeVal: `${this.cName}${this.facilityName}${this.fName}${this.rName}`, // this.roomList = res.rows
community_id: this.communityId, this.step = "4";
room_id: this.romId } else {
}; this.dialogBoxShow = true;
console.log(params) this.rName = item.label;
// this.romId = item.value;
function createQueryString(params) { }
return Object.keys(params) });
.map(key => `${encodeURIComponent(key)}=${encodeURIComponent(params[key])}`) },
.join('&'); searchName() {
} //
this.filteredFloorsList = this.searchList.filter((item) =>
item.label.includes(this.searchQuery)
);
},
confirmComm() {
const params = {
changeVal: `${this.cName}${this.facilityName}${this.fName}${this.rName}`,
community_id: this.communityId,
room_id: this.romId,
};
console.log(params);
//
function createQueryString(params) {
return Object.keys(params)
.map(
(key) =>
`${encodeURIComponent(key)}=${encodeURIComponent(params[key])}`
)
.join("&");
}
// //
const targetPath = "/packages/community/addCommunity/index"; const targetPath = "/packages/community/addCommunity/index";
const queryString = createQueryString(params); const queryString = createQueryString(params);
const fullPath = `${targetPath}?${queryString}`; const fullPath = `${targetPath}?${queryString}`;
// //
NavgateTo(fullPath); NavgateTo(fullPath);
}, },
// //
chooseCommunity(e){ chooseCommunity(e) {
this.currentCommunity = e this.currentCommunity = e;
this.getRoomSelect()
},
//
getRoomSelect(){
request(apiArr.commRoomSelect,"POST",{
community_ids:this.currentCommunity.community_id,
}).then(res=>{
console.log(res);
this.step = 2
})
},
},
onLoad(options) { this.getRoomSelect();
const meun = menuButtonInfo(); },
this.searchByName() //
}, getRoomSelect() {
request(apiArr.commRoomSelect, "POST", {
community_ids: this.currentCommunity.community_id,
}).then((res) => {
console.log(res);
this.step = 2;
});
},
},
onReachBottom() { onLoad(options) {
const meun = menuButtonInfo();
this.searchByName();
},
}, onReachBottom() {},
} };
</script> </script>
<style> <style>
@import url("./index.css"); @import url("./index.css");
</style> </style>

View File

@ -104,6 +104,10 @@ image {
margin: 0 5rpx; margin: 0 5rpx;
} }
.swiperBox2_img{
border-radius: 20rpx 20rpx 0 0;
}
.active { .active {
width: 26rpx; width: 26rpx;
} }
@ -185,6 +189,10 @@ image {
transform: translateX(-50%); transform: translateX(-50%);
} }
.newsList{
margin-bottom: 100rpx;
}
.newsItem { .newsItem {
display: flex; display: flex;
align-items: center; align-items: center;
@ -307,4 +315,8 @@ image {
width: 100rpx; width: 100rpx;
height: 100rpx; height: 100rpx;
margin-bottom: 16rpx; margin-bottom: 16rpx;
}
.grid_Text{
font-size: 24rpx;
} }

View File

@ -50,7 +50,7 @@
:key="index" :key="index"
@click="headerServerClick(item)" @click="headerServerClick(item)"
> >
<image :src="item.ad_picture" mode="aspectFill" /> <image :src="item.ad_picture" mode="aspectFill" class="swiperBox2_img"/>
</swiper-item> </swiper-item>
</swiper> </swiper>
</div> </div>
@ -70,7 +70,7 @@
:key="index" :key="index"
> >
<image class="grid_Pic" :src="item.nav_icon" mode=""></image> <image class="grid_Pic" :src="item.nav_icon" mode=""></image>
<text>{{ item.nav_name }}</text> <text class="grid_Text">{{ item.nav_name }}</text>
</u-grid-item> </u-grid-item>
</u-grid> </u-grid>
</view> </view>
@ -501,6 +501,7 @@ export default {
}, },
async selectTab(index, item) { async selectTab(index, item) {
console.log("🚀 ~ selectTab ~ item:", item)
const isTabChange = this.selectedTab !== index; const isTabChange = this.selectedTab !== index;
if (isTabChange) { if (isTabChange) {
this.page_num = 1; this.page_num = 1;
@ -508,7 +509,6 @@ export default {
// this.loadMoreText = "1030"; // this.loadMoreText = "1030";
} }
this.selectedTab = index; this.selectedTab = index;
console.log("选中的tab:", index);
const res = await request(apiArr.infoPage, "POST", { const res = await request(apiArr.infoPage, "POST", {
community_id: Number(uni.getStorageSync("changeCommData").id), community_id: Number(uni.getStorageSync("changeCommData").id),
announcement_category_id: item.id, announcement_category_id: item.id,

View File

@ -1,238 +1,305 @@
<template> <template>
<div class="container"> <div class="container">
<div class="searchBox" :style="{ height: localHeight + 'px', paddingTop: top + 'px' }"> <div
<div class="searchBox_add"> class="searchBox"
<u-icon bold color="#000" size="40" name="arrow-left" @click="back"></u-icon> :style="{ height: localHeight + 'px', paddingTop: top + 'px' }"
</div> >
</div> <div class="searchBox_add">
<u-icon
bold
color="#000"
size="40"
name="arrow-left"
@click="back"
></u-icon>
</div>
</div>
<div class="community"> <div class="community">
<div class="community_left"> <div class="community_left">
<image mode="aspectFill" <image
src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/test.png" alt="" /> mode="aspectFill"
</div> src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/test.png"
<div class="community_right" @click="changeShow"> alt=""
<div class="community_right_text"> />
<div class="community_right_text1">{{ currentRoom.name }}</div> </div>
<div class="community_right_text2">{{ currentCommunityAddr }}</div> <div class="community_right" @click="changeShow">
</div> <div class="community_right_text">
<div class="community_right_more"> <div class="community_right_text1">{{ currentRoom.name }}</div>
<u-icon bold color="#999999" size="30" name="arrow-right" @click="back"></u-icon> <div class="community_right_text2">{{ currentCommunityAddr }}</div>
</div> </div>
</div> <div class="community_right_more">
</div> <u-icon bold color="#999999" size="30" name="arrow-right"></u-icon>
</div>
</div>
</div>
<div class="tabList"> <div class="tabList">
<div class="tabItem" :class="active == 0 ? 'active' : ''" @click="changeTab(0)">账单</div> <div
<div class="line"></div> class="tabItem"
<div class="tabItem" :class="active == 1 ? 'active' : ''" @click="changeTab(1)">缴费记录</div> :class="active == 0 ? 'active' : ''"
</div> @click="changeTab(0)"
>
账单
</div>
<div class="line"></div>
<div
class="tabItem"
:class="active == 1 ? 'active' : ''"
@click="changeTab(1)"
>
缴费记录
</div>
</div>
<div class="homeMoney" v-if="active == 0"> <div class="homeMoney" v-if="active == 0">
<div class="homeMoney_box"> <div class="homeMoney_box">
<div class="homeMoney_box_left"> <div class="homeMoney_box_left">
<div class="homeMoney_box_left1">物业公积金</div> <div class="homeMoney_box_left1">物业公积金</div>
<div class="homeMoney_box_left2">可抵扣账户金额</div> <div class="homeMoney_box_left2">可抵扣账户金额</div>
</div> </div>
<div class="homeMoney_box_right"> <div class="homeMoney_box_right">
<div class="homeMoney_box_right1"><span></span>{{ balanceMoney }}</div> <div class="homeMoney_box_right1">
<div class="homeMoney_box_right2" @click="more"> <span></span>{{ balanceMoney }}
查看详情 </div>
<div style="margin-left: 12rpx;"> <div class="homeMoney_box_right2" @click="more">
<u-icon bold color="#894B11" size="30" name="arrow-right" ></u-icon> 查看详情
</div> <div style="margin-left: 12rpx">
</div> <u-icon
</div> bold
</div> color="#894B11"
</div> size="30"
name="arrow-right"
></u-icon>
</div>
</div>
</div>
</div>
</div>
<div class="payList" v-if="active == 0"> <div class="payList" v-if="active == 0">
<div class="payItem" v-for="(item, index) in Bill" :key="index"> <div class="payItem" v-for="(item, index) in Bill" :key="index">
<div class="payItem_tit"> <div class="payItem_tit">
<div class="payItem_left"> <div class="payItem_left">
<checkbox :checked="item.check" @click="checkChange(item, index)"></checkbox> <checkbox
<div style="margin-left: 24rpx;">{{ item.order_date }}</div> :checked="item.check"
</div> @click="checkChange(item, index)"
<div class="payItem_right"> ></checkbox>
<span></span> <div style="margin-left: 24rpx">{{ item.order_date }}</div>
{{ item.unpaid_amount }} </div>
<p>未缴</p> <div class="payItem_right">
<span></span>
{{ item.unpaid_amount }}
<p>未缴</p>
<div style="margin-left: 40rpx;" @click="changeCheck(item, index)"> <div style="margin-left: 40rpx" @click="changeCheck(item, index)">
<u-icon bold color="#894B11" size="30" name="arrow-down" v-if="!item.more"></u-icon> <u-icon
<u-icon bold color="#894B11" size="30" name="arrow-up" v-if="item.more"></u-icon> bold
</div> color="#894B11"
</div> size="30"
</div> name="arrow-down"
<div class="payItem_List" v-for="(items, indes) in item.community_order_rows" v-if="item.more" v-if="!item.more"
:key="items.order_id"> ></u-icon>
<checkbox :checked="items.check" @click="itemsCheckChange(items, indes, index)"></checkbox> <u-icon
<div class="Item_time" v-if="items.billing_cycle == 1">{{ items.order_date }}</div> bold
<div class="Item_time" v-if="items.billing_cycle == 2">{{ items.order_datetime }}</div> color="#894B11"
<div class="Item_type">{{ items.community_fee_type.type_name }}</div> size="30"
<div class="Item_money">{{ items.money }}</div> name="arrow-up"
<div class="Item_status" v-if="items.status == 0">未付款</div> v-if="item.more"
<div class="Item_status sucess" v-if="items.status == 1">已付款</div> ></u-icon>
</div> </div>
</div> </div>
</div> </div>
<div v-if="item.more">
<div
class="payItem_List"
v-for="(items, indes) in item.community_order_rows"
:key="items.order_id"
>
<checkbox
:checked="items.check"
@click="itemsCheckChange(items, indes, index)"
></checkbox>
<div class="Item_time" v-if="items.billing_cycle == 1">
{{ items.order_date }}
</div>
<div class="Item_time" v-if="items.billing_cycle == 2">
{{ items.order_datetime }}
</div>
<div class="Item_type">
{{ items.community_fee_type.type_name }}
</div>
<div class="Item_money">{{ items.money }}</div>
<div class="Item_status" v-if="items.status == 0">未付款</div>
<div class="Item_status sucess" v-if="items.status == 1">
已付款
</div>
</div>
</div>
</div>
</div>
<!-- 选择支付类型 --> <!-- 选择支付类型 -->
<div class="payTypeList" v-if="active == 0"> <div class="payTypeList" v-if="active == 0">
<div class="PayTypeItem"> <div class="PayTypeItem">
<div class="PayTypeItem_left"> <div class="PayTypeItem_left">
<div class="PayTypeItem_img"> <div class="PayTypeItem_img">
<image mode="aspectFill" <image
src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/com_wechat.png" mode="aspectFill"
alt="" /> src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/com_wechat.png"
</div> alt=""
<div class="PayTypeItem_con"> />
<div class="PayTypeItem_con_tit">微信支付</div> </div>
<div class="PayTypeItem_con_msg">单笔支付限额10000.00</div> <div class="PayTypeItem_con">
</div> <div class="PayTypeItem_con_tit">微信支付</div>
</div> <div class="PayTypeItem_con_msg">单笔支付限额10000.00</div>
</div>
</div>
<div class="PayTypeItem_right"> <div class="PayTypeItem_right">
<radio :checked="payType == 1" @click="changePayType(1)"></radio> <radio :checked="payType == 1" @click="changePayType(1)"></radio>
</div> </div>
</div> </div>
<div class="line3"></div> <div class="line3"></div>
<div class="PayTypeItem"> <div class="PayTypeItem">
<div class="PayTypeItem_left"> <div class="PayTypeItem_left">
<div class="PayTypeItem_img"> <div class="PayTypeItem_img">
<image mode="aspectFill" <image
src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/com_homeMoney.png" mode="aspectFill"
alt="" /> src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/com_homeMoney.png"
</div> alt=""
<div class="PayTypeItem_con"> />
<div class="PayTypeItem_con_tit">物业公积金支付</div> </div>
<div class="PayTypeItem_con_msg">单笔支付限额10000.00</div> <div class="PayTypeItem_con">
</div> <div class="PayTypeItem_con_tit">物业公积金支付</div>
</div> <div class="PayTypeItem_con_msg">单笔支付限额10000.00</div>
</div>
</div>
<div class="PayTypeItem_right"> <div class="PayTypeItem_right">
<radio :checked="payType == 2" @click="changePayType(2)"></radio> <radio :checked="payType == 2" @click="changePayType(2)"></radio>
</div> </div>
</div> </div>
</div> </div>
<div class="bottom" v-if="active == 0"> <div class="bottom" v-if="active == 0">
<div class="bottom_left"> <div class="bottom_left">
<span>合计</span> <span>合计</span>
<p></p> <p></p>
{{ currentMoney }} {{ currentMoney }}
</div> </div>
<div class="bottom_right" @click="OrderPay"> <div class="bottom_right" @click="OrderPay">立即支付</div>
立即支付 </div>
</div>
</div>
<div class="payHisList" v-if="active == 1">
<div class="payHisItem" v-for="item in payOrderList" :key="item.id">
<div class="row">
<div class="row_label">缴费金额</div>
<div class="row_con1">{{ item.money }}</div>
</div>
<div class="row">
<div class="row_label2"></div>
<div class="row_con2">{{ item.pay_time }}支付</div>
</div>
<div class="line4"></div>
<div class="row">
<div class="row_label">绑定房源</div>
<div class="row_con3">
<div class="row_con3_1">
{{ item.community_order.length }}个账单
</div>
<div class="row_con3_2">明细可从收据查看</div>
</div>
</div>
<div class="payHisList" v-if="active == 1"> <div class="row">
<div class="payHisItem" v-for="item in payOrderList" :key="item.id"> <div class="row_label">应缴费金额</div>
<div class="row"> <div class="row_con4">{{ item.money }}</div>
<div class="row_label">缴费金额</div> </div>
<div class="row_con1">{{ item.money }}</div>
</div>
<div class="row">
<div class="row_label2"></div>
<div class="row_con2">{{ item.pay_time }}支付</div>
</div>
<div class="line4"></div>
<div class="row">
<div class="row_label">绑定房源</div>
<div class="row_con3">
<div class="row_con3_1">{{ item.community_order.length }}个账单</div>
<div class="row_con3_2">明细可从收据查看</div>
</div>
</div>
<div class="row"> <div class="row">
<div class="row_label">应缴费金额</div> <div class="row_label">物业费公积金抵扣金额</div>
<div class="row_con4">{{ item.money }}</div> <div class="row_con4">-{{ item.reduction_money }}</div>
</div> </div>
<div class="row"> <div class="row">
<div class="row_label">物业费公积金抵扣金额</div> <div class="row_label">缴费单号</div>
<div class="row_con4">-{{ item.reduction_money }}</div> <div class="row_con4">{{ item.order_pay_no }}</div>
</div> </div>
<div class="line4"></div>
<div class="Receipt">收据</div>
</div>
</div>
<div class="row"> <div class="boxshadow" v-if="show" @click="changeShow">
<div class="row_label">缴费单号</div> <div class="boxshadowCon">
<div class="row_con4">{{ item.order_pay_no }} </div> <div class="boxshadowCon_Tit">
</div> 选择房源
<div class="line4"></div> <div class="cancel">取消</div>
<div class="Receipt">收据</div> </div>
<div class="lines"></div>
<div class="communityList" v-if="roomList.length > 0">
<div
class="communityItem"
v-for="item in roomList"
:key="item.room_id"
@click="selectRoom(item)"
>
<div class="communityItem_text">
{{ item.facility_name }}{{ item.floor }} {{ item.number }}
</div>
<div class="communityItem_radio">
<radio :checked="selectedRoomId === item.room_id"></radio>
</div>
</div>
</div>
<div class="communityList" v-else>
<div class="communityItem">
<div class="communityItem_text">暂无房源</div>
</div>
</div>
</div>
</div>
</div> <div class="boxshadow" v-if="show2" @click="changeShow2">
</div> <div class="boxshadowCon">
<div class="boxshadowCon_Tit">
付款总金额
<div class="cancel">取消</div>
</div>
<div class="boxshadowCon_subTit"><span></span>4900.00</div>
<div class="lines"></div>
<div class="BanlenceList">
<div class="banlenceItem">
<div class="banlenceItem_left">
<image
mode="aspectFill"
src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/com_wechat.png"
alt=""
/>
微信支付
</div>
<div class="banlenceItem_right"><span></span>4900.00</div>
</div>
<div class="line3"></div>
<div class="banlenceItem">
<div class="banlenceItem_left">
<image
mode="aspectFill"
src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/com_homeMoney.png"
alt=""
/>
物业公积金支付
</div>
<div class="banlenceItem_right"><span></span>4900.00</div>
</div>
</div>
<div class="boxshadow" v-if="show" @click="changeShow"> <div class="btn">物业公积金+微信支付 <span></span>4900.00</div>
<div class="boxshadowCon"> </div>
<div class="boxshadowCon_Tit"> </div>
选择房源 </div>
<div class="cancel">取消</div>
</div>
<div class="lines"></div>
<div class="communityList">
<div class="communityItem" v-for="item in roomList" :key="item.room_id">
<div class="communityItem_text">{{ item.facility_name }}{{ item.floor }} {{ item.number }}</div>
<div class="communityItem_radio">
<radio></radio>
</div>
</div>
</div>
</div>
</div>
<div class="boxshadow" v-if="show2" @click="changeShow2">
<div class="boxshadowCon">
<div class="boxshadowCon_Tit">
付款总金额
<div class="cancel">取消</div>
</div>
<div class="boxshadowCon_subTit">
<span></span>4900.00
</div>
<div class="lines"></div>
<div class="BanlenceList">
<div class="banlenceItem">
<div class="banlenceItem_left">
<image mode="aspectFill"
src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/com_wechat.png"
alt="" />
微信支付
</div>
<div class="banlenceItem_right">
<span></span>4900.00
</div>
</div>
<div class="line3"></div>
<div class="banlenceItem">
<div class="banlenceItem_left">
<image mode="aspectFill"
src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/com_homeMoney.png"
alt="" />
物业公积金支付
</div>
<div class="banlenceItem_right">
<span></span>4900.00
</div>
</div>
</div>
<div class="btn">
物业公积金+微信支付 <span></span>4900.00
</div>
</div>
</div>
</div>
</template> </template>
<script> <script>
@ -259,6 +326,7 @@ export default {
show2: false, show2: false,
roomList: [], roomList: [],
currentRoom: {}, currentRoom: {},
selectedRoomId: '', // ID
currentCommunity: "", // currentCommunity: "", //
currentCommunityAddr: "", // currentCommunityAddr: "", //
Bill: "", // Bill: "", //
@ -314,11 +382,24 @@ export default {
}).then(res => { }).then(res => {
this.roomList = res.rows this.roomList = res.rows
this.currentRoom = this.roomList[0] this.currentRoom = this.roomList[0]
this.selectedRoomId = this.currentRoom.room_id
this.getOrderList() this.getOrderList()
}) })
}, },
//
selectRoom(item){
// ID
this.selectedRoomId = item.room_id;
//
console.log('选中的房源数据:', item);
this.currentRoom = item;
this.getOrderList()
},
// //
async getUserGovenmentMoney() { async getUserGovenmentMoney() {
request(apiArr.getUserGovenmentMoney, "POST", {}).then(res => { request(apiArr.getUserGovenmentMoney, "POST", {}).then(res => {

View File

@ -25,10 +25,10 @@
<view class="desc" v-if="item.type == 3">租户</view> <view class="desc" v-if="item.type == 3">租户</view>
<view class="desc" v-if="item.type == 4">访客</view> <view class="desc" v-if="item.type == 4">访客</view>
</view> </view>
<view class="item"> <!-- <view class="item">
<view class="label">手机号</view> <view class="label">手机号</view>
<view class="desc">{{item.mobile}}</view> <view class="desc">{{item.mobile}}</view>
</view> </view> -->
<view class="item"> <view class="item">
<view class="label">房产总数</view> <view class="label">房产总数</view>
<view class="desc">{{ item.count_of_rooms }}</view> <view class="desc">{{ item.count_of_rooms }}</view>
@ -46,7 +46,7 @@
</view> </view>
</view> </view>
</view> </view>
<view class="btn">去抵扣物业账单</view> <view class="btn" @click="goPay">去抵扣物业账单</view>
<u-popup :show="show" :round="50" @close="close"> <u-popup :show="show" :round="50" @close="close">
<view class="select_Popup"> <view class="select_Popup">
@ -84,6 +84,7 @@ import {
picUrl, picUrl,
uniqueByField, uniqueByField,
menuButtonInfo, menuButtonInfo,
NavgateTo
} from '../../../utils'; } from '../../../utils';
import { apiArr } from '../../../api/v2Community'; import { apiArr } from '../../../api/v2Community';
@ -177,6 +178,9 @@ export default {
this.list = res this.list = res
}) })
}, },
goPay(){
NavgateTo("../propertyPayment/index")
}
}, },
} }
</script> </script>