微信小程序商品购物车

闲来没事,再写一章,哈哈哈。。。

做了购物车有好长时间了,一直没总结,现在总结下

原本想说废话少说了,直接进入主题,但是忽然感觉本人代码太乱,许多人看不下去

先上图,配合图我来讲下核心思想,

菜品的数组对象,里面东西比较多

图一

     图二

电脑颜色太白,见谅哈

核心思想:先将菜类和菜品两个数组对象弄好,

这是菜类数组对象的数据,里面放的有菜类的id,name,和本商户的shop_id

菜品的数组对象,里面东西比较多

fid代表的是所属菜类的id,id是本菜品的id,showtaset是用来控制菜品口味弹框开关的,showdisher_alert,这个原来也是一个控制弹框不过后来给删了,作用不大,没必要看了,cartnum,是表示该菜品在购物车的数量,title是菜品名称,volume是菜品销量

fname:菜品所属类的名称,cainum同cartnum,两者作用一样,在此我要说明下,购物车里显示条件的是wx:if="{{menu.cainum>0}}"  我还是遍历的菜品数组,只不过多了一个判断。这样比较方便简单。

数据都有了,接下来就是对这些数据进行一系列操作了,大家可以专注的看addFoodnum,和reduceFoodnum,这两个方法,

菜品加减我想写在下一篇,这一篇太乱了,实在对不起看客。下面是代码

js

var app = getApp();

var web_url = 'https://www.kelaidan.com';

var shop_id = app.globalData.shop_id;

var caidan_flag = true;

var that = this;

var optionId;

