Commit 5dde238d by wjw

ww-畅玩界面接口修改

parents 93370b34 db659438
Showing with 2227 additions and 933 deletions
const App = getApp()
Page({
data: {
imageBase: App.globalData.appImageBase,
resourcesBase: App.globalData.appResourcesBase,
option: {},
userInfo: {},
greetingName: '', // 问候姓名
greetingMessage: '', // 问候消息
phone: '13316748039',
hotline: false, //客服热线
......@@ -17,8 +21,11 @@ Page({
onLoad: function (option) {
this.setData({
option: option
option: option,
userInfo: wx.getStorageSync('userInfo')
})
this.setGreetingMessage()
// formPage=order&shopAppId=1&commodityType=5
},
......@@ -28,6 +35,54 @@ Page({
},
/**
* 问候消息
* @function
* @param {object} - funcEvent
* @returns
*/
setGreetingMessage: function () {
let funcHour = Number(App.modular.miment().format('hh'))
let funcMinute = Number(App.modular.miment().format('mm'))
let funcTime = [{
'min': 0,
'max': 12,
'message': '上午好!'
}, {
'min': 12,
'max': 18,
'message': '下午好!'
}, {
'min': 18,
'max': 24,
'message': '晚上好!'
}]
let funcIndex = 0
for (let i = 0, l = funcTime.length; i < l; i ++) {
// 判断小时区间
if (funcTime[i].min < funcHour && funcHour <= funcTime[i].max) {
// 如果小时区间等于该区间最大数值,那么分钟不为零时递增一个区间
if (funcHour === funcTime[i].max && 0 < funcMinute) {
funcIndex = i + 1
} else {
funcIndex = i
}
break
}
}
let funcGreetingName = this.data.userInfo.name
if (funcGreetingName.length > 5) funcGreetingName = funcGreetingName.substring(0, 5) + '...'
if (funcGreetingName === '') funcGreetingName = 'Hello,'
this.setData({
greetingName: funcGreetingName,
greetingMessage: funcTime[funcIndex].message
})
},
/**
* 查询推荐商品
* @function
* @param {object} - funcEvent
......@@ -190,6 +245,7 @@ Page({
'logo': funcShopId[i].logo,
'cover': funcShopId[i].cover,
'shopType': funcShopType,
'commodityLogo': funcShopId[i].commodityLogo
}
wx.setStorageSync('shopInfoBuffer', funcShopInfo)
break
......
<navigation class="navigation"></navigation>
<view class="container">
<view class="title">
<image src="{{resourcesBase + 'commodity/home/title.png'}}" class="title_img"></image>
<!-- 问候订制 -->
<view class="greeting">
<text>{{greetingName + greetingMessage}}</text>
</view>
<!-- 商店 -->
......
......@@ -11,12 +11,6 @@
text-align: left;
}
.title_img {
width: 214rpx;
height: 50rpx;
margin-top: 128rpx;
}
.greetings_body {
width: 750rpx;
height: height;
......@@ -182,14 +176,17 @@
font-weight: 500;
}
.title {
.greeting {
width: 750rpx;
height: 280rpx;
padding: 140rpx 46rpx 130rpx 46rpx;
}
.title image {
width: 750rpx;
height: 80rpx;
.greeting text {
height: 82rpx;
font-size: 58rpx;
font-weight: 500;
line-height: 82rpx;
color: #15191F;
}
/* 商店样式 */
......
......@@ -39,15 +39,15 @@ Page({
})
this.setSideBarStyle()
},
onShow: function () {
this.resetShoppingCart()
this.setCartAnimation()
this.setShopInfo()
this.querySideBar()
},
onShow: function () {
if (wx.getStorageSync('shoppingCartBuffer').length === 0) {
this.resetShoppingCart()
} else {
......@@ -116,6 +116,24 @@ Page({
},
setShopInfo: function () {
if (this.data.option.formPage === 'order') {
let funcAppId = Number(this.data.option.shopAppId)
for (let i = 0, l = App.globalData.shopId.length; i < l; i++) {
if (funcAppId === App.globalData.shopId[i].appId) {
let funcShopInfo = {
'appId': App.globalData.shopId[i].appId,
'id': App.globalData.shopId[i].id,
'name': App.globalData.shopId[i].name,
'logo': App.globalData.shopId[i].logo,
'shopType': Number(this.data.option.commodityType)
}
wx.setStorageSync('shopInfoBuffer', funcShopInfo)
break
}
}
}
let funcShopInfo = wx.getStorageSync('shopInfoBuffer')
this.setData({
shopInfo: funcShopInfo
......@@ -346,8 +364,6 @@ Page({
funcItem = this.data.commodityDetail
}
console.log(funcItem)
// 判断购物车中是否存在同类商品
// 修改相应的商品数量
if (funcShoppingCart.length !== 0) {
......
......@@ -94,6 +94,7 @@ Page({
'priceType': 1,
'describe': funcResponse[i].synopsis,
'tags': funcResponse[i].tags,
'notificationId': funcResponse[i].notificationId, // 下单须知
}
let funcUserType = wx.getStorageSync('userInfo').userType
......@@ -135,6 +136,7 @@ Page({
'priceType': 1,
'describe': funcResponse[i].synopsis,
'tags': funcResponse[i].tags,
'notificationId': funcResponse[i].notificationId, // 下单须知
}
let funcUserType = wx.getStorageSync('userInfo').userType
......
......@@ -2,137 +2,154 @@ let App = getApp()
Page({
data: {
shopInfo: {},
commodityTypeId: '',
commodityList: [],
imageBase: App.globalData.appImageBase,
resourcesBase: App.globalData.appResourcesBase,
winLoading: false,
projectType: 1, // 1 儿童营地,2 - SPA,3 - 文创, 5 - 餐品, 6 - 活动, 7 - 观影
banner: [],
bannerIndex: 0,
banner: [
{
id: 0,
img: ''
},
{
id: 1,
img: ''
},
shopAppId: [
{
id: 2,
img: ''
'appId': 1,
'commodityType': 3,
}, {
'appId': 7,
'commodityType': 2,
}, {
'appId': 3,
'commodityType': 1,
}
],
projectAll: {
projectArt: {
projectType: 3,
btn: '购买门票',
titleImg: '',
list: []
},
projectSpa: {
projectType: 2,
btn: '查看服务',
list: []
},
projectChild: {
projectType: 1,
btn: '购买门票',
list: []
}
}
shopCommodityData: [],
},
onLoad: function (options) {
this.setData({
shopInfo: wx.getStorageSync('shopInfoBuffer')
})
this.queryCommodityTab()
onLoad: function (options) {
for (let i = 0, l = this.data.shopAppId.length; i < l; i++) {
this.queryPassCheck(this.data.shopAppId[i].appId, this.data.shopAppId[i].commodityType, i)
}
},
queryCommodityTab: function () {
App.wxRequest({
url: '/api/v1/commodity/getClassifys',
data: {
'officeId': this.data.shopInfo.id,
'genre': this.data.shopInfo.shopType,
},
success: (response) => {
let funcResponse = response.data
this.setData({
commodityTypeId: funcResponse[0].id
})
this.queryCommodity()
queryPassCheck: function (funcShopAppId, funcCommodityType, funcIndex) {
let funcShopId = ''
for (let i = 0, l = App.globalData.shopId.length; i < l; i++) {
if (funcShopAppId === App.globalData.shopId[i].appId) {
funcShopId = App.globalData.shopId[i].id
break
}
})
},
queryCommodity: function () {
this.setData({
shopInfo: wx.getStorageSync('shopInfoBuffer')
})
}
App.wxRequest({
url: '/api/v1/commodity/getCommoditys',
data: {
'officeId': this.data.shopInfo.id,
'classifyId': this.data.commodityTypeId,
'genre': this.data.shopInfo.shopType,
'officeId': funcShopId,
'genre': funcCommodityType,
},
success: (response) => {
let funcCommodityList = []
let funcResponse = response.data
for (let i = 0, l = funcResponse.length; i < l; i++) {
let funcItem = {
'id': funcResponse[i].id, // 商品标识
'typeId': funcResponse[i].classifyId, // 商品分类标识
'inventoriesId': funcResponse[i].inventorie[0].inventoriesId, // 仓库标识
'name': funcResponse[i].name,
'cover': funcResponse[i].coverImg, // 商品封面
'price': funcResponse[i].inventorie[0].sightseerPrice, // 普通价
'priceText': App.modular.utils.formatAmount(funcResponse[i].inventorie[0].sightseerPrice), // 普通价文本格式
'priceSpecial': funcResponse[i].inventorie[0].ownerPrice, // 业主价
'priceSpecialText': App.modular.utils.formatAmount(funcResponse[i].inventorie[0].ownerPrice), // 业主价文本格式
'priceDiscount': funcResponse[i].inventorie[0].price, // 活动价
'priceDiscountText': App.modular.utils.formatAmount(funcResponse[i].inventorie[0].price), // 活动价文本格式
'priceType': '',
'describe': funcResponse[i].synopsis,
'tags': funcResponse[i].tags,
}
let funcUserType = wx.getStorageSync('userInfo').userType
// 根据后台判断价格显示类型
// 活动价优先级最高,如果存在活动价,则只显示活动价和普通价
if (funcItem.priceDiscount) {
funcItem.priceType = 1
} else {
// 活动价不存在,进一步判断普通价与业主价是否一致,如果不一致,则显示两者
if (funcItem.price !== funcItem.priceSpecial && funcUserType) {
funcItem.priceType = 2
} else {
funcItem.priceType = 3
switch (funcCommodityType) {
// 年卡月卡
case 1:
for (let i = 0, l = funcResponse.length; i < l; i++) {
let funcItem = {
'id': funcResponse[i].id, // 商品标识
'typeId': funcResponse[i].genre, // 商品类型
'inventoriesId': funcResponse[i].inventorie[0].inventoriesId, // 仓库标识
'name': funcResponse[i].name,
'cover': funcResponse[i].coverImg, // 商品封面
'price': funcResponse[i].inventorie[0].sightseerPrice, // 普通价
'priceText': App.modular.utils.formatAmount(funcResponse[i].inventorie[0].sightseerPrice), // 普通价文本格式
'priceSpecial': funcResponse[i].inventorie[0].ownerPrice, // 业主价
'priceSpecialText': App.modular.utils.formatAmount(funcResponse[i].inventorie[0].ownerPrice), // 业主价文本格式
'priceDiscount': funcResponse[i].inventorie[0].price, // 活动价
'priceDiscountText': App.modular.utils.formatAmount(funcResponse[i].inventorie[0].price), // 活动价文本格式
'priceType': 1,
'describe': funcResponse[i].synopsis,
'tags': funcResponse[i].tags,
'notificationId': funcResponse[i].notificationId, // 下单须知
}
let funcUserType = wx.getStorageSync('userInfo').userType
// 根据后台判断价格显示类型
// 活动价优先级最高,如果存在活动价,则只显示活动价和普通价
if (funcItem.priceDiscount) {
funcItem.priceType = 1
} else {
// 活动价不存在,进一步判断普通价与业主价是否一致,如果不一致,则显示两者
if (funcItem.price !== funcItem.priceSpecial && funcUserType) {
funcItem.priceType = 2
} else {
funcItem.priceType = 3
}
}
funcCommodityList.push(funcItem)
}
break
// 普通商品
case 2:
// 门票商品
case 3:
default:
for (let i = 0, l = funcResponse.length; i < l; i++) {
let funcItem = {
'id': funcResponse[i].id, // 商品标识
'typeId': funcResponse[i].genre, // 商品分类标识
'inventoriesId': funcResponse[i].inventoriesId, // 仓库标识
'name': funcResponse[i].name,
'cover': funcResponse[i].coverImg, // 商品封面
'price': funcResponse[i].sightseerPrice, // 普通价
'priceText': App.modular.utils.formatAmount(funcResponse[i].sightseerPrice), // 普通价文本格式
'priceSpecial': funcResponse[i].ownerPrice, // 业主价
'priceSpecialText': App.modular.utils.formatAmount(funcResponse[i].ownerPrice), // 业主价文本格式
'priceDiscount': funcResponse[i].price, // 活动价
'priceDiscountText': App.modular.utils.formatAmount(funcResponse[i].price), // 活动价文本格式
'priceType': 1,
'describe': funcResponse[i].synopsis,
'tags': funcResponse[i].tags,
'notificationId': funcResponse[i].notificationId, // 下单须知
}
let funcUserType = wx.getStorageSync('userInfo').userType
// 根据后台判断价格显示类型
// 活动价优先级最高,如果存在活动价,则只显示活动价和普通价
if (funcItem.priceDiscount) {
funcItem.priceType = 1
} else {
// 活动价不存在,进一步判断普通价与业主价是否一致,如果不一致,则显示两者
if (funcItem.price !== funcItem.priceSpecial && funcUserType) {
funcItem.priceType = 2
} else {
funcItem.priceType = 3
}
}
funcCommodityList.push(funcItem)
}
}
funcCommodityList.push(funcItem)
break
}
let funcShopCommodityData = this.data.shopCommodityData
funcShopCommodityData[funcIndex] = funcCommodityList
this.setData({
winLoading: false,
commodityList: funcCommodityList,
shopCommodityData: funcShopCommodityData,
})
},
})
},
onBuy: function () {
console.log(JSON.stringify(this.data.shopCommodityData) )
},
/**
* banner 切换图片同步自定义标识组件
* @function
* @param {object} - funcEvent
* @returns
*/
onSwiperChange: function (funcEvent) {
eventSwiperChange: function (funcEvent) {
this.setData({
bannerIndex: funcEvent.detail.current
})
......
......@@ -2,7 +2,7 @@
<view class="container">
<view class="banner">
<swiper autoplay circular class="banner-swiper" indicator-dots="{{false}}" interval="5000" duration="500" bindchange="onSwiperChange">
<swiper autoplay circular class="banner-swiper" indicator-dots="{{false}}" interval="5000" duration="500" bindchange="eventSwiperChange">
<block wx:for="{{banner}}" wx:for-index="index" wx:for-item="item" wx:key="index">
<swiper-item class="banner-swiper-item" data-item="{{item}}" bindtap="bannerClick">
{{item.id}}
......@@ -16,51 +16,203 @@
</view>
</view>
<block wx:for="{{projectAll}}" wx:for-index="key" wx:for-item="item">
<view class="project-wrapper">
<view class="project-title">
<image src="{{item.titleImg}}"></image>
<view class="shop-list">
<!-- 海错图门票 -->
<view class="shop-item">
<view class="shop-name row align-c">
<image src="{{resourcesBase + 'shop/logo-1.png'}}" style="width: 32rpx; height: 66rpx;"></image>
<text>故宫里的海洋世界—海错图</text>
</view>
<block wx:for="{{item.list}}">
<view class="project-item row">
<view class="project-cover">
<image src="{{item.cover}}"></image>
</view>
<view class="project-content row">
<view class="project-info">
<view class="project-name">
<text>{{item.name}}</text>
</view>
<view class="project-msg col">
<block wx:for="{{item.msg}}" wx:for-index="k" wx:for-item="msg">
<text>{{msg}}</text>
</block>
</view>
<view class="commodity-list">
<block wx:for="{{shopCommodityData[0]}}" wx:for-index="index" wx:for-item="item" wx:key="index">
<view class="commodity-item row">
<view class="commodity-cover">
<image src="{{item.cover}}"></image>
</view>
<view class="commodity-describe">
<text>{{item.name}}</text>
<text>{{item.describe}}</text>
</view>
<view class="project-price-wrapper col align-e">
<view class="project-price-special row align-c">
<view class="price-wrap">
<text class="price-symbol">¥</text>
<text class="price-special">{{item.priceSpecial}}</text>
<text class="price-symbol">{{'/' + item.unit}}</text>
<view class="commodity-price">
<!-- 活动价样式 -->
<block wx:if="{{item.priceType === 1}}">
<view>
<text class="commodity-price-symbol">¥</text>
<text class="commodity-price-value">{{item.priceDiscountText}}</text>
<text class="commodity-price-special">业主价</text>
</view>
<view class="commodity-price-through row con-e align-c">
<text>¥</text>
<text>{{item.priceText}}</text>
</view>
<view class="price-special-msg">
<text>业主价</text>
</block>
<!-- 业主价样式 -->
<block wx:if="{{item.priceType === 2}}">
<view>
<text class="commodity-price-symbol">¥</text>
<text class="commodity-price-value">{{item.priceSpecialText}}</text>
<text class="commodity-price-special">业主价</text>
</view>
<view class="commodity-price-through row con-e align-c">
<text>¥</text>
<text>{{item.priceText}}</text>
</view>
</block>
<!-- 普通价样式 -->
<block wx:if="{{item.priceType === 3}}">
<view>
<text class="commodity-price-symbol">¥</text>
<text class="commodity-price-value">{{item.priceText}}</text>
<text></text>
</view>
<view class="commodity-price-through row con-e align-c">
<text></text>
<text></text>
</view>
</block>
<view class="commodity-price-operation row con-e align-c">
<button class="row con-c align-c" bindtap="onBuy">购买门票</button>
</view>
<view class="project-price-old">
<text class="price-old">{{'¥' + item.price}}</text>
<text class="price-symbol-old">/人</text>
</view>
</view>
</block>
</view>
</view>
<!-- 水养韵苑 -->
<view class="shop-item">
<view class="shop-name row align-c">
<image src="{{resourcesBase + 'shop/logo-7.png'}}" style="width: 50rpx; height: 62rpx;"></image>
<text>元养水韵SPA</text>
</view>
<view class="commodity-list">
<block wx:for="{{shopCommodityData[1]}}" wx:for-index="index" wx:for-item="item" wx:key="index">
<view class="commodity-item row">
<view class="commodity-cover">
<image src="{{item.cover}}"></image>
</view>
<view class="commodity-describe">
<text>{{item.name}}</text>
<text>{{item.describe}}</text>
</view>
<view class="commodity-price">
<!-- 活动价样式 -->
<block wx:if="{{item.priceType === 1}}">
<view >
<text class="commodity-price-symbol">¥</text>
<text class="commodity-price-value">{{item.priceDiscountText}}</text>
<text class="commodity-price-special">业主价</text>
</view>
<view class="commodity-price-through row con-e align-c">
<text>¥</text>
<text>{{item.priceText}}</text>
</view>
</block>
<!-- 业主价样式 -->
<block wx:if="{{item.priceType === 2}}">
<view>
<text class="commodity-price-symbol">¥</text>
<text class="commodity-price-value">{{item.priceSpecialText}}</text>
<text class="commodity-price-special">业主价</text>
</view>
<view class="commodity-price-through row con-e align-c">
<text>¥</text>
<text>{{item.priceText}}</text>
</view>
</block>
<!-- 普通价样式 -->
<block wx:if="{{item.priceType === 3}}">
<view>
<text class="commodity-price-symbol">¥</text>
<text class="commodity-price-value">{{item.priceText}}</text>
<text></text>
</view>
<view class="commodity-price-through row con-e align-c">
<text></text>
<text></text>
</view>
</block>
<view class="commodity-price-operation row con-e align-c">
<button class="row con-c align-c" bindtap="onBuy">购买门票</button>
</view>
<view class="project-buy-wrapper col align-e">
<view class="project-buy-btn">
<text>{{item.btn}}</text>
</view>
</view>
</block>
</view>
</view>
<!-- 儿童营地 -->
<view class="shop-item">
<view class="shop-name row align-c">
<image src="{{resourcesBase + 'shop/logo-3.png'}}" style="width: 64rpx; height: 50rpx;"></image>
<text>元养水韵SPA</text>
</view>
<view class="commodity-list">
<block wx:for="{{shopCommodityData[2]}}" wx:for-index="index" wx:for-item="item" wx:key="index">
<view class="commodity-item row">
<view class="commodity-cover">
<image src="{{item.cover}}"></image>
</view>
<view class="commodity-describe">
<text>{{item.name}}</text>
<text>{{item.describe}}</text>
</view>
<view class="commodity-price">
<!-- 活动价样式 -->
<block wx:if="{{item.priceType === 1}}">
<view>
<text class="commodity-price-symbol">¥</text>
<text class="commodity-price-value">{{item.priceDiscountText}}</text>
<text class="commodity-price-special">业主价</text>
</view>
<view class="commodity-price-through row con-e align-c">
<text>¥</text>
<text>{{item.priceText}}</text>
</view>
</block>
<!-- 业主价样式 -->
<block wx:if="{{item.priceType === 2}}">
<view>
<text class="commodity-price-symbol">¥</text>
<text class="commodity-price-value">{{item.priceSpecialText}}</text>
<text class="commodity-price-special">业主价</text>
</view>
<view class="commodity-price-through row con-e align-c">
<text>¥</text>
<text>{{item.priceText}}</text>
</view>
</block>
<!-- 普通价样式 -->
<block wx:if="{{item.priceType === 3}}">
<view>
<text class="commodity-price-symbol">¥</text>
<text class="commodity-price-value">{{item.priceText}}</text>
<text></text>
</view>
<view class="commodity-price-through row con-e align-c">
<text></text>
<text></text>
</view>
</block>
<view class="commodity-price-operation row con-e align-c">
<button class="row con-c align-c" bindtap="onBuy">购买门票</button>
</view>
</view>
</view>
</view>
</block>
</block>
</view>
</view>
</block>
</view>
</view>
......@@ -26,110 +26,132 @@
left: 0;
}
.project-wrapper {
/* 门店样式 */
.shop-list {
background: #F3F4F6;
}
.shop-item {
width: 670rpx;
margin-top: 48rpx;
padding: 36rpx 32rpx 14rpx;
background-color: #fff;
margin: 48rpx 40rpx 0 40rpx;
padding: 32rpx;
border-radius: 4px;
background: #FFFFFF;
}
.project-title {
height: 88rpx;
background-color: #ccc;
.shop-name {
width: 606rpx;
height: 70rpx;
}
.project-item {
margin-top: 48rpx;
padding-bottom: 50rpx;
border-bottom: 1px solid #E2E7EF;
.shop-name image {
margin-right: 20rpx;
}
/* 商品信息样式 */
.commodity-item {
height: 214rpx;
margin-top: 50rpx;
border-bottom: 1px #E2E7EF solid;
}
.project-item:last-child {
.commodity-item:last-child {
border-bottom: none;
}
.project-cover {
.commodity-cover image {
width: 128rpx;
height: 128rpx;
background-color: #ccc;
margin-right: 24rpx;
background: #999999;
}
.project-content {
margin-left: 24rpx;
flex: 1;
.commodity-describe {
position: relative;
flex-grow: 1;
}
.project-info {
}
.project-name {
height: 46rpx;
color: #15191F;
.commodity-describe text:nth-child(1) {
height: 42rpx;
font-size: 30rpx;
font-weight: 600;
font-weight: 500;
line-height: 42rpx;
color: #15191F;
overflow: hidden;
text-overflow: ellipsis;
}
.project-msg text {
margin-top: 8rpx;
color: #959DA9;
.commodity-describe text:nth-child(2) {
position: absolute;
top: 54rpx;
left: 0;
max-width: 320rpx;
max-height: 120rpx;
border: 1px red solid;
background: #FFFFFF;
overflow: hidden;
font-size: 22rpx;
}
.project-price-wrapper {
flex: 1;
height: 100%;
width: 100%;
}
.project-price-special {
}
.price-wrap {
color: #EF4E4E;
letter-spacing: 2rpx;
display: table-cell;
vertical-align: bottom;
font-weight: 400;
line-height: 40rpx;
word-wrap: break-word;
color: #959DA9;
}
.price-symbol {
.commodity-price-symbol {
height: 32rpx;
font-size: 24rpx;
font-weight: 500;
line-height: 32rpx;
color: #EF4E4E;
}
.price-special {
font-size: 34rpx;
.commodity-price-value {
height: 32rpx;
font-size: 32rpx;
font-weight: 500;
line-height: 32rpx;
color: #EF4E4E;
}
.price-special-msg {
.commodity-price-special {
display: inline-block;
width: 78rpx;
height: 32rpx;
color: #E8D0AF;
font-size: 18rpx;
margin: 0 0 0 8rpx;
border-radius: 4px;
background: linear-gradient(180deg, #3F4357 0%, #252532 100%);
text-align: center;
font-size: 18rpx;
font-weight: 500;
line-height: 32rpx;
background: linear-gradient(180deg, #3F4357 0%, #252532 100%);
border-radius: 4rpx;
color: #E8D0AF;
}
.project-price-old {
.commodity-price-through {
margin-top: 12rpx;
}
.commodity-price-through text {
height: 32rpx;
color: #959DA9;
font-size: 22rpx;
font-weight: 400;
line-height: 32rpx;
text-decoration: line-through;
color: #959DA9;
}
.price-old {
font-size: 22rpx;
}
.price-symbol-old {
font-size: 20rpx;
}
.project-buy-wrapper {
flex: 1;
}
.project-buy-btn {
.commodity-price-operation button {
width: 120rpx;
height: 56rpx;
margin-top: 24rpx;
color: #fff;
font-size: 22rpx;
line-height: 56rpx;
text-align: center;
background-color: #86C5E1;
border-radius: 4rpx;
}
border-radius: 4px;
background: #86C5E1;
image {
width: 100%;
height: 100%;
}
font-size: 22rpx;
font-weight: 500;
line-height: 32rpx;
color: #FFFFFF;
}
\ No newline at end of file
......@@ -7,7 +7,6 @@ Page({
shopId: '',
shopName: '',
shopLogo: '',
shoppingCart: [], // 购物车列表
shoppingCartSelection: 0, // 购物车选择数量
......@@ -101,8 +100,7 @@ Page({
let funcShopInfo = wx.getStorageSync('shopInfoBuffer')
this.setData({
shopId: funcShopInfo.id,
shopName: funcShopInfo.name,
shopLogo: funcShopInfo.logo
shopLogo: funcShopInfo.commodityLogo
})
console.log(this.data.shopLogo)
......@@ -161,7 +159,7 @@ Page({
let funcShoppingCart = this.data.shoppingCart
if (funcShoppingCart[funcIndex].quantityMax <= funcShoppingCart[funcIndex].quantity) return
funcShoppingCart[funcIndex].quantity = funcShoppingCart[funcIndex].quantity + 1
funcShoppingCart[funcIndex].quantity = funcShoppingCart[funcIndex].quantity + 100
this.setData({
shoppingCart: funcShoppingCart
})
......
......@@ -3,9 +3,8 @@
<l-toast show="{{winToast}}" icon="error" title="请选购商品后结算"></l-toast>
<view class="container" wx:if="{{shoppingCart.length > 0}}">
<view class="shop-info row align-c">
<image wx:if="{{shopLogo}}" src="{{resourcesBase + shopLogo}}" mode="left"></image>
<text>{{shopName}}</text>
<view class="shop-info row con-b align-c">
<image wx:if="{{shopLogo}}" src="{{resourcesBase + shopLogo}}" mode="widthFix"></image>
<text bindtap="onClearn">清空</text>
</view>
......
......@@ -12,33 +12,23 @@
.shop-info {
width: 750rpx;
height: 116rpx;
padding: 16rpx 40rpx;
height: 110rpx;
padding: 0 30rpx 0 40rpx;
font-size: 30rpx;
}
.shop-info > image {
max-width: 120rpx;
height: 100%;
width: 380rpx;
height: 110rpx;
}
.shop-info > text:nth-child(2) {
flex-grow: 1;
.shop-info > text {
height: 42rpx;
font-size: 30rpx;
font-weight: 500;
line-height: 42rpx;
color: #586A46;
}
.shop-info > text:nth-child(3) {
flex-grow: 1;
height: 100rpx;
text-align: right;
line-height: 100rpx;
color: #656e7b;
}
.l-content {
color: #959da9 !important;
}
......@@ -134,6 +124,8 @@
font-weight: 400;
line-height: 32rpx;
color: #959DA9;
text-decoration: line-through;
}
.list-item-quantity {
......
......@@ -71,7 +71,7 @@ Page({
App.login({
success: function (token) {
that.getBanner()
that.loadVisiterPlanList()
// that.loadVisiterPlanList()
that.getNoticeList()
that.getBrands()
}
......@@ -237,82 +237,82 @@ Page({
},
// 游客攻略列表
loadVisiterPlanList() {
this.data.loading = true
var that = this
App.wxRequest({
url: '/api/v1/strategy/getList',
data: { pageSize: that.data.pageSize+'', pageNo: that.data.pageNo+''},
success: function (res) {
console.log(res)
that.setData({
loading: false
})
if (res.data.list.length > 0) {
let count = that.data.strategyOriginList.length
if (that.data.pageNo == 1) {
count = 0
}
let tempArray = []
for(let i = 0; i < res.data.list.length; i++) {
let item = res.data.list[i]
let strategy = {
id: item.id,
image: (count == 0 && i == 0) ? item.topImg : item.cover,
title: item.title,
date: item.updateDate,
index: count + i - 1,
}
tempArray.push(strategy)
}
if (that.data.pageNo == 1) {
var newArr = tempArray.slice(1)
var firstItem = tempArray[0]
that.setData({
moreData: (tempArray.length >= Number(res.data.count)) ? false : true,
['strategyFirstItem.id']: firstItem.id,
['strategyFirstItem.image']: firstItem.image,
['strategyFirstItem.title']: firstItem.title,
['strategyFirstItem.date']: firstItem.date,
strategyList: newArr,
strategyOriginList: tempArray,
})
} else {
that.setData({
moreData: (count + tempArray.length >= Number(res.data.count)) ? false : true,
strategyOriginList: that.data.strategyOriginList.concat(tempArray),
strategyList: tempArray,
})
}
// 游客攻略瀑布列表
// wx.lin.renderWaterFlow(that.data.strategyList, that.data.pageNo == 1 ? true : false, () => {})
} else {
}
// // 游客攻略列表
// loadVisiterPlanList() {
// this.data.loading = true
// var that = this
// App.wxRequest({
// url: '/api/v1/strategy/getList',
// data: { pageSize: that.data.pageSize+'', pageNo: that.data.pageNo+''},
// success: function (res) {
// console.log(res)
// that.setData({
// loading: false
// })
// if (res.data.list.length > 0) {
// let count = that.data.strategyOriginList.length
// if (that.data.pageNo == 1) {
// count = 0
// }
// let tempArray = []
// for(let i = 0; i < res.data.list.length; i++) {
// let item = res.data.list[i]
// let strategy = {
// id: item.id,
// image: (count == 0 && i == 0) ? item.topImg : item.cover,
// title: item.title,
// date: item.updateDate,
// index: count + i - 1,
// }
// tempArray.push(strategy)
// }
// if (that.data.pageNo == 1) {
// var newArr = tempArray.slice(1)
// var firstItem = tempArray[0]
// that.setData({
// moreData: (tempArray.length >= Number(res.data.count)) ? false : true,
// ['strategyFirstItem.id']: firstItem.id,
// ['strategyFirstItem.image']: firstItem.image,
// ['strategyFirstItem.title']: firstItem.title,
// ['strategyFirstItem.date']: firstItem.date,
// strategyList: newArr,
// strategyOriginList: tempArray,
// })
// } else {
// that.setData({
// moreData: (count + tempArray.length >= Number(res.data.count)) ? false : true,
// strategyOriginList: that.data.strategyOriginList.concat(tempArray),
// strategyList: tempArray,
// })
// }
// // 游客攻略瀑布列表
// // wx.lin.renderWaterFlow(that.data.strategyList, that.data.pageNo == 1 ? true : false, () => {})
// } else {
// }
},
fail: function(err) {
that.setData({
loading: false
})
}
})
},
onReachBottom: function() {
// console.log('触底啦')
if (this.data.loading || !this.data.moreData) {
return
}
this.data.pageNo += 1
this.loadVisiterPlanList()
},
// },
// fail: function(err) {
// that.setData({
// loading: false
// })
// }
// })
// },
// onReachBottom: function() {
// // console.log('触底啦')
// if (this.data.loading || !this.data.moreData) {
// return
// }
// this.data.pageNo += 1
// this.loadVisiterPlanList()
// },
// 最新动态列表
getNoticeList() {
......
......@@ -23,7 +23,7 @@
<view class="banner-notice login-notice row align-c" bindtap="onLogin" wx:if="{{!isLogin}}">
<view class="row align-c">
<image src="./image/inform.png"></image>
<image src="/image/wechat.png"></image>
<text>微信登陆</text>
</view>
<view class="row con-b align-c">
......
......@@ -4,7 +4,7 @@ const App = getApp()
Page({
data: {
imageBase: App.globalData.appImageBase,
passListType: 0, // 0为单张卡 1为多张卡
passListType: 1, // 0为单张卡 1为多张卡
privateStatus: true,
swiperCurrent: 0,
passList: [
......
......@@ -77,7 +77,8 @@ Page({
img: '',
title: '日落观光游船体验活动之船行碧波共赏美景',
num: 3
}]
}],
orderListBackup: []
},
close() {
......@@ -109,7 +110,59 @@ Page({
// 去核销
goCouponInput(event) {
wx.navigateTo({
url: '/pages/pay/coupon-input/coupon-input',
url: '/pages/pay/coupon-input/coupon-input',
})
},
//获取待使用订单
getWillUseOrders() {
let that = this
App.wxRequest({
url: '/api/v1/order/getOrderList',
data: {
goodType: "", //数据字典(good_type) 商品分类(全部为"")
status: 2, //状态(-1已取消0未付款1未发货2待使用3已使用4已过期)
pageNo: 1,
pageSize: -1
},
success: function (res) {
let tmpArr = []
console.log('daishiyongdingdan', res);
let list = res.data
let listBackUp = JSON.parse(JSON.stringify(list)) //备份数据
let orderList = `myOrder.artOrder.orderList`
list.length = 1
that.setData({
[orderList]: list,
orderListBackup: listBackUp
})
}
})
},
//获取卡数据
getCardList() {
let that = this
App.wxRequest({
url: '/api/v1/volume/getVolumeList',
data: {
status: "", //0已过期1待使用2已使用(""全部)
pageNo: 1,
pageSize: -1
},
success: function (res) {
let tmpArr = []
console.log('卡片数据', res);
let list = res.data.map(item => {
return item
})
let passOrder = `myOrder.passOrder`
that.setData({
[passOrder]: list
})
}
})
},
......@@ -145,6 +198,8 @@ Page({
userInfo: funcUserInfo
})
this.getMyActivityList()
this.getCardList()
this.getWillUseOrders()
} else {
this.setData({
isRegister: false,
......@@ -328,9 +383,30 @@ Page({
//查看更多
onShowMoreOrder: function () {
let showMoreOrder = !this.data.showMoreOrder
let orderList = `myOrder.artOrder.orderList`
console.log(JSON.parse(JSON.stringify(this.data.orderListBackup)));
if (showMoreOrder) {
// 展开
this.setData({
[orderList]: JSON.parse(JSON.stringify(this.data.orderListBackup)),
})
} else {
// 收起
let list = JSON.parse(JSON.stringify(this.data.orderListBackup))
list.length = 1
this.setData({
[orderList]: list,
})
}
this.setData({
showMoreOrder
showMoreOrder,
})
},
onShowMoreActivity: function () {
let showMoreActivity = !this.data.showMoreActivity
......
......@@ -128,41 +128,40 @@
<view class="pass-bg-two" wx:if="{{myOrder.passOrder.length > 1}}"></view>
<view class="pass-logo-wrapper row align-c">
<image src="{{myOrder.passOrder[0].logo}}"></image>
<text>{{myOrder.passOrder[0].store}}</text>
<text>{{myOrder.passOrder[0].officeName}}</text>
</view>
<view class="pass-title">
<text>{{myOrder.passOrder[0].title}}</text>
<text>精灵鸟理想国{{myOrder.passOrder[0].name}}</text>
</view>
<view class="pass-time">
<text>{{myOrder.passOrder[0].time}}</text>
<text>有效期至{{myOrder.passOrder[0].expireTime}}</text>
</view>
<view class="pass-name">
<text>{{myOrder.passOrder[0].name}}</text>
<text>{{myOrder.passOrder[0].personName}}</text>
</view>
<view class="pass-idNum">
<text>{{myOrder.passOrder[0].idNum}}</text>
<text>{{myOrder.passOrder[0].identityCard}}</text>
</view>
</view>
<!-- 商品 -->
<view class="goods-wrapper">
<view class="goods-wrapper" wx:for="{{myOrder.artOrder.orderList}}" wx:key="*this">
<view class="goods-logo-wrapper row align-c">
<view class="art-logo">
<image src="{{myOrder.artOrder.logo}}"></image>
</view>
<text>{{myOrder.artOrder.orderList[0].store}}</text>
<text>{{item.officeName}}</text>
</view>
<view class="goods-content row align-c">
<image src="{{item.cover}}" wx:for="{{myOrder.artOrder.orderList}}" wx:key="id"></image>
<text wx:if="{{myOrder.artOrder.orderList.length === 1}}">{{myOrder.artOrder.orderList[0].title}}</text>
<image src="{{k.imgUrl}}" wx:for="{{item.smOrderDetails}}" wx:for-item="k" wx:key="*this"></image>
<text wx:if="{{item.smOrderDetails.length == 1}}">{{item.smOrderDetails[0].name}}</text>
</view>
<view class="goods-footer row align-c con-b">
<text>{{myOrder.artOrder.orderList[0].time}}</text>
<text>{{myOrder.artOrder.orderList[0].quantity}}</text>
<text>有效期至{{item.time}}</text>
<text>共{{item.smOrderDetails.length}}</text>
</view>
</view>
<!-- more -->
<view class="more row align-c con-c" bindtap="onShowMoreOrder">
<text wx:if="{{!showMoreOrder}}">展开更多</text>
......
.container {
background: linear-gradient(180deg, #FFFFFF 0%, #F3F4F6 100%);
background: linear-gradient(180deg, #fff 10%, #F3F4F6 20%);
/* background: #F3F4F6 */
}
.navigation {
z-index: 2;
}
......@@ -13,6 +15,7 @@
width: 100%;
height: 100%;
}
.mine {
position: relative;
width: 750rpx;
......@@ -25,7 +28,7 @@
margin-right: 32rpx;
}
.mine-avatar > image {
.mine-avatar>image {
width: 128rpx;
height: 128rpx;
border-radius: 50%;
......@@ -61,10 +64,13 @@
padding: 41rpx 32rpx;
background-color: #fff;
border-radius: 4rpx;
margin-top:48rpx;
}
.cpopon-info {
flex: 1;
}
.cpopon-info text:nth-child(1) {
font-size: 34rpx;
font-weight: 600;
......@@ -76,6 +82,7 @@
font-size: 26rpx;
color: #161A1F;
}
.coupon image {
width: 32rpx;
height: 32rpx;
......@@ -127,7 +134,7 @@
.menu {
width: 750rpx;
margin-top: 16rpx;
/* margin-top: 16rpx; */
margin-bottom: 30rpx;
padding: 0 48rpx;
overflow-x: hidden;
......@@ -328,24 +335,30 @@
background-color: #fff;
border-radius: 4rpx;
}
.order-activity image {
width: 32rpx;
height: 32rpx;
}
.order-activity-title-wrapper {
height: 48rpx;
}
.order-activity-title {
font-size: 34rpx;
color: #15191F;
font-weight: 600;
}
.order-activity-icon-list {
margin-top: 56rpx;
}
.order-activity-icon-wrapper {
flex: 1;
}
.order-activity-icon {
position: relative;
width: 80rpx;
......@@ -353,10 +366,12 @@
background-color: #F5F6F8;
border-radius: 50%;
}
.order-activity-icon image{
.order-activity-icon image {
width: 48rpx;
height: 48rpx;
}
.order-activity-badge {
position: absolute;
top: -10rpx;
......@@ -370,9 +385,11 @@
background-color: #E66060;
border-radius: 16rpx;
}
.badge-widen {
width: 48rpx;
}
.order-activity-icon-wrapper text {
margin-top: 16rpx;
font-size: 22rpx;
......@@ -394,6 +411,7 @@
border-radius: 4rpx;
opacity: 0.81;
}
.pass-bg-one {
position: absolute;
left: 0;
......@@ -405,6 +423,7 @@
background: rgba(247, 179, 197, 0.5);
border-radius: 4rpx 4rpx 0 0;
}
.pass-bg-two {
position: absolute;
left: 0;
......@@ -417,33 +436,40 @@
background: rgba(247, 179, 197, 0.3);
border-radius: 4rpx 4rpx 0 0;
}
.pass-logo-wrapper {
height: 50rpx;
}
.pass-logo-wrapper image {
width: 64rpx;
height: 50rpx;
background-color: #ccc;
background-color: #ccc;
}
.pass-logo-wrapper text {
height: 50rpx;
margin-left: 20rpx;
font-size: 26rpx;
line-height: 50rpx;
}
.pass-title {
margin-top: 24rpx;
font-size: 42rpx;
font-weight: 600;
}
.pass-time {
margin-top: 8rpx;
font-size: 26rpx;
}
.pass-name {
margin-top: 32rpx;
font-size: 22rpx;
}
.pass-idNum {
margin-top: 8rpx;
font-size: 22rpx;
......@@ -456,10 +482,12 @@
background-color: #F5F6F8;
border-radius: 4rpx;
}
.goods-logo-wrapper {
height: 100rpx;
margin-top: 40rpx;
}
.goods-logo-wrapper text {
height: 100rpx;
margin-left: 20rpx;
......@@ -467,24 +495,29 @@
color: #15191F;
line-height: 100rpx;
}
.goods-content {
height: 136rpx;
}
.goods-content image{
.goods-content image {
width: 140rpx;
height: 136rpx;
margin-right: 32rpx;
background-color: #ccc;
}
.goods-content text {
font-size: 30rpx;
color: #15191F;
font-weight: 600;
line-height: 42rpx;
}
.goods-footer {
height: 84rpx;
}
.goods-footer text {
font-size: 26rpx;
color: #959DA9;
......@@ -509,6 +542,7 @@
background-color: #F5F6F8;
border-radius: 4rpx;
}
.appointment-time {
position: absolute;
left: 0;
......@@ -523,23 +557,26 @@
border-radius: 4rpx;
}
.appointment-activity-content {
}
.appointment-activity-content {}
.appointment-activity-img {
width: 140rpx;
height: 136rpx;
background-color: #ccc;
}
.appointment-activity-info {
flex: 1;
margin-left: 32rpx;
}
.appointment-activity-title {
color: #15191F;
font-size: 30rpx;
font-weight: 600;
line-height: 42rpx;
}
.appointment-activity-num {
margin-top: 16rpx;
color: #959DA9;
......@@ -550,6 +587,7 @@
width: 305rpx;
height: 110rpx;
}
.border-right {
width: 1rpx;
height: 75rpx;
......@@ -571,10 +609,12 @@
.more {
margin-top: 32rpx;
}
.more text {
font-size: 26rpx;
color: #15191F;
}
.more image {
margin-left: 8rpx;
}
......@@ -587,16 +627,19 @@
background-color: #fff;
border-radius: 4rpx;
}
.service text {
font-size: 34rpx;
color: #15191F;
font-weight: 600;
}
.service image {
width: 32rpx;
height: 32rpx;
}
image {
width: 100%;
height: 100%;
}
}
\ No newline at end of file
......@@ -15,13 +15,15 @@ Page({
address: '',
},
onLoad: function (options) {
let funcUserInfo = wx.getStorageSync('userInfo')
let mobile = wx.getStorageSync('mobile')
let nickName = wx.getStorageSync('nickName')
let avatarUrl = wx.getStorageSync('avatarUrl')
let sex = wx.getStorageSync('sex')
let birthday = wx.getStorageSync('birthday')
let address = wx.getStorageSync('address')
let mobile = funcUserInfo.phone
let nickName = funcUserInfo.name
let avatarUrl = funcUserInfo.avatar
let sex = funcUserInfo.sex
let birthday = funcUserInfo.birthday
let address = birthday.address
this.setData({
mobile: this.toHide(mobile),
nickName: nickName,
......
......@@ -4,6 +4,9 @@ Page({
data: {
imageBase: App.globalData.appImageBase,
resourcesBase: App.globalData.appResourcesBase,
option: {},
orderTypeTitle: '全部分类',
orderTypeHeight: 0,
orderType: [],
......@@ -18,7 +21,7 @@ Page({
'name': '待付款'
},
{
'value': '1',
'value': '2',
'name': '待使用'
},
{
......@@ -34,7 +37,17 @@ Page({
isFinished: false
},
onLoad: function (options) {
this.setOrderType()
this.setData({
option: options
})
App.login({
timeout: 0,
success: (result) => {
this.setOrderType()
},
})
},
/**
......@@ -87,6 +100,7 @@ Page({
'status': Number(funcResponse[i].status),
'amount': funcResponse[i].totalMoney,
'commodity': [],
'commodityType': Number(funcResponse[i].goodType),
'wxRequest': funcResponse[i].wxRequest
}
......@@ -219,9 +233,15 @@ Page({
},
onNavigationBack: function () {
wx.navigateBack({
'delta': 1
})
if (this.data.option.fromPage) {
wx.switchTab({
url: '/pages/mine/home/home',
})
} else {
wx.navigateBack({
'delta': 1
})
}
},
/**
......@@ -414,7 +434,7 @@ Page({
onOrderEvaluate: function (event) {
console.log(event.currentTarget.dataset, '----------------event.currentTarget.dataset');
let item = JSON.stringify(event.currentTarget.dataset.item)
let item = JSON.stringify(event.currentTarget.dataset.item)
wx.navigateTo({
url: `/pages/pay/order-comment/order-comment?orderItem=${item}`,
})
......@@ -451,14 +471,16 @@ Page({
* @returns
*/
onOrderAgain: function (event) {
let item = event.currentTarget.dataset.item
let commodityType = item.goodType
console.log(item)
let commodityType = item.commodityType
let shopAppId = wx.getStorageSync('shopInfoBuffer') ? wx.getStorageSync('shopInfoBuffer').appId : ""
wx.navigateTo({
url: `/pages/commodity/menu-food/menu-food?formPage=order&shopAppId=${shopAppId}&commodityType=${commodityType}`,
})
},
/**
......@@ -468,7 +490,6 @@ Page({
* @returns
*/
onReachBottom: function () {
this.setData({
orderPages: this.data.orderPages + 1
})
......
......@@ -117,13 +117,21 @@ Page({
volumeId: that.data.couponDetail.volumeId,
},
success: function(res) {
wx.lin.showToast({
image: '/image/success.png',
title: '核销成功',
})
setTimeout(()=>{
wx.navigateBack()
},2000);
if (res.data.code * 1 == 200) {
wx.lin.showToast({
image: '/image/success.png',
title: '核销成功',
})
setTimeout(()=>{
wx.navigateBack()
},2000);
} else {
wx.lin.showToast({
image: '/image/error.png',
title: res.data.msg,
})
}
},
fail: function(err) {
wx.lin.showToast({
......
......@@ -2,6 +2,9 @@ let App = getApp()
Page({
data: {
showNotice: false,
swiperCurrent: 0,
showCodePopup: false,
imageBase: App.globalData.appImageBase,
resourcesBase: App.globalData.appResourcesBase,
......@@ -15,6 +18,45 @@ Page({
isFromUse: false,
winCode: false,
residuePayTime: "", //剩余支付时间
sealImgs: [{
type: 1,
url: App.globalData.appResourcesBase + 'sealOfOrder/ertongyingdi-2.png'
}],
sealTest: App.globalData.appResourcesBase + 'sealOfOrder/ertongyingdi-2.png',
sealBig: App.globalData.appResourcesBase + 'sealOfOrder/ertongyingdi-1.png',
seals: {
seal1: {
passSrc: App.globalData.appResourcesBase + 'sealOfOrder/ertongyingdi-2.png',
willPaySrc: App.globalData.appResourcesBase + 'sealOfOrder/ertongyingdi-2.png',
},
seal1: {
passSrc: App.globalData.appResourcesBase + 'sealOfOrder/ertongyingdi-2.png',
willPaySrc: App.globalData.appResourcesBase + 'sealOfOrder/ertongyingdi-2.png',
},
seal1: {
passSrc: App.globalData.appResourcesBase + 'sealOfOrder/ertongyingdi-2.png',
willPaySrc: App.globalData.appResourcesBase + 'sealOfOrder/ertongyingdi-2.png',
},
},
codeList: [{
id: 0,
title: '《 阿凡达 》电影票',
img: './image/QRcode.png',
num: '2179 7092 0925'
},
{
id: 1,
title: '《 阿凡达 》电影票',
img: './image/QRcode.png',
num: '2179 7092 0925'
},
{
id: 2,
title: '《 阿凡达 》电影票',
img: './image/QRcode.png',
num: '2179 7092 0925'
}
]
},
......@@ -27,11 +69,57 @@ Page({
fromPage: options.fromPage === 'order' ? 'order' : '',
isFromUse: options.showCode === 'true' ? true : false,
})
App.login({
timeout: 0,
success: (result) => {
this.queryOrderDetail()
},
console.log(this.data.shopInfo)
this.queryOrderDetail()
})
},
// 使用须知
handleNotice() {
let showNotice = true
this.setData({
showNotice
})
},
// 一键扫码
onFastScan: function (event) {
wx.showLoading({
title: '加载中',
})
App.wxRequest({
url: '/api/v1/order/getVolumesByOrderId',
data: {
'orderId': this.data.orderInfo.id
},
success: (response) => {
wx.hideLoading()
let list = response.data
this.setData({
showCodePopup: true,
codeList: list
})
}
})
},
swiperChange(e) {
let swiperCurrent = e.detail.current
this.setData({
swiperCurrent
})
},
closeQRcode() {
let showCodePopup = false
this.setData({
showCodePopup,
// swiperCurrent:0
})
},
/**
* 订单详情
* @function
......@@ -59,7 +147,8 @@ Page({
'tipOrderNo': funcResponse.orderSerialNumber, // 订单编号
'tipTimeSubmit': funcResponse.createDate,
'tipTimePay': App.modular.miment(funcResponse.paymentTime).format('YYYY-MM-DD hh:mm:ss'),
'tipIntegral': funcResponse.integral
'tipIntegral': funcResponse.integral,
'officeName': funcResponse.officeName
}
// 添加订单商品列表
......@@ -119,7 +208,7 @@ Page({
},
// 弹出单张二维码
onCouponCode: function (event) {
let funcOrderInfo = event.currentTarget.dataset.item
App.wxRequest({
......@@ -141,7 +230,25 @@ Page({
}
})
},
// 多二维码 复制券码
setClipboard(e) {
const code = e.currentTarget.dataset.code
wx.setClipboardData({
data: code,
success(res) {
wx.showToast({
title: '复制成功',
})
// wx.getClipboardData({
// success(res) {
// console.log(res.data) // data
// }
// })
}
})
},
// 单个二维码 复制券码
onCodeCopy: function () {
wx.setClipboardData({
data: this.data.codeInfo.codeNo,
......
<navigation class="navigation" titleText="订单详情" color="#000000" background="#FFFFFF" backIcon="/image/back.png" bind:navBack="navBack"></navigation>
<view class="container">
<!-- 订单状态 -->
<view class="state row con-c">
<view class="state-content col con-c" wx:if="{{orderInfo.state === 0}}">
<view class="state-content-title row">
<text>订单待付款</text>
</view>
<view class="state-content-tip row">
<text>请在 {{residuePayTime}} 内付款,否则将自动取消订单</text>
</view>
</view>
<!-- 订单状态 -->
<view class="state row con-c">
<view class="state-content col con-c" wx:if="{{orderInfo.state === 0}}">
<view class="state-content-title row">
<text>订单待付款</text>
</view>
<view class="state-content-tip row">
<text>请在 {{residuePayTime}} 内付款,否则将自动取消订单</text>
</view>
</view>
<view class="state-content col con-c" wx:if="{{orderInfo.state === 3}}">
<view class="state-content-title row">
<text>订单待评价</text>
</view>
</view>
<view class="state-content col con-c" wx:if="{{orderInfo.state === 3}}">
<view class="state-content-title row">
<text>订单待评价</text>
</view>
</view>
<view class="state-content state-content-invalid col con-c" wx:if="{{orderInfo.state === 4}}">
<view class="state-content-title row">
<text>订单已过期</text>
</view>
<view class="state-content-tip row">
<text>有效期xxx-xxx</text>
</view>
</view>
<view class="state-content state-content-invalid col con-c" wx:if="{{orderInfo.state === 4}}">
<view class="state-content-title row">
<text>订单已过期</text>
</view>
<view class="state-content-tip row">
<text>有效期xxx-xxx</text>
</view>
</view>
<view class="state-content state-content-invalid col con-c" wx:if="{{orderInfo.state === -1}}">
<view class="state-content-title row">
<text>订单已取消</text>
</view>
<view class="state-content-tip row">
<text>下单后15分钟内未付款,自动取消订单</text>
</view>
</view>
<view class="state-content state-content-invalid col con-c" wx:if="{{orderInfo.state === -1}}">
<view class="state-content-title row">
<text>订单已取消</text>
</view>
<view class="state-content-tip row">
<text>下单后15分钟内未付款,自动取消订单</text>
</view>
</view>
<view class="state-content state-content-invalid col con-c" wx:if="{{orderInfo.state === 3}}">
<view class="state-content-title row">
<text>订单已评价</text>
</view>
</view>
</view>
<view class="state-content state-content-invalid col con-c" wx:if="{{orderInfo.state === 6}}">
<view class="state-content-title row">
<text>订单已评价</text>
</view>
</view>
</view>
<!-- 订单信息 -->
<view class="info">
<!-- 年卡月卡 -->
<block wx:if="{{orderInfo.commodityType === 1}}">
<view class="info-content col con-c">
<view class="info-content-item row">
<text class="info-content-item-label">使用门店</text>
<text class="info-content-item-title">{{shopInfo.name}}</text>
</view>
<view class="info-content-item row">
<text class="info-content-item-label"></text>
<text class="info-content-item-describe">周一至周日 10:00 - 20:00</text>
</view>
</view>
</block>
<!-- 订单信息 -->
<view class="info">
<!-- 年卡月卡 -->
<block wx:if="{{orderInfo.commodityType === 1}}">
<view class="info-content col con-c">
<view class="info-content-item row">
<text class="info-content-item-label">使用门店</text>
<text class="info-content-item-title">{{orderInfo.officeName}}</text>
</view>
<view class="info-content-item row">
<text class="info-content-item-label"></text>
<text class="info-content-item-describe">周一至周日 10:00 - 20:00</text>
</view>
<image class="seal-shot" src="{{sealTest}}"></image>
</view>
</block>
<!-- 普通商品 -->
<block wx:if="{{orderInfo.commodityType === 2}}">
<view class="info-content col con-c">
<view class="info-content-item row">
<text class="info-content-item-label">使用门店</text>
<text class="info-content-item-title">{{shopInfo.name}}</text>
</view>
<view class="info-content-item row">
<text class="info-content-item-label"></text>
<text class="info-content-item-describe">周一至周日 10:00 - 20:00</text>
</view>
<view class="info-content-item row">
<text class="info-content-item-label">订单信息</text>
<text class="info-content-item-tip">儿童营地</text>
</view>
<view class="info-content-item row">
<text class="info-content-item-label"></text>
<text class="info-content-item-tip">18030303030</text>
</view>
</view>
<view class="info-line row con-b align-c">
<view class="info-line-point-left"></view>
<view class="info-line-line"></view>
<view class="info-line-point-right"></view>
</view>
<view class="info-code col con-c align-c">
<text>{{'件餐品可用'}}</text>
<button class="row con-c align-c">一键扫码</button>
<text>{{'2019.09.30 - 2020.12.30'}}</text>
</view>
</block>
<!-- 普通商品 -->
<!-- 餐品 -->
<block wx:if="{{orderInfo.commodityType === 5}}">
<view class="info-content col con-c">
<view class="info-content-item row">
<text class="info-content-item-label">使用门店</text>
<text class="info-content-item-title">{{shopInfo.name}}</text>
</view>
<view class="info-content-item row">
<text class="info-content-item-label"></text>
<text class="info-content-item-describe">周一至周日 10:00 - 20:00</text>
</view>
<view class="info-content-item row">
<text class="info-content-item-label">订单信息</text>
<text class="info-content-item-tip">儿童营地</text>
</view>
<view class="info-content-item row">
<text class="info-content-item-label"></text>
<text class="info-content-item-tip">18030303030</text>
</view>
</view>
<block wx:if="{{orderInfo.commodityType === 2}}">
<view class="info-content col con-c">
<view class="info-content-item row">
<text class="info-content-item-label">使用门店</text>
<text class="info-content-item-title">{{orderInfo.officeName}}</text>
</view>
<view class="info-content-item row">
<text class="info-content-item-label"></text>
<text class="info-content-item-describe">周一至周日 10:00 - 20:00</text>
</view>
<!-- <view class="info-content-item row">
<text class="info-content-item-label">订单信息</text>
<text class="info-content-item-tip">儿童营地</text>
</view>
<view class="info-content-item row">
<text class="info-content-item-label"></text>
<text class="info-content-item-tip">18030303030</text>
</view> -->
<view class="info-content-item row">
<text class="info-content-item-label">订单信息</text>
<text class="info-content-item-tip">{{orderInfo.contactName}}</text>
</view>
<view class="info-content-item row">
<text class="info-content-item-label"></text>
<text class="info-content-item-tip">{{orderInfo.contactPhone}}</text>
</view>
</view>
<block wx:if="{{orderInfo.state===2}}">
<view class="info-line row con-b align-c">
<view class="info-line-point-left"></view>
<view class="info-line-line"></view>
<view class="info-line-point-right"></view>
<image class="seal-long" src="{{sealBig}}"></image>
</view>
<view class="info-code col con-c align-c">
<text>{{'件餐品可用'}}</text>
<button bindtap="onFastScan" class="row con-c align-c">一键扫码</button>
<text>{{'2019.09.30 - 2020.12.30'}}</text>
</view>
</block>
</block>
<view class="info-line row con-b align-c">
<view class="info-line-point-left"></view>
<view class="info-line-line"></view>
<view class="info-line-point-right"></view>
</view>
<view class="info-code col con-c align-c">
<text>{{'件餐品可用'}}</text>
<button class="row con-c align-c">一键扫码</button>
<text>{{'2019.09.30 - 2020.12.30'}}</text>
</view>
</block>
<!-- 活动 -->
<block wx:if="{{orderInfo.commodityType === -1}}">
<view class="info-content col con-c">
<view class="info-content-item row">
<text class="info-content-item-label">报名活动</text>
<text class="info-content-item-title">儿童营地儿童营地儿童营地儿童营地儿童营地儿童营地</text>
</view>
<view class="info-content-item row">
<text class="info-content-item-label">活动时间</text>
<text class="info-content-item-describe">周一至周日 10:00 - 20:00</text>
</view>
<view class="info-content-item row">
<text class="info-content-item-label">活动地点</text>
<text class="info-content-item-describe">儿童营地</text>
</view>
<view class="info-content-item row">
<text class="info-content-item-label">订单信息</text>
<text class="info-content-item-tip">姓名</text>
</view>
<view class="info-content-item row">
<text class="info-content-item-label"></text>
<text class="info-content-item-tip">18030303030</text>
</view>
<view class="info-line row con-b align-c">
<view class="info-line-point-left"></view>
<view class="info-line-line"></view>
<view class="info-line-point-right"></view>
</view>
<view class="info-code col con-c align-c">
<text>{{'张门票可用'}}</text>
<button class="row con-c align-c">一键扫码</button>
<text>{{'2019.09.30 - 2020.12.30'}}</text>
</view>
</view>
</block>
<!-- 餐品 -->
<block wx:if="{{orderInfo.commodityType === 5||orderInfo.commodityType === 4}}">
<view class="info-content col con-c {{ orderInfo.state!==2?'p-relative':'' }}">
<view class="info-content-item row">
<text class="info-content-item-label">使用门店</text>
<text class="info-content-item-title">{{orderInfo.officeName}}</text>
</view>
<view class="info-content-item row">
<text class="info-content-item-label"></text>
<text class="info-content-item-describe">周一至周日 10:00 - 20:00</text>
</view>
<view class="info-content-item row">
<text class="info-content-item-label">订单信息</text>
<text class="info-content-item-tip">{{orderInfo.contactName}}</text>
</view>
<view class="info-content-item row">
<text class="info-content-item-label"></text>
<text class="info-content-item-tip">{{orderInfo.contactPhone}}</text>
</view>
<image wx:if="{{orderInfo.state!==2}}" class="seal-shot" src="{{sealTest}}"></image>
</view>
<block wx:if="{{orderInfo.state===2}}">
<view class="info-line row con-b align-c">
<view class="info-line-point-left"></view>
<view class="info-line-line"></view>
<view class="info-line-point-right"></view>
<image class="seal-long" src="{{sealBig}}"></image>
</view>
<view class="info-code col con-c align-c">
<text>{{'件餐品可用'}}</text>
<button bindtap="onFastScan" class="row con-c align-c">一键扫码</button>
<text>{{'2019.09.30 - 2020.12.30'}}</text>
</view>
</block>
</block>
<!-- 观影 -->
<block wx:if="{{orderInfo.commodityType === -2}}">
<view class="info-content col con-c">
<view class="info-content-item row">
<text class="info-content-item-label">电影</text>
<text class="info-content-item-title">儿童营地</text>
</view>
<view class="info-content-item row">
<text class="info-content-item-label">场次</text>
<text class="info-content-item-describe">周一至周日 10:00 - 20:00</text>
</view>
<view class="info-content-item row">
<text class="info-content-item-label">订单信息</text>
<text class="info-content-item-tip">姓名</text>
</view>
<view class="info-content-item row">
<text class="info-content-item-label"></text>
<text class="info-content-item-tip">18030303030</text>
</view>
</view>
<!-- 活动 -->
<view class="info-line row con-b align-c">
<view class="info-line-point-left"></view>
<view class="info-line-line"></view>
<view class="info-line-point-right"></view>
</view>
<view class="info-code col con-c align-c">
<text>{{'张电影票可用'}}</text>
<button class="row con-c align-c">一键扫码</button>
<text>{{'2019.09.30 - 2020.12.30'}}</text>
</view>
</block>
</view>
<block wx:if="{{orderInfo.commodityType === -1}}">
<view class="info-content col con-c">
<view class="info-content-item row">
<text class="info-content-item-label">报名活动</text>
<text class="info-content-item-title">儿童营地儿童营地儿童营地儿童营地儿童营地儿童营地</text>
</view>
<view class="info-content-item row">
<text class="info-content-item-label">活动时间</text>
<text class="info-content-item-describe">周一至周日 10:00 - 20:00</text>
</view>
<view class="info-content-item row">
<text class="info-content-item-label">活动地点</text>
<text class="info-content-item-describe">儿童营地</text>
</view>
<view class="info-content-item row">
<text class="info-content-item-label">订单信息</text>
<text class="info-content-item-tip">姓名</text>
</view>
<view class="info-content-item row">
<text class="info-content-item-label"></text>
<text class="info-content-item-tip">18030303030</text>
</view>
<block wx:if="{{orderInfo.state===2}}">
<view class="info-line row con-b align-c">
<view class="info-line-point-left"></view>
<view class="info-line-line"></view>
<view class="info-line-point-right"></view>
<image class="seal-long" src="{{sealBig}}"></image>
</view>
<view class="info-code col con-c align-c">
<text>{{'张门票可用'}}</text>
<button bindtap="onFastScan" class="row con-c align-c">一键扫码</button>
<text>{{'2019.09.30 - 2020.12.30'}}</text>
</view>
</block>
</view>
</block>
<!-- 商品信息 -->
<view class="commodity col">
<view class="commodity-title">
<text>购买商品</text>
</view>
<view class="commodity-list">
<view class="commodity-shop-info row align-c">
<image src="{{resourcesBase + shopInfo.logo}}"></image>
<text>{{shopInfo.name}}</text>
</view>
<block wx:for="{{orderInfo.commodity}}" wx:for-index="index" wx:for-item="item" wx:key="index">
<view class="commodity-item row align-c">
<image src="{{item.cover}}"></image>
<view class="commodity-item-info col">
<view>
<text>{{item.name}}</text>
</view>
<view class="row">
<text>¥</text>
<text>{{item.amount}}</text>
</view>
</view>
<view class="commodity-item-operation" wx:if="{{item.codeId}}">
<button class="row con-c align-c" data-item="{{item}}" bindtap="onCouponCode">查看券码</button>
</view>
</view>
</block>
</view>
</view>
<!-- 观影 -->
<!-- 订单提示 -->
<view class="tip">
<view class="tip-pay row con-b align-c">
<view class="tip-pay-title">
<text>实付金额</text>
</view>
<view class="tip-pay-amount">
<text>¥</text>
<text>{{orderInfo.amount}}</text>
</view>
</view>
<view class="tip-describe col">
<text>{{'订单编号:' + orderInfo.tipOrderNo}}</text>
<text>{{'下单时间:' + orderInfo.tipTimeSubmit}}</text>
<text wx:if="{{orderInfo.state !== 0 && orderInfo.state !== -1}}">{{'付款时间:' + orderInfo.tipTimePay}}</text>
<text wx:if="{{orderInfo.state !== 0 && orderInfo.state !== -1}}">{{'获得积分:' + orderInfo.tipIntegral}}</text>
</view>
</view>
<block wx:if="{{orderInfo.commodityType === -2}}">
<view class="info-content col con-c">
<view class="info-content-item row">
<text class="info-content-item-label">电影</text>
<text class="info-content-item-title">儿童营地</text>
</view>
<view class="info-content-item row">
<text class="info-content-item-label">场次</text>
<text class="info-content-item-describe">周一至周日 10:00 - 20:00</text>
</view>
<view class="info-content-item row">
<text class="info-content-item-label">订单信息</text>
<text class="info-content-item-tip">姓名</text>
</view>
<view class="info-content-item row">
<text class="info-content-item-label"></text>
<text class="info-content-item-tip">18030303030</text>
</view>
</view>
<block wx:if="{{orderInfo.state===2}}">
<view class="info-line row con-b align-c">
<view class="info-line-point-left"></view>
<view class="info-line-line"></view>
<view class="info-line-point-right"></view>
<image class="seal-long" src="{{sealBig}}"></image>
</view>
<view class="info-code col con-c align-c">
<text>{{'张电影票可用'}}</text>
<button bindtap="onFastScan" class="row con-c align-c">一键扫码</button>
<text>{{'2019.09.30 - 2020.12.30'}}</text>
</view>
</block>
</block>
</view>
<view class="notice-wrapper row con-e" bindtap="handleNotice">
<view class="notice">使用须知</view>
<!-- <view class="notice">活动须知</view>
<view class="notice">观影须知</view> -->
<l-icon name="right" color="#959DAA" size="22" />
</view>
<!-- 商品信息 -->
<view class="commodity col">
<view class="commodity-title">
<text>购买商品</text>
</view>
<view class="commodity-list">
<view class="commodity-shop-info row align-c">
<image src="{{resourcesBase + shopInfo.logo}}"></image>
<text>{{orderInfo.officeName}}</text>
</view>
<block wx:for="{{orderInfo.commodity}}" wx:for-index="index" wx:for-item="item" wx:key="index">
<view class="commodity-item row align-c">
<image src="{{item.cover}}"></image>
<view class="commodity-item-info col">
<view>
<text>{{item.name}}</text>
</view>
<view class="row">
<text>¥</text>
<text>{{item.amount}}</text>
</view>
</view>
<view class="commodity-item-operation" wx:if="{{item.codeId}}">
<!-- 状态(0已过期1带使用2已使用) -->
<button wx:if="{{item.state==1}}" class="row con-c align-c" data-item="{{item}}" bindtap="onCouponCode">查看券码</button>
<button wx:if="{{item.state==0}}" disabled class="row con-c align-c btn-disabled">已过期</button>
<button wx:if="{{item.state==2}}" disabled class="row con-c align-c btn-disabled">已使用</button>
</view>
</view>
</block>
</view>
</view>
<!-- 订单提示 -->
<view class="tip">
<view class="tip-pay row con-b align-c">
<view class="tip-pay-title">
<text>实付金额</text>
</view>
<view class="tip-pay-amount">
<text>¥</text>
<text>{{orderInfo.amount}}</text>
</view>
</view>
<view class="tip-describe col">
<text>{{'订单编号:' +( orderInfo.tipOrderNo?orderInfo.tipOrderNo:"")}}</text>
<text>{{'下单时间:' + (orderInfo.tipTimeSubmit?orderInfo.tipTimeSubmit:'')}}</text>
<text wx:if="{{orderInfo.state !== 0 && orderInfo.state !== -1}}">{{'付款时间:' + (orderInfo.tipTimePay?orderInfo.tipTimePay:'')}}</text>
<text wx:if="{{orderInfo.state !== 0 && orderInfo.state !== -1}}">{{'获得积分:' + (orderInfo.tipIntegral?orderInfo.tipIntegral:'')}}</text>
</view>
</view>
</view>
<!-- 多张 扫码弹窗 -->
<l-popup show="{{showCodePopup}}" l-class="l-popup-bg">
<view class="scan-code-wrapper col align-c">
<view class="code-header">{{codeList.length}}件商品可用</view>
<view class="code-tips">请将券码出示给门店核销人员</view>
<swiper class="code-main" next-margin="64rpx" bindchange="swiperChange">
<swiper-item wx:for="{{codeList}}" wx:key="id">
<view class="code-item col con-c align-c {{index === swiperCurrent ? 'item-center' : ''}}">
<view class="code-item-title">{{item.name}}</view>
<view class="code-img">
<image mode="widthFix" src="{{'data:image/jpg;base64,'+item.qrcode}}"></image>
</view>
<view class="code-num-wrapper row align-c con-a">
<view class="code-num-title {{codeUsed ? 'code-used' : ''}}">券码{{index+1}}:</view>
<view class="code-num {{codeUsed ? 'code-used' : ''}}">{{item.serialNumber}}</view>
<view class="num-copy" wx:if="{{!codeUsed}}" bindtap="setClipboard" data-code="{{item.serialNumber}}" data-index="{{index}}">复制</view>
</view>
<view class="code-used-seal" wx:if="{{codeUsed}}">
<image mode="widthFix" src="./image/used.png"></image>
</view>
</view>
</swiper-item>
</swiper>
<view class="img-num row align-c">
<text class="current-img-num">{{swiperCurrent+1}}</text>
<text class="symbol-img-num"> / </text>
<text class="total-img-num">{{codeList.length}}</text>
</view>
<view class="code-close-btn row con-c align-c" bindtap="closeQRcode">
<image mode="widthFix" src="/image/icon_close.png"></image>
</view>
</view>
</l-popup>
<!-- 二维码弹窗 -->
<view class="code-mask row con-c align-c" wx:if="{{winCode}}">
<view class="code col con-c align-c">
<view class="code-tip row con-c align-c">
<text>{{'请将券码出示给门店核销人员'}}</text>
</view>
<view class="code-info col con-c align-c">
<view class="code-info-title">
<text>{{codeInfo.codeName}}</text>
</view>
<view class="code-info-qrcode">
<image src="{{'data:image/png;base64,' + codeInfo.codeBase64}}"></image>
</view>
<view class="code-info-copy row con-b align-c">
<text>券码</text>
<text>{{codeInfo.codeNo}}</text>
<text bindtap="onCodeCopy">复制</text>
</view>
</view>
<view class="code-close row con-c align-c" bindtap="onCodeClose">
<image src="{{imageBase + 'icon/close-1.png'}}"></image>
</view>
</view>
</view>
\ No newline at end of file
<view class="code col con-c align-c">
<view class="code-tip row con-c align-c">
<text>{{'请将券码出示给门店核销人员'}}</text>
</view>
<view class="code-info col con-c align-c">
<view class="code-info-title">
<text>{{codeInfo.codeName}}</text>
</view>
<view class="code-info-qrcode">
<image src="{{'data:image/png;base64,' + codeInfo.codeBase64}}"></image>
</view>
<view class="code-info-copy row con-b align-c">
<text>券码</text>
<text>{{codeInfo.codeNo}}</text>
<text bindtap="onCodeCopy">复制</text>
</view>
</view>
<view class="code-close row con-c align-c" bindtap="onCodeClose">
<image src="{{imageBase + 'icon/close-1.png'}}"></image>
</view>
</view>
</view>
<!-- 使用须知 -->
<l-popup show="{{showNotice}}" content-align="bottom">
<view class="notice-popup-wrapper">
<view class="notice-popup-title">购买须知</view>
<scroll-view scroll-y class="notice-popup-content">
</scroll-view>
</view>
</l-popup>
\ No newline at end of file
/* 订单状态 */
.state {
width: 750rpx;
width: 750rpx;
}
.container {
margin-top: 160rpx;
margin-top: 160rpx;
}
.state-content {
width: 670rpx;
height: 240rpx;
padding: 0 32rpx;
border-radius: 4px;
background: #F3E1E1;
width: 670rpx;
height: 240rpx;
padding: 0 32rpx;
border-radius: 4px;
background: #F3E1E1;
}
.state-content-invalid {
background: #ECF4F8;
background: #ECF4F8;
}
.state-content-title text {
height: 76rpx;
font-size: 54rpx;
font-weight: 500;
line-height: 76rpx;
color: #15191F;
height: 76rpx;
font-size: 54rpx;
font-weight: 500;
line-height: 76rpx;
color: #15191F;
}
.state-content-tip {
margin-top: 24rpx;
margin-top: 24rpx;
}
.state-content-tip text {
height: 36rpx;
font-size: 26rpx;
font-weight: 400;
line-height: 36rpx;
color: #15191F;
height: 36rpx;
font-size: 26rpx;
font-weight: 400;
line-height: 36rpx;
color: #15191F;
}
/* 订单信息 */
.info {
margin-top: 50rpx;
margin-top: 50rpx;
}
.info-content {
width: 670rpx;
min-height: 206rpx;
padding: 48rpx 32rpx;
background: #F3F4F6;
border-radius: 4px;
overflow: hidden;
position: relative;
width: 670rpx;
min-height: 206rpx;
padding: 48rpx 32rpx;
background: #F3F4F6;
border-radius: 4px;
overflow: hidden;
}
.info-content-item {
position: relative;
margin-top: 16rpx;
position: relative;
margin-top: 16rpx;
}
.info-content-item-label {
width: 104rpx;
height: 36rpx;
margin-right: 48rpx;
font-size: 26rpx;
font-weight: 400;
line-height: 36rpx;
color: #959DA9;
width: 104rpx;
height: 36rpx;
margin-right: 48rpx;
font-size: 26rpx;
font-weight: 400;
line-height: 36rpx;
color: #959DA9;
}
.info-content-item-title {
position: relative;
top: -8rpx;
width: 454rpx;
min-height: 52rpx;
position: relative;
top: -8rpx;
width: 454rpx;
min-height: 52rpx;
word-wrap: break-word;
font-size: 38rpx;
font-weight: 500;
line-height: 52rpx;
color: #15191F;
word-wrap: break-word;
font-size: 38rpx;
font-weight: 500;
line-height: 52rpx;
color: #15191F;
}
.info-content-item-describe {
height: 42rpx;
font-size: 30rpx;
font-weight: 500;
line-height: 42rpx;
color: #15191F;
height: 42rpx;
font-size: 30rpx;
font-weight: 500;
line-height: 42rpx;
color: #15191F;
}
.info-content-item-tip {
height: 36rpx;
font-size: 26rpx;
font-weight: 500;
line-height: 36rpx;
color: #15191F;
height: 36rpx;
font-size: 26rpx;
font-weight: 500;
line-height: 36rpx;
color: #15191F;
}
.info-line {
position: relative;
background: #F3F4F6;
position: relative;
background: #F3F4F6;
}
.info-line-line {
width: 670rpx;
height: 1px;
border: 1px #E2E7EF dashed;
width: 670rpx;
height: 1px;
border: 1px #E2E7EF dashed;
}
.info-line-point-left {
position: absolute;
left: -18rpx;
width: 36rpx;
height: 36rpx;
border-radius: 50%;
background: #FFFFFF;
position: absolute;
left: -18rpx;
width: 36rpx;
height: 36rpx;
border-radius: 50%;
background: #FFFFFF;
}
.info-line-point-right {
position: absolute;
right: -18rpx;
width: 36rpx;
height: 36rpx;
border-radius: 50%;
background: #FFFFFF;
position: absolute;
right: -18rpx;
width: 36rpx;
height: 36rpx;
border-radius: 50%;
background: #FFFFFF;
}
.info-code {
width: 670rpx;
min-height: 330rpx;
background: #F3F4F6;
width: 670rpx;
min-height: 330rpx;
background: #F3F4F6;
}
.info-code text:nth-child(1) {
height: 48rpx;
font-size: 34rpx;
font-weight: 500;
line-height: 48rpx;
color: #15191F;
height: 48rpx;
font-size: 34rpx;
font-weight: 500;
line-height: 48rpx;
color: #15191F;
}
.info-code button {
width: 606rpx;
height: 96rpx;
margin-top: 40rpx;
border-radius: 4px;
background: #86C5E1;
width: 606rpx;
height: 96rpx;
margin-top: 40rpx;
border-radius: 4px;
background: #86C5E1;
font-size: 30rpx;
font-weight: 500;
line-height: 42rpx;
color: #FFFFFF;
font-size: 30rpx;
font-weight: 500;
line-height: 42rpx;
color: #FFFFFF;
}
.info-code text:nth-child(3) {
height: 36rpx;
margin-top: 40rpx;
font-size: 26rpx;
font-weight: 400;
line-height: 36rpx;
color: #959DAA;
height: 36rpx;
margin-top: 40rpx;
font-size: 26rpx;
font-weight: 400;
line-height: 36rpx;
color: #959DAA;
}
/* 商品信息 */
.commodity {
margin: 64rpx 40rpx 0 40rpx;
margin: 64rpx 40rpx 0 40rpx;
}
.commodity-title {
height: 48rpx;
font-size: 34rpx;
font-weight: 500;
line-height: 48rpx;
color: #15191F;
height: 48rpx;
font-size: 34rpx;
font-weight: 500;
line-height: 48rpx;
color: #15191F;
}
.commodity-list {
width: 670rpx;
margin-top: 40rpx;
padding: 40rpx 32rpx 0 32rpx;
border-radius: 4px;
background: #F3F4F6;
width: 670rpx;
margin-top: 40rpx;
padding: 40rpx 32rpx 0 32rpx;
border-radius: 4px;
background: #F3F4F6;
}
.commodity-shop-info > image {
max-width: 62rpx;
max-height: 62rpx;
margin-right: 16rpx;
.commodity-shop-info>image {
max-width: 62rpx;
max-height: 62rpx;
margin-right: 16rpx;
}
.commodity-item {
width: 606rpx;
height: 184rpx;
border-bottom: 1px #E2E7EF solid;
width: 606rpx;
height: 184rpx;
border-bottom: 1px #E2E7EF solid;
}
.commodity-item > image {
width: 140rpx;
height: 136rpx;
margin-right: 24rpx;
.commodity-item>image {
width: 140rpx;
height: 136rpx;
margin-right: 24rpx;
}
.commodity-item-info {
width: 290rpx;
margin-right: 32rpx;
width: 290rpx;
margin-right: 32rpx;
}
.commodity-item-operation > button {
width: 120rpx;
height: 56rpx;
border-radius: 4px;
background: #86C5E1;
.commodity-item-operation>button {
width: 120rpx;
height: 56rpx;
border-radius: 4px;
background: #86C5E1;
font-size: 22rpx;
font-weight: 500;
line-height: 32rpx;
color: #FFFFFF;
font-size: 22rpx;
font-weight: 500;
line-height: 32rpx;
color: #FFFFFF;
}
.commodity-item-operation>button.btn-disabled {
background: #C8E1EC;
color: #FFFFFF;
}
.commodity-list .commodity-item:last-child {
border: none;
border: none;
}
/* 订单提示 */
.tip {
margin: 74rpx 40rpx 70rpx 40rpx;
margin: 74rpx 40rpx 70rpx 40rpx;
}
.tip-pay {
width: 670rpx;
width: 670rpx;
}
.tip-pay-title text {
height: 48rpx;
font-size: 34rpx;
font-weight: 800;
line-height: 48rpx;
color: #15191F;
height: 48rpx;
font-size: 34rpx;
font-weight: 800;
line-height: 48rpx;
color: #15191F;
}
.tip-pay-amount text:nth-child(1) {
height: 58rpx;
font-size: 34rpx;
font-weight: 500;
line-height: 48rpx;
color: #5DB5DD;
height: 58rpx;
font-size: 34rpx;
font-weight: 500;
line-height: 48rpx;
color: #5DB5DD;
}
.tip-pay-amount text:nth-child(2) {
height: 58rpx;
font-size: 42rpx;
font-weight: 500;
line-height: 48rpx;
color: #5DB5DD;
height: 58rpx;
font-size: 42rpx;
font-weight: 500;
line-height: 48rpx;
color: #5DB5DD;
}
.tip-describe {
width: 670rpx;
height: 168rpx;
margin-top: 32rpx;
font-size: 22rpx;
font-weight: 400;
line-height: 42rpx;
color: #959DA9;
width: 670rpx;
height: 168rpx;
margin-top: 32rpx;
font-size: 22rpx;
font-weight: 400;
line-height: 42rpx;
color: #959DA9;
}
/* 券码 */
.code-mask {
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100%;
background: rgba(0, 0, 0, .6);
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100%;
background: rgba(0, 0, 0, .6);
}
.code {
padding: 56rpx 40rpx 64rpx 40rpx;
padding: 56rpx 40rpx 64rpx 40rpx;
}
.code-tip text:nth-child(1) {
height: 36rpx;
font-size: 26rpx;
font-weight: 500;
line-height: 36rpx;
color: #FFFFFF;
height: 36rpx;
font-size: 26rpx;
font-weight: 500;
line-height: 36rpx;
color: #FFFFFF;
}
.code-tip text:nth-child(2) {
height: 42rpx;
margin-top: 28rpx;
font-size: 30rpx;
font-weight: 400;
line-height: 42rpx;
color: #FFFFFF;
height: 42rpx;
margin-top: 28rpx;
font-size: 30rpx;
font-weight: 400;
line-height: 42rpx;
color: #FFFFFF;
}
.code-info-qrcode {
margin-top: 56rpx;
margin-top: 56rpx;
}
.code-info-qrcode > image {
display: block;
width: 296rpx;
height: 296rpx;
.code-info-qrcode>image {
display: block;
width: 296rpx;
height: 296rpx;
}
.code-info {
width: 526rpx;
height: 666rpx;
margin-top: 56rpx;
border-radius: 4px;
background: #FFFFFF;
width: 526rpx;
height: 666rpx;
margin-top: 56rpx;
border-radius: 4px;
background: #FFFFFF;
}
.code-info-copy {
width: 446rpx;
height: 96rpx;
margin-top: 56rpx;
padding: 0 24rpx;
border-radius: 4px;
background: #F2F3F5;
width: 446rpx;
height: 96rpx;
margin-top: 56rpx;
padding: 0 24rpx;
border-radius: 4px;
background: #F2F3F5;
}
.code-info-copy text:nth-child(1) {
height: 36rpx;
font-size: 26rpx;
font-weight: 500;
line-height: 36rpx;
color: #959DA9;
height: 36rpx;
font-size: 26rpx;
font-weight: 500;
line-height: 36rpx;
color: #959DA9;
}
.code-info-copy text:nth-child(2) {
height: 36rpx;
font-size: 26rpx;
font-weight: 500;
line-height: 36rpx;
color: #15191F;
height: 36rpx;
font-size: 26rpx;
font-weight: 500;
line-height: 36rpx;
color: #15191F;
}
.code-info-copy text:nth-child(3) {
height: 36rpx;
font-size: 26rpx;
font-weight: 500;
line-height: 36rpx;
color: #5DB5DD;
height: 36rpx;
font-size: 26rpx;
font-weight: 500;
line-height: 36rpx;
color: #5DB5DD;
}
.code-close {
width: 80rpx;
height: 80rpx;
margin-top: 48rpx;
border-radius: 50%;
background: #A9A8A7;
width: 80rpx;
height: 80rpx;
margin-top: 48rpx;
border-radius: 50%;
background: #A9A8A7;
}
.code-close>image {
width: 48rpx;
height: 48rpx;
}
/* 印章图 */
.seal-shot {
width: 166rpx;
height: 166rpx;
position: absolute;
right: -30rpx;
bottom: -30rpx;
}
.seal-long {
width: 166rpx;
height: 200rpx;
position: absolute;
right: 0;
bottom: -30rpx;
}
.p-relative {
position: relative;
}
/* 扫码弹窗 */
.order-status {
width: 670rpx;
height: 240rpx;
margin: 64rpx auto 0;
padding-left: 32rpx;
color: #15191F;
background-color: #ECF4F8;
}
.status-text {
font-size: 54rpx;
font-weight: 600;
}
.status-tips {
margin-top: 24rpx;
}
.bgPink {
background-color: #F3E1E1;
}
.ticket-wrapper {
width: 670rpx;
margin: 64rpx auto 0;
}
.ticket-main {
position: relative;
width: 100%;
padding: 48rpx 32rpx 46rpx;
background-color: #F3F4F6;
border-bottom: 1px dashed #E2E7EF;
}
.ticket-left {
width: 152rpx;
display: table-cell;
vertical-align: bottom;
font-size: 26rpx;
color: #959DA9;
}
.ticket-right {
flex: 1;
font-size: 26rpx;
}
.ticket-store {
font-size: 38rpx;
color: #15191F;
font-weight: 600;
}
.ticket-row-time,
.ticket-row-phone {
margin-top: 16rpx;
}
.ticket-time,
.ticket-address,
.ticket-date {
font-size: 30rpx;
line-height: 42rpx;
}
.ticket-info {
margin-top: 48rpx;
}
.seal-wrapper {
position: absolute;
right: 0;
bottom: -32rpx;
width: 166rpx;
height: 200rpx;
}
.seal {
width: 100%;
height: 100%;
}
.circle {
position: absolute;
left: -18rpx;
bottom: -18rpx;
width: 36rpx;
height: 36rpx;
border-radius: 50%;
background-color: #fff;
}
.ticket-footer {
padding: 50rpx 32rpx 24rpx;
background-color: #F3F4F6;
}
.ticket-footer-top {
font-size: 34rpx;
color: #15191F;
}
.ticket-footer-middle {
width: 606rpx;
height: 96rpx;
line-height: 96rpx;
margin: 40rpx 0;
color: #fff;
text-align: center;
background-color: #86C5E1;
border-radius: 4rpx;
}
.ticket-footer-bottom {
font-size: 26rpx;
color: #959DAA;
}
/* 扫码弹窗 */
.scan-code-wrapper {}
.code-header {
height: 70rpx;
color: #fff;
font-size: 30rpx;
text-align: center;
}
.code-tips {
height: 92rpx;
color: #fff;
font-size: 26rpx;
text-align: center;
}
.code-main {
width: 750rpx;
height: 666rpx;
}
.code-item {
position: relative;
width: 526rpx;
height: 666rpx;
background-color: #fff;
border-radius: 4rpx;
}
.item-center {
margin-left: 112rpx;
}
.code-item-title {
color: #15191F;
font-size: 30rpx;
font-weight: 600;
}
.code-img {
width: 296rpx;
height: 296rpx;
margin: 56rpx 0;
}
.code-num-wrapper {
width: 446rpx;
height: 96rpx;
padding: 0 24rpx;
background-color: #F2F3F5;
border-radius: 4rpx;
line-height: 96rpx;
}
.code-num-title {
color: #959DA9;
text-decoration: none !important;
font-size: 26rpx;
}
.code-num {
color: #15191F;
font-size: 30rpx;
}
.code-used {
color: #C2C7CF;
text-decoration: line-through;
}
.num-copy {
color: #5DB5DD;
font-size: 26rpx;
}
.code-used-seal {
position: absolute;
right: -68rpx;
transform: translateY(56rpx);
width: 254rpx;
height: 254rpx;
}
.img-num {
margin-top: 54rpx;
}
.current-img-num {
color: #fff;
font-size: 34rpx;
}
.symbol-img-num,
.total-img-num {
color: #979797;
font-size: 26rpx;
}
.code-close-btn {
width: 80rpx;
height: 80rpx;
margin-top: 35rpx;
background: rgba(254, 252, 249, 0.5);
border-radius: 50%;
}
.code-close-btn image {
width: 60%;
}
.l-popup-bg {
background: rgba(0, 0, 0, .4);
}
.tips-wrapper {
margin: 40rpx 40rpx 0;
}
.notice-wrapper {
width: 100%;
height: 100rpx;
padding: 0 40rpx;
line-height: 100rpx;
}
.notice {
margin-right: 8rpx;
color: #15191F;
font-size: 26rpx;
}
.notice-popup-wrapper {
padding: 56rpx 40rpx 68rpx;
background-color: #fff;
border-radius: 24rpx 24rpx 0 0;
}
.notice-popup-title {
width: 100%;
height: 90rpx;
}
.notice-content {
max-height: 896rpx;
}
.goods-wrapper {
padding: 32rpx 40rpx 0;
}
.goods-title {
color: #15191F;
font-size: 34rpx;
font-weight: 600;
}
.goods-list {
margin-top: 40rpx;
padding: 0 32rpx 14rpx;
background-color: #F5F6F8;
}
.goods-list-title-wrapper {
width: 100%;
height: 132rpx;
}
.goods-list-title-img {
min-width: 40rpx;
min-height: 54rpx;
max-width: 74rpx;
max-height: 74rpx;
}
.goods-list-title {
margin-left: 16rpx;
color: #15191F;
font-size: 26rpx;
font-weight: 600;
}
.goods-item {
margin-bottom: 22rpx;
padding-bottom: 22rpx;
border-bottom: 1px solid #E2E7EF;
}
.goods-item:last-child {
margin-bottom: 0rpx;
border-bottom: none;
}
.goods-item-img {
width: 140rpx;
height: 136rpx;
}
.goods-item-info {
flex: 1;
padding-left: 24rpx;
}
.goods-item-info-text {
color: #15191F;
font-size: 26rpx;
font-weight: 600;
display: -webkit-box;
overflow: hidden;
-webkit-box-orient: vertical;
-webkit-line-clamp: 2;
}
.goods-item-info-price {
color: #15191F;
font-weight: 600;
}
.price-symbol {
font-size: 22rpx;
}
.price {
font-size: 26rpx;
}
.goods-item-btn {
width: 120rpx;
height: 56rpx;
margin-top: 40rpx;
margin-left: 32rpx;
color: #fff;
font-size: 22rpx;
text-align: center;
line-height: 56rpx;
background-color: #86C5E1;
border-radius: 4rpx;
}
.disabled {
background-color: #C8E1EC;
}
.order-info-wrapper {
position: relative;
width: 670rpx;
margin: 64rpx 40rpx 64rpx;
}
.order-price {
position: absolute;
top: 0;
right: 0;
width: 134rpx;
height: 58rpx;
color: #5DB5DD;
font-size: 34rpx;
font-weight: 600;
}
.order-price-symbol {
font-size: 30rpx;
}
.order-title {
width: 100%;
line-height: 68rpx;
font-size: 34rpx;
font-weight: 600;
}
.order-info {
margin-top: 22rpx;
}
.order-item {
width: 100%;
color: #959DA9;
font-size: 22rpx;
line-height: 42rpx;
}
.footer-btn {
padding: 32rpx 20rpx 0;
border-top: 1px solid #E2E7EF;
}
.delete-btn,
.order-btn {
width: 200rpx;
line-height: 96rpx;
margin-right: 24rpx;
border-radius: 4rpx;
font-size: 30rpx;
font-weight: 600;
text-align: center;
}
.delete-btn {
color: #656E7B;
background-color: #fff;
border: 1px solid #C2C7CF;
}
.order-btn {
color: #fff;
background-color: #86C5E1;
}
.code-close > image {
width: 48rpx;
height: 48rpx;
image {
width: 100%;
height: 100%;
}
\ No newline at end of file
......@@ -308,6 +308,7 @@ Page({
setShoppingCartData: function () {
// 读取上级页面的购物车数据,默认选中所有。
let funcShoppingCart = wx.getStorageSync('shoppingCartBuffer')
console.log(JSON.stringify(funcShoppingCart))
// 设置商品的最终提交价格
let funcPayAmount = 0
......@@ -378,9 +379,6 @@ Page({
* @returns
*/
setStock: function () {
console.log('funcCommodity')
console.log(this.data.shoppingCartList)
let funcItem = this.data.shoppingCartList[0]
App.wxRequest({
......@@ -453,6 +451,8 @@ Page({
clearTimeout(funcTimer)
}, 100)
console.log(this.data.shoppingCartList)
App.wxRequest({
url: '/api/v1/commodity/getNotification',
data: {
......@@ -592,12 +592,14 @@ Page({
// 定位到当前问题位置
if (funcErrorIndex !== null) {
const funcQuery = wx.createSelectorQuery()
funcQuery.selectAll('.register-item-title').boundingClientRect()
funcQuery.selectAll('.contact-input-mark').boundingClientRect()
funcQuery.exec((response) => {
console.log(response)
wx.pageScrollTo({
scrollTop: response[0][funcErrorIndex].top
})
let funcScrollTop = response[0][funcErrorIndex].top
if (funcScrollTop !== 0) {
wx.pageScrollTo({
scrollTop: response[0][funcErrorIndex].top
})
}
})
}
return funcPass
......@@ -663,7 +665,30 @@ Page({
'smPersonalDetails': funcUserInfo
},
success: (response) => {
console.log(response)
if (/价格不一致/.test(response.data.msg)) {
wx.lin.showToast({
title: '价格已变更,请重新下单。',
icon: 'error',
success: () => {
wx.navigateBack({
delta: 2
})
}
})
return
}
if (/订单未支付/.test(response.data.msg)) {
wx.lin.showToast({
title: response.data.msg,
icon: 'error',
})
this.setData({
isPaySubmit: false,
})
return
}
if (/库存不足/.test(response.data.msg)) {
let funcList = []
for (let i = 0, l = response.data.data.list.length; i < l; i++) {
......@@ -763,7 +788,7 @@ Page({
} else {
// 取消支付直接进入订单
wx.reLaunch({
url: '/pages/pay/order/order'
url: '/pages/mine/order/order?fromPage=pay'
})
}
},
......
<!-- 购买须知详情 -->
<view class="notice-detail" wx:if="{{winNoticeDetail}}" bindtap="onNoticeClose">
<view class="notice-item" animation="{{animation}}">
<view class="notice-title">
<text>{{noticeText}}</text>
</view>
<view class="notice-rich">
<rich-text nodes="{{noticeDetail}}"></rich-text>
</view>
</view>
</view>
<l-toast></l-toast>
<view class="container">
<!-- winBuyContent -->
......@@ -201,7 +191,7 @@
<text>仅用于接收订单确认短信</text>
</view>
<view class="contact-input col">
<text>姓名</text>
<text class="contact-input-mark">姓名</text>
<input placeholder="请输入姓名" data-type="name" data-index="{{0}}" bindblur="onInputBlur"></input>
<text>{{registerInfo[0].errorName}}</text>
</view>
......@@ -227,7 +217,7 @@
<text>{{registerTitle + (index + 1)}}</text>
</view>
<view class="contact-input col">
<text>姓名</text>
<text class="contact-input-mark">姓名</text>
<input placeholder="请输入姓名" data-type="name" data-index="{{index}}" bindblur="onInputBlur"></input>
<text>{{item.errorName}}</text>
</view>
......@@ -262,6 +252,21 @@
<cover-view class="appointment-confirm row con-c align-c">确认预约</cover-view>
</cover-view>
<!-- 购买须知详情 -->
<view class="notice-detail" wx:if="{{winNoticeDetail}}" bindtap="onNoticeClose">
<view class="notice-item" animation="{{animation}}">
<view class="notice-title">
<text>{{noticeText}}</text>
</view>
<view class="notice-rich">
<rich-text nodes="{{noticeDetail}}"></rich-text>
</view>
</view>
</view>
<!-- 未支付订单超额提示 -->
<!-- 库存不足提示 -->
<view class="stock-mask row con-c align-c" wx:if="{{winStockTip}}">
<view class="stock col con-c align-c">
......
......@@ -915,6 +915,8 @@
.stock-info {
width: 526rpx;
max-height: 480rpx;
overflow-y: scroll;
}
.stock-close {
......
......@@ -278,7 +278,8 @@ Page({
})
}
// 游客攻略瀑布列表
wx.lin.renderWaterFlow(that.data.strategyList, that.data.pageNo == 1 ? true : false, () => { })
// wx.lin.renderWaterFlow(that.data.strategyList, that.data.pageNo == 1 ? true : false, () => { })
wx.lin.renderWaterFlow(this.data.strategyList, false, () => {})
} else {
}
......
......@@ -39,11 +39,11 @@
<image src="{{item.cover}}"></image>
</view>
<view class="movie-info-wrapper">
<view class="row">
<view class="row align-c">
<view class="movie-name">
<text>{{item.movieName}}</text>
</view>
<view class="movie-tags">
<view class="movie-tags row">
<block wx:for="{{item.tags}}" wx:for-item="tags" wx:key="index">
<text>{{tags}}</text>
</block>
......@@ -83,4 +83,18 @@
<l-water-flow column-gap="14rpx" generic:l-water-flow-item="strategy-item" bind:linitemtap="onStrategyDetail"></l-water-flow>
</view>
</view>
<!-- <block wx:if="{{strategyOriginList.length > 0}}">
<view class="strategy detail-item" bindtap="onFirstStrategyDetail">
<image src="./image/title-route.png"></image>
<view class="strategy-content">
<image class="background-image" src="{{strategyFirstItem.image}}" mode="aspectFit"></image>
<view class="operation col">
<text>{{strategyFirstItem.title}}</text>
</view>
</view>
</view>
<view style="margin-bottom:10px">
<l-water-flow column-gap="14rpx" generic:l-water-flow-item="strategy-item" bind:linitemtap="onStrategyDetail"></l-water-flow>
</view>
</block> -->
</view>
\ No newline at end of file
......@@ -157,6 +157,7 @@
}
.movie-name {
height: 44rpx;
max-width: 240rpx;
color: #15191f;
font-size: 30rpx;
......@@ -389,4 +390,29 @@ image {
.title > image {
width: 184rpx;
height: 44rpx;
}
.strategy-content {
z-index: 3;
position: relative;
width: 670rpx;
height: 320rpx;
margin-top: 32rpx;
border-radius: 2px;
overflow: hidden;
}
.strategy-content .operation {
position: absolute;
bottom: 32rpx;
margin: 0 40rpx;
}
.strategy-content .operation text {
/* height: 40rpx; */
font-size: 38rpx;
font-weight: 800;
color: #ffffff;
}
.detail-item {
margin-top: 58rpx;
}
\ No newline at end of file
......@@ -8,7 +8,7 @@ Page({
pageSize: '-1'
},
statusActive: 1,
statusActive: 0,
statusList: [
{ 'id': 0, 'name': '今日放映' },
{ 'id': 1, 'name': '全部热映' },
......
......@@ -28,13 +28,13 @@
<image src="{{item.cover}}"></image>
</view>
<view class="movie-info-wrapper">
<view class="row">
<view class="movie-name-wrapper row align-c">
<view class="movie-name">
<text>{{item.movieName}}</text>
<text>{{item.filmName}}</text>
</view>
<view class="movie-tags">
<block wx:for="{{item.tags}}" wx:for-item="tags" wx:key="index">
<text>{{tags}}</text>
<view class="movie-tags row">
<block wx:for="{{item.tags}}" wx:for-item="tagsItem" wx:for-index="tagsIndex" wx:key="tagsIndex">
<text>{{tagsItem}}</text>
</block>
</view>
</view>
......@@ -93,15 +93,15 @@
<image src="{{item.cover}}"></image>
</view>
<view class="movie-info-wrapper">
<view class="movie-name-wrapper row">
<view class="movie-name-wrapper row align-c">
<view class="movie-name">
<text>{{item.filmName}}</text>
</view>
<block wx:for="{{item.tags}}" wx:for-item="tagsItem" wx:for-index="tagsIndex" wx:key="tagsIndex">
<view class="movie-tags">
<view class="movie-tags row">
<block wx:for="{{item.tags}}" wx:for-item="tagsItem" wx:for-index="tagsIndex" wx:key="tagsIndex">
<text>{{tagsItem}}</text>
</view>
</block>
</block>
</view>
</view>
<view class="movie-info row">
<view class="movie-info-left">
......@@ -139,6 +139,6 @@
</block>
</view>
<view class="footer-img">
<image src=""></image>
<image src="/image/movie-bottom.png"></image>
</view>
</view>
\ No newline at end of file
......@@ -205,7 +205,6 @@ page {
width: 750rpx;
height: 150rpx;
margin-top: 64rpx;
background-color: #ccc;
}
image {
......
......@@ -47,7 +47,7 @@ Page({
App.globalData.appResourcesBase + 'guide/detail/detail-1-4.png',
],
background: 'background: #314f88;',
popupImage: ''
popupImage: App.globalData.appResourcesBase + 'share/share-8.png',
}, {
id: 102,
name: '云之亭',
......@@ -65,7 +65,7 @@ Page({
App.globalData.appResourcesBase + 'guide/detail/detail-2-4.png',
],
background: 'background: #9d9ee0;',
popupImage: ''
popupImage: App.globalData.appResourcesBase + 'share/share-14.png',
}, {
id: 103,
name: '湿地公园',
......@@ -83,7 +83,7 @@ Page({
App.globalData.appResourcesBase + 'guide/detail/detail-3-4.png',
],
background: 'background: #8bac7d;',
popupImage: ''
popupImage: App.globalData.appResourcesBase + 'share/share-4.png',
}, {
id: 104,
name: '新月码头',
......@@ -101,7 +101,7 @@ Page({
App.globalData.appResourcesBase + 'guide/detail/detail-4-4.png',
],
background: 'background: #6fc0d0;',
popupImage: ''
popupImage: App.globalData.appResourcesBase + 'share/share-7.png',
}, {
id: 105,
name: '温泉洋房',
......@@ -119,7 +119,7 @@ Page({
App.globalData.appResourcesBase + 'guide/detail/detail-5-4.png',
],
background: 'background: #5ca2e2;',
popupImage: ''
popupImage: App.globalData.appResourcesBase + 'share/share-6.png',
}, {
id: 106,
name: '星耀银湖',
......@@ -137,7 +137,7 @@ Page({
App.globalData.appResourcesBase + 'guide/detail/detail-6-4.png',
],
background: 'background: #82524c;',
popupImage: ''
popupImage: App.globalData.appResourcesBase + 'share/share-10.png',
}, {
id: 107,
name: '奇幻森林',
......@@ -155,7 +155,7 @@ Page({
App.globalData.appResourcesBase + 'guide/detail/detail-7-4.png',
],
background: 'background: #659b82;',
popupImage: ''
popupImage: App.globalData.appResourcesBase + 'share/share-3.png',
}
]
......
......@@ -30,7 +30,7 @@
<!-- 弹出图片 -->
<l-popup show="{{showPopup}}" animation="{{false}}">
<view class="popupImage">
<image src="popupImage"></image>
<image src="{{popupImage}}"></image>
</view>
<view class="row con-b">
<view class="cancel" bindtap="onCancel">
......
......@@ -94,11 +94,10 @@ page {
}
/* 分享弹窗 */
.popupImage {
.popupImage image {
width: 606rpx;
height: 977rpx;
margin-bottom: 64rpx;
background-color: #ccc;
}
.cancel, .download {
width: 288rpx;
......
......@@ -74,8 +74,12 @@ Page({
})
console.log(this.data.option)
this.queryDetail(Number(options.id))
if (Number(options.id) === 2) {
this.queryDetailMovie()
} else {
this.queryDetailCommodity()
}
this.getAppraise()
this.queryDetailCommodity()
},
/**
......@@ -95,6 +99,7 @@ Page({
App.globalData.appResourcesBase + 'shop/banner/banner-1-1-2.png',
App.globalData.appResourcesBase + 'shop/banner/banner-1-1-3.png',
],
shareImage: App.globalData.appResourcesBase + 'share/share-2.png',
name: '海错图展馆',
title: '海错图',
date: '周一至周日 10:00 - 20:00',
......@@ -155,6 +160,7 @@ Page({
App.globalData.appResourcesBase + 'shop/banner/banner-1-2-2.png',
App.globalData.appResourcesBase + 'shop/banner/banner-1-2-3.png',
],
shareImage: App.globalData.appResourcesBase + 'share/share-5.png',
name: '拾光花坊',
title: '拾光花坊',
date: '周一至周日 10:00 - 20:00',
......@@ -169,6 +175,7 @@ Page({
App.globalData.appResourcesBase + 'shop/banner/banner-2-1-2.png',
App.globalData.appResourcesBase + 'shop/banner/banner-2-1-3.png',
],
shareImage: App.globalData.appResourcesBase + 'share/share-11.png',
name: '元养水韵SPA',
title: '元养水韵SPA',
date: '周一至周日 10:00 - 22:00',
......@@ -186,6 +193,7 @@ Page({
App.globalData.appResourcesBase + 'shop/banner/banner-3-1-2.png',
App.globalData.appResourcesBase + 'shop/banner/banner-3-1-3.png',
],
shareImage: App.globalData.appResourcesBase + 'share/share-12.png',
name: '原味舒食',
title: '原味舒食',
date: '周一至周日 10:00 - 21:30',
......@@ -206,6 +214,7 @@ Page({
App.globalData.appResourcesBase + 'shop/banner/banner-3-2-2.png',
App.globalData.appResourcesBase + 'shop/banner/banner-3-2-3.png',
],
shareImage: App.globalData.appResourcesBase + 'share/share-13.png',
name: '原野MOJITO',
title: '原味舒食',
date: '周一至周日 10:00 - 凌晨02:00',
......@@ -220,6 +229,7 @@ Page({
App.globalData.appResourcesBase + 'shop/banner/banner-4-1-2.png',
App.globalData.appResourcesBase + 'shop/banner/banner-4-1-3.png',
],
shareImage: App.globalData.appResourcesBase + 'share/share-9.png',
name: '星空影院',
title: '星空影院',
date: '周一至周日 10:00 - 20:30',
......@@ -245,13 +255,14 @@ Page({
// 缓存当前商店信息
for (let i = 0, l = App.globalData.shopId.length; i < l; i++) {
if (funcAppId === App.globalData.shopId[i].appId) {
console.log(funcAppId)
let funcItem = {
'id': App.globalData.shopId[i].id,
'appId': App.globalData.shopId[i].appId,
'name': App.globalData.shopId[i].name,
'logo': App.globalData.shopId[i].logo,
'cover': App.globalData.shopId[i].cover,
'shopType': '4'
'shopType': this.data.option.type
}
wx.setStorageSync('shopInfoBuffer', funcItem)
break
......@@ -260,6 +271,7 @@ Page({
this.setData({
banner: funcDetail[funcIndex].banner,
shareImage: funcDetail[funcIndex].shareImage,
info: {
id: funcDetail[funcIndex].id,
name: funcDetail[funcIndex].name,
......@@ -286,8 +298,10 @@ Page({
queryDetailCommodity: function () {
let that = this
let officeId = wx.getStorageSync('shopInfoBuffer').id
let genre = wx.getStorageSync('shopInfoBuffer').shopType
let shopInfo = wx.getStorageSync('shopInfoBuffer')
let officeId = shopInfo.id
let genre = shopInfo.shopType
console.log(shopInfo)
App.wxRequest({
url: '/api/v1/commodity/recommend',
data: {
......@@ -296,7 +310,71 @@ Page({
'tag': '201'
},
success: function(res) {
console.log(res)
let funcResponse = res.data
console.log(funcResponse)
let funcList = []
for (let i = 0, l = funcResponse.length; i < l; i++) {
let funcItem = {
'classifyId': funcResponse[i].classifyId,
'coverImg': funcResponse[i].coverImg,
'genre': funcResponse[i].genre,
'id': funcResponse[i].id,
'title': funcResponse[i].name,
'officeId': funcResponse[i].officeId,
'price': funcResponse[i].sightseerPrice, // 普通价
'priceText': App.modular.utils.formatAmount(funcResponse[i].sightseerPrice), // 普通价文本格式
'priceSpecial': funcResponse[i].ownerPrice, // 业主价
'priceSpecialText': App.modular.utils.formatAmount(funcResponse[i].ownerPrice), // 业主价文本格式
'priceType': 1,
'content': funcResponse[i].synopsis,
}
funcList.push(funcItem)
}
that.setData({
detailCommodity: funcList
})
}
})
},
queryDetailMovie: function () {
App.wxRequest({
url: '/api/v1/film/getAllFilm',
data: {
'weekType': 0,
'pageSize': 10,
'pageNo': 1,
},
success: (response) => {
let funcResponse = response.data.list
let funcList = []
for (let i = 0, l = funcResponse.length; i < l; i++) {
let funcItem = {
'name': funcResponse[i].activityId,
'dateBegin': funcResponse[i].beginDate,
'dateEnd': funcResponse[i].endDate,
'cover': funcResponse[i].cover,
'movieDirector': funcResponse[i].filmDirector,
'movieLeader': funcResponse[i].filmLead,
'movieName': funcResponse[i].filmName,
'movieType': funcResponse[i].filmType,
'movieKeyWord': funcResponse[i].keyword,
'movieLeader': funcResponse[i].filmLead,
'price': funcResponse[i].visitorPrice, // 普通价
'priceText': App.modular.utils.formatAmount(funcResponse[i].visitorPrice), // 普通价文本格式
'priceSpecial': funcResponse[i].ownerPrice, // 业主价
'priceSpecialText': App.modular.utils.formatAmount(funcResponse[i].ownerPrice), // 业主价文本格式
'priceType': 1,
'tagsId': funcResponse[i].tagIds,
'tags': funcResponse[i].tags.split(' '),
}
if (funcItem.tagsId.includes('102')) {
funcList.push(funcItem)
}
}
this.setData({
detailCommodity: funcList
})
}
})
},
......@@ -440,4 +518,28 @@ Page({
showPopup: false
})
},
// 点击下载图片
onDownload: function () {
wx.showToast({
title: '已保存到相册',
icon: 'success'
})
this.setData({
showPopup: false
})
},
// 跳转到文创商品商店
onArtAll: function () {
wx.navigateTo({
url: '/pages/commodity/menu-art/menu-art',
})
},
onToBuy: function (event) {
console.log(event.currentTarget.dataset)
let id = event.currentTarget.dataset.id
let classifyId = event.currentTarget.dataset.classid
wx.navigateTo({
url: '/pages/commodity/menu-food/menu-food?commodityId=' + id + '&sideBarId=' + classifyId
})
}
})
\ No newline at end of file
......@@ -14,7 +14,7 @@
<swiper-point bannerStyle="{{1}}" bannerActiveIndex="{{bannerIndex}}"></swiper-point>
</view>
<view class="banner-wave">
<image src="/image/ornament-2-black.png" mode="widthFix"></image>
<image src="/image/ornament-2.png" mode="widthFix"></image>
</view>
</view>
......@@ -22,13 +22,13 @@
<!-- 详情标题,分享,位置 -->
<view class="commodity-title row align-c">
<text>{{info.title}}</text>
<image src="{{imageBase + 'icon/share-3.png'}}" bindtap="onShare"></image>
<image src="{{imageBase + 'icon/location-3.png'}}" bind:tap="onLocation"></image>
<image src="{{imageBase + 'icon/share-2.png'}}" bindtap="onShare"></image>
<image src="{{imageBase + 'icon/location-2.png'}}" bind:tap="onLocation"></image>
</view>
<!-- 分享弹出图片 -->
<l-popup show="{{showPopup}}" animation="{{false}}">
<view class="popupImage">
<image src="popupImage"></image>
<image src="{{shareImage}}"></image>
</view>
<view class="row con-b">
<view class="cancel" bindtap="onCancel">
......@@ -40,14 +40,14 @@
</view>
</l-popup>
<!-- 开放时间信息 -->
<view class="commodity-other row align-c">
<view class="commodity-other {{option.id === '6' || option.id === '4' ? 'food-border' : ''}} row align-c">
<image src="./image/time.png"></image>
<text>开放时间</text>
<text>{{info.date}}</text>
</view>
<!-- 近期活动 -->
<view class="commodity-card">
<view class="commodity-card" wx:if="{{option.id === '1' || option.id === '5'}}">
<view class="commodity-card-title row con-b align-e">
<text>近期活动</text>
<text>查看全部</text>
......@@ -78,28 +78,62 @@
</block>
</view>
</view>
<!-- SPA服务 -->
<view class="commodity-card" wx:if="{{option.id === '7'}}">
<view class="commodity-card-title row con-b align-e">
<text>SPA服务</text>
<text bindtap="">查看全部</text>
</view>
<view class="commodity-card-list row">
<block wx:for="{{detailCommodity}}" wx:for-index="index" wx:for-item="item" wx:key="index">
<view class="commodity-card-item col">
<image src=""></image>
<view class="commodity-card-item-title row con-b align-c">
<text>{{item.title}}</text>
</view>
<view class="commodity-card-item-date row align-c">
<text>{{item.content}}</text>
</view>
<view class="commodity-card-item-operation row con-b align-c">
<view class="row align-c">
<text>业主价</text>
<text class="price-symbol">¥</text>
<text>{{item.priceSpecialText == '0' ? '免费' : item.priceSpecialText}}</text>
<text class="price-unit">/人</text>
<text>{{'¥' + item.priceText}}</text>
</view>
<view>
<button class="row con-c align-c">购买</button>
</view>
</view>
</view>
</block>
</view>
</view>
<!-- 文创商品 -->
<view class="commodity-card">
<view class="commodity-card" wx:if="{{option.id === '1'}}">
<view class="commodity-card-title row con-b align-e">
<text>文创商品</text>
<text>查看全部</text>
<text bindtap="onArtAll">查看全部</text>
</view>
<view class="commodity-card-list row">
<block wx:for="{{detailActivity}}" wx:for-index="index" wx:for-item="item" wx:key="index">
<block wx:for="{{detailCommodity}}" wx:for-index="index" wx:for-item="item" wx:key="index">
<view class="commodity-card-item col">
<image src=""></image>
<image src="{{item.coverImg}}"></image>
<view class="commodity-card-item-title row align-c">
<text>{{item.title}}</text>
</view>
<view class="commodity-card-item-operation row con-b align-c">
<view class="row align-c">
<text>业主价</text>
<text>免费</text>
<text>{{item.price}}</text>
<text class="price-symbol">¥</text>
<text>{{item.priceSpecialText == '0' ? '免费' : item.priceSpecialText}}</text>
<text class="price-unit">/人</text>
<text>{{item.priceText}}</text>
</view>
<view>
<button class="row con-c align-c">购买</button>
<button class="row con-c align-c" bindtap="onToBuy" data-id="{{item.id}}" data-classid="{{item.classifyId}}">购买</button>
</view>
</view>
</view>
......@@ -188,8 +222,11 @@
</view>
<!-- 操作 -->
<view class="operation">
<button class="button row con-c align-c" bindtap="onContact">电话预约</button>
<view class="operation" wx:if="{{option.id === '1'}}">
<button class="button row con-c align-c" bindtap="onContact">购买门票</button>
</view>
<view class="operation" wx:if="{{option.id === '4' || option.id === '6'}}">
<button class="button row con-c align-c" bindtap="onContact">立即点餐</button>
</view>
<!-- 侧边返回顶部 -->
......@@ -214,7 +251,7 @@
<swiper-point bannerStyle="{{1}}" bannerActiveIndex="{{bannerIndex}}"></swiper-point>
</view>
<view class="banner-wave">
<image src="/image/ornament-2.png" mode="widthFix"></image>
<image src="/image/ornament-2-black.png" mode="widthFix"></image>
</view>
</view>
......@@ -228,7 +265,7 @@
<!-- 分享弹出图片 -->
<l-popup show="{{showPopup}}" animation="{{false}}">
<view class="popupImage">
<image src="popupImage"></image>
<image src="{{shareImage}}"></image>
</view>
<view class="row con-b">
<view class="cancel" bindtap="onCancel">
......@@ -258,32 +295,31 @@
<text>查看全部</text>
</view>
<view class="commodity-card-list row">
<block wx:for="{{detailActivity}}" wx:for-index="index" wx:for-item="item" wx:key="index">
<block wx:for="{{detailCommodity}}" wx:for-index="index" wx:for-item="item" wx:key="index">
<view class="movie-card-item col">
<image src=""></image>
<image src="{{item.cover}}"></image>
<view class="movie-card-item-title row align-c">
<text>{{item.title}}</text>
<text>{{item.movieName}}</text>
</view>
<view class="movie-card-item-info row align-c">
<view class="movie-card-item-info-left">
<text></text>
<text>类型</text>
</view>
<view class="movie-card-item-info-right">
<text></text>
<text>{{item.movieType}}</text>
</view>
</view>
<view class="movie-card-item-info row align-c">
<view class="movie-card-item-info-left">
<text></text>
<text>导演</text>
</view>
<view class="movie-card-item-info-right">
<text></text>
<text>{{item.movieDirector}}</text>
</view>
</view>
<view class="movie-card-item-operation row con-b align-c">
<view class="row align-c">
<text>免费</text>
<text>{{item.price}}</text>
</view>
<view>
<button class="row con-c align-c">报名观影</button>
......@@ -296,7 +332,7 @@
</view>
<view class="movie-footer">
<image></image>
<image src="/image/movie-bottom.png"></image>
</view>
......@@ -318,7 +354,7 @@
</view>
<!-- 评价 -->
<view class="evaluate" wx:if="{{contentType === 'evaluate'}}">
<view class="evaluate movie-evaluate" wx:if="{{contentType === 'evaluate'}}">
<view class="evaluate-option row con-b align-c">
<view class="evaluate-option-item row align-c">
<image src="{{imageBase + 'icon/evaluate-1.png'}}"></image>
......
......@@ -177,6 +177,9 @@
font-weight: 400;
line-height: 44rpx;
}
.food-border {
border-bottom: none;
}
.movie-border {
border-bottom: 1px #3A3A40 solid !important;
}
......@@ -273,7 +276,7 @@
font-size: 26rpx;
font-weight: 400;
line-height: 37rpx;
color: #15191F;
color: #fff;
}
.commodity-card-item-title text:nth-child(2) {
......@@ -309,18 +312,17 @@
font-weight: 400;
line-height: 40rpx;
color: #656E7B;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
.movie-card-item-info:first-child {
height: 33rpx;
margin-top: 13rpx;
padding: 0 20rpx;
}
.movie-card-item-info:last-child {
.movie-card-item-info {
height: 33rpx;
margin-top: 9rpx;
margin-top: 10rpx;
padding: 0 20rpx;
}
.movie-card-item-info-left {
width: 44rpx;
height: 33rpx;
......@@ -331,12 +333,16 @@
}
.movie-card-item-info-right {
flex: 1;
height: 33rpx;
margin-left: 8rpx;
font-size: 22rpx;
font-weight: 400;
color: #C2C7CF;
line-height: 32rpx;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
.commodity-card-item-operation {
......@@ -385,8 +391,7 @@
}
.commodity-card-item-operation text:nth-child(2) {
margin-right: 16rpx;
.commodity-card-item-operation text:nth-child(3) {
text-align: center;
font-size: 30rpx;
font-weight: 800;
......@@ -394,12 +399,27 @@
color: #15191F;
}
.commodity-card-item-operation text:nth-child(3) {
.commodity-card-item-operation text:nth-child(5) {
text-align: center;
font-size: 22rpx;
font-weight: 400;
line-height: 32rpx;
color: #C2C7CF;
text-decoration: line-through;
}
.price-symbol {
margin-top: 8rpx;
color: #15191F;
font-size: 18rpx;
font-weight: 600;
}
.price-unit {
margin-top: 8rpx;
margin-right: 16rpx;
color: #15191F;
font-size: 18rpx;
font-weight: 600;
}
.commodity-card-item-operation button {
......@@ -425,18 +445,17 @@
font-weight: 500;
line-height: 36rpx;
}
.movie-footer {
.movie-footer image {
width: 750rpx;
height: 150rpx;
background-color: #ccc;
margin-top: 80rpx;
}
/* 分享弹窗 */
.popupImage {
.popupImage image {
width: 606rpx;
height: 977rpx;
margin-bottom: 64rpx;
background-color: #ccc;
}
.cancel, .download {
width: 288rpx;
......@@ -551,7 +570,9 @@
line-height: 40rpx;
color: #15191F;
}
.movie-evaluate {
color: #fff;
}
/* 评论详情 */
.evaluate-item {
width: 670rpx;
......
......@@ -27,12 +27,14 @@ Page({
cover: App.globalData.appResourcesBase + 'play/detail/detail-1-2.png',
x: 108,
y: 232,
shopType: '4'
}, {
appId: 5,
name: '拾光花坊',
cover: App.globalData.appResourcesBase + 'play/detail/detail-1-3.png',
x: 108,
y: 246,
shopType: ''
}]
}, {
describe: [
......@@ -44,6 +46,7 @@ Page({
cover: App.globalData.appResourcesBase + 'play/detail/detail-2-2.png',
x: 108,
y: 246,
shopType: '2'
}]
}, {
describe: [
......@@ -55,12 +58,14 @@ Page({
cover: App.globalData.appResourcesBase + 'play/detail/detail-3-2.png',
x: 108,
y: 232,
shopType: '5'
}, {
appId: 4,
name: '原野MOJITO',
cover: App.globalData.appResourcesBase + 'play/detail/detail-3-3.png',
x: 108,
y: 246,
shopType: '5'
}]
}, {
describe: [
......@@ -72,6 +77,7 @@ Page({
cover: App.globalData.appResourcesBase + 'play/detail/detail-4-2.png',
x: 108,
y: 246,
shopType: ''
}]
}, {
describe: [
......@@ -88,9 +94,10 @@ Page({
onShopDetail: function (funcItem) {
let funcShopAppId = funcItem.currentTarget.dataset.id
let funcShopType = funcItem.currentTarget.dataset.type
console.log('funcShopAppId', funcShopAppId)
wx.navigateTo({
url: '/pages/play/service-detail/service-detail?id=' + funcShopAppId
url: '/pages/play/service-detail/service-detail?id=' + funcShopAppId + '&type=' + funcShopType
})
},
})
\ No newline at end of file
......@@ -15,6 +15,7 @@
class="button row con-c align-c"
style="{{'bottom: ' + item.y + 'rpx;left: ' + item.x + 'rpx;'}}"
data-id="{{item.appId}}"
data-type="{{item.shopType}}"
bindtap="onShopDetail"
>
<text>立即预定</text>
......
......@@ -26,7 +26,6 @@ let output = {
*/
formatAmount: function (funcAmountValue) {
if (!funcAmountValue && funcAmountValue !== 0) return
console.log(funcAmountValue, funcAmountValue.toString().length)
switch (funcAmountValue.toString().length) {
case 1:
funcAmountValue = '00' + funcAmountValue
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or sign in to comment