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

View File

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