pull/6/head
parent
eb174869a4
commit
895d23dd5c
13 changed files with 1197 additions and 115 deletions
@ -0,0 +1,45 @@ |
||||
import request from '@/utils/request' |
||||
|
||||
export default { |
||||
getByProvince(data) { |
||||
return request({ |
||||
url: '/oil-finance/siteOperateRecord/getByProvince', |
||||
method: 'post', |
||||
data: data |
||||
}) |
||||
}, |
||||
getCheckInfo(data) { |
||||
return request({ |
||||
url: '/oil-site/oilSiteAppInfo/getCheckInfo', |
||||
method: 'get' |
||||
}) |
||||
}, |
||||
getByProvincePage(data) { |
||||
return request({ |
||||
url: '/oil-finance/siteOperateRecord/getByProvincePage', |
||||
method: 'post', |
||||
data: data |
||||
}) |
||||
}, |
||||
getNetworkCount(data) { |
||||
return request({ |
||||
url: '/oil-finance/siteOperateRecord/getNetworkCount', |
||||
method: 'post', |
||||
data: data |
||||
}) |
||||
}, |
||||
|
||||
// getByProvincePage(data) {
|
||||
// return request({
|
||||
// url: '/oil-finance/siteOperateRecord/getByProvincePage',
|
||||
// method: 'post',
|
||||
// data: data
|
||||
// })
|
||||
// },
|
||||
liekQuery(query) { |
||||
return request({ |
||||
url: `/oil-user/sysCustomerInfo/liekQuery/${query}`, |
||||
method: 'get' |
||||
}) |
||||
}, |
||||
} |
@ -0,0 +1,46 @@ |
||||
import request from '@/utils/request' |
||||
|
||||
export default { |
||||
// 福佑
|
||||
fuyouRefund(data) { |
||||
return request({ |
||||
url: '/oil-site/fuYou/refund', |
||||
method: 'post', |
||||
data: data |
||||
}) |
||||
}, |
||||
//智猪 长久 牧原 新希望(黑龙江中锐)
|
||||
orderRefund(data) { |
||||
return request({ |
||||
url: '/oil-site/openPlatform/orderRefund', |
||||
method: 'post', |
||||
data: data |
||||
}) |
||||
}, |
||||
//顺丰
|
||||
sfRefund(data) { |
||||
return request({ |
||||
url: '/oil-site/sf/refund', |
||||
method: 'post', |
||||
data: data |
||||
}) |
||||
}, |
||||
// 安能
|
||||
refund(id) { |
||||
return request({ |
||||
url: `/oil-finance/oilOrderInfo/refund/${id}`, |
||||
method: 'get' |
||||
}) |
||||
}, |
||||
// 安途 圆通(易管油)
|
||||
unifiedRefund(data) { |
||||
return request({ |
||||
url: '/oil-site/xoil/unifiedRefund', |
||||
method: 'post', |
||||
data: data |
||||
}) |
||||
}, |
||||
|
||||
|
||||
|
||||
} |
@ -0,0 +1,132 @@ |
||||
<template> |
||||
<view> |
||||
<uni-popup @change="change" ref="popup" type="bottom" background-color="#fff"> |
||||
<view style="height:50vh; display: flex;flex-direction: column;padding-top: 20rpx;"> |
||||
<view style="display: flex;"> |
||||
<uni-easyinput @confirm="confirmFn" style="width: 90%; margin: 0 auto;" |
||||
prefixIcon="search" v-model="nameOrPhone" placeholder="请输入内容" /> |
||||
</view> |
||||
<picker-view @change="pickerChange" style="flex: 1;"> |
||||
<picker-view-column> |
||||
<view style="display: flex;align-items: center;justify-content: center;" |
||||
v-for="(item,index) in list" :key="index">{{ item.userName || item.nickName }}</view> |
||||
</picker-view-column> |
||||
</picker-view> |
||||
<view @click="buttenFn" class="butten"> |
||||
确定 |
||||
</view> |
||||
</view> |
||||
</uni-popup> |
||||
</view> |
||||
</template> |
||||
|
||||
<script> |
||||
import serve from '@/api/dataStatistics/networkPoint.js' |
||||
|
||||
export default { |
||||
name: 'charge', |
||||
props: { |
||||
value: { |
||||
type: Boolean, |
||||
default: false |
||||
}, |
||||
}, |
||||
watch: { |
||||
value: function(n, o) { |
||||
if (n) { |
||||
this.$refs.popup.open('bottom') |
||||
} else { |
||||
this.$refs.popup.close() |
||||
} |
||||
} |
||||
}, |
||||
created() { |
||||
// this.getlist() |
||||
}, |
||||
data() { |
||||
return { |
||||
determine: null, |
||||
list: [ |
||||
|
||||
], |
||||
seleData: null, |
||||
|
||||
|
||||
nameOrPhone: '' |
||||
} |
||||
}, |
||||
methods: { |
||||
// iconClick() { |
||||
// if (!this.nameOrPhone) { |
||||
// this.getlist() |
||||
// } |
||||
// }, |
||||
buttenFn() { |
||||
clearTimeout(this.determine) |
||||
uni.showLoading({ |
||||
title: '加载中' |
||||
}) |
||||
this.determine = setTimeout(() => { |
||||
this.$emit('chargeChange', this.seleData) |
||||
uni.hideLoading() |
||||
this.$emit('input', false) |
||||
}, 700) |
||||
}, |
||||
getlist() { |
||||
// if (!this.nameOrPhone) { |
||||
// this.list = [{ |
||||
// nickName: '全部', |
||||
// id: '' |
||||
// }] |
||||
// this.seleData = this.list[0] |
||||
// return |
||||
// } |
||||
serve.liekQuery(this.nameOrPhone).then(res => { |
||||
if (res.code !== 20000) return |
||||
if (res.data.length == 0) { |
||||
uni.showToast({ |
||||
title: '暂无数据', |
||||
icon: 'none' |
||||
}) |
||||
return |
||||
} |
||||
this.list = res.data |
||||
this.list.unshift({ |
||||
nickName: '全部', |
||||
customerId: '' |
||||
}) |
||||
this.seleData = this.list[0] |
||||
}) |
||||
}, |
||||
pickerChange(e) { |
||||
console.log('pickerChange(e)',e) |
||||
this.seleData = this.list[e.detail.value[0]] |
||||
}, |
||||
change(e) { |
||||
// console.log('change(e)',e) |
||||
this.$emit('input', e.show) |
||||
}, |
||||
confirmFn() { |
||||
this.getlist() |
||||
} |
||||
} |
||||
} |
||||
</script> |
||||
|
||||
<style scoped> |
||||
.charge-container { |
||||
padding-top: 20rpx; |
||||
} |
||||
|
||||
.butten { |
||||
display: flex; |
||||
justify-content: center; |
||||
font-size: 35rpx; |
||||
color: #ffffff; |
||||
width: 60%; |
||||
margin: 10rpx auto; |
||||
border-radius: 10px; |
||||
background: #007AFF; |
||||
padding: 20rpx 0; |
||||
} |
||||
</style> |
After Width: | Height: | Size: 1.8 KiB |
After Width: | Height: | Size: 1.8 KiB |
After Width: | Height: | Size: 2.0 KiB |
@ -0,0 +1,424 @@ |
||||
<template> |
||||
<view style="height: 100vh;display: flex;flex-direction: column;background: #F0F2FF;"> |
||||
<view class="header"> |
||||
<view :style="{height:styles.top+'px'}"></view> |
||||
<uni-nav-bar @clickLeft='back' :border="false" color='white' backgroundColor="rgba(0,0,0,0)" |
||||
left-icon="back" title="网点数据统计" /> |
||||
</view> |
||||
<view class="options"> |
||||
<view @click="changeUser">{{params.nickName || '负责人'}} |
||||
<uni-icons type="forward"></uni-icons> |
||||
</view> |
||||
<view> |
||||
<picker :range="areaList" range-key="areaName" @change="changeArea"> |
||||
<view class="uni-input"> |
||||
<text class="special">{{params.provinceName || '省份'}}</text> |
||||
<uni-icons style="vertical-align: top;" type="forward"></uni-icons> |
||||
</view> |
||||
</picker> |
||||
</view> |
||||
<view> |
||||
<uni-datetime-picker type="daterange" @change="changeDatetime"> |
||||
{{dataTime.start || '开始时间'}} ~ {{dataTime.end || '结束时间'}} |
||||
<uni-icons type="forward"></uni-icons> |
||||
</uni-datetime-picker> |
||||
</view> |
||||
</view> |
||||
<view class="overview"> |
||||
<view>{{info.revenueAmountCount || '- - '}}元</view> |
||||
<view>GMV总金额</view> |
||||
<view> |
||||
<text>总毛利:{{info.grossProfitCount || '- - '}}元</text> |
||||
<text>毛利率:{{info.grossMargin || '- - '}}%</text> |
||||
</view> |
||||
</view> |
||||
<view class="title">省份排名:</view> |
||||
<view style="flex:1;overflow: hidden;margin-top: 35rpx;"> |
||||
<view v-if="!tableList.length" |
||||
style="width: 100vw; height: 100%; display: flex;align-items: center;justify-content: center;"> |
||||
<image src="@/static/qx.png" style="width: 500rpx; height: 355rpx;"></image> |
||||
</view> |
||||
<scroll-view style="height: 100%;" scroll-y="true"> |
||||
<view class="container"> |
||||
<view class="item" v-for="item,index in tableList" :key="index" @click="jumpDetail(item)"> |
||||
<view class="sequence" :class="['first','second','third'][index] || ''">{{ |
||||
index < 3 ? '' : index + 1 |
||||
}}</view> |
||||
<view class="info"> |
||||
<view> |
||||
<text>{{item.provinceName}}</text> |
||||
<text>动销油站(<text style="color: #ff0000;">{{item.siteDXCount}}</text>)</text> |
||||
<text>{{item.revenueAmountCount || '- - '}}元</text> |
||||
</view> |
||||
<view> |
||||
<view :style="{ |
||||
width:(item.revenueAmountCount/denominator * 100 > 2 |
||||
? item.revenueAmountCount/denominator * 100 |
||||
: 2 ) |
||||
+ '%'}"> |
||||
</view> |
||||
</view> |
||||
<view> |
||||
<text>总毛利:{{item.grossProfitCount|| '- - '}}元</text> |
||||
<text>毛利率:{{item.grossMargin|| '- - '}}%</text> |
||||
</view> |
||||
</view> |
||||
</view> |
||||
</view> |
||||
</scroll-view> |
||||
</view> |
||||
<view style="height: 50rpx;"></view> |
||||
<charge v-model="controlWindows.charge" @chargeChange='chargeChange' /> |
||||
</view> |
||||
</template> |
||||
|
||||
<script> |
||||
import serve from '@/api/dataStatistics/networkPoint.js' |
||||
|
||||
import charge from './components/charge.vue' |
||||
export default { |
||||
components: { |
||||
charge |
||||
}, |
||||
data() { |
||||
return { |
||||
controlWindows: { |
||||
charge: false |
||||
}, |
||||
dataTime: { |
||||
start: '', |
||||
end: '' |
||||
}, |
||||
styles: {}, |
||||
areaList: [], |
||||
params: { |
||||
businessLeader: '', |
||||
nickName: '', |
||||
provinceName: '', |
||||
dateStartTime: '', |
||||
dateEndTime: '' |
||||
}, |
||||
tableList: [], |
||||
denominator: '', |
||||
info: {}, |
||||
|
||||
} |
||||
}, |
||||
onLoad() { |
||||
this.styles = uni.getMenuButtonBoundingClientRect() |
||||
this.getCheckInfo() |
||||
this.initDate() |
||||
this.seachFn() |
||||
|
||||
|
||||
}, |
||||
|
||||
methods: { |
||||
getNetworkCount() { |
||||
|
||||
serve.getNetworkCount(this.params).then(res => { |
||||
if (res.code === 20000) { |
||||
let { |
||||
grossMargin, |
||||
grossProfitCount, |
||||
revenueAmountCount |
||||
} = res.data |
||||
this.info = { |
||||
grossMargin: this.toFixed2Handle(grossMargin), |
||||
grossProfitCount: this.toFixed2Handle(grossProfitCount), |
||||
revenueAmountCount: this.toFixed2Handle(revenueAmountCount) |
||||
} |
||||
this.denominator = revenueAmountCount |
||||
} |
||||
}) |
||||
}, |
||||
chargeChange(item) { |
||||
let { |
||||
id, |
||||
nickName |
||||
} = item |
||||
this.params.businessLeader = id |
||||
this.params.nickName = nickName |
||||
this.seachFn() |
||||
}, |
||||
initDate() { |
||||
let yesterday = new Date().getTime() - 86400000 |
||||
let { |
||||
year, |
||||
month, |
||||
day |
||||
} = this.dateHandle(yesterday) |
||||
this.dataTime.start = this.dataTime.end = `${year}-${month}-${day}` |
||||
}, |
||||
dateHandle(datetime) { |
||||
let date = new Date(datetime) |
||||
let year = date.getFullYear() |
||||
let month = date.getMonth() + 1 |
||||
let day = date.getDate() |
||||
return { |
||||
year, |
||||
month, |
||||
day |
||||
} |
||||
}, |
||||
jumpDetail(item) { |
||||
uni.navigateTo({ |
||||
url: `./province?info=${encodeURIComponent(JSON.stringify({ |
||||
dataTime:this.dataTime, |
||||
item |
||||
}))}` |
||||
}) |
||||
}, |
||||
changeUser() { |
||||
this.controlWindows.charge = true |
||||
}, |
||||
changeArea(event) { |
||||
let index = event.detail.value |
||||
this.params.provinceName = index == 0 ? '' : this.areaList[index].areaName |
||||
this.seachFn() |
||||
}, |
||||
changeDatetime(value) { |
||||
let [start, end] = value |
||||
this.dataTime.start = start |
||||
this.dataTime.end = end |
||||
this.seachFn() |
||||
}, |
||||
async seachFn() { |
||||
this.tableList = [] |
||||
let { |
||||
start, |
||||
end |
||||
} = this.dataTime |
||||
this.params.dateStartTime = start + ' 00:00:00' |
||||
this.params.dateEndTime = end + ' 23:59:59' |
||||
await this.getNetworkCount() |
||||
this.getByPage() |
||||
|
||||
}, |
||||
getByPage() { |
||||
serve.getByProvince(this.params).then(res => { |
||||
if (res.code === 20000) { |
||||
this.tableList = res.data.filter(item => { |
||||
if(item.provinceName) return item |
||||
}).map((item, index) => { |
||||
item.grossMargin = this.toFixed2Handle(item.grossMargin) |
||||
item.grossProfitCount = this.toFixed2Handle(item.grossProfitCount) |
||||
item.revenueAmountCount = this.toFixed2Handle(item.revenueAmountCount) |
||||
return item |
||||
}); |
||||
} |
||||
|
||||
}) |
||||
}, |
||||
toFixed2Handle(value) { |
||||
if (!value && value != 0) { |
||||
return '' |
||||
} |
||||
return +value.toFixed(2) + '' |
||||
}, |
||||
getCheckInfo() { |
||||
serve.getCheckInfo().then(res => { |
||||
if (res.code == 20000) { |
||||
this.areaList = res.data.areaCodeList |
||||
this.areaList.unshift({ |
||||
areaName: '全部' |
||||
}) |
||||
} |
||||
}) |
||||
}, |
||||
// // 触底加载 |
||||
// scrolltolower() { |
||||
// this.paramter.currentPage += 1 |
||||
// this.getByPage() |
||||
|
||||
// }, |
||||
|
||||
back() { |
||||
uni.navigateBack() |
||||
}, |
||||
jump(item) { |
||||
uni.navigateTo({ |
||||
url: `./details?details=${item.details}` |
||||
}) |
||||
}, |
||||
} |
||||
} |
||||
</script> |
||||
|
||||
<style lang="scss"> |
||||
// .uni-easyinput__content { |
||||
// background-color: #fff; |
||||
// } |
||||
|
||||
.header { |
||||
position: relative; |
||||
width: 100%; |
||||
background: #2866FF; |
||||
// min-height: 403rpx; |
||||
// background: url('https://xoi-support.oss-cn-hangzhou.aliyuncs.com/星油admin小程序/sjbj.png') center/100% no-repeat; |
||||
} |
||||
|
||||
.options { |
||||
display: flex; |
||||
margin-top: 30rpx; |
||||
padding: 0 33rpx; |
||||
|
||||
>view { |
||||
|
||||
&:nth-of-type(1), |
||||
&:nth-of-type(2), |
||||
{ |
||||
flex: 1; |
||||
} |
||||
|
||||
&:nth-of-type(3), |
||||
{ |
||||
flex: 2.5; |
||||
} |
||||
} |
||||
|
||||
.special { |
||||
display: inline-block; |
||||
max-width: 115rpx; |
||||
overflow: hidden; |
||||
white-space: nowrap; |
||||
text-overflow: ellipsis; |
||||
} |
||||
} |
||||
|
||||
.overview { |
||||
margin: 27rpx auto 0; |
||||
padding: 55rpx 41rpx 0; |
||||
width: 684rpx; |
||||
height: 285rpx; |
||||
color: #333; |
||||
background: url('https://publicxingyou.oss-cn-hangzhou.aliyuncs.com/mp-oil/networkPoint-background.png') 100%/100%; |
||||
border-radius: 30rpx; |
||||
|
||||
>view { |
||||
&:nth-of-type(1) { |
||||
text-align: center; |
||||
font-size: 60rpx; |
||||
color: #fff; |
||||
} |
||||
|
||||
&:nth-of-type(2) { |
||||
// margin-top: 5rpx; |
||||
text-align: center; |
||||
font-size: 20rpx; |
||||
color: #fff; |
||||
} |
||||
|
||||
&:nth-of-type(3) { |
||||
margin-top: 45rpx; |
||||
display: flex; |
||||
justify-content: space-between; |
||||
color: #fff; |
||||
} |
||||
} |
||||
} |
||||
|
||||
.title { |
||||
margin-top: 34rpx; |
||||
padding-left: 33rpx; |
||||
font-size: 28rpx; |
||||
} |
||||
|
||||
.container { |
||||
// margin-top: ; |
||||
padding: 0 60rpx 0 32rpx; |
||||
|
||||
.item { |
||||
display: flex; |
||||
margin-bottom: 35rpx; |
||||
|
||||
&:nth-last-of-type(1) { |
||||
margin-bottom: 0; |
||||
} |
||||
|
||||
.sequence { |
||||
position: relative; |
||||
top: 3rpx; |
||||
width: 60rpx; |
||||
height: 60rpx; |
||||
font-size: 24rpx; |
||||
color: #999999; |
||||
line-height: 60rpx; |
||||
text-align: center; |
||||
|
||||
&.first { |
||||
background: url('./img/1.png') 100%/100%; |
||||
} |
||||
|
||||
&.second { |
||||
background: url('./img/2.png') 100%/100%; |
||||
} |
||||
|
||||
&.third { |
||||
background: url('./img/3.png') 100%/100%; |
||||
} |
||||
} |
||||
|
||||
.info { |
||||
margin-left: 15rpx; |
||||
flex: 1; |
||||
|
||||
>view { |
||||
&:nth-of-type(1) { |
||||
font-size: 28rpx; |
||||
color: #333; |
||||
|
||||
>text { |
||||
&:nth-of-type(1) { |
||||
display: inline-block; |
||||
width: 135rpx; |
||||
font-weight: 550; |
||||
} |
||||
|
||||
&:nth-of-type(2) { |
||||
margin-left: 25rpx; |
||||
} |
||||
|
||||
&:nth-of-type(3) { |
||||
|
||||
float: right; |
||||
color: #333333; |
||||
} |
||||
} |
||||
} |
||||
|
||||
&:nth-of-type(2) { |
||||
|
||||
position: relative; |
||||
margin-top: 15rpx; |
||||
width: 100%; |
||||
height: 15rpx; |
||||
border-radius: 37rpx; |
||||
background: #E5E5E5; |
||||
|
||||
>view { |
||||
position: relative; |
||||
width: 20%; |
||||
height: 15rpx; |
||||
border-radius: 37rpx; |
||||
background: #2866FF; |
||||
} |
||||
} |
||||
|
||||
&:nth-of-type(3) { |
||||
margin-top: 5rpx; |
||||
padding-left: 97rpx; |
||||
color: #666666; |
||||
font-size: 24rpx; |
||||
|
||||
>text { |
||||
&:nth-of-type(2) { |
||||
float: right; |
||||
} |
||||
} |
||||
} |
||||
} |
||||
} |
||||
} |
||||
} |
||||
</style> |
@ -0,0 +1,325 @@ |
||||
<template> |
||||
<view style="height: 100vh;display: flex;flex-direction: column;background: #F0F2FF;"> |
||||
<view class="header"> |
||||
<view :style="{height:styles.top+'px'}"></view> |
||||
<uni-nav-bar @clickLeft='back' :border="false" color='white' backgroundColor="rgba(0,0,0,0)" |
||||
left-icon="back" title="网点数据统计" /> |
||||
</view> |
||||
<view class="options"> |
||||
时间:{{dataTime.start}} ~ {{dataTime.end}} |
||||
</view> |
||||
<view class="overview"> |
||||
<view>{{info.revenueAmountCount}}元</view> |
||||
<view>{{paramter.params.provinceName}}油站消费总金额</view> |
||||
<view> |
||||
<text>总毛利:{{info.grossProfitCount}}元</text> |
||||
<text>毛利率:{{info.grossMargin}}%</text> |
||||
</view> |
||||
</view> |
||||
<view class="category"> |
||||
<text v-for="item,index in menuList" :key="index" :class="currentIndex == index ? 'active':''" |
||||
@click="changeCategory(index,item)">{{item.label}}</text> |
||||
</view> |
||||
<view style="flex:1;overflow: hidden;margin-top: 55rpx;"> |
||||
<view v-if="!tableList.length" |
||||
style="width: 100vw; height: 100%; display: flex;align-items: center;justify-content: center;"> |
||||
<image src="@/static/qx.png" style="width: 500rpx; height: 355rpx;"></image> |
||||
</view> |
||||
<scroll-view style="height: 100%;" scroll-y="true" @scrolltolower='scrolltolower'> |
||||
<view class="container"> |
||||
<view class="item" v-for="item,index in tableList" :key="index"> |
||||
<view class="sequence" :class="['first','second','third'][index] || ''">{{ |
||||
index < 3 ? '' : index + 1 |
||||
}}</view> |
||||
<view class="info"> |
||||
<view> |
||||
<text>{{item.siteName || item.accountName || ''}}</text> |
||||
<text>{{item.revenueAmountCount|| '- - '}}元</text> |
||||
</view> |
||||
<view> |
||||
<view :style="{ |
||||
width:(item.revenueAmountCount/info.revenueAmountCount * 100 > 2 |
||||
? item.revenueAmountCount/info.revenueAmountCount * 100 |
||||
: 2) |
||||
+ '%'}"> |
||||
</view> |
||||
</view> |
||||
<view> |
||||
<text>总毛利:{{item.grossProfitCount|| '- - '}}元</text> |
||||
<text>毛利率:{{item.grossMargin|| '- - '}}%</text> |
||||
</view> |
||||
</view> |
||||
</view> |
||||
</view> |
||||
</scroll-view> |
||||
</view> |
||||
<view style="height: 50rpx;"></view> |
||||
</view> |
||||
</template> |
||||
|
||||
<script> |
||||
import serve from '@/api/dataStatistics/networkPoint.js' |
||||
|
||||
export default { |
||||
data() { |
||||
return { |
||||
styles: {}, |
||||
currentIndex: 0, |
||||
paramter: { |
||||
currentPage: 1, |
||||
pageSize: 10, |
||||
params: { |
||||
provinceName: '', |
||||
dateStartTime: '', |
||||
dateEndTime: '', |
||||
type: '1' |
||||
} |
||||
}, |
||||
|
||||
tableList: [], |
||||
denominator: '', |
||||
menuList: [{ |
||||
value: '1', |
||||
label: '油站排名' |
||||
}, |
||||
{ |
||||
value: '2', |
||||
label: '油站账户排名' |
||||
}, |
||||
], |
||||
info: {}, |
||||
dataTime: {} |
||||
} |
||||
}, |
||||
onLoad(options) { |
||||
this.styles = uni.getMenuButtonBoundingClientRect() |
||||
let { |
||||
dataTime, |
||||
item |
||||
} = JSON.parse(decodeURIComponent(options.info)) |
||||
this.dataTime = dataTime |
||||
this.info = item |
||||
this.paramter.params.provinceName = item.provinceName |
||||
this.paramter.params.dateStartTime = dataTime.start + ' 00:00:00' |
||||
this.paramter.params.dateEndTime = dataTime.end + ' 23:59:59' |
||||
this.seachFn() |
||||
}, |
||||
|
||||
methods: { |
||||
changeCategory(index, item) { |
||||
this.currentIndex = index |
||||
this.paramter.params.type = item.value |
||||
this.seachFn() |
||||
}, |
||||
|
||||
seachFn() { |
||||
this.tableList = [] |
||||
this.paramter.currentPage = 1 |
||||
|
||||
this.getByPage() |
||||
}, |
||||
getByPage() { |
||||
|
||||
serve.getByProvincePage(this.paramter).then(res => { |
||||
if (res.code === 20000) { |
||||
if (this.paramter.currentPage !== 1 && !res.data.list.length) { |
||||
uni.showToast({ |
||||
title: '没有更多数据了~', |
||||
icon: 'none' |
||||
}) |
||||
return |
||||
} |
||||
|
||||
let filterData = res.data.list.map((item, index) => { |
||||
// if (this.paramter.currentPage = 1 && index == 0) { |
||||
// this.denominator = item.revenueAmountCount |
||||
// } |
||||
item.grossMargin = this.toFixed2Handle(item.grossMargin) |
||||
item.grossProfitCount = this.toFixed2Handle(item.grossProfitCount) |
||||
item.revenueAmountCount = this.toFixed2Handle(item.revenueAmountCount) |
||||
return item |
||||
}); |
||||
|
||||
this.tableList = this.tableList.concat(filterData) |
||||
} |
||||
|
||||
}) |
||||
}, |
||||
toFixed2Handle(value) { |
||||
if (!value && value != 0) { |
||||
return '' |
||||
} |
||||
return +value.toFixed(2) + '' |
||||
}, |
||||
|
||||
// 触底加载 |
||||
scrolltolower() { |
||||
this.paramter.currentPage += 1 |
||||
this.getByPage() |
||||
|
||||
}, |
||||
back() { |
||||
uni.navigateBack() |
||||
}, |
||||
} |
||||
} |
||||
</script> |
||||
|
||||
<style lang="scss"> |
||||
.header { |
||||
position: relative; |
||||
width: 100%; |
||||
background: #2866FF; |
||||
} |
||||
|
||||
.options { |
||||
margin-top: 30rpx; |
||||
padding: 0 33rpx; |
||||
|
||||
.special { |
||||
display: inline-block; |
||||
max-width: 115rpx; |
||||
overflow: hidden; |
||||
white-space: nowrap; |
||||
text-overflow: ellipsis; |
||||
} |
||||
} |
||||
|
||||
.overview { |
||||
margin: 27rpx auto 0; |
||||
padding: 55rpx 41rpx 0; |
||||
width: 684rpx; |
||||
height: 285rpx; |
||||
color: #333; |
||||
background: url('https://publicxingyou.oss-cn-hangzhou.aliyuncs.com/mp-oil/networkPoint-background.png') 100%/100%; |
||||
border-radius: 30rpx; |
||||
|
||||
>view { |
||||
&:nth-of-type(1) { |
||||
text-align: center; |
||||
font-size: 60rpx; |
||||
color: #fff; |
||||
} |
||||
|
||||
&:nth-of-type(2) { |
||||
text-align: center; |
||||
font-size: 20rpx; |
||||
color: #fff; |
||||
} |
||||
|
||||
&:nth-of-type(3) { |
||||
margin-top: 45rpx; |
||||
display: flex; |
||||
justify-content: space-between; |
||||
color: #fff; |
||||
} |
||||
} |
||||
} |
||||
|
||||
|
||||
|
||||
.category { |
||||
display: flex; |
||||
justify-content: space-evenly; |
||||
margin-top: 45rpx; |
||||
|
||||
>text { |
||||
color: #999999; |
||||
|
||||
&.active { |
||||
font-weight: 550; |
||||
color: #333; |
||||
} |
||||
} |
||||
} |
||||
|
||||
.container { |
||||
padding: 0 60rpx 0 32rpx; |
||||
|
||||
.item { |
||||
display: flex; |
||||
margin-bottom: 35rpx; |
||||
|
||||
&:nth-last-of-type(1) { |
||||
margin-bottom: 0; |
||||
} |
||||
|
||||
.sequence { |
||||
position: relative; |
||||
top: 3rpx; |
||||
width: 60rpx; |
||||
height: 60rpx; |
||||
font-size: 24rpx; |
||||
color: #999999; |
||||
line-height: 60rpx; |
||||
text-align: center; |
||||
|
||||
&.first { |
||||
background: url('./img/1.png') 100%/100%; |
||||
} |
||||
|
||||
&.second { |
||||
background: url('./img/2.png') 100%/100%; |
||||
} |
||||
|
||||
&.third { |
||||
background: url('./img/3.png') 100%/100%; |
||||
} |
||||
} |
||||
|
||||
.info { |
||||
margin-left: 15rpx; |
||||
flex: 1; |
||||
|
||||
>view { |
||||
&:nth-of-type(1) { |
||||
font-size: 28rpx; |
||||
color: #333; |
||||
|
||||
>text { |
||||
&:nth-of-type(1) { |
||||
display: inline-block; |
||||
width: 400rpx; |
||||
font-weight: 550; |
||||
} |
||||
|
||||
&:nth-of-type(2) { |
||||
float: right; |
||||
color: #333333; |
||||
} |
||||
} |
||||
} |
||||
|
||||
&:nth-of-type(2) { |
||||
position: relative; |
||||
margin-top: 15rpx; |
||||
width: 100%; |
||||
height: 15rpx; |
||||
border-radius: 37rpx; |
||||
background: #E5E5E5; |
||||
|
||||
>view { |
||||
position: relative; |
||||
width: 20%; |
||||
height: 15rpx; |
||||
border-radius: 37rpx; |
||||
background: #2866FF; |
||||
} |
||||
} |
||||
|
||||
&:nth-of-type(3) { |
||||
margin-top: 5rpx; |
||||
color: #666666; |
||||
font-size: 24rpx; |
||||
|
||||
>text { |
||||
&:nth-of-type(2) { |
||||
float: right; |
||||
} |
||||
} |
||||
} |
||||
} |
||||
} |
||||
} |
||||
} |
||||
</style> |
Loading…
Reference in new issue