Files
LSM_OIL_SITE/packageElectron/index.vue

263 lines
5.5 KiB
Vue
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<template>
<view class="container">
<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="options-frame">
<view v-for="item,index in optionsList" :key="index" :class="index == currentIndex ? 'active':''"
@click="selectOptions(index)">{{item.text}}</view>
</view>
<scroll-view v-if="dataList.length" class="list" :scroll-y="true" @scrolltolower="lower">
<view class="item" v-for="item,index in dataList" :key="index">
<view v-if="item.status!=0" class="introduce" @click="openDetails(item)">
<view>{{item.id}}</view>
<view>
结算周期
<view>{{item.beginReconciliationTime}} {{item.endReconciliationTime}}</view>
</view>
<view>结算金额{{item.statementAmount}}</view>
<view>推送时间{{item.reviewTime?item.reviewTime:'暂无'}}</view>
<view class="footer">
<view v-if="item.status ==1" class="button" @click="openDetails(item)">点击确认</view>
<view v-if="item.status ==2" class="buttonConfirmed">已确认</view>
<view v-if="item.status ==3" class="buttonError">金额有误</view>
</view>
</view>
</view>
</scroll-view>
<view v-else class="empty">
<image src="https://publicxingyou.oss-cn-hangzhou.aliyuncs.com/mp-oil/yunsite-empty.png"></image>
<view>暂无对账单~</view>
</view>
</view>
</template>
<script>
import serve from '@/api/packageElectron/packageElectron.js'
export default {
data() {
return {
currentIndex: 0,
paramter: {
currentPage: 1,
pagesize: 20,
params: {
siteId: uni.getStorageSync('oilSitePriceId')
},
},
dataList: [],
optionsList: [{
text: '全部',
value: ''
}, {
text: '待确认',
value: ''
}, {
text: '已确认',
value: ''
}, {
text: '金额异常',
value: ''
}]
}
},
onLoad() {
this.getByPage()
},
methods: {
selectOptions(index) {
this.currentIndex = index
this.paramter.currentPage = 1
this.paramter.params ={
siteId: uni.getStorageSync('oilSitePriceId')
}
if(index == 0){
this.paramter.params.status = '5'
}else if(index ==1){
this.paramter.params.status = '1'
}else if(index ==2){
this.paramter.params.status = '2'
}else if(index ==3){
this.paramter.params.status = '3'
}
this.getByPage()
},
getByPage(){
// this.parameter.params.siteId = this.siteId
serve.getByPage(this.paramter).then(res=>{
if (res.code === 20000) {
if (!res.data.list.length&&this.paramter.currentPage!=1) {
uni.showToast({
title: '没有更多结算单啦~',
icon: 'none'
})
return
}
if (this.paramter.currentPage == 1) {
this.dataList = []
}
this.dataList = this.dataList.concat(res.data.list)
}
})
},
lower() {
this.paramter.currentPage += 1
this.getByPage()
},
openDetails(item){
let stationInfo = JSON.stringify(item)
uni.navigateTo({
url: `./reconciliationDetails/index?data=${stationInfo}`
})
}
}
}
</script>
<style lang="scss" scoped>
.container {
height: 100vh;
display: flex;
flex-direction: column;
background: #f1f2f7 !important;
>.options-frame {
display: flex;
justify-content: space-between;
padding: 0 31rpx;
background: #fff;
>view {
width: 144rpx;
height: 66rpx;
font-size: 25rpx;
line-height: 66rpx;
text-align: center;
color: #000000;
>text {
color: #F83D3D;
}
&.active {
color: #e19555;
border-bottom: 4rpx solid #e19555;
}
}
}
>.list {
margin: 30rpx;
flex: 1;
overflow-y: hidden;
.item {
margin: 20rpx 60rpx 0 0;
.introduce {
padding: 12rpx 24rpx 24rpx;
min-height: 220rpx;
background: #fff;
border: 2rpx solid #d7d7d7;
border-radius: 10rpx;
>view{
padding: 10rpx 0;
}
>view:nth-child(1){
font-weight: bold;
padding-bottom: 12rpx;
border-bottom: 2rpx solid #d7d7d7;
}
>.footer {
position: relative;
height: 58rpx;
line-height: 58rpx;
padding: 0 34rpx 40rpx;
font-size: 32rpx;
color: #000;
font-weight: 550;
.button {
position: absolute;
top: 0;
right: 10rpx;
width: 150rpx;
height: 58rpx;
line-height: 58rpx;
text-align: center;
font-size: 28rpx;
color: #fff;
background: #169bd5;
border-radius: 10rpx;
}
.buttonConfirmed{
position: absolute;
top: -85rpx;
right: 10rpx;
width: 150rpx;
height: 150rpx;
line-height: 150rpx;
text-align: center;
font-size: 28rpx;
color: #fff;
background: #7f7f7f;
border-radius: 75rpx;
transform: rotate(-45deg);
}
.buttonError{
position: absolute;
top: -85rpx;
right: 10rpx;
width: 150rpx;
height: 150rpx;
line-height: 150rpx;
text-align: center;
font-size: 28rpx;
color: #fff;
background: #d9001b;
border-radius: 75rpx;
transform: rotate(-45deg);
}
}
}
}
}
>.empty {
margin: 218rpx auto 0;
>image {
width: 473rpx;
height: 404rpx;
}
>view {
margin-top: 45rpx;
text-align: center;
font-size: 28rpx;
color: #999;
}
}
}
</style>