Page({

data: {

//数据定义

submitOrderDisabled: true,

catalogSelect: 1,

//数组定义

cailei: [],

caidan: [],

s_id: 0,

seat_name: "",

currentTab: 0,

currentType: 0,

showCart: false,

sumNum: 0,

sumMon: 0,

scrollLeft: 0,

windowWidth: 0,

currentCategory: 0,

currentCategoryTitle: 0,

currentCategoryContent: 15,

isCategoryItemTap: false,

isScrollWithAnimation: false,

isAddItemTopArray: true,

itemTopArray: [],

animationData: {},

isLoaded: false,

isContentCanFloat: [],

//设置菜单分类导航的自动滑动

tabsContentHeight: 0,

tabHeight: 0,

categoryBoxScrollTop: 0,

categoryBoxScrollIntoView: 0

},

onLoad: function (options) {

var that = this;

var seat_id = wx.getStorageSync('seat_id');

console.log(seat_id);

console.log(options);

console.log("手机号给框架")

wx.showLoading({

title: '请稍等',

})

var token = wx.getStorageSync('token');

if (token === null || token === "") {

wx.navigateTo({

url: '/pages/authpage/index',

})

}

wx.request({

method: "GET",

url: web_url + '/home/menu/index',

data: {

shop_id: shop_id,

token: token,

},

success: function (e) {

console.log(e);

if (e.data.code === 401 || e.data.code === 400) {

wx.showLoading({

title: '用户信息丢失',

})

wx.clearStorageSync();

setTimeout(function () {

wx.navigateTo({

url: '/pages/authpage/index',

})

}, 2000);

}

that.setData({

caidan: e.data.data.dan_pins,

cailei: e.data.data.menu_type

})

}

})

setTimeout(function () {

var greens = wx.getStorageSync('greens');

if (greens == "" || greens == null) { }

else {

that.setData({

sumMon: greens.sumMon,

sumNum: greens.sumNum,

caidan: greens.caidan,

submitOrderDisabled: greens.submitOrderDisabled

})

}

}, 1500)

optionId = options.currentTab;

wx.getSystemInfo({

success: function (res) {

that.setData({

winWidth: res.windowWidth,

winHeight: res.windowHeight

})

}

});


 

// setTimeout(function() {

//初始化时获取每个子view的offsetTop位置

var totalCont = 13;

that.setData({

currentCategoryContent: totalCont,

categoryBoxScrollIntoView: totalCont

});

var timer = setInterval(function () {

totalCont--;

if (totalCont < 0) {

clearInterval(timer);

}

that.setData({

currentCategoryContent: totalCont

});

}, 300);

// }, 1000);

},

onShow: function () {

var that = this;

//缓存数据到本地

var token = wx.getStorageSync('token');

if (token === null || token === "") {

wx.navigateTo({

url: '/pages/authpage/index',

})

}

var seat_id = wx.getStorageSync('seat_id');

console.log(1111112222);

console.log(wx.getStorageSync('seat_id'));

that.setData({

s_id: wx.getStorageSync('seat_id'),

})

wx.request({

method: "GET",

url: web_url + '/home/menu/seatName',

data: {

shop_id: shop_id,

seat_id: seat_id,

token: token

},

success: function (e) {

console.log(e);

that.setData({

seat_name: e.data.data.seat_name

})

if (e.data.code === 401 || e.data.code === 400) {

wx.showLoading({

title: '用户信息丢失',

})

wx.clearStorageSync();

setTimeout(function () {

wx.hideLoading();

wx.navigateTo({

url: '/pages/authpage/index',

})

}, 2000);

}

}

})

var date2 = new Date;

var current_time = date2.getTime();

var prev_time = wx.getStorageSync('prev_time');

var time = current_time - prev_time;

if (time > 900000) {

wx.removeStorageSync('greens');

}

if (time > 14400000) {

wx.removeStorageSync('seat_id');

}

if (time > 10800000) {

wx.removeStorageSync('order_id');

}

var greens = wx.getStorageSync('greens');

if (greens === "" || greens === null) { } else {

this.setData({

sumMon: greens.sumMon,

sumNum: greens.sumNum,

caidan: greens.caidan,

submitOrderDisabled: greens.submitOrderDisabled

})

}

var animation = wx.createAnimation({

duration: 0,

timingFunction: 'ease',

})

this.animation = animation;

var sourceData = wx.getStorageSync("sourceData");

},

onReady: function () {

},

onShareAppMessage: function () {

var title = "点餐小程序";

var path = "pages/order/order";

return {

title: title,

path: path

}

},

chooseType: function (ev) {

that.setData({

currentType: ev.target.dataset.index

})

},

//scoll-view中的方法

upper: function (ev) { },

lower: function (ev) { },

scroll: function (ev) { },

onReachBottom: function (ev) { },

onPullDownRefresh: function (ev) {

wx.removeStorageSync('greens');

var token = wx.getStorageSync('token');

if (token === null || token === "") {

wx.navigateTo({

url: '/pages/authpage/index',

})

}

wx.request({

method: "GET",

url: web_url + '/home/menu/index',

data: {

shop_id: shop_id,

token: token,

},

success: function (e) {

console.log(e);

if (e.data.code === 401 || e.data.code === 400) {

wx.showLoading({

title: '用户信息丢失',

})

wx.clearStorageSync();

setTimeout(function () {

wx.navigateTo({

url: '/pages/authpage/index',

})

}, 2000);

}

that.setData({

caidan: e.data.data.dan_pins,

cailei: e.data.data.menu_type,

sumMon:0,

sumNum:0

})

}

})

setTimeout(function () {

wx.stopPullDownRefresh();

}, 1500)

},

// //添加类实现点击变色事件

// chooseCatalog: function(data) {

// var that = this;

// var i = data.currentTarget.dataset.index;

// var ww = "caidan[" + i + "].tasteName";

// that.setData({

// [ww]: data.currentTarget.dataset.taste,

// catalogSelect: data.currentTarget.dataset.select

// })

// },

//商品加方法

addFoodNum: function (e) {

var kunum = e.currentTarget.dataset.kucunnum;

setTimeout(function () { }, 100)

if (kunum > 0) {

that = this;

var price = e.currentTarget.dataset.price;

var sumNum = that.data.sumNum + 1;

price = Number(price);

var sumMon = (that.data.sumMon * 100 + price * 100) / 100;

var i = e.currentTarget.dataset.index;

// var ww = "caidan[" + i + "].tasteName";

var cartnum = that.data.caidan[i].cartnum + 1;

// var volume = Number(that.data.caidan[i].volume) + 1;

// var tasteName = e.currentTarget.dataset.tastename;

// var id = that.data.caidan[i].id;

var cainum = that.data.caidan[i].cainum + 1;

var kucunnum = that.data.caidan[i].num - 1;

// if (that.data.caidan[i].show_taste === true) {

// var oo = "caidan[" + i + "].show_taste";

// that.setData({

// [oo]: false

// })

// }

var up = "caidan[" + i + "].cainum";

var xx = "caidan[" + i + "].cartnum";

var po = "caidan[" + i + "].num";

// var xo = "caidan[" + i + "].volume";

var submitOrderDisabled = true;

if (sumMon >= 0.01) {

submitOrderDisabled = false;

}

that.setData({

sumNum: sumNum,

sumMon: sumMon.toFixed(2),

[up]: cainum,

[po]: kucunnum,

// [xo]: volume,

// [ww]: tasteName,

[xx]: cartnum,

// catalogSelect: 1,

submitOrderDisabled: submitOrderDisabled

})

var greens = {

sumNum: that.data.sumNum,

sumMon: that.data.sumMon,

caidan: that.data.caidan,

submitOrderDisabled: submitOrderDisabled

}

wx.setStorageSync('greens', greens);

}

else {

wx.showToast({

title: '已卖完',

icon: "loading",

duration: 2000

})

}

},

//商品减方法

reduceFoodNum: function (ev) {

var that = this;

if (that.data.sumNum > 0) {

if (sumNum == 0 || sumNum < 0) {

that.setData({

sumMon: 0,

sumNum: 0

})

}

var price = ev.currentTarget.dataset.price;

var sumNum = that.data.sumNum - 1;

price = Number(price);

var sumMon = (that.data.sumMon * 100 - price * 100) / 100;

var i = ev.currentTarget.dataset.index;

var kucunnum = that.data.caidan[i].num + 1;

var cartnum = that.data.caidan[i].cartnum - 1;

var cainum = that.data.caidan[i].cainum - 1;

// var volume = Number(that.data.caidan[i].volume)- 1;

var qq = "caidan[" + i + "].cainum";

var yy = "caidan[" + i + "].cartnum";

var po = "caidan[" + i + "].num";

// var xo = "caidan[" + i + "].volume";

var submitOrderDisabled = true;

if (sumNum == 0) {

that.setData({

showCart: false

})

}

if (sumMon >= 0.01) {

submitOrderDisabled = false;

}

that.setData({

sumNum: sumNum,

sumMon: sumMon.toFixed(2),

[qq]: cainum,

// [xo]: volume,

[yy]: cartnum,

[po]: kucunnum,

submitOrderDisabled: submitOrderDisabled

})

if (sumMon <= 0) {

that.setData({

sumMon: 0

})

}

var greens = {

sumNum: that.data.sumNum,

sumMon: that.data.sumMon,

caidan: that.data.caidan,

submitOrderDisabled: submitOrderDisabled

}

wx.setStorageSync('greens', greens);

if (sumNum == 0 || sumNum < 0) {

for (var j = 0; j < that.data.caidan.length; j++) {

var zz = "caidan[" + j + "].cartnum";

var pp = "caidan[" + j + "].cainum";

that.setData({

[pp]: 0,

[zz]: 0,

sumMon: 0

})

}

wx.removeStorageSync('greens');

that.setData({

sumMon: 0,

sumNum: 0,

[qq]: 0

})

}

}

},

//购物车显示隐藏

hiddenLayer: function () {

var that = this;

that.setData({

showCart: false

//showCart控制购物车显示隐藏

})

},

seeDetailCart: function () {

var that = this;

that.setData({

showCart: !that.data.showCart

})

},

clearCart: function () {

var that = this;

//清空购物车 定义变量jsonC 赋值为caidan

var jsonC = that.data.caidan;

for (var i = 0; i < jsonC.length; i++) {

//把jsonC对象中菜数都清为零 cartnum 也为零

jsonC[i].cainum = 0

jsonC[i].cartnum = 0

}

//给data赋数据

that.setData({

caidan: jsonC,

sumNum: 0,

sumMon: 0,

showCart: false

})

wx.removeStorageSync('greens');

},

placeOrder: function () {

var that = this;

if (that.data.sumMon > 0) {

//定义数组 将作为 caidan 中有 对象

var detailArray = new Array;

var jsonC = that.data.caidan;

for (var i = 0; i < jsonC.length; i++) {

if (jsonC[i].cainum > 0) {

//用a 接caidan 里面的数据

var a = {

id: jsonC[i].id,

num: jsonC[i].cainum,

title: jsonC[i].title,

price: jsonC[i].price,

pic: jsonC[i].caiimage

};

//将a 赋给新定义的detailArray

detailArray.push(a);

}

}

var orderResult = {

sumNum: that.data.sumNum,

sumMon: that.data.sumMon,

orderDetail: detailArray

};

wx.setStorageSync('orderResult', orderResult);

wx.navigateTo({

//跳转页面

url: '/pages/balance/index',

})

} else {

wx.showToast({

title: "请先添加产品",

icon: "success",

duration: 500

})

}

},

fadeOut: function () {

this.animation.scale(2, 2).opacity(0).step()

this.setData({

animationData: this.animation.export()

})

},

rotateAndScale: function () {

// 旋转同时放大

this.animation.rotate(45).scale(2, 2).step()

this.setData({

animationData: this.animation.export()

})

},

rotateThenScale: function () {

// 先旋转后放大

this.animation.rotate(45).step()

this.animation.scale(2, 2).step()

this.setData({

animationData: this.animation.export()

})

},

rotateAndScaleThenTranslate: function () {

// 先旋转同时放大,然后平移

this.animation.rotate(45).scale(2, 2).step()

this.animation.translate(100, 100).step({

duration: 1000

})

this.setData({

animationData: this.animation.export()

})

},

onUnload: function () {

// 页面关闭

},

changeTab: function (e) {

var scrollLeft = ((e.detail.current + 1));

if (scrollLeft < 0) {

scrollLeft = 0;

}

this.setData({

scrollLeft: scrollLeft * (this.data.windowWidth),

currentTab: e.detail.current

});

},

setCurrentTab: function (e) {

this.setData({

currentTab: e.target.dataset.tab

});

},

switchCategory: function (e) {


 

var isContentCanFloatArr = this.data.isContentCanFloat;

if (isContentCanFloatArr[parseInt(e.currentTarget.dataset.category)]) {

this.setData({

currentCategoryTitle: e.currentTarget.dataset.category

});

} else {

this.setData({

currentCategoryTitle: isContentCanFloatArr.length

});

}

this.setData({

currentCategory: e.currentTarget.dataset.category,

currentCategoryContent: e.currentTarget.dataset.category,

isCategoryItemTap: true

});

//延时1秒,禁用doCategoryContentsScroll中的滚动事件的代码块

setTimeout(function () {

this.setData({

isCategoryItemTap: false

});

}.bind(this), 1000);

},

doCategoryBoxScroll: function (e) {

if (this.data.isAddItemTopArray) {

this.setData({

tabsContentHeight: e.detail.scrollHeight - e.detail.scrollTop,

tabHeight: e.detail.scrollHeight / 16

});

} else {

var top = e.detail.scrollTop;

this.setData({

categoryBoxScrollTop: top

});

}

},

doCategoryContentsScroll: function (e) {

if (this.data.isAddItemTopArray) {

//初始化时获取每个子view的offsetTop位置

var tempArr = this.data.itemTopArray;

tempArr.unshift(e.detail.scrollTop);

this.setData({

itemTopArray: tempArr

});

if (e.detail.scrollTop <= 20) { //20是保险值,本应该是0

var that = this;

setTimeout(function () {

that.setData({

isScrollWithAnimation: true,

isAddItemTopArray: false,

isLoaded: true,

categoryBoxScrollIntoView: 0

});

//校验itemTopArray的长度

if (tempArr.length < 15 + 1) {

var lastValue = tempArr[tempArr.length - 1];

for (var m = 15; m > tempArr.length - 1; m--) {

tempArr.push(lastValue);

}

that.setData({

itemTopArray: tempArr

});

}

var tempCanFloatArr = [];

for (var k = 0; k < tempArr.length; k++) {

//判断最后一个要不要把title漂浮起来

var currContentHeight = e.detail.scrollHeight - tempArr[k];

if (currContentHeight <= that.data.tabsContentHeight) {

//只有最后一个内容区的高度大于滑动区的高度,最后一个内容区的标题可漂浮

tempCanFloatArr.push(false);

} else {

tempCanFloatArr.push(true);

}

}

that.setData({

isContentCanFloat: tempCanFloatArr

});

wx.hideLoading();

//下面的模态弹出框调试滑动view的offsetTop时打开

/*wx.showModal({

title: 'view个数',

//content: that.data.itemTopArray.join(','),

content: that.data.itemTopArray.length + "",

success: function (res) {

if (res.confirm) {

console.log('用户点击确定')

} else if (res.cancel) {

console.log('用户点击取消')

}

}

});*/

}, 2000);

that.fadeOut();

}

} else {

//减少操作太频繁的计算量

if (!this.data.isCategoryItemTap) {

for (var i = 0; i < this.data.itemTopArray.length; i++) {

if (e.detail.scrollTop < this.data.itemTopArray[i + 1]) {

if (this.data.currentCategory != i) {

var isContentCanFloatArr = this.data.isContentCanFloat;

if (isContentCanFloatArr[i]) {

this.setData({

currentCategoryTitle: i

});

} else {

this.setData({

currentCategoryTitle: isContentCanFloatArr.length

});

}

this.setData({

currentCategory: i

});

//滚动菜单分类

var currentCategoryBox_offsetTop = i * this.data.tabHeight;

var categoryBoxScrollTop_temp = this.data.categoryBoxScrollTop;

var min_categoryBoxScrollTop = categoryBoxScrollTop_temp;

var max_categoryBoxScrollTop = min_categoryBoxScrollTop + this.data.tabsContentHeight;

if (currentCategoryBox_offsetTop < min_categoryBoxScrollTop) {

//说明已经在屏幕的可视区的上方了,让滚动条向下一个tabHeight

var scroll_top = currentCategoryBox_offsetTop;

var scroll_view = Math.floor(scroll_top / this.data.tabHeight);

if (scroll_view < 0) {

scroll_view = 0;

}

this.setData({

categoryBoxScrollTop: scroll_top,

categoryBoxScrollIntoView: scroll_view

});

} else if (currentCategoryBox_offsetTop + this.data.tabHeight > max_categoryBoxScrollTop) {

//说明已经在屏幕的可视区的下方了,让滚动条向上移动一个tabHeight

var scroll_top = min_categoryBoxScrollTop + (currentCategoryBox_offsetTop + this.data.tabHeight - max_categoryBoxScrollTop);

var scroll_view = Math.ceil(scroll_top / this.data.tabHeight);

if (scroll_view > 15) {

scroll_view = 15;

}

this.setData({

categoryBoxScrollIntoView: scroll_view

});

}

}

break;

}

}

}

}

},

onHide: function () {

var date = new Date;

var prev_time = date.getTime();

wx.setStorageSync('prev_time', prev_time);

},

dishes_alert: function (e) {

var that = this;

var image = e.currentTarget.dataset.image;

var volume = e.currentTarget.dataset.volume;

var price = e.currentTarget.dataset.price;

var index = e.currentTarget.dataset.index;

var cainum = e.currentTarget.dataset.cainum;

var name = e.currentTarget.dataset.name;

var lable = e.currentTarget.dataset.lable;

console.log(e);

that = this;

wx.navigateTo({

url: '/pages/goods_news/index?&image=' + image + '&volume=' + volume + '&price=' + price + '&index=' + index + '&cainum=' + cainum + '&name=' + name + '&lable=' + lable,

})

},

close_dishalert: function (e) {

var that = this;

var i = e.currentTarget.dataset.index;

var ff = "caidan[" + i + "].showdishes_alert";

var closedishes_alert = false;

that.setData({

[ff]: false

})

},

doCategoryContentsToLower: function (e) {

if (!this.data.isAddItemTopArray) {

if (!this.data.isCategoryItemTap) {

var isContentCanFloatArr = this.data.isContentCanFloat;

if (isContentCanFloatArr[15]) {

this.setData({

currentCategoryTitle: 15

});

} else {

this.setData({

currentCategoryTitle: isContentCanFloatArr.length

});

}

this.setData({

currentCategory: 15,

categoryBoxScrollIntoView: 15

});

}

}

}

});

