物业缴费添加组合缴费功能

This commit is contained in:
赵毅 2025-08-01 09:51:23 +08:00
parent 75f55007b2
commit 83b7536692
2 changed files with 288 additions and 256 deletions

View File

@ -212,6 +212,10 @@ image {
font-size: 24rpx;
}
.payItem_money{
width: 150rpx;
}
.bottom {
width: 750rpx;
background: #FFFFFF;
@ -409,6 +413,17 @@ image {
font-size: 28rpx;
color: #000000;
margin-top: 10rpx;
display: flex;
}
.PayTypeItem_con_msg2{
font-size: 26rpx;
margin-left: 20rpx;
border: 1rpx solid #f23f17;
padding: 0 10rpx;
background-color: #fde0dc;
color: #f23f17;
border-radius: 20rpx;
}
.line3 {
@ -421,8 +436,9 @@ image {
font-weight: bold;
font-size: 50rpx;
color: #FF370B;
text-align: center;
/* text-align: center; */
padding-bottom: 30rpx;
margin: 0 auto;
}
.boxshadowCon_subTit span {

View File

@ -89,7 +89,7 @@
</div>
<div class="payItem_right">
<span></span>
{{ item.unpaid_amount }}
<view class="payItem_money">{{ item.unpaid_amount }}</view>
<p>未缴</p>
<div style="margin-left: 40rpx" @click="changeCheck(item, index)">
@ -172,7 +172,12 @@
</div>
<div class="PayTypeItem_con">
<div class="PayTypeItem_con_tit">物业公积金支付</div>
<div class="PayTypeItem_con_msg">单笔支付限额10000.00</div>
<div class="PayTypeItem_con_msg">
可用公积金<span></span>{{ balanceMoney }}
<div class="PayTypeItem_con_msg2" @click="changeShow2">
可组合支付
</div>
</div>
</div>
</div>
@ -235,7 +240,7 @@
<div class="boxshadowCon">
<div class="boxshadowCon_Tit">
选择房源
<div class="cancel">取消</div>
<div class="cancel" @click.stop="show = false">取消</div>
</div>
<div class="lines"></div>
<div class="communityList" v-if="roomList.length > 0">
@ -265,9 +270,12 @@
<div class="boxshadowCon">
<div class="boxshadowCon_Tit">
付款总金额
<div class="cancel">取消</div>
<div class="cancel" @click.stop="show2 = false">取消</div>
</div>
<div class="boxshadowCon_subTit">
<p></p>
{{ currentMoney }}
</div>
<div class="boxshadowCon_subTit"><span></span>4900.00</div>
<div class="lines"></div>
<div class="BanlenceList">
@ -280,7 +288,9 @@
/>
微信支付
</div>
<div class="banlenceItem_right"><span></span>4900.00</div>
<div class="banlenceItem_right">
<span></span>{{ (currentMoney - balanceMoney).toFixed(2) }}
</div>
</div>
<div class="line3"></div>
<div class="banlenceItem">
@ -292,11 +302,15 @@
/>
物业公积金支付
</div>
<div class="banlenceItem_right"><span></span>4900.00</div>
<div class="banlenceItem_right">
<span></span>{{ balanceMoney }}
</div>
</div>
</div>
<div class="btn">物业公积金+微信支付 <span></span>4900.00</div>
<div class="btn" @click="OrderPay">
物业公积金+微信支付 <span></span>{{ currentMoney }}
</div>
</div>
</div>
</div>
@ -309,12 +323,9 @@ import {
uniqueByField,
menuButtonInfo,
formatDate,
NavgateTo
} from '../../../utils';
import {
apiArr
} from '../../../api/community';
NavgateTo,
} from "../../../utils";
import { apiArr } from "../../../api/community";
export default {
data() {
@ -326,243 +337,248 @@ export default {
show2: false,
roomList: [],
currentRoom: {},
selectedRoomId: '', // ID
selectedRoomId: "", // ID
currentCommunity: "", //
currentCommunityAddr: "", //
Bill: "", //
balanceMoney: "",//
balanceMoney: 0, //
currentMoney: 0, //
payType: '1',
payInfoId: "",//id
payType: "1",
payInfoId: "", //id
page_size: 10,
page_num: 1,
payOrderList: [],
flag: false,
}
};
},
onLoad(options) {
const meun = menuButtonInfo();
this.top = meun.top;
// this.top = meun.height + meun.top;
this.localHeight = meun.height;
this.currentCommunity = uni.getStorageSync('changeCommData')
this.currentCommunityAddr = uni.getStorageSync("currentCommunityAddr")
this.getRoomSelect()
this.getUserGovenmentMoney()
this.currentCommunity = uni.getStorageSync("changeCommData");
this.currentCommunityAddr = uni.getStorageSync("currentCommunityAddr");
this.getRoomSelect();
this.getUserGovenmentMoney();
},
methods: {
changeTab(index) {
this.active = index;
if (index == 1) {
this.page_num = 1
this.getPayList()
this.page_num = 1;
this.getPayList();
}
},
back() {
uni.navigateBack({
delta: 1
delta: 1,
});
},
changeShow() {
this.show = !this.show
this.show = !this.show;
},
changeShow2() {
this.show2 = !this.show
if (this.currentMoney == 0) {
uni.showToast({
title: "请选择账单",
icon: "none",
});
return;
}
this.show2 = !this.show2;
},
//
getRoomSelect() {
request(apiArr.getCommunityRoomList, 'POST', {
request(apiArr.getCommunityRoomList, "POST", {
community_id: this.currentCommunity.id,
page_num: 1,
page_size: 50
}).then(res => {
this.roomList = res.rows
this.currentRoom = this.roomList[0]
this.selectedRoomId = this.currentRoom.room_id
this.getOrderList()
})
page_size: 50,
}).then((res) => {
this.roomList = res.rows;
this.currentRoom = this.roomList[0];
this.selectedRoomId = this.currentRoom.room_id;
this.getOrderList();
});
},
//
selectRoom(item){
selectRoom(item) {
// ID
this.selectedRoomId = item.room_id;
//
console.log('选中的房源数据:', item);
console.log("选中的房源数据:", item);
this.currentRoom = item;
this.getOrderList()
this.getOrderList();
},
//
async getUserGovenmentMoney() {
request(apiArr.getUserGovenmentMoney, "POST", {}).then(res => {
console.log(res, '公积金');
this.balanceMoney = res.balance_after
})
request(apiArr.getUserGovenmentMoney, "POST", {}).then((res) => {
console.log(res, "公积金");
this.balanceMoney = res.balance_after;
});
},
//
async getOrderList() {
await request(apiArr.getOrderList, 'POST', {
await request(apiArr.getOrderList, "POST", {
room_id: this.currentRoom.room_id,
page_num: 1,
page_size: 50
}).then(res => {
console.log(res, '账单');
res.rows.forEach(item => {
item.check = false
item.more = false
item.community_order_rows.forEach(ite => {
ite.check = false
})
page_size: 50,
}).then((res) => {
console.log(res, "账单");
res.rows.forEach((item) => {
item.check = false;
item.more = false;
item.community_order_rows.forEach((ite) => {
ite.check = false;
});
});
this.Bill = res.rows;
});
this.Bill = res.rows
})
},
//
changeCheck(e, index) {
this.Bill[index].more = !this.Bill[index].more
this.Bill[index].more = !this.Bill[index].more;
},
//
checkChange(e, index) {
this.Bill[index].check = !this.Bill[index].check
this.Bill[index].community_order_rows.forEach(item => {
this.Bill[index].check = !this.Bill[index].check;
this.Bill[index].community_order_rows.forEach((item) => {
if (this.Bill[index].check) {
item.check = true
item.check = true;
} else {
item.check = false
item.check = false;
}
})
});
//
let money = 0
this.Bill.forEach(item => {
item.community_order_rows.forEach(ite => {
let money = 0;
this.Bill.forEach((item) => {
item.community_order_rows.forEach((ite) => {
if (ite.check) {
money += ite.money
money += ite.money;
}
})
})
this.currentMoney = money
});
});
this.currentMoney = money;
},
//
itemsCheckChange(e, indes, index) {
this.Bill[index].community_order_rows[indes].check = !this.Bill[index].community_order_rows[indes].check
this.Bill[index].community_order_rows[indes].check =
!this.Bill[index].community_order_rows[indes].check;
//
let isAll = this.Bill[index].community_order_rows.every(item => {
return item.check
})
let isAll = this.Bill[index].community_order_rows.every((item) => {
return item.check;
});
if (isAll) {
this.Bill[index].check = true
this.Bill[index].check = true;
} else {
this.Bill[index].check = false
this.Bill[index].check = false;
}
//Billcommunity_order_rows
let money = 0
this.Bill.forEach(item => {
item.community_order_rows.forEach(ite => {
let money = 0;
this.Bill.forEach((item) => {
item.community_order_rows.forEach((ite) => {
if (ite.check) {
money += ite.money
money += ite.money;
}
})
})
this.currentMoney = money
});
});
this.currentMoney = money;
},
//
changePayType(e) {
this.payType = e
this.payType = e;
},
//
async createPay() {
let order_ids = []
this.Bill.forEach(item => {
item.community_order_rows.forEach(items => {
let order_ids = [];
this.Bill.forEach((item) => {
item.community_order_rows.forEach((items) => {
if (items.check) {
order_ids.push(items.order_id)
order_ids.push(items.order_id);
}
})
})
let name_mini = ''
if(this.payType == 1){
name_mini = '微信'
}else{
name_mini = '物业公积金'
});
});
let name_mini = "";
if (this.payType == 1) {
name_mini = "微信";
} else if (this.payType == 2) {
name_mini = "物业公积金";
} else {
name_mimi = "微信 + 物业公积金";
}
if(!this.currentMoney){
if (!this.currentMoney) {
return uni.showToast({
title: '请选择账单',
duration: 2000
title: "请选择账单",
duration: 2000,
});
}
await request(apiArr.createPayOrder, "POST", {
order_ids: order_ids,
community_id: this.currentCommunity.id,
room_id: this.currentRoom.room_id,
pay_user_id: uni.getStorageSync('userId'),
user_name: uni.getStorageSync('nickName'),
pay_user_name: uni.getStorageSync('nickName'),
pay_user_id: uni.getStorageSync("userId"),
user_name: uni.getStorageSync("nickName"),
pay_user_name: uni.getStorageSync("nickName"),
//
pay_time: formatDate(new Date()),
money: this.currentMoney,
name_mini
}).then(res => {
name_mini,
}).then((res) => {
console.log(res);
this.payInfoId = res.id
this.getPayInfo()
})
this.payInfoId = res.id;
this.getPayInfo();
});
},
//
async getPayInfo() {
await request(apiArr.getPayOrderInfo, "POST", { order_pay_id: 6}).then(res => {
this.OrderPay()
})
await request(apiArr.getPayOrderInfo, "POST", { order_pay_id: 6 }).then(
(res) => {
this.OrderPay();
}
);
},
//
async OrderPay(){
async OrderPay() {
// this.payInfoId
await request(apiArr.OrderPay, "POST", { order_pay_id: 6}).then(res => {
await request(apiArr.OrderPay, "POST", { order_pay_id: 6 }).then(
(res) => {
console.log(res);
})
}
);
},
//
getPayList() {
request(apiArr.getPayOrderList, "POST",
{
request(apiArr.getPayOrderList, "POST", {
room_id: this.currentRoom.room_id,
page_num: this.page_num,
page_size: this.page_size
}).then(res => {
page_size: this.page_size,
}).then((res) => {
console.log(res);
let flag = false
let flag = false;
if (res.rows && res.rows.length == this.page_size) {
flag = true
flag = true;
} else {
flag = false
flag = false;
}
this.flag = flag
this.payOrderList = this.payOrderList.concat(res.rows)
})
this.flag = flag;
this.payOrderList = this.payOrderList.concat(res.rows);
});
},
//
more(){
NavgateTo("../providentFund/index")
more() {
NavgateTo("../providentFund/index");
},
},
}
};
</script>
<style>