优化完成二维码功能

This commit is contained in:
Your Name 2023-09-13 18:20:11 +08:00
parent fb7b1a2041
commit 3bda3611e4
2 changed files with 120 additions and 11 deletions

View File

@ -11,7 +11,7 @@
:checked="item.selected == '1'?true:false" :value="item.feeId"> :checked="item.selected == '1'?true:false" :value="item.feeId">
</checkbox> </checkbox>
</view> </view>
<view class="margin-left-sm"> <view class="margin-left-sm" @click="_showDetailFee(item)">
<view class="flex justify-start"> <view class="flex justify-start">
<view class="text-cut" style="width:150px">{{item.feeName}}({{item.payerObjName}}) <view class="text-cut" style="width:150px">{{item.feeName}}({{item.payerObjName}})
</view> </view>
@ -21,19 +21,38 @@
</view> </view>
</view> </view>
</view> </view>
<view class="action"> <view class="action" @click="_showDetailFee(item)">
<text class="text-grey text-sm">应缴:{{item.feeTotalPrice}}</text> <text class="text-grey text-sm">应缴:{{item.feeTotalPrice}}</text>
</view> </view>
</view> </view>
<view class="sub-info flex justify-start flex-wrap" v-if="item.showDetail">
<view class="sub-info-item text-gray text-sm" v-if="item.preDegrees">
<text class="margin-right-xs">上期读数:{{item.preDegrees}}</text>
</view>
<view class="sub-info-item text-gray text-sm" v-if="item.preDegrees">
<text class="margin-right-xs">上期读表时间:{{_getReadTime(item.preReadingTime)}}</text>
</view>
<view class="sub-info-item text-gray text-sm" v-if="item.curDegrees">
<text class="margin-right-xs">本期读数:{{item.curDegrees}}</text>
</view>
<view class="sub-info-item text-gray text-sm" v-if="item.preDegrees">
<text class="margin-right-xs">本期读表时间:{{_getReadTime(item.curReadingTime)}}</text>
</view>
<view class="sub-info-item text-gray text-sm" v-if="item.curDegrees">
<text class="margin-right-xs">使用量:{{item.curDegrees-item.preDegrees}}</text>
</view>
<view class="sub-info-item text-gray text-sm">
<text class="margin-right-xs">单价:{{item.squarePrice}}</text>
</view>
</view>
</view> </view>
</checkbox-group> </checkbox-group>
</scroll-view> </scroll-view>
<scroll-view scroll-y style="padding-bottom: 200rpx;" v-else> <scroll-view scroll-y style="padding-bottom: 200rpx;" v-else>
<view class="cu-list menu" v-for="(item,index) in fees" :key="index" :data-item="item" <view class="cu-list menu" v-for="(item,index) in fees" :key="index" :data-item="item"
v-if="item.payOnline == 'Y'"> v-if="item.payOnline == 'Y'">
<view class="cu-item "> <view class="cu-item " @click="_showDetailFee(item)">
<view class="content padding-tb-sm "> <view class="content padding-tb-sm ">
<view class="flex justify-start"> <view class="flex justify-start">
<view class="text-cut" style="width:150px">{{item.feeName}}({{item.payerObjName}}) <view class="text-cut" style="width:150px">{{item.feeName}}({{item.payerObjName}})
</view> </view>
@ -41,17 +60,35 @@
<view class="text-gray text-sm"> <view class="text-gray text-sm">
<text class="margin-right-xs">{{item.endTime}}{{_getDeadlineTime(item)}}</text> <text class="margin-right-xs">{{item.endTime}}{{_getDeadlineTime(item)}}</text>
</view> </view>
</view> </view>
<view class="action"> <view class="action">
<text class="text-grey text-sm">应缴:{{item.feeTotalPrice}}</text> <text class="text-grey text-sm">应缴:{{item.feeTotalPrice}}</text>
</view> </view>
</view> </view>
<view class="sub-info flex justify-start flex-wrap" v-if="item.showDetail">
<view class="sub-info-item text-gray text-sm" v-if="item.preDegrees">
<text class="margin-right-xs">上期读数:{{item.preDegrees}}</text>
</view>
<view class="sub-info-item text-gray text-sm" v-if="item.preDegrees">
<text class="margin-right-xs">上期读表时间:{{_getReadTime(item.preReadingTime)}}</text>
</view>
<view class="sub-info-item text-gray text-sm" v-if="item.curDegrees">
<text class="margin-right-xs">本期读数:{{item.curDegrees}}</text>
</view>
<view class="sub-info-item text-gray text-sm" v-if="item.preDegrees">
<text class="margin-right-xs">本期读表时间:{{_getReadTime(item.curReadingTime)}}</text>
</view>
<view class="sub-info-item text-gray text-sm" v-if="item.curDegrees">
<text class="margin-right-xs">使用量:{{item.curDegrees-item.preDegrees}}</text>
</view>
<view class="sub-info-item text-gray text-sm">
<text class="margin-right-xs">单价:{{item.squarePrice}}</text>
</view>
</view>
</view> </view>
</scroll-view> </scroll-view>
<view v-if="fees.length > 0" class="bg-white border flex justify-end" <view v-if="fees.length > 0" class="bg-white border flex justify-end"
style="position: fixed;width: 100%;bottom: 0;"> style="position: fixed;width: 100%;bottom: 0;">
<view class="action text-orange margin-right line-height"> <view class="action text-orange margin-right line-height">
合计{{receivableAmount}} 合计{{receivableAmount}}
</view> </view>
@ -71,7 +108,9 @@
getQrcodeOweFees getQrcodeOweFees
} from '@/api/fee/qrCodePayFee.js'; } from '@/api/fee/qrCodePayFee.js';
import { import {
dateSubOneDay dateSubOneDay,
getDate,
formatDate
} from '../../lib/java110/utils/DateUtil.js'; } from '../../lib/java110/utils/DateUtil.js';
import noDataPage from '@/components/no-data-page/no-data-page.vue' import noDataPage from '@/components/no-data-page/no-data-page.vue'
export default { export default {
@ -186,6 +225,22 @@
_getDeadlineTime: function(_fee) { _getDeadlineTime: function(_fee) {
//todo //todo
return dateSubOneDay(_fee.startTime, _fee.deadlineTime, _fee.feeFlag); return dateSubOneDay(_fee.startTime, _fee.deadlineTime, _fee.feeFlag);
},
_getReadTime:function(_value){
let _date = getDate(_value);
return formatDate(_date);
},
_showDetailFee:function(_fee){
let _fees = this.fees;
_fees.forEach(item=>{
//item.showDetail = false;
if(_fee.feeId == item.feeId){
item.showDetail = !item.showDetail;
}
});
this.$forceUpdate();
} }
} }
@ -235,4 +290,13 @@
.uni-checkbox-input{ .uni-checkbox-input{
} }
.sub-info{
background-color: #fff;
//margin-top: 0.5upx;
padding:15upx;
.sub-info-item {
width: 45%;
margin:10upx 15upx 0upx 15upx;
}
}
</style> </style>

