Commit 38fb94b06d509203cf01f21431bee0f451b8f61a

Authored by wangfan
1 parent c3c8b2e8

c端预定

// pages/reserve/detail.js
import util from '../../utils/util';
import App from '../../utils/api';
const {regeneratorRuntime} = global
Page({
/**
... ... @@ -7,7 +10,7 @@ Page({
data: {
seller:{
id:1,
seller_name:'陕西风味面馆',
sellername:'陕西风味面馆',
banner:[
'http://qn.colorcun.com/custom/lite-online/image/def-banner.png'
],
... ... @@ -17,6 +20,7 @@ Page({
'http://qn.colorcun.com/custom/lite-online/image/def-banner.png'
]
},
IsCollectionSeller:false,
},
/**
... ... @@ -24,8 +28,44 @@ Page({
*/
onLoad: function (options) {
console.log('onLoad', options)
this.options=options
App.Customer.IsCollectionSeller({
sid:options.id,
openid:getApp().openid
}).then(res=>{
this.setData({
IsCollectionSeller:res.data,
})
})
},
GetSellerDetail(){
let options=this.options
App.Customer.GetSellerDetail({
sid:options.id,
lat:this.location.latitude,
lng:this.location.longitude,
}).then(res=>{
if(res.ret==200){
let seller=res.data
let seller_tel=[]
if(seller.seller_tel){
seller_tel=seller.seller_tel.split(',')
}else{
seller_tel=[seller.seller_phone];
}
seller.seller_tel=seller_tel
seller.distance=parseInt(seller.distance);
if(seller.distance>1000){
seller.distanceStr=(seller.distance/1000).toFixed(2)+'公里'
}else{
seller.distanceStr=seller.distance+'米';
}
this.setData({
seller:seller,
})
}
})
},
/**
* 生命周期函数--监听页面初次渲染完成
*/
... ... @@ -37,7 +77,7 @@ Page({
* 生命周期函数--监听页面显示
*/
onShow: function () {
this.getPos()
},
/**
... ... @@ -75,20 +115,68 @@ Page({
},
reserve(){
if(false){//只有一个电话
let seller_tel=this.data.seller.seller_tel
if(seller_tel.length<1) return util.toast('商家电话错误','none')
if(seller_tel.length==1){//只有一个电话
let phone=seller_tel[0].replace(/[^\d]/,'')
wx.makePhoneCall({
phoneNumber:this.data.seller.phone
phoneNumber:phone
})
}else{
this.selectComponent('#as').show();
}
},
reservePhone(e){
let phone=e.detail.value.replace(/[^\d]/,'')
wx.makePhoneCall({
phoneNumber:e.detail.value
phoneNumber:phone
})
},
follow(e){
console.log('收藏',e)
this.setData({
IsCollectionSeller:!this.data.IsCollectionSeller
})
if(this.data.IsCollectionSeller){//已收藏
}else{
}
},
getPos(){
this._getPos().then(res => {
console.log('wx.getLocation.then', res);
this.location=res
this.GetSellerDetail();
}).catch((e) => {
console.log('wx.getLocation.catch', e);
if ('getLocation:fail auth deny' == e.errMsg || 'getLocation:fail:auth denied' == e.errMsg) {
this.selectComponent('#showModal').options({
header: '定位失败',
body: '需要地理位置授权'
}).show();
} else {
setTimeout(() => {
this.getPos()
}, 500)
}
})
},
_getPos(){
return new Promise((success, fail) => {
wx.getLocation({
type: 'gcj02',
success: (res) => {
success(res)
},
fail: (res) => {
fail(res)
},
complete: (res) => {
console.log('wx.getLocation', res)
}
});
})
},
})
\ No newline at end of file
... ...
<!--pages/reserve/detail.wxml-->
<nav>{{seller.seller_name}}</nav>
<nav>{{seller.sellername}}</nav>
<view class="seller-banner">
<swiper
indicator-dots="{{false}}" autoplay="{{false}}" circular="{{false}}" vertical="{{false}}"
interval="2000" duration="500"
previous-margin="{{0}}px" next-margin="{{0}}px"
current="{{current}}" bindchange="bindtransition">
<block wx:for="{{seller.banner}}" wx:key="sellers.key">
<block wx:for="{{seller.envi_image}}" wx:key="sellers.key">
<swiper-item>
<image src="{{item}}" class="image" mode="aspectFill"></image>
</swiper-item>
... ... @@ -16,30 +16,30 @@
<view class="pages">
<view class="seller">
<view class="base flex-vc">
<view class="name">{{seller.seller_name}}</view>
<view class="name">{{seller.sellername}}</view>
<view class="ping flex-cc">
<view class="item flex-lr fen">
<stat stat="2.0"></stat>
<stat stat="{{seller.score}}"></stat>
</view>
<view class="item">西北菜</view>
<view class="item">人均60元</view>
<view class="item" wx:if="{{seller.cate.length>0}}">{{seller.cate[0]}}</view>
<view class="item" wx:if="{{seller.average>0}}">人均{{seller.average}}元</view>
</view>
<view class="peitao flex-cc">
<view class="icon bao">包间</view>
<view class="icon ka">卡座</view>
<view class="icon car">停车场</view>
<view class="icon bao" wx:if="{{seller.room==1}}">包间</view>
<view class="icon ka" wx:if="{{seller.cassette==1}}">卡座</view>
<view class="icon car" wx:if="{{seller.is_parking==1}}">停车场</view>
</view>
</view>
<view class="addr">
<view class="addr-text flex-ll">
<image src="http://qn.colorcun.com/custom/lite-online/image/%E5%AE%9A%E4%BD%8D.png"></image>
<view>高新区唐延南路35号旺座现代城D座二层</view>
<view>{{seller.map_address}}</view>
</view>
<view class="addr-long">距您当前位置100m</view>
<view class="addr-long">距您当前位置{{seller.distanceStr}}</view>
</view>
</view>
<view class="black20line"></view>
<view class="block">
<view class="block" wx:if="{{seller.room_image.length>0}}">
<view class="header flex-ll">
<view class="line"></view>
<view class="name">包间环境</view>
... ... @@ -54,7 +54,7 @@
scroll-top="{{scrollTop}}"
>
<block wx:for="{{seller.baos}}" wx:key="sellers.key">
<block wx:for="{{seller.room_image}}" wx:key="sellers.key">
<view class="image">
<image src="{{item}}" mode="aspectFill"></image>
</view>
... ... @@ -62,7 +62,7 @@
</scroll-view>
</view>
<view class="block">
<view class="block" wx:if="{{seller.dishes.length>0}}">
<view class="header flex-ll">
<view class="line"></view>
<view class="name">推荐菜品</view>
... ... @@ -77,19 +77,19 @@
scroll-top="{{scrollTop}}"
>
<block wx:for="{{seller.baos}}" wx:key="sellers.key">
<view class="image-view">
<block wx:for="{{seller.dishes}}" wx:key="sellers.key">
<view class="image-view" wx:if="{{item.image}}">
<view class="image">
<image src="{{item}}" mode="aspectFill"></image>
<image src="{{item.image}}" mode="aspectFill"></image>
</view>
<view class="text Semibold">gggg</view>
<view class="text Semibold">{{item.name}}</view>
</view>
</block>
</scroll-view>
<view class="cais-text">
<block wx:for="{{[1,2,3,4,5,6,7,8,9,10,11]}}" wx:key="sellers.key">
<view>sadfad{{item}}</view>
<block wx:for="{{seller.dishes}}" wx:key="sellers.key">
<view wx:if="{{!item.image}}">{{item.name}}</view>
</block>
</view>
</view>
... ... @@ -101,8 +101,8 @@
<view class="text">首页</view>
</formids>
<formids class="follow flex-vc" bindclick="follow">
<image src="http://qn.colorcun.com/custom/lite-online/image/%E6%94%B6%E8%97%8F.png"></image>
<image src="http://qn.colorcun.com/custom/lite-online/image/%E5%B7%B2%E6%94%B6%E8%97%8F.png"></image>
<image src="http://qn.colorcun.com/custom/lite-online/image/%E6%94%B6%E8%97%8F.png" wx:if="{{!IsCollectionSeller}}"></image>
<image src="http://qn.colorcun.com/custom/lite-online/image/%E5%B7%B2%E6%94%B6%E8%97%8F.png" wx:else=""></image>
<view class="text">收藏</view>
</formids>
</view>
... ... @@ -112,4 +112,4 @@
</formids>
</view>
</view>
<as id="as" items="{{['1','2']}}" bindclick="reservePhone">拨打电话预定</as>
\ No newline at end of file
<as id="as" items="{{seller.seller_tel}}" bindclick="reservePhone">拨打电话预定</as>
\ No newline at end of file
... ...
... ... @@ -31,7 +31,7 @@
"list": []
},
"miniprogram": {
"current": 40,
"current": 39,
"list": [
{
"id": 0,
... ... @@ -330,8 +330,8 @@
"scene": "1001"
},
{
"id": -1,
"name": "pages/reserve/detail 在线订座",
"id": 39,
"name": "pages/reserve/detail 在线订座 ",
"pathName": "pages/reserve/detail",
"query": "id=80",
"scene": null
... ...
... ... @@ -166,4 +166,10 @@ export default {
'App.Reserve.GetCustomerConfig':{
cachetime: 1800,
},
//C端商家详情
'App.Customer.GetSellerDetail':null,
//是否收藏
'App.Customer.IsCollectionSeller':null,
}
\ No newline at end of file
... ...