This commit is contained in:
xiaozhiyong
2023-11-27 14:46:36 +08:00
parent 858948fbe4
commit 0554adda71
8 changed files with 546 additions and 573 deletions

142
App.vue
View File

@@ -37,8 +37,8 @@
}]
}
],
loginStatus: 'online',
msg: ''
// loginStatus: 'online',
// msg: ''
}
},
onLaunch() {
@@ -112,7 +112,7 @@
// console.log('当前页面路由发生变化 触发该事件onShareAppMessage')
const pages = getCurrentPages() //获取加载的页面
const view = pages[pages.length - 1] //获取当前页面的对象
if (!view) return false //如果不存在页面对象 则返回
if (!view) return false
// 若想给个别页面做特殊处理 可以给特殊页面加isOverShare为true 就不会重写了
// const data = view.data
// if (!data.isOverShare) {
@@ -125,82 +125,32 @@
imageUrl: 'https://publicxingyou.oss-cn-hangzhou.aliyuncs.com/mp-oil/login-bg.png',
}
}
console.log(view.route)
clearTimeout(loginTimer)
clearTimeout(onlineTimer)
if (view.route != 'pages/index/startPage/startPage' && view.route.indexOf('BagAuth') == -1) {
const token = uni.getStorageSync('Authorization')
const openid = uni.getStorageSync('openid')
let jumpUrl = '/BagAuth/pages/login/login'
let urlTarget = this.obtainUrlPathParameterTarget(view.$page.fullPath)
console.log('urlTarget',urlTarget)
let target = {}
if (urlTarget.q) {
try {
let originLink = decodeURIComponent(decodeURIComponent(urlTarget.q))
target = this.obtainUrlPathParameterTarget(originLink)
target.siteId && (jumpUrl += `?scanningParams=${decodeURIComponent(urlTarget.q)}`)
} catch (e) {}
}
// console.log('jumpUrl',jumpUrl)
if (token && openid) {
this.getAmount()
// if(!white.includes(view.route) ){
// this.getAmount()
// }
// if(target.siteId || !white.includes(view.route) ){
// this.getAmount()
// }
onlineTimer = setTimeout(() => {
if (this.loginStatus == 'offline') {
uni.clearStorageSync()
uni.showModal({
title: '需要您重新登录',
content: this.msg,
duration: '3000',
success: function(res) {
if (res.confirm) {
uni.redirectTo({
url: jumpUrl
})
}
},
complete: () => {
clearTimeout(onlineTimer)
}
})
}else{
// if(!uni.getStorageSync('filterData')){
// that.getFilterData()
// }
}
}, 500)
this.getAmount(jumpUrl)
} else {
target.siteId && uni.redirectTo({
url: jumpUrl
})
// loginTimer = setTimeout(() => {
// uni.showModal({
// title: '请您登录',
// content: '您还没有登录,暂时查不到油站哦',
// duration: '3000',
// success: function(res) {
// if (res.confirm) {
// uni.redirectTo({
// url: '/BagAuth/pages/login/login'
// })
// }
// }
// })
// }, 1000)
}
}
}
// }
})
},
@@ -213,70 +163,40 @@
target[item.split('=')[0]] = item.split('=')[1]
})
}
console.log('11target',target)
// console.log('11target',target)
return target
},
// 是否token过期或ip更改
getAmount() {
clearTimeout(loginTimer)
getAmount(jumpUrl) {
accountApi.getTotalOilCardInfo().then(res => {
console.log('res.code',res.code)
console.log(555)
if (res.code == 20000) {
this.loginStatus = 'online'
} else if (res.code == 42011) {
this.loginStatus = 'offline'
this.msg = res.msg
if (res.code == 42011) {
uni.clearStorageSync()
uni.showModal({
title: '需要您重新登录',
content: res.msg,
duration: '3000',
success: (res) => {
if (res.confirm) {
uni.redirectTo({
url: jumpUrl
})
}
}
})
}
})
},
},
onReady() {
},
onShow: function() {
// uni.getLocation({
// type: 'wgs84',
// success: function(res) {
// uni.setStorageSync('location', {
// longitude: res.longitude + '',
// latitude: res.latitude + ''
// })
// onShow: function() {
// const token = uni.getStorageSync('Authorization')
// const openid = uni.getStorageSync('openid')
// if (token && openid) {
// this.getAmount()
// // key = '真在线'
// }
// }
// });
console.log('onReady')
const token = uni.getStorageSync('Authorization')
const openid = uni.getStorageSync('openid')
let key = ''
if (token && openid) {
this.getAmount()
key = '真在线'
} else {
key = '离线'
}
if (key == '在线') {
}
setTimeout(() => {
// console.log(key)
if (key == '在线') {
} else {
// uni.redirectTo({
// url: '/BagAuth/pages/login/login'
// })
}
}, 2000)
// uni.showShareMenu()
// console.log('App Show')
},
onHide: function() {
// console.log('App Hide')
}
}
</script>

