修改物业缴费支付报错的bug

This commit is contained in:
赵毅 2025-09-08 15:41:52 +08:00
parent 7596710963
commit 43bd15a93a
2 changed files with 279 additions and 336 deletions

View File

@ -1,97 +1,97 @@
<template>
<div class="container">
<div class="searchBox" :style="{ height: localHeight + 'px', paddingTop: top + 'px' }">
<div class="searchBox_add">
<div class="searchBox_left">
<view class="container">
<view class="searchBox" :style="{ height: localHeight + 'px', paddingTop: top + 'px' }">
<view class="searchBox_add">
<view class="searchBox_left">
<u-icon bold color="#000" size="40" name="arrow-left" @click="back"></u-icon>
</div>
<div class="searchBox_mid">报修信息</div>
<div class="searchBox_right"></div>
</div>
</div>
</view>
<view class="searchBox_mid">报修信息</view>
<view class="searchBox_right"></view>
</view>
</view>
<div class="repairMsg">
<div class="repairTit">
<view class="repairMsg">
<view class="repairTit">
报修信息
</div>
</view>
<div class="label"><span class="red">*</span>选择房源信息</div>
<div class="roomList">
<div v-for="(item, index) in roomList" :key="index" :class="active == index ?'roomItem active':'roomItem'" @click="changeAct(index)">{{ item.name }}</div>
</div>
<view class="label"><span class="red">*</span>选择房源信息</view>
<view class="roomList">
<view v-for="(item, index) in roomList" :key="index" :class="active == index ?'roomItem active':'roomItem'" @click="changeAct(index)">{{ item.name }}</view>
</view>
<div class="row">
<div class="row_label"><span class="red">*</span>报修类型</div>
<div class="row_con" @click="chose">
<view class="row">
<view class="row_label"><span class="red">*</span>报修类型</view>
<view class="row_con" @click="chose">
<input type="text" :value="category.category_name" placeholder="请选择报修类型" disabled>
<u-icon bold color="#999999" size="30" name="arrow-right"></u-icon>
</div>
</div>
</view>
</view>
<div class="row">
<div class="row_label"><span class="red">*</span>问题描述</div>
<div class="row_con">
<view class="row">
<view class="row_label"><span class="red">*</span>问题描述</view>
<view class="row_con">
<input type="text" placeholder="请描述故障" :value="repairInfo" data-name="repairInfo" @input="handlerInputClick">
</div>
</div>
</view>
</view>
<div class="row">
<div class="row_label"><span class="red">*</span>联系人</div>
<div class="row_con">
<view class="row">
<view class="row_label"><span class="red">*</span>联系人</view>
<view class="row_con">
<input type="text" placeholder="请输入您的姓名" :value="contactName" data-name="contactName" @input="handlerInputClick">
</div>
</div>
</view>
</view>
<div class="row">
<div class="row_label"><span class="red">*</span>联系电话</div>
<div class="row_con">
<view class="row">
<view class="row_label"><span class="red">*</span>联系电话</view>
<view class="row_con">
<input type="number" maxlength="11" placeholder="请输入您的联系方式" :value="contactPhone" data-name="contactPhone" @input="handlerInputClick">
</div>
</div>
</view>
</view>
<div class="row noneBorder">
<div class="row_label"><span class="red">*</span>上门时间</div>
<div class="row_con" @click="choseTime">
<view class="row noneBorder">
<view class="row_label"><span class="red">*</span>上门时间</view>
<view class="row_con" @click="choseTime">
<input type="text" :value="time" placeholder="请选择上门时间" disabled>
<u-icon bold color="#999999" size="30" name="arrow-right"></u-icon>
</div>
</div>
</div>
</view>
</view>
</view>
<div class="repairMedia">
<div class="row df">
<div class="row_label">上传图片</div>
<div class="row_con2">
<view class="repairMedia">
<view class="row df">
<view class="row_label">上传图片</view>
<view class="row_con2">
<u-upload :fileList="imgList" name="imgList" @afterRead="afterReadImg" @delete="deletePic" multiple
:maxCount="5">
<div class="imgCon">
<view class="imgCon">
<image src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/com_imageImg.png" mode="widthFix"></image>
上传图片
</div>
</view>
</u-upload>
</div>
</div>
</view>
</view>
<div class="row df">
<div class="row_label">上传视频</div>
<div class="row_con2">
<view class="row df">
<view class="row_label">上传视频</view>
<view class="row_con2">
<u-upload v-if="!videoList.url" :fileList="videoList" @afterRead="afterReadVideo" @delete="deleteVideo" name="videoList"
:maxCount="1" accept="video">
<div class="imgCon">
<view class="imgCon">
<image src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/com_videoImg.png" mode="widthFix"></image>
上传视频
</div>
</view>
</u-upload>
<div v-if="videoList.url" class="videoBOX">
<view v-if="videoList.url" class="videoBOX">
<video id="myVideo" :src="videoList.url" playsinline webkit-playsinline></video>
<div class="mask" @click="playFullScreenVideo">
<div class="mask_cancel" @click="cancels">删除</div>
</div>
</div>
</div>
</div>
</div>
<view class="mask" @click="playFullScreenVideo">
<view class="mask_cancel" @click="cancels">删除</view>
</view>
</view>
</view>
</view>
</view>
<u-picker :show="show" :columns="[columns]" keyName="category_name" @confirm="confirm1" @cancel="cancel1" />
<u-datetime-picker
@ -105,9 +105,9 @@
@close="cancel2"
/>
<div class="btn" @click="handlerSubmitClick">确认报修</div>
<view class="btn" @click="handlerSubmitClick">确认报修</view>
</div>
</view>
</template>
<script>

View File

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