wxml  部分

<swiper class="tabs-content" current="{{currentTab}}" bindchange="changeTab">

<view class='zhuohao'>

<text style='float:left;padding-left:15px;'>SOLO觞楽私厨酒肆</text>

<text wx:if="{{seat_name}}" style='float:right;padding-right:15px;'>{{seat_name}}</text>

</view>

<view style='height:10rpx;'></view>

<swiper-item class="tabs-content-item">

<view class="goods-content">

<scroll-view class="category-box" scroll-y="true" scroll-into-view="category-Box-item-{{categoryBoxScrollIntoView}}" bindscroll="doCategoryBoxScroll" style="height:100%;">

<view wx:for="{{cailei}}" wx:for-index="idx" wx:for-item="item" id="category-Box-item-{{idx}}" class="category-item {{currentCategory==idx?'active':''}}" data-category="{{idx}}" bindtap="switchCategory">

<view class="category-item-inner">

<text>{{item.name}}</text>

</view>

</view>

<view style='height:130px;'></view>

</scroll-view>

<scroll-view class="category-contents" scroll-y="true" scroll-into-view="category-contents-item-{{currentCategoryContent}}" scroll-with-animation="{{isScrollWithAnimation}}" bindscroll="doCategoryContentsScroll" bindscrolltolower="doCategoryContentsToLower"