View File

@@ -1,79 +1,30 @@
<template>
<view class="login-page bg-white">
<view class="image login-bg">
<!-- <image :src="imgURL+'login-bg.png'" mode="widthFix"></image> -->
<!-- <image src="../../../BagStation/static/img/LV.png" mode="widthFix"></image> -->
<image src="../../../static/img/login-bg.png" mode="widthFix"></image>
</view>
<scroll-view scroll-x class=" bg-white nav padding">
<view class="flex text-center padding-bottom">
<view class="cu-item flex-sub">
</view>
<view class="cu-item flex-sub" :class="0==TabCur?'text-blues cur':''" @tap="tabSelect(0)">
个人账号
</view>
<view class="cu-item flex-sub">
</view>
<!-- <view class="cu-item flex-sub" :class="1==TabCur?'text-red cur':''" @tap="tabSelect(1)">
企业账号
</view> -->
</view>
-->
</view>
</scroll-view>
<view class="cu-load load-modal" v-if="loadModal">
<view class="gray-text">加载中...</view>
</view>
<view class="margin-lg flex flex-direction text-center">
<button v-if="checked" @click="decryptPhoneNumber" class="cu-btn round bg-main-oil lg text-lg" open-type="getPhoneNumber"
@getphonenumber="decryptPhoneNumber">
<button v-if="checked" @click="decryptPhoneNumber" class="cu-btn round bg-main-oil lg text-lg"
open-type="getPhoneNumber" @getphonenumber="decryptPhoneNumber">
<text class="cuIcon-weixin padding-right-xs"> </text>
<text>
微信用户一键登录
@@ -222,9 +173,6 @@
url: `/BagAuth/pages/login/oldLogin?scanningParams=${this.scanningParams}`
})
},
decryptPhoneNumber(e) {
if (!this.checked) {
uni.showToast({
@@ -273,16 +221,16 @@
let user = resData.authTokenDTO.loginUser
uni.setStorageSync('user', user)
setTimeout(() => {
uni.showToast({
title: res.msg,
icon: 'none',
complete: (err) => {}
})
}, 1000);
// setTimeout(() => {
// uni.showToast({
// title: res.msg,
// icon: 'none',
// complete: (err) => {}
// })
// }, 1000);
if (this.scanningParams) {
uni.redirectTo({
url: `/BagStation/pages/stationDetail/stationDetail?q=${this.scanningParams}`
url: `/BagStation/pages/makeOrder/makeOrder?q=${this.scanningParams}`
})
return
}

View File

@@ -412,7 +412,7 @@
console.log(this.scanningParams, 'this.scanningParams')
if (this.scanningParams && this.scanningParams !== 'null') {
uni.redirectTo({
url: `/BagStation/pages/stationDetail/stationDetail?q=${this.scanningParams}`
url: `/BagStation/pages/makeOrder/makeOrder?q=${this.scanningParams}`
})
} else {
// 这里有问题

View File

@@ -8,8 +8,9 @@
</view>
</view>
<scroll-view scroll-x class=" nav text-center">
<view class="cu-item" v-for="(item,index) in channelList" v-if="index==activeCur" :class="index==activeCur?'text-blues cur':''" :key="item.channelId"
@tap="tabSelect" :data-id="index" :data-channel-code="item.channelCode">
<view class="cu-item" v-for="(item,index) in channelList" v-if="index==activeCur"
:class="index==activeCur?'text-blues cur':''" :key="item.channelId" @tap="tabSelect" :data-id="index"
:data-channel-code="item.channelCode">
<image class="site-icon margin-right-sm" :src="imgURL+'site-'+item.channelCode+'.png'" mode="widthFix">
</image>
{{item.channelCode|channelCodeFamt}}
@@ -18,16 +19,20 @@
</scroll-view>
<radio-group class="block" @change="changePrice">
<view class="cu-list menu text-left">
<view class="cu-item" v-for="(itemx,index) in oilSitePriceDetailsVo" :key="index" v-if="itemx.sitePrice>0">
<view class="cu-item" v-for="(itemx,index) in oilSitePriceDetailsVo" :key="index"
v-if="itemx.sitePrice>0">
<label class="flex justify-between align-center flex-sub">
<radio class="round blue" :class="radio=='radio' + index?'checked':''" :checked= " radio ==index?true : false" :value="index"></radio>
<radio class="round blue" :class="radio=='radio' + index?'checked':''"
:checked=" radio ==index?true : false" :value="index"></radio>
<text class="cu-tag my-tag line-red text-lg">
</text>
<text class="text-bold text-black text-lg">{{itemx.oilProductCode}}</text>
<text class="text-bold text-blues text-lg">{{itemx.sitePrice!=0?itemx.sitePrice:'-.--'}}/L</text>
<text
class="text-bold text-blues text-lg">{{itemx.sitePrice!=0?itemx.sitePrice:'-.--'}}/L</text>
<text class="text-delete">{{itemx.oilSitePrice}}/L</text>
<text class="text-sm">预计每100L节省{{(100*(itemx.oilSitePrice - itemx.sitePrice))|moneyFormat}}</text>
<text
class="text-sm">预计每100L节省{{(100*(itemx.oilSitePrice - itemx.sitePrice))|moneyFormat}}</text>
</label>
</view>
</view>
@@ -39,14 +44,17 @@
<view class="padding-top-sm">
<view class="grid col-5 ">
<view v-for="(item,index) in checkBar" class="padding-xs" :key="index">
<button class="cu-btn red block" :class="item.checked?'bg-blue':'line-blues'" @tap="ChooseBar" :data-value="item.value">
<button class="cu-btn red block" :class="item.checked?'bg-blue':'line-blues'"
@tap="ChooseBar" :data-value="item.value">
{{item.name}}
<view class="cu-tag sm round" :class="item.checked?'bg-white text-blues':'bg-blue'" v-if="item.hot">HOT</view>
<view class="cu-tag sm round" :class="item.checked?'bg-white text-blues':'bg-blue'"
v-if="item.hot">HOT</view>
</button>
</view>
<view class="padding-xs" style="width:40% ;" v-if="activeChannelCode!='TY'">
<input type="number" @input="onInputBar" v-model="inputBar" class="cu-btn red block" placeholder="其他油枪" value="" />
<input type="number" @input="onInputBar" v-model="inputBar" class="cu-btn red block"
placeholder="其他油枪" value="" />
</view>
</view>
</view>
@@ -96,7 +104,8 @@
油机金额
</view>
<view class="text-center" style="width: 60%;margin: 0 2%;">
<input v-model="vol" @input='checkNumber' @blur="getMoneyVol" type="digit" class="block" placeholder="请输入油机金额" value=""style="border-bottom: 1px solid #efefef;" />
<input v-model="vol" @input='checkNumber' @blur="getMoneyVol" type="digit" class="block"
placeholder="请输入油机金额" value="" style="border-bottom: 1px solid #efefef;" />
</view>
<view class="">
<text class=" padding-right-sm">
@@ -107,9 +116,12 @@
</view>
<view class="grid col-5 padding-sm">
<view v-for="(item,index) in checkMoney" class="padding-xs" :key="index">
<button class="cu-btn blue block" style=" padding: 0;" :class="item.checked?'bg-blue':'line-blues'" @tap="ChooseCheckMoney(item.value)" :data-value="item.value">
<button class="cu-btn blue block" style=" padding: 0;"
:class="item.checked?'bg-blue':'line-blues'" @tap="ChooseCheckMoney(item.value)"
:data-value="item.value">
{{item.name}}&yen;
<view class="cu-tag sm round" :class="item.checked?'bg-white text-blues':'bg-blue'" v-if="item.hot">HOT</view>
<view class="cu-tag sm round" :class="item.checked?'bg-white text-blues':'bg-blue'"
v-if="item.hot">HOT</view>
</button>
</view>
</view>
@@ -124,7 +136,8 @@
加油金额
</view>
<view class="text-center">
<input v-model="ty.realMoney" @input="onInputTyMoney" type="digit" class="block" placeholder="加油金额" value="" />
<input v-model="ty.realMoney" @input="onInputTyMoney" type="digit" class="block"
placeholder="加油金额" value="" />
</view>
<view class="">
<text class="text-bold padding-right-sm">
@@ -135,9 +148,11 @@
</view>
<view class="grid col-5 padding-sm">
<view v-for="(item,index) in checkVol" class="padding-xs" :key="index">
<button class="cu-btn red block" :class="item.checked?'bg-blue':'line-red'" @tap="ChooseCheckVol" :data-value="item.value">
<button class="cu-btn red block" :class="item.checked?'bg-blue':'line-red'"
@tap="ChooseCheckVol" :data-value="item.value">
{{item.name}}
<view class="cu-tag sm round" :class="item.checked?'bg-white text-blues':'bg-blue'" v-if="item.hot">HOT</view>
<view class="cu-tag sm round" :class="item.checked?'bg-white text-blues':'bg-blue'"
v-if="item.hot">HOT</view>
</button>
</view>
@@ -181,8 +196,10 @@
<view class="margin cu-list pay-bar menu radius solid-top solid-bottom solid-left">
<view class="cu-item ">
<view class="">
合计<text class="text-blues fr" v-if="activeChannelCode!='TY'">{{realMoney>0?realMoney:'xxx.x'|moneyFormat}}</text>
<text class="text-blues fr" v-else>{{ty.realMoney>0?ty.realMoney-tyRes.depreciateAmount:'xxx.x'|moneyFormat}}</text>
合计<text class="text-blues fr"
v-if="activeChannelCode!='TY'">{{realMoney>0?realMoney:'xxx.x'|moneyFormat}}</text>
<text class="text-blues fr"
v-else>{{ty.realMoney>0?ty.realMoney-tyRes.depreciateAmount:'xxx.x'|moneyFormat}}</text>
</view>
<view class="" @tap="showOrderMsg">
明细<text class="cuIcon-unfold padding-left-xs"></text>
@@ -238,7 +255,8 @@
</view>
<view class="padding-tb-xs text-left">
直降金额
<text class="text-blues fr">{{tyRes.depreciateAmount>0?tyRes.depreciateAmount:'xxx.x'|moneyFormat}}</text>
<text
class="text-blues fr">{{tyRes.depreciateAmount>0?tyRes.depreciateAmount:'xxx.x'|moneyFormat}}</text>
</view>
</view>
<view class="padding-tb-xs text-left">
@@ -247,16 +265,20 @@
</view>
<view class="padding-tb-xs text-left">
合计
<text class="text-blues fr" v-if="activeChannelCode!='TY'">{{realMoney>0?realMoney:'xxx.x'|moneyFormat}}</text>
<text class="text-blues fr" v-else>{{ty.realMoney>0?ty.realMoney:'xxx.x'|moneyFormat}}</text>
<text class="text-blues fr"
v-if="activeChannelCode!='TY'">{{realMoney>0?realMoney:'xxx.x'|moneyFormat}}</text>
<text class="text-blues fr"
v-else>{{ty.realMoney>0?ty.realMoney:'xxx.x'|moneyFormat}}</text>
</view>
</view>
<view class="cu-list margin pay-bar menu radius solid-top solid-bottom solid-left">
<view class="cu-item ">
<view class="">
合计<text class="text-blues" v-if="activeChannelCode!='TY'">{{realMoney>0?realMoney:'xxx.x'|moneyFormat}}</text>
<text class="text-blues" v-else>{{ty.realMoney>0?ty.realMoney-tyRes.depreciateAmount:'xxx.x'|moneyFormat}}</text>
合计<text class="text-blues"
v-if="activeChannelCode!='TY'">{{realMoney>0?realMoney:'xxx.x'|moneyFormat}}</text>
<text class="text-blues"
v-else>{{ty.realMoney>0?ty.realMoney-tyRes.depreciateAmount:'xxx.x'|moneyFormat}}</text>
</view>
<view class="" @tap="showOrder=''">
明细<text class="cuIcon-fold padding-left-xs"></text>
@@ -285,8 +307,8 @@
</view>
<input type="text" value="" placeholder="请选择或输入车牌号" v-model="plateNumber" />
</view>
<picker-view :indicator-style="indicatorStyle" v-if="plateNumbers.length" :value="plateIndex" @change="pickPlate"
class="picker-view">
<picker-view :indicator-style="indicatorStyle" v-if="plateNumbers.length" :value="plateIndex"
@change="pickPlate" class="picker-view">
<picker-view-column>
<view class="item" v-for="(item,index) in plateNumbers" :key="index">{{item}}</view>
</picker-view-column>
@@ -365,7 +387,7 @@
indicatorStyle: `height: 50px;`,
visiblePlateNumbers: true,
inputBar: '',
oilBar: '',
oilBar: 1,
testPlateResult: false,
plateIndex: 0,
joberIndex: 0,
@@ -435,7 +457,7 @@
checkbox: [{
value: 1,
name: '1',
checked: false,
checked: true,
hot: false,
}, {
value: 2,
@@ -487,33 +509,34 @@
watch: {
activeChannelCode: {
handler(newval) {
this.oilBar = ''
setTimeout(() => {
this.oilBar = 1
this.checkBar = this.calcBar()
}, 2)
}, 0)
}
},
priceId: {
handler(newval) {
this.oilBar = ''
setTimeout(() => {
this.checkBar = this.calcBar()
}, 2)
// setTimeout(() => {
// this.oilBar = 1
// this.checkBar = this.calcBar()
// }, 0)
}
},
radio: {
handler(n, o) {
console.log(n,o,'handler');
this.checkBar.forEach(item=>{
item.checked = false
});
this.oilBar = ''
// console.log(n,o,'handler');
// this.checkBar.forEach(item => {
// item.checked = false
// });
// this.oilBar = ''
}
}
},
computed: {
priceId() {
if (this.channelList.length && this.channelList[this.activeCur] && this.oilSitePriceDetailsVo[this.radio]) {
if (this.channelList.length && this.channelList[this.activeCur] && this.oilSitePriceDetailsVo[this
.radio]) {
return this.oilSitePriceDetailsVo[this.radio].priceId
}
},
@@ -588,18 +611,18 @@
userType: '0',
xoilAmountGun: e,
priceId: this.activeSitePrice,
clientBelong: "ZHONGPIN"
clientBelong: "ZHONGPIN"
}
this.xoilAmountGun = e
oilSiteApi.getOrderDiscountInfo(number).then(res => {
console.log(res)
// console.log(res)
this.realMoney = res.data.payRealAmount
this.discount = res.data.oilDiscountAmount
this.vlom = res.data.volume
})
},
ChooseCheckMoney(e) {
console.log(e)
// console.log(e)
this.vol = e + ''
this.checkMoneyVol(this.vol)
},
@@ -616,7 +639,7 @@
}
},
getMoneyVol(e) {
console.log(e)
// console.log(e)
if (e.detail.value == '') {
uni.showToast({
title: '请输入金额',
@@ -637,7 +660,7 @@
userType: '0',
xoilAmountGun: e.detail.value,
priceId: this.activeSitePrice,
clientBelong: "ZHONGPIN"
clientBelong: "ZHONGPIN"
}
this.xoilAmountGun = e.detail.value
oilSiteApi.getOrderDiscountInfo(number).then(res => {
@@ -648,7 +671,7 @@
})
},
checkInfo() {
console.log(this.radio)
// console.log(this.radio)
this.tsetPlate(this.plateNumber ? this.plateNumber : this.plateNumberSel)
// if (!this.testPlateResult) {
// this.plateNumber=''
@@ -728,21 +751,22 @@
mask: false
});
if (this.oilSitePriceDetailsVo[this.radio] && this.oilSitePriceDetailsVo[this.radio].oilsBar) {
console.log('计算有钱', this.oilSitePriceDetailsVo[this.radio].oilsBar)
// console.log('计算有钱', this.oilSitePriceDetailsVo[this.radio].oilsBar)
this.oilBarTy = this.oilSitePriceDetailsVo[this.radio].oilsBar
}
if (this.channelId && this.oilBarTy) {
let gunLsit = this.oilBarTy.split(',')
let gunCheck = []
gunLsit.forEach(item => {
gunLsit.forEach((item, index) => {
gunCheck.push({
value: item,
name: item,
checked: false,
checked: index == 0,
hot: false
})
})
// this.oilBar = values
uni.hideLoading()
return gunCheck
}
@@ -807,7 +831,7 @@
}
},
beforeMake() {
console.log(this.radio,'beforeMake')
// console.log(this.radio, 'beforeMake')
this.tsetPlate(this.plateNumber ? this.plateNumber : this.plateNumberSel)
// if (!this.testPlateResult) {
// this.plateNumber=''
@@ -838,13 +862,13 @@
})
return false
}
if (!this.oilBar) {
uni.showToast({
icon: 'none',
title: '未选择加油员'
})
return false
}
// if (!this.oilBar) {
// uni.showToast({
// icon: 'none',
// title: '未选择加油员'
// })
// return false
// }
if (!this.vol && !this.tyRes.liter) {
uni.showToast({
icon: 'none',
@@ -883,14 +907,18 @@
'clientBelong': 'ZHONGPIN',
"amountGun": this.activeChannelCode == 'TY' ? this.ty.realMoney : '',
"shareCompanyQuota": 0, // 共享标识
"priceId": this.oilSitePriceDetailsVo[this.radio].priceId, //类型String 必有字段 备注:油价主键
"priceId": this.oilSitePriceDetailsVo[this.radio]
.priceId, //类型String 必有字段 备注:油价主键
"orderType": "REAL_ORDER", //类型String 必有字段 备注订单类型REAL_ORDER真实订单 VIRTUAL_ORDER虚拟订单
"orderSource": "WECHAT_MINIAPPS", //类型String 必有字段 备注订单来源WECHAT_MINIAPPS
"plateNumber": this.plateNumber ? this.plateNumber : this.plateNumberSel, //类型String 必有字段 备注:车牌号
"plateNumber": this.plateNumber ? this.plateNumber : this
.plateNumberSel, //类型String 必有字段 备注:车牌号
"siteUserName": this.jober, //类型String 必有字段 备注:加油员
"oilsBar": this.oilBar, //类型Number 必有字段 备注:油枪
"volume": this.activeChannelCode == 'TY' ? this.tyRes.liter : this.vol, //类型Number 必有字段 备注:加油升数
"realPrice": this.oilSitePriceDetailsVo[this.radio].sitePrice, //类型Number 必有字段 备注:实际加油价格
"volume": this.activeChannelCode == 'TY' ? this.tyRes.liter : this
.vol, //类型Number 必有字段 备注:加油升数
"realPrice": this.oilSitePriceDetailsVo[this.radio]
.sitePrice, //类型Number 必有字段 备注:实际加油价格
"suppleMark": 0, //类型Number 必有字段 备注补录标识0实时订单 1补录订单
"createSource": "XOIL_DRIVER_WECHAT_APPLET", //类型String 必有字段 备注:创建来源( XOIL_DRIVER_WECHAT_APPLET
// "deviceImei": "mock", //类型String 可有字段 备注:设备唯一码
@@ -898,13 +926,15 @@
'version': 1,
'xoilAmountGun': this.vol
}
console.log(orderData,'orderDataorderDataorderDataorderDataorderDataorderDataorderDataorderData');
console.log(orderData,
'orderDataorderDataorderDataorderDataorderDataorderDataorderDataorderData');
oilOrderApi.createOrder(orderData).then(res => {
if (res.code == 20000) {
clearTimeout(this.timer)
uni.setStorageSync('orderMade', res.data)
uni.redirectTo({
url: '/BagStation/pages/makeOrder/orderPaying?payMethod='+res.data.payMethod
url: '/BagStation/pages/makeOrder/orderPaying?payMethod=' + res
.data.payMethod
})
}
}).finally(msg => {
@@ -924,7 +954,7 @@
this.oilSitePriceDetailsVo = []
oilSiteApi.getNewSitePriceZp({
channelId: channelId,
clientBelong: "ZHONGPIN"
clientBelong: "ZHONGPIN"
}).then(res => {
if (res.code == 20000) {
this.plateNumbers = res.data.plateNumbers
@@ -944,7 +974,7 @@
pickPlate(e) {
this.plateIndex = e.detail.value
this.plateNumber = this.plateNumberSel
console.log(this.plateIndex, this.plateNumber)
// console.log(this.plateIndex, this.plateNumber)
},
showOrderMsg() {
this.showOrder = 'show'
@@ -1037,7 +1067,8 @@
} else {
return value
}
} }
}
}
}
</script>
@@ -1071,14 +1102,17 @@
.picker-view {
min-height: 300upx;
}
.close-icon {
position: absolute;
right: 2%;
top: 2%;
}
.dialog-box {
position: relative;
}
.site-icon {
width: 2rem;
vertical-align: middle;
@@ -1108,23 +1142,28 @@
.picker-view {
min-height: 300upx;
}
.text-centerS {
display: flex;
justify-content: center;
align-items: center;
text-align: center;
}
.red_btn {
color: #FFFFFF;
background-color: #1890FF;
}
.box-paddings {
padding: 40rpx 0;
}
.headShow {
font-size: 36rpx;
font-weight: 600;
}
.showtext {
line-height: 2;
font-size: 30rpx;
@@ -1134,12 +1173,14 @@
letter-spacing: 3px;
text-align: left;
}
.checklocation_box_button {
display: flex;
justify-content: space-between;
align-items: center;
padding: 0 5%;
}
.btn-box {
width: 45%;
flex: 0 0 auto;
@@ -1150,6 +1191,7 @@
box-sizing: border-box;
border: 2rpx solid #bfbfbf;
}
.box-panding {
padding: 10 0;
}

View File

@@ -82,6 +82,7 @@
return tagList
}
},
activePay() {
if (this.channelList.length && this.channelList[this.TabCur]) {
let activePay = this.channelList[this.TabCur].activePay

View File

@@ -4,8 +4,10 @@
<block slot="content">中石化紫云路</block>
<block slot="backText">返回</block>
</cu-custom> -->
<view class="bg-img fixed-top flex align-end margin-bottom-lg " :style="'background-image: url('+otherImgURL+'bg.png '+');width: 750upx;height: 326rpx;background-size:cover'">
<image @tap="goBack" :src="imgURL+'site-back.png'" width="20upx" mode="widthFix" class="position-ab site-back">
<view class="bg-img fixed-top flex align-end margin-bottom-lg "
:style="'background-image: url('+otherImgURL+'bg.png '+');width: 750upx;height: 326rpx;background-size:cover'">
<image @tap="goBack" :src="imgURL+'site-back.png'" width="20upx" mode="widthFix"
class="position-ab site-back">
</image>
<view class="flex-sub">
<view class="cu-list menu margin padding-sm radius my-shadow bg-white yu-card-xuan">
@@ -28,8 +30,10 @@
</view>
</view>
</view>
<view class="bg-img placeholder-hidden flex align-end margin-bottom-lg " :style="'background-image: url('+imgURL+'site-bg.png '+');width: 750upx;height: 326rpx;background-size:cover'">
<image @tap="goBack" :src="imgURL+'site-back.png'" width="20upx" mode="widthFix" class="position-ab site-back">
<view class="bg-img placeholder-hidden flex align-end margin-bottom-lg "
:style="'background-image: url('+imgURL+'site-bg.png '+');width: 750upx;height: 326rpx;background-size:cover'">
<image @tap="goBack" :src="imgURL+'site-back.png'" width="20upx" mode="widthFix"
class="position-ab site-back">
</image>
<view class="flex-sub">
<view class="cu-list menu margin padding-sm radius my-shadow bg-white yu-card-xuan">
@@ -57,8 +61,9 @@
</view>
<!-- 价格 -->
<price-select-tab @onChangePayQr="onChangePayQr" @onChangePay="onChangePay" :active-cur="activeCur" :site-name="siteInfo.siteName"
:channel-list="siteInfo.oilSiteChannelDetailsVos" :channelJuli="siteInfo.juli"></price-select-tab>
<price-select-tab @onChangePayQr="onChangePayQr" @onChangePay="onChangePay" :active-cur="activeCur"
:site-name="siteInfo.siteName" :channel-list="siteInfo.oilSiteChannelDetailsVos"
:channelJuli="siteInfo.juli"></price-select-tab>
</view>
@@ -73,6 +78,7 @@
},
data() {
return {
isBackPrev: true,
otherImgURL: this.global.otherImgURL,
radio: 'B',
mainURL: this.global.mainURL,
@@ -95,6 +101,19 @@
}
},
onLoad(option) {
if (option.q) {
try {
let originLink = decodeURIComponent(option.q)
let target = this.obtainUrlPathParameterTarget(originLink)
let authorization = uni.getStorageSync('Authorization')
if (authorization && target.siteId) {
// 扫码进入 返回按钮点击回到首页
this.isBackPrev = false
this.getSiteInfo(target.siteId)
}
} catch (e) {}
return
}
// console.log(option.siteId)
if (this.tempScanSite) {
this.siteInfo = this.tempScanSite
@@ -104,17 +123,31 @@
}
},
methods: {
obtainUrlPathParameterTarget(url) {
let target = {}
if (url.includes('?')) {
let paramsText = url.split("?")[1]
let paramsArr = paramsText.split("&")
paramsArr.forEach(item => {
target[item.split('=')[0]] = item.split('=')[1]
})
}
return target
},
siteQrPay() {
uni.navigateTo({
url: '/BagStation/pages/stationDetail/stieQr'
})
},
getSiteInfo(id) {
let location = uni.getStorageSync('location') || {}
let data2 = {
...uni.getStorageSync('location'),
...location,
siteId: id,
clientBelong: "ZHONGPIN"
}
oilSiteApi.getSiteDetails(data2).then(res => {
if (res.code == 20000) {
this.siteInfo = res.data
@@ -142,8 +175,8 @@
},
goBack() {
uni.navigateBack({
this.isBackPrev ? uni.navigateBack() : uni.navigateBack({
url: '../../../pages/tabbar/home/home'
})
},
selectRadio() {
@@ -180,15 +213,14 @@
return value > 1000 ? ((value / 1000).toFixed(2) + 'km') : (value + 'm')
}
}
}
,
},
onHide() {
console.log('这里是hiden')
this.innerAudioContext.stop()
// this.innerAudioContext.stop()
},
onUnload() {
console.log('这里是卸载页面')
this.innerAudioContext.stop()
// this.innerAudioContext.stop()
},
}
</script>

View File

@@ -4,8 +4,10 @@
<block slot="content">中石化紫云路</block>
<block slot="backText">返回</block>
</cu-custom> -->
<view class="bg-img fixed-top flex align-end margin-bottom-lg " :style="'background-image: url('+otherImgURL+'bg.png '+');width: 750upx;height: 326rpx;background-size:cover'">
<image @tap="goBack" :src="imgURL+'site-back.png'" width="20upx" mode="widthFix" class="position-ab site-back">
<view class="bg-img fixed-top flex align-end margin-bottom-lg "
:style="'background-image: url('+otherImgURL+'bg.png '+');width: 750upx;height: 326rpx;background-size:cover'">
<image @tap="goBack" :src="imgURL+'site-back.png'" width="20upx" mode="widthFix"
class="position-ab site-back">
</image>
<view class="cu-list menu margin padding-sm radius my-shadow bg-white yu-card-xuan">
<view class="cu-item ">
@@ -30,8 +32,10 @@
</view>
</view>
</view>
<view class="bg-img placeholder-hidden flex align-end margin-bottom-lg " :style="'background-image: url('+imgURL+'site-bg.png '+');width: 750upx;height: 326rpx;background-size:cover'">
<image @tap="goBack" :src="imgURL+'site-back.png'" width="20upx" mode="widthFix" class="position-ab site-back">
<view class="bg-img placeholder-hidden flex align-end margin-bottom-lg "
:style="'background-image: url('+imgURL+'site-bg.png '+');width: 750upx;height: 326rpx;background-size:cover'">
<image @tap="goBack" :src="imgURL+'site-back.png'" width="20upx" mode="widthFix"
class="position-ab site-back">
</image>
<view class="flex-sub">
<view class="cu-list menu margin padding-sm radius my-shadow bg-white yu-card-xuan">
@@ -90,7 +94,8 @@
<text class=" text-black "> {{itm.oilsCode}} {{itm.volume}}L 节省 <text class="text-red">
{{itm.discountAmount}}</text></text>
</view>
<view class="cu-item no-border" v-if="siteInfo.oilSiteOrderInfoVos && !siteInfo.oilSiteOrderInfoVos.length">
<view class="cu-item no-border"
v-if="siteInfo.oilSiteOrderInfoVos && !siteInfo.oilSiteOrderInfoVos.length">
暂无
</view>
@@ -171,40 +176,49 @@
}
},
onHide() {
this.innerAudioContext && this.innerAudioContext.stop()
if (this.innerAudioContext) {
this.innerAudioContext.stop()
}
},
onUnload() {
this.innerAudioContext && this.innerAudioContext.stop()
if (this.innerAudioContext) {
this.innerAudioContext.stop()
this.innerAudioContext.destroy()
}
},
onLoad(option) {
this.location = uni.getStorageSync('location')
// console.log('option',option)
// let userInfo = uni.getStorageSync('user')
// if(!userInfo && option.q) {
// uni.redirectTo({
// url: `/BagAuth/pages/login/login?scanningParams=${option.q}`
// })
// return
// }
if (option.q) {
try {
let originLink = decodeURIComponent(option.q)
let target = this.obtainUrlPathParameterTarget(originLink)
console.log('target',target)
if(target.siteId) {
let authorization = uni.getStorageSync('Authorization')
if (authorization && target.siteId) {
uni.showModal({
content: '该二维码非最新版,请提示油站工作人员更新',
success: res => {
if(res.confirm) {
this.siteId = target.siteId
this.getSiteInfo(target.siteId)
this.gotoPay()
}
if(res.cancel) {
this.backTohome()
}
}
})
}
} catch (e) {}
return
}
this.location = uni.getStorageSync('location')
if (!option.item) {
let siteInfos = uni.getStorageSync('siteInfo')
var oilItem = JSON.parse(decodeURIComponent(siteInfos))
} else {
var oilItem = JSON.parse(decodeURIComponent(option.item));
}
console.log(oilItem,'oilItemoilItemoilItem')
// console.log(oilItem, 'oilItemoilItemoilItem')
uni.setStorageSync('oilItem', oilItem)
this.getSiteInfo(oilItem)
this.siteId = oilItem.siteId
@@ -245,7 +259,7 @@
});
},
backTohome() {
this.innerAudioContext && this.innerAudioContext.stop()
// this.innerAudioContext && this.innerAudioContext.stop()
uni.switchTab({
url: '../../../pages/tabbar/home/home'
})
@@ -254,7 +268,9 @@
this.showtitle = false
},
gotoPay() {
this.innerAudioContext && this.innerAudioContext.stop()
// this.innerAudioContext && this.innerAudioContext.stop()
// console.log('this.activeCur',this.activeCur)
// return
uni.navigateTo({
url: `/BagStation/pages/makeOrder/makeOrder?siteId=${this.siteId}&activeCur=${this.activeCur}`
})
@@ -264,7 +280,7 @@
this.secondChannelCode = sec
},
siteQrPay() {
this.innerAudioContext && this.innerAudioContext.stop()
// this.innerAudioContext && this.innerAudioContext.stop()
uni.navigateTo({
url: `/BagStation/pages/stationDetail/stieQr?siteId=${this.siteId}&activeChannelCode=${this.activeChannelCode}&secondChannelCode=${this.secondChannelCode}`
})
@@ -307,7 +323,7 @@
if (this.siteInfo.juli > 1000) {
this.showtitle = true
} else {
this.innerAudioContext && this.innerAudioContext.stop()
// this.innerAudioContext && this.innerAudioContext.stop()
uni.navigateTo({
url: `/BagStation/pages/makeOrder/makeOrder?siteId=${this.siteId}&activeCur=${this.activeCur}`
})
@@ -486,31 +502,39 @@
.yu-card-xuan .action {
white-space: nowrap;
}.close-icon{
}
.close-icon {
position: absolute;
right: 2%;
top: 2%;
}
.dialog-box {
position: relative;
}
.text-centerS {
display: flex;
justify-content: center;
align-items: center;
text-align: center;
}
.red_btn {
color: #FFFFFF;
background-color: #1890FF;
}
.box-paddings {
padding: 40rpx 0;
}
.headShow {
font-size: 36rpx;
font-weight: 600;
}
.showtext {
line-height: 2;
font-size: 30rpx;
@@ -520,12 +544,14 @@
letter-spacing: 3px;
text-align: left;
}
.checklocation_box_button {
display: flex;
justify-content: space-between;
align-items: center;
padding: 0 5%;
}
.btn-box {
width: 45%;
flex: 0 0 auto;
@@ -536,9 +562,11 @@
box-sizing: border-box;
border: 2rpx solid #bfbfbf;
}
.box-panding {
padding: 10 0;
}
.checklocation {
position: fixed;
top: 50%;
@@ -546,9 +574,11 @@
right: 20%;
z-index: 999;
}
.checklocation_box {
background-color: #FFFFFF;
}
.content {
min-height: 100%;
position: relative;

View File

@@ -97,14 +97,14 @@
}
},
created() {
console.log(this.siteItem, '-----------------')
// console.log(this.siteItem, '-----------------')
},
methods: {
},
filters: {
channelCodeFamt(value) {
console.log(value)
// console.log(value)
if (!value) {
return '未知'
// 渠道编码 ( XOIL星油 WJY万金油 LV老吕找油网 TY团油 YDJY一点加油壳牌)