更新
This commit is contained in:
45
api/dataStatistics/networkPoint.js
Normal file
45
api/dataStatistics/networkPoint.js
Normal file
@@ -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'
|
||||
})
|
||||
},
|
||||
}
|
||||
46
api/orderList/orderDetails.js
Normal file
46
api/orderList/orderDetails.js
Normal file
@@ -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
|
||||
})
|
||||
},
|
||||
|
||||
|
||||
|
||||
}
|
||||
132
dataStatistics/networkPoint/components/charge.vue
Normal file
132
dataStatistics/networkPoint/components/charge.vue
Normal file
@@ -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>
|
||||
BIN
dataStatistics/networkPoint/img/1.png
Normal file
BIN
dataStatistics/networkPoint/img/1.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 1.8 KiB |
BIN
dataStatistics/networkPoint/img/2.png
Normal file
BIN
dataStatistics/networkPoint/img/2.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 1.8 KiB |
BIN
dataStatistics/networkPoint/img/3.png
Normal file
BIN
dataStatistics/networkPoint/img/3.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 2.0 KiB |
424
dataStatistics/networkPoint/index.vue
Normal file
424
dataStatistics/networkPoint/index.vue
Normal file
@@ -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>
|
||||
325
dataStatistics/networkPoint/province.vue
Normal file
325
dataStatistics/networkPoint/province.vue
Normal file
@@ -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>
|
||||
@@ -6,15 +6,18 @@
|
||||
<image style="width: 65%;height: 65%;" :src="details.siteImages"></image>
|
||||
</view>
|
||||
<view class="payLi felx justifyContent alignItems">{{details.payAccountType==0?'个人':'企业'}}</view>
|
||||
<view :style="{background:paymentStatus(details.orderStatus).bg,color:paymentStatus(details.orderStatus).color}" class="payment felx justifyContent alignItems">{{paymentStatus(details.orderStatus).text}}</view>
|
||||
<view
|
||||
:style="{background:paymentStatus(details.orderStatus).bg,color:paymentStatus(details.orderStatus).color}"
|
||||
class="payment felx justifyContent alignItems">{{paymentStatus(details.orderStatus).text}}</view>
|
||||
</view>
|
||||
<view class="paymentInformation">
|
||||
<view class=" flex">
|
||||
<view></view>
|
||||
<view>
|
||||
<view class="Text">
|
||||
{{details.siteName}}
|
||||
<uni-icons @click="copy(details.siteName)" style="margin-left: 10rpx;" color="#bbbbbb" custom-prefix="iconfont" type="iconfuzhi" size="20"></uni-icons>
|
||||
{{details.siteName}}
|
||||
<uni-icons @click="copy(details.siteName)" style="margin-left: 10rpx;" color="#bbbbbb"
|
||||
custom-prefix="iconfont" type="iconfuzhi" size="20"></uni-icons>
|
||||
</view>
|
||||
<view class="smallText">{{details.siteId}}</view>
|
||||
</view>
|
||||
@@ -22,7 +25,11 @@
|
||||
<view style="margin:33rpx 0;" class="flex">
|
||||
<view></view>
|
||||
<view>
|
||||
<view class="Text"> <text>{{details.customerName}}</text> <text style="margin-left:35rpx;">{{details.customerPhone}}</text> <uni-icons @click="copy(details.customerPhone)" style="margin-left: 10rpx;" color="#bbbbbb" custom-prefix="iconfont" type="iconfuzhi" size="20"></uni-icons> </view>
|
||||
<view class="Text"> <text>{{details.customerName}}</text> <text
|
||||
style="margin-left:35rpx;">{{details.customerPhone}}</text>
|
||||
<uni-icons @click="copy(details.customerPhone)" style="margin-left: 10rpx;" color="#bbbbbb"
|
||||
custom-prefix="iconfont" type="iconfuzhi" size="20"></uni-icons>
|
||||
</view>
|
||||
<view class="smallText">{{details.customerId}}</view>
|
||||
</view>
|
||||
</view>
|
||||
@@ -45,12 +52,14 @@
|
||||
<view class="price felx">
|
||||
<view>
|
||||
<view class="smallText">价格</view>
|
||||
<view class="bgtext">{{ details.realAmount}}<text style="position: relative;left: 20rpx;" class="Text">元</text>
|
||||
<view class="bgtext">{{ details.realAmount}}<text style="position: relative;left: 20rpx;"
|
||||
class="Text">元</text>
|
||||
</view>
|
||||
</view>
|
||||
<view style="margin-left: 143rpx;">
|
||||
<view class="smallText">升数</view>
|
||||
<view class="bgtext">{{details.volume}} <text style="position: relative;left: 20rpx;" class="Text">L</text>
|
||||
<view class="bgtext">{{details.volume}} <text style="position: relative;left: 20rpx;"
|
||||
class="Text">L</text>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
@@ -76,13 +85,16 @@
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<view v-if="details.orderWfStatus==0" @tap='codeFn' :style="{marginBottom:!moreOpen?'':'0',background:'#228B22'}"
|
||||
<view v-if="details.orderWfStatus==0" @tap='codeFn'
|
||||
:style="{marginBottom:!moreOpen?'':'0',background:'#228B22'}"
|
||||
class="writeOff felx justifyContent alignItems ">待核销</view>
|
||||
<view v-else :style="{marginBottom:!moreOpen?'':'0',background:'#BBBBBB'}"
|
||||
<view v-else :style="{marginBottom:!moreOpen?'':'0',background:'#BBBBBB'}"
|
||||
class="writeOff felx justifyContent alignItems ">已核销</view>
|
||||
<view v-if="!moreOpen" @click="moreOpen=!moreOpen" class="moreButten felx justifyContent alignItems smallText ">
|
||||
<view v-if="!moreOpen" @click="moreOpen=!moreOpen"
|
||||
class="moreButten felx justifyContent alignItems smallText ">
|
||||
更多信息&退款信息
|
||||
<uni-icons :style="{transform:moreOpen?'rotate(180deg)':'rotate(0deg)',transition:'transform .3s' }" size="15" class="content-clear-icon" type="bottom" color="#c0c4cc" ></uni-icons>
|
||||
<uni-icons :style="{transform:moreOpen?'rotate(180deg)':'rotate(0deg)',transition:'transform .3s' }"
|
||||
size="15" class="content-clear-icon" type="bottom" color="#c0c4cc"></uni-icons>
|
||||
</view>
|
||||
<view class="dxx" :style="{height:moreOpen?'265rpx':'0rpx'}">
|
||||
<view class="splitLine">
|
||||
@@ -94,41 +106,53 @@
|
||||
</view>
|
||||
<view class="more">
|
||||
<view @tap='moreOpen=false' style="display: flex; justify-content: space-between;" class="Text">
|
||||
{{details.orderSerialNumber}}
|
||||
<uni-icons :style="{transform:moreOpen?'rotate(0deg)':'rotate(180deg)',transition:'transform .3s' }" size="15" class="content-clear-icon" type="top" color="#c0c4cc" ></uni-icons>
|
||||
|
||||
{{details.orderSerialNumber}}
|
||||
<uni-icons
|
||||
:style="{transform:moreOpen?'rotate(0deg)':'rotate(180deg)',transition:'transform .3s' }"
|
||||
size="15" class="content-clear-icon" type="top" color="#c0c4cc"></uni-icons>
|
||||
|
||||
</view>
|
||||
<view style="margin-bottom:33rpx;" class="smallText">{{details.createTime}}</view>
|
||||
<view @tap="refund" v-if="!customerList.includes(details.createSource)" :style="{background:details.orderStatus==1?'':'#bbbbbb'}" class="refund felx justifyContent alignItems">退款</view>
|
||||
<!-- <view @tap="refund" v-if="!customerList.includes(details.createSource)"
|
||||
:style="{background:details.orderStatus==1?'':'#bbbbbb'}"
|
||||
class="refund felx justifyContent alignItems">退款</view> -->
|
||||
<view @tap="refundff" :style="{background:details.orderStatus==1?'':'#bbbbbb'}"
|
||||
class="refund felx justifyContent alignItems">退款</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="footerButten felx">
|
||||
<view @click="copy(details.orderSerialNumber)" class="copyButten felx justifyContent alignItems">复制订单号</view>
|
||||
<view @click="copy(details.orderSerialNumber)" class="copyButten felx justifyContent alignItems">复制订单号
|
||||
</view>
|
||||
<!-- <button class="forwardButten felx justifyContent alignItems" open-type="share">分享</button> -->
|
||||
</view>
|
||||
<popup :show='show' @confirmFn='confirmFn' @closeFn='closeFn' :butten='butten' :styles="{height:'350rpx',width:'350rpx'}" v-model="iShow.seting">
|
||||
<popup :show='show' @confirmFn='confirmFn' @closeFn='closeFn' :butten='butten'
|
||||
:styles="{height:'350rpx',width:'350rpx'}" v-model="iShow.seting">
|
||||
<view slot="coment">
|
||||
<view style="height: 350rpx;display: flex;align-items: center; width: 100%;justify-content: center;flex-wrap: wrap;flex-direction: column;">
|
||||
<view v-if="!details.secondChannelCode" style="width: 100%; font-size: 34rpx;text-align: center; margin-bottom: 15rpx;" class="smallText">核销二维码</view>
|
||||
<qrcode v-if="iShow.seting&&details.secondChannelCode" ref="qrcode" cid="2" loadMake iconSize="10" :val="details.secondChannelCode" unit="upx"
|
||||
background="#fff" foreground="#000" pdground="#000" onval
|
||||
@result="qrR" />
|
||||
<view v-if="!details.secondChannelCode">
|
||||
二维码生成错误
|
||||
</view>
|
||||
</view>
|
||||
<view
|
||||
style="height: 350rpx;display: flex;align-items: center; width: 100%;justify-content: center;flex-wrap: wrap;flex-direction: column;">
|
||||
<view v-if="!details.secondChannelCode"
|
||||
style="width: 100%; font-size: 34rpx;text-align: center; margin-bottom: 15rpx;"
|
||||
class="smallText">核销二维码</view>
|
||||
<qrcode v-if="iShow.seting&&details.secondChannelCode" ref="qrcode" cid="2" loadMake iconSize="10"
|
||||
:val="details.secondChannelCode" unit="upx" background="#fff" foreground="#000" pdground="#000"
|
||||
onval @result="qrR" />
|
||||
<view v-if="!details.secondChannelCode">
|
||||
二维码生成错误
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</popup>
|
||||
|
||||
|
||||
</view>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import orderList from '@/api/orderList'
|
||||
import qrcode from '@/components/tki-qrcode/tki-qrcode'
|
||||
|
||||
import tool from '@/utils/tool.js'
|
||||
|
||||
import serve from '@/api/orderList/orderDetails.js'
|
||||
export default {
|
||||
onShareAppMessage(res) {
|
||||
return {
|
||||
@@ -141,18 +165,18 @@
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
customerList:['HLL','FENGTU'],
|
||||
details:{},
|
||||
show:{
|
||||
img:false,
|
||||
footer:false
|
||||
customerList: ['HLL', 'FENGTU'],
|
||||
details: {},
|
||||
show: {
|
||||
img: false,
|
||||
footer: false
|
||||
},
|
||||
iShow: {
|
||||
seting: false
|
||||
},
|
||||
moreOpen: false,
|
||||
val:'898989898',
|
||||
id:null,
|
||||
val: '898989898',
|
||||
id: null,
|
||||
butten: {
|
||||
colse: '取消',
|
||||
confirm: '确定',
|
||||
@@ -161,54 +185,103 @@
|
||||
confirmBg: '',
|
||||
confirmColor: ''
|
||||
},
|
||||
refundMap: new Map([
|
||||
[
|
||||
['FUYOU'], {
|
||||
interface: serve.fuyouRefund,
|
||||
type: 'post'
|
||||
}
|
||||
],
|
||||
[
|
||||
['ZHIZHU', 'NEWHOPE', 'MUYUAN', 'G7CLUSTER-CAHNGJIU'], {
|
||||
interface: serve.orderRefund,
|
||||
type: 'post'
|
||||
}
|
||||
],
|
||||
[
|
||||
['SHUNFENG'], {
|
||||
interface: serve.sfRefund,
|
||||
type: 'post'
|
||||
}
|
||||
],
|
||||
[
|
||||
['ANNENG'], {
|
||||
interface: serve.refund,
|
||||
type: 'get'
|
||||
}
|
||||
],
|
||||
[
|
||||
['YIGUANYOU', 'ANTU'], {
|
||||
interface: serve.unifiedRefund,
|
||||
type: 'post'
|
||||
}
|
||||
],
|
||||
])
|
||||
}
|
||||
},
|
||||
|
||||
onLoad(e) {
|
||||
if(e.jsData){
|
||||
if (e.jsData) {
|
||||
console.log(JSON.parse(e.jsData));
|
||||
this.id = JSON.parse(e.jsData).id
|
||||
this.id = JSON.parse(e.jsData).id
|
||||
this.getList(this.id)
|
||||
}
|
||||
|
||||
console.log('refundMap', this.refundMap)
|
||||
},
|
||||
methods: {
|
||||
codeFn(){
|
||||
if(this.details.orderWfStatus==0){
|
||||
|
||||
orderList.getOrderQrCodeOms(this.details.orderSerialNumber).then(res=>{
|
||||
if(res.code==20000){
|
||||
refundff() {
|
||||
let {createSource} = this.details
|
||||
if(!createSource) {
|
||||
uni.showToast({
|
||||
title:"createSource 为空",
|
||||
icon:"none"
|
||||
})
|
||||
return
|
||||
}
|
||||
let keys = this.refundMap.keys()
|
||||
console.log(keys)
|
||||
// console.log(this.details)
|
||||
// console.log('refundff')
|
||||
},
|
||||
codeFn() {
|
||||
if (this.details.orderWfStatus == 0) {
|
||||
|
||||
orderList.getOrderQrCodeOms(this.details.orderSerialNumber).then(res => {
|
||||
if (res.code == 20000) {
|
||||
console.log(res)
|
||||
this.val = res.data.codeStr
|
||||
this.iShow.seting=true
|
||||
}else{
|
||||
this.iShow.seting = true
|
||||
} else {
|
||||
uni.showToast({
|
||||
title:res.msg,
|
||||
icon:'none'
|
||||
title: res.msg,
|
||||
icon: 'none'
|
||||
})
|
||||
}
|
||||
})
|
||||
|
||||
}else{
|
||||
this.iShow.seting=false
|
||||
|
||||
} else {
|
||||
this.iShow.seting = false
|
||||
}
|
||||
},
|
||||
refund(){
|
||||
if(this.details.orderStatus!==1) return ;
|
||||
let that =this
|
||||
refund() {
|
||||
if (this.details.orderStatus !== 1) return;
|
||||
let that = this
|
||||
uni.showModal({
|
||||
title: '提示',
|
||||
content: '是否确认退款',
|
||||
success: function (res) {
|
||||
success: function(res) {
|
||||
if (res.confirm) {
|
||||
orderList.refund({id:that.id}).then(res=>{
|
||||
if(res.code==20000){
|
||||
orderList.refund({
|
||||
id: that.id
|
||||
}).then(res => {
|
||||
if (res.code == 20000) {
|
||||
uni.showToast({
|
||||
title: '退款成功',
|
||||
duration: 2000
|
||||
});
|
||||
setTimeout(()=>{
|
||||
setTimeout(() => {
|
||||
that.getList(that.id)
|
||||
},1000)
|
||||
}, 1000)
|
||||
}
|
||||
})
|
||||
console.log('用户点击确定');
|
||||
@@ -218,70 +291,72 @@
|
||||
}
|
||||
});
|
||||
},
|
||||
paymentStatus(e){
|
||||
switch(e){
|
||||
paymentStatus(e) {
|
||||
switch (e) {
|
||||
case 0:
|
||||
return {
|
||||
text:'待支付',
|
||||
color:'#EBC153',
|
||||
bg:'#FFF6DD'
|
||||
}
|
||||
break;
|
||||
return {
|
||||
text: '待支付',
|
||||
color: '#EBC153',
|
||||
bg: '#FFF6DD'
|
||||
}
|
||||
break;
|
||||
case 1:
|
||||
return {
|
||||
text:'已支付',
|
||||
color:'#17A00E',
|
||||
bg:'#D1FFDA'
|
||||
}
|
||||
break;
|
||||
return {
|
||||
text: '已支付',
|
||||
color: '#17A00E',
|
||||
bg: '#D1FFDA'
|
||||
}
|
||||
break;
|
||||
case -1:
|
||||
return {
|
||||
text:'支付失败',
|
||||
color:'#EC4645',
|
||||
bg:'#FFC8C8'
|
||||
}
|
||||
break;
|
||||
return {
|
||||
text: '支付失败',
|
||||
color: '#EC4645',
|
||||
bg: '#FFC8C8'
|
||||
}
|
||||
break;
|
||||
case 2:
|
||||
return {
|
||||
text:'已取消',
|
||||
color:'#999999',
|
||||
bg:'#E9E9E9'
|
||||
}
|
||||
break;
|
||||
return {
|
||||
text: '已取消',
|
||||
color: '#999999',
|
||||
bg: '#E9E9E9'
|
||||
}
|
||||
break;
|
||||
case 3:
|
||||
return {
|
||||
text:'已退款',
|
||||
color:'#999999',
|
||||
bg:''
|
||||
}
|
||||
break;
|
||||
return {
|
||||
text: '已退款',
|
||||
color: '#999999',
|
||||
bg: ''
|
||||
}
|
||||
break;
|
||||
case 4:
|
||||
return {
|
||||
text:'退款中',
|
||||
color:'#EBC153',
|
||||
bg:''
|
||||
}
|
||||
// return '退款中'
|
||||
break;
|
||||
return {
|
||||
text: '退款中',
|
||||
color: '#EBC153',
|
||||
bg: ''
|
||||
}
|
||||
// return '退款中'
|
||||
break;
|
||||
case 5:
|
||||
return {
|
||||
text:'退款失败',
|
||||
color:'#EC4645',
|
||||
bg:''
|
||||
}
|
||||
break;
|
||||
}
|
||||
return {
|
||||
text: '退款失败',
|
||||
color: '#EC4645',
|
||||
bg: ''
|
||||
}
|
||||
break;
|
||||
}
|
||||
},
|
||||
getList(e){
|
||||
getList(e) {
|
||||
orderList.findOrderDetails({
|
||||
orderId:e
|
||||
}).then(res=>{
|
||||
if(res.code!==20000)return
|
||||
orderId: e
|
||||
}).then(res => {
|
||||
if (res.code !== 20000) return
|
||||
this.details = res.data;
|
||||
tool.numberSetting(this.details,['realAmount','volume','realPrice','marketPrice','sitePrice'],2);
|
||||
tool.numberSetting(this.details, ['realAmount', 'volume', 'realPrice', 'marketPrice',
|
||||
'sitePrice'
|
||||
], 2);
|
||||
})
|
||||
},
|
||||
qrR(){
|
||||
qrR() {
|
||||
console.log('1')
|
||||
},
|
||||
closeFn() {
|
||||
@@ -306,7 +381,7 @@
|
||||
},
|
||||
copy(text) {
|
||||
uni.setClipboardData({
|
||||
data:`${text}`,
|
||||
data: `${text}`,
|
||||
// data: `订单ID:${this.details.id}\n订单流水号:${this.details.orderSerialNumber}\n订单金额:${this.details.realAmount}元\n订单升数:${this.details.volume}升\n订单类型:${this.details.payAccountType==0?'个人':'企业'}\n司机姓名:${this.details.customerName}\n司机id:${this.details.customerId} ${this.details.companyName?'\n订单所属公司:' + this.details.companyName :''}\n手机号码:${this.details.customerPhone}`, //要被复制的内容
|
||||
// ${(this.details.payAccountType==0?'司机姓名':'订单所属公司') + ':' + (this.details.payAccountType==0? this.details.customerName:this.details.companyName)}
|
||||
success: () => { //复制成功的回调函数
|
||||
|
||||
20
pages.json
20
pages.json
@@ -551,6 +551,26 @@
|
||||
"enablePullDownRefresh": false
|
||||
}
|
||||
}]
|
||||
},
|
||||
{
|
||||
"root": "dataStatistics",
|
||||
"pages": [{
|
||||
"path": "networkPoint/index",
|
||||
"style": {
|
||||
"navigationBarTitleText": "网点数据统计",
|
||||
"navigationStyle": "custom",
|
||||
"enablePullDownRefresh": false
|
||||
}
|
||||
},
|
||||
{
|
||||
"path": "networkPoint/province",
|
||||
"style": {
|
||||
"navigationBarTitleText": "各省数据统计",
|
||||
"navigationStyle": "custom",
|
||||
"enablePullDownRefresh": false
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"globalStyle": {
|
||||
|
||||
@@ -204,5 +204,20 @@
|
||||
"image":"../../static/newindex/customerList.png"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name":"数据统计",
|
||||
"icon":"iconxiugaiyonghuxinxi",
|
||||
"label":"dataStatistics",
|
||||
"colorOpen":false,
|
||||
"submenu":[
|
||||
{
|
||||
"icon":"iconxiugaiyonghuxinxi",
|
||||
"name":"网点统计",
|
||||
"router":"/dataStatistics/networkPoint/index",
|
||||
"lable":"dataStatistics:networkPoint:list",
|
||||
"image":"../../static/newindex/customerList.png"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
@@ -31,7 +31,7 @@
|
||||
},
|
||||
type: {
|
||||
type: String,
|
||||
default: 0
|
||||
default: 1
|
||||
}
|
||||
},
|
||||
watch: {
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
import axios from 'axios'
|
||||
import utils from '@/utils/encode'
|
||||
// const env = process.env.NODE_ENV
|
||||
// const env = 'test'
|
||||
const env = 'production'
|
||||
// const testUrl = 'http://172.16.23.95:38080'
|
||||
const env = 'test'
|
||||
// const env = 'production'
|
||||
const testUrl = 'http://192.168.110.77:38080'
|
||||
|
||||
// const productUrl = 'https://www.xingoil.com/adminapi'
|
||||
// const productUrl = 'https://www.xingoil.com/adminapi' // 生产,加密 new
|
||||
const productUrl = 'http://uat.xingoil.com/adminapi'
|
||||
|
||||
const service = axios.create({
|
||||
|
||||
Reference in New Issue
Block a user