lower-threshold="100" style="height:100%;">

<view wx:for="{{cailei}}" wx:for-index="i" wx:for-item="sort" id="category-contents-item-{{i}}" class="category-contents-item">

<!-- <view class="goods-box-title" wx:if="{{i!=0}}">

<view class="{{currentCategoryTitle==i?'fixed-title':''}}">{{sort.name}}</view>

</view> -->

<view class="goods-box" wx:for="{{caidan}}" wx:for-index="index" wx:for-item="menu" wx:if="{{sort.id==menu.fid}}">

<view class="goods-item">

<view bindtap='dishes_alert' data-name='{{menu.title}}' data-image="{{menu.caiimage}}" data-volume="{{menu.volume}}" data-price='{{menu.price}}' data-cainum='{{menu.cainum}}' data-id='{{menu.id}}' data-index='{{index}}' data-lable='{{menu.lable}}'>

<image src="{{menu.caiimage}}"></image>

</view>

<view class="goods-info-box">

<view class="goods-title" bindtap='dishes_alert' data-name='{{menu.title}}' data-lable='{{menu.lable}}' data-image="{{menu.caiimage}}" data-volume="{{menu.volume}}" data-price='{{menu.price}}' data-cainum='{{menu.cainum}}' data-id='{{menu.id}}' data-index='{{index}}'>{{menu.title}}</view>

<view class="goods-likes" bindtap='dishes_alert' data-lable='{{menu.lable}}' data-name='{{menu.title}}' data-image="{{menu.caiimage}}" data-volume="{{menu.volume}}" data-price='{{menu.price}}' data-cainum='{{menu.cainum}}' data-id='{{menu.id}}' data-index='{{index}}'>

<view class="goods-likes-left">月售{{menu.volume}}

<text>{{menu.lable}}</text>

</view>

</view>

<view class="goods-tools">

<view class="goods-price">¥{{menu.price}}</view>

<view class='goods-reduce' wx:if="{{menu.cainum>0}}" bindtap="reduceFoodNum" data-price='{{menu.price}}' data-cainum='{{menu.cainum}}' data-index='{{index}}' data-id='{{menu.id}}' data-kucunnum='{{menu.num}}'>-</view>

<text wx:if="{{menu.cainum>0}}">{{menu.cainum}}</text>

<view class="goods-add" bindtap="addFoodNum" data-tasteName="{{menu.tasteName}}" data-price='{{menu.price}}' data-cainum='{{menu.cainum}}' data-id='{{menu.id}}' data-index='{{index}}' data-kucunnum='{{menu.num}}'>+</view>

</view>

</view>

</view>

</view>

</view>

<view style='height:100px;'></view>

</scroll-view>

</view>

</swiper-item>

</swiper>

<view class="Bill-layer" wx:if="{{showCart && sumNum > 0}}" bindtap="hiddenLayer"></view>

<view class="Bill">

<scroll-view scroll-y="true" style="height: 500rpx;background-color:white" wx:if="{{showCart && sumNum > 0}}">

<view class="clearCart">

<button bindtap="clearCart">清空购物车</button>

</view>