View File

@ -3,7 +3,7 @@
<scroll-view scroll-y style="padding-bottom: 200rpx;"> <scroll-view scroll-y style="padding-bottom: 200rpx;">
<view class="block__title" v-if="fees.length > 0">应缴费用</view> <view class="block__title" v-if="fees.length > 0">应缴费用</view>
<view class="cu-list menu" v-for="(item,index) in fees" :key="index" :data-item="item" v-if="item.payOnline == 'Y'"> <view class="cu-list menu" v-for="(item,index) in fees" :key="index" :data-item="item" v-if="item.payOnline == 'Y'">
<view class="cu-item " > <view class="cu-item " @click="_showDetailFee(item)">
<view class="content padding-tb-sm"> <view class="content padding-tb-sm">
<view> <view>
<view class="text-cut" style="width:150px">{{item.feeName}}({{item.payerObjName}})</view> <view class="text-cut" style="width:150px">{{item.feeName}}({{item.payerObjName}})</view>
@ -15,10 +15,29 @@
<text class="text-grey text-sm">应缴:{{item.feeTotalPrice}}</text> <text class="text-grey text-sm">应缴:{{item.feeTotalPrice}}</text>
</view> </view>
</view> </view>
<view class="sub-info flex justify-start flex-wrap" v-if="item.showDetail">
<view class="sub-info-item text-gray text-sm" v-if="item.preDegrees">
<text class="margin-right-xs">上期读数:{{item.preDegrees}}</text>
</view>
<view class="sub-info-item text-gray text-sm" v-if="item.preDegrees">
<text class="margin-right-xs">上期读表时间:{{_getReadTime(item.preReadingTime)}}</text>
</view>
<view class="sub-info-item text-gray text-sm" v-if="item.curDegrees">
<text class="margin-right-xs">本期读数:{{item.curDegrees}}</text>
</view>
<view class="sub-info-item text-gray text-sm" v-if="item.preDegrees">
<text class="margin-right-xs">本期读表时间:{{_getReadTime(item.curReadingTime)}}</text>
</view>
<view class="sub-info-item text-gray text-sm" v-if="item.curDegrees">
<text class="margin-right-xs">使用量:{{item.curDegrees-item.preDegrees}}</text>
</view>
<view class="sub-info-item text-gray text-sm">
<text class="margin-right-xs">单价:{{item.squarePrice}}</text>
</view>
</view>
</view> </view>
</scroll-view> </scroll-view>
<view v-if="fees.length > 0" class="bg-white border flex justify-end" style="position: fixed;width: 100%;bottom: 0;"> <view v-if="fees.length > 0" class="bg-white border flex justify-end" style="position: fixed;width: 100%;bottom: 0;">
<view class="action text-orange margin-right line-height"> <view class="action text-orange margin-right line-height">
合计{{receivableAmount}} 合计{{receivableAmount}}
</view> </view>
@ -48,7 +67,8 @@
import { import {
addMonth, addMonth,
formatDate, formatDate,
dateSubOneDay dateSubOneDay,
getDate,
} from '../../lib/java110/utils/DateUtil.js' } from '../../lib/java110/utils/DateUtil.js'
import { import {
@ -134,11 +154,27 @@
_getDeadlineTime:function(_fee){ _getDeadlineTime:function(_fee){
//todo //todo
return dateSubOneDay(_fee.startTime, _fee.deadlineTime, _fee.feeFlag); return dateSubOneDay(_fee.startTime, _fee.deadlineTime, _fee.feeFlag);
},
_getReadTime:function(_value){
let _date = getDate(_value);
return formatDate(_date);
},
_showDetailFee:function(_fee){
let _fees = this.fees;
_fees.forEach(item=>{
//item.showDetail = false;
if(_fee.feeId == item.feeId){
item.showDetail = !item.showDetail;
}
});
this.$forceUpdate();
} }
} }
}; };
</script> </script>
<style> <style lang="scss">
.ppf_item { .ppf_item {
padding: 0rpx 0rpx 0rpx 0rpx; padding: 0rpx 0rpx 0rpx 0rpx;
} }
@ -177,4 +213,13 @@
.line-height { .line-height {
line-height: 100upx; line-height: 100upx;
} }
.sub-info{
background-color: #fff;
//margin-top: 0.5upx;
padding:15upx;
.sub-info-item {
width: 45%;
margin:10upx 15upx 0upx 15upx;
}
}
</style> </style>