master
xiaozhiyong 1 year ago
parent 548ba526f3
commit a4bf992e9b
  1. 151
      App.vue
  2. 18
      BagAuth/pages/login/login.vue
  3. 10
      BagAuth/pages/login/oldLogin.vue
  4. 426
      BagStation/pages/components/price-select-tab.vue
  5. 63
      BagStation/pages/makeOrder/makeOrder.vue
  6. 46
      BagStation/pages/stationDetail/stationDetail.vue

@ -64,7 +64,7 @@
value: item.id
})
})
console.log(channelCodes, productCodes, siteBrands)
// console.log(channelCodes, productCodes, siteBrands)
this.menuList[0].detailList = this.menuList[0].detailList.concat(channelCodes)
this.menuList[1].detailList = this.menuList[1].detailList.concat(productCodes)
this.menuList[2].detailList = this.menuList[2].detailList.concat(siteBrands)
@ -93,146 +93,79 @@
}
}
// console.log(view.route)
clearTimeout(loginTimer)
clearTimeout(onlineTimer)
// 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?loginType=true'
let urlTarget = this.obtainUrlPathParameterTarget(view.$page.fullPath)
console.log('urlTarget',urlTarget)
// console.log('urlTarget', urlTarget)
let target = {}
if(urlTarget.q) {
let originLink = decodeURIComponent(decodeURIComponent(urlTarget.q))
target = this.obtainUrlPathParameterTarget(originLink)
target.siteId && (jumpUrl += `?scanningParams=${decodeURIComponent(urlTarget.q)}`)
if (urlTarget.q) {
try {
let originLink = decodeURIComponent(decodeURIComponent(urlTarget.q))
target = this.obtainUrlPathParameterTarget(originLink)
target.siteId && (jumpUrl += `&scanningParams=${decodeURIComponent(urlTarget.q)}`)
} catch (e) {}
}
if (token && openid) {
this.getAmount()
// if(!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)
}
})
}
}, 1000)
if (token && openid) {
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)
url: jumpUrl
})
}
}
// }
})
},
obtainUrlPathParameterTarget(url) {
let target = {}
if(url.includes('?')) {
if (url.includes('?')) {
let paramsText = url.split("?")[1]
let paramsArr = paramsText.split("&")
paramsArr.forEach(item => {
target[item.split('=')[0]] = item.split('=')[1]
})
}
console.log('11target',target)
// console.log('11target', target)
return target
},
// tokenip
getAmount() {
clearTimeout(loginTimer)
getAmount(jumpUrl) {
accountApi.getTotalOilCardInfo().then(res => {
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 + ''
// })
// }
// });
// 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 == '在线') {
// onShow: function() {
// const token = uni.getStorageSync('Authorization')
// const openid = uni.getStorageSync('openid')
}
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')
}
// if (token && openid) {
// this.getAmount()
// }
// },
}
</script>

@ -223,17 +223,17 @@
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
}

@ -171,11 +171,11 @@
loginRes: {},
checked: false,
next: false,
scanningParams:null
scanningParams: null
}
},
onLoad(options) {
if(options.scanningParams) {
if (options.scanningParams) {
//
this.scanningParams = options.scanningParams
}
@ -408,11 +408,11 @@
icon: 'none'
})
}, 1000);
if(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}`
})
return
return
}
//
uni.switchTab({

@ -8,26 +8,30 @@
</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-red 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-red 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}}
<!-- 少了壳牌 -->
</view>
</view>
</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 red" :class="radio=='radio' + index?'checked':''" :checked= " radio ==index?true : false" :value="index"></radio>
<radio class="round red" :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-red 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 +43,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-red':'line-red'" @tap="ChooseBar" :data-value="item.value">
<button class="cu-btn red block" :class="item.checked?'bg-red':'line-red'" @tap="ChooseBar"
:data-value="item.value">
{{item.name}}
<view class="cu-tag sm round" :class="item.checked?'bg-white text-red':'bg-red'" v-if="item.hot">HOT</view>
<view class="cu-tag sm round" :class="item.checked?'bg-white text-red':'bg-red'"
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>
@ -73,7 +80,7 @@
<!-- @tap="showJober='show'" -->
<!-- 请选择加油员 -->
<view class="cu-form-group ">
<view class="">
<view class="">
<view class="site-icon-sm">
<image :src="imgURL+'site-jober.png'" mode="widthFix" width="100upx"></image>
</view>
@ -89,28 +96,32 @@
</form>
</view>
<!-- 非团油加油输入框 -->
<view class="margin solid radius" v-if="activeChannelCode!='TY'&&radio!==null">
<view class="margin solid radius" v-if="activeChannelCode!='TY'&&radio!==null">
<view class=" menu cu-list ">
<view class="cu-item nowrap">
<view class="text-bold ">
油机金额
</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">
{{vlom?vlom :'' | moneyVolm}}L
{{vlom?vlom :'' | moneyVolm}}L
</text>
</view>
</view>
<view class="grid col-5 padding-sm">
<view v-for="(item,index) in checkMoney" class="padding-xs" :key="index">
<button class="cu-btn red block" style=" padding: 0;" :class="item.checked?'bg-red':'line-red'" @tap="ChooseCheckMoney(item.value)" :data-value="item.value">
{{item.name}}&yen;
<view class="cu-tag sm round" :class="item.checked?'bg-white text-red':'bg-red'" v-if="item.hot">HOT</view>
</button>
<button class="cu-btn red block" style=" padding: 0;"
:class="item.checked?'bg-red':'line-red'" @tap="ChooseCheckMoney(item.value)"
:data-value="item.value">
{{item.name}}&yen;
<view class="cu-tag sm round" :class="item.checked?'bg-white text-red':'bg-red'"
v-if="item.hot">HOT</view>
</button>
</view>
</view>
</view>
@ -124,7 +135,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 +147,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-red':'line-red'" @tap="ChooseCheckVol" :data-value="item.value">
<button class="cu-btn red block" :class="item.checked?'bg-red':'line-red'"
@tap="ChooseCheckVol" :data-value="item.value">
{{item.name}}
<view class="cu-tag sm round" :class="item.checked?'bg-white text-red':'bg-red'" v-if="item.hot">HOT</view>
<view class="cu-tag sm round" :class="item.checked?'bg-white text-red':'bg-red'"
v-if="item.hot">HOT</view>
</button>
</view>
@ -155,12 +169,12 @@
<view class="padding-top-sm" v-else>
直降金额
<text class="fr">-{{tyRes.depreciateAmount>0?tyRes.depreciateAmount:'xxx.x'|moneyFormat}}</text>
</view>
</view>
<view class="padding-top-sm">
优惠券 <text class="fr">{{'----'}}</text>
</view>
</view>
<view class="placeholder-hidden">
<view class="placeholder-hidden">
<view class="margin cu-list pay-bar menu radius solid-top solid-bottom solid-left">
<view class="cu-item ">
<view class="">
@ -181,8 +195,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-red fr" v-if="activeChannelCode!='TY'">{{realMoney>0?realMoney:'xxx.x'|moneyFormat}}</text>
<text class="text-red fr" v-else>{{ty.realMoney>0?ty.realMoney-tyRes.depreciateAmount:'xxx.x'|moneyFormat}}</text>
合计<text class="text-red fr"
v-if="activeChannelCode!='TY'">{{realMoney>0?realMoney:'xxx.x'|moneyFormat}}</text>
<text class="text-red 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 +254,8 @@
</view>
<view class="padding-tb-xs text-left">
直降金额
<text class="text-red fr">{{tyRes.depreciateAmount>0?tyRes.depreciateAmount:'xxx.x'|moneyFormat}}</text>
<text
class="text-red fr">{{tyRes.depreciateAmount>0?tyRes.depreciateAmount:'xxx.x'|moneyFormat}}</text>
</view>
</view>
<view class="padding-tb-xs text-left">
@ -247,7 +264,8 @@
</view>
<view class="padding-tb-xs text-left">
合计
<text class="text-red fr" v-if="activeChannelCode!='TY'">{{realMoney>0?realMoney:'xxx.x'|moneyFormat}}</text>
<text class="text-red fr"
v-if="activeChannelCode!='TY'">{{realMoney>0?realMoney:'xxx.x'|moneyFormat}}</text>
<text class="text-red fr" v-else>{{ty.realMoney>0?ty.realMoney:'xxx.x'|moneyFormat}}</text>
</view>
</view>
@ -255,8 +273,10 @@
<view class="cu-list margin pay-bar menu radius solid-top solid-bottom solid-left">
<view class="cu-item ">
<view class="">
合计<text class="text-red" v-if="activeChannelCode!='TY'">{{realMoney>0?realMoney:'xxx.x'|moneyFormat}}</text>
<text class="text-red" v-else>{{ty.realMoney>0?ty.realMoney-tyRes.depreciateAmount:'xxx.x'|moneyFormat}}</text>
合计<text class="text-red"
v-if="activeChannelCode!='TY'">{{realMoney>0?realMoney:'xxx.x'|moneyFormat}}</text>
<text class="text-red"
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 +305,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>
@ -303,10 +323,10 @@
<view class="">
<image src="../../../static/img/errIcon.png" mode="" style="width:100rpx;height: 100rpx;"></image>
</view>
<view class="cu-bar box-panding text-centerS" >
<text class="headShow">支付提醒</text>
<view class="cu-bar box-panding text-centerS">
<text class="headShow">支付提醒</text>
</view>
<view class="cu-bar box-panding" >
<view class="cu-bar box-panding">
<text class="showtext">当前油站距离您较远请与加油员确认您选择的油站是否正确</text>
</view>
<view class="checklocation_box_button">
@ -332,7 +352,7 @@
type: Array,
default () {}
},
channelJuli:{
channelJuli: {
type: Number,
default: ''
},
@ -347,11 +367,11 @@
},
data() {
return {
timer:null,
discount:'',
activeSitePrice:'',
showtitles:"",
showtitle:false,
timer: null,
discount: '',
activeSitePrice: '',
showtitles: "",
showtitle: false,
oilBarTy: '',
ty: {
realMoney: ""
@ -406,7 +426,7 @@
hot: false,
}],
plateNumber: '',
checkMoney:[{
checkMoney: [{
value: 100,
name: '100 ',
checked: false,
@ -435,7 +455,7 @@
checkbox: [{
value: 1,
name: '1',
checked: false,
checked: true,
hot: false,
}, {
value: 2,
@ -475,45 +495,46 @@
}],
activeChannelCode: '',
checkBar: [],
realMoney:'',
xoilAmountGun:'',
vlom:''
realMoney: '',
xoilAmountGun: '',
vlom: ''
}
},
created() {
let oilItem = uni.getStorageSync('oilItem')
this.showtitles = oilItem.listTag
this.showtitles = oilItem.listTag
},
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)
// this.oilBar = ''
// setTimeout(() => {
// this.checkBar = this.calcBar()
// }, 2)
}
},
radio:{
handler(n,o) {
console.log(n,o,'handler');
this.checkBar.forEach(item=>{
item.checked = false
});
this.oilBar = ''
radio: {
handler(n, o) {
// 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
}
},
@ -527,7 +548,7 @@
},
plateNumberSel() {
if (this.plateNumbers.length) {
return this.plateNumbers[this.plateIndex]?this.plateNumbers[this.plateIndex]:'非必填'
return this.plateNumbers[this.plateIndex] ? this.plateNumbers[this.plateIndex] : '非必填'
}
},
jober() {
@ -558,94 +579,94 @@
}
}
},
methods: {
checkNumber(e){
checkNumber(e) {
e.detail.value = e.detail.value.match(/^\d*(\.?\d{0,2})/g)[0] || null;
this.$nextTick(()=>{
this.$nextTick(() => {
this.vol = e.detail.value
})
},
checkMoneyVol(e){
checkMoneyVol(e) {
console.log(e)
if(e == ''){
if (e == '') {
uni.showToast({
title:'请输入金额',
icon:'none'
title: '请输入金额',
icon: 'none'
})
return
}
let isNumber = this.isNumber(e)
if(!isNumber){
uni.showToast({
title:'请输入正确金额',
icon:'none'
})
return
if (!isNumber) {
uni.showToast({
title: '请输入正确金额',
icon: 'none'
})
return
}
let number = {
payType : 'CUSTOMER_ACTIVE',
userType:'0',
xoilAmountGun:e ,
priceId:this.activeSitePrice
}
this.xoilAmountGun = e
oilSiteApi.getOrderDiscountInfo(number).then( res=>{
payType: 'CUSTOMER_ACTIVE',
userType: '0',
xoilAmountGun: e,
priceId: this.activeSitePrice
}
this.xoilAmountGun = e
oilSiteApi.getOrderDiscountInfo(number).then(res => {
console.log(res)
this.realMoney = res.data.payRealAmount
this.discount = res.data.oilDiscountAmount
this.vlom = res.data.volume
this.discount = res.data.oilDiscountAmount
this.vlom = res.data.volume
})
},
ChooseCheckMoney(e){
ChooseCheckMoney(e) {
console.log(e)
this.vol = e+''
this.checkMoneyVol(this.vol )
this.vol = e + ''
this.checkMoneyVol(this.vol)
},
isNumber(value){ //
isNumber(value) { //
const regPos = /^\d+(\.\d+)?$/; //
const regNeg = /^(-(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*)))$/; //
if(value.indexOf('-') != -1){
if (value.indexOf('-') != -1) {
return false
}
if( regPos.test(value) || regNeg.test(value)){
if (regPos.test(value) || regNeg.test(value)) {
return true
}else{
} else {
return false
}
},
getMoneyVol(e){
console.log(e)
if(e.detail.value == ''){
getMoneyVol(e) {
console.log(e)
if (e.detail.value == '') {
uni.showToast({
title:'请输入金额',
icon:'none'
title: '请输入金额',
icon: 'none'
})
return
}
let isNumber = this.isNumber(e.detail.value)
if(!isNumber){
uni.showToast({
title:'请输入正确金额',
icon:'none'
})
return
if (!isNumber) {
uni.showToast({
title: '请输入正确金额',
icon: 'none'
})
return
}
let number = {
payType : 'CUSTOMER_ACTIVE',
userType:'0',
xoilAmountGun:e.detail.value,
priceId:this.activeSitePrice
}
payType: 'CUSTOMER_ACTIVE',
userType: '0',
xoilAmountGun: e.detail.value,
priceId: this.activeSitePrice
}
this.xoilAmountGun = e.detail.value
oilSiteApi.getOrderDiscountInfo(number).then( res=>{
oilSiteApi.getOrderDiscountInfo(number).then(res => {
console.log(res)
this.realMoney = res.data.payRealAmount
this.discount = res.data.oilDiscountAmount
this.vlom = res.data.volume
this.discount = res.data.oilDiscountAmount
this.vlom = res.data.volume
})
},
checkInfo(){
checkInfo() {
console.log(this.radio)
this.tsetPlate(this.plateNumber ? this.plateNumber : this.plateNumberSel)
// if (!this.testPlateResult) {
@ -656,7 +677,7 @@
// })
// // return false
// }
if (this.radio==null||!this.oilSitePriceDetailsVo[this.radio].priceId) {
if (this.radio == null || !this.oilSitePriceDetailsVo[this.radio].priceId) {
uni.showToast({
icon: 'none',
title: '请选择油品'
@ -691,7 +712,7 @@
})
return false
}
if (this.vol < 0.01&& !this.tyRes.liter) {
if (this.vol < 0.01 && !this.tyRes.liter) {
uni.showToast({
icon: 'none',
title: '加油金额不能为空'
@ -705,18 +726,18 @@
})
return false
}
this.makerOrder()
},
gotoPay(){
gotoPay() {
this.checkInfo()
},
hidendialog(){
this.showtitle =false
hidendialog() {
this.showtitle = false
},
backTohome(){
backTohome() {
uni.switchTab({
url:'../../../pages/tabbar/home/home'
url: '../../../pages/tabbar/home/home'
})
},
calcBar() {
@ -805,7 +826,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=''
@ -815,7 +836,7 @@
// })
// // return false
// }
if (this.radio==null||!this.oilSitePriceDetailsVo[this.radio].priceId) {
if (this.radio == null || !this.oilSitePriceDetailsVo[this.radio].priceId) {
uni.showToast({
icon: 'none',
title: '请选择油品'
@ -850,7 +871,7 @@
})
return false
}
if (this.vol < 0.01&& !this.tyRes.liter) {
if (this.vol < 0.01 && !this.tyRes.liter) {
uni.showToast({
icon: 'none',
title: '加油金额不能为空'
@ -864,10 +885,10 @@
})
return false
}
if(this.channelJuli>1000){
if (this.channelJuli > 1000) {
this.showtitle = true
return
}
}
this.makerOrder()
},
//
@ -875,41 +896,46 @@
// // console.log('',
// this.plateNumber, this.jober,
// )
if(!this.timer){
this.timer = setTimeout(()=>{
let orderData = {
'clientBelong':'BAICHUAN',
"amountGun": this.activeChannelCode == 'TY' ? this.ty.realMoney : '',
"shareCompanyQuota": 0, //
"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
"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
"suppleMark": 0, //Number 0 1
"createSource": "XOIL_DRIVER_WECHAT_APPLET", //String XOIL_DRIVER_WECHAT_APPLET
// "deviceImei": "mock", //String
// "networkIp": "mock" //String ip,
'version':1,
'xoilAmountGun':this.vol
}
oilOrderApi.createOrder(orderData).then(res => {
if (res.code == 20000) {
if (!this.timer) {
this.timer = setTimeout(() => {
let orderData = {
'clientBelong': 'BAICHUAN',
"amountGun": this.activeChannelCode == 'TY' ? this.ty.realMoney : '',
"shareCompanyQuota": 0, //
"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
"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
"suppleMark": 0, //Number 0 1
"createSource": "XOIL_DRIVER_WECHAT_APPLET", //String XOIL_DRIVER_WECHAT_APPLET
// "deviceImei": "mock", //String
// "networkIp": "mock" //String ip,
'version': 1,
'xoilAmountGun': this.vol
}
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
})
}
}).finally(msg => {
clearTimeout(this.timer)
uni.setStorageSync('orderMade', res.data)
uni.redirectTo({
url: '/BagStation/pages/makeOrder/orderPaying?payMethod='+res.data.payMethod
})
}
}).finally(msg=>{
clearTimeout(this.timer)
})
},500)
}
})
}, 500)
}
},
tsetPlate(plateNumber) {
this.testPlateResult =
@ -924,11 +950,11 @@
this.plateNumbers = res.data.plateNumbers
this.oilSitePriceDetailsVo = res.data.oilSitePriceDetailsVo;
this.siteUserNames = res.data.siteUserNames;
if(this.oilSitePriceDetailsVo.length==1){
if (this.oilSitePriceDetailsVo.length == 1) {
this.radio = 0
this.activeSitePrice = res.data.oilSitePriceDetailsVo[0].priceId
}
}
})
},
@ -969,16 +995,16 @@
},
changePrice(e) {
this.radio = e.detail.value
console.log(e,'changePrice')
this.vol =''
console.log(e, 'changePrice')
this.vol = ''
this.activeSitePrice = this.oilSitePriceDetailsVo[this.radio].priceId
this.realMoney ='--'
this.realMoney = '--'
this.xoilAmountGun = '';
Object.keys(this.tyRes).forEach(key=>{
this.tyRes[key]=''
Object.keys(this.tyRes).forEach(key => {
this.tyRes[key] = ''
})
Object.keys(this.ty).forEach(key=>{
this.ty[key]=''
Object.keys(this.ty).forEach(key => {
this.ty[key] = ''
})
this.vlom = ''
// // console.log(this.radio)
@ -993,13 +1019,13 @@
},
filters: {
moneyVolm(value) {
if (value != 'xxx.x') {
return Math.round(value * 100) / 100;
} else {
return value
}
if (value != 'xxx.x') {
return Math.round(value * 100) / 100;
} else {
return value
}
},
channelCodeFamt(value) {
if (value) {
@ -1018,9 +1044,9 @@
}
}
},
moneyFormats(value){
moneyFormats(value) {
if (value != 'xxx.x') {
return Math.round(value * 100) / 100
return Math.round(value * 100) / 100
} else {
return value
}
@ -1031,7 +1057,8 @@
} else {
return value
}
} }
}
}
}
</script>
@ -1065,61 +1092,69 @@
.picker-view {
min-height: 300upx;
}
.close-icon{
.close-icon {
position: absolute;
right: 2%;
top: 2%;
}
.dialog-box{
.dialog-box {
position: relative;
}
.site-icon {
width: 2rem;
vertical-align: middle;
}
.my-tag {
padding: 0 12rpx;
}
.pay-bar>>>.self-btn {
padding: 0 64rpx;
height: 94rpx !important;
}
.pay-bar>.cu-item {
padding-right: 0;
}
.site-icon-sm {
width: 50upx;
}
.nowrap {
white-space: nowrap;
}
.picker-view {
min-height: 300upx;
}
.text-centerS{
.text-centerS {
display: flex;
justify-content: center;
align-items: center;
text-align: center;
}
.red_btn{
.red_btn {
color: #FFFFFF;
background-color: #fe0505;
}
.box-paddings{
padding:40rpx 0;
.box-paddings {
padding: 40rpx 0;
}
.headShow{
.headShow {
font-size: 36rpx;
font-weight: 600;
}
.showtext{
.showtext {
line-height: 2;
font-size: 30rpx;
margin-bottom: 30rpx;
@ -1128,13 +1163,15 @@
letter-spacing: 3px;
text-align: left;
}
.checklocation_box_button{
.checklocation_box_button {
display: flex;
justify-content: space-between;
align-items: center;
padding: 0 5%;
}
.btn-box{
.btn-box {
width: 45%;
flex: 0 0 auto;
text-align: center;
@ -1144,7 +1181,8 @@
box-sizing: border-box;
border: 2rpx solid #bfbfbf;
}
.box-panding{
padding:10 0;
.box-panding {
padding: 10 0;
}
</style>

@ -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('+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 fixed-top 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">
@ -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,
radio: 'B',
mainURL: this.global.mainURL,
imgURL: this.global.imgURL,
@ -81,7 +87,7 @@
siteInfo: {
},
activeCur:0,
activeCur: 0,
activePay: null,
qrcodePay: null,
@ -94,6 +100,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
@ -103,14 +122,26 @@
}
},
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
}
oilSiteApi.getSiteDetails(data2).then(res => {
@ -140,9 +171,10 @@
},
goBack() {
uni.navigateBack({
this.isBackPrev ? uni.navigateBack() : uni.navigateBack({
url: '../../../pages/tabbar/home/home'
})
},
selectRadio() {
this.radio === 'A' ? this.radio = '' : this.radio = 'A'
@ -178,15 +210,14 @@
return value > 1000 ? ((value / 1000).toFixed(2) + 'km') : (value + 'm')
}
}
}
,
},
onHide() {
console.log('这里是hiden')
this.innerAudioContext.stop()
// console.log('hiden')
// this.innerAudioContext.stop()
},
onUnload() {
console.log('这里是卸载页面')
this.innerAudioContext.stop()
// console.log('')
// this.innerAudioContext.stop()
},
}
</script>

@ -178,19 +178,35 @@
this.innerAudioContext && this.innerAudioContext.stop()
},
onUnload() {
this.innerAudioContext && this.innerAudioContext.stop()
if (this.innerAudioContext) {
this.innerAudioContext.stop()
this.innerAudioContext.destroy()
}
},
onLoad(option) {
if(option.q) {
let originLink = decodeURIComponent(option.q)
let target = this.obtainUrlPathParameterTarget(originLink)
if(target.siteId) {
this.siteId = target.siteId
this.getSiteInfo(target.siteId)
}
return
if (option.q) {
try {
let originLink = decodeURIComponent(option.q)
let target = this.obtainUrlPathParameterTarget(originLink)
let authorization = uni.getStorageSync('Authorization')
if (authorization && target.siteId) {
uni.showModal({
content: '该二维码非最新版,请提示油站工作人员更新',
success: res => {
if(res.confirm) {
this.siteId = target.siteId
this.gotoPay()
}
if(res.cancel) {
this.backTohome()
}
}
})
}
} catch (e) {}
return
}
if (!option.item) {
let siteInfos = uni.getStorageSync('siteInfo')
var oilItem = JSON.parse(decodeURIComponent(siteInfos))
@ -236,7 +252,7 @@
});
},
backTohome() {
this.innerAudioContext && this.innerAudioContext.stop()
// this.innerAudioContext && this.innerAudioContext.stop()
uni.switchTab({
url: '../../../pages/tabbar/home/home'
})
@ -245,7 +261,7 @@
this.showtitle = false
},
gotoPay() {
this.innerAudioContext && this.innerAudioContext.stop()
// this.innerAudioContext && this.innerAudioContext.stop()
uni.navigateTo({
url: `/BagStation/pages/makeOrder/makeOrder?siteId=${this.siteId}&activeCur=${this.activeCur}`
})
@ -255,7 +271,7 @@
this.secondChannelCode = sec
},
siteQrPay() {
this.innerAudioContext && this.innerAudioContext.stop()
// this.innerAudioContext && this.innerAudioContext.stop()
// let siteId =
uni.navigateTo({
url: `/BagStation/pages/stationDetail/stieQr?siteId=${this.siteId}&activeChannelCode=${this.activeChannelCode}&secondChannelCode=${this.secondChannelCode}`
@ -306,7 +322,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}`
})
@ -317,7 +333,7 @@
this.qrcodePay = val
},
onChangePay(val, active) {
console.log(val)
// console.log(val)
this.activePay = val
this.activeCur = active
},

Loading…
Cancel
Save