Commit ec352012462b61fd66939e099acd0355d2627b82

Authored by yiren
1 parent 568103a6

更多优惠活动页面和接口对接

// pack-cookbook/pages/favourableList.js
import util from '../../utils/util'
import App from '../../utils/api';
Page({
/**
* 页面的初始数据
*/
data: {
sellerName:'',
sellerid:'',
oid:'',
list:[]
sellerName: '',
sellerid: '',
oid: '',
priceInfo: '',
scoreInfo: '',
certificate: '',
list: []
},
/**
* 生命周期函数--监听页面加载
*/
... ... @@ -21,26 +24,44 @@ Page({
sellerid: options.sellerid,
oid: options.oid,
})
this.getList()
},
/**
* 生命周期函数--监听页面初次渲染完成
*/
onReady() {
this.setData({
list:[
{id:'1',name:'充500赠100',info:'会员充值满500元赠余额100元。',stime:'2022年12月18日',etime:'2023年10月30日'},
{id:'2',name:'充500赠100',info:'会员充值满500元赠余额100元。',stime:'2022年12月18日',etime:'2023年10月30日'},
{id:'3',name:'充500赠100',info:'会员充值满500元赠余额100元。',stime:'2022年12月18日',etime:'2023年10月30日'},
{id:'4',name:'充500赠100',info:'会员充值满500元赠余额100元。',stime:'2022年12月18日',etime:'2023年10月30日'},
]
onReady() {},
getList() {
App.Activity.GetNewRechargeList({
sellerid: this.data.sellerid,
is_expire: '0'
}).then(res => {
let list = res.data;
list.forEach(item => {
item.recharge_lists = item.recharge_list ? JSON.parse(item.recharge_list) : '';
let recharge_lists = item.recharge_lists;
item.priceInfo = '';
item.scoreInfo = '';
item.certificate = '';
if (recharge_lists.is_price == '1') item.priceInfo = '会员充值满' + item.recharge_money + '元赠送' + item.recharge_lists.price + '元余额';
if (recharge_lists.is_score == '1') item.scoreInfo = '会员充值满' + item.recharge_money + '元赠送' + item.recharge_lists.score + '积分';
if (recharge_lists.is_coupons == '1' && recharge_lists.coupons_names.length > 0) item.certificate = recharge_lists.coupons_names.join('、');
})
this.setData({
list
})
})
},
gogoSingle(e){
const id= e.currentTarget.dataset['id'];
let url=util.http_build_query({sid:this.data.sellerid,name:this.data.sellerName,types:'1',oid:this.data.oid,id},'/pack-activity/pack/vipRecharge')
gogoSingle(e) {
const id = e.currentTarget.dataset['id'];
let url = util.http_build_query({
sid: this.data.sellerid,
name: this.data.sellerName,
types: '1',
oid: this.data.oid,
id
}, '/pack-activity/pack/vipRecharge')
wx.navigateTo({
url
url
})
},
/**
... ...
<!--pack-cookbook/pages/favourableList.wxml-->
<wxs src="../../utils/util.wxs" module="util" />
<nav></nav>
<view class="box">
<view class="box" wx:if="{{list.length>0}}">
<view wx:for="{{list}}" class="single" bindtap="gogoSingle" data-id="{{item.id}}">
<view class="topBox">
<view class="name font32r">
{{item.name}}
{{item.rname}}
</view>
<view class="texts info font24r">
{{item.info}}
{{item.info}}
{{item.info}}
<view class="texts info font24r" wx:if="{{item.priceInfo}}">
{{item.priceInfo}}{{(item.recharge_lists.is_coupons=='0' && item.recharge_lists.is_score=='0')?'。':';'}}
</view>
<view class="texts info font24r" wx:if="{{item.scoreInfo}}">
{{item.scoreInfo}}{{item.recharge_lists.is_coupons=='0'?'。':';'}}
</view>
<view class="texts info font24r" wx:if="{{item.recharge_lists.is_coupons=='1'}}">
{{item.recharge_lists.is_coupons=='1'?'会员充值满'+item.recharge_money+'元赠送'+item.certificate:''}}。
</view>
</view>
<view class="texts time font24r">
有效期限:{{item.etime}}至{{item.stime}}
有效期限:{{util.unixtoTime(item.stime,'YYYY-MM-DD')}}至{{util.unixtoTime(item.etime,'YYYY-MM-DD')}}
</view>
</view>
</view>
\ No newline at end of file
... ...
... ... @@ -7,7 +7,6 @@ page{
}
.single{
width: 100%;
height: 240rpx;
border-radius: 16rpx;
background-color: #FFFFFF;
box-shadow: 0rpx 8rpx 8rpx #00000040;
... ... @@ -33,14 +32,13 @@ page{
.texts{
padding-left: 40rpx;
color: #999999;
font-family: PingFang SC;
height: 62%;
font-family: PingFang SC;
line-height: 50rpx;
}
.topBox{
height: 68%;
border-bottom: 2rpx dashed #bfc4d4;
}
.time{
height: 70rpx;
line-height: 70rpx;
}
\ No newline at end of file
... ...
... ... @@ -57,13 +57,6 @@ Page({
this.checkModal = this.selectComponent("#checkModal");
this.classifyModal = this.selectComponent("#classifyModal");
},
/**
* 生命周期函数--监听页面初次渲染完成
*/
onReady() {
},
// 已选菜单页面跳转
gotoShoppingCart() {
let cookbooklist = this.data.cookbooklist;
... ... @@ -111,7 +104,7 @@ Page({
let normsLen = 0;
cookbooklist.forEach(items => {
items.cookbooklist[0].forEach(item => {
if (item.norms.length > 0) {
if (item.norms && item.norms.length > 0) {
normsLen += item.norms.length
}
})
... ... @@ -120,22 +113,6 @@ Page({
normsLen
})
},
// 展示做法规格弹窗
showModal() {
this.checkModal.showModal()
},
// 关闭做法规格弹窗
closeModal() {
this.checkModal.closeModal()
},
// 展示菜品分类弹框
showClassifyModal() {
this.classifyModal.showModal()
},
// 关闭菜品分类弹框
closeClassifyModal() {
this.classifyModal.closeModal()
},
// 选择菜品分类
checkItem(e) {
const item = e.currentTarget.dataset['item'];
... ... @@ -199,6 +176,10 @@ Page({
let normsNum;
// 点击下面的加号并且有规格或者做法的,弹框选规格 下面的直接加
if (type == '1' && (item.practice.length>1 || item.spec.length>1)) {
this.setData({
check1:item.practice.length>0?item.practice[0].id:'',
check2:item.spec.length>0?item.spec[0].id:'',
})
return this.showModal()
}else {
normsNum = 1;
... ... @@ -366,13 +347,34 @@ Page({
})
sortArr.push(item)
})
// let image_typeArr=[];
// sortArr.forEach(item=>{
// item.cookbooklist[0].sort((a,b)=>{
// return a.image_type-b.image_type
// })
// image_typeArr.push(item)
// })
let image_typeArr=[];
sortArr.forEach(item=>{
let num=0;
item.cookbooklist[0].forEach((i,idx)=>{
if(i.image_type=='2'){
num++
i.index=num;
if(i.index%2!=0){
i.boderNone=false;
}else{
i.boderNone=true;
}
// 下一个是大图 不是最后一个
if(item.cookbooklist[0][idx+1].image_type=='1' && idx!=item.cookbooklist[0].length-1){
// 是奇数
if(num%2!=0){
let s=i.index*1+1;
item.cookbooklist[0].splice(idx+1,0,{index:s,boderNone:true})
}
}
}else if(i.image_type=='1'){
i.index=0
num=0
}
})
image_typeArr.push(item)
})
console.log('image_typeArr',image_typeArr);
setTimeout(() => {
this.setData({
check1,
... ... @@ -380,7 +382,7 @@ Page({
assortArr
})
}, 1);
return sortArr;
return image_typeArr;
},
// 获取所有分类下所有菜品列表
getCookList(orderid) {
... ... @@ -402,7 +404,7 @@ Page({
};
App.Advance.GetCookbookByClass(param).then(json => {
let cookbooklist=this.formatCookList(json.data[0].list)
console.log('cookbooklist',cookbooklist);
// console.log('cookbooklist',cookbooklist);
setTimeout(() => {
this.setData({
cookbooklist,
... ... @@ -434,7 +436,22 @@ Page({
this.getNormsLen()
}
},
// 展示做法规格弹窗
showModal() {
this.checkModal.showModal()
},
// 关闭做法规格弹窗
closeModal() {
this.checkModal.closeModal()
},
// 展示菜品分类弹框
showClassifyModal() {
this.classifyModal.showModal()
},
// 关闭菜品分类弹框
closeClassifyModal() {
this.classifyModal.closeModal()
},
/**
* 生命周期函数--监听页面隐藏
*/
... ...
<!--pack-cookbook/pages/index_new.wxml-->
<nav backgroundColor="#4d4e50" color="#fff">{{options.sellerName||'提前点菜'}}</nav>
<loading wx:if="{{isloading}}">数据加载中</loading>
<view class="wrapIine"></view>
<scroll-view style="height:100vh;" class="content" scroll-into-view="{{toView}}" scroll-y="true" scroll-with-animation="true">
<block wx:for="{{cookbooklist}}" wx:key="cookbooklist-key" wx:for-index="indexs">
<view class="dishWrap" id="{{ 'inToView'+item.id}}">
... ... @@ -20,12 +19,12 @@
</block>
<block wx:for="{{item.cookbooklist[0]}}" wx:key="{{item.id}}" wx:for-index="index">
<!-- name_type 1左侧,2右侧,3顶部分开 image_type 1大图,2小图 -->
<view wx:if="{{item.image_type=='1'}}" class="dishWrap">
<view wx:if="{{item.image_type=='1'}}" class="oneBox" data-idx="{{item.index}}">
<view class="dishItem flex-lr">
<view class="dishLeft dishTexts">{{item.name}}</view>
<view class="dishTexts dishRight">{{item.first_name}}</view>
<view class="dishTexts dishRight">味型:price</view>
</view>
<view class="norms">{{item.first_name}}</view>
<view class="norms">味型:{{item.taste}}</view>
<block wx:if="{{type=='B'}}">
<view class="dishItem typeB">
<view class="dishLeft dishTexts">{{item.title}}</view>
... ... @@ -52,28 +51,42 @@
</view>
<view class="practice">{{item.practiceName}}</view>
</view>
<image id="add" src="https://qn.colorcun.com/WechatIMG696.png" mode="aspectFill" class="imgs" data-type="0" bindtap="addition" data-norms="{{normsIndex}}" data-item="{{item}}" data-key="{{index}}" data-indexs="{{indexs}}" />
<image src="https://qn.colorcun.com/WechatIMG696.png" mode="aspectFill" class="imgs" data-type="0" bindtap="addition" data-norms="{{normsIndex}}" data-item="{{item}}" data-key="{{index}}" data-indexs="{{indexs}}" />
</view>
<view wx:if="{{(item.spec.length>1 || item.practice.length>1) || item.norms.length=='0'}}" class="algorithmImg flex-rr">
<view wx:if="{{(item.spec.length>1 || item.practice.length>1) || item.norms.length=='0'}}" class="algorithmImg flex-rr imgbox">
<image src="https://qn.colorcun.com/WechatIMG696.png" class="imgs" mode="aspectFill" bindtap="addition" data-norms="{{normsIndex}}" data-type="1" data-item="{{item}}" data-key="{{index}}" data-indexs="{{indexs}}" />
</view>
<view class="wrapIine"></view>
<!-- <view class="wrapIine"></view> -->
</view>
<view wx:else class="twoBox flex-rs">
<view class="twoItem">
<view wx:else class="twoBox" data-idx="{{item.index}}">
<view class="{{item.boderNone?'borderNone twoItem':'twoItem'}}">
<view class="twoTitle">{{item.name}}</view>
<view class="twoInfo">{{item.info}}{{item.vip}}</view>{{item.quantum}}
<image src="{{item.image}}" mode="aspectFill" />
<view wx:if="{{item.quantum==0}}" class="algorithmImg flex-rr oneImg">
<image src="https://qn.colorcun.com/WechatIMG696.png" class="imgs" mode="aspectFill" bindtap="addition" data-item="{{item}}" data-key="{{index}}" data-indexs="{{indexs}}" />
<view wx:for="{{item.norms}}" wx:for-index="normsIndex" class="algorithmImg flex-lr calculate">
<image src="https://qn.colorcun.com/WechatIMG697.png" mode="aspectFill" class="reduceImg" bindtap="subtraction" data-item="{{item}}" data-norms="{{normsIndex}}" data-key="{{index}}" data-indexs="{{indexs}}" />
<view class="box flex-cc">
<view class="num flex-cc">
{{item.quantum}}<view>{{item.unitName}}</view>
</view>
<view class="practice">{{item.practiceName}}</view>
</view>
<image src="https://qn.colorcun.com/WechatIMG696.png" mode="aspectFill" class="imgs" data-type="0" bindtap="addition" data-norms="{{normsIndex}}" data-item="{{item}}" data-key="{{index}}" data-indexs="{{indexs}}" />
</view>
<view wx:if="{{(item.spec.length>1 || item.practice.length>1) || item.norms.length=='0'}}" class="algorithmImg flex-rr imgbox">
<image src="https://qn.colorcun.com/WechatIMG696.png" class="imgs" mode="aspectFill" bindtap="addition" data-norms="{{normsIndex}}" data-type="1" data-item="{{item}}" data-key="{{index}}" data-indexs="{{indexs}}" />
</view>
<view wx:else class="algorithmImg flex-lr twoImgs">
<image src="https://qn.colorcun.com/WechatIMG697.png" mode="aspectFill" class="reduceImg" bindtap="subtraction" data-item="{{item}}" data-key="{{index}}" data-indexs="{{indexs}}" />
<!-- <view class="wrapIine"></view> -->
<!-- <view class="algorithmImg flex-rr oneImg">
<image src="https://qn.colorcun.com/WechatIMG696.png" mode="aspectFill" class="imgs" bindtap="subtraction" data-item="{{item}}" data-norms="{{normsIndex}}" data-key="{{index}}" data-indexs="{{indexs}}" />
</view>
<view wx:if="{{(item.spec.length>1 || item.practice.length>1) || item.norms.length=='0'}}" class="algorithmImg flex-lr twoImgs">
<image src="https://qn.colorcun.com/WechatIMG697.png" mode="aspectFill" class="imgs" data-type="0" bindtap="addition" data-norms="{{normsIndex}}" data-item="{{item}}" data-key="{{index}}" data-indexs="{{indexs}}" />
<view class="box flex-cc">
<view class="num flex-cc">{{item.quantum}}</view>
</view>
<image src="https://qn.colorcun.com/WechatIMG696.png" mode="aspectFill" class="imgs" bindtap="addition" data-item="{{item}}" data-key="{{index}}" data-indexs="{{indexs}}" />
</view>
<image src="https://qn.colorcun.com/WechatIMG696.png" class="imgs" mode="aspectFill" bindtap="addition" data-norms="{{normsIndex}}" data-type="1" data-item="{{item}}" data-key="{{index}}" data-indexs="{{indexs}}"/>
</view> -->
</view>
</view>
</block>
... ...
... ... @@ -24,12 +24,6 @@ page {
width: 160rpx;
}
.style_round .line {
width: 100rpx;
height: 2rpx;
background: #dbdbdb;
}
.style_round .round {
width: 8rpx;
height: 8rpx;
... ... @@ -43,10 +37,18 @@ page {
}
.dishWrap {
display: flex;
flex-wrap: wrap;
color: #fff;
}
.dishWrap:nth-last-of-type(1){
padding-bottom: 200rpx;
}
.oneBox{
width: 100%;
padding-top: 40rpx;
border-top: 4rpx solid #dbdbdb;
}
.dishTexts {
padding: 0 40rpx;
color: #dbdbdb;
... ... @@ -87,18 +89,20 @@ page {
height: 60rpx;
padding-bottom: 58rpx;
}
.imgbox{
margin-right: 20rpx;
}
.twoItem .algorithmImg{
padding-top: 20rpx;
}
.algorithmImg .imgs {
width: 60rpx;
height: 100%;
margin-right: 60rpx;
}
.algorithmImg .imgs {
padding: 20rpx;
}
.calculate {
padding: 0 60rpx 58rpx 80rpx;
padding: 20rpx 20rpx 58rpx 20rpx;
}
.calculate .imgs {
... ... @@ -123,15 +127,14 @@ page {
}
.twoItem {
width: 50%;
width: 100%;
box-sizing: border-box;
border-bottom: 4rpx solid #dbdbdb;
}
.twoItem:nth-of-type(odd) {
border-right: 4rpx solid #dbdbdb;
}
.borderNone{
border-right: none;
}
.twoTitle {
padding: 30rpx 0 10rpx 20rpx;
color: #dbdbdb;
... ... @@ -161,7 +164,12 @@ page {
}
.twoBox {
padding-bottom: 118rpx;
width: 50%;
border-top:4rpx solid #dbdbdb;
display: flex;
flex-direction: row;
flex-wrap: wrap;
justify-content: flex-start;
}
.twoBox .imgs {
... ... @@ -169,9 +177,8 @@ page {
}
.reduceImg {
width: 90rpx;
width: 70rpx;
height: 8rpx !important;
padding: 20rpx;
}
.fixedBox {
... ...
... ... @@ -39,6 +39,7 @@ Page({
priceInfo:'',
scoreInfo:'',
discount:'',
certificate:'',
dataStr:Date.now()*1/1000,
},
/**
... ... @@ -63,6 +64,17 @@ Page({
"lauchOpts": options, //渠道分析
});
},
// 点击了解更多会员优惠政策
gotoFavourableList(){
let url=util.http_build_query({
sellerName:this.data.seller.name,
sellerid:this.data.seller.sid,
oid:this.data.detail.id
},'/pack-cookbook/pages/favourableList')
wx.navigateTo({
url
})
},
/**
* 生命周期函数--监听页面初次渲染完成
*/
... ... @@ -269,7 +281,7 @@ Page({
}).then(res => {
let data=res.data
console.log('data',data);
let home,chef,marketing,reserve,signboard,store,homeColor,coupon_data,priceInfo,scoreInfo,recharge_list,stringifyUse;
let home,chef,marketing,reserve,signboard,store,homeColor,coupon_data,priceInfo,certificate,scoreInfo,recharge_list,stringifyUse;
chef = data.chef ? JSON.parse(data.chef) : '';
reserve = data.reserve ? JSON.parse(data.reserve) : '';
marketing = data.marketing ? JSON.parse(data.marketing) : '';
... ... @@ -293,10 +305,12 @@ Page({
recharge_list=marketing.recharge_data.recharge_list
if(recharge_list.is_price=='1') priceInfo='会员充值满'+recharge_data.recharge_money+'元赠送'+recharge_list.price+'元余额';
if(recharge_list.is_score=='1') scoreInfo='会员充值满'+recharge_data.recharge_money+'元赠送'+recharge_list.score+'积分';
if(recharge_list.is_coupons=='1' && recharge_data.recharge_list.coupons_names.length>0) certificate=recharge_data.recharge_list.coupons_names.join('、');
console.log('scoreInfo',scoreInfo);
console.log('priceInfo',priceInfo);
this.setData({
recharge_data:marketing.recharge_data
recharge_data:marketing.recharge_data,
certificate
})
console.log('recharge_data',recharge_data);
}
... ...
<!--pages/customer/detail_owner_invitation_new.wxml-->
<wxs src="../../utils/util.wxs" module="util" />
<import src="../tpl/invitation"></import>
<nav hasHome class="navhome" place="{{true}}">
</nav>
... ... @@ -229,7 +228,7 @@
{{scoreInfo}}{{recharge_data.recharge_list.is_coupons=='0'?'。':';'}}
</view>
<view class="bottom" wx:if="{{recharge_data.recharge_list.is_coupons=='1'}}">
{{recharge_data.recharge_list.is_coupons=='1'?'会员充值满'+marketing.recharge_data.recharge_money+'元赠送优惠券':''}}。
{{recharge_data.recharge_list.is_coupons=='1'?'会员充值满'+marketing.recharge_data.recharge_money+'元赠送'+certificate:''}}。
</view>
</view>
<navigator url="/pack-activity/pack/vipRecharge?id={{recharge_data.id}}&name={{seller.name}}&sid={{seller.sid}}&oid={{detail.id}}&types=1" hover-class="navigator-hover">
... ... @@ -244,9 +243,9 @@
<view class="news" wx:if="{{marketing && marketing.wecomle}}">
{{marketing?marketing.wecomle:''}}
</view>
<!-- <view wx:if="{{marketing.is_link}}" class="font24r favouredPolicy">
<view wx:if="{{marketing.is_link}}" class="font24r favouredPolicy" bindtap="gotoFavourableList">
点击了解更多会员优惠政策
</view> -->
</view>
<text style="color: #999; font-size: 26rpx;font-family: PingFang SC;">
\n
周到安排提供技术支持 400 000 9690
... ...
... ... @@ -543,7 +543,7 @@
color: #000000;
font-family: FangSong;
font-size: 40rpx;
margin: 40rpx 0 0 0;
margin: 40rpx 0 100rpx 0;
}
.vips .text {
... ... @@ -555,7 +555,7 @@
}
.favouredPolicy {
width: 60%;
width: 45%;
color: #999999;
font-family: PingFang SC;
font-weight: 500;
... ...
... ... @@ -680,4 +680,9 @@ export default {
'App.Activity.SetNewRechargeOrderByIsComment':{
openid:'openid'
},
// 新充值活动列表
'App.Activity.GetNewRechargeList':{
openid:'openid'
},
}
\ No newline at end of file
... ...