pull/7/head
parent
3bd60fe2bd
commit
d2878369d4
6 changed files with 612 additions and 177 deletions
@ -0,0 +1,18 @@ |
||||
import request from '@/utils/request' |
||||
|
||||
export default{ |
||||
getByPageRecord(data) { |
||||
return request({ |
||||
url: `/oil-finance/xoilSiteChannelAccountAck/getByPage`, |
||||
method: 'post', |
||||
data |
||||
}) |
||||
}, |
||||
ackBill(data) { |
||||
return request({ |
||||
url: `/oil-finance/xoilSiteChannelAccountAck/ackBill`, |
||||
method: 'post', |
||||
data |
||||
}) |
||||
}, |
||||
} |
@ -0,0 +1,425 @@ |
||||
<template> |
||||
<view class="content my-bg" style="height: 100vh; display: flex; flex-direction: column;"> |
||||
<cu-custom class="main-totextbar bg-main-oil" :isBack="true" bgColor="bg-main-oil"> |
||||
<block slot="backText">返回</block> |
||||
<block slot="content">账单推送</block> |
||||
</cu-custom> |
||||
<view class="fixed-t"> |
||||
<scroll-view scroll-x class="bg-white nav"> |
||||
<view class="flex text-center"> |
||||
<view class="cu-item flex-sub" :class="index==currentIndex?'text-orange cur':''" |
||||
v-for="(item,index) in statusEnum" :key="index" @tap="tabSelect(index,item)">{{item.label}} |
||||
</view> |
||||
</view> |
||||
</scroll-view> |
||||
</view> |
||||
|
||||
<view style="flex: 1; overflow: hidden;"> |
||||
<scroll-view style="height: 100%;" scroll-y="true" @scrolltolower="scrolltolower"> |
||||
<view v-if="listData.length" style="padding-bottom: 50rpx;"> |
||||
<view class="item" v-for="(item,index) in listData" :key="index"> |
||||
<view class="no">{{item.id}}</view> |
||||
<view class="top-region"> |
||||
<view><text>确认金额:</text><text>{{item.amount}}</text></view> |
||||
<view><text>油站实际金额:</text><text>{{item.actualAmount || '--'}}</text></view> |
||||
|
||||
<view><text>创建时间:</text><text>{{item.createTime}}</text></view> |
||||
<view><text>推送时间:</text><text>{{item.deadlineTime}}</text></view> |
||||
</view> |
||||
<view class="round" :class="statusEnum.find(i => i.value == item.ackStatus).color"> |
||||
<view> |
||||
{{statusEnum.find(i => i.value == item.ackStatus).label}} |
||||
</view> |
||||
</view> |
||||
<view class="bottom-region" v-if="item.ackStatus == 1"> |
||||
<button class="mini-btn" type="primary" size="mini" @click="examine(item)">审核</button> |
||||
</view> |
||||
</view> |
||||
</view> |
||||
<Empty v-else /> |
||||
</scroll-view> |
||||
</view> |
||||
<uni-popup ref="popup" @change="change"> |
||||
<view class="popup-frame"> |
||||
<view class="title">余额审核</view> |
||||
<radio-group @change="radioChange"> |
||||
<label class="radio" style="font-size: 25rpx;"> |
||||
<radio style="transform:scale(0.7)" value="2" :checked="submitParams.ackStatus == 2" />余额无误 |
||||
</label> |
||||
<label class="radio" style="font-size: 25rpx;margin-left: 20rpx;"> |
||||
<radio style="transform:scale(0.7)" value="3" />余额有误 |
||||
</label> |
||||
</radio-group> |
||||
<input v-if="submitParams.ackStatus == 3" class="uni-input input" v-model="submitParams.actualAmount" |
||||
placeholder-style="placeholder-style" placeholder="请输入正确余额" /> |
||||
|
||||
<button class="mini-btn position" type="primary" size="mini" @click="submit">提交</button> |
||||
<button class="mini-btn position" size="mini" @click="$refs.popup.close()">取消</button> |
||||
</view> |
||||
</uni-popup> |
||||
</view> |
||||
</template> |
||||
|
||||
<script> |
||||
import serve from '@/api/packageBill/push.js' |
||||
|
||||
export default { |
||||
data() { |
||||
return { |
||||
parameter: { |
||||
pageSize: 15, |
||||
currentPage: 1, |
||||
params: { |
||||
ackStatus: '', |
||||
}, |
||||
sorted: {} |
||||
}, |
||||
submitParams: { |
||||
batchNumber: '', |
||||
actualAmount: '', |
||||
ackStatus: '2' |
||||
}, |
||||
listData: [], |
||||
currentIndex: 0, |
||||
statusEnum: [{ |
||||
value: '', |
||||
label: '全部', |
||||
color: '' |
||||
}, |
||||
{ |
||||
value: '1', |
||||
label: '待确认', |
||||
color: 'orange' |
||||
}, { |
||||
value: '2', |
||||
label: '确认无误', |
||||
color: 'green' |
||||
}, { |
||||
value: '3', |
||||
label: '金额有误', |
||||
color: 'red' |
||||
} |
||||
], |
||||
siteId: uni.getStorageSync('oilSitePriceId') |
||||
} |
||||
}, |
||||
|
||||
onLoad() { |
||||
// console.log('this.siteId', this.siteId) |
||||
this.search() |
||||
}, |
||||
// onReachBottom() { //上拉触底函数 |
||||
// // console.log('触底函数') |
||||
// this.loadMoreOrder('onReachBottom') |
||||
// }, |
||||
methods: { |
||||
tabSelect(index, item) { |
||||
this.currentIndex = index |
||||
this.parameter.params.ackStatus = item.value |
||||
this.parameter.currentPage = 1 |
||||
this.search() |
||||
}, |
||||
|
||||
examine(item) { |
||||
this.submitParams.batchNumber = item.batchNumber |
||||
this.submitParams.actualAmount = '' |
||||
this.$refs.popup.open('center') |
||||
}, |
||||
|
||||
radioChange(val) { |
||||
this.submitParams.ackStatus = val.detail.value |
||||
if (val.detail.value == 2) { |
||||
this.submitParams.actualAmount = '' |
||||
} |
||||
}, |
||||
|
||||
submit() { |
||||
if (this.submitParams.ackStatus == 3 && !this.submitParams.actualAmount) { |
||||
uni.showToast({ |
||||
title: "请输入正确价格", |
||||
icon: 'none' |
||||
}) |
||||
return |
||||
} |
||||
serve.ackBill(this.submitParams).then(res => { |
||||
uni.showToast({ |
||||
title: res.msg, |
||||
icon: 'none' |
||||
}) |
||||
if (res.code !== 20000) return |
||||
|
||||
this.$refs.popup.close() |
||||
this.parameter.currentPage = 1 |
||||
this.search() |
||||
}) |
||||
}, |
||||
|
||||
|
||||
search() { |
||||
this.parameter.params.siteId = this.siteId |
||||
serve.getByPageRecord(this.parameter).then(res => { |
||||
if (res.code !== 20000) return |
||||
if (this.parameter.currentPage == 1) { |
||||
this.listData = res.data.list |
||||
return |
||||
} |
||||
if (!res.data.list.length) { |
||||
uni.showToast({ |
||||
title: '没有更多数据了~', |
||||
icon: 'none' |
||||
}) |
||||
return |
||||
} |
||||
this.listData = this.listData.concat(res.data.list); |
||||
}) |
||||
}, |
||||
scrolltolower() { |
||||
this.parameter.currentPage += 1 |
||||
this.search() |
||||
}, |
||||
} |
||||
} |
||||
</script> |
||||
|
||||
<style lang="scss" scoped> |
||||
.popup-frame { |
||||
position: relative; |
||||
padding: 20rpx 50rpx; |
||||
width: 600rpx; |
||||
height: 335rpx; |
||||
background: #fff; |
||||
border-radius: 20rpx; |
||||
|
||||
.title { |
||||
font-size: 30rpx; |
||||
margin-bottom: 20rpx; |
||||
text-align: center; |
||||
} |
||||
|
||||
.input { |
||||
margin-top: 20rpx; |
||||
margin-left: 8rpx; |
||||
padding-left: 15rpx; |
||||
border: 1rpx solid #ddd; |
||||
width: 67%; |
||||
height: 57rpx; |
||||
line-height: 57rpx; |
||||
} |
||||
|
||||
.position { |
||||
position: absolute; |
||||
bottom: 20rpx; |
||||
|
||||
&:nth-of-type(1) { |
||||
right: 30rpx; |
||||
} |
||||
|
||||
&:nth-of-type(2) { |
||||
right: 180rpx; |
||||
} |
||||
} |
||||
} |
||||
|
||||
.placeholder-style { |
||||
line-height: 57rpx; |
||||
} |
||||
|
||||
.item { |
||||
position: relative; |
||||
overflow: hidden; |
||||
margin: 40rpx auto 0; |
||||
padding: 0 20rpx 15rpx 20rpx; |
||||
width: 700rpx; |
||||
min-height: 260rpx; |
||||
font-size: 28rpx; |
||||
background: #fff; |
||||
border-radius: 12rpx; |
||||
box-shadow: 0px 3px 9px 0px rgba(88, 88, 88, 0.2); |
||||
|
||||
.no { |
||||
position: relative; |
||||
// padding-right: 50rpx; |
||||
width: 100%; |
||||
height: 55rpx; |
||||
line-height: 55rpx; |
||||
text-align: right; |
||||
|
||||
|
||||
&::after { |
||||
content: ''; |
||||
position: absolute; |
||||
left: 50%; |
||||
transform: translateX(-50%); |
||||
bottom: 0; |
||||
width: 100%; |
||||
height: 1rpx; |
||||
background: #ddd; |
||||
|
||||
} |
||||
} |
||||
|
||||
.round { |
||||
position: absolute; |
||||
right: 35rpx; |
||||
top: 74rpx; |
||||
width: 160rpx; |
||||
height: 160rpx; |
||||
border-radius: 50%; |
||||
border: 1px solid; |
||||
transform: rotate(-30deg); |
||||
|
||||
>view { |
||||
margin: 15rpx auto; |
||||
width: 130rpx; |
||||
height: 130rpx; |
||||
text-align: center; |
||||
font-size: 25rpx; |
||||
line-height: 130rpx; |
||||
border: 1px dashed; |
||||
border-radius: 50%; |
||||
|
||||
} |
||||
|
||||
&.green { |
||||
border-color: #67c23a; |
||||
|
||||
>view { |
||||
border-color: #67c23a; |
||||
color: #67c23a; |
||||
} |
||||
} |
||||
|
||||
&.orange { |
||||
border-color: #e6a23c; |
||||
|
||||
>view { |
||||
border-color: #e6a23c; |
||||
color: #e6a23c; |
||||
} |
||||
} |
||||
|
||||
&.red { |
||||
border-color: #f56c6c; |
||||
|
||||
>view { |
||||
border-color: #f56c6c; |
||||
color: #f56c6c; |
||||
} |
||||
} |
||||
} |
||||
|
||||
.top-region { |
||||
position: relative; |
||||
margin-top: 20rpx; |
||||
padding-left: 18rpx; |
||||
|
||||
>view { |
||||
width: 65%; |
||||
|
||||
text { |
||||
font-size: 22rpx; |
||||
|
||||
&:nth-of-type(2) { |
||||
float: right; |
||||
} |
||||
} |
||||
} |
||||
} |
||||
|
||||
.bottom-region { |
||||
margin-top: 50rpx; |
||||
text-align: right; |
||||
} |
||||
|
||||
} |
||||
|
||||
.content { |
||||
min-height: 100%; |
||||
} |
||||
|
||||
.order-list .order-item:last-of-type { |
||||
margin-bottom: 0; |
||||
} |
||||
|
||||
.placeholder-hidden { |
||||
opacity: 0; |
||||
} |
||||
|
||||
.fixed-t { |
||||
// position: fixed; |
||||
width: 750upx; |
||||
// z-index: 3; |
||||
} |
||||
|
||||
.uni-input { |
||||
height: 25rpx; |
||||
} |
||||
|
||||
.uni-picker { |
||||
height: 25rpx; |
||||
} |
||||
|
||||
.uni-list-cell-db { |
||||
width: 100%; |
||||
height: 30rpx; |
||||
} |
||||
|
||||
.popup_card_bottom { |
||||
display: flex; |
||||
justify-content: center; |
||||
margin-top: 68rpx; |
||||
} |
||||
|
||||
.popup_card_bottom_submit { |
||||
background: #FE0505; |
||||
color: #ffffff; |
||||
font-size: 25rpx; |
||||
width: 240rpx; |
||||
} |
||||
|
||||
.popup_card_bottom_close { |
||||
background: #FFFFFF; |
||||
font-size: 25rpx; |
||||
width: 240rpx; |
||||
} |
||||
|
||||
.popup_card_from_item_right_text { |
||||
font-size: 24rpx; |
||||
color: #000000; |
||||
max-width: 50%; |
||||
overflow: hidden; |
||||
text-overflow: ellipsis; |
||||
white-space: nowrap; |
||||
margin-right: 25rpx; |
||||
|
||||
} |
||||
|
||||
.popup_card_from_item_left_text { |
||||
width: 150rpx; |
||||
font-size: 24rpx; |
||||
color: #666666; |
||||
} |
||||
|
||||
.popup_card_from_item { |
||||
display: flex; |
||||
align-items: center; |
||||
margin-bottom: 40rpx; |
||||
} |
||||
|
||||
.popup_card_title { |
||||
text-align: center; |
||||
font-weight: 500; |
||||
color: #000000; |
||||
font-size: 36rpx; |
||||
margin-bottom: 80rpx; |
||||
} |
||||
|
||||
.popup_card { |
||||
|
||||
width: 681rpx; |
||||
height: 528rpx; |
||||
background: #FFFFFF; |
||||
border-radius: 15px; |
||||
padding: 64rpx; |
||||
} |
||||
</style> |
Loading…
Reference in new issue