<view class="book-result-detail" wx:for="{{caidan}}" wx:for-index="index" wx:for-item="shop" wx:if="{{shop.cainum>0}}">

<view wx:if="{{shop.cainum>0}}">

<text>{{shop.title}}</text>

<view class="operations" wx:if="{{shop.cainum>0}}">

<view class="goods-reduce1" data-num="{{shop.cainum}}" ata-kucunnum='{{shop.num}}' bindtap="reduceFoodNum" wx:if="{{shop.cainum> 0}}" data-index='{{index}}' data-price="{{shop.price}}" data-title="{{shop.title}}">-</view>

<text wx:if="{{shop.cainum > 0}}">{{shop.cainum}}</text>

<view class="goods-add1" data-num="{{shop.cainum}}" bindtap="addFoodNum" data-price="{{shop.price}}" data-tasteName="{{shop.tasteName}}" data-index='{{index}}' data-title="{{shop.title}}" data-kucunnum='{{shop.num}}'>+</view>

</view>

</view>

</view>

</scroll-view>

<view class="takeBill {{showCart ? '' : 'bdt'}}">

<view class="box-left">

<view class="tips" bindtap="seeDetailCart">

<view>{{sumNum}}</view>

</view>

<view class="money">¥ {{sumMon}}</view>

</view>

<button class="box-right" disabled="{{submitOrderDisabled}}" bindtap="placeOrder"> 下单 </button>

</view>

</view>

<view class="shopping-box">

<view class="cart-bth">

</view>

<view class="cart-tips"></view>

<view class="pay-bth"></view>

</view>

<view animation="{{animationData}}" class="loading {{isLoaded?'hidden':''}}"></view>

wxss部分:

.page {

background: #f0f0f0;

height: 100%;

width: 100%;

font-family: "微软雅黑",

Helvetica,

Arial,

"Hiragino Sans GB",

"Source Han Sans CN",

"PingFang SC",

Roboto,

"Heiti SC",

"Microsoft Yahei",

sans-serif;

background: #fff;

}

.share{

width: 100%;

height: 100%;

}

.merchant_xinxi{

width: 100%;

}

.book-box, .order-box {

width: 100%;

position: relative;

box-sizing: border-box;

}

.zhuohao{

width: 100%;

background: #ebebeb;

height: 100rpx;

line-height: 100rpx;

}

.zhuohao text{

font-size: 13px;

color:#FF535F;

}

.swiper-vertical-box {

width: 100%;

padding-left: 70px;

box-sizing: border-box;

}

/*.swiper-vertical-tab{width:100px;position:absolute;left:0px;top:0;min-height:100%; }*/

.swiper-vertical-tab {

width: 70px;

position: absolute;

left: 0px;

top: 0;

}

.swiper-vertical-tab view {

height: 60px;

font-size: 13px;

color: #505050;

text-align: center;

box-sizing: border-box;

padding-top: 20px;

padding-bottom: 20px;

}

.swiper-vertical-tab {

background: #eee;

height: 100%;

}

.swiper-vertical-tab view.on {

background: #fff;

height: 100%;

}

.swiper-vertical-box .vertical-list {

height: 100%;

}

.type-detail {

background: #fff;

padding-bottom: 10px;

}

.type-detail>view {

border-top: 0px solid #e5e5e5;

border-bottom: 1px solid #e5e5e5;

margin-left: 10px;

overflow: hidden;

padding-left: 80px;

box-sizing: border-box;

position: relative;

height: 92px;

width: 100%;

margin-bottom: -1px;

}

.type-detail view image {

width: 70px;

height: 70px;

border-radius: 6px;

margin-top: 10px;

border: 1px solid #ccc;

float: left;

margin-bottom: 10px;

position: absolute;

left: 0;

top: 0;

}

.book-detail {

float: left;

width: 100%;

}

.book-detail .cai_name {

font-size: 16px;

color: #505050;

height: 60px;

line-height: 60px;

}




 

.book-detail>view {

margin-top: 5px;

width: 100%;

overflow: hidden;

position: relative;

height: 28px;

}

.book-detail .reduce, .book-result-detail .reduce {

color: #fff;

background-color: #06c1ae;

width: 50rpx;

height: 50rpx;

line-height: 40rpx;

text-align: center;

border-radius: 50%;

font-size: 50rpx;

}

.book-detail .money {

font-size: 13px;

color: #fa4b22;

line-height: 10px;

}


 

.Bill-layer {

width: 100%;

height: 100%;

background: #000;

opacity: 0.5;

position: fixed;

left: 0;

top: 0;

z-index: 0;

}

.Bill {

position: fixed;

left: 0;

bottom: 0;

width: 100%;

z-index: 2;

}

.takeBill {

height: 55px;

background: #fff;

position: relative;

z-index: 99999;

}

.takeBill .box-right {

width: 120px;

height: 55px;

background: #FF535F;

position: absolute;

right: 0;

top: -1px;

border-radius: 0;

color: #fff;

line-height: 52px;

text-align: center;

}

.box-left {

margin-left: 30px;

}

.box-left>view {

float: left;

}

