You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
320 lines
7.9 KiB
320 lines
7.9 KiB
<template> |
|
<view class="content my-bg"> |
|
<cu-custom class="main-topbar bg-main-oil" bgColor="bg-main-oil"> |
|
<block slot="content">星油加油站</block> |
|
</cu-custom> |
|
<view class="main-money bg-main-oil"> |
|
<view class="padding-xs flex align-center"> |
|
<view class="flex-sub text-center padding-top-lg"> |
|
<view class="txet-xxs"> |
|
<text class="text-white">今日收款</text> |
|
</view> |
|
<view class=" text-sl padding padding-top-xs"><text class="text-white">¥{{userAccount.totalMoney|numberFilter}}</text></view> |
|
</view> |
|
</view> |
|
</view> |
|
|
|
<view class="bg-main-oil bg-main-color main-money"> |
|
|
|
</view> |
|
<view class="bg-white radius margin-left margin-right to-top"> |
|
<view class=" flex "> |
|
<view class="padding text-center flex-sub" @tap="routerTo('/pages/orderList/dailyOrder/dailyOrder')"> |
|
<text>今日收款笔数</text> |
|
<view class="padding-sm"> |
|
<text class="oil-main-color">{{userAccount.totalCount}}</text> |
|
</view> |
|
<!-- <button class="cu-btn bg-main-oil text-white text-sm "> |
|
查看明细 |
|
</button> --> |
|
</view> |
|
<view class="padding text-center flex-sub"> |
|
<text>账户余额</text> |
|
<view class="padding-sm"> |
|
|
|
<text class="oil-main-color">¥{{userAccount.totalMoney|numberFilter}}</text> |
|
|
|
</view> |
|
<!-- <button class="cu-btn bg-main-oil text-white text-sm "> |
|
查看明细 |
|
</button> --> |
|
</view> |
|
</view> |
|
</view> |
|
|
|
<view class="cu-list grid col-3 no-border margin radius "> |
|
<view class="cu-item" @tap="routerTo('/pages/station-info/station-info')"> |
|
<view :class="['cuIcon-' + cuIconList[0].cuIcon, 'text-' + cuIconList[0].color]" class="text-sl"> |
|
<view class="cu-tag badge" v-if="cuIconList[0].badge != 0"> |
|
<block v-if="cuIconList[0].badge != 1">{{ cuIconList[0].badge > 99 ? '99+' : cuIconList[0].badge }}</block> |
|
</view> |
|
</view> |
|
<text>{{ cuIconList[0].name }}</text> |
|
</view> |
|
<view class="cu-item" v-for="(item,index) in userMenu" :key="item.menuId" @tap="routerTo(item.path,item.name)"> |
|
<view :class="['cuIcon-' + item.cuIcon, 'text-' + cuIconList[index+1].color]" class="text-sl"> |
|
<view class="cu-tag badge" v-if="item.badge != 0"> |
|
<block v-if="item.badge != 1">{{ item.badge > 99 ? '99+' : item.badge }}</block> |
|
</view> |
|
</view> |
|
<text>{{ item.name }}</text> |
|
</view> |
|
<!-- <view class="cu-item" @tap="routerTo('/pages/orderList/orderList')"> |
|
<view :class="['cuIcon-' + cuIconList[1].cuIcon, 'text-' + cuIconList[1].color]" class="text-sl"> |
|
<view class="cu-tag badge" v-if="cuIconList[1].badge != 0"> |
|
<block v-if="cuIconList[1].badge != 1">{{ cuIconList[1].badge > 99 ? '99+' : cuIconList[1].badge }}</block> |
|
</view> |
|
</view> |
|
<text>{{ cuIconList[1].name }}</text> |
|
</view> |
|
<view class="cu-item"> |
|
<view :class="['cuIcon-' + cuIconList[2].cuIcon, 'text-' + cuIconList[2].color]" class="text-sl"> |
|
<view class="cu-tag badge" v-if="cuIconList[2].badge != 0"> |
|
<block v-if="cuIconList[2].badge != 1">{{ cuIconList[2].badge > 99 ? '99+' : cuIconList[2].badge }}</block> |
|
</view> |
|
</view> |
|
<text>{{ cuIconList[2].name }}</text> |
|
</view> |
|
<view class="cu-item" @tap="scanQr"> |
|
<view :class="['cuIcon-' + cuIconList[3].cuIcon, 'text-' + cuIconList[3].color]" class="text-sl"> |
|
<view class="cu-tag badge" v-if="cuIconList[3].badge != 0"> |
|
<block v-if="cuIconList[3].badge != 1">{{ cuIconList[3].badge > 99 ? '99+' : cuIconList[3].badge }}</block> |
|
</view> |
|
</view> |
|
<text>{{ cuIconList[3].name }}</text> |
|
</view> |
|
<view class="cu-item" @tap="routerTo('/pages/qrcode/QrCode_xy')"> |
|
<view :class="['cuIcon-' + cuIconList[4].cuIcon, 'text-' + cuIconList[4].color]" class="text-sl"> |
|
<view class="cu-tag badge" v-if="cuIconList[4].badge != 0"> |
|
<block v-if="cuIconList[4].badge != 1">{{ cuIconList[4].badge > 99 ? '99+' : cuIconList[4].badge }}</block> |
|
</view> |
|
</view> |
|
<text>{{ cuIconList[4].name }}</text> |
|
</view>--> |
|
|
|
<view class="padding-bottom-xl"> |
|
|
|
</view> |
|
</view> |
|
</view> |
|
</template> |
|
|
|
<script> |
|
import staffApi from '@/api/staff.js' |
|
import cloudSiteApi from '@/api/cloud-site.js' |
|
export default { |
|
data() { |
|
return { |
|
userAccount: { |
|
totalCount: 0, |
|
totalMoney: 0.00 |
|
}, |
|
scanUrl: '', |
|
userMenu: uni.getStorageSync('userMenu'), |
|
loginUser: uni.getStorageSync('loginUser'), |
|
title: 'Hello', |
|
cuIconList: [{ |
|
cuIcon: 'location', |
|
path: '/pages/station-info/station-info', |
|
color: 'red', |
|
badge: 0, |
|
name: '油站信息' |
|
}, |
|
{ |
|
cuIcon: 'form', |
|
color: 'orange', |
|
path: '/pages/orderList/orderList', |
|
badge: 0, |
|
name: '加油订单' |
|
}, |
|
{ |
|
cuIcon: 'new', |
|
path: '暂无', |
|
color: 'yellow', |
|
badge: 0, |
|
name: '经营分析' |
|
}, |
|
{ |
|
cuIcon: 'scan', |
|
path: '/pages/stationDetail/stationDetail', |
|
color: 'olive', |
|
badge: 0, |
|
name: '扫码加油' |
|
}, |
|
{ |
|
cuIcon: 'qr_code', |
|
color: 'cyan', |
|
badge: 0, |
|
path: '/pages/qrcode/QrCode_xy', |
|
name: '油站二维码' |
|
}, |
|
{ |
|
cuIcon: 'expressman', |
|
color: 'red', |
|
path: '暂无', |
|
badge: 0, |
|
name: '员工管理' |
|
} |
|
|
|
] |
|
}; |
|
}, |
|
onLoad() { |
|
uni.showShareMenu() |
|
}, |
|
onShow() { |
|
this.getUserInfo() |
|
this.getSiteInfo() |
|
}, |
|
onPullDownRefresh() { |
|
this.getUserInfo() |
|
}, |
|
filters: { |
|
numberFilter(value) { |
|
if (value) { |
|
value = value - 1 + 1 |
|
return value.toFixed(2) |
|
} else { |
|
return '0.00' |
|
} |
|
|
|
} |
|
}, |
|
methods: { |
|
getSiteInfo() { |
|
cloudSiteApi.getSiteDetail().then(res => { |
|
if (res.code === 20000) { |
|
this.site = res.data.site |
|
this.oilList = res.data.oil |
|
uni.setStorage({ |
|
key: 'oilSite', |
|
data: res.data.site |
|
}) |
|
} |
|
}) |
|
}, |
|
getUserInfo() { |
|
cloudSiteApi.getSiteBasicData().then(res => { |
|
console.log('用户资料', res) |
|
uni.stopPullDownRefresh(); |
|
if (res.code === 20000) { |
|
this.userAccount = res.data |
|
|
|
} |
|
}) |
|
|
|
}, |
|
scanQr() { |
|
var that = this |
|
uni.scanCode({ |
|
onlyFromCamera: true, |
|
success: function(res) { |
|
console.log('条码类型:' + res.scanType); |
|
console.log('条码内容:' + res.result); |
|
uni.setStorageSync('qrCode', res.result) |
|
uni.navigateTo({ |
|
url: that.scanUrl, |
|
fail: (err) => { |
|
console.log(err) |
|
}, |
|
success: (res) => { |
|
console.log('chengg', res) |
|
} |
|
}) |
|
} |
|
}) |
|
}, |
|
// 方便开发 |
|
// scanQr() { |
|
// uni.setStorageSync('qrCode', 'XM&1299257961238990848') |
|
// uni.navigateTo({ |
|
// url: '/pages/stationDetail/stationDetail', |
|
// fail: (err) => { |
|
// console.log(err) |
|
// }, |
|
// success: (res) => { |
|
// console.log('chengg', res) |
|
// } |
|
// }) |
|
|
|
// }, |
|
routerTo(url, name) { |
|
if (name === '扫码加油') { |
|
this.scanUrl = url |
|
this.scanQr() |
|
} else { |
|
uni.navigateTo({ |
|
url: url |
|
}) |
|
} |
|
|
|
} |
|
} |
|
}; |
|
</script> |
|
|
|
<style scoped> |
|
.content { |
|
height: 100%; |
|
} |
|
|
|
.bottom-bar { |
|
position: relative; |
|
padding-top: 50px; |
|
margin-bottom: 0; |
|
margin-top: 0; |
|
} |
|
|
|
.main-topbar>>>.cu-bar { |
|
height: 380rpx !important; |
|
z-index: 0 !important; |
|
} |
|
|
|
.main-topbar>>>.cu-bar .content { |
|
padding-bottom: 300rpx; |
|
} |
|
|
|
.bottom-bar-fixed { |
|
position: fixed; |
|
bottom: 0; |
|
padding-top: 70rpx; |
|
width: 100%; |
|
} |
|
|
|
.main-money { |
|
position: relative; |
|
z-index: 1; |
|
} |
|
|
|
.van-tag { |
|
display: inline-block; |
|
padding: 0.3rem 0.4rem; |
|
position: absolute; |
|
right: 1px; |
|
font-size: 12px; |
|
top: 25%; |
|
background-color: #b9ffca; |
|
border-radius: 10rem 0 0 10rem; |
|
border-color: transparent; |
|
} |
|
|
|
.bg-main-color { |
|
min-height: 160rpx; |
|
} |
|
|
|
.to-top { |
|
position: relative; |
|
top: -140rpx; |
|
z-index: 1; |
|
} |
|
|
|
.cu-list { |
|
position: relative; |
|
top: -140rpx; |
|
z-index: 1; |
|
} |
|
|
|
.cu-list.grid>.cu-item [class*=cuIcon] { |
|
font-size: 75rpx; |
|
} |
|
</style>
|
|
|