Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
U
user
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
hooloo
mp
user
Commits
c7182879
Commit
c7182879
authored
Jun 10, 2022
by
宋冰琦
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'master' of
http://140.143.224.240:8100/hooloo/mp/user
parents
ca810acf
4bf5da33
Hide whitespace changes
Inline
Side-by-side
Showing
9 changed files
with
145 additions
and
118 deletions
+145
-118
components/OrderQrCode/index.vue
+7
-13
components/menuAssembly/index.vue
+1
-16
components/shopCar/shopCar.vue
+11
-6
menuSubPackage/pages/goodsDetail/goodsDetail.vue
+3
-2
orderSubPackage/pages/orderInfo/index.vue
+42
-45
orderSubPackage/pages/settlement/index.vue
+11
-12
pages/menu/menu.vue
+8
-0
pages/order/order.vue
+56
-20
utils/utils.js
+6
-4
No files found.
components/OrderQrCode/index.vue
View file @
c7182879
...
...
@@ -10,7 +10,7 @@
</div>
<div
class=
"flow_describe"
>
<h3>
扫码流程
</h3>
<image
:mode=
"'aspectFit'"
width=
"600px"
class=
"flow_img"
src=
"/static/imgs/order_flow.png"
></image>
<image
:mode=
"'aspectFit'"
class=
"flow_img"
src=
"/static/imgs/order_flow.png"
></image>
</div>
<div
class=
"flow_describe"
>
<h3>
注意事项
</h3>
...
...
@@ -126,8 +126,6 @@ export default {
display
:
flex
;
align-items
:
center
;
justify-content
:
center
;
}
.btn
{
...
...
@@ -144,16 +142,14 @@ export default {
color
:
#FFFFFF
;
font-size
:
20
rpx
;
text-align
:
center
;
}
}
.order_flow
{
background
:
#FFFFFF
;
border-radius
:
10
rpx
;
margin-top
:
32
rpx
;
padding-
top
:
6
5
rpx
;
padding-top
:
25
rpx
;
padding-
bottom
:
2
5
rpx
;
.code
{
font-size
:
36
rpx
;
...
...
@@ -161,7 +157,6 @@ export default {
font-weight
:
600
;
color
:
#000000
;
text-align
:
center
;
}
.qr_code
{
...
...
@@ -191,15 +186,14 @@ export default {
}
.flow_describe
{
width
:
686
rpx
;
width
:
590
rpx
;
background
:
#FFFFFF
;
box-shadow
:
0
rpx
4
rpx
8
rpx
0
rpx
rgba
(
166
,
166
,
166
,
0.5
);
border-radius
:
10
rpx
;
margin
:
0
auto
;
margin-top
:
20
rpx
;
padding
:
30
rpx
;
h3
{
font-size
:
28
rpx
;
font-family
:
PingFangSC-Semibold
,
PingFang
SC
;
...
...
@@ -208,8 +202,8 @@ export default {
}
.flow_img
{
width
:
60
0
rpx
;
height
:
21
4
rpx
;
width
:
59
0
rpx
;
height
:
21
1
rpx
;
display
:
block
;
margin
:
24
rpx
auto
;
}
...
...
components/menuAssembly/index.vue
View file @
c7182879
...
...
@@ -116,7 +116,6 @@ export default {
.shop-box
{
min-width
:
300
rpx
;
font-size
:
28
rpx
;
font-family
:
PingFangSC-Semibold
,
PingFang
SC
;
font-weight
:
600
;
display
:
flex
;
...
...
@@ -132,7 +131,6 @@ export default {
.distance
{
height
:
46
rpx
;
font-size
:
24
rpx
;
font-family
:
PingFangSC-Regular
,
PingFang
SC
;
font-weight
:
400
;
color
:
#FFFFFF
;
line-height
:
42
rpx
;
...
...
@@ -189,7 +187,6 @@ export default {
.user-name
{
height
:
28
rpx
;
font-size
:
20
rpx
;
font-family
:
ArialMT
;
color
:
#FFFFFF
;
line-height
:
22
rpx
;
}
...
...
@@ -198,7 +195,6 @@ export default {
display
:
flex
;
height
:
22
rpx
;
font-size
:
16
rpx
;
font-family
:
PingFangSC-Regular
,
PingFang
SC
;
font-weight
:
400
;
color
:
#FFFFFF
;
line-height
:
22
rpx
;
...
...
@@ -224,7 +220,6 @@ export default {
background
:
#006ECF
;
border-radius
:
4
rpx
;
font-size
:
20
rpx
;
font-family
:
PingFangSC-Medium
,
PingFang
SC
;
font-weight
:
500
;
color
:
#FFFFFF
;
line-height
:
48
rpx
;
...
...
@@ -254,7 +249,6 @@ export default {
.first
{
height
:
44
rpx
;
font-size
:
32
rpx
;
font-family
:
PingFangSC-Semibold
,
PingFang
SC
;
font-weight
:
600
;
color
:
#323232
;
line-height
:
44
rpx
;
...
...
@@ -265,14 +259,12 @@ export default {
margin-top
:
20
rpx
;
height
:
34
rpx
;
font-size
:
24
rpx
;
font-family
:
PingFangSC-Medium
,
PingFang
SC
;
font-weight
:
500
;
color
:
#323232
;
line-height
:
34
rpx
;
.time
{
font-size
:
28
rpx
;
font-family
:
Arial-BoldMT
,
Arial
;
font-weight
:
normal
;
color
:
#006ECF
;
margin
:
0
16
rpx
;
...
...
@@ -314,7 +306,6 @@ export default {
text-align
:
center
;
margin-top
:
14
rpx
;
font-size
:
16
rpx
;
font-family
:
PingFangSC-Medium
,
PingFang
SC
;
font-weight
:
500
;
color
:
#666666
;
line-height
:
22
rpx
;
...
...
@@ -346,7 +337,6 @@ export default {
height
:
170
rpx
;
line-height
:
170
rpx
;
font-size
:
24
rpx
;
font-family
:
PingFangSC-Regular
,
PingFang
SC
;
font-weight
:
400
;
color
:
#666666
;
display
:
flex
;
...
...
@@ -383,7 +373,6 @@ export default {
margin-bottom
:
40
rpx
;
height
:
44
rpx
;
font-size
:
32
rpx
;
font-family
:
PingFangSC-Semibold
,
PingFang
SC
;
font-weight
:
600
;
color
:
#000000
;
line-height
:
44
rpx
;
...
...
@@ -411,7 +400,6 @@ export default {
.goods-name
{
font-size
:
28
rpx
;
font-family
:
PingFangSC-Medium
,
PingFang
SC
;
font-weight
:
500
;
color
:
#000000
;
}
...
...
@@ -424,7 +412,6 @@ export default {
margin-right
:
10
rpx
;
padding
:
4
rpx
6
rpx
;
font-size
:
16
rpx
;
font-family
:
ArialMT
;
color
:
#006ECF
;
line-height
:
24
rpx
;
display
:
inline-block
;
...
...
@@ -434,7 +421,6 @@ export default {
.desc-box
{
display
:
flex
;
font-size
:
20
rpx
;
font-family
:
PingFangSC-Regular
,
PingFang
SC
;
font-weight
:
400
;
color
:
#666666
;
line-height
:
40
rpx
;
...
...
@@ -449,10 +435,10 @@ export default {
display
:
inline-block
;
height
:
32
rpx
;
font-size
:
24
rpx
;
font-family
:
Arial-BoldMT
,
Arial
;
color
:
#EB5F17
;
line-height
:
32
rpx
;
margin-right
:
6
rpx
;
font-weight
:
800
;
}
.price
{
...
...
@@ -460,7 +446,6 @@ export default {
display
:
inline-block
;
height
:
22
rpx
;
font-size
:
20
rpx
;
font-family
:
ArialMT
;
color
:
#666666
;
line-height
:
22
rpx
;
...
...
components/shopCar/shopCar.vue
View file @
c7182879
...
...
@@ -89,8 +89,8 @@ export default {
allchecked
:
true
,
// checked:true,
goods
:
[],
//购物车商品信息
loginInfo
:
""
,
imgPath
:
'https://gimg2.baidu.com/image_search/src=http%3A%2F%2Fpic.51yuansu.com%2Fpic3%2Fcover%2F01%2F82%2F40%2F596fa6dc00bb4_610.jpg&refer=http%3A%2F%2Fpic.51yuansu.com&app=2002&size=f9999,10000&q=a80&n=0&g=0n&fmt=jpeg?sec=1633499781&t=d37222e32213957ddbdd01d62e071309'
loginInfo
:
""
,
imgPath
:
'https://gimg2.baidu.com/image_search/src=http%3A%2F%2Fpic.51yuansu.com%2Fpic3%2Fcover%2F01%2F82%2F40%2F596fa6dc00bb4_610.jpg&refer=http%3A%2F%2Fpic.51yuansu.com&app=2002&size=f9999,10000&q=a80&n=0&g=0n&fmt=jpeg?sec=1633499781&t=d37222e32213957ddbdd01d62e071309'
,
}
},
created
()
{
...
...
@@ -128,9 +128,13 @@ export default {
},
//跳转到结算
saveReserve
(
e
)
{
if
(
this
.
totalPrice
<
0
||
this
.
totalNum
<=
0
)
{
uni
.
showToast
({
title
:
'请选择商品'
,
icon
:
'error'
})
return
;
}
let
Authorization
=
uni
.
getStorageSync
(
'Authorization'
);
let
shopCarInfo
=
uni
.
getStorageSync
(
'shopCarInfo'
).
filter
(
v
=>
v
.
flag
==
true
);
if
(
shopCarInfo
&&
this
.
totalPrice
>
0
&&
this
.
totalNum
>
0
)
{
if
(
shopCarInfo
)
{
if
(
Authorization
)
{
uni
.
navigateTo
({
url
:
`/orderSubPackage/pages/settlement/index?buyType=1`
...
...
@@ -192,9 +196,10 @@ export default {
this
.
goods
.
forEach
(
function
(
val
)
{
s
+=
Number
(
val
.
num
);
},
0
);
if
(
s
>=
9
)
{
let
countOfOrder
=
uni
.
getStorageSync
(
'countOfOrder'
);
if
(
s
>=
countOfOrder
)
{
uni
.
showToast
({
title
:
'最多可一次购买
9
杯'
,
title
:
'最多可一次购买
'
+
countOfOrder
+
'
杯'
,
icon
:
'none'
});
return
;
...
...
@@ -211,7 +216,7 @@ export default {
totalNum
()
{
let
totalNum
=
0
;
this
.
goods
.
map
(
item
=>
{
item
.
flag
?
totalNum
+=
item
.
num
:
totalNum
+=
0
item
.
flag
?
totalNum
+=
parseInt
(
item
.
num
)
:
totalNum
+=
0
})
return
totalNum
},
...
...
menuSubPackage/pages/goodsDetail/goodsDetail.vue
View file @
c7182879
...
...
@@ -191,11 +191,12 @@ export default {
}
},
addGood
()
{
if
(
this
.
size
<
9
)
{
let
countOfOrder
=
uni
.
getStorageSync
(
'countOfOrder'
);
if
(
this
.
size
<
countOfOrder
)
{
this
.
size
=
this
.
size
+
1
;
}
else
{
uni
.
showToast
({
title
:
'最多可一次购买
9
杯'
,
title
:
'最多可一次购买
'
+
countOfOrder
+
'
杯'
,
icon
:
'none'
,
});
}
...
...
orderSubPackage/pages/orderInfo/index.vue
View file @
c7182879
...
...
@@ -15,12 +15,11 @@
<image
mode=
"aspectFit"
:src=
"ewmImg"
class=
"qr"
></image>
<view
class=
"status_text"
>
{{
orderStatusText
}}
</view>
</div>
<canvas
class=
"canvas-code"
canvas-id=
"myQrcode"
<canvas
v-if=
"qrShow"
class=
"canvas-code"
canvas-id=
"myQrcode"
style=
"background:#fff;width: 200px;height: 200px; display:block; left:-800rpx;position:absolute;"
/>
<div
v-if=
"qrShow"
class=
"flow_describe"
>
<h3>
扫码流程
</h3>
<image
:mode=
"'aspectFit'"
width=
"600px"
class=
"flow_img"
src=
"../../../static/imgs/order_flow.png"
>
</image>
<h3>
扫码流程
</h3>
<image
:mode=
"'aspectFit'"
class=
"flow_img"
src=
"/static/imgs/order_flow.png"
></image>
</div>
<div
class=
"shop_info"
>
<div
class=
"address"
>
...
...
@@ -33,10 +32,7 @@
<image
mode=
"aspectFit"
v-if=
"jsonParse(item.goods.pics).thumbnailApplet"
:src=
"jsonParse(item.goods.pics).thumbnailApplet"
class=
"goods_img"
>
</image>
<image
mode=
"aspectFit"
v-else
:src=
"jsonParse(item.goods.pics).thumbnail"
class=
"goods_img"
>
</image>
<image
mode=
"aspectFit"
v-else
:src=
"jsonParse(item.goods.pics).thumbnail"
class=
"goods_img"
></image>
<div
class=
"goods_text"
>
<div
class=
"goods_name"
>
<div
class=
"name"
>
{{
item
.
goodsName
}}
</div>
...
...
@@ -44,16 +40,17 @@
</div>
<div
class=
"goods_psce"
>
<div
class=
"psce_name"
>
<span
v-for=
"rule in jsonParse(item.specRuleDetail)"
:key=
"rule.specId"
>
{{
rule
.
ruleName
}}
/
<span
v-for=
"(rule, index) in jsonParse(item.specRuleDetail)"
:key=
"rule.specId"
>
{{
rule
.
ruleName
}}
<text
v-if=
"index != jsonParse(item.specRuleDetail).length - 1"
>
/
</text>
</span>
</div>
<div
class=
"size"
>
*
{{
item
.
num
}}
</div>
<div
class=
"size"
>
x
{{
item
.
num
}}
</div>
</div>
</div>
</div>
</div>
<div
class=
"discount"
>
<
!--
<
div
class=
"discount"
>
<div
class=
"discount_1"
>
<div
class=
"name"
>
优惠免减
</div>
<div
class=
"price"
>
¥
{{
setPrice
(
item
.
amount
-
item
.
realAmount
)
}}
</div>
...
...
@@ -62,10 +59,10 @@
<div
class=
"name"
>
特惠价
</div>
<div
class=
"price"
>
¥
{{
setPrice
(
item
.
realAmount
)
}}
</div>
</div>
</div>
</div>
-->
</div>
<div
class=
"total"
>
<div
class=
"size"
>
共
一
件商品
</div>
<div
class=
"size"
>
共
{{
totalNum
}}
件商品
</div>
<div>
<span
class=
"paid_in"
>
实付
</span>
<span
class=
"money"
>
¥
{{
setPrice
(
orderInfo
.
amount
)
}}
</span>
...
...
@@ -108,6 +105,7 @@ export default {
onLoad
()
{
const
resData
=
uni
.
getStorageSync
(
'orderInfo'
);
this
.
orderInfo
=
resData
console
.
log
(
"orderInfo:"
+
JSON
.
stringify
(
this
.
orderInfo
));
this
.
ewmImg
=
'/static/imgs/noQr.png'
const
isBuild
=
[
'2'
,
'3'
,
'4'
,
'5'
].
indexOf
(
this
.
orderInfo
.
state
)
!=
-
1
;
...
...
@@ -171,7 +169,6 @@ export default {
}
})
},
jsonParse
(
json
)
{
return
JSON
.
parse
(
json
)
...
...
@@ -183,6 +180,13 @@ export default {
},
},
computed
:
{
totalNum
()
{
let
totalNum
=
0
;
this
.
orderInfo
.
orderDetails
.
map
(
item
=>
{
totalNum
+=
parseInt
(
item
.
num
);
})
return
totalNum
;
},
qrShow
()
{
console
.
log
(
"order state:"
+
this
.
orderInfo
.
state
);
return
[
'2'
,
'3'
,
'4'
,
'5'
].
indexOf
(
this
.
orderInfo
.
state
)
!=
-
1
...
...
@@ -253,8 +257,8 @@ export default {
}
.order_status
{
width
:
686
rpx
;
max-height
:
174
rpx
;
width
:
590
rpx
;
//
max-height
:
174
rpx
;
background
:
#FFFFFF
;
border-radius
:
10
rpx
;
margin
:
32
rpx
auto
0
;
...
...
@@ -273,8 +277,6 @@ export default {
display
:
flex
;
align-items
:
center
;
justify-content
:
center
;
}
.btn
{
...
...
@@ -283,7 +285,8 @@ export default {
background
:
#006ECF
;
border-radius
:
6
rpx
;
display
:
inline-block
;
margin
:
20
rpx
;
margin
:
0
rpx
20
rpx
;
margin-top
:
20
rpx
;
padding
:
0
;
line-height
:
52
rpx
;
font-family
:
PingFangSC-Medium
,
PingFang
SC
;
...
...
@@ -295,10 +298,11 @@ export default {
.btn_cancel
{
width
:
160
rpx
;
height
:
52
rpx
;
border
:
1
rpx
solid
#
CCCCCC
;
border
:
1
rpx
solid
#
EEEEEE
;
border-radius
:
6
rpx
;
display
:
inline-block
;
margin
:
20
rpx
;
margin
:
0
rpx
20
rpx
;
margin-top
:
20
rpx
;
padding
:
0
;
line-height
:
52
rpx
;
font-family
:
PingFangSC-Medium
,
PingFang
SC
;
...
...
@@ -313,7 +317,6 @@ export default {
background
:
#FFFFFF
;
border-radius
:
10
rpx
;
margin-top
:
32
rpx
;
padding-top
:
65
rpx
;
.code
{
font-size
:
36
rpx
;
...
...
@@ -321,7 +324,7 @@ export default {
font-weight
:
600
;
color
:
#000000
;
text-align
:
center
;
padding-top
:
30
rpx
;
}
.qr_code
{
...
...
@@ -351,15 +354,13 @@ export default {
}
.flow_describe
{
width
:
686
rpx
;
height
:
340
rpx
;
width
:
590
rpx
;
background
:
#FFFFFF
;
box-shadow
:
0
rpx
4
rpx
8
rpx
0
rpx
rgba
(
166
,
166
,
166
,
0.5
);
border-radius
:
10
rpx
;
margin
:
0
auto
;
padding
:
30
rpx
;
margin-bottom
:
10
rpx
;
h3
{
font-size
:
28
rpx
;
...
...
@@ -369,10 +370,9 @@ export default {
}
.flow_img
{
width
:
60
0
rpx
;
height
:
21
4
rpx
;
width
:
59
0
rpx
;
height
:
21
1
rpx
;
display
:
block
;
margin
:
24
rpx
auto
;
}
}
}
...
...
@@ -382,11 +382,9 @@ export default {
background
:
#FFFFFF
;
border-radius
:
10
rpx
;
margin
:
0
auto
;
margin-top
:
32
rpx
;
padding
:
24
rpx
32
rpx
;
padding
:
0
rpx
32
rpx
;
box-sizing
:
border-box
;
h3
{
font-size
:
28
rpx
;
font-family
:
PingFangSC-Medium
,
PingFang
SC
;
...
...
@@ -395,10 +393,11 @@ export default {
}
.address
{
margin-top
:
16
rpx
;
padding-top
:
20
rpx
;
border-bottom
:
1
rpx
solid
#EEEEEE
;
padding-bottom
:
20
rpx
;
.address_1
{
font-size
:
28
rpx
;
font-family
:
PingFangSC-Medium
,
PingFang
SC
;
font-weight
:
500
;
...
...
@@ -414,10 +413,8 @@ export default {
}
}
.goods
{
margin-top
:
10
rpx
;
padding-top
:
15
rpx
;
padding-top
:
20
rpx
;
.goods_item
{
display
:
flex
;
...
...
@@ -429,7 +426,7 @@ export default {
height
:
80
rpx
;
width
:
80
rpx
;
background-color
:
#eee
;
margin-right
:
5
0
rpx
;
margin-right
:
3
0
rpx
;
}
.goods_text
{
...
...
@@ -473,14 +470,12 @@ export default {
margin-top
:
10
rpx
;
}
}
}
.discount
{
margin-top
:
24
rpx
;
padding-bottom
:
24
rpx
;
border-bottom
:
1
rpx
solid
#
CCCCCC
;
border-bottom
:
1
rpx
solid
#
EEEEEE
;
.discount_1
{
display
:
flex
;
...
...
@@ -510,7 +505,6 @@ export default {
margin-top
:
18
rpx
;
.price
{
font-family
:
Arial-BoldMT
,
Arial
;
font-weight
:
700
;
color
:
#000
;
...
...
@@ -524,6 +518,9 @@ export default {
display
:
flex
;
justify-content
:
space-between
;
margin-top
:
52
rpx
;
border-top
:
1
rpx
solid
#EEEEEE
;
padding-bottom
:
20
rpx
;
padding-top
:
20
rpx
;
.size
{
font-size
:
24
rpx
;
...
...
@@ -561,7 +558,7 @@ export default {
font-family
:
PingFangSC-Medium
,
PingFang
SC
;
font-weight
:
600
;
color
:
#000000
;
border-bottom
:
1
rpx
solid
#
CCCCCC
;
border-bottom
:
1
rpx
solid
#
EEEEEE
;
}
.item
{
...
...
orderSubPackage/pages/settlement/index.vue
View file @
c7182879
...
...
@@ -4,7 +4,8 @@
<h3>
门店确认
</h3>
<div
class=
"address"
>
<div
class=
"address_1"
>
{{
shopData
.
name
}}
</div>
<div
class=
"address_2"
>
距您
{{
shopData
.
distance
}}
,请确定门店后下单
</div>
<div
v-if=
"shopData.distance"
class=
"address_2"
>
距您
{{
shopData
.
distance
}}
,请确定门店后下单
</div>
<div
v-else
class=
"address_2"
>
请确定门店后下单
</div>
</div>
<div
class=
"take_order"
>
<div
class=
"title"
>
取单时间
</div>
...
...
@@ -26,7 +27,10 @@
</div>
<div
class=
"goods_psce"
>
<div
class=
"psce_name"
>
<span
v-for=
"rule in item.sku.rules"
:key=
"rule.ruleId"
>
{{
rule
.
ruleName
}}
/
</span>
<span
v-for=
"(rule,index) in item.sku.rules"
:key=
"rule.ruleId"
>
{{
rule
.
ruleName
}}
<span
v-if=
"index!=item.sku.rules.length-1"
>
/
</span>
</span>
</div>
<div
class=
"size"
>
x
{{
item
.
num
}}
</div>
</div>
...
...
@@ -304,7 +308,7 @@ export default {
.take_order
{
margin-top
:
28
rpx
;
padding-top
:
28
rpx
;
border-top
:
1
rpx
solid
#
CCCCCC
;
border-top
:
1
rpx
solid
#
EEEEEE
;
.title
{
font-size
:
28
rpx
;
...
...
@@ -349,8 +353,8 @@ export default {
.goods
{
margin-top
:
42
rpx
;
border-bottom
:
1
rpx
solid
#
CCCCCC
;
padding-bottom
:
2
0
rpx
;
border-bottom
:
1
rpx
solid
#
EEEEEE
;
padding-bottom
:
3
0
rpx
;
.goods_item
{
display
:
flex
;
...
...
@@ -361,7 +365,7 @@ export default {
height
:
80
rpx
;
width
:
80
rpx
;
background-color
:
#eee
;
margin-right
:
5
0
rpx
;
margin-right
:
3
0
rpx
;
}
.goods_text
{
...
...
@@ -405,15 +409,12 @@ export default {
margin-top
:
10
rpx
;
}
}
}
.discount
{
margin-top
:
15
rpx
;
padding-top
:
15
rpx
;
.discount_1
{
display
:
flex
;
justify-content
:
space-between
;
...
...
@@ -424,7 +425,6 @@ export default {
color
:
#333333
;
.price
{
font-family
:
Arial-BoldMT
,
Arial
;
font-weight
:
normal
;
color
:
#EB5F17
;
...
...
@@ -455,7 +455,7 @@ export default {
align-items
:
center
;
display
:
flex
;
justify-content
:
space-between
;
margin-top
:
52
rpx
;
margin-top
:
30
rpx
;
.size
{
font-size
:
24
rpx
;
...
...
@@ -469,7 +469,6 @@ export default {
font-family
:
PingFangSC-Regular
,
PingFang
SC
;
font-weight
:
600
;
color
:
#000000
;
}
.money
{
...
...
pages/menu/menu.vue
View file @
c7182879
...
...
@@ -126,6 +126,12 @@ export default {
getShopMenus
(
params
)
{
$EventBus
.
$off
(
'getMenuList'
);
$EventBus
.
$on
(
'getMenuList'
,
(
data
)
=>
{
console
.
log
(
"shop:"
+
JSON
.
stringify
(
data
));
if
(
this
.
shopInfo
&&
this
.
shopInfo
.
id
!=
data
.
id
)
{
// 切换店铺清空购物车
uni
.
removeStorageSync
(
'shopCarInfo'
);
$EventBus
.
$emit
(
'updateCar'
);
}
this
.
shopInfo
=
data
;
this
.
getMenuList
(
data
.
id
);
});
...
...
@@ -228,9 +234,11 @@ export default {
},
async
getMenuList
(
id
)
{
let
{
data
}
=
await
Menu
.
getMenuList
(
id
);
console
.
log
(
"menus:"
+
JSON
.
stringify
(
data
));
if
(
data
.
code
==
200
)
{
data
.
data
=
data
.
data
;
this
.
$store
.
commit
(
'setMenuAllInfo'
,
data
.
data
);
uni
.
setStorageSync
(
'countOfOrder'
,
parseInt
(
data
.
data
.
countOfOrder
));
this
.
$refs
.
MenuAssembly
.
createList
(
data
.
data
.
categorys
)
}
},
...
...
pages/order/order.vue
View file @
c7182879
...
...
@@ -18,23 +18,7 @@
<h3
class=
"order_adrass"
>
{{
item
.
shop
.
name
}}
</h3>
<text
class=
"order_time"
>
{{
item
.
createdAt
}}
</text>
</view>
<view
class=
"order_status"
v-if=
"item.state == 0"
>
创建未校验
</view>
<view
class=
"order_status"
v-if=
"item.state == 1"
>
未支付
</view>
<view
class=
"order_status"
v-if=
"item.state == 2"
>
待制作
</view>
<view
class=
"order_status"
v-if=
"item.state == 3"
>
制作中
</view>
<view
class=
"order_status"
v-if=
"item.state == 4"
>
待取餐
</view>
<view
class=
"order_status"
v-if=
"item.state == 5"
>
取餐中
</view>
<view
class=
"order_status"
v-if=
"item.state == 6"
>
已完成
</view>
<view
class=
"order_status"
v-if=
"item.state == 7"
>
待取超时
</view>
<view
class=
"order_status"
v-if=
"item.state == 8"
>
已取消
</view>
<view
class=
"order_status"
v-if=
"item.state == 9"
>
已取消
</view>
<view
class=
"order_status"
v-if=
"item.state == 10"
>
已取消
</view>
<view
class=
"order_status"
v-if=
"item.state == 11"
>
已取消
</view>
<view
class=
"order_status"
v-if=
"item.state == 12"
>
退款中
</view>
<view
class=
"order_status"
v-if=
"item.state == 13"
>
退款失败
</view>
<view
class=
"order_status"
v-if=
"item.state == 14"
>
部分退款
</view>
<view
class=
"order_status"
v-if=
"item.state == 15"
>
已退款
</view>
<view
class=
"order_status"
v-if=
"item.state == 50"
>
未知状态
</view>
<view
class=
"order_status"
>
{{
getStateText
(
item
.
state
)
}}
>
</view>
</view>
<div
class=
"order_content"
>
<view>
...
...
@@ -102,26 +86,78 @@ export default {
computed
:
{
userms
()
{
return
this
.
$store
.
getters
.
Authorization
;
}
,
}
},
methods
:
{
getStateText
(
state
)
{
state
=
''
+
state
;
switch
(
state
)
{
case
'1'
:
return
'未支付'
case
'2'
:
return
'待制作'
case
'3'
:
return
'制作中'
case
'4'
:
return
'待取餐'
case
'5'
:
return
'取餐中'
case
'6'
:
return
'已完成'
case
'7'
:
return
'待取超时'
case
'8'
:
return
'已取消'
case
'9'
:
return
'已取消'
case
'10'
:
return
'已取消'
case
'11'
:
return
'已取消'
case
'12'
:
return
'退款中'
case
'13'
:
return
'退款失败'
case
'14'
:
return
'部分退款'
case
'15'
:
return
'已退款'
default
:
return
'未知状态'
}
},
async
oneMoreOrder
(
item
)
{
// 清空购物车
uni
.
removeStorageSync
(
'shopCarInfo'
);
$EventBus
.
$emit
(
'updateCar'
);
//
const
numObj
=
{}
const
{
id
,
shopId
,
orderDetails
}
=
item
;
orderDetails
.
forEach
(
item
=>
{
orderDetails
[
item
.
skuId
]
=
item
.
num
})
const
{
data
}
=
await
order
.
moreOrder
({
orderId
:
id
,
shopId
});
if
(
!
data
||
!
data
.
data
){
uni
.
showToast
({
title
:
"该订单中的商品已经售罄了"
});
return
;
}
let
list
=
new
Array
();
data
.
data
.
forEach
(
item
=>
{
const
skuId
=
item
.
skus
[
0
].
skuId
const
nextData
=
{
...
item
,
skuId
,
num
:
orderDetails
[
skuId
],
flag
:
true
,
sku
:
item
.
skus
[
0
]
}
if
(
nextData
.
sku
.
state
==
1
)
{
Utils
.
getallNum
(
nextData
)
list
.
push
(
nextData
);
}
});
uni
.
switchTab
({
url
:
'/pages/menu/menu'
})
if
(
!
list
||
list
.
length
<=
0
)
{
uni
.
showToast
({
title
:
"该订单中的商品已经售罄了"
,
icon
:
'error'
});
return
;
}
list
.
forEach
(
nextData
=>
{
Utils
.
getallNum
(
nextData
);
})
uni
.
switchTab
({
url
:
'/pages/menu/menu'
});
},
async
getList
()
{
if
(
!
this
.
userms
)
return
...
...
utils/utils.js
View file @
c7182879
...
...
@@ -47,9 +47,10 @@ export default {
let
shopCarInfo
=
uni
.
getStorageSync
(
'shopCarInfo'
)
||
[];
let
size
=
0
;
shopCarInfo
.
forEach
((
item
)
=>
(
size
+=
item
.
num
));
if
(
size
>=
9
)
{
let
countOfOrder
=
uni
.
getStorageSync
(
'countOfOrder'
);
if
(
size
>=
countOfOrder
)
{
uni
.
showToast
({
title
:
'最多可一次购买
9
杯'
,
title
:
'最多可一次购买
'
+
countOfOrder
+
'
杯'
,
icon
:
'none'
,
});
return
false
;
...
...
@@ -77,9 +78,10 @@ export default {
let
goodsList
=
[];
let
size
=
0
;
goodsList
.
forEach
((
item
)
=>
(
size
+=
item
.
num
));
if
(
size
>=
9
)
{
let
countOfOrder
=
uni
.
getStorageSync
(
'countOfOrder'
);
if
(
size
>=
countOfOrder
)
{
uni
.
showToast
({
title
:
'最多可一次购买
9
杯'
,
title
:
'最多可一次购买
'
+
countOfOrder
+
'
杯'
,
icon
:
'none'
,
});
return
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