|
|
|
@ -33,12 +33,13 @@ |
|
|
|
|
<!-- 筛选开始 --> |
|
|
|
|
<scroll-view class="screentop bg-white" style="flex: 1;"> |
|
|
|
|
<view class=""> |
|
|
|
|
<sl-filter reflexTitle ref="slFilter" :productCodeList="productCodeList" :areaCodeList="areaCodeList" @result="filterRes" :menuList="menuList"></sl-filter> |
|
|
|
|
<sl-filter v-if="isFilterData" reflexTitle ref="slFilter" :productCodeList="productCodeList" :areaCodeList="areaCodeList" |
|
|
|
|
@result="filterRes" :menuList="menuList"></sl-filter> |
|
|
|
|
<!-- <sl-filter reflexTitle ref="slFilter" @result="filterRes" :menuList="menuList"></sl-filter> --> |
|
|
|
|
</view> |
|
|
|
|
<view class="bg-white min-height-50 padding-top" v-if="siteList.length>0"> |
|
|
|
|
<site-item v-for="(item,index) in siteList" :key="item.id" :site-item="item" :first="index==0" :listHeight="listHeight" |
|
|
|
|
class="cu-list menu-avatar cu-item" @tap="toDetail(item)"> |
|
|
|
|
<site-item v-for="(item,index) in siteList" :key="item.id" :site-item="item" :first="index==0" |
|
|
|
|
:listHeight="listHeight" class="cu-list menu-avatar cu-item" @tap="toDetail(item)"> |
|
|
|
|
</site-item> |
|
|
|
|
<view class="placeholder-hidden"> |
|
|
|
|
|
|
|
|
@ -71,111 +72,111 @@ |
|
|
|
|
filterData: { |
|
|
|
|
// oilProductCode: '0#' |
|
|
|
|
}, |
|
|
|
|
contentTitle:'您当前位置附近没有油站,可以点击左上角-距离-选择其他省市进行查看。', |
|
|
|
|
isFilterData:false, |
|
|
|
|
contentTitle: '您当前位置附近没有油站,可以点击左上角-距离-选择其他省市进行查看。', |
|
|
|
|
loadStatus: 'load', |
|
|
|
|
listHeight:160, |
|
|
|
|
areaCodeList:[], |
|
|
|
|
listHeight: 160, |
|
|
|
|
areaCodeList: [], |
|
|
|
|
siteName: '', |
|
|
|
|
menuList:[ |
|
|
|
|
menuList: [{ |
|
|
|
|
title: '距离', |
|
|
|
|
isMutiple: false, |
|
|
|
|
key: 'distance', |
|
|
|
|
detailList: [{ |
|
|
|
|
title: "全部", |
|
|
|
|
value: '' |
|
|
|
|
}, |
|
|
|
|
{ |
|
|
|
|
title: "20Km", |
|
|
|
|
value: 20 |
|
|
|
|
}, |
|
|
|
|
{ |
|
|
|
|
title: "30Km", |
|
|
|
|
value: 30 |
|
|
|
|
}, |
|
|
|
|
{ |
|
|
|
|
title: "50Km", |
|
|
|
|
value: 50 |
|
|
|
|
}, |
|
|
|
|
{ |
|
|
|
|
title: "省市", |
|
|
|
|
value: 10 |
|
|
|
|
} |
|
|
|
|
] |
|
|
|
|
}, |
|
|
|
|
{ |
|
|
|
|
title: '距离', |
|
|
|
|
isMutiple: false, |
|
|
|
|
key: 'distance', |
|
|
|
|
detailList: [ |
|
|
|
|
{ |
|
|
|
|
title: "全部", |
|
|
|
|
value: '' |
|
|
|
|
}, |
|
|
|
|
{ |
|
|
|
|
title: "20Km", |
|
|
|
|
value: 20 |
|
|
|
|
}, |
|
|
|
|
{ |
|
|
|
|
title: "30Km", |
|
|
|
|
value: 30 |
|
|
|
|
}, |
|
|
|
|
{ |
|
|
|
|
title: "50Km", |
|
|
|
|
value: 50 |
|
|
|
|
}, |
|
|
|
|
{ |
|
|
|
|
title: "省市", |
|
|
|
|
value: 10 |
|
|
|
|
} |
|
|
|
|
] |
|
|
|
|
}, |
|
|
|
|
{ |
|
|
|
|
title: '油品', |
|
|
|
|
key: 'oilProductCode', |
|
|
|
|
isMutiple: false, |
|
|
|
|
detailList: [{ |
|
|
|
|
title: "全部", |
|
|
|
|
value: "" |
|
|
|
|
}, |
|
|
|
|
{ |
|
|
|
|
title: "0#", |
|
|
|
|
value: "0#" |
|
|
|
|
}, |
|
|
|
|
{ |
|
|
|
|
title: "-10#", |
|
|
|
|
value: "-10#" |
|
|
|
|
}, |
|
|
|
|
{ |
|
|
|
|
title: "-20#", |
|
|
|
|
value: "-20#" |
|
|
|
|
}, |
|
|
|
|
{ |
|
|
|
|
title: "-35#", |
|
|
|
|
value: "-35#" |
|
|
|
|
}, |
|
|
|
|
{ |
|
|
|
|
title: "LNG", |
|
|
|
|
value: "LNG" |
|
|
|
|
}] |
|
|
|
|
title: '油品', |
|
|
|
|
key: 'oilProductCode', |
|
|
|
|
isMutiple: false, |
|
|
|
|
detailList: [{ |
|
|
|
|
title: "全部", |
|
|
|
|
value: "" |
|
|
|
|
}, |
|
|
|
|
{ |
|
|
|
|
title: "0#", |
|
|
|
|
value: "0#" |
|
|
|
|
}, |
|
|
|
|
{ |
|
|
|
|
title: "-10#", |
|
|
|
|
value: "-10#" |
|
|
|
|
}, |
|
|
|
|
{ |
|
|
|
|
title: "-20#", |
|
|
|
|
value: "-20#" |
|
|
|
|
}, |
|
|
|
|
// { |
|
|
|
|
// title: '油品', |
|
|
|
|
// key: 'oilProductCode', |
|
|
|
|
// isMutiple: false, |
|
|
|
|
// detailList: {全部:[{ |
|
|
|
|
// title: "全部", |
|
|
|
|
// value: "" |
|
|
|
|
// }], |
|
|
|
|
// 柴油:[{ |
|
|
|
|
// title: "0#", |
|
|
|
|
// value: "0#" |
|
|
|
|
// }, |
|
|
|
|
// { |
|
|
|
|
// title: "-10#", |
|
|
|
|
// value: "-10#" |
|
|
|
|
// }, |
|
|
|
|
// { |
|
|
|
|
// title: "-20#", |
|
|
|
|
// value: "-20#" |
|
|
|
|
// }, |
|
|
|
|
// { |
|
|
|
|
// title: "-35#", |
|
|
|
|
// value: "-35#" |
|
|
|
|
// }], |
|
|
|
|
// 天然气:[{ |
|
|
|
|
// title: "LNG", |
|
|
|
|
// value: "LNG" |
|
|
|
|
// }]} |
|
|
|
|
// }, |
|
|
|
|
{ |
|
|
|
|
title: '距离优先', |
|
|
|
|
isMutiple: false, |
|
|
|
|
key: 'comprehensiveSort', |
|
|
|
|
detailList: [{ |
|
|
|
|
title: "距离优先", |
|
|
|
|
value: 1 |
|
|
|
|
}, |
|
|
|
|
{ |
|
|
|
|
title: "价格优先", |
|
|
|
|
value: 2 |
|
|
|
|
} |
|
|
|
|
] |
|
|
|
|
}, |
|
|
|
|
title: "-35#", |
|
|
|
|
value: "-35#" |
|
|
|
|
}, |
|
|
|
|
{ |
|
|
|
|
title: "LNG", |
|
|
|
|
value: "LNG" |
|
|
|
|
} |
|
|
|
|
] |
|
|
|
|
}, |
|
|
|
|
// { |
|
|
|
|
// title: '油品', |
|
|
|
|
// key: 'oilProductCode', |
|
|
|
|
// isMutiple: false, |
|
|
|
|
// detailList: {全部:[{ |
|
|
|
|
// title: "全部", |
|
|
|
|
// value: "" |
|
|
|
|
// }], |
|
|
|
|
// 柴油:[{ |
|
|
|
|
// title: "0#", |
|
|
|
|
// value: "0#" |
|
|
|
|
// }, |
|
|
|
|
// { |
|
|
|
|
// title: "-10#", |
|
|
|
|
// value: "-10#" |
|
|
|
|
// }, |
|
|
|
|
// { |
|
|
|
|
// title: "-20#", |
|
|
|
|
// value: "-20#" |
|
|
|
|
// }, |
|
|
|
|
// { |
|
|
|
|
// title: "-35#", |
|
|
|
|
// value: "-35#" |
|
|
|
|
// }], |
|
|
|
|
// 天然气:[{ |
|
|
|
|
// title: "LNG", |
|
|
|
|
// value: "LNG" |
|
|
|
|
// }]} |
|
|
|
|
// }, |
|
|
|
|
{ |
|
|
|
|
title: '距离优先', |
|
|
|
|
isMutiple: false, |
|
|
|
|
key: 'comprehensiveSort', |
|
|
|
|
detailList: [{ |
|
|
|
|
title: "距离优先", |
|
|
|
|
value: 1 |
|
|
|
|
}, |
|
|
|
|
{ |
|
|
|
|
title: "价格优先", |
|
|
|
|
value: 2 |
|
|
|
|
} |
|
|
|
|
] |
|
|
|
|
}, |
|
|
|
|
], |
|
|
|
|
// menuList: uni.getStorageSync('filterData') ? uni.getStorageSync('filterData') : [ |
|
|
|
|
// { |
|
|
|
@ -258,10 +259,12 @@ |
|
|
|
|
this.refreshLocation() |
|
|
|
|
if (!uni.getStorageSync('filterData')) { |
|
|
|
|
this.getFilterData() |
|
|
|
|
} else { |
|
|
|
|
this.isFilterData=true |
|
|
|
|
} |
|
|
|
|
this.getSiteList() |
|
|
|
|
}, |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
onPullDownRefresh() { |
|
|
|
|
this.filterRes(this.filterData) |
|
|
|
|
setTimeout(function() { |
|
|
|
@ -288,39 +291,73 @@ |
|
|
|
|
this.getSiteList() |
|
|
|
|
}, |
|
|
|
|
getFilterData() { |
|
|
|
|
let menuList = [{ |
|
|
|
|
title: '渠道', |
|
|
|
|
isMutiple: false, |
|
|
|
|
key: 'channelCode', |
|
|
|
|
detailList: [{ |
|
|
|
|
title: "全部", |
|
|
|
|
value: "" |
|
|
|
|
}] |
|
|
|
|
}, |
|
|
|
|
{ |
|
|
|
|
title: '0#轻柴油', |
|
|
|
|
key: 'oilProductCode', |
|
|
|
|
isMutiple: false, |
|
|
|
|
detailList: [{ |
|
|
|
|
title: "全部", |
|
|
|
|
value: "" |
|
|
|
|
}] |
|
|
|
|
}, |
|
|
|
|
{ |
|
|
|
|
title: '品牌', |
|
|
|
|
key: 'siteBrand', |
|
|
|
|
isSort: true, |
|
|
|
|
isMutiple: false, |
|
|
|
|
detailList: [{ |
|
|
|
|
title: "全部", |
|
|
|
|
value: "" |
|
|
|
|
}] |
|
|
|
|
} |
|
|
|
|
] |
|
|
|
|
oilSiteApi.getCheckInfo().then(res => { |
|
|
|
|
if (res.code == 20000) { |
|
|
|
|
uni.setStorageSync('productCodeList', res.data.productCodeList) |
|
|
|
|
uni.setStorageSync('areaCodeList', res.data.areaCodeList) |
|
|
|
|
this.areaCodeList = uni.getStorageSync('areaCodeList') |
|
|
|
|
if(uni.getStorageSync('areaCodeList')){ |
|
|
|
|
let channelCodes = [] |
|
|
|
|
res.data.channelCodes.map(item => { |
|
|
|
|
channelCodes.push({ |
|
|
|
|
title: item.name, |
|
|
|
|
value: item.id |
|
|
|
|
}) |
|
|
|
|
}) |
|
|
|
|
let productCodes = [] |
|
|
|
|
res.data.productCodes.map(item => { |
|
|
|
|
productCodes.push({ |
|
|
|
|
title: item.name, |
|
|
|
|
value: item.id |
|
|
|
|
}) |
|
|
|
|
}) |
|
|
|
|
let siteBrands = [] |
|
|
|
|
res.data.siteBrands.map(item => { |
|
|
|
|
siteBrands.push({ |
|
|
|
|
title: item.name, |
|
|
|
|
value: item.id |
|
|
|
|
}) |
|
|
|
|
}) |
|
|
|
|
menuList[0].detailList = menuList[0].detailList.concat(channelCodes) |
|
|
|
|
menuList[1].detailList = menuList[1].detailList.concat(productCodes) |
|
|
|
|
menuList[2].detailList = menuList[2].detailList.concat(siteBrands) |
|
|
|
|
uni.setStorageSync('filterData', this.menuList); |
|
|
|
|
if (uni.getStorageSync('areaCodeList')) { |
|
|
|
|
this.areaCodeList = uni.getStorageSync('areaCodeList') |
|
|
|
|
}else{ |
|
|
|
|
} else { |
|
|
|
|
this.areaCodeList = res.data.areaCodeList |
|
|
|
|
} |
|
|
|
|
// this.productCodeList = uni.getStorageSync('productCodeList') |
|
|
|
|
// res.data.channelCodes.map(item => { |
|
|
|
|
// this.menuList[0].detailList.push({ |
|
|
|
|
// title: item.name, |
|
|
|
|
// value: item.id |
|
|
|
|
// }) |
|
|
|
|
// }) |
|
|
|
|
// res.data.productCodes.map(item => { |
|
|
|
|
// this.menuList[1].detailList.push({ |
|
|
|
|
// title: item.name, |
|
|
|
|
// value: item.id |
|
|
|
|
// }) |
|
|
|
|
// }) |
|
|
|
|
// res.data.siteBrands.map(item => { |
|
|
|
|
// this.menuList[2].detailList.push({ |
|
|
|
|
// title: item.name, |
|
|
|
|
// value: item.id |
|
|
|
|
// }) |
|
|
|
|
// }) |
|
|
|
|
// // console.log(channelCodes, productCodes, siteBrands) |
|
|
|
|
|
|
|
|
|
// this.$refs.slFilter.resetMenuList(this.menuList) |
|
|
|
|
// this.$forceUpdate(); |
|
|
|
|
} |
|
|
|
|
this.isFilterData = true |
|
|
|
|
}) |
|
|
|
|
}, |
|
|
|
|
onSelected(e) { |
|
|
|
@ -342,21 +379,22 @@ |
|
|
|
|
currentPage: this.currentPage, |
|
|
|
|
pageSize: 10, |
|
|
|
|
params: { //类型:Object 必有字段 备注:// 筛选对象 |
|
|
|
|
clientBelong:'BAICHUAN', |
|
|
|
|
sort: "juli", //类型:String 必有字段 备注:// 智能排序 ( price:价格最低 juli:距离最近 ) 默认距离排序 |
|
|
|
|
siteName: this.siteName, |
|
|
|
|
...uni.getStorageSync('location'), |
|
|
|
|
// ...this.filterData |
|
|
|
|
siteBrand: this.siteName ? '' : this.filterData |
|
|
|
|
.siteBrand, // 备注:// 石油品牌 ( 1-中国石油 2-中国石化 3-壳牌 4-民营 5-中海油 6-京博 7-中化石油 8-其他 ) |
|
|
|
|
.siteBrand, // 备注:// 石油品牌 ( 1-中国石油 2-中国石化 3-壳牌 4-民营 5-中海油 6-京博 7-中化石油 8-其他 ) |
|
|
|
|
channelCode: this.siteName ? '' : this.filterData |
|
|
|
|
.channelCode, // 备注:// 渠道编码 ( OIL:星油 WJY:万金油 LV:老吕(找油网) TY:团油 YDJY:一点加油(壳牌)) |
|
|
|
|
.channelCode, // 备注:// 渠道编码 ( OIL:星油 WJY:万金油 LV:老吕(找油网) TY:团油 YDJY:一点加油(壳牌)) |
|
|
|
|
oilProductCode: this.siteName ? '' : this.filterData |
|
|
|
|
.oilProductCode, // 备注:// 油号选择 ( 0# 92# 92#) |
|
|
|
|
provinceCode:this.filterData.provinceCode, |
|
|
|
|
cityCode:this.filterData.cityCode, |
|
|
|
|
areaCode:this.filterData.areaCode, |
|
|
|
|
distance:this.filterData.distance, |
|
|
|
|
comprehensiveSort:this.filterData.comprehensiveSort?this.filterData.comprehensiveSort:1 |
|
|
|
|
provinceCode: this.filterData.provinceCode, |
|
|
|
|
cityCode: this.filterData.cityCode, |
|
|
|
|
areaCode: this.filterData.areaCode, |
|
|
|
|
distance: this.filterData.distance, |
|
|
|
|
comprehensiveSort: this.filterData.comprehensiveSort ? this.filterData.comprehensiveSort : 1 |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
} |
|
|
|
@ -388,7 +426,7 @@ |
|
|
|
|
|
|
|
|
|
}, |
|
|
|
|
toDetail(item) { |
|
|
|
|
let itemS = encodeURIComponent(JSON.stringify(item)) |
|
|
|
|
let itemS = encodeURIComponent(JSON.stringify(item)) |
|
|
|
|
if (uni.getStorageSync('user')) { |
|
|
|
|
uni.navigateTo({ |
|
|
|
|
url: `/BagStation/pages/stationDetail/stationDetail?item=${itemS}`, |
|
|
|
@ -401,13 +439,13 @@ |
|
|
|
|
}) |
|
|
|
|
} else { |
|
|
|
|
uni.showModal({ |
|
|
|
|
title:'请您登录', |
|
|
|
|
content:"登录小星加油才可以加油 |˛˙꒳˙)♡", |
|
|
|
|
confirmText:'去登陆', |
|
|
|
|
title: '请您登录', |
|
|
|
|
content: "登录小星加油才可以加油 |˛˙꒳˙)♡", |
|
|
|
|
confirmText: '去登陆', |
|
|
|
|
success: (res) => { |
|
|
|
|
if(res.confirm){ |
|
|
|
|
if (res.confirm) { |
|
|
|
|
uni.reLaunch({ |
|
|
|
|
url:'../../../BagAuth/pages/login/login' |
|
|
|
|
url: '../../../BagAuth/pages/login/login' |
|
|
|
|
}) |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|