Skip to content
Toggle navigation
P
Projects
G
Groups
S
Snippets
Help
严立
/
mini-shimao
This project
Loading...
Sign in
Toggle navigation
Go to a project
Project
Repository
Issues
0
Merge Requests
0
Pipelines
Wiki
Snippets
Settings
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Commit
1bf256b3
authored
Sep 08, 2020
by
严立
Browse files
Options
_('Browse Files')
Download
Email Patches
Plain Diff
LL - 商品列表对接接口
parent
37af23b2
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
17 changed files
with
830 additions
and
610 deletions
app.js
app.json
environmental.js
pages/commodity/shopping-cart/shopping-cart.js
pages/commodity/shopping-cart/shopping-cart.json
pages/commodity/shopping-cart/shopping-cart.wxml
pages/commodity/shopping-cart/shopping-cart.wxss
pages/commodity/snacks/snacks.js
pages/commodity/snacks/snacks.json
pages/commodity/snacks/snacks.wxml
pages/commodity/snacks/snacks.wxss
pages/home/home/home.js
pages/home/home/home.wxml
pages/pay/order-input/order-input.js
pages/pay/order-input/order-input.wxml
pages/pay/order-input/order-input.wxss
project.config.json
app.js
View file @
1bf256b3
import
iMiment
from
'./npm/miment.js'
import
iMiment
from
'./npm/miment.js'
import
iUtils
from
'./utils/utils.js'
import
iUtils
from
'./utils/utils.js'
import
iEnvironmental
from
'./environmental.js'
App
({
App
({
modular
:
{
modular
:
{
...
@@ -10,10 +11,12 @@ App({
...
@@ -10,10 +11,12 @@ App({
globalData
:
{
globalData
:
{
appImageBase
:
'../../../image/'
,
appImageBase
:
'../../../image/'
,
appResourcesBase
:
'https://sm-web.meiqicloud.com/userfiles/appResourcesS2/'
,
appResourcesBase
:
'https://sm-web.meiqicloud.com/userfiles/appResourcesS2/'
,
shopId
:
iEnvironmental
.
shopId
,
token
:
''
,
token
:
''
,
refreshToken
:
''
,
refreshToken
:
''
,
userInfo
:
null
,
userInfo
:
null
,
baseUrl
:
'https://sm-web.meiqicloud.com'
,
//测试
baseUrl
:
'https://sm-web
2
.meiqicloud.com'
,
//测试
// baseUrl: 'https://smbhyh-web.meiqicloud.com',//生产
// baseUrl: 'https://smbhyh-web.meiqicloud.com',//生产
debug
:
true
,
debug
:
true
,
},
},
...
@@ -22,18 +25,6 @@ App({
...
@@ -22,18 +25,6 @@ App({
this
.
setUnitProportion
()
this
.
setUnitProportion
()
},
},
onShow
:
function
(
options
)
{
},
onHide
:
function
()
{
},
onError
:
function
(
msg
)
{
},
setUnitProportion
:
function
()
{
setUnitProportion
:
function
()
{
let
funcProportion
=
wx
.
getSystemInfoSync
().
windowWidth
/
750
let
funcProportion
=
wx
.
getSystemInfoSync
().
windowWidth
/
750
wx
.
setStorageSync
(
'unitProportion'
,
funcProportion
)
wx
.
setStorageSync
(
'unitProportion'
,
funcProportion
)
...
@@ -72,11 +63,11 @@ App({
...
@@ -72,11 +63,11 @@ App({
obj
.
success
(
res
.
data
)
obj
.
success
(
res
.
data
)
}
}
}
else
if
(
402
==
code
)
{
// token失效
}
else
if
(
402
==
code
)
{
// token失效
that
.
refreshToken
({
//
that.refreshToken({
success
:
function
()
{
//
success: function () {
that
.
wxRequest
(
obj
)
//
that.wxRequest(obj)
}
//
}
})
//
})
}
else
{
}
else
{
if
(
obj
.
fail
)
{
if
(
obj
.
fail
)
{
let
err
=
{
let
err
=
{
...
@@ -120,11 +111,13 @@ App({
...
@@ -120,11 +111,13 @@ App({
wx
.
login
({
wx
.
login
({
success
:
res
=>
{
success
:
res
=>
{
// 发送 res.code 到后台换取 openId, sessionKey, unionId
// 发送 res.code 到后台换取 openId, sessionKey, unionId
console
.
log
(
'wx.login:'
,
res
);
this
.
wxRequest
({
this
.
wxRequest
({
url
:
'/api/v1/login/getSmallSession?code='
+
res
.
code
,
url
:
'/api/v1/login/getSmallSession?code='
+
res
.
code
,
method
:
'GET'
,
method
:
'GET'
,
success
:
function
(
res
)
{
success
:
function
(
res
)
{
console
.
log
(
res
)
that
.
globalData
.
token
=
res
.
data
.
token
that
.
globalData
.
token
=
res
.
data
.
token
that
.
globalData
.
refreshToken
=
res
.
data
.
refreshToken
that
.
globalData
.
refreshToken
=
res
.
data
.
refreshToken
wx
.
setStorageSync
(
'expires_in'
,
res
.
data
.
expires_in
)
wx
.
setStorageSync
(
'expires_in'
,
res
.
data
.
expires_in
)
...
...
app.json
View file @
1bf256b3
{
{
"pages"
:
[
"pages"
:
[
"pages/commodity/shopping-cart/shopping-cart"
,
"pages/home/home/home"
,
"pages/home/home/home"
,
"pages/home/dynamic/dynamic"
,
"pages/home/dynamic/dynamic"
,
...
@@ -22,7 +22,7 @@
...
@@ -22,7 +22,7 @@
"pages/play/strategy-detail/strategy-detail"
,
"pages/play/strategy-detail/strategy-detail"
,
"pages/commodity/home/home"
,
"pages/commodity/home/home"
,
"pages/commodity/shopping-cart/shopping-cart"
,
"pages/commodity/food/food"
,
"pages/commodity/food/food"
,
"pages/commodity/project/project"
,
"pages/commodity/project/project"
,
"pages/commodity/snacks/snacks"
,
"pages/commodity/snacks/snacks"
,
...
...
environmental.js
0 → 100644
View file @
1bf256b3
let
Environmental
=
'dev'
let
Development
=
{
host
:
'https://sm-web.meiqicloud.com'
,
shopId
:
[
{
miniAppId
:
1
,
databaseId
:
'581be62a80bb4f0485abd87abcf64dc0'
,
name
:
'海错图1号馆'
,
},
{
miniAppId
:
2
,
databaseId
:
'26c40446fc454a02abe61758176597f6'
,
name
:
'拾光花坊'
,
},
{
miniAppId
:
3
,
databaseId
:
'2614f117406548718bc091f24368c16e'
,
name
:
'元养水韵SPA'
,
},
{
miniAppId
:
4
,
databaseId
:
'd9436d7018de43809824b6ec221ea01f'
,
name
:
'原味舒食'
,
},
{
miniAppId
:
5
,
databaseId
:
'c63893bb472f43bca4ec72f890bcb4fd'
,
name
:
'原野MOJITO'
,
},
{
miniAppId
:
6
,
databaseId
:
'3cfe2e3b8b4342e8b62f8b45daf60d91'
,
name
:
'5D星空影院'
,
},
{
miniAppId
:
7
,
databaseId
:
'8a3e59c57f564c569b3d7bb278ea50b3'
,
name
:
'儿童营地'
,
}
]
}
let
Production
=
{
host
:
'https://smbhyh-web.meiqicloud.com'
,
}
export
default
Environmental
===
'dev'
?
Development
:
Production
\ No newline at end of file
pages/commodity/shopping-cart/shopping-cart.js
View file @
1bf256b3
// pages/shimao/index.js
let
App
=
getApp
()
Page
({
Page
({
data
:
{
data
:
{
totalNum
:
3
,
shoppingCart
:
[],
// 购物车列表
totalPrice
:
840.00
,
shoppingCartSelection
:
0
,
// 购物车选择数量
discount
:
270.00
,
allChecked
:
false
,
isFoodCart
:
true
,
isEnough
:
false
,
cart
:
[
{
goods_id
:
0
,
goods_name
:
'雪碧迷你瓶装300ml'
,
totalNum
:
3
,
goods_now_price
:
49.00
,
totalPrice
:
840.00
,
goods_old_price
:
42.00
,
discount
:
270.00
,
goods_now_text
:
'业主价'
,
allChecked
:
false
,
goods_num
:
1
,
isFoodCart
:
true
,
store_num
:
1
,
isEnough
:
false
,
checked
:
true
,
cart
:
[{
img
:
'./image/item01.png'
goods_id
:
0
,
},
goods_name
:
'雪碧迷你瓶装300ml'
,
{
goods_now_price
:
49.00
,
goods_id
:
1
,
goods_old_price
:
42.00
,
goods_name
:
'可口可乐300ml'
,
goods_now_text
:
'业主价'
,
goods_now_price
:
52.00
,
goods_num
:
1
,
goods_old_price
:
49.00
,
store_num
:
1
,
goods_now_text
:
'活动价'
,
checked
:
true
,
goods_num
:
1
,
img
:
'./image/item01.png'
store_num
:
2
,
},
checked
:
true
,
{
img
:
'./image/item01.png'
goods_id
:
1
,
},
goods_name
:
'可口可乐300ml'
,
{
goods_now_price
:
52.00
,
goods_id
:
2
,
goods_old_price
:
49.00
,
goods_name
:
'葡萄汁饮料238ml'
,
goods_now_text
:
'活动价'
,
goods_now_price
:
30.00
,
goods_num
:
1
,
goods_num
:
2
,
store_num
:
2
,
checked
:
true
,
checked
:
true
,
img
:
'./image/item01.png'
img
:
'./image/item01.png'
},
},
{
{
goods_id
:
3
,
goods_id
:
2
,
goods_name
:
'牛奶苏打碳酸250ml'
,
goods_name
:
'葡萄汁饮料238ml'
,
goods_now_price
:
78
,
goods_now_price
:
30.00
,
goods_num
:
12
,
goods_num
:
2
,
checked
:
false
,
checked
:
true
,
img
:
'./image/item01.png'
img
:
'./image/item01.png'
}
},
],
{
notEnough
:
[
goods_id
:
3
,
{
goods_name
:
'牛奶苏打碳酸250ml'
,
id
:
0
,
goods_now_price
:
78
,
img
:
'./image/item01.png'
,
goods_num
:
12
,
title
:
'葱爆牛肉佐秘制麻椒汁'
checked
:
false
,
},
img
:
'./image/item01.png'
{
}
id
:
1
,
],
img
:
'./image/item01.png'
,
notEnough
:
[{
title
:
'抹茶酸奶芝士'
id
:
0
,
img
:
'./image/item01.png'
,
title
:
'葱爆牛肉佐秘制麻椒汁'
},
{
id
:
1
,
img
:
'./image/item01.png'
,
title
:
'抹茶酸奶芝士'
}
]
},
onLoad
:
function
()
{
// 读取上级页面的购物车数据,默认选中所有。
let
funcShoppingCart
=
wx
.
getStorageSync
(
'shoppingCartBuffer'
)
for
(
let
i
=
0
,
l
=
funcShoppingCart
.
length
;
i
<
l
;
i
++
)
{
funcShoppingCart
[
i
].
isActive
=
true
}
}
]
this
.
setData
({
shoppingCart
:
funcShoppingCart
})
},
},
handleItemNumEdit
(
e
)
{
handleItemNumEdit
(
e
)
{
const
operation
=
e
.
currentTarget
.
dataset
.
operation
const
operation
=
e
.
currentTarget
.
dataset
.
operation
const
goods_id
=
e
.
currentTarget
.
dataset
.
id
const
goods_id
=
e
.
currentTarget
.
dataset
.
id
let
cart
=
this
.
data
.
cart
let
cart
=
this
.
data
.
cart
const
index
=
cart
.
findIndex
(
v
=>
v
.
goods_id
===
goods_id
)
const
index
=
cart
.
findIndex
(
v
=>
v
.
goods_id
===
goods_id
)
if
((
cart
[
index
].
store_num
===
cart
[
index
].
goods_num
)
&&
operation
===
1
)
{
if
((
cart
[
index
].
store_num
===
cart
[
index
].
goods_num
)
&&
operation
===
1
)
{
console
.
log
(
'没有库存'
)
console
.
log
(
'没有库存'
)
}
else
if
(
cart
[
index
].
goods_num
===
1
&&
operation
===
-
1
)
{
}
else
if
(
cart
[
index
].
goods_num
===
1
&&
operation
===
-
1
)
{
wx
.
lin
.
showDialog
({
wx
.
lin
.
showDialog
({
type
:
"confirm"
,
type
:
"confirm"
,
title
:
"温馨提示"
,
title
:
"温馨提示"
,
content
:
"您是否要删除该商品?"
,
content
:
"您是否要删除该商品?"
,
confirmColor
:
"#5DB5DD"
,
confirmColor
:
"#5DB5DD"
,
cancelColor
:
"#656E7B"
,
cancelColor
:
"#656E7B"
,
titleColor
:
"#15191F"
,
titleColor
:
"#15191F"
,
success
:
(
res
)
=>
{
success
:
(
res
)
=>
{
if
(
res
.
confirm
)
{
if
(
res
.
confirm
)
{
cart
.
splice
(
index
,
1
)
cart
.
splice
(
index
,
1
)
this
.
setCart
(
cart
)
this
.
setCart
(
cart
)
}
else
if
(
res
.
cancel
)
{
}
else
if
(
res
.
cancel
)
{
console
.
log
(
'用户点击取消'
)
console
.
log
(
'用户点击取消'
)
}
}
}
}
})
})
}
else
{
}
else
{
cart
[
index
].
goods_num
+=
operation
cart
[
index
].
goods_num
+=
operation
this
.
setCart
(
cart
)
this
.
setCart
(
cart
)
}
}
},
},
handleItemCheck
(
e
)
{
handleItemCheck
(
e
)
{
const
goods_id
=
e
.
currentTarget
.
dataset
.
id
const
goods_id
=
e
.
currentTarget
.
dataset
.
id
let
cart
=
this
.
data
.
cart
let
cart
=
this
.
data
.
cart
const
index
=
cart
.
findIndex
(
v
=>
v
.
goods_id
===
goods_id
)
const
index
=
cart
.
findIndex
(
v
=>
v
.
goods_id
===
goods_id
)
cart
[
index
].
checked
=
!
cart
[
index
].
checked
cart
[
index
].
isActive
=
!
cart
[
index
].
isActive
this
.
setCart
(
cart
)
this
.
setCart
(
cart
)
},
},
handleItemAllCheck
()
{
handleItemAllCheck
()
{
let
allChecked
=
!
this
.
data
.
allChecked
let
allChecked
=
!
this
.
data
.
allChecked
let
cart
=
this
.
data
.
cart
let
cart
=
this
.
data
.
cart
cart
.
forEach
(
v
=>
v
.
checked
=
allChecked
)
cart
.
forEach
(
v
=>
v
.
checked
=
allChecked
)
this
.
setCart
(
cart
)
this
.
setCart
(
cart
)
},
},
setCart
(
cart
)
{
setCart
(
cart
)
{
let
totalPrice
=
0
let
totalPrice
=
0
let
totalNum
=
0
let
totalNum
=
0
let
allChecked
=
true
let
allChecked
=
true
cart
.
forEach
(
v
=>
{
cart
.
forEach
(
v
=>
{
if
(
v
.
checked
)
{
if
(
v
.
checked
)
{
totalPrice
+=
v
.
goods_now_price
*
v
.
goods_num
totalPrice
+=
v
.
goods_now_price
*
v
.
goods_num
totalNum
+=
1
totalNum
+=
1
}
else
{
}
else
{
allChecked
=
false
allChecked
=
false
}
}
})
})
allChecked
=
cart
.
length
!=
0
?
allChecked
:
false
allChecked
=
cart
.
length
!=
0
?
allChecked
:
false
this
.
setData
({
this
.
setData
({
cart
,
cart
,
allChecked
,
allChecked
,
totalPrice
,
totalPrice
,
totalNum
totalNum
})
})
},
},
handleClearCart
()
{
handleClearCart
()
{
wx
.
lin
.
showDialog
({
wx
.
lin
.
showDialog
({
type
:
"confirm"
,
type
:
"confirm"
,
title
:
"温馨提示"
,
title
:
"温馨提示"
,
content
:
"确定要清空购物车?"
,
content
:
"确定要清空购物车?"
,
confirmColor
:
"#5DB5DD"
,
confirmColor
:
"#5DB5DD"
,
cancelColor
:
"#656E7B"
,
cancelColor
:
"#656E7B"
,
titleColor
:
"#15191F"
,
titleColor
:
"#15191F"
,
success
:
(
res
)
=>
{
success
:
(
res
)
=>
{
if
(
res
.
confirm
)
{
if
(
res
.
confirm
)
{
let
cart
=
[]
let
cart
=
[]
this
.
setCart
(
cart
)
this
.
setCart
(
cart
)
}
else
if
(
res
.
cancel
)
{
}
else
if
(
res
.
cancel
)
{
console
.
log
(
'用户点击取消'
)
console
.
log
(
'用户点击取消'
)
}
}
}
}
})
})
},
},
handleOrderPay
()
{
handleOrderPay
()
{
let
isEnough
=
true
let
isEnough
=
true
this
.
setData
({
this
.
setData
({
isEnough
isEnough
})
})
},
},
handleBackCart
()
{
handleBackCart
()
{
let
isEnough
=
false
let
isEnough
=
false
this
.
setData
({
this
.
setData
({
isEnough
isEnough
})
})
},
},
})
})
\ No newline at end of file
\ No newline at end of file
pages/commodity/shopping-cart/shopping-cart.json
View file @
1bf256b3
{
{
"usingComponents"
:
{
"usingComponents"
:
{
"Tips"
:
"../../../component/Tips/Tips"
,
"Tips"
:
"../../../component/Tips/Tips"
,
"Blank"
:
"../../../component/Blank/Blank"
"Blank"
:
"../../../component/Blank/Blank"
},
},
"navigationStyle"
:
"default"
,
"navigationStyle"
:
"default"
,
"navigationBarBackgroundColor"
:
"#fff"
,
"navigationBarBackgroundColor"
:
"#fff"
,
"navigationBarTitleText"
:
"购物车"
"navigationBarTitleText"
:
"购物车"
}
}
\ No newline at end of file
pages/commodity/shopping-cart/shopping-cart.wxml
View file @
1bf256b3
<view class="header row align-c">
<view class="header row align-c">
<view class="header_img">
<view class="header_img">
<image mode="aspectFill" src="./image/item01.png" />
<image mode="aspectFill" src="./image/item01.png" />
</view>
<view class="header_title">儿童营地</view>
<view class="header_clear row align-c" bindtap="handleClearCart">清空</view>
<!-- 清空弹窗 -->
<l-dialog l-content-class="l-content" l-cancel-class="l-cancel" title-color="#15191F" cancel-color="#656E7B" confirm-color="#5DB5DD"/>
</view>
<scroll-view scroll-y class="item_list">
<view class="item row" wx:for="{{cart}}" wx:key="id">
<radio-group class="item_checked" bindtap="handleItemCheck" data-id="{{item.goods_id}}">
<radio checked="{{item.checked}}" color="#86C5E1"></radio>
</radio-group>
<view class="item_img">
<image src="{{item.img}}" mode="widthFix"/>
</view>
</view>
<view class="item_info">
<view class="header_title">儿童营地</view>
<view class="item_info_title">{{item.goods_name}}</view>
<view class="header_clear row align-c" bindtap="handleClearCart">清空</view>
<view class="item_info_now_price row align-c">
<!-- 清空弹窗 -->
<view><text>¥</text>{{item.goods_now_price}}</view>
<l-dialog l-content-class="l-content" l-cancel-class="l-cancel" title-color="#15191F" cancel-color="#656E7B" confirm-color="#5DB5DD" />
<view
</view>
class="item_now_price_text {{item.goods_now_text === '业主价' ? 'vipPrice' : ''}}"
wx:if="{{item.goods_now_text}}"
>
{{item.goods_now_text}}
</view>
<view class="goods_num_tool_wrapper col align-e">
<view class="goods_num_tool row con-c align-c">
<!-- <l-counter l-class="l-counter" l-symbol-class="l-symbol" l-disabled-class="l-disabled" l-count-class="l-count" count="{{item.goods_num}}" min="0" max="{{item.store_num}}"></l-counter> -->
<view
class="num_edit row con-c align-c"
bindtap="handleItemNumEdit"
data-id="{{item.goods_id}}"
data-operation="{{-1}}"
>-</view>
<view class="goods_num row con-c align-c">{{item.goods_num}}</view>
<view
class="num_edit row con-c align-c {{item.store_num === item.goods_num ? 'disable' : ''}}"
bindtap="handleItemNumEdit"
data-id="{{item.goods_id}}"
data-operation="{{1}}"
>+</view>
</view>
<view wx:if="{{item.store_num < 5}}" class="lack_wraning">仅剩{{item.store_num}}件</view>
</view>
</view>
<view class="shopping-cart-list">
<view class="item_info_old_price" wx:if="{{item.goods_old_price}}">
<block wx:for="{{shoppingCart}}" wx:for-index="index" wx:for-item="item" wx:key="index">
<text class="price_symbol">¥</text>
<view class="list-item row">
<text>{{item.goods_old_price}}</text>
<view class="list-item-radio row con-c align-c">
</view>
<radio checked="{{item.isActive}}" color="#86C5E1"></radio>
</view>
</view>
</view>
<view class="list-item-cover">
</scroll-view>
<image src="{{item.cover}}" mode="widthFix" />
</view>
<view class="list-item-info col con-b">
<view class="list-item-name">
<text>{{item.name}}</text>
</view>
<view class="list-item-other row con-b">
<view class="list-item-price">
<view class="list-item-price-main row align-c">
<text>¥</text>
<text>520.00</text>
<text class="price-discount">活动价</text>
</view>
<view class="list-item-price-minor row">
<text>¥</text>
<text>49.00</text>
</view>
</view>
<view class="list-item-quantity col con-e align-e">
<view class="list-item-quantity-operation row con-b align-c">
<text bindtap="handleItemNumEdit">-</text>
<text>{{item.quantity}}</text>
<text bindtap="handleItemNumEdit">+</text>
</view>
<view class="list-item-quantity-warning" hidden="{{item.store_num < 5}}">
<text>{{'仅剩' + item.store_num + '件'}}</text>
</view>
</view>
</view>
</view>
</view>
</block>
</view>
<!-- 只有在食品购物车才出现 -->
<!-- 只有在食品购物车才出现 -->
<view class="tips-wrapper" wx:if="{{isFoodCart && cart.length > 0}}"
>
<view class="tips-wrapper" wx:if="{{isFoodCart && cart.length > 0}}">
<Tips text="请在下单内3天内取餐,逾期无效"></Tips>
<Tips text="请在下单内3天内取餐,逾期无效"></Tips>
</view>
</view>
<view class="footer row con-c align-c">
<view class="footer row con-c align-c">
<view class="all_chk_wrap row con-c align-c">
<view class="all_chk_wrap row con-c align-c">
<radio-group>
<radio-group>
<radio color="#86C5E1" checked="{{allChecked}}" bindtap="handleItemAllCheck">已选 ({{totalNum}})</radio>
<radio color="#86C5E1" checked="{{allChecked}}" bindtap="handleItemAllCheck">已选 ({{totalNum}})</radio>
</radio-group>
</radio-group>
</view>
<view class="total_price_wrap">
<view class="total_price">
¥<text class="total_price_text">{{totalPrice}}</text>
</view>
</view>
<view class="total_discount">共{{totalNum}}件,优惠 ¥{{discount}}</view>
<view class="total_price_wrap">
</view>
<view class="total_price">
<view class="order_pay_wrap row con-c align-c" bindtap="handleOrderPay">结算</view>
¥
<!-- 库存提示弹窗 -->
<text class="total_price_text">{{totalPrice}}</text>
<l-popup show="{{isEnough}}" content-align="center" locked="{{true}}">
</view>
<view class="popup_wrap">
<view class="total_discount">共{{totalNum}}件,优惠 ¥{{discount}}</view>
<view class="popup_title">抱歉,您本单商品有2件库存不足</view>
</view>
<view class="popup_list">
<view class="order_pay_wrap row con-c align-c" bindtap="handleOrderPay">结算</view>
<view class="popup_item row align-c" wx:for="{{notEnough}}" wx:key="id">
<!-- 库存提示弹窗 -->
<view class="popup_item_img">
<l-popup show="{{isEnough}}" content-align="center" locked="{{true}}">
<image mode="widthFix" src="{{item.img}}"></image>
<view class="popup_wrap">
<view class="popup_title">抱歉,您本单商品有2件库存不足</view>
<view class="popup_list">
<view class="popup_item row align-c" wx:for="{{notEnough}}" wx:key="id">
<view class="popup_item_img">
<image mode="widthFix" src="{{item.img}}"></image>
</view>
<view class="popup_item_title">{{item.title}}</view>
</view>
</view>
</view>
<view class="popup_item_title">{{item.title}}</view>
<view class="popup_back_cart row con-c align-c" bindtap="handleBackCart">返回购物车</view>
</view>
</view>
</view>
<view class="popup_back_cart row con-c align-c" bindtap="handleBackCart">返回购物车</view>
<view class="popup_close_btn row con-c align-c" bindtap="handleClosePopup">
</view>
<view class="popup_close">
<view class="popup_close_btn row con-c align-c" bindtap="handleClosePopup">
<image mode="widthFix" src="../../../image/icon_close.png"></image>
<view class="popup_close">
</view>
<image mode="widthFix" src="../../../image/icon_close.png"></image>
</view>
</view>
</view>
</l-popup>
</l-popup>
</view>
</view>
<Blank></Blank>
<Blank></Blank>
\ No newline at end of file
pages/commodity/shopping-cart/shopping-cart.wxss
View file @
1bf256b3
Page {
Page {
position: relative;
position: relative;
height: 100%;
height: 100%;
}
}
.header {
.header {
width: 100%;
width: 100%;
height: 116rpx;
height: 116rpx;
padding: 16rpx 40rpx;
padding: 16rpx 40rpx;
font-size: 30rpx;
font-size: 30rpx;
}
}
.header_img {
.header_img {
width: 112rpx;
width: 112rpx;
height: 84rpx;
height: 84rpx;
}
}
.header_img image {
.header_img image {
width: 100%;
width: 100%;
height: 100%;
height: 100%;
}
}
.header_title {
.header_title {
flex: 1;
flex: 1;
color: #C
36069;
color: #c
36069;
}
}
.header_clear {
.header_clear {
height: 100%;
height: 100%;
color: #656E7B
;
color: #656e7b
;
}
}
.l-content {
.l-content {
color: #959DA
9 !important;
color: #959da
9 !important;
}
}
.item_list {
/* 购物车列表 */
width: 100%;
.shopping-cart-list {
height: calc(100vh - 390rpx);
width: 100%;
margin-top: 10rpx;
height: calc(100vh - 390rpx);
margin-top: 10rpx;
}
}
.item {
.
list-
item {
width: 100%;
width: 100%;
height: 250rpx;
height: 250rpx;
padding: 0 40rpx;
padding: 0 40rpx;
box-sizing: border-box;
box-sizing: border-box;
}
}
.
item_checked
{
.
list-item-radio
{
width: 40rpx;
width: 40rpx;
height: 40rpx;
height: 40rpx;
margin-top: 54rpx
;
margin: 54rpx 24rpx 0 0
;
}
}
.item_img {
.list-item-radio radio {
width: 148rpx;
transform: scale(0.7);
height: 148rpx;
margin-left: 24rpx;
}
}
.item_info {
.list-item-cover image {
flex: 1;
width: 148rpx;
margin-left: 28rpx;
height: 148rpx;
margin-right: 30rpx;
}
}
.
item_info_title
{
.
list-item-info
{
font-size:
30rpx;
width: 4
30rpx;
color: #15191F
;
height: 168rpx
;
}
}
.list-item-name {
.item_info_now_price {
min-height: 108rpx;
margin-top: 66rpx;
font-size: 30rpx;
font-size: 30rpx;
font-weight: 500;
color: #15191F;
line-height: 42rpx;
color: #15191F;
}
}
.item_now_price_text {
.list-item-price-main text:nth-child(1) {
width: 78rpx;
height: 42rpx;
height: 32rpx;
font-size: 22rpx;
margin-left: 4px;
font-weight: 500;
font-size: 18rpx;
line-height: 42rpx;
color: #EF4E4E;
color: #15191F;
line-height: 32rpx;
text-align: center;
background: rgba(213, 107, 82, .12);
border-radius: 4rpx;
}
.vipPrice {
color: #E8D0AF;
background: linear-gradient(180deg, #3F4357 0%, #252532 100%);
border-radius: 4rpx;
opacity: 1;
}
}
.goods_num_tool_wrapper {
.list-item-price-main text:nth-child(2) {
flex: 1;
height: 42rpx;
position: relative;
margin-right: 8rpx;
}
font-size: 30rpx;
.goods_num_tool {
font-weight: 500;
width: 168rpx;
line-height: 42rpx;
height: 48rpx;
color: #15191F;
padding: 12rpx 0;
box-sizing: border-box;
border: 1px solid #DBDFE5;
border-radius: 4rpx;
}
}
.l
-counter
{
.l
ist-item-price-main .price-discount
{
border: 1px solid #DBDFE5
;
width: 78rpx
;
border-radius: 4
rpx;
height: 32
rpx;
box-sizing: border-bo
x;
border-radius: 4p
x;
}
background: #FAEDEA;
.l-symbol, .l-disabled, .l-count {
text-align: center;
background-color: #fff !important;
font-size: 18rpx;
font-weight: 500;
line-height: 30rpx;
color: #EF4E4E;
}
}
.l-symbol, .l-count {
.list-item-price-minor text {
color: #15191F !important;
height: 32rpx;
font-size: 22rpx;
font-weight: 400;
line-height: 32rpx;
color: #959DA9;
}
}
.l-count {
.list-item-quantity {
border-left: 1px solid #DBDFE5;
flex-grow: 1;
border-right: 1px solid #DBDFE5;
min-height: 0rpx !important;
}
}
.num_edit {
.list-item-quantity-operation {
flex: 1;
width: 168rpx;
height: 48rpx;
padding: 0 16rpx;
border: 1px solid #DBDFE5;
border-radius: 4px;
}
}
.
goods_num
{
.
list-item-quantity-operation text:nth-child(1)
{
flex: 1
;
width: 24rpx
;
border-left: 1px solid #DBDFE5
;
height: 24rpx
;
border-right: 1px solid #DBDFE5
;
line-height: 24rpx
;
}
}
.disable {
.list-item-quantity-operation text:nth-child(2) {
color: #DBDFE5;
height: 36rpx;
font-size: 26rpx;
font-weight: 500;
line-height: 36rpx;
color: #15191F;
}
}
.lack_wraning {
.list-item-quantity-operation text:nth-child(3) {
position: absolute;
width: 24rpx;
top: 56rpx;
height: 24rpx;
right: 84rpx;
line-height: 24rpx;
transform: translateX(50%);
color: #D92B3A;
font-size: 22rpx;
}
}
.item_info_old_price {
.list-item-quantity-warning {
margin-top: 4rpx;
width: 168rpx;
font-size: 22rpx;
height: 32rpx;
color: #959DA9;
margin-top: 8rpx;
text-decoration:line-through
}
text {
text-align: center;
font-size: 22rpx;
font-size: 22rpx;
font-weight: 400;
line-height: 32rpx;
color: #D92B3A;
}
}
.tips-wrapper {
.tips-wrapper {
position: absolute;
position: absolute;
left: 0;
left: 0;
bottom: 196rpx;
bottom: 196rpx;
width: 100%;
width: 100%;
}
}
.footer {
.footer {
position: fixed;
position: fixed;
left: 0;
left: 0;
bottom: 0;
bottom: 0;
width: 100%;
width: 100%;
height: 196rpx;
height: 196rpx;
background-color: #fff;
background-color: #fff;
display: flex;
display: flex;
padding: 0 40rpx 36rpx 36rpx;
padding: 0 40rpx 36rpx 36rpx;
box-sizing: border-box;
box-sizing: border-box;
border-top: 1px solid #E2E7EF
;
border-top: 1px solid #e2e7ef
;
}
}
.all_chk_wrap {
.all_chk_wrap {
flex: 3;
flex: 3;
font-size: 26rpx;
font-size: 26rpx;
color: #15191F
;
color: #15191f
;
}
}
.total_price_wrap {
.total_price_wrap {
flex: 5;
flex: 5;
text-align: right;
text-align: right;
padding-right: 32rpx;
padding-right: 32rpx;
}
}
.total_price {
.total_price {
color: #86C5E
1;
color: #86c5e
1;
}
}
.total_price_text {
.total_price_text {
font-size: 44rpx;
font-size: 44rpx;
}
}
.total_discount {
.total_discount {
font-size: 22rpx;
font-size: 22rpx;
}
}
.order_pay_wrap {
.order_pay_wrap {
width: 188rpx;
width: 188rpx;
height: 96rpx;
height: 96rpx;
font-size: 30rpx;
font-size: 30rpx;
color: #fff;
color: #fff;
background-color: #86C5E
1;
background-color: #86c5e
1;
}
}
.popup_wrap {
.popup_wrap {
width: 606rpx;
width: 606rpx;
height: 690rpx;
height: 690rpx;
padding: 0 40rpx;
padding: 0 40rpx;
background-color: #fff;
background-color: #fff;
border-radius: 4rpx;
border-radius: 4rpx;
}
}
.popup_title {
.popup_title {
padding: 56rpx 0;
padding: 56rpx 0;
font-size: 34rpx;
font-size: 34rpx;
font-weight: 600;
font-weight: 600;
color: #15191F
;
color: #15191f
;
text-align: center;
text-align: center;
border-bottom: 1px solid #E2E7EF
;
border-bottom: 1px solid #e2e7ef
;
}
}
.popup_list {
.popup_list {
padding: 26rpx 0;
padding: 26rpx 0;
}
}
.popup_item {
.popup_item {
padding: 32rpx 0;
padding: 32rpx 0;
}
}
.popup_item_img {
.popup_item_img {
width: 96rpx;
width: 96rpx;
height: 96rpx;
height: 96rpx;
}
}
.popup_item_title {
.popup_item_title {
margin-left: 32rpx;
margin-left: 32rpx;
font-size: 30rpx;
font-size: 30rpx;
color: #15191F
;
color: #15191f
;
}
}
.popup_back_cart {
.popup_back_cart {
width: 526rpx;
width: 526rpx;
height: 80rpx;
height: 80rpx;
margin-top: 32rpx;
margin-top: 32rpx;
font-size: 30rpx;
font-size: 30rpx;
color: #fff;
color: #fff;
background-color: #86C5E
1;
background-color: #86c5e
1;
}
}
image {
image {
width: 100%;
width: 100%;
height: 100%;
height: 100%;
}
}
\ No newline at end of file
pages/commodity/snacks/snacks.js
View file @
1bf256b3
This diff is collapsed.
Click to expand it.
pages/commodity/snacks/snacks.json
View file @
1bf256b3
{
{
"usingComponents"
:
{
"usingComponents"
:
{},
"Blank"
:
"../../../component/Blank/Blank"
},
"navigationBarTitleText"
:
"购物车"
,
"navigationBarTitleText"
:
"购物车"
,
"navigationStyle"
:
"default"
,
"navigationStyle"
:
"default"
,
"navigationBarBackgroundColor"
:
"#fff"
"navigationBarBackgroundColor"
:
"#fff"
...
...
pages/commodity/snacks/snacks.wxml
View file @
1bf256b3
This diff is collapsed.
Click to expand it.
pages/commodity/snacks/snacks.wxss
View file @
1bf256b3
Page {
Page {
height: 100%;
height: 100%;
}
}
.cates {
.cates {
height: 100%;
height: 100%;
}
}
.cates-container {
.cates-container {
height: 100vh;
height: 100vh;
display: flex;
display: flex;
}
}
.left-menu {
width: 160rpx;
background: #F2F3F5;
.side-bar {
width: 160rpx;
overflow-y: scroll;
background: #f2f3f5;
}
}
::-webkit-scrollbar {
width: 0;
.side-bar::-webkit-scrollbar {
height: 0;
width: 0;
color: transparent;
}
}
.menu-item {
.menu-item {
height: 136rpx;
height: 136rpx;
display: flex;
display: flex;
justify-content: center;
justify-content: center;
align-items: center;
align-items: center;
font-size: 26rpx;
font-size: 26rpx;
color: #656E7B
;
color: #656e7b
;
}
}
.menu-item.active {
.menu-item.active {
color: #5CB5DD
;
color: #5cb5dd
;
font-weight: 600;
font-weight: 600;
background: #fff;
background: #fff;
border-left: 8rpx solid #86C5E
1;
border-left: 8rpx solid #86c5e
1;
}
}
.right-content {
.right-content {
position: relative;
position: relative;
flex: 1;
flex: 1;
padding: 0 32rpx 0 28rpx;
padding: 0 32rpx 0 28rpx;
}
}
.right-content-title {
.right-content-title {
height: 100rpx;
height: 100rpx;
padding: 32rpx 0;
padding: 32rpx 0;
font-size: 26rpx;
font-size: 26rpx;
color: #959DA
9;
color: #959da
9;
}
}
.cart-btn {
.cart-btn {
position: fixed;
position: fixed;
right: 48rpx;
right: 48rpx;
bottom: 160rpx;
bottom: 160rpx;
width: 104rpx;
width: 104rpx;
height: 104rpx;
height: 104rpx;
border-radius: 50%;
border-radius: 50%;
background-color: #86C5E
1;
background-color: #86c5e
1;
}
}
.cart-num {
.cart-num {
position: absolute;
position: absolute;
top: 0;
top: 0;
right: 0;
right: 0;
height: 32rpx;
height: 32rpx;
padding: 0 12rpx;
padding: 0 12rpx;
font-size: 22rpx;
font-size: 22rpx;
line-height: 32rpx;
line-height: 32rpx;
border: 1px solid #86C5E
1;
border: 1px solid #86c5e
1;
border-radius: 17rpx;
border-radius: 17rpx;
color: #86C5E
1;
color: #86c5e
1;
background-color: #fff;
background-color: #fff;
}
}
.cart-img-wrap {
.cart-img-wrap {
width: 48rpx;
width: 48rpx;
height: 48rpx;
height: 48rpx;
}
}
.item {
.item {
width: 100%;
width: 100%;
height: 250rpx;
height: 250rpx;
box-sizing: border-box;
box-sizing: border-box;
}
}
.item-img {
.item-img {
width: 160rpx;
width: 160rpx;
height: 160rpx;
height: 160rpx;
}
}
.item-info {
.item-info {
flex: 1;
flex: 1;
margin-left: 28rpx;
margin-left: 28rpx;
}
}
.item-info-title {
.item-info-title {
font-size: 30rpx;
font-size: 30rpx;
color: #15191F;
font-weight: 500;
font-weight: 600;
line-height: 42rpx;
color: #15191F;
}
}
.item-info-text-wrap {
.item-info-text-wrap {
width: 100%;
display: -webkit-box;
padding: 16rpx 0 24rpx;
width: 342rpx;
font-size: 22rpx;
height: 64rpx;
line-height: 32rpx;
margin-top: 16rpx;
color: #959DA9;
-webkit-box-orient: vertical;
-webkit-line-clamp: 2;
overflow: hidden;
font-size: 22rpx;
font-weight: 400;
line-height: 32rpx;
color: #959DA9;
}
}
.item-info-content {
.item-info-content {
height: 40rpx;
height: 40rpx;
}
}
.item-info-now-price {
.item-other {
font-size: 30rpx;
margin-top: 24rpx;
font-weight: 600;
color: #15191F;
}
}
.price-symbol {
.item-operation {
font-size: 22rpx;
margin-top: 24rpx;
font-size: 30rpx;
font-weight: 600;
color: #15191f;
}
}
.item-now-price-text {
.item-price text:nth-child(1) {
width: 78rpx;
font-size: 22rpx;
height: 32rpx;
margin-left: 4px;
font-size: 20rpx;
font-weight: 500;
color: #EF4E4E;
line-height: 32rpx;
text-align: center;
background: rgba(213, 107, 82, .12);
border-radius: 4rpx;
}
}
.vipPrice {
color: #E8D0AF;
.item-price text:nth-child(2) {
background: linear-gradient(180deg, #3F4357 0%, #252532 100%);
margin-right: 8rpx;
border-radius: 4rpx;
font-size: 30rpx;
opacity: 1;
}
.item-price-discount {
width: 78rpx;
height: 32rpx;
border-radius: 4px;
background: #D56B52;
text-align: center;
font-size: 18rpx;
font-weight: 500;
line-height: 32rpx;
color: #EF4E4E;
}
.item-price-special {
width: 78rpx;
height: 32rpx;
border-radius: 4px;
background: linear-gradient(180deg, #3F4357 0%, #252532 100%);
text-align: center;
font-size: 18rpx;
font-weight: 500;
line-height: 32rpx;
color: #E8D0AF;
}
.item-operation-add button {
width: 44rpx;
height: 44rpx;
border-radius: 50%;
background: #86C5E1;
}
.item-operation-add image {
width: 24rpx;
height: 24rpx;
}
}
.goods-add-btn-wrap {
.goods-add-btn-wrap {
flex: 1;
flex: 1;
}
}
.l-btn-circle {
.l-btn-circle {
border-radius: 50% !important;
border-radius: 50% !important;
font-size: 24rpx;
font-size: 24rpx;
}
}
.item-info-old-price {
.item-info-old-price {
margin-top: 4rpx;
margin-top: 4rpx;
font-size: 22rpx;
font-size: 22rpx;
color: #959DA
9;
color: #959da
9;
text-decoration:line-through
text-decoration: line-through;
}
}
.popup-wrap {
.popup-wrap {
position: relative;
position: relative;
width: 606rpx;
width: 606rpx;
background-color: #fff;
background-color: #fff;
border-radius: 4rpx;
border-radius: 4rpx;
}
}
.popup-img-wrap {
.popup-img-wrap {
width: 606rpx;
width: 606rpx;
height: 382rpx;
height: 382rpx;
}
}
.popup-info-wrapper {
.popup-info-wrapper {
padding: 48rpx 40rpx;
padding: 48rpx 40rpx;
}
}
.popuo-info-title {
.popuo-info-title {
font-size: 34rpx;
font-size: 34rpx;
color: #15191F
;
color: #15191f
;
}
}
.popup-info-text {
.popup-info-text {
margin-top: 24rpx;
margin-top: 24rpx;
font-size: 22rpx;
font-size: 22rpx;
line-height: 32rpx;
line-height: 32rpx;
color: #959DA
9;
color: #959da
9;
display: -webkit-box;
display: -webkit-box;
overflow: hidden;
overflow: hidden;
-webkit-box-orient: vertical;
-webkit-box-orient: vertical;
-webkit-line-clamp: 3;
-webkit-line-clamp: 3;
}
}
.popup-footer-wrapper {
.popup-footer-wrapper {
margin: 0 40rpx;
margin: 0 40rpx;
padding: 40rpx 0;
padding: 40rpx 0;
border-top: 1px solid #E2E7EF
;
border-top: 1px solid #e2e7ef
;
}
}
.popup-price-row {
.popup-price-row {
padding: 10rpx 0;
padding: 10rpx 0;
}
}
.popup-price-now {
.popup-price-now {
color: #15191F
;
color: #15191f
;
}
}
.popup-price-discount {
.detail-price text:nth-child(1) {
width: 90rpx;
height: 52rpx;
height: 36rpx;
font-size: 30rpx;
margin-left: 10px;
font-weight: 500;
font-size: 22rpx;
line-height: 52rpx;
color: #EF4E4E;
color: #15191F;
background: rgba(213, 107, 82, .12);
border-radius: 4rpx;
}
}
.vipPrice {
.detail-price text:nth-child(2) {
color: #E8D0AF;
height: 52rpx;
background: linear-gradient(180deg, #3F4357 0%, #252532 100%);
font-size: 38rpx;
border-radius: 4rpx;
font-weight: 500;
opacity: 1;
line-height: 52rpx;
color: #15191F;
}
.detail-price-discount {
width: 90rpx;
height: 36rpx;
margin-right: 16rpx;
border-radius: 4px;
background: #D56B52;
text-align: center;
font-size: 18rpx;
font-weight: 500;
line-height: 32rpx;
color: #EF4E4E;
}
.detail-price-special {
width: 90rpx;
height: 36rpx;
margin-right: 16rpx;
border-radius: 4px;
background: linear-gradient(180deg, #3F4357 0%, #252532 100%);
text-align: center;
font-size: 18rpx;
font-weight: 500;
line-height: 32rpx;
color: #E8D0AF;
}
}
.popup-price-old {
.popup-price-old {
margin-left: 20rpx;
margin-left: 20rpx;
font-size: 26rpx;
font-size: 26rpx;
color: #959DA
9;
color: #959da
9;
text-decoration:line-through
text-decoration: line-through;
}
}
.popup-footer-btn {
.popup-footer-btn {
width: 526rpx;
width: 526rpx;
height: 80rpx;
height: 80rpx;
margin-top: 30rpx;
margin-top: 30rpx;
font-size: 30rpx;
font-size: 30rpx;
color: #fff;
color: #fff;
background-color: #86C5E
1;
background-color: #86c5e
1;
border-radius: 4rpx;
border-radius: 4rpx;
}
}
.popup-close-btn {
.popup-close-btn {
width: 80rpx;
width: 80rpx;
height: 80rpx;
height: 80rpx;
margin: 48rpx auto 0;
margin: 48rpx auto 0;
background: rgba(254, 252, 249, 0.5);
background: rgba(254, 252, 249, 0.5);
border-radius: 50%;
border-radius: 50%;
}
}
.popup-close {
.popup-close {
width: 40rpx;
width: 40rpx;
height: 40rpx;
height: 40rpx;
}
}
.toast-bg {
.toast-bg {
min-width: 262rpx !important;
min-width: 262rpx !important;
min-height: 262prx !important;
min-height: 262prx !important;
}
}
.toast-image {
.toast-image {
}
}
image {
image {
width: 100%;
width: 100%;
height: 100%;
height: 100%;
}
}
\ No newline at end of file
pages/home/home/home.js
View file @
1bf256b3
...
@@ -62,7 +62,7 @@ Page({
...
@@ -62,7 +62,7 @@ Page({
})
})
var
that
=
this
var
that
=
this
App
.
login
({
App
.
login
({
success
:
function
(
token
)
{
success
:
function
(
token
)
{
that
.
getBanner
()
that
.
getBanner
()
that
.
loadVisiterPlanList
()
that
.
loadVisiterPlanList
()
that
.
getNoticeList
()
that
.
getNoticeList
()
...
@@ -324,14 +324,17 @@ Page({
...
@@ -324,14 +324,17 @@ Page({
})
})
},
},
onTest2
:
function
(
event
)
{
onTest2
:
function
(
event
)
{
wx
.
navigateTo
({
url
:
'/pages/commodity/snacks/snacks'
})
},
},
onTest3
:
function
(
event
)
{
onTest3
:
function
(
event
)
{
console
.
log
(
event
)
wx
.
navigateTo
({
wx
.
navigateTo
({
url
:
'/pages/pay/order-detail/order-detail?type='
+
event
.
currentTarget
.
dataset
.
index
url
:
'/pages/pay/order-detail/order-detail?type='
+
event
.
currentTarget
.
dataset
.
index
})
})
},
},
onShop
:
function
(
event
)
{
wx
.
navigateTo
({
url
:
'/pages/commodity/snacks/snacks'
})
},
})
})
\ No newline at end of file
pages/home/home/home.wxml
View file @
1bf256b3
...
@@ -86,7 +86,6 @@
...
@@ -86,7 +86,6 @@
<button class="test-button" data-index="{{5}}" bindtap="onTest">餐品</button>
<button class="test-button" data-index="{{5}}" bindtap="onTest">餐品</button>
<button class="test-button" data-index="{{6}}" bindtap="onTest">活动</button>
<button class="test-button" data-index="{{6}}" bindtap="onTest">活动</button>
<button class="test-button" data-index="{{7}}" bindtap="onTest">观影</button>
<button class="test-button" data-index="{{7}}" bindtap="onTest">观影</button>
<button class="test-button" bindtap="onTest2">餐品列表</button>
<button class="test-button" data-index="{{0}}" bindtap="onTest3">订单 未使用</button>
<button class="test-button" data-index="{{0}}" bindtap="onTest3">订单 未使用</button>
<button class="test-button" data-index="{{1}}" bindtap="onTest3">订单 待评价</button>
<button class="test-button" data-index="{{1}}" bindtap="onTest3">订单 待评价</button>
<button class="test-button" data-index="{{2}}" bindtap="onTest3">订单 已过期</button>
<button class="test-button" data-index="{{2}}" bindtap="onTest3">订单 已过期</button>
...
@@ -94,5 +93,7 @@
...
@@ -94,5 +93,7 @@
<button class="test-button" data-index="{{4}}" bindtap="onTest3">订单 已评价</button>
<button class="test-button" data-index="{{4}}" bindtap="onTest3">订单 已评价</button>
<button class="test-button" data-index="{{5}}" bindtap="onTest3">订单 待付款</button>
<button class="test-button" data-index="{{5}}" bindtap="onTest3">订单 待付款</button>
<button class="test-button" data-shop="{{4}}" bindtap="onShop">餐品列表</button>
</view>
</view>
</view>
</view>
\ No newline at end of file
pages/pay/order-input/order-input.js
View file @
1bf256b3
...
@@ -15,6 +15,7 @@ let logicData = {
...
@@ -15,6 +15,7 @@ let logicData = {
Page
({
Page
({
data
:
{
data
:
{
imageBase
:
App
.
globalData
.
appImageBase
,
imageBase
:
App
.
globalData
.
appImageBase
,
animation
:
{},
orderType
:
1
,
// 1 - 年卡/月卡,2 - 次票, 3 - SPA, 4 - 文创, 5 - 餐品, 6 - 活动, 7 - 观影
orderType
:
1
,
// 1 - 年卡/月卡,2 - 次票, 3 - SPA, 4 - 文创, 5 - 餐品, 6 - 活动, 7 - 观影
...
@@ -105,6 +106,11 @@ Page({
...
@@ -105,6 +106,11 @@ Page({
// options.passType = 1
// options.passType = 1
logicData
.
option
=
options
logicData
.
option
=
options
this
.
setView
()
this
.
setView
()
this
.
animation
=
wx
.
createAnimation
({
duration
:
700
,
timingFunction
:
'ease'
})
},
},
setView
:
function
()
{
setView
:
function
()
{
...
@@ -262,8 +268,8 @@ Page({
...
@@ -262,8 +268,8 @@ Page({
winQuantity
:
true
,
// 数量选择
winQuantity
:
true
,
// 数量选择
winContact
:
true
,
// 联系信息
winContact
:
true
,
// 联系信息
winRegister
:
false
,
// 注册信息
winRegister
:
false
,
// 注册信息
winButtonPay
:
true
,
// 立即支付
winButtonPay
:
false
,
// 立即支付
winButtonAppointment
:
false
,
// 确认预约
winButtonAppointment
:
true
,
// 确认预约
})
})
break
break
}
}
...
@@ -352,9 +358,22 @@ Page({
...
@@ -352,9 +358,22 @@ Page({
* @returns
* @returns
*/
*/
onNotice
:
function
()
{
onNotice
:
function
()
{
// 初始底部弹出动画
let
funcUnitProportion
=
wx
.
getStorageSync
(
'unitProportion'
)
let
funcMoveHeight
=
funcUnitProportion
*
950
this
.
animation
.
translate
(
0
,
0
)
this
.
setData
({
this
.
setData
({
winNoticeDetail
:
true
,
winNoticeDetail
:
true
,
animation
:
this
.
animation
.
export
()
})
})
let
funcTimer
=
setTimeout
(()
=>
{
this
.
animation
.
translate
(
0
,
-
funcMoveHeight
).
step
()
this
.
setData
({
animation
:
this
.
animation
.
export
()
})
clearTimeout
(
funcTimer
)
},
100
)
},
},
/**
/**
...
...
pages/pay/order-input/order-input.wxml
View file @
1bf256b3
<!-- 购买须知详情 -->
<view class="notice-detail" wx:if="{{winNoticeDetail}}" bindtap="onNoticeClose">
<view class="notice-item" animation="{{animation}}">
<image src="{{noticeDetail}}"></image>
</view>
</view>
<view class="container">
<view class="container">
<!-- winBuyContent -->
<!-- winBuyContent -->
<view class="buy-content" wx:if="{{winBuyContent}}">
<view class="buy-content" wx:if="{{winBuyContent}}">
...
@@ -229,22 +236,23 @@
...
@@ -229,22 +236,23 @@
</view>
</view>
</block>
</block>
</view>
</view>
<!-- winButtonPay -->
<view class="pay" wx:if="{{winButtonPay}}">
<view class="pay-tip row align-c">
<image src="{{imageBase + 'fail-icon-4.png'}}"></image>
<text>付款后一经确认不得退款</text>
</view>
<view class="pay-operation row con-b align-c">
<text>{{'¥' + payAmount}}</text>
<button class="row con-c align-c">立即支付</button>
</view>
</view>
</view>
</view>
<view class="notice-detail" wx:if="{{winNoticeDetail}}" bindtap="onNoticeClose">
<!-- winButtonPay -->
<view class="notice-item">
<cover-view class="pay" wx:if="{{winButtonPay && !winNoticeDetail}}">
<image src="{{noticeDetail}}"></image>
<cover-view class="pay-tip row align-c">
</view>
<cover-image src="{{imageBase + 'fail-icon-4.png'}}"></cover-image>
</view>
<cover-view class="pay-tip-text row con-c align-c">付款后一经确认不得退款</cover-view>
\ No newline at end of file
</cover-view>
<cover-view class="pay-operation row con-b align-c">
<cover-view class="pay-operation-amount row con-c align-c">{{'¥' + payAmount}}</cover-view>
<cover-view class="pay-operation-confirm row con-c align-c">立即支付</cover-view>
</cover-view>
</cover-view>
<!-- winButtonAppointment -->
<cover-view class="appointment row con-c align-c" wx:if="{{winButtonAppointment && !winNoticeDetail}}">
<cover-view class="appointment-confirm row con-c align-c">确认预约</cover-view>
</cover-view>
<!-- <cover-view class="iphonexr-fill"></cover-view> -->
\ No newline at end of file
pages/pay/order-input/order-input.wxss
View file @
1bf256b3
.notice-detail {
.notice-detail {
z-index: 1700;
position: fixed;
position: fixed;
left: 0;
left: 0;
bottom: 0;
bottom: 0;
width: 750rpx;
width: 750rpx;
height: 100%;
height: 100%;
padding-bottom: 48rpx;
background: rgba(0, 0, 0, .6);
background: rgba(0, 0, 0, .6);
}
}
.notice-item {
.notice-item {
position: absolute;
position: absolute;
left: 0;
left: 0;
bottom:
0
;
bottom:
-950rpx
;
width: 750rpx;
width: 750rpx;
padding: 28px 0
12
px 0;
padding: 28px 0
50r
px 0;
border-radius: 24px 24px 0px 0px;
border-radius: 24px 24px 0px 0px;
background: #FFFFFF;
background: #FFFFFF;
}
}
...
@@ -25,6 +27,7 @@
...
@@ -25,6 +27,7 @@
.container {
.container {
margin-top: 60rpx;
margin-top: 60rpx;
padding-bottom: 232rpx;
}
}
.buy-content {
.buy-content {
...
@@ -526,7 +529,14 @@
...
@@ -526,7 +529,14 @@
/* 立即支付 */
/* 立即支付 */
.pay {
.pay {
z-index: 9;
position: fixed;
bottom: 0;
left: 0;
width: 100%;
margin-top: 40rpx;
margin-top: 40rpx;
padding-bottom: 36rpx;
background: #FFFFFF;
}
}
.pay-tip {
.pay-tip {
...
@@ -534,46 +544,78 @@
...
@@ -534,46 +544,78 @@
height: 72rpx;
height: 72rpx;
padding: 0 40rpx;
padding: 0 40rpx;
background: #F5EEDF;
background: #F5EEDF;
font-size: 22rpx;
font-weight: 400;
line-height: 32rpx;
color: #837048;
}
}
.pay-tip image {
.pay-tip
cover-
image {
display: block;
display: block;
width: 28rpx;
width: 28rpx;
height: 28rpx;
height: 28rpx;
margin-right: 14rpx;
margin-right: 14rpx;
}
}
.pay-tip-text {
margin-bottom: 2rpx;
background: rgba(0, 0, 0, 0);
font-size: 22rpx;
font-weight: 400;
line-height: 32rpx;
color: #837048;
}
.pay-operation {
.pay-operation {
padding: 32rpx 40rpx;
padding: 32rpx 40rpx;
}
}
.pay-operation
tex
t {
.pay-operation
-amoun
t {
height: 58rpx;
height: 58rpx;
background: rgba(0, 0, 0, 0);
font-size: 34rpx;
font-size: 34rpx;
font-weight: 800;
font-weight: 800;
line-height: 48rpx;
line-height: 48rpx;
color: #5DB5DD;
color: #5DB5DD;
}
}
.pay-operation
button
{
.pay-operation
-confirm
{
width: 248rpx;
width: 248rpx;
height: 96rpx;
height: 96rpx;
border-radius: 4px;
border-radius: 4px;
background: #86C5E1;
background: #86C5E1;
text-align: center;
font-size: 30rpx;
font-size: 30rpx;
font-weight: 500;
font-weight: 500;
line-height:
42
px;
line-height:
96r
px;
color: #FFFFFF;
color: #FFFFFF;
}
}
/* 确认预约 */
.appointment {
z-index: 9;
position: fixed;
bottom: 0;
left: 0;
width: 100%;
margin-top: 40rpx;
padding: 30rpx 0 68rpx 0;
border: 1px #E2E7EF solid;
background: #FFFFFF;
}
.appointment-confirm {
width: 670rpx;
height: 96rpx;
background: #86C5E1;
border-radius: 4px;
text-align: center;
font-size: 30rpx;
font-weight: 500;
color: #FFFFFF;
line-height: 96rpx;
}
...
@@ -823,4 +865,15 @@
...
@@ -823,4 +865,15 @@
color: #959da9;
color: #959da9;
font-size: 26rpx;
font-size: 26rpx;
line-height: 44rpx;
line-height: 44rpx;
}
/* iphone x 底部颜色填充 */
.iphonexr-fill {
z-index: -1;
position: fixed;
bottom: 0;
left: 0;
width: 750rpx;
height: 68rpx;
background: #FFFFFF;
}
}
\ No newline at end of file
project.config.json
View file @
1bf256b3
...
@@ -4,11 +4,10 @@
...
@@ -4,11 +4,10 @@
"ignore"
:
[]
"ignore"
:
[]
},
},
"setting"
:
{
"setting"
:
{
"urlCheck"
:
tru
e
,
"urlCheck"
:
fals
e
,
"es6"
:
true
,
"es6"
:
true
,
"enhance"
:
true
,
"enhance"
:
true
,
"postcss"
:
true
,
"postcss"
:
true
,
"preloadBackgroundData"
:
false
,
"minified"
:
true
,
"minified"
:
true
,
"newFeature"
:
true
,
"newFeature"
:
true
,
"coverView"
:
true
,
"coverView"
:
true
,
...
@@ -18,14 +17,15 @@
...
@@ -18,14 +17,15 @@
"scopeDataCheck"
:
false
,
"scopeDataCheck"
:
false
,
"uglifyFileName"
:
false
,
"uglifyFileName"
:
false
,
"checkInvalidKey"
:
true
,
"checkInvalidKey"
:
true
,
"checkSiteMap"
:
tru
e
,
"checkSiteMap"
:
fals
e
,
"uploadWithSourceMap"
:
true
,
"uploadWithSourceMap"
:
true
,
"compileHotReLoad"
:
false
,
"babelSetting"
:
{
"babelSetting"
:
{
"ignore"
:
[],
"ignore"
:
[],
"disablePlugins"
:
[],
"disablePlugins"
:
[],
"outputPath"
:
""
"outputPath"
:
""
},
},
"preloadBackgroundData"
:
false
,
"compileHotReLoad"
:
false
,
"useIsolateContext"
:
true
,
"useIsolateContext"
:
true
,
"useCompilerModule"
:
false
,
"useCompilerModule"
:
false
,
"userConfirmedUseCompilerModuleSwitch"
:
false
,
"userConfirmedUseCompilerModuleSwitch"
:
false
,
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment