H5-ThreeDoorder/pages/restaurant/home/home.vue

1209 lines
32 KiB
Vue
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<template>
<view class="content">
<!-- 店铺 -->
<view class="Shop" v-show="Getnavindex == 0 && !iswx">
<!-- 店铺列表头部样式 -->
<view class="head" ref="head">
<!-- 肯德基顶部 -->
<HomeHeadKDJ v-if="BrandInfor['brand_id'] == 1" ref="Head" @_Change="_Change" @_Search="_Search">
</HomeHeadKDJ>
<!-- 麦当劳顶部 -->
<HomeHeadMDL v-if="BrandInfor['brand_id'] == 5" ref="Head" @_Change="_Change" @_Search="_Search">
</HomeHeadMDL>
<!-- 星巴克顶部 -->
<HomeHeadXBK v-if="BrandInfor['brand_id'] == 10" ref="Head" @_Change="_Change" @_Search="_Search">
</HomeHeadXBK>
<!-- 瑞幸顶部 -->
<HomeHeadRX v-if="BrandInfor['brand_id'] == 13" ref="Head" @_Search="_Search">
</HomeHeadRX>
<!-- 奈雪的茶顶部 -->
<HomeHeadNX v-if="BrandInfor['brand_id'] == 2" ref="Head" @_Change="_Change" @_Search="_Search">
</HomeHeadNX>
</view>
<!-- 店铺列表 -->
<view class="List-Conten" :class="[
BrandInfor['brand_id'] == 1 || BrandInfor['brand_id'] == 13?
'grey': (BrandInfor['brand_id'] == 5 || BrandInfor['brand_id'] == 10)?'MDLBACK':'']">
<scroll-view scroll-y="true" class="scroll-Y" @scrolltolower="scrolltolower"
:style="{'height':ScollViewHeight}">
<!-- 网传循环方法节省资源(尝试) -->
<view class="Store-List" v-for="(item,Tabindex) in (index == 0?ShopList:LikeList)" :key="Tabindex">
<!-- 肯德基 -->
<template v-if="BrandInfor['brand_id'] == 1">
<view class="Store-List-Shop-MDL" v-for="(item1,index1) in item" :key="index1"
@tap="HomePage(item1)">
<view class="Store-List-Shop-MDL-Top">
<view class="Store-List-Shop-MDL-Top-Name">
{{item1['restaurant_name']}}
</view>
<view class="Store-List-Shop-MDL-Top-State">
营业中
</view>
<!-- <view class="Store-List-Shop-MDL-Top-State2" v-else>
未营业
</view> -->
<view class="Store-List-Shop-MDL-Top-distance">
距离您{{item1['distance']}}千米
</view>
</view>
<view class="Store-List-Shop-MDL-Address">
{{item1['restaurant_address']}}
</view>
</view>
</template>
<!-- 奈雪的茶 -->
<template v-if="BrandInfor['brand_id'] == 2">
<view class="Store-List-Shop-NX" @tap="HomePage(item1)" v-for="(item1,index1) in item"
:key="index1">
<view class="Store-List-Shop-NX-Top-NX">
<view class="Store-List-Shop-NX-Top-NX-Left">
<view class="Store-List-Shop-NX-Top-NX-Left-Title">
{{item1['restaurant_name']}}
</view>
<b-restaurant-state :item="item1"></b-restaurant-state>
</view>
<view class="Store-List-Shop-NX-Top-NX-Right">
<!-- @tap.stop="openLocation(item1['latitude'],item1['longitude'])" -->
<img class="img"
:src="qnyurl('Navigation.png','nx')" alt="">
<view class="Store-List-Shop-NX-Top-NX-Right-distance">
距离您{{item1['distance']}}千米
</view>
</view>
</view>
<view class="Store-List-Shop-NX-Area-NX">
<image class="img" :src="qnyurl('areaicon.png','rx')" mode=""></image>
<view class="Store-List-Item-Area-NX-text">
{{item1['restaurant_address']}}
</view>
</view>
</view>
</template>
<!-- 麦当劳 -->
<template v-if="BrandInfor['brand_id'] == 5">
<view class="Store-List-Shop-KDJ" v-for="(item1,index1) in item" :key="index1">
<view class="Store-List-Shop-KDJ-Infot">
<view class="Store-List-Shop-KDJ-Top">
<view class="Store-List-Shop-KDJ-Top-Name">
{{item1['restaurant_name']}}
</view>
<view class="Store-List-Shop-KDJ-Top-distance">
距离您{{item1['distance']}}千米
</view>
</view>
<view class="Store-List-Shop-KDJ-Area">
{{item1['restaurant_address']}}
</view>
</view>
<view class="btn" @tap="HomePage(item1)">
去点餐
</view>
</view>
</template>
<!-- 星巴克 -->
<template v-if="BrandInfor['brand_id'] == 10">
<view class="Store-List-Shop-XBK" @tap="HomePage(item1)" v-for="(item1,index1) in item"
:key="index1">
<view class="Store-List-Shop-XBK-Top">
<view class="Store-List-Shop-XBK-Top-Name">
{{item1['restaurant_name']}}
</view>
<view class="Store-List-Shop-XBK-Top-distance">
距离您{{item1['distance']}}千米
</view>
</view>
<view class="Store-List-Shop-XBK-Area">
{{item1['restaurant_address']}}
</view>
</view>
</template>
<!-- 瑞幸 -->
<template v-if="BrandInfor['brand_id'] == 13">
<view class="Store-List-Shop-RX" @tap="HomePage(item1)" v-for="(item1,index1) in item"
:key="index1">
<view class="Store-List-Shop-RX-Top-RX">
<view class="Store-List-Shop-RX-Top-RX-Left">
<view class="Store-List-Shop-RX-Top-RX-Left-Title">
{{item1['restaurant_name']}}
</view>
<b-restaurant-state :item="item1"></b-restaurant-state>
</view>
<view class="Store-List-Shop-RX-Top-RX-Right">
<!-- @tap.stop="openLocation(item1['latitude'],item1['longitude'])" -->
<img class="img"
:src="qnyurl('Navigation.png','rx')" alt="">
<view class="Store-List-Shop-RX-Top-RX-Right-distance">
距离您{{item1['distance']}}千米
</view>
</view>
</view>
<view class="Store-List-Shop-RX-Area-RX">
<image class="img" :src="qnyurl('areaicon.png','rx')" mode=""></image>
<view class="Store-List-Item-Area-RX-text">
{{item1['restaurant_address']}}
</view>
</view>
</view>
</template>
</view>
<b-load :show="LoadType == 'store'" position="absolute" type='store' width="160" height="132"
:text="index?'暂无收藏':'该地区暂无门店信息'" color="#000000"></b-load>
</scroll-view>
</view>
</view>
<!-- 订单 -->
<view class="Orders" v-show=" Getnavindex == 1">
<view class="Orders-Toggle-Type" :style="{'background-color':`rgba(255,255,255,${backgroundcolor})`}">
<OrderStatus @commission="Typetoggle" :un_commission_count="count['un_commission_total']" :commission_count="count['commission_total']"></OrderStatus>
<!-- <view class="Orders-Toggle-Type-Item" @tap="Typetoggle(0)">
待结算{{count['un_commission_total']}}单
</view>
<view class="Orders-Toggle-Type-Item" @tap="Typetoggle(1)">
已结算{{count['commission_total']}}单
</view> -->
</view>
<!-- 占位元素 -->
<view style="width: 100%;height: 200rpx;"></view>
<!-- 订单列表 -->
<view class="Orders-List" :style="{paddingBottom:OrderBottonPadding}" v-if="orders['List']['length']">
<view class="Orders-List-Item" v-for="(item,index) in orders['List']" :key="index">
<OrderItemKDJ v-if="item1['brand_id'] == 1" :item="item1" v-for="(item1,index1) in item"
:key="index1"></OrderItemKDJ>
<OrderItemNX v-if="item1['brand_id'] == 2" :item="item1" v-for="(item1,index1) in item"
:key="index1"></OrderItemNX>
<OrderItemMDL v-if="item1['brand_id'] == 5" :item="item1" v-for="(item1,index1) in item"
:key="index1"></OrderItemMDL>
<OrderItemXBK v-if="item1['brand_id'] == 10" :item="item1" v-for="(item1,index1) in item"
:key="index1"></OrderItemXBK>
<OrderItemRX v-if="item1['brand_id'] == 13" :item="item1" v-for="(item1,index1) in item"
:key="index1"></OrderItemRX>
</view>
<!-- 加载更多状态 -->
<u-loadmore :status="orders['status']" />
</view>
<!-- 订单加载状态 -->
<b-load :show="LoadType == 'orders' && orders['List']['length'] <= 0" z-index="none" position="absolute" type='orders' width="160" height="132" color="#000000" background="transparent"></b-load>
</view>
<template v-if="!iswx">
<!-- 底部导航组件 -->
<view class="Nav" >
<restaurantNav ref="restaurantNav"></restaurantNav>
</view>
<!-- 就餐方法(只有麦当劳/肯德基才会点击店铺时弹出选择就餐方式弹框)-->
<u-popup :show="eattypeShow" @close="eattypeShow = false" closeable>
<view class="poupconten">
<view class="shop-inofr">
<view class="shop-inofr-name">
<image class="icon" :src="qnyurl('sopicon.png')" mode=""></image>
<text>{{GetShopInfor['restaurant_name']}}</text>
</view>
<view class="shop-inofr-area">
{{GetShopInfor['restaurant_address']}}
</view>
</view>
<view class="hint">
温馨提示<text class="text1"
:class="`themeColor-${BrandInfor['brand_id']}`">{{BrandInfor['brand_name']}}点餐为第三方供应商提供的代下单服务暂不支持外卖</text><text
class="text2">出餐后可凭取餐码到店取餐如有疑问请及时联系在线客服</text>
</view>
<view class="Way">
<view class="Way-title">请选择就餐方式</view>
<view class="Way-type">
<view class="Way-type-item "
:class="[GetMODE == 'EAT_IN'? `theme-Union-Class-${BrandInfor['brand_id']}-1`:'']"
@tap="SetEatMode('EAT_IN')">
<view class="Way-type-item-img">
<image class="img" :src="qnyurl('diannei.png')" mode="aspectFit"></image>
</view>
<view class="Way-type-item-right">
<view class="Way-type-item-right-text1">
店内就餐
</view>
<view class="Way-type-item-right-text2">
Dine In
</view>
</view>
</view>
<view class="Way-type-item"
:class="[GetMODE == 'TAKE_AWAY'? `theme-Union-Class-${BrandInfor['brand_id']}-1`:'']"
@tap="SetEatMode('TAKE_AWAY')">
<view class="Way-type-item-img">
<image class="img" :src="qnyurl('dabao.png')" mode="aspectFit"></image>
</view>
<view class="Way-type-item-right">
<view class="Way-type-item-right-text1">
打包带走
</view>
<view class="Way-type-item-right-text2">
Take Away
</view>
</view>
</view>
</view>
</view>
</view>
</u-popup>
<!-- 瑞星/星巴克进入店铺首页时的温馨提示 -->
<u-modal :show="eattypeShow2" closeOnClickOverlay @close="eattypeShow2 = false" title="温馨提示" width="580rpx">
<template v-slot:default>
<view class="slot-content">
<view class="slot-content-Tips">
{{Brand()['BrandName']}}点餐为<text :style="{color:Brand()['ThemeColor']}">第三方提供的点餐服务</text>该服务与{{Brand()['BrandName']}}官方无关有问题请联系在线客服
</view>
<view class="slot-content-Tips2">
<view>
优惠点餐不支持开发票!
</view>
<view>
出餐后不支持退款
</view>
</view>
</view>
</template>
<template v-slot:confirmButton>
<view class="confirmButton" :style="Brand()['customStyle']['BtnStyle'][0]">
<navigator url="/pages/restaurant/home/shop_home/shop_home" @tap="eattypeShow2 = false">
我知道了
</navigator>
</view>
</template>
</u-modal>
<b-load :show="LoadType == 'load'" position="absolute" type='load' width="79" height="80"
color="#ccc" background="rgba(0,0,0,0.05)"></b-load>
<!-- 没有店铺 -->
<!-- <b-load :show="LoadType == 'load'" position="absolute" type='load' width="79" height="80"
:color="Brand()['ThemeColor']" background="rgba(0,0,0,0.05)"></b-load> -->
</template>
</view>
</template>
<script>
import {
mapMutations
} from 'vuex';
// 肯德基店铺列表头部
import HomeHeadKDJ from './components/Home-Head-KDJ/Home-Head-KDJ.vue';
// 麦当劳店铺列表头部
import HomeHeadMDL from './components/Home-Head-MDL/Home-Head-MDL.vue';
// 星巴克店铺列表头部
import HomeHeadXBK from './components/Home-Head-XBK/Home-Head-XBK.vue';
// 瑞幸店铺列表头部
import HomeHeadRX from './components/Home-Head-RX/Home-Head-RX.vue';
//奈雪的茶店铺列表头部
import HomeHeadNX from './components/Home-Head-NX/Home-Head-NX.vue';
// 底部导航
import restaurantNav from './components/restaurant-nav/restaurant-nav.vue';
// 肯德基订单组件
import OrderItemKDJ from './components/Order-Item-KDJ/Order-Item-KDJ.vue';
// 麦当劳订单组件
import OrderItemMDL from './components/Order-Item-MDL/Order-Item-MDL.vue';
// 星巴克订单组件
import OrderItemXBK from './components/Order-Item-XBK/Order-Item-XBK.vue';
// 瑞幸订单组件
import OrderItemRX from './components/Order-Item-RX/Order-Item-RX.vue';
// 瑞幸订单组件
import OrderItemNX from './components/Order-Item-NX/Order-Item-NX.vue';
// 混入
import restaurantmixins from '@/static/js/mixin/restaurantmixins.js';
import mixin from '@/static/js/mixin/mixin.js';
// 请求接口
import {
restaurantQueryAPI,
storeCollectionListAPI,
getPhoneAPI
} from '@/request/restaurant/index.js';
import {
orderListAPI,
agOrderPayAPI,
cancelOrderAPI,
paypayAPI
} from '@/request/restaurant/index.js';
// // 肯德基首页组件
// import bPageHomeKfc from '@/components/b-page-home/b-page-home-kfc.vue';
// // 瑞幸首页组件
// import bPageHomeRx from '@/components/b-page-home/b-page-home-rx.vue';
// // 星巴克首页组件
// import bPageHomeXbk from '@/components/b-page-home/b-page-home-xbk.vue';
let self;
export default {
mixins: [mixin, restaurantmixins],
components: {
HomeHeadKDJ,
HomeHeadMDL,
HomeHeadXBK,
HomeHeadRX,
HomeHeadNX,
OrderItemXBK,
restaurantNav,
OrderItemKDJ,
OrderItemMDL,
OrderItemRX,
OrderItemNX
},
data() {
return {
LoadType: 'load',
// 就餐方式
eattypeShow: false,
// 温馨提示
eattypeShow2: false,
list: [],
// 店铺列表
ShopList: [],
// 店铺总数量
ShopListCount: 0,
// 关注列表
like: [],
// 关注店铺列表
LikeList: [],
// 关注店铺总数量
SikeListCount: 0,
// scoll高度
ScollViewHeight: 0,
// 切换索引
index: 0,
// 订单部分数据
orders: {
page: 1,
type: '',
List: [],
last_page: 0,
last_time_toggle: '',
status: 'loading'
},
// 订单顶部晒筛选数据
count: {
un_commission_total: 0,
commission_total: 0
},
// 订单滑动时颜色
backgroundcolor: 0,
// 订单底部留白
OrderBottonPadding: '',
// 用于标识是否是从小程序跳进H5的
iswx:false
};
},
onReady() {
// setTimeout(() => {
// this.init();
// }, 500);
},
onLoad(para) {
// console.log(getApp()['globalData']['parameters']?.navindex,'para---');
self = this;
// 小程序点击点餐订单进入H5
if(getApp()['globalData']['parameters']?.navindex){
this.SETBRANDINFOR({ brand_id: '', brand_name: ''});
this.SETNAVINDEX(1);
this['iswx'] = true;
// this.GetorderList();
}else{
this.INIT_BUYCART();
};
// setTimeout(()=>{
// console.log(this['BrandInfor'],'BrandInfor')
// },1000)
},
onShow() {
if (this['Getnavindex'] == 1) {
this['orders']['page'] = 1;
this['orders']['List'] = [];
this['orders']['status'] = 'loading';
// 初始化高度-回调获取订单列表
this.init(()=>{
this.GetorderList();
});
} else {
if(!this['index'] && this['ShopList']['length'] <= 0 && this['list']['length'] <= 0){
setTimeout(() => {
this.init(()=>{
self.GetList();
});
}, 500);
}
if(this['index'] && this['like']['length'] <= 0 && this['LikeList']['length'] <= 0){
this.GetstoreCollectionList();
}
}
},
computed: {
// 加载状态
loadState() {
return (this['index'] == 0 && this['ShopList']['length'] <= 0) || (this['index'] == 1 && this['LikeList'][
'length'
] <= 0);
}
},
watch: {
GetCityCode(val) {
console.log(val, '用户切换位置4');
// 用户自主切换地址时更换列表
this.GetList();
},
Getnavindex(val) {
console.log('切换');
if (val == 1) {
self['orders']['page'] = 1;
self['orders']['status'] = 'loading';
this['orders']['List'] = [];
this.init(()=>{
this.GetorderList();
});
} else {
// 没有高度代表其他方式进入且没有加载第一个导航页需要初始化
if(!this['ScollViewHeight']){
setTimeout(() => {
this.init(()=>{
self.GetList();
});
}, 500);
return
}
if(!this['index'] && this['ShopList']['length'] <= 0 && this['list']['length'] <= 0){
this.GetList();
}
if(this['index'] && this['like']['length'] <= 0 && this['LikeList']['length'] <= 0){
this.GetstoreCollectionList();
}
}
}
},
methods: {
// 支付宝支付测试
init(cabllback = ()=>{}) {
// 获取头部和底部高度然后计算出滚动区域高度
let height = 0;
uni.getSystemInfo({
success: async res => {
let headinfo = uni.createSelectorQuery().in(this).select(".head");
let Navinfo = uni.createSelectorQuery().in(this).select(".Nav");
await headinfo.boundingClientRect(function(data) {
height += data.height || 199;
console.log(data.height, '顶部');
}).exec();
await Navinfo.boundingClientRect(function(data) {
try{
height += data.height;
self['OrderBottonPadding'] = `${(data.height / (uni.upx2px(100) / 100)) + 40}rpx`;
}catch(e){
height += 0;
self['OrderBottonPadding'] = `${(0 / (uni.upx2px(100) / 100)) + 40}rpx`;
//TODO handle the exception
}
}).exec();
var rpx = `${(res.windowHeight - height) / (uni.upx2px(100) / 100)}rpx`;
this['ScollViewHeight'] = rpx;
// 因为需要获取到数量所以需要调用全部先获取数量再对数据经行处理
cabllback();
}
});
},
// 获取订单列表
GetorderList() {
uni.showLoading({
title: '加载中'
});
self['LoadType'] = 'load';
self['orders']['status'] = 'loading';
orderListAPI({
page: this['orders']['page'],
type: this['orders']['type'],
brand_id: this['BrandInfor']['brand_id']
}).then(res => {
if(self['orders']['page'] == 1){
self['orders']['List'] = [];
}
if (res['data']['data']['data']['length'] > 0 && res['data']['data']['total'] > 0) {
self['count'] = res['data']['count'];
self['orders']['List'].push(res['data']['data']['data']);
self['orders']['last_page'] = res['data']['data']['last_page'];
self['orders']['page'] += 1;
self['LoadType'] = '';
self['orders']['status'] = 'loadmore';
} else {
// if (self['orders']['page'] != 1) {
self['LoadType'] = 'orders';
self['orders']['status'] = 'nomore';
// }
};
if(self['orders']['List']['length'] >= self['orders']['last_page']){
self['orders']['status'] = 'nomore';
};
uni.hideLoading();
})
},
// 订单顶部选项
Typetoggle(type) {
// 如果上次切换与本次切换类型一致则代表用户点击了两次,此时需要将列表切换至所有列表
// if (this['orders']['last_time_toggle'] === type) {
// this['orders']['type'] = '';
// } else {
// this['orders']['type'] = type;
// }
this['orders']['type'] = type;
this['orders']['page'] = 1;
this.GetorderList();
},
// 获取餐厅列表
GetList(keyword = '') {
// 设置加载状态
this['LoadType'] = 'load';
let parameters = {
brand_id: this['BrandInfor']['brand_id'],
city_code: this.GetCityCode,
address: keyword,
}
restaurantQueryAPI(parameters).then(res => {
this['ShopList'] = [];
this['list'] = res['data']['data'];
this['ShopListCount'] = res['data']['count'];
console.log(this['list'],'list');
if (res?.data && res['data']['data'] != undefined) {
this['ShopList'].push(this.arrObtain('list'));
this['LoadType'] = '';
} else {
this['LoadType'] = 'store';
}
}).catch(res=>{
console.log(res,'列表');
if(res['code'] == 1005){
this['LoadType'] = '';
}
})
},
// 获取关注冽表
GetstoreCollectionList(keyword = '') {
this['LoadType'] = 'load';
let parameters = {
brand_id: this['BrandInfor']['brand_id'],
address: keyword,
}
storeCollectionListAPI(parameters).then(res => {
this['like'] = res['data']['data'];
// 切换时数量会改变,(切换时数量不应该改变)
// this['$refs']['Head'].SetTabnum(this['list']['length'], this['like']['length'])
this['SikeListCount'] = res['data']['count'];
if (res['data']['data']['length'] && res['data']['data'] != undefined) {
this['LikeList'].push(this.arrObtain('like'));
this['LoadType'] = '';
} else {
this['LoadType'] = 'store';
}
})
},
// scroll-view触底
scrolltolower() {
let key = this['$refs']['Head']['tabsconfig']['index'];
console.log(key,'key');
if (key == 0) {
this['ShopList'].push(this.arrObtain('list'));
} else {
this['LikeList'].push(this.arrObtain('like'));
}
},
// tabs切换事件(如果有的话)
_Change(index) {
// this['TabIndex'] =
// let key;
// try {
// key = this['$refs']['Head']['tabsconfig']['index'];
// } catch (e) {
// key = 0;
// //TODO handle the exception
// }
this['index'] = index;
if (index == 0) {
this['ShopList'] = [];
this.GetList();
} else {
this['LikeList'] = [];
this.GetstoreCollectionList();
}
},
// 输入框确认事件
_Search(value) {
this.GetList(value)
},
// 获取数据前十个
arrObtain(key) {
let arr = this[key].splice(0, 20);
console.log(this[key]['length'], '剩余数量');
return arr;
},
// 进入店铺
HomePage(item) {
console.log(item,'item');
// 奈雪品牌店铺即使闭店也能进入店铺详情,下单时会出现错误,所以在此处拦截一下
if(this['BrandInfor']['brand_id'] == 2 && !item['is_open']){
uni.showToast({
title:'店铺未开业',
icon:'none'
});
return
};
// 设置店铺信息
this.SETSHOPDETAIL(item);
if (this['BrandInfor']['brand_id'] == 1 || this['BrandInfor']['brand_id'] == 5) {
// 打开就餐方式弹框
this['eattypeShow'] = true;
} else if (this['BrandInfor']['brand_id'] == 13 || this['BrandInfor']['brand_id'] == 10 || this['BrandInfor']['brand_id'] == 2) {
// 打开提示
this['eattypeShow2'] = true;
}
},
// 设置就餐方式
SetEatMode(type) {
this.SETMODE(type);
uni.navigateTo({
url: `/pages/restaurant/home/shop_home/shop_home?restaurant_id=${this['GetShopInfor']['restaurant_id']}`,
success: () => {
this['eattypeShow'] = false;
}
})
}
},
// 滑动
onPageScroll(e) {
this['backgroundcolor'] = e['scrollTop'] / 150;
},
// 触底
onReachBottom() {
if (self['orders']['List']['length'] >= self['orders']['last_page']) {
self['orders']['status'] = 'nomore';
return;
};
this.GetorderList();
},
// 分享
onShareAppMessage() {
if (this['BrandInfor']['brand_id'] == 1) {
return KFCrestaurant();
} else if (this['BrandInfor']['brand_id'] == 10) {
return XBKSharing();
}
if (this['BrandInfor']['brand_id'] == 13) {
return RXrestaurant();
}
}
}
</script>
<style lang="scss" scoped>
page {
width: 100%;
min-height: 100%;
height: auto;
background-color: #f9f9f9;
}
.scroll-Y {
position: relative;
}
/deep/ .uni-scroll-view-content {
padding: 32rpx;
height: auto;
}
.Nav {
width: 100%;
height: auto;
position: fixed;
bottom: 0;
left: 0;
}
.Store-List {
width: 100%;
// 肯德基店铺样式
&-Shop-MDL {
padding: 30rpx;
width: 100%;
background-color: #ffffff;
border-radius: 14rpx;
margin-bottom: 20rpx;
&-Top {
display: flex;
align-items: flex-start;
margin-bottom: 30rpx;
&-Name {
font-size: 30rpx;
color: $THEMECOLOR4;
margin-right: 20rpx;
}
&-State {
min-width: 100rpx;
text-align: center;
background: #C63836;
border-radius: 2rpx;
color: #ffffff;
font-size: 20rpx;
}
&-State2{
min-width: 100rpx;
text-align: center;
background: #8f8f8f;
border-radius: 2rpx;
color: #ffffff;
font-size: 20rpx;
}
&-distance {
min-width: 230rpx;
font-size: 26rpx;
color: #777777;
flex: 1;
text-align: right;
}
}
&-Address {
font-size: 26rpx;
color: #666666;
}
}
// 肯德基
&-Shop-KDJ {
width: 100%;
height: auto;
background-color: #ffffff;
border-radius: 15rpx;
min-height: 155rpx;
padding: 32rpx;
margin-top: 20rpx;
display: flex;
align-items: center;
&-Infot {
flex: 1;
}
.btn {
width: 146rpx;
height: 56rpx;
border: 2rpx solid #FFBC0F;
border-radius: 28rpx;
text-align: center;
line-height: 56rpx;
font-size: 28rpx;
color: #FFA200;
margin-left: 15rpx;
}
&-Top {
&-Name {
font-size: $FONTSIZE30;
color: $THEMECOLOR4;
margin-right: 20rpx;
margin-bottom: 15rpx;
}
&-distance {
min-width: 230rpx;
font-size: $FONTSIZE26;
color: $THEMECOLOR5;
flex: 1;
margin-bottom: 15rpx;
}
}
&-Area {
font-size: $FONTSIZE26;
}
}
// 星巴克
&-Shop-XBK {
width: 100%;
height: auto;
background-color: #ffffff;
min-height: 155rpx;
padding: 32rpx;
margin-top: 20rpx;
border-bottom: 1rpx solid #cccccc;
&-Top {
display: flex;
align-items: flex-start;
margin-bottom: 30rpx;
&-Name {
font-size: $FONTSIZE30;
color: $THEMECOLOR4;
margin-right: 20rpx;
}
&-distance {
min-width: 230rpx;
font-size: $FONTSIZE26;
color: $THEMECOLOR5;
flex: 1;
text-align: right;
}
}
&-Area {
font-size: $FONTSIZE26;
}
}
// 瑞幸咖啡样式
&-Shop-RX {
background-color: #ffffff;
padding: 30rpx 32rpx;
margin-bottom: 30rpx;
border-radius: 15rpx;
&-Top-RX {
display: flex;
justify-content: space-between;
margin-bottom: 30rpx;
&-Left {
font-size: $FONTSIZE30;
color: $THEMECOLOR4;
display: flex;
flex-direction: column;
justify-content: space-between;
&-Title {
margin-bottom: 20rpx;
font-weight: 700;
}
}
&-Right {
display: flex;
flex-direction: column;
align-items: flex-end;
color: $THEMECOLOR6;
font-size: 26rpx;
.img {
max-width: 64rpx;
min-width: 64rpx;
min-height: 64rpx;
max-height: 64rpx;
}
&-distance {
min-width: 230rpx;
margin-top: 15rpx;
text-align: right;
}
}
}
&-Area-RX {
color: #999999;
font-size: $FONTSIZE24;
padding-top: 22rpx;
border-top: 1rpx solid #EDEEF0;
display: flex;
justify-content: flex-start;
align-items: center;
&-text {
word-break: break-all;
display: -webkit-box;
-webkit-line-clamp: 1;
-webkit-box-orient: vertical;
overflow: hidden;
}
.img {
max-width: 22rpx;
min-width: 22rpx;
min-height: 26rpx;
max-height: 26rpx;
margin-right: 15rpx;
}
}
}
// 瑞幸咖啡样式
&-Shop-NX {
background-color: #ffffff;
padding: 30rpx 32rpx;
margin-bottom: 30rpx;
border-radius: 15rpx;
&-Top-NX {
display: flex;
justify-content: space-between;
margin-bottom: 30rpx;
&-Left {
font-size: $FONTSIZE30;
color: $THEMECOLOR4;
display: flex;
flex-direction: column;
justify-content: space-between;
&-Title {
margin-bottom: 20rpx;
font-weight: 700;
}
}
&-Right {
display: flex;
flex-direction: column;
align-items: flex-end;
color: #a7d500;
font-size: 26rpx;
.img {
width: 64rpx;
height: 64rpx;
max-width: 64rpx;
min-width: 64rpx;
min-height: 64rpx;
max-height: 64rpx;
}
&-distance {
min-width: 230rpx;
margin-top: 15rpx;
text-align: right;
}
}
}
&-Area-NX {
color: #999999;
font-size: $FONTSIZE24;
padding-top: 22rpx;
border-top: 1rpx solid #EDEEF0;
display: flex;
justify-content: flex-start;
align-items: center;
&-text {
word-break: break-all;
display: -webkit-box;
-webkit-line-clamp: 1;
-webkit-box-orient: vertical;
overflow: hidden;
}
.img {
width: 22rpx;
height: 26rpx;
max-width: 22rpx;
min-width: 22rpx;
min-height: 26rpx;
max-height: 26rpx;
margin-right: 15rpx;
}
}
}
}
.grey {
background-color: #f9f9f9;
}
.MDLBACK {
background-color: #FFFFFF;
}
// 订单页面
.Orders {
padding: 32rpx 32rpx 0 32rpx;
min-height: 100%;
&-Toggle-Type {
width: 100%;
position: fixed;
z-index: 10;
top: 0;
left: 0;
display: flex;
justify-content: space-between;
padding: 32rpx 32rpx 15rpx 32rpx;
&-Item {
width: 320rpx;
height: 91rpx;
background: #FFFFFF;
border: 1rpx solid #DEDEDE;
border-radius: 20rpx;
text-align: center;
line-height: 91rpx;
color: #333333;
font-size: $FONTSIZE24;
}
}
}
// 就餐方式弹框
.poupconten {
width: 100%;
height: 656rpx;
background-color: #ffffff;
padding: 32rpx;
.shop-inofr {
margin-bottom: 50rpx;
&-name {
font-size: $FONTSIZE32;
display: flex;
align-items: center;
margin-bottom: 20rpx;
.icon {
width: 33rpx;
height: 30rpx;
margin-right: 20rpx;
}
}
&-area {
font-size: $FONTSIZE24;
color: #999999;
}
}
.hint {
font-size: $FONTSIZE24;
line-height: 45rpx;
.text1 {
color: #DA2F35;
}
.text2 {
color: #999999;
}
}
// 方式
.Way {
width: 100%;
&-title {
font-size: $FONTSIZE24;
color: #333333;
line-height: 40rpx;
}
&-type {
width: 100%;
display: flex;
justify-content: space-between;
margin-top: 32rpx;
// &-rightactivation {
// color: #FFFFFF !important;
// border-color: #DE393F !important;
// background-color: #DE393F !important;
// }
&-item {
width: 320rpx;
height: 130rpx;
border: 1rpx solid #E3E3E3;
border-radius: 6rpx;
text-align: center;
color: #666666;
border-radius: 10rpx;
display: flex;
align-items: center;
justify-content: space-around;
&-img {
width: 74rpx;
height: 61rpx;
.img {
width: 100%;
height: 100%;
}
}
&-right {
display: flex;
flex-direction: column;
justify-content: center;
&-text1 {
font-size: $FONTSIZE30;
}
&-text2 {
font-size: $FONTSIZE24;
}
}
}
}
}
}
// 温馨提示弹框
// 就餐方式弹框
.slot-content-Tips {
font-size: 30rpx;
line-height: 40rpx;
// .text1 {
// color: #DB9F5E;
// }
}
.slot-content-Tips2 {
width: 100%;
background-color: #FFF9F3;
margin-top: 20rpx;
color: #FF7910;
font-size: 26rpx;
line-height: 49rpx;
padding: 15rpx 32rpx;
}
.confirmButton {
// background: linear-gradient(-77deg, #4A6FE7, #83ACFF);
border-radius: 43px;
color: #ffffff;
font-size: 30rpx;
text-align: center;
line-height: 80rpx;
}
</style>