.box-left .tips {

width: 30px;

background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADwAAAA8CAYAAAA6/NlyAAAAAXNSR0IArs4c6QAAAARnQU1BAACx jwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVh ZHlxyWU8AAADcWlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78i IGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9i ZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS41LWMwMTQgNzkuMTUxNDgxLCAy MDEzLzAzLzEzLTEyOjA5OjE1ICAgICAgICAiPiA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93 d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8cmRmOkRlc2NyaXB0aW9uIHJk ZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIg eG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJl ZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1wTU06T3JpZ2lu YWxEb2N1bWVudElEPSJ4bXAuZGlkOmFhZTI3MTNkLTVkZjUtMGQ0My04NTFmLWVjNTU4OGQ3ZGRm NyIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDo5Qjc0QUFBREZDQzQxMUU2ODE5MEFGQ0QxNDRB ODU5QiIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDo5Qjc0QUFBQ0ZDQzQxMUU2ODE5MEFGQ0Qx NDRBODU5QiIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ0MgKFdpbmRvd3MpIj4g PHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6YWFlMjcxM2QtNWRm NS0wZDQzLTg1MWYtZWM1NTg4ZDdkZGY3IiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOmFhZTI3 MTNkLTVkZjUtMGQ0My04NTFmLWVjNTU4OGQ3ZGRmNyIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9y ZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PhXpIG0AAATbSURBVGhD7ZpZ KHVdGMcf85BMmWcXSi4osxsppUSJS0PulCguREmU3CjcybWpXMiNKaW4Q5RMVwopc5Exmd7ve56z lrN5N+fsvdf5zjqd71e7/V97s6y/NTxr2C5//gWcCFd2dxq+1PDg4CBMTk7C29sbe2LCzc0NoqOj oaCgAGpqasDb25u9cTw+DeOtsLAQXl9f6cVPZGZmwsDAALi4uLAnjsVnk0YD5eXl4O7uzp6os7Gx Aevr6yzleFg1aN3e3kJ/fz8sLS1RurS0FNra2kg7GlYNWgEBAdDc3MxSAJubm0w5HlaP0sHBwTRw IWdnZ/Dy8kLa0dAUh1tbW2FlZYWl5MPDwwNCQ0MhIyODoklkZCR7Y0ZTHI6JiWFKTjDCnJ6ewvT0 NDQ0NMDDwwN7Y0aTYd6kHYGrqyuYnZ1lKTOamvTa2hq0tLSQzs/Ph8bGRtKy8Pz8DHNzczAxMUHp 4uJiaG9vJ83RVMNxcXFMAZyfnzMlDzgDLCoqYil1NBkODw+ngQE5OTmhu2wop8UhISFMmdFk2NXV FaKiokg/Pj7C/f09aZnAvssJCwtjyowmw4hy4MJ4LBuXl5dMmVrkdzQbjo2NZUrOfiy8hpWxWMYa Vhp2ihrmTdrX1xf8/PxIKzHUh2Vu0mq1i2g2jP3C09OTtGxNGudQ3LBa/0U0G8bQxPvx09MTrZVl 4fr6+nPHRlgNI7I2a2VIUlspIboMyzpSK//5NjMsaw3zGeF3dBmWdRFxcXHBlGDDyj6MC25Z4IYx BuM+nBq6DOM2io+PD2mZapiX5af+i+gyjPB+jIvum5sb0vYEwyNfvdnEsGz9eGpqiqmf+y+i27C9 lonYonA2dXBwAFtbW7C4uAhdXV0wPz/PfgIgOTmZqb/RtKelZGFhAXp6ekiXlZVBVVUVaS3gJsLd 3R3tLmJzxEup1d5ZOvvC5jw6OgpeXl7syVd0G97d3YX6+nrSWVlZUFdX96VgXKsVmqc/Pj7o90UR Hx9PlZCQkMCe/I1uw2ikpKSEpWwPhhp/f3+6MORwzdNoMj09nY52f0O3YQQP1fQsHnABEhgYSBcW NigoiDQW/vsz1HjxzUOjGDKMu/vb29uksXB4/oR3Xlh+KdNYeLzbC0OGe3t7YWZmhjQep2ZnZ5OW Gd1hCcFBgnN0dMSU3AgzvLe3x5TcGDKcmJjIFMDy8jKd64gONaIx1IcRnHAcHx+zlP3AcFRZWUnz gd8wVMNIU1MThRl78/7+/jmA/obhkuLIjCN0WlqasFipB/zbFRUVLPUzhpu0o2H/tvgf43SGbdak cVNgfHycvvrBDXKcdubl5dGoHhERwX7KOkTmZRPD+C1IZ2cnnUx8B1c93d3dkJOTw578jsi8EOGG sTZqa2tVC8jBgg4PD1usHZF5cYT3Ydxt4AXEbyw6OjpgZGSE7vybC3yPTdQSIvPiCDe8urrKFNCO SGpqKn1dg3flZ07WfNEnMi+OcMPKLdukpCSmTKSkpDBlOumzhMi8OMIN42Kfs7+/z5QJ5ZwbR1pL iMyLI9xwbm4uUwBDQ0Ows7ND304dHh5CX18fewNWjawi8+L8P0obBf8wxkYsiBr4HN9bU0CReXFs OtMaGxujERQHH+yPODuqrq7WVEBEZF42Mywrwpu07DiZYYB/AGTCksEzMhzoAAAAAElFTkSuQmCC") no-repeat left 12px;

background-size: 100% auto;

height: 40px;

position: relative;

}

.box-left .tips view {

position: absolute;

right: -5px;

top: 7px;

width: 20px;

height: 20px;

background: #f55022;

color: #fff;

border-radius: 10px;

text-align: center;

line-height: 20px;

font-size: 12px;

}

.box-left .money {

color: #fa4b22;

font-size: 17px;

margin-left: 10px;

margin-top: 15px;

}

.clearCart {

height: 35px;

text-align: right;

background: #f5f5f5;

}

.clearCart button {

background: none;

float: right;

color: #646464;

line-height: 35px;

font-size: 14px;

padding-left: 16px;

background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABoAAAAcCAYAAAB/E6/TAAAAAXNSR0IArs4c6QAAAARnQU1BAACx jwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVh ZHlxyWU8AAADcWlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78i IGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9i ZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS41LWMwMTQgNzkuMTUxNDgxLCAy MDEzLzAzLzEzLTEyOjA5OjE1ICAgICAgICAiPiA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93 d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8cmRmOkRlc2NyaXB0aW9uIHJk ZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIg eG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJl ZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1wTU06T3JpZ2lu YWxEb2N1bWVudElEPSJ4bXAuZGlkOmFhZTI3MTNkLTVkZjUtMGQ0My04NTFmLWVjNTU4OGQ3ZGRm NyIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDo5QTNCOEU2QUZDQzQxMUU2ODE5MEFGQ0QxNDRB ODU5QiIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDo5QTNCOEU2OUZDQzQxMUU2ODE5MEFGQ0Qx NDRBODU5QiIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ0MgKFdpbmRvd3MpIj4g PHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6YWFlMjcxM2QtNWRm NS0wZDQzLTg1MWYtZWM1NTg4ZDdkZGY3IiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOmFhZTI3 MTNkLTVkZjUtMGQ0My04NTFmLWVjNTU4OGQ3ZGRmNyIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9y ZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/Pm6VsksAAAD7SURBVEhL7ZbB DkRADIZrE86OEl7Da4in8FAu5hHEI7h6DQdHFw4c7LaZmYxJjMHuHnZ9SVOtpL9WYzjLC9ihqiro uo5Ha4IggCRJeLTNg3sjWyKI6Z6KlZAAnzzLMjKbLlQOCeGYBOq1DU5RFMs0TTz8DJ7nHevoCnLr 8jynBM7/Hej1vtbRnwkxxshUbHM6RiFce331bXM69zKc5hY6zS10GqMQHlhoKrY5nR8+j0Tr4ziS v4Ko4boueUQKhWFIvq7rS2LDMFANJIoi8oh8R33fQ1mWu597W3BCaZqC7/sUr36JUaxpGmjbFuZ5 5tlj4LiwkziOpQgAwBMNeHlKuzj5HAAAAABJRU5ErkJggg==") no-repeat left center;

background-size: 13px auto;

}

