更新
This commit is contained in:
@@ -7,5 +7,13 @@ export default {
|
||||
method: 'post',
|
||||
data: data
|
||||
})
|
||||
}
|
||||
},
|
||||
getByPageRecharge(data) {
|
||||
return request({
|
||||
url: '/oil-finance/oilCompanyAccountReverse/getByPage',
|
||||
method: 'post',
|
||||
data: data
|
||||
})
|
||||
},
|
||||
|
||||
}
|
||||
|
||||
196
components/datePopup.vue
Normal file
196
components/datePopup.vue
Normal file
@@ -0,0 +1,196 @@
|
||||
<template>
|
||||
<view>
|
||||
<uni-popup @change="change" ref="popup" type="center">
|
||||
<view class="datebody">
|
||||
<view style="text-align: end;">
|
||||
<uni-icons @click="change({show:false})" type="clear" size="30"></uni-icons>
|
||||
</view>
|
||||
<view style="flex: 1;display: flex;flex-wrap: wrap;align-content: flex-start; gap:25rpx">
|
||||
<view @click="seleFn(index)" v-for="(item,index) in dateOptions"
|
||||
:class=" seleIndex==index?'seledatebody_item': 'datebody_item'">{{item.label}}</view>
|
||||
<uni-datetime-picker @change='pickerClick' type="datetimerange" :start="starDate" :end="endDate"
|
||||
rangeSeparator="至" v-model="single">
|
||||
<view @click="seleIndex=4" :class=" seleIndex==4?'seledatebody_item':'datebody_item'">自定义</view>
|
||||
</uni-datetime-picker>
|
||||
</view>
|
||||
</view>
|
||||
</uni-popup>
|
||||
</view>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
export default {
|
||||
props: {
|
||||
value: {
|
||||
type: Boolean,
|
||||
default: false
|
||||
},
|
||||
list: {
|
||||
type: Array,
|
||||
default: () => {
|
||||
return [{
|
||||
value: '1',
|
||||
label: '江'
|
||||
},
|
||||
{
|
||||
value: '2',
|
||||
label: '湖'
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
watch: {
|
||||
value: function(n, o) {
|
||||
console.log('监听', n)
|
||||
if (n) {
|
||||
this.$refs.popup.open('center')
|
||||
} else {
|
||||
this.$refs.popup.close()
|
||||
}
|
||||
}
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
single: '',
|
||||
endDate: '',
|
||||
starDate: '',
|
||||
seleIndex: 1,
|
||||
seachValue: '',
|
||||
dateOptions: [{
|
||||
value: 0,
|
||||
label: '当天'
|
||||
},
|
||||
{
|
||||
value: 1,
|
||||
label: '昨日'
|
||||
},
|
||||
{
|
||||
value: 2,
|
||||
label: '上周'
|
||||
},
|
||||
{
|
||||
value: 3,
|
||||
label: '上月'
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
created() {
|
||||
// let date = new Date
|
||||
// this.starDate = new Date
|
||||
// this.starDate.setMonth((date.getMonth() - 1 == 0 ? 12 : date.getMonth() - 1))
|
||||
// this.starDate.setDate(1)
|
||||
// this.starDate =
|
||||
// `${this.starDate.getFullYear()}-${this.starDate.getMonth()+1}-${this.starDate.getDate()} ${this.starDate.getHours()}:${this.starDate.getMinutes()}`
|
||||
// this.endDate =
|
||||
// `${date.getFullYear()}-${date.getMonth()+1}-${date.getDate()} ${date.getHours()}:${date.getMinutes()}`
|
||||
},
|
||||
methods: {
|
||||
pickerClick(e) {
|
||||
this.$emit('input', false)
|
||||
this.$emit('datePopupChange', e)
|
||||
},
|
||||
handlerDate(date) {
|
||||
if(date instanceof String || date instanceof Number) {
|
||||
date = new Date(parseInt(date))
|
||||
}
|
||||
if (!(date instanceof Date)) return {}
|
||||
return {
|
||||
y: date.getFullYear(),
|
||||
M: (date.getMonth() + 1 + '').padStart(2, '0'),
|
||||
d: (date.getDate() + '').padStart(2, '0'),
|
||||
}
|
||||
},
|
||||
seleFn(index) {
|
||||
this.seleIndex = index
|
||||
let date = new Date()
|
||||
switch (this.seleIndex) {
|
||||
case 0:
|
||||
let dayInfo = this.handlerDate(date)
|
||||
this.$emit('datePopupChange', [
|
||||
`${dayInfo.y}-${dayInfo.M}-${dayInfo.d} 00:00:00`,
|
||||
`${dayInfo.y}-${dayInfo.M}-${dayInfo.d} 23:59:59`
|
||||
])
|
||||
break;
|
||||
case 1:
|
||||
let yesterday = new Date((date.getTime() - (86400000)));
|
||||
let yesterdayInfo = this.handlerDate(yesterday)
|
||||
this.$emit('datePopupChange', [
|
||||
`${yesterdayInfo.y}-${yesterdayInfo.M}-${yesterdayInfo.d} 00:00:00`,
|
||||
`${yesterdayInfo.y}-${yesterdayInfo.M}-${yesterdayInfo.d} 23:59:59`
|
||||
])
|
||||
break;
|
||||
case 2:
|
||||
let endLastWeek = new Date(date.getTime() - ((date.getDay() == 0 ? 7 : date.getDay()) * 86400000))
|
||||
let starLastWeek = new Date(endLastWeek.getTime() - (6 * 86400000))
|
||||
|
||||
let starLastWeekInfo = this.handlerDate(starLastWeek)
|
||||
let endLastWeekInfo = this.handlerDate(endLastWeek)
|
||||
|
||||
this.$emit('datePopupChange', [
|
||||
`${starLastWeekInfo.y}-${starLastWeekInfo.M}-${starLastWeekInfo.d} 00:00:00`,
|
||||
`${endLastWeekInfo.y}-${endLastWeekInfo.M}-${endLastWeekInfo.d} 23:59:59`
|
||||
])
|
||||
break;
|
||||
case 3:
|
||||
let LastMonth = new Date(date.getTime() - ((86400000 * date.getDate())))
|
||||
let LastMonthInfo = this.handlerDate(LastMonth)
|
||||
this.$emit('datePopupChange', [
|
||||
`${LastMonthInfo.y}-${LastMonthInfo.M}-01 00:00:00`,
|
||||
`${LastMonthInfo.y}-${LastMonthInfo.M}-${LastMonthInfo.d} 23:59:59`
|
||||
])
|
||||
break;
|
||||
}
|
||||
this.$emit('input', false)
|
||||
},
|
||||
pickerChange(e) {
|
||||
this.$emit('pickerChange', this.list[e.detail.value[0]])
|
||||
},
|
||||
change(e) {
|
||||
this.$emit('input', e.show)
|
||||
},
|
||||
confirmFn() {
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
.seledatebody_item {
|
||||
width: 140rpx;
|
||||
height: 60rpx;
|
||||
background: #ADCEFF;
|
||||
border-radius: 10px;
|
||||
color: #FFFFFF;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
margin-top: 18rpx;
|
||||
}
|
||||
|
||||
.datebody_item {
|
||||
width: 140rpx;
|
||||
height: 60rpx;
|
||||
background: #FFFFFF;
|
||||
border-radius: 10px;
|
||||
color: #BBBBBB;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
margin-top: 18rpx;
|
||||
}
|
||||
|
||||
.datebody {
|
||||
width: 520rpx;
|
||||
height: 500rpx;
|
||||
background: #F0F0F0;
|
||||
border-radius: 20px !important;
|
||||
overflow: hidden;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
flex-wrap: wrap;
|
||||
padding: 15rpx 23rpx;
|
||||
}
|
||||
</style>
|
||||
@@ -91,19 +91,19 @@
|
||||
seachValue: '',
|
||||
styles: {},
|
||||
seleindex: 0,
|
||||
navigation: [{
|
||||
text: '所有',
|
||||
index: -1
|
||||
},
|
||||
{
|
||||
text: '启用',
|
||||
index: 1
|
||||
},
|
||||
{
|
||||
text: '禁用',
|
||||
index: 0
|
||||
}
|
||||
],
|
||||
// navigation: [{
|
||||
// text: '所有',
|
||||
// index: -1
|
||||
// },
|
||||
// {
|
||||
// text: '启用',
|
||||
// index: 1
|
||||
// },
|
||||
// {
|
||||
// text: '禁用',
|
||||
// index: 0
|
||||
// }
|
||||
// ],
|
||||
listData: []
|
||||
}
|
||||
},
|
||||
@@ -265,20 +265,20 @@
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
.form-item_body_left_bottom_text {
|
||||
/* .form-item_body_left_bottom_text {
|
||||
font-size: 24rpx;
|
||||
color: #999999;
|
||||
}
|
||||
} */
|
||||
|
||||
.form-item_body_left {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
.form_body_item_body_container {
|
||||
/* .form_body_item_body_container {
|
||||
margin-left: 24rpx;
|
||||
font-size: 28rpx;
|
||||
}
|
||||
} */
|
||||
|
||||
.form_body_item_body {
|
||||
display: flex;
|
||||
@@ -306,7 +306,7 @@
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
.navigation_seleitem {
|
||||
/* .navigation_seleitem {
|
||||
width: 150rpx;
|
||||
height: 59rpx;
|
||||
background: #F0F2FF;
|
||||
@@ -320,9 +320,9 @@
|
||||
transition: all 0.3s;
|
||||
position: relative;
|
||||
bottom: -2px;
|
||||
}
|
||||
} */
|
||||
|
||||
.navigation_item {
|
||||
/* .navigation_item {
|
||||
width: 150rpx;
|
||||
height: 59rpx;
|
||||
border-top-left-radius: 11rpx;
|
||||
@@ -334,14 +334,14 @@
|
||||
align-items: center;
|
||||
transition: all 0.3s;
|
||||
bottom: -2px;
|
||||
}
|
||||
} */
|
||||
|
||||
.Navigation {
|
||||
/* .Navigation {
|
||||
display: flex;
|
||||
position: absolute;
|
||||
bottom: 0px;
|
||||
transition: all .5s;
|
||||
}
|
||||
} */
|
||||
|
||||
.header_seach_butten {
|
||||
font-size: 24rpx !important;
|
||||
@@ -400,13 +400,4 @@
|
||||
height: var(--status-bar-height);
|
||||
}
|
||||
|
||||
.copy {
|
||||
position: relative;
|
||||
top: 7rpx;
|
||||
display: inline-block;
|
||||
margin-left: 15rpx;
|
||||
width: 32rpx;
|
||||
height: 32rpx;
|
||||
background: url('../../static/copy.png') 100%/ 100%;
|
||||
}
|
||||
</style>
|
||||
|
||||
161
financialCenter/enterprise/account/detail.vue
Normal file
161
financialCenter/enterprise/account/detail.vue
Normal file
@@ -0,0 +1,161 @@
|
||||
<template>
|
||||
<view class="detail">
|
||||
<view class="card">
|
||||
<view>{{info.companyName}}</view>
|
||||
<view>{{handlerNumber(info.totalBalance)}}</view>
|
||||
<view>企业总余额(元)</view>
|
||||
</view>
|
||||
<view class="card-sec">
|
||||
<view class="first">
|
||||
<view>{{handlerNumber(info.balance)}}</view>
|
||||
<view>账户总余额(元)</view>
|
||||
</view>
|
||||
<view class="second">
|
||||
<view class="sepcial">
|
||||
<view>{{handlerNumber(+info.outCountBalance + +info.inCountBalance)}}</view>
|
||||
<view>油卡总余额</view>
|
||||
</view>
|
||||
<view>
|
||||
<view>{{handlerNumber(info.inCountBalance)}}</view>
|
||||
<view>自营油卡余额</view>
|
||||
</view>
|
||||
<view>
|
||||
<view>{{handlerNumber(info.outCountBalance)}}</view>
|
||||
<view>外营油卡余额</view>
|
||||
</view>
|
||||
<view class="sepcial">
|
||||
<view>{{handlerNumber(+info.rechargeRebateBalance + +info.consumeRebateBalance)}}</view>
|
||||
<view>返利总余额</view>
|
||||
</view>
|
||||
<view>
|
||||
<view>{{handlerNumber(info.rechargeRebateBalance)}}</view>
|
||||
<view>充值返利余额</view>
|
||||
</view>
|
||||
<view>
|
||||
<view>{{handlerNumber(info.consumeRebateBalance)}}</view>
|
||||
<view>消费返利余额</view>
|
||||
</view>
|
||||
<view class="sepcial">
|
||||
<view>{{handlerNumber(info.rechargeBalance)}}</view>
|
||||
<view>充值余额</view>
|
||||
</view>
|
||||
<view class="sepcial">
|
||||
<view>{{handlerNumber(info.chargeRechargeBalance)}}</view>
|
||||
<view>赊销充值余额</view>
|
||||
</view>
|
||||
<view class="sepcial">
|
||||
<view>{{handlerNumber(info.totalChargeAmount)}}</view>
|
||||
<view>赊销待还金额</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
// import serve from '@/api/financialCenter/business.js'
|
||||
export default {
|
||||
data() {
|
||||
return {
|
||||
info: {}
|
||||
|
||||
}
|
||||
},
|
||||
onLoad(options) {
|
||||
if (options.item) {
|
||||
this.info = JSON.parse(decodeURI(options.item))
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
handlerNumber(number) {
|
||||
if (number == 0) return number
|
||||
if (!number) {
|
||||
return '--'
|
||||
}
|
||||
return +number.toFixed(2)
|
||||
},
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style>
|
||||
.detail {
|
||||
padding: 100rpx 35rpx 0;
|
||||
|
||||
}
|
||||
|
||||
.sepcial {
|
||||
padding-top: 13rpx !important;
|
||||
}
|
||||
|
||||
.sepcial view:nth-of-type(1) {
|
||||
font-size: 38rpx;
|
||||
}
|
||||
|
||||
.card {
|
||||
padding: 50rpx 40rpx 0;
|
||||
wdith: 100%;
|
||||
height: 285rpx;
|
||||
background: url('https://publicxingyou.oss-cn-hangzhou.aliyuncs.com/mp-oil/oms-card-bg.png') #fff 100%/100% no-repeat;
|
||||
border-radius: 30rpx;
|
||||
}
|
||||
|
||||
.card view {
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
.card view:nth-of-type(2) {
|
||||
margin-top: 60rpx;
|
||||
font-size: 44rpx;
|
||||
}
|
||||
|
||||
.card view:nth-of-type(1),
|
||||
.card view:nth-of-type(3) {
|
||||
font-size: 26rpx;
|
||||
}
|
||||
|
||||
.card-sec {
|
||||
width: 100%;
|
||||
min-height: 500rpx;
|
||||
padding: 45rpx 35rpx;
|
||||
background: #FAEBD770;
|
||||
border-radius: 30rpx;
|
||||
}
|
||||
|
||||
.card-sec .first {
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.card-sec .first view:nth-of-type(1) {
|
||||
font-size: 46rpx;
|
||||
}
|
||||
|
||||
.card-sec .first view:nth-of-type(2) {
|
||||
font-size: 26rpx;
|
||||
}
|
||||
|
||||
.card-sec .second {
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
margin-top: 20rpx;
|
||||
|
||||
}
|
||||
|
||||
.card-sec .second>view {
|
||||
padding-top: 20rpx;
|
||||
padding-left: 5rpx;
|
||||
width: 33.3%;
|
||||
height: 120rpx;
|
||||
}
|
||||
|
||||
.card-sec .second>view view:nth-of-type(1) {
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
color: #333;
|
||||
}
|
||||
|
||||
.card-sec .second>view view:nth-of-type(2) {
|
||||
color: #696969;
|
||||
font-size: 24rpx;
|
||||
}
|
||||
</style>
|
||||
166
financialCenter/enterprise/account/index.vue
Normal file
166
financialCenter/enterprise/account/index.vue
Normal file
@@ -0,0 +1,166 @@
|
||||
<template>
|
||||
<view style="height: 100vh;display: flex;flex-direction: column;">
|
||||
<view class="header">
|
||||
<view :style="{height:styles.top+'px'}"></view>
|
||||
<uni-nav-bar @clickLeft='jump(-1)' :border="false" color='white' backgroundColor="rgba(0,0,0,0)"
|
||||
left-icon="back" title="公司账户管理" />
|
||||
<view class="seach">
|
||||
<uni-easyinput @confirm='seachFn' style="border-radius:12rpx ;" prefixIcon="search"
|
||||
placeholder-style="color:#bbb;font-weight: 100;" confirmType="搜索"
|
||||
v-model="paramter.params.companyName" placeholder="请输入公司名称">
|
||||
</uni-easyinput>
|
||||
</view>
|
||||
</view>
|
||||
<view style="flex:1;overflow: hidden;">
|
||||
<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"
|
||||
@tap="jump(1,'/financialCenter/enterprise/account/detail',item)">
|
||||
<image class="logo" src="@/static/company.png"></image>
|
||||
<view>{{item.companyName}}</view>
|
||||
<view>企业总余额:{{handlerNumber(item.totalBalance)}}</view>
|
||||
</view>
|
||||
</view>
|
||||
</scroll-view>
|
||||
</view>
|
||||
</view>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import serve from '@/api/financialCenter/business.js'
|
||||
export default {
|
||||
data() {
|
||||
return {
|
||||
styles: {},
|
||||
paramter: {
|
||||
currentPage: 1,
|
||||
pageSize: 10,
|
||||
sorted:{
|
||||
createTime:'desc'
|
||||
},
|
||||
params: {
|
||||
companyName: ''
|
||||
}
|
||||
},
|
||||
tableList: []
|
||||
}
|
||||
},
|
||||
onLoad() {
|
||||
this.styles = uni.getMenuButtonBoundingClientRect()
|
||||
this.getByPage()
|
||||
},
|
||||
methods: {
|
||||
seachFn() {
|
||||
this.tableList = []
|
||||
this.paramter.currentPage = 1
|
||||
this.getByPage()
|
||||
console.log('seachFn')
|
||||
},
|
||||
getByPage() {
|
||||
serve.getByPage(this.paramter).then(res => {
|
||||
if (!res.data.list.length) {
|
||||
uni.showToast({
|
||||
title: '没有数据了哦~',
|
||||
icon: 'none'
|
||||
})
|
||||
return
|
||||
}
|
||||
this.tableList = this.tableList.concat(res.data.list);
|
||||
})
|
||||
},
|
||||
// 触底加载
|
||||
scrolltolower() {
|
||||
this.paramter.currentPage += 1
|
||||
this.getByPage()
|
||||
|
||||
},
|
||||
handlerNumber(number) {
|
||||
if (number == 0) return number
|
||||
if (!number) {
|
||||
return '--'
|
||||
}
|
||||
return +number.toFixed(2)
|
||||
},
|
||||
|
||||
jump(e, path, item) {
|
||||
console.log(123)
|
||||
switch (e) {
|
||||
case -1:
|
||||
uni.navigateBack()
|
||||
break;
|
||||
case 1:
|
||||
uni.navigateTo({
|
||||
url: `${path}?item=${encodeURI(JSON.stringify(item))}`
|
||||
})
|
||||
break;
|
||||
}
|
||||
},
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style>
|
||||
.uni-easyinput__content {
|
||||
background-color: #fff;
|
||||
}
|
||||
|
||||
.header {
|
||||
position: relative;
|
||||
width: 100%;
|
||||
min-height: 403rpx;
|
||||
background: url('https://xoi-support.oss-cn-hangzhou.aliyuncs.com/星油admin小程序/sjbj.png') center/100% no-repeat;
|
||||
}
|
||||
|
||||
.header .seach {
|
||||
margin-top: 60rpx;
|
||||
padding: 0 50rpx;
|
||||
}
|
||||
|
||||
.container {
|
||||
padding: 30rpx 55rpx;
|
||||
}
|
||||
|
||||
.container .item {
|
||||
position: relative;
|
||||
margin-bottom: 25rpx;
|
||||
padding-top: 60rpx;
|
||||
height: 200rpx;
|
||||
width: 100%;
|
||||
background: #fff;
|
||||
/* border: 1px solid #333; */
|
||||
border-radius: 10rpx;
|
||||
}
|
||||
|
||||
.container .item .logo {
|
||||
position: absolute;
|
||||
left: 20rpx;
|
||||
top: 50%;
|
||||
transform: translateY(-50%);
|
||||
width: 100rpx;
|
||||
height: 100rpx;
|
||||
border-radius: 50%;
|
||||
/* border: 1px solid #333; */
|
||||
}
|
||||
|
||||
.container .item view {
|
||||
padding-left: 150rpx;
|
||||
|
||||
}
|
||||
|
||||
.container .item view:nth-of-type(1) {
|
||||
/* margin-top: 57rpx; */
|
||||
color: #333;
|
||||
font-size: 30rpx;
|
||||
font-weight: 550;
|
||||
}
|
||||
|
||||
.container .item view:nth-of-type(2) {
|
||||
margin-top: 10rpx;
|
||||
color: #778899;
|
||||
font-size: 24rpx;
|
||||
}
|
||||
</style>
|
||||
392
financialCenter/enterprise/recharge/index.vue
Normal file
392
financialCenter/enterprise/recharge/index.vue
Normal file
@@ -0,0 +1,392 @@
|
||||
<template>
|
||||
<view style="height: 100vh;display: flex;flex-direction: column; ">
|
||||
<view class="header">
|
||||
<view :style="{height:styles.top+'px'}" class="top"></view>
|
||||
<uni-nav-bar @clickLeft='back' color='white' backgroundColor="rgba(0,0,0,0)" left-icon="back"
|
||||
title="企业充值" />
|
||||
|
||||
<view class="header_seach">
|
||||
<view class="header_seach_seach">
|
||||
<!-- <uni-easyinput @focus="inputFocus" @clear="inputClear"
|
||||
style="height: 100%; flex: 1; background-color: #FFFFFF; border-radius:12rpx ;"
|
||||
placeholder-style="color:#bbbbbb;font-weight: 100;" :value="parameter.params.name"
|
||||
placeholder="企业名称">
|
||||
</uni-easyinput> -->
|
||||
<!-- <input @focus="inputFocus"
|
||||
style="height: 100%; flex: 1; background-color: #FFFFFF; border-radius:12rpx ;"
|
||||
placeholder-style="color:#bbbbbb;font-weight: 100;" :value="parameter.params.name"
|
||||
placeholder="企业名称">
|
||||
</input> -->
|
||||
<view @click="inputFocus" class="special-input" >
|
||||
{{ parameter.params.name || '企业名称'}}
|
||||
<image v-if="parameter.params.name" class="close" src="../../../static/close.png" @click="inputClear"></image>
|
||||
</view>
|
||||
|
||||
|
||||
<button @tap='search' class="header_seach_butten">
|
||||
<uni-icons type="search" size="20" color="#bbbbbb"></uni-icons>
|
||||
<view>搜索</view>
|
||||
</button>
|
||||
</view>
|
||||
|
||||
<view class="date-chunk">
|
||||
<text>日期:</text>
|
||||
<text style="margin-left: 10rpx;" @click="controlWindows.datePopup=true">
|
||||
{{ parameter.params.createTimeStart.split(' ')[0] || '开始时间' }} ~ {{ parameter.params.createTimeEnd.split(' ')[0] || '结束时间' }}
|
||||
</text>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<view style="flex: 1;overflow: hidden;">
|
||||
<scroll-view style="height: 100%;" scroll-y="true" @scrolltolower="scrolltolower">
|
||||
<view v-for="(item,index) in listData">
|
||||
<view class="item">
|
||||
<view class="type">{{typeEnum[item.transactionType]}}</view>
|
||||
<view class="top-region">
|
||||
<image src="../../../static/selegs.png"
|
||||
style="width: 100rpx; height: 100rpx;border-radius: 50%;"></image>
|
||||
<view class="">{{item.companyName}}</view>
|
||||
<view class="transfer">
|
||||
<text class="pay">付</text>
|
||||
<text>{{item.offlinePaymentCompany || '暂无'}}</text>
|
||||
</view>
|
||||
<view class="transfer">
|
||||
<text class="collect">收</text>
|
||||
<text>{{item.internalCompanyName || '暂无'}}</text>
|
||||
</view>
|
||||
<view class="status"
|
||||
:class="statusEnum.find(_item => _item.value == item.transactionState).class">
|
||||
{{statusEnum.find(_item => _item.value == item.transactionState).label}}
|
||||
</view>
|
||||
</view>
|
||||
<view class="bottom-region">
|
||||
<text>{{item.createTime}}</text>
|
||||
<text>¥{{item.transactionAmount}}</text>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</scroll-view>
|
||||
</view>
|
||||
<datePopup @datePopupChange='datePopupChange' v-model="controlWindows.datePopup" />
|
||||
</view>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import datePopup from '@/components/datePopup.vue'
|
||||
|
||||
import serve from '@/api/financialCenter/business.js'
|
||||
export default {
|
||||
components: {
|
||||
datePopup
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
controlWindows: {
|
||||
datePopup: false
|
||||
},
|
||||
parameter: {
|
||||
pageSize: 15,
|
||||
currentPage: 1,
|
||||
params: {
|
||||
name: '',
|
||||
companyId: '',
|
||||
createTimeStart: '',
|
||||
createTimeEnd: '',
|
||||
businessLeader: '',
|
||||
},
|
||||
sorted: {
|
||||
|
||||
}
|
||||
},
|
||||
styles: {},
|
||||
listData: [],
|
||||
userInfo: uni.getStorageSync('user'),
|
||||
statusEnum: [{
|
||||
value: '0',
|
||||
label: '已申请',
|
||||
class: 'orange'
|
||||
},
|
||||
{
|
||||
value: '1',
|
||||
label: '已成功',
|
||||
class: 'green'
|
||||
},
|
||||
{
|
||||
value: '-1',
|
||||
label: '已撤销',
|
||||
class: 'gray'
|
||||
}
|
||||
],
|
||||
typeEnum: {
|
||||
'RECHARGE': '充值',
|
||||
'REVOKE': '销账',
|
||||
'CHARGE_SALES': '赊销',
|
||||
'CONSUME_REBATE': '消费返利',
|
||||
'TURN': '圈回',
|
||||
}
|
||||
}
|
||||
},
|
||||
onPullDownRefresh() {
|
||||
console.log('下拉的生命周期')
|
||||
},
|
||||
onLoad() {
|
||||
this.styles = uni.getMenuButtonBoundingClientRect()
|
||||
|
||||
uni.$on('currentEnterprise', (item) => {
|
||||
if (!item.id) return
|
||||
this.parameter.params.companyId = item.id
|
||||
this.parameter.params.name = item.name
|
||||
|
||||
})
|
||||
},
|
||||
onShow() {
|
||||
this.search();
|
||||
},
|
||||
|
||||
methods: {
|
||||
back() {
|
||||
uni.navigateBack()
|
||||
},
|
||||
inputFocus(e) {
|
||||
console.log('e', e)
|
||||
uni.navigateTo({
|
||||
url: './selEnterprise'
|
||||
})
|
||||
},
|
||||
inputClear() {
|
||||
this.parameter.params.companyId = ''
|
||||
this.parameter.params.name = ''
|
||||
},
|
||||
datePopupChange(time) {
|
||||
this.parameter.currentPage = 1
|
||||
this.parameter.params.createTimeStart = time[0]
|
||||
this.parameter.params.createTimeEnd = time[1]
|
||||
},
|
||||
search() {
|
||||
// this.parameter.params['businessLeader'] = this.userInfo.id
|
||||
serve.getByPageRecharge(this.parameter).then(res => {
|
||||
if (res.code !== 20000) return
|
||||
this.listData = this.listData.concat(res.data.list);
|
||||
})
|
||||
},
|
||||
|
||||
scrolltolower() {
|
||||
this.parameter.currentPage += 1
|
||||
this.search()
|
||||
},
|
||||
|
||||
handlerDate(date) {
|
||||
if (date instanceof String || date instanceof Number) {
|
||||
date = new Date(parseInt(date))
|
||||
}
|
||||
if (!(date instanceof Date)) return {}
|
||||
return {
|
||||
y: date.getFullYear(),
|
||||
M: (date.getMonth() + 1 + '').padStart(2, '0'),
|
||||
d: (date.getDate() + '').padStart(2, '0'),
|
||||
}
|
||||
},
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style lang="scss">
|
||||
page {
|
||||
background-color: #F0F2FF;
|
||||
}
|
||||
|
||||
.date-chunk {
|
||||
margin-top: 19rpx;
|
||||
padding: 0 40rpx;
|
||||
height: 75rpx;
|
||||
width: 555rpx;
|
||||
line-height: 75rpx;
|
||||
font-size: 27rpx;
|
||||
background: #ADCEFF;
|
||||
border-radius: 6px;
|
||||
}
|
||||
|
||||
.special-input {
|
||||
position: relative;
|
||||
height: 100%;
|
||||
flex: 1;
|
||||
background-color: #FFF;
|
||||
border-radius: 12rpx;
|
||||
color: #333;
|
||||
line-height: 80rpx;
|
||||
padding-left: 20rpx;
|
||||
.close {
|
||||
position: absolute;
|
||||
top: 50%;
|
||||
right: 20rpx;
|
||||
transform: translateY(-50%);
|
||||
width: 36rpx;
|
||||
height: 36rpx;
|
||||
}
|
||||
}
|
||||
|
||||
.item {
|
||||
position: relative;
|
||||
overflow: hidden;
|
||||
margin: 40rpx auto 0;
|
||||
padding: 20rpx 20rpx 15rpx 20rpx;
|
||||
width: 700rpx;
|
||||
font-size: 28rpx;
|
||||
background: #fff;
|
||||
border-radius: 12rpx;
|
||||
box-shadow: 0px 3px 9px 0px rgba(88, 88, 88, 0.2);
|
||||
|
||||
.type {
|
||||
position: absolute;
|
||||
left: -24px;
|
||||
width: 175rpx;
|
||||
text-align: center;
|
||||
height: 40rpx;
|
||||
transform: rotate(-45deg);
|
||||
font-size: 22rpx;
|
||||
line-height: 40rpx;
|
||||
z-index: 20;
|
||||
color: #fff;
|
||||
background: #1890FF;
|
||||
}
|
||||
|
||||
.top-region {
|
||||
position: relative;
|
||||
padding-left: 135rpx;
|
||||
min-height: 150rpx;
|
||||
|
||||
image {
|
||||
position: absolute;
|
||||
left: 5rpx;
|
||||
top: 50%;
|
||||
transform: translateY(-50%);
|
||||
width: 100rpx;
|
||||
height: 100rpx;
|
||||
// border: 1px solid #333;
|
||||
}
|
||||
|
||||
.transfer {
|
||||
margin-top: 10rpx;
|
||||
|
||||
text {
|
||||
font-size: 25rpx;
|
||||
|
||||
&:nth-of-type(1) {
|
||||
vertical-align: top;
|
||||
display: inline-block;
|
||||
width: 40rpx;
|
||||
height: 40rpx;
|
||||
text-align: center;
|
||||
line-height: 40rpx;
|
||||
|
||||
&.pay {
|
||||
color: #1890ff;
|
||||
background: #e8f4ff;
|
||||
border: 1px solid #d1e9ff;
|
||||
}
|
||||
|
||||
&.collect {
|
||||
color: #13ce66;
|
||||
background: #e7faf0;
|
||||
border: 1px solid #d0f5e0;
|
||||
}
|
||||
}
|
||||
|
||||
&:nth-of-type(2) {
|
||||
display: inline-block;
|
||||
margin-left: 15rpx;
|
||||
width: 450rpx;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.status {
|
||||
position: absolute;
|
||||
top: 0;
|
||||
right: 0;
|
||||
font-size: 25rpx;
|
||||
|
||||
&.green {
|
||||
color: #13ce66;
|
||||
}
|
||||
|
||||
&.orange {
|
||||
color: #ffba00;
|
||||
}
|
||||
|
||||
&.gray {
|
||||
color: #909399;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.bottom-region {
|
||||
font-size: 22rpx;
|
||||
|
||||
text {
|
||||
&:nth-of-type(1) {
|
||||
color: #bbb;
|
||||
}
|
||||
|
||||
&:nth-of-type(2) {
|
||||
float: right;
|
||||
font-size: 25rpx;
|
||||
color: #1890FF;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
.header_seach_butten {
|
||||
font-size: 24rpx !important;
|
||||
display: flex !important;
|
||||
align-items: center !important;
|
||||
margin: 0 !important;
|
||||
flex-shrink: 1;
|
||||
margin-left: 9rpx !important;
|
||||
background: #FFFFFF !important;
|
||||
justify-content: center;
|
||||
}
|
||||
|
||||
.uni-easyinput__content {
|
||||
height: 80rpx;
|
||||
}
|
||||
|
||||
.uni-easyinput {
|
||||
height: 80rpx;
|
||||
}
|
||||
|
||||
.header_seach_seach {
|
||||
display: flex;
|
||||
height: 80rpx;
|
||||
margin-top: 23rpx;
|
||||
}
|
||||
|
||||
.header_seach {
|
||||
font-size: 26rpx;
|
||||
padding: 0 10px;
|
||||
}
|
||||
|
||||
.uni-navbar--border {
|
||||
border: 0px !important;
|
||||
}
|
||||
|
||||
.header {
|
||||
position: relative;
|
||||
color: white;
|
||||
min-height: 403rpx;
|
||||
background: url('https://xoi-support.oss-cn-hangzhou.aliyuncs.com/星油admin小程序/sjbj.png') 100%/100%;
|
||||
}
|
||||
|
||||
.uni-navbar__header-btns-right {
|
||||
padding-right: 0 !important;
|
||||
width: 120rpx !important;
|
||||
}
|
||||
|
||||
.top {
|
||||
height: var(--status-bar-height);
|
||||
}
|
||||
</style>
|
||||
164
financialCenter/enterprise/recharge/selEnterprise.vue
Normal file
164
financialCenter/enterprise/recharge/selEnterprise.vue
Normal file
@@ -0,0 +1,164 @@
|
||||
<template>
|
||||
<view>
|
||||
<view class="company_body">
|
||||
<view class="header_seach_seach">
|
||||
<uni-easyinput @confirm="seachFn"
|
||||
style="height: 100%; flex: 1; margin: 0 auto; background-color: #FFFFFF; border-radius:12rpx ;"
|
||||
prefixIcon="search" v-model="params.name" placeholder="请输入企业名称进行查询">
|
||||
</uni-easyinput>
|
||||
</view>
|
||||
</view>
|
||||
<view class="company_list">
|
||||
<view @tap="seleFn(item)" v-for="(item,index) in companyList" class="company_list_item">
|
||||
<image src="../../../static/selegs.png" style="width: 73rpx; height: 73rpx;"></image>
|
||||
<view class="company_list_item_text">{{item.name}}</view>
|
||||
<!-- <view style="flex-grow: 1; text-align: end;text-align: -webkit-right;">
|
||||
<view class="checkboxs">
|
||||
<view v-if="item.isChecked" class="checkboxss"></view>
|
||||
</view>
|
||||
</view> -->
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import serve from '@/api/userManagement/customer.js'
|
||||
|
||||
export default {
|
||||
data() {
|
||||
return {
|
||||
timer: null,
|
||||
companyList: [],
|
||||
params: {
|
||||
name: ''
|
||||
},
|
||||
}
|
||||
},
|
||||
|
||||
onShow() {
|
||||
this.companyGetByPage()
|
||||
},
|
||||
// onReachBottom() {
|
||||
// // this.getData.currentPage += 1
|
||||
// this.getDriversList()
|
||||
// },
|
||||
methods: {
|
||||
seleFn(item) {
|
||||
uni.$emit('currentEnterprise', item)
|
||||
this.timer = setTimeout(() => {
|
||||
clearTimeout(this.timer)
|
||||
uni.navigateBack()
|
||||
}, 200)
|
||||
},
|
||||
seachFn() {
|
||||
if (!this.params.name) {
|
||||
uni.showToast({
|
||||
title: '搜索条件不可为空',
|
||||
icon: 'none'
|
||||
})
|
||||
return
|
||||
}
|
||||
this.companyGetByPage()
|
||||
},
|
||||
|
||||
companyGetByPage() {
|
||||
serve.companyGetByPage(this.params).then(res => {
|
||||
if (res.code !== 20000) return
|
||||
this.companyList = res.data
|
||||
})
|
||||
},
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style>
|
||||
.companytip {
|
||||
width: 88rpx;
|
||||
height: 38rpx;
|
||||
border-radius: 4rpx;
|
||||
color: #FFFFFF;
|
||||
font-size: 24rpx;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
}
|
||||
|
||||
.checkboxss {
|
||||
width: 80%;
|
||||
height: 80%;
|
||||
background-color: #2866FF;
|
||||
border-radius: 50px;
|
||||
}
|
||||
|
||||
.checkboxs {
|
||||
width: 20rpx;
|
||||
height: 20rpx;
|
||||
border-radius: 50px;
|
||||
border: 1px solid #BBBBBB;
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
.checkbox__inner {
|
||||
border-radius: 50px !important;
|
||||
}
|
||||
|
||||
.uni-data-checklist {
|
||||
flex: 0 !important;
|
||||
}
|
||||
|
||||
.uni-data-checklist .checklist-group .checklist-box {
|
||||
margin: 0 !important;
|
||||
}
|
||||
|
||||
.uni-data-checklist {
|
||||
width: max-content;
|
||||
}
|
||||
|
||||
.company_list_item_text {
|
||||
font-size: 28rpx;
|
||||
color: #000000;
|
||||
margin-left: 23rpx;
|
||||
}
|
||||
|
||||
.company_list_item {
|
||||
min-height: 92rpx;
|
||||
background: #FFFFFF;
|
||||
box-shadow: 0px 3px 9px 0px rgba(88, 88, 88, 0.2);
|
||||
border-radius: 8rpx;
|
||||
font-size: 28rpx;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
padding: 9rpx 21rpx;
|
||||
margin-top: 19rpx;
|
||||
}
|
||||
|
||||
.company_list {
|
||||
width: 100vw;
|
||||
padding: 0 31rpx;
|
||||
box-sizing: border-box;
|
||||
margin-top: 40rpx;
|
||||
}
|
||||
|
||||
.company_body {
|
||||
background-color: #2866FF;
|
||||
padding: 25rpx 0;
|
||||
}
|
||||
|
||||
.uni-easyinput__content {
|
||||
height: 80rpx;
|
||||
}
|
||||
|
||||
.uni-easyinput {
|
||||
height: 80rpx;
|
||||
}
|
||||
|
||||
.header_seach_seach {
|
||||
display: flex;
|
||||
height: 80rpx;
|
||||
background-color: #2866FF;
|
||||
padding: 0 31rpx;
|
||||
}
|
||||
</style>
|
||||
125
financialCenter/serviceStation/account/detail.vue
Normal file
125
financialCenter/serviceStation/account/detail.vue
Normal file
@@ -0,0 +1,125 @@
|
||||
<template>
|
||||
<view class="detail">
|
||||
<view class="card">
|
||||
<view>{{info.accountName}}</view>
|
||||
<view>{{handlerNumber(info.balance)}}</view>
|
||||
<view>账户总余额(元)</view>
|
||||
</view>
|
||||
<view class="card-sec">
|
||||
<view class="second">
|
||||
<view class="sepcial">
|
||||
<view>{{handlerNumber(info.rechargeBalance)}}</view>
|
||||
<view>账户充值余额</view>
|
||||
</view>
|
||||
<view class="sepcial">
|
||||
<view>{{handlerNumber(info.rechargeRebateBalance)}}</view>
|
||||
<view>充值返利余额</view>
|
||||
</view>
|
||||
<view class="sepcial">
|
||||
<view>{{handlerNumber(info.consumeRebateBalance)}}</view>
|
||||
<view>消费返利余额</view>
|
||||
</view>
|
||||
<view class="sepcial">
|
||||
<view>{{handlerNumber(info.calibrationBalance)}}</view>
|
||||
<view>校准金额</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
export default {
|
||||
data() {
|
||||
return {
|
||||
info: {}
|
||||
}
|
||||
},
|
||||
onLoad(options) {
|
||||
if (options.item) {
|
||||
this.info = JSON.parse(decodeURI(options.item))
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
handlerNumber(number) {
|
||||
console.log(number)
|
||||
if (number == 0) return number
|
||||
if (!number) {
|
||||
return '--'
|
||||
}
|
||||
return +number.toFixed(2)
|
||||
},
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style>
|
||||
.detail {
|
||||
padding: 100rpx 35rpx 0;
|
||||
|
||||
}
|
||||
|
||||
.sepcial {
|
||||
padding-top: 13rpx !important;
|
||||
}
|
||||
|
||||
.sepcial view:nth-of-type(1) {
|
||||
font-size: 38rpx;
|
||||
}
|
||||
|
||||
.card {
|
||||
padding: 50rpx 40rpx 0;
|
||||
wdith: 100%;
|
||||
height: 285rpx;
|
||||
background: url('https://publicxingyou.oss-cn-hangzhou.aliyuncs.com/mp-oil/oms-card-bg.png') #fff 100%/100% no-repeat;
|
||||
border-radius: 30rpx;
|
||||
}
|
||||
|
||||
.card view {
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
.card view:nth-of-type(2) {
|
||||
margin-top: 60rpx;
|
||||
font-size: 44rpx;
|
||||
}
|
||||
|
||||
.card view:nth-of-type(1),
|
||||
.card view:nth-of-type(3) {
|
||||
font-size: 26rpx;
|
||||
/* margin-top: 10rpx; */
|
||||
}
|
||||
|
||||
.card-sec {
|
||||
width: 100%;
|
||||
/* min-height: 500rpx; */
|
||||
padding: 35rpx;
|
||||
background: #FAEBD770;
|
||||
border-radius: 30rpx;
|
||||
}
|
||||
|
||||
.card-sec .second {
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
margin-top: 20rpx;
|
||||
|
||||
}
|
||||
|
||||
.card-sec .second>view {
|
||||
padding-top: 20rpx;
|
||||
padding-left: 5rpx;
|
||||
width: 33.3%;
|
||||
height: 120rpx;
|
||||
}
|
||||
|
||||
.card-sec .second>view view:nth-of-type(1) {
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
color: #333;
|
||||
}
|
||||
|
||||
.card-sec .second>view view:nth-of-type(2) {
|
||||
color: #696969;
|
||||
font-size: 24rpx;
|
||||
}
|
||||
</style>
|
||||
163
financialCenter/serviceStation/account/index.vue
Normal file
163
financialCenter/serviceStation/account/index.vue
Normal file
@@ -0,0 +1,163 @@
|
||||
<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='jump(-1)' :border="false" color='white' backgroundColor="rgba(0,0,0,0)"
|
||||
left-icon="back" title="油站账户管理" />
|
||||
<view class="seach">
|
||||
<uni-easyinput @confirm='seachFn' style="border-radius:12rpx ;" prefixIcon="search"
|
||||
placeholder-style="color:#bbb;font-weight: 100;" confirmType="搜索"
|
||||
v-model="paramter.params.accountName" placeholder="请输入油站账户名称">
|
||||
</uni-easyinput>
|
||||
</view>
|
||||
</view>
|
||||
<view style="flex:1;overflow: hidden;">
|
||||
<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"
|
||||
@tap="jump(1,'/financialCenter/serviceStation/detail',item)">
|
||||
<image class="logo" src="@/static/serviceStation.png"></image>
|
||||
<view>{{item.accountName}}</view>
|
||||
<view>账户总余额:{{handlerNumber(item.balance)}}</view>
|
||||
</view>
|
||||
</view>
|
||||
</scroll-view>
|
||||
</view>
|
||||
</view>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import serve from '@/api/financialCenter/serviceStation.js'
|
||||
export default {
|
||||
data() {
|
||||
return {
|
||||
styles: {},
|
||||
paramter: {
|
||||
currentPage: 1,
|
||||
pageSize: 10,
|
||||
sorted:{
|
||||
createTime:'desc'
|
||||
},
|
||||
params: {
|
||||
accountName: ''
|
||||
}
|
||||
},
|
||||
tableList: []
|
||||
}
|
||||
},
|
||||
onLoad() {
|
||||
this.styles = uni.getMenuButtonBoundingClientRect()
|
||||
this.getByPage()
|
||||
},
|
||||
// onShow() {
|
||||
// this.getByPage()
|
||||
// },
|
||||
methods: {
|
||||
seachFn() {
|
||||
this.tableList = []
|
||||
this.paramter.currentPage = 1
|
||||
this.getByPage()
|
||||
console.log('seachFn')
|
||||
},
|
||||
getByPage() {
|
||||
serve.getByPage(this.paramter).then(res => {
|
||||
if (!res.data.list.length) {
|
||||
uni.showToast({
|
||||
title: '没有数据了哦~',
|
||||
icon: 'none'
|
||||
})
|
||||
return
|
||||
}
|
||||
this.tableList = this.tableList.concat(res.data.list);
|
||||
})
|
||||
},
|
||||
// 触底加载
|
||||
scrolltolower() {
|
||||
this.paramter.currentPage += 1
|
||||
this.getByPage()
|
||||
},
|
||||
handlerNumber(number) {
|
||||
if (number == 0) return number
|
||||
if (!number) {
|
||||
return '--'
|
||||
}
|
||||
return +number.toFixed(2)
|
||||
},
|
||||
jump(e, path, item) {
|
||||
switch (e) {
|
||||
case -1:
|
||||
uni.navigateBack()
|
||||
break;
|
||||
case 1:
|
||||
uni.navigateTo({
|
||||
url: `${path}?item=${encodeURI(JSON.stringify(item))}`
|
||||
})
|
||||
break;
|
||||
}
|
||||
},
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style>
|
||||
.uni-easyinput__content {
|
||||
background-color: #fff;
|
||||
}
|
||||
|
||||
.header {
|
||||
position: relative;
|
||||
width: 100%;
|
||||
min-height: 403rpx;
|
||||
background: url('https://xoi-support.oss-cn-hangzhou.aliyuncs.com/星油admin小程序/sjbj.png') center/100% no-repeat;
|
||||
}
|
||||
|
||||
.header .seach {
|
||||
margin-top: 30rpx;
|
||||
padding: 0 50rpx;
|
||||
}
|
||||
|
||||
.container {
|
||||
padding: 30rpx 55rpx;
|
||||
}
|
||||
|
||||
.container .item {
|
||||
position: relative;
|
||||
margin-bottom: 25rpx;
|
||||
padding-top: 60rpx;
|
||||
height: 200rpx;
|
||||
width: 100%;
|
||||
background: #fff;
|
||||
border-radius: 10rpx;
|
||||
}
|
||||
|
||||
.container .item .logo {
|
||||
position: absolute;
|
||||
left: 20rpx;
|
||||
top: 50%;
|
||||
transform: translateY(-50%);
|
||||
width: 100rpx;
|
||||
height: 100rpx;
|
||||
border-radius: 50%;
|
||||
/* border: 1px solid #333; */
|
||||
}
|
||||
|
||||
.container .item view {
|
||||
padding-left: 150rpx;
|
||||
}
|
||||
|
||||
.container .item view:nth-of-type(1) {
|
||||
color: #333;
|
||||
font-size: 30rpx;
|
||||
font-weight: 550;
|
||||
}
|
||||
|
||||
.container .item view:nth-of-type(2) {
|
||||
margin-top: 10rpx;
|
||||
color: #778899;
|
||||
font-size: 24rpx;
|
||||
}
|
||||
</style>
|
||||
33
pages.json
33
pages.json
@@ -393,13 +393,36 @@
|
||||
{
|
||||
"root": "financialCenter",
|
||||
"pages": [{
|
||||
"path": "business/index",
|
||||
"path": "enterprise/account/index",
|
||||
"style": {
|
||||
"navigationBarTitleText": "企业账户管理",
|
||||
"navigationStyle": "custom",
|
||||
"enablePullDownRefresh": false
|
||||
}
|
||||
|
||||
}, {
|
||||
"path": "enterprise/account/detail",
|
||||
"style": {
|
||||
"navigationBarBackgroundColor": "#2866FF",
|
||||
"navigationBarTitleText": "企业账户管理",
|
||||
"enablePullDownRefresh": false
|
||||
}
|
||||
|
||||
}, {
|
||||
"path": "enterprise/recharge/index",
|
||||
"style": {
|
||||
"navigationBarTitleText": "企业充值",
|
||||
"navigationStyle": "custom",
|
||||
"enablePullDownRefresh": false
|
||||
}
|
||||
|
||||
}, {
|
||||
"path": "enterprise/recharge/selEnterprise",
|
||||
"style": {
|
||||
"navigationBarTitleText": "请选择公司",
|
||||
"enablePullDownRefresh": false
|
||||
}
|
||||
|
||||
}, {
|
||||
"path": "serviceStation/index",
|
||||
"style": {
|
||||
@@ -409,15 +432,7 @@
|
||||
}
|
||||
|
||||
},
|
||||
{
|
||||
"path": "business/detail",
|
||||
"style": {
|
||||
"navigationBarBackgroundColor": "#2866FF",
|
||||
"navigationBarTitleText": "公司账户管理",
|
||||
"enablePullDownRefresh": false
|
||||
}
|
||||
|
||||
},
|
||||
{
|
||||
"path": "serviceStation/detail",
|
||||
"style": {
|
||||
|
||||
@@ -16,7 +16,8 @@
|
||||
<view class="index_topbody">
|
||||
<view :style="{marginTop:'calc(267rpx - ' + shikHeig + ')'}" class="index_top_car">
|
||||
<view class="index_top_car_header_photo">
|
||||
<image style="width: 140rpx; height:140rpx;border-radius: 50%;" :src=" user.headPhoto || '/static/tx.png' "></image>
|
||||
<image style="width: 140rpx; height:140rpx;border-radius: 50%;"
|
||||
:src=" user.headPhoto || '/static/tx.png' "></image>
|
||||
</view>
|
||||
<view style="padding-top: 70rpx;">
|
||||
<view class="bgtext" style="">{{user.name?user.name:'暂未设置'}}</view>
|
||||
@@ -57,12 +58,14 @@
|
||||
<view class="left_text">油品分发</view>
|
||||
</view>
|
||||
<view class="index_list_item_right">
|
||||
<view v-if="jurisdiction('distributeReverse:info:list')" @tap="jump(1)" class="index_list_item_right_item">
|
||||
<view v-if="jurisdiction('distributeReverse:info:list')" @tap="jump(1)"
|
||||
class="index_list_item_right_item">
|
||||
<image style="width: 43rpx; height: 43rpx;margin-right: 15rpx;" src="@/static/oliList.png">
|
||||
</image>
|
||||
<view class="listtext">分发列表</view>
|
||||
</view>
|
||||
<view v-if="jurisdiction('distributeReverse:info:add')" @tap="jump(3)" class="index_list_item_right_item">
|
||||
<view v-if="jurisdiction('distributeReverse:info:add')" @tap="jump(3)"
|
||||
class="index_list_item_right_item">
|
||||
<image style="width: 43rpx; height: 43rpx;margin-right: 15rpx;" src="@/static/addoli.png">
|
||||
</image>
|
||||
<view class="listtext">新增分发</view>
|
||||
@@ -70,8 +73,10 @@
|
||||
</view>
|
||||
</view>
|
||||
<view class="index_list_item">
|
||||
<view style="background: linear-gradient(122deg, #EEBA5F 0%, #FBAF2B 100%);"class="index_list_item_left">
|
||||
<image style="width: 107rpx; height: 103rpx; margin-bottom: 15rpx;" src="@/static/order.png"></image>
|
||||
<view style="background: linear-gradient(122deg, #EEBA5F 0%, #FBAF2B 100%);"
|
||||
class="index_list_item_left">
|
||||
<image style="width: 107rpx; height: 103rpx; margin-bottom: 15rpx;" src="@/static/order.png">
|
||||
</image>
|
||||
<view class="left_text">订单管理</view>
|
||||
</view>
|
||||
<view class="index_list_item_right">
|
||||
@@ -86,7 +91,8 @@
|
||||
<view class="index_list_item">
|
||||
<view style="background: linear-gradient(122deg, #EEBA5F 0%, #FBAF2B 100%);"
|
||||
class="index_list_item_left">
|
||||
<image style="width: 107rpx; height: 103rpx; margin-bottom: 15rpx;" src="@/static/order.png"></image>
|
||||
<image style="width: 107rpx; height: 103rpx; margin-bottom: 15rpx;" src="@/static/order.png">
|
||||
</image>
|
||||
<view class="left_text">动销排名</view>
|
||||
</view>
|
||||
<view class="index_list_item_right">
|
||||
@@ -105,11 +111,13 @@
|
||||
<view class="index_list_item">
|
||||
<view style="background: linear-gradient(122deg, #EEBA5F 0%, #FBAF2B 100%);"
|
||||
class="index_list_item_left">
|
||||
<image style="width: 107rpx; height: 103rpx; margin-bottom: 15rpx;" src="@/static/order.png"></image>
|
||||
<image style="width: 107rpx; height: 103rpx; margin-bottom: 15rpx;" src="@/static/order.png">
|
||||
</image>
|
||||
<view class="left_text">调价管理</view>
|
||||
</view>
|
||||
<view class="index_list_item_right">
|
||||
<view v-if="jurisdiction('priceAdjust:info:list')" @tap="jump(5)" class="index_list_item_right_item">
|
||||
<view v-if="jurisdiction('priceAdjust:info:list')" @tap="jump(5)"
|
||||
class="index_list_item_right_item">
|
||||
<image style="width: 43rpx; height: 43rpx;margin-right: 15rpx;" src="@/static/orderList.png">
|
||||
</image>
|
||||
<view class="listtext">调价申请</view>
|
||||
@@ -148,38 +156,31 @@
|
||||
},
|
||||
onLoad() {
|
||||
try {
|
||||
let that = this
|
||||
// let that = this
|
||||
let style = uni.getMenuButtonBoundingClientRect()
|
||||
const query = uni.createSelectorQuery().in(this);
|
||||
query.select('.index_top_car').boundingClientRect(data => {
|
||||
let shikHeig = Number(style.height) + Number(style.top) + (Number(data.height) / 2)
|
||||
that.shikHeig = shikHeig + 'px'
|
||||
console.log("得到布局位置信息" + JSON.stringify(data));
|
||||
console.log("节点离页面顶部的距离为" + data.top, shikHeig);
|
||||
this.shikHeig = shikHeig + 'px'
|
||||
}).exec();
|
||||
} catch (err) {
|
||||
console.log('失败')
|
||||
console.log('onLoad err')
|
||||
}
|
||||
this.upDate()
|
||||
},
|
||||
methods: {
|
||||
upDate() {
|
||||
console.log('检查更新中----');
|
||||
const updateManager = wx.getUpdateManager();
|
||||
updateManager.onCheckForUpdate(function(res) {
|
||||
// 请求完新版本信息的回调
|
||||
console.log(res.hasUpdate, '版本信息')
|
||||
})
|
||||
// updateManager.onUpdateFailed(function () {
|
||||
// console.log('安装包下载失败')
|
||||
// // 新版本下载失败
|
||||
// });
|
||||
|
||||
updateManager.onUpdateReady(function() {
|
||||
wx.showModal({
|
||||
title: '更新提示',
|
||||
content: '新版本已经准备好,是否重启应用?',
|
||||
success: function(res) {
|
||||
console.log(res,'****')
|
||||
if (res.confirm) {
|
||||
// 新的版本已经下载好,调用 applyUpdate 应用新版本并重启
|
||||
updateManager.applyUpdate()
|
||||
@@ -189,8 +190,6 @@
|
||||
})
|
||||
},
|
||||
jurisdiction(e) {
|
||||
// console.log(`%c 当前校验项:${e},校验结果:${this.user.authList.includes(e)},返回权限数据↓`,'color:red;font-size:50px;');
|
||||
// console.log(this.user.authList)
|
||||
return this.user.authList.includes(e)
|
||||
},
|
||||
jump(e) {
|
||||
@@ -198,9 +197,6 @@
|
||||
case 0:
|
||||
uni.navigateTo({
|
||||
url: "/driverManagement/index/index",
|
||||
fail(e) {
|
||||
console.log(e, '--')
|
||||
},
|
||||
})
|
||||
break;
|
||||
case 1:
|
||||
|
||||
@@ -133,16 +133,23 @@
|
||||
{
|
||||
"icon":"iconxiugaijiage",
|
||||
"name":"公司账户管理",
|
||||
"router":"/financialCenter/business/index",
|
||||
"lable":"finance:account:enterprise",
|
||||
"router":"/financialCenter/enterprise/account/index",
|
||||
"lable":"finance:enterprise:account",
|
||||
"image":"../../static/newindex/accountEnterpriseList.png"
|
||||
},
|
||||
{
|
||||
"icon":"iconxiugaijiage",
|
||||
"name":"油站账户管理",
|
||||
"router":"/financialCenter/serviceStation/index",
|
||||
"lable":"finance:account:serviceStation",
|
||||
"lable":"finance:serviceStation:account",
|
||||
"image":"../../static/newindex/accountServiceStationList.png"
|
||||
},
|
||||
{
|
||||
"icon":"iconxiugaijiage",
|
||||
"name":"企业充值",
|
||||
"router":"/financialCenter/enterprise/recharge/index",
|
||||
"lable":"finance:enterprise:recharge",
|
||||
"image":"../../static/newindex/customerList.png"
|
||||
}
|
||||
]
|
||||
},
|
||||
|
||||
@@ -169,6 +169,7 @@
|
||||
background: #2866FF;
|
||||
z-index: 10;
|
||||
}
|
||||
|
||||
.info-frame {
|
||||
position: absolute;
|
||||
left: 50%;
|
||||
@@ -194,6 +195,7 @@
|
||||
white-space: nowrap;
|
||||
color: #666;
|
||||
}
|
||||
|
||||
.info-frame>view:nth-of-type(2) {
|
||||
/* font-size: 32rpx; */
|
||||
color: #bbb;
|
||||
@@ -207,14 +209,17 @@
|
||||
height: 120rpx;
|
||||
/* border-radius: 50%; */
|
||||
}
|
||||
|
||||
.domain {
|
||||
/* flex: 1; */
|
||||
|
||||
padding-bottom: 320rpx;
|
||||
}
|
||||
|
||||
.domain>.item {
|
||||
margin-top: 30rpx;
|
||||
margin-top: 13rpx;
|
||||
}
|
||||
|
||||
.domain>.item:nth-of-type(1) {
|
||||
margin-top: 90rpx;
|
||||
}
|
||||
@@ -224,23 +229,30 @@
|
||||
font-size: 32rpx;
|
||||
color: #666;
|
||||
}
|
||||
|
||||
.options-frame {
|
||||
margin-top: 10rpx;
|
||||
padding: 0 35rpx;
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
flex-wrap: wrap;
|
||||
}
|
||||
|
||||
.options-frame>.option {
|
||||
position: relative;
|
||||
margin-left: 20rpx;
|
||||
/* margin-left: 20rpx; */
|
||||
margin-bottom: 17rpx;
|
||||
padding: 10rpx 14rpx;
|
||||
width: 335rpx;
|
||||
height: 140rpx;
|
||||
background: #fff;
|
||||
border-radius: 20rpx;
|
||||
}
|
||||
|
||||
.options-frame>.option:nth-of-type(1) {
|
||||
margin-left: 0;
|
||||
}
|
||||
|
||||
.options-frame>.option>.star {
|
||||
position: absolute;
|
||||
top: 5rpx;
|
||||
@@ -254,6 +266,7 @@
|
||||
z-index: 5;
|
||||
|
||||
}
|
||||
|
||||
.options-frame>.option>.wall {
|
||||
position: relative;
|
||||
padding-top: 9rpx;
|
||||
@@ -261,6 +274,7 @@
|
||||
height: 120rpx;
|
||||
border-radius: 20rpx;
|
||||
}
|
||||
|
||||
.options-frame>.option>.wall>.name {
|
||||
position: absolute;
|
||||
left: 110rpx;
|
||||
@@ -279,6 +293,7 @@
|
||||
background: #F0F2FF;
|
||||
z-index: 10;
|
||||
}
|
||||
|
||||
.collection>.collect-frame {
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
@@ -291,6 +306,7 @@
|
||||
background: #adceff;
|
||||
border-radius: 30rpx 30rpx 0 0;
|
||||
}
|
||||
|
||||
.collection_item {
|
||||
position: relative;
|
||||
top: -74rpx;
|
||||
@@ -304,6 +320,7 @@
|
||||
border-radius: 20rpx;
|
||||
animation: name 0.5s;
|
||||
}
|
||||
|
||||
.collection-empty {
|
||||
position: relative;
|
||||
top: -74rpx;
|
||||
@@ -372,12 +389,19 @@
|
||||
|
||||
|
||||
@keyframes name {
|
||||
from{opacity: 0;}
|
||||
to{opacity: 1;}
|
||||
from {
|
||||
opacity: 0;
|
||||
}
|
||||
|
||||
to {
|
||||
opacity: 1;
|
||||
}
|
||||
}
|
||||
|
||||
.collectionbg .collection_itembg:first-child {
|
||||
margin-left: 0;
|
||||
}
|
||||
|
||||
.collection_item:first-child {
|
||||
margin-left: 0;
|
||||
}
|
||||
@@ -386,6 +410,7 @@
|
||||
.collection_item_name {
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.tip {
|
||||
position: absolute;
|
||||
top: -10rpx;
|
||||
@@ -398,11 +423,13 @@
|
||||
justify-content: center !important;
|
||||
align-items: center !important;
|
||||
}
|
||||
|
||||
.collection_item_text {
|
||||
margin-top: 20rpx;
|
||||
font-size: 32rpx;
|
||||
color: #666666;
|
||||
}
|
||||
|
||||
.Submenu_item .label {
|
||||
margin-top: 65rpx;
|
||||
height: 217rpx;
|
||||
@@ -415,6 +442,7 @@
|
||||
align-items: center;
|
||||
padding: 20rpx 0;
|
||||
}
|
||||
|
||||
.Submenu_item_name {
|
||||
font-weight: 400;
|
||||
font-size: 32rpx;
|
||||
@@ -423,10 +451,9 @@
|
||||
text-align: center;
|
||||
margin-top: 45rpx;
|
||||
}
|
||||
|
||||
.Submenu_item:nth-child(2) {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: flex-end;
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -201,9 +201,7 @@
|
||||
})
|
||||
return
|
||||
}
|
||||
|
||||
let isHave = this.collection.find(i => i.name === item.name)
|
||||
// 是否已收藏
|
||||
if(isHave) {
|
||||
this.remove(item)
|
||||
return
|
||||
|
||||
BIN
static/close.png
Normal file
BIN
static/close.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 976 B |
@@ -3,7 +3,7 @@ import utils from '@/utils/encode'
|
||||
// const env = process.env.NODE_ENV
|
||||
// const env = 'test'
|
||||
const env = 'production'
|
||||
const testUrl = 'http://192.168.1.85:38080'
|
||||
const testUrl = 'http://192.168.1.83:38080'
|
||||
// const productUrl = 'https://www.xingoil.com/adminapi'
|
||||
// const productUrl = 'https://www.xingoil.com/adminapi' // 生产,加密 new
|
||||
const productUrl = 'http://uat.xingoil.com/adminapi'
|
||||
|
||||
Reference in New Issue
Block a user