.clearCart button::after {

border: 0 none;

}

.book-result-detail {

overflow: hidden;

}

.book-result-detail>view {

background: #fff;

overflow: hidden;

height: 50px;

padding-top: 10px;

padding-left: 15px;

box-sizing: border-box;

padding-right: 10px;

border-bottom: 1px solid #e6e6e6;

}

.book-result-detail>view text {

float: left;

}

.book-result-detail>view view {

float: right;

}

.food-detail {

overflow: hidden;

height: 36px;

line-height: 36px;

}

page, scroll-view, view {

box-sizing: border-box;

font-family: "微软雅黑";

}

page {

display: flex;

display:-webkit-box;

display: -moz-box;

display: -ms-flexbox;

display: -webkit-flex;

flex-direction: column;

-webkit-box-direction: column;

-moz-box-direction: column;

-webkit-flex-direction:column;

background-color: #f7f7f7;

height: 100%;

width: 100%;

}


 

.food-detail>text {

float: left;

color: #3c3c3c;

font-size: 16px;

display: block;

}

.food-detail>view {

float: right;

}

.food-detail>view text {

font-size: 15px;

color: #999;

}

.place {

height: 5px;

width: 100%;

background: #f0f0f0;

}

.order-list {

border-top: 1px solid #e6e6e6;

border-bottom: 1px sol id #e6e6e6;

margin-top: -1px;

padding: 20px 15px;

}

.order-list>text {

color: #3c3c3c;

font-size: 16px;

margin-bottom: 6px;

display: block;

}

.order-list .time {

color: #999;

font-size: 13px;

text-align: right;

}

.bdt {

border-top: 1px solid #e6e6e6;

}

.sale-out {

position: absolute;

width: 70px;

left: 0;

bottom: 0;

background: #aaa;

color: #fff;

z-index: 2;

text-align: center;

}

.tabs {

border-top: 2rpx solid #b3b3b3;

border-bottom: 2rpx solid #d8d8d8;

white-space: nowrap;

height: 91rpx;

background-color: #fff;

width: 100%;

}

.tabs-item {

display: inline-block;

width: 33%;

text-align: center;

font-size: 32rpx;

padding: 20rpx 0;

border-bottom: 6rpx solid transparent;

color: #999;

}

.tabs-item.active {

border-bottom: 6rpx solid #32b8ad;

color: #333;

}

/*选项卡内容区的样式*/

.tabs-content {

height: 100%;

width: 100%;

-webkit-box-flex:1;

-moz-box-flex:1;

flex:1;

-webkit-flex:1;

overflow: auto;

}

.tabs-content-item{

width: 100%;

height: 100%;

transform: translate(0%, 0px) translateZ(0px);

overflow: auto;

}

.goods-content {

display: flex;

display:-webkit-box;

display: -moz-box;

display: -ms-flexbox;

display: -webkit-flex;

justify-content: flex-start;

-webkit-box-direction: flex-start;

-webkit-justify-content:center;

width: 100%;

height: 100%;

}

.category-box {

width: 200rpx;

background-color: #f5f6f8;

overflow: auto;

height: 100%;

}

.category-item {

width: 100%;

}

.category-item-inner {

margin: 0 auto;

width: 180rpx;

display: flex;

justify-content: center;

align-items: center;

height: 100rpx;

background: #ebebeb;

}

.category-item.active {

background-color: #fff;

border-top: 4rpx solid #f1f2f4;

border-bottom: 4rpx solid #f1f2f4;

margin-top: -4rpx;

}

.category-item.active .category-item-inner {

background-color: #fff;

border-bottom: 2rpx solid transparent;

}

.category-item image {

width: 40rpx;

height: 40rpx;

margin-right: 10rpx;

}

.category-item text {

font-size: 32rpx;

color: #999;

}

.category-item:last-of-type .category-item-inner {

border-bottom: none;

}

/*分类右边商品列表区图片*/

.category-contents {

flex: 1;

height: 100%;

overflow: auto;

}

.category-contents-item {

display: flex;

display:-webkit-box;

display: -moz-box;

display: -ms-flexbox;

display: -webkit-flex;

-webkit-flex-flow:row wrap;

-webkit-box-orient:horizontal;

flex-flow:row wrap;

align-items: flex-start;

flex-wrap: wrap;

}

.goods-box-title {

flex: 100%;

height: 60rpx;

}

.goods-box-title view {

height: 60rpx;

line-height: 60rpx;

color: #333;

padding-left: 20rpx;

font-size: 28rpx;

}

.fixed-title {

position: fixed;

left: 200rpx;

right: 0;

top: 0;

background-color: #ebebeb;

}

.category-contents-item .goods-box {

flex: 100%;

background-color: #fff;

padding-left: 20rpx;

}

.goods-box .goods-item {

display: flex;

align-items: flex-start;

justify-content: flex-start;

background-color: #fff;

padding: 20rpx 0;

border-bottom: 2rpx solid #d8d8d8;

}

.goods-box .goods-item:last-of-type {

border-bottom: 2rpx solid transparent;

}

.goods-item image {

width: 140rpx;

height: 140rpx;

border-radius: 10rpx;

}

.goods-item .goods-info-box {

display: flex;

flex-direction: column;

flex: 1;

margin-left: 20rpx;

}

.goods-info-box .goods-title {

color: #383838;

font-size: 32rpx;

}

.goods-intro {

font-size: 26rpx;

color: #999;

margin-top: 10rpx;

}

.goods-info-box .goods-likes {

display: flex;

font-size: 26rpx;

margin-top: 10rpx;

color: #999;

}

.goods-likes-right {

margin-left: 20rpx;

}

.goods-tools {

font-size: 32rpx;

}

.goods-price {

width: 55%;

float:left;

color: red;

margin-left: -6rpx;

}

.goods-tools text{

float: left;

margin-right: 30rpx;

margin-left: 15rpx;

font-size: 14px;

}

.goods-reduce{

color: #FF535F;

border:1px solid #FF535F;

background-color: white;

width: 50rpx;

float:left;

height: 50rpx;

line-height: 42rpx;

text-align: center;

border-radius: 50%;

font-size: 50rpx;

}

.goods-add {

color: #fff;

float:right;

background-color: #FF535F;

width: 50rpx;

height: 50rpx;

line-height: 48rpx;

text-align: center;

border-radius: 50%;

font-size: 50rpx;

position: absolute;

right: 27rpx;

}

.goods-add-selecttaste {

color: #fff;

float:right;

background-color: #FF535F;

width: 100rpx;

height: 50rpx;

line-height: 48rpx;

text-align: center;

font-size: 23rpx;

position: absolute;

right: 20rpx;

}

.operations{

width: 20%;

}

.goods-add1 {

color: #fff;

background-color: #FF535F;

width: 50rpx;

height: 50rpx;

line-height: 48rpx;

text-align: center;

border-radius: 50%;

font-size: 50rpx;

position: absolute;

right: 15rpx;

}

.operations text{

font-size: 14px;

position: absolute;

right: 100rpx;

}

.goods-reduce1{

color: #FF535F;

border:1px solid #FF535F;

background-color: white;

width: 50rpx;

height: 50rpx;

position: absolute;

right: 150rpx;

line-height: 42rpx;

text-align: center;

border-radius: 50%;

font-size: 50rpx;

}

.goods-select {

margin-right: 20rpx;

color: #fff;

background-color: #06c1ae;

height: 50rpx;

line-height: 50rpx;

text-align: center;

border-radius: 25rpx;

font-size: 28rpx;

font-weight: normal;

padding: 0 20rpx;

}

/*页脚购物车的样式*/



 

/*初始化页面(获取每个子view的offsetTop)显示正在加载中提示*/

.loading {

position: absolute;

background-color: #fff;

left: 0;

top: 0;

width: 100%;

height: 100%;

display: flex;

justify-content: center;

align-items: center;

z-index: 9999;

}

.hidden {

display: none;

}

.mask{

width: 100%;

height: 100%;

position: fixed;

top: 0;

left: 0;

background: #000;

z-index: 9000;

opacity: 0.6;

}

.modalDlg{

width: 500rpx;

height: 450rpx;

position: fixed;

top: 20%;

z-index: 9999;

left:125rpx;

/* margin-left:-80rpx; */

background-color: #fff;

border-radius: 4rpx;

}

.shutalert{

width: 110rpx;

margin: 0rpx auto;

}

.shutalert image{

width: 100rpx;

height: 100rpx;

position: absolute;

bottom: -120rpx;

left: 200rpx;

}

.kouwei_wrap{

width:140rpx;text-align:center;height:30px;font-size:11px;float:left;margin-left:15rpx;border:1px solid #ebebeb;margin-top:20rpx;line-height: 30px;

}

.active-pop{

width:140rpx;text-align:center;height:30px;font-size:11px;float:left;margin-left:15rpx;border:1px solid #FF535F;color: #FF535F;z-index: 999;margin-top:20rpx;line-height: 30px;

}

.push_shopcart_wrap{

position: absolute;

right: 10px;

bottom: 8px;

}

.shopcart_right{

width: 180rpx;

height: 50rpx;

text-align:center;

line-height: 40rpx;

background: #FC717C;

border-radius:13px;

}

.shop_price_wrap{

position: absolute;

left: 10px;

bottom: 10px;

}

.main{

width: 100%;

}

.setmeal{

width: 100%;

}

.caipingjieshao_wrap{

width: 94%;

margin: 3% auto;

text-indent:2em;

font-size: 14px;

word-wrap:break-word;

}

.topsetmeal{

width: 100%;

height: 40px;

padding: 0px;

margin: 0;

}

.topsetmeal_one{

float: left;

margin-left: 10px;

width: 98%;

height: 100%;

}

.topsetmeal_name{

font-size: 20pt;

}

.goods_image{

margin-top: 10px;

width: 100%;

height: 260px;

text-align: center;

}

.goods_image .images{

width: 100%;

height: 100%;

text-align: center;

}

.goods_image .images image{

width: 95%;

height: 100%;

}

.top-placeholder {

margin-top: 20px;

width: 100%;

height: 30px;

}

.goods_sales{

margin-top: 5px;

width: 100%;

height: 20px;

color: #A5A5A5;

}

.goods_sales text{

font-size: 10pt;

line-height: 20px;

padding-left: 10px;

font-family: 微软雅黑;

}

.goods_prices{

width: 100%;

height: 30px;

}

.goods_prices text{

color:#FA4E44;

font-size: 18pt;

margin-left: 6px;

float: left;

}

.goods_prices .goods_shopping{

color: white;

width: 150px;

height: 100%;

border-radius: 30px 30px 30px 30px;

background-color: #FF535F;

margin-right: 20px;

float: right;

line-height: 30px;

font-size: 12pt;

font-weight: bold;

text-align: center;

font-family: 楷体;

}

.top-placeholder .text {

font-size: 15pt;

line-height: 30px;

padding-left: 10px;

font-family: 微软雅黑;

font-weight: 25px;

}

.box-middle{

width: 120px;

height: 55px;

background-color: #FED161;

margin-right: 120px;

float: right;

right: 0;

top: -1px;

border-radius: 0;

color: #fff;

line-height: 52px;

text-align: center;

}

.showdishes_alert{

width: 100%;

height: 100%;

position: fixed;

top:0;

bottom: 0;

left: 0;

right: 0;

z-index: 99;

background-color: #fff;

}

.close_wrap{

width: 100%;

height: 80rpx;

line-height: 80rpx;

float: right;

}

.close_wrap image{

width: 60rpx;

height: 60rpx;

float: left;

padding-left: 22rpx;

}

.taste_wrap{

width:100%;

}


 

猜你喜欢

转载自blog.csdn.net/qq_41452433/article/details/81543241