Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
飞
飞鹤小程序
Project
Project
Details
Activity
Releases
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
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Commits
Issue Boards
Open sidebar
FH
飞鹤小程序
Commits
d74a8012
Commit
d74a8012
authored
Oct 29, 2025
by
spc
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
fixed
parent
e62296b6
Changes
13
Hide whitespace changes
Inline
Side-by-side
Showing
13 changed files
with
457 additions
and
256 deletions
+457
-256
CanEatAnswerPopup.vue
components/CanEatAnswerPopup.vue
+28
-17
RegisterLayer.vue
components/RegisterLayer.vue
+2
-2
TaskPerson.vue
components/renwu/TaskPerson.vue
+2
-2
index.vue
pages/index/index.vue
+3
-3
addressEdit.vue
v3/addressList/addressEdit.vue
+6
-6
addressList.vue
v3/addressList/addressList.vue
+46
-25
goodDetail.vue
v3/goodDetail/goodDetail.vue
+115
-44
index.vue
v3/more/index.vue
+8
-8
orderDetail.vue
v3/orderDetail/orderDetail.vue
+53
-28
payResultPage.vue
v3/payResultPage/payResultPage.vue
+45
-22
settlementCenter.vue
v3/settlementCenter/settlementCenter.vue
+132
-92
Home.vue
views/Home.vue
+9
-0
My.vue
views/My.vue
+8
-7
No files found.
components/CanEatAnswerPopup.vue
View file @
d74a8012
...
@@ -3,7 +3,9 @@
...
@@ -3,7 +3,9 @@
<view
class=
"answer-popup-container"
>
<view
class=
"answer-popup-container"
>
<view
class=
"answer-popup"
>
<view
class=
"answer-popup"
>
<!-- 关闭按钮 -->
<!-- 关闭按钮 -->
<view
class=
"close-btn"
@
tap=
"handleClose"
>
×
</view>
<view
class=
"close-btn"
@
tap=
"handleClose"
>
<image
:src=
"`$
{$baseUrl}homepage/Q3Res/canEatCloseBtn.png`" mode="aspectFit">
</image>
</view>
<!-- 结果标题和图标 -->
<!-- 结果标题和图标 -->
<view
class=
"result-header"
>
<view
class=
"result-header"
>
...
@@ -94,11 +96,11 @@ export default {
...
@@ -94,11 +96,11 @@ export default {
// 根据fallResult或allResult字符串生成显示用的选项分布数据
// 根据fallResult或allResult字符串生成显示用的选项分布数据
displayOptionDistribution
()
{
displayOptionDistribution
()
{
const
labels
=
[
'能吃'
,
'少吃'
,
'慎吃'
,
'禁吃'
];
const
labels
=
[
'能吃'
,
'少吃'
,
'慎吃'
,
'禁吃'
];
// 确保所有数据都被正确记录
// 确保所有数据都被正确记录
console
.
log
(
'AllResult数据:'
,
this
.
allResult
,
'类型:'
,
typeof
this
.
allResult
);
console
.
log
(
'AllResult数据:'
,
this
.
allResult
,
'类型:'
,
typeof
this
.
allResult
);
console
.
log
(
'FallResult数据:'
,
this
.
fallResult
,
'类型:'
,
typeof
this
.
fallResult
);
console
.
log
(
'FallResult数据:'
,
this
.
fallResult
,
'类型:'
,
typeof
this
.
fallResult
);
// 首先检查fallResult
// 首先检查fallResult
if
(
this
.
fallResult
&&
this
.
fallResult
!==
null
&&
this
.
fallResult
.
trim
()
!==
''
&&
this
.
fallResult
.
includes
(
'|'
))
{
if
(
this
.
fallResult
&&
this
.
fallResult
!==
null
&&
this
.
fallResult
.
trim
()
!==
''
&&
this
.
fallResult
.
includes
(
'|'
))
{
try
{
try
{
...
@@ -112,7 +114,7 @@ export default {
...
@@ -112,7 +114,7 @@ export default {
console
.
error
(
'处理fallResult时出错:'
,
error
);
console
.
error
(
'处理fallResult时出错:'
,
error
);
}
}
}
}
// 然后检查allResult,使用更宽松的判断条件
// 然后检查allResult,使用更宽松的判断条件
if
(
this
.
allResult
&&
this
.
allResult
!==
null
&&
typeof
this
.
allResult
===
'string'
)
{
if
(
this
.
allResult
&&
this
.
allResult
!==
null
&&
typeof
this
.
allResult
===
'string'
)
{
// 即使不包含|符号,也尝试处理
// 即使不包含|符号,也尝试处理
...
@@ -129,7 +131,7 @@ export default {
...
@@ -129,7 +131,7 @@ export default {
percentage
:
`
${
percent
}
%`
percentage
:
`
${
percent
}
%`
}));
}));
}
}
// 最后使用默认的optionDistribution
// 最后使用默认的optionDistribution
console
.
log
(
'使用默认optionDistribution'
);
console
.
log
(
'使用默认optionDistribution'
);
return
this
.
optionDistribution
;
return
this
.
optionDistribution
;
...
@@ -191,11 +193,15 @@ export default {
...
@@ -191,11 +193,15 @@ export default {
right
:
20
rpx
;
right
:
20
rpx
;
width
:
60
rpx
;
width
:
60
rpx
;
height
:
60
rpx
;
height
:
60
rpx
;
line-height
:
60
rpx
;
text-align
:
center
;
font-size
:
40
rpx
;
color
:
#999
;
z-index
:
10
;
z-index
:
10
;
display
:
flex
;
align-items
:
center
;
justify-content
:
center
;
}
.close-btn
image
{
width
:
100%
;
height
:
100%
;
}
}
.result-header
{
.result-header
{
...
@@ -241,7 +247,7 @@ export default {
...
@@ -241,7 +247,7 @@ export default {
.option-distribution
{
.option-distribution
{
display
:
flex
;
display
:
flex
;
gap
:
5
rpx
;
gap
:
3
rpx
;
margin-bottom
:
30
rpx
;
margin-bottom
:
30
rpx
;
align-items
:
center
;
align-items
:
center
;
width
:
100%
;
width
:
100%
;
...
@@ -264,18 +270,22 @@ export default {
...
@@ -264,18 +270,22 @@ export default {
/* 从左到右4种颜色 - 反转顺序 */
/* 从左到右4种颜色 - 反转顺序 */
.option-bar
:nth-child
(
1
)
{
.option-bar
:nth-child
(
1
)
{
border-radius
:
50
rpx
20
rpx
50
rpx
50
rpx
;
background
:
#D3A458
;
background
:
#D3A458
;
}
}
.option-bar
:nth-child
(
2
)
{
.option-bar
:nth-child
(
2
)
{
border-radius
:
20
rpx
10
rpx
20
rpx
10
rpx
;
background
:
#B27C1E
;
background
:
#B27C1E
;
}
}
.option-bar
:nth-child
(
3
)
{
.option-bar
:nth-child
(
3
)
{
border-radius
:
20
rpx
10
rpx
20
rpx
10
rpx
;
background
:
#8D5C05
;
background
:
#8D5C05
;
}
}
.option-bar
:nth-child
(
4
)
{
.option-bar
:nth-child
(
4
)
{
border-radius
:
20
rpx
50
rpx
50
rpx
20
rpx
;
background
:
#644104
;
background
:
#644104
;
}
}
...
@@ -298,8 +308,8 @@ export default {
...
@@ -298,8 +308,8 @@ export default {
.question-answer-section
{
.question-answer-section
{
background
:
#FFFFFF
;
background
:
#FFFFFF
;
height
:
164
rpx
;
/* height: 164rpx; */
padding
:
2
0
rpx
;
padding
:
4
0
rpx
;
border-radius
:
20
rpx
;
border-radius
:
20
rpx
;
margin-bottom
:
30
rpx
;
margin-bottom
:
30
rpx
;
overflow-y
:
auto
;
overflow-y
:
auto
;
...
@@ -309,6 +319,7 @@ export default {
...
@@ -309,6 +319,7 @@ export default {
font-size
:
28
rpx
;
font-size
:
28
rpx
;
color
:
#333
;
color
:
#333
;
display
:
block
;
display
:
block
;
font-weight
:
bolder
;
margin-bottom
:
15
rpx
;
margin-bottom
:
15
rpx
;
line-height
:
1.6
;
line-height
:
1.6
;
}
}
...
@@ -317,13 +328,13 @@ export default {
...
@@ -317,13 +328,13 @@ export default {
font-size
:
28
rpx
;
font-size
:
28
rpx
;
color
:
#D3A358
;
color
:
#D3A358
;
display
:
block
;
display
:
block
;
font-weight
:
bold
;
/* font-weight: bold; */
}
}
.analysis-section
{
.analysis-section
{
background
:
#FFFFFF
;
background
:
#FFFFFF
;
height
:
446
rpx
;
height
:
446
rpx
;
padding
:
2
0
rpx
;
padding
:
4
0
rpx
;
border-radius
:
36
rpx
;
border-radius
:
36
rpx
;
margin-bottom
:
40
rpx
;
margin-bottom
:
40
rpx
;
overflow-y
:
auto
;
overflow-y
:
auto
;
...
@@ -331,15 +342,15 @@ export default {
...
@@ -331,15 +342,15 @@ export default {
.analysis-title
{
.analysis-title
{
font-size
:
30
rpx
;
font-size
:
30
rpx
;
font-weight
:
bold
;
font-weight
:
bold
er
;
color
:
#
333
;
color
:
#
000
;
display
:
block
;
display
:
block
;
margin-bottom
:
15
rpx
;
margin-bottom
:
15
rpx
;
}
}
.analysis-content
{
.analysis-content
{
font-size
:
28
rpx
;
font-size
:
28
rpx
;
color
:
#
333
;
color
:
#
999999
;
line-height
:
1.8
;
line-height
:
1.8
;
white-space
:
pre-wrap
;
white-space
:
pre-wrap
;
}
}
...
...
components/RegisterLayer.vue
View file @
d74a8012
...
@@ -89,7 +89,7 @@
...
@@ -89,7 +89,7 @@
</view>
</view>
</view>
</view>
<view
class=
"agreement_section"
>
<
!--
<
view
class=
"agreement_section"
>
<view
class=
"agreement_checkbox"
>
<view
class=
"agreement_checkbox"
>
<view
class=
"checkbox"
:class=
"
{ checked: agreementChecked }" @click="agreementChecked = !agreementChecked">
<view
class=
"checkbox"
:class=
"
{ checked: agreementChecked }" @click="agreementChecked = !agreementChecked">
<text
v-if=
"agreementChecked"
class=
"checkmark"
>
✓
</text>
<text
v-if=
"agreementChecked"
class=
"checkmark"
>
✓
</text>
...
@@ -98,7 +98,7 @@
...
@@ -98,7 +98,7 @@
data-type=
"member"
>
《星妈会用户注册协议》
</text><text
class=
"agreement_link"
@
click=
"openAgreement"
data-type=
"member"
>
《星妈会用户注册协议》
</text><text
class=
"agreement_link"
@
click=
"openAgreement"
data-type=
"privacy"
>
《星妈会隐私政策》
</text></text>
data-type=
"privacy"
>
《星妈会隐私政策》
</text></text>
</view>
</view>
</view>
</view>
-->
<button
v-if=
"pageStatus.btnStatus"
form-type=
"submit"
class=
"form_btn"
:class=
"
{ disabled: !isBtnActive }">
<button
v-if=
"pageStatus.btnStatus"
form-type=
"submit"
class=
"form_btn"
:class=
"
{ disabled: !isBtnActive }">
完成
完成
...
...
components/renwu/TaskPerson.vue
View file @
d74a8012
...
@@ -103,14 +103,14 @@
...
@@ -103,14 +103,14 @@
</view>
</view>
</view>
</view>
<view
class=
"agreement_section"
>
<
!--
<
view
class=
"agreement_section"
>
<view
class=
"agreement_checkbox"
>
<view
class=
"agreement_checkbox"
>
<view
class=
"checkbox"
:class=
"
{ checked: agreementChecked }" @click="toggleAgreement">
<view
class=
"checkbox"
:class=
"
{ checked: agreementChecked }" @click="toggleAgreement">
<text
v-if=
"agreementChecked"
class=
"checkmark"
>
✓
</text>
<text
v-if=
"agreementChecked"
class=
"checkmark"
>
✓
</text>
</view>
</view>
<text
class=
"agreement_text"
>
我已阅读并同意
<text
class=
"agreement_link"
@
click=
"handleAgreementClick('member')"
>
《星妈会用户注册协议》
</text><text
class=
"agreement_link"
@
click=
"handleAgreementClick('privacy')"
>
《星妈会隐私政策》
</text></text>
<text
class=
"agreement_text"
>
我已阅读并同意
<text
class=
"agreement_link"
@
click=
"handleAgreementClick('member')"
>
《星妈会用户注册协议》
</text><text
class=
"agreement_link"
@
click=
"handleAgreementClick('privacy')"
>
《星妈会隐私政策》
</text></text>
</view>
</view>
</view>
</view>
-->
<button
v-if=
"pageStatus.btnStatus"
form-type=
"submit"
class=
"form_btn"
:class=
"
{ disabled: !agreementChecked }">
<button
v-if=
"pageStatus.btnStatus"
form-type=
"submit"
class=
"form_btn"
:class=
"
{ disabled: !agreementChecked }">
完成
完成
...
...
pages/index/index.vue
View file @
d74a8012
...
@@ -67,10 +67,10 @@
...
@@ -67,10 +67,10 @@
<!-- 悬浮授权手机号模块 -->
<!-- 悬浮授权手机号模块 -->
<view
class=
"auth-phone-module"
v-if=
"!userStore.memberInfo?.mobile"
>
<view
class=
"auth-phone-module"
v-if=
"
true ||
!userStore.memberInfo?.mobile"
>
<image
class=
"auth-phone-bg"
:src=
"$baseUrl + 'homepage/Q3Res/accessBg
2
.png'"
></image>
<image
class=
"auth-phone-bg"
:src=
"$baseUrl + 'homepage/Q3Res/accessBg
3
.png'"
></image>
<view
class=
"auth-phone-btn-container"
>
<view
class=
"auth-phone-btn-container"
>
<image
class=
"auth-phone-btn"
:src=
"$baseUrl + 'homepage/Q3Res/accessBtn
2
.png'"
@
tap=
"handleAuthPhoneClick"
>
<image
class=
"auth-phone-btn"
:src=
"$baseUrl + 'homepage/Q3Res/accessBtn
3
.png'"
@
tap=
"handleAuthPhoneClick"
>
</image>
</image>
</view>
</view>
</view>
</view>
...
...
v3/addressList/addressEdit.vue
View file @
d74a8012
...
@@ -21,7 +21,7 @@
...
@@ -21,7 +21,7 @@
<text
class=
"label"
>
所在地区
</text>
<text
class=
"label"
>
所在地区
</text>
<view
class=
"region-select"
@
tap=
"showRegionPicker"
>
<view
class=
"region-select"
@
tap=
"showRegionPicker"
>
<text
class=
"region-text"
>
{{
formData
.
region
||
'请选择省/市/区'
}}
</text>
<text
class=
"region-text"
>
{{
formData
.
region
||
'请选择省/市/区'
}}
</text>
<
text
class=
"arrow"
>
{{
">"
}}
</text
>
<
image
class=
"arrow"
:src=
"$baseUrl + 'homepage/Q3Res/rightArrowBtn.png'"
mode=
"aspectFit"
/
>
</view>
</view>
</view>
</view>
...
@@ -993,14 +993,14 @@ export default {
...
@@ -993,14 +993,14 @@ export default {
<
style
scoped
>
<
style
scoped
>
.address-edit-container
{
.address-edit-container
{
padding-bottom
:
200
rpx
;
padding-bottom
:
200
rpx
;
background-color
:
#F8F8F8
;
/* background-color: #F8F8F8; */
min-height
:
100vh
;
min-height
:
100vh
;
}
}
.form-container
{
.form-container
{
padding
:
0
;
padding
:
10
rpx
;
background-color
:
#FFFFFF
;
/* background-color: #FFFFFF; */
border-radius
:
20
rpx
;
border-radius
:
20
rpx
;
margin
:
20
rpx
;
margin
:
20
rpx
;
overflow
:
hidden
;
overflow
:
hidden
;
...
@@ -1090,8 +1090,8 @@ export default {
...
@@ -1090,8 +1090,8 @@ export default {
}
}
.arrow
{
.arrow
{
font-size
:
36
rpx
;
width
:
14
rpx
;
color
:
#999999
;
height
:
23
rpx
;
}
}
.default-switch
{
.default-switch
{
...
...
v3/addressList/addressList.vue
View file @
d74a8012
...
@@ -30,14 +30,22 @@
...
@@ -30,14 +30,22 @@
<!-- 删除确认弹窗 -->
<!-- 删除确认弹窗 -->
<view
v-if=
"showDeleteConfirm"
class=
"modal-overlay"
@
tap=
"cancelDelete"
>
<view
v-if=
"showDeleteConfirm"
class=
"modal-overlay"
@
tap=
"cancelDelete"
>
<view
class=
"modal-cont
ainer
"
@
tap
.
stop
>
<view
class=
"modal-cont
ent
"
@
tap
.
stop
>
<view
class=
"modal-title"
>
确认删除
</view>
<view
class=
"modal-title"
>
确认删除
</view>
<view
class=
"modal-
content
"
>
确定要删除该收货地址吗?
</view>
<view
class=
"modal-
message
"
>
确定要删除该收货地址吗?
</view>
<view
class=
"modal-buttons"
>
<view
class=
"modal-buttons"
>
<view
class=
"modal-cancel"
@
tap=
"cancelDelete"
>
取消
</view>
<view
class=
"modal-btn cancel-btn"
@
tap=
"cancelDelete"
>
<view
class=
"modal-confirm"
@
tap=
"deleteAddress"
>
删除
</view>
<image
:src=
"$baseUrl + 'homepage/Q3Res/buyCancelBtn.png'"
mode=
"aspectFill"
></image>
</view>
<view
class=
"modal-btn confirm-btn"
@
tap=
"deleteAddress"
>
<image
:src=
"$baseUrl + 'homepage/Q3Res/buyComfirmBtn.png'"
mode=
"aspectFill"
></image>
</view>
</view>
</view>
</view>
</view>
<!-- 关闭按钮 -->
<view
class=
"modal-close-btn"
@
tap=
"cancelDelete"
>
<image
:src=
"$baseUrl + 'homepage/Q3Res/commonCloseBtn1.png'"
mode=
"aspectFill"
></image>
</view>
</view>
</view>
</view>
</view>
</
template
>
</
template
>
...
@@ -485,47 +493,60 @@ export default {
...
@@ -485,47 +493,60 @@ export default {
z-index
:
200
;
z-index
:
200
;
}
}
.modal-cont
ainer
{
.modal-cont
ent
{
width
:
60
0
rpx
;
width
:
55
0
rpx
;
background-color
:
#ffffff
;
background-color
:
#ffffff
;
border-radius
:
20
rpx
;
border-radius
:
20
rpx
;
overflow
:
hidden
;
padding
:
50
rpx
;
text-align
:
center
;
}
}
.modal-title
{
.modal-title
{
text-align
:
center
;
font-size
:
34
rpx
;
font-size
:
34
rpx
;
font-weight
:
bold
;
font-weight
:
bold
;
padding
:
30
rpx
;
margin-bottom
:
30
rpx
;
border-bottom
:
1
rpx
solid
#e0e0e0
;
text-align
:
center
;
}
}
.modal-content
{
.modal-message
{
text-align
:
center
;
font-size
:
32
rpx
;
font-size
:
32
rpx
;
color
:
#333333
;
color
:
#333333
;
padding
:
40
rpx
30
rpx
;
margin-bottom
:
30
rpx
;
text-align
:
center
;
}
}
.modal-buttons
{
.modal-buttons
{
display
:
flex
;
display
:
flex
;
border-top
:
1
rpx
solid
#e0e0e0
;
justify-content
:
space-between
;
gap
:
30
rpx
;
}
}
.modal-cancel
,
.modal-btn
{
.modal-confirm
{
height
:
78
rpx
;
flex
:
1
;
text-align
:
center
;
padding
:
30
rpx
;
font-size
:
32
rpx
;
}
}
.modal-cancel
{
.modal-btn
image
{
color
:
#666666
;
width
:
220
rpx
!important
;
border-right
:
1
rpx
solid
#e0e0e0
;
height
:
78
rpx
!important
;
}
.cancel-btn
{
margin-right
:
20
rpx
;
}
.confirm-btn
{
margin-left
:
20
rpx
;
}
.modal-close-btn
{
position
:
absolute
;
top
:
30
rpx
;
right
:
30
rpx
;
z-index
:
201
;
}
}
.modal-confirm
{
.modal-close-btn
image
{
color
:
#ff4444
;
width
:
40
rpx
;
height
:
40
rpx
;
}
}
</
style
>
</
style
>
v3/goodDetail/goodDetail.vue
View file @
d74a8012
...
@@ -56,11 +56,18 @@
...
@@ -56,11 +56,18 @@
<!-- 底部兑换按钮 -->
<!-- 底部兑换按钮 -->
<view
class=
"bottom-bar"
>
<view
class=
"bottom-bar"
>
<button
class=
"exchange-btn"
:class=
"getButtonClass()"
:disabled=
"!canExchange"
@
click=
"handleExchange"
>
<button
class=
"exchange-btn"
:class=
"getButtonClass()"
@
click=
"handleExchange"
>
{{
getButtonText
()
}}
{{
getButtonText
()
}}
</button>
</button>
</view>
</view>
<!-- 悬浮客服按钮 -->
<view
class=
"service-btn"
@
click=
"handleServiceClick"
>
<image
class=
"service-icon"
:src=
"$baseUrl + 'homepage/Q3Res/settlementCenter_serviceBtn.png'"
mode=
"aspectFit"
>
</image>
</view>
<!-- 规格选择弹窗 -->
<!-- 规格选择弹窗 -->
<view
class=
"spec-modal-overlay"
v-if=
"showSpecModal"
@
click=
"closeSpecModal"
>
<view
class=
"spec-modal-overlay"
v-if=
"showSpecModal"
@
click=
"closeSpecModal"
>
<view
class=
"spec-modal-content"
@
click
.
stop
>
<view
class=
"spec-modal-content"
@
click
.
stop
>
...
@@ -77,8 +84,7 @@
...
@@ -77,8 +84,7 @@
<text
v-else
class=
"image-placeholder"
>
商品图片
</text>
<text
v-else
class=
"image-placeholder"
>
商品图片
</text>
</view>
</view>
<view
class=
"product-details"
>
<view
class=
"product-details"
>
<text
class=
"product-points"
>
{{
goodsData
.
points
}}{{
goodsData
.
creditsTypeName
||
'积分'
<text
class=
"product-points"
>
{{
goodsData
.
points
}}{{
goodsData
.
creditsTypeName
||
'积分'
}}
</text>
}}
</text>
<text
class=
"product-stock"
>
库存
{{
formatCount
(
goodsData
.
exchangeCount
)
}}
件
</text>
<text
class=
"product-stock"
>
库存
{{
formatCount
(
goodsData
.
exchangeCount
)
}}
件
</text>
</view>
</view>
</view>
</view>
...
@@ -101,6 +107,8 @@
...
@@ -101,6 +107,8 @@
<text
class=
"quantity-label"
>
选择数量
<text
class=
"limit-text"
v-if=
"goodsData.goodsLimit"
>
(限购
{{
<text
class=
"quantity-label"
>
选择数量
<text
class=
"limit-text"
v-if=
"goodsData.goodsLimit"
>
(限购
{{
goodsData
.
goodsLimit
}}
件)
</text></text>
goodsData
.
goodsLimit
}}
件)
</text></text>
<view
class=
"quantity-selector"
>
<view
class=
"quantity-selector"
>
<image
class=
"quantity-bg"
:src=
"$baseUrl + 'homepage/Q3Res/objectSelectConBg.png'"
mode=
"aspectFill"
></image>
<view
class=
"quantity-btn "
@
click=
"decreaseQuantity"
:disabled=
"quantity
<
=
1
"
>
-
</view>
<view
class=
"quantity-btn "
@
click=
"decreaseQuantity"
:disabled=
"quantity
<
=
1
"
>
-
</view>
<text
class=
"quantity-value"
>
{{
quantity
}}
</text>
<text
class=
"quantity-value"
>
{{
quantity
}}
</text>
<view
class=
"quantity-btn "
@
click=
"increaseQuantity"
<view
class=
"quantity-btn "
@
click=
"increaseQuantity"
...
@@ -126,14 +134,18 @@
...
@@ -126,14 +134,18 @@
<view
class=
"modal-title"
>
兑换确认
</view>
<view
class=
"modal-title"
>
兑换确认
</view>
<view
class=
"modal-message"
>
本次兑换需要消耗
{{
goodsData
.
points
}}{{
goodsData
.
creditsTypeName
||
'积分'
}}
</view>
<view
class=
"modal-message"
>
本次兑换需要消耗
{{
goodsData
.
points
}}{{
goodsData
.
creditsTypeName
||
'积分'
}}
</view>
<view
class=
"modal-buttons"
>
<view
class=
"modal-buttons"
>
<button
class=
"modal-btn cancel-btn"
@
click=
"closeModal"
>
取消
</button>
<view
class=
"modal-btn cancel-btn"
@
click=
"closeModal"
>
<button
class=
"modal-btn confirm-btn"
@
click=
"confirmExchange"
>
确定
</button>
<image
:src=
"$baseUrl + 'homepage/Q3Res/buyCancelBtn.png'"
mode=
"aspectFill"
></image>
</view>
<view
class=
"modal-btn confirm-btn"
@
click=
"confirmExchange"
>
<image
:src=
"$baseUrl + 'homepage/Q3Res/buyComfirmBtn.png'"
mode=
"aspectFill"
></image>
</view>
</view>
</view>
<view
class=
"modal-disclaimer"
>
{{
isPhysicalGoods
()
?
'已发货商品非质量问题不退不换'
:
'兑换完成后不退不换'
}}
</view>
<view
class=
"modal-disclaimer"
>
{{
isPhysicalGoods
()
?
'已发货商品非质量问题不退不换'
:
'兑换完成后不退不换'
}}
</view>
</view>
</view>
<!-- 关闭按钮 -->
<!-- 关闭按钮 -->
<view
class=
"modal-close-btn"
@
click=
"closeModal"
>
<view
class=
"modal-close-btn"
@
click=
"closeModal"
>
<
text
class=
"modal-close-icon"
>
×
</text
>
<
image
:src=
"$baseUrl + 'homepage/Q3Res/commonCloseBtn1.png'"
mode=
"aspectFit"
></image
>
</view>
</view>
</view>
</view>
</view>
</view>
...
@@ -143,6 +155,7 @@
...
@@ -143,6 +155,7 @@
import
{
fetchGoodsDetail
,
fetchSeckillDetail
,
fetchGoodsPrice
,
fetchTradeCredits
,
fetchSeckillTakeOrder
}
from
'@/api/goods.js'
;
import
{
fetchGoodsDetail
,
fetchSeckillDetail
,
fetchGoodsPrice
,
fetchTradeCredits
,
fetchSeckillTakeOrder
}
from
'@/api/goods.js'
;
import
{
useUserStore
}
from
'@/stores/user'
;
import
{
useUserStore
}
from
'@/stores/user'
;
import
{
jump
,
JumpType
}
from
'../../utils'
;
import
{
jump
,
JumpType
}
from
'../../utils'
;
import
{
useHomeStore
}
from
'../../stores/home'
;
export
default
{
export
default
{
data
()
{
data
()
{
...
@@ -345,6 +358,27 @@ export default {
...
@@ -345,6 +358,27 @@ export default {
uni
.
navigateBack
();
uni
.
navigateBack
();
},
},
// 客服按钮点击事件
handleServiceClick
()
{
// 客服功能逻辑,可根据实际需求调整
console
.
log
(
'客服按钮点击'
);
// 可以跳转到客服页面或打开客服弹窗
console
.
log
(
'客服点击'
);
const
homeStore
=
useHomeStore
();
const
{
memberId
,
mobile
,
openId
,
unionId
}
=
homeStore
.
homeInfo
;
const
customerUrl
=
`https://intelcc-user.icsoc.net/?channelKey=45839e0505554f8c8aea3c7b6259b049&init=1&crmld=
${
memberId
}
&mobile=
${
mobile
}
&openId=
${
openId
}
&unionId=
${
unionId
}
`
;
jump
({
type
:
JumpType
.
H5
,
url
:
customerUrl
});
},
// 初始化用户状态
// 初始化用户状态
async
initUserStatus
()
{
async
initUserStatus
()
{
// 获取用户store实例
// 获取用户store实例
...
@@ -729,8 +763,14 @@ export default {
...
@@ -729,8 +763,14 @@ export default {
// 处理兑换
// 处理兑换
handleExchange
()
{
handleExchange
()
{
console
.
log
(
'handleExchange 被调用'
);
console
.
log
(
'登录状态:'
,
this
.
cfgStatus
.
isRegister
);
console
.
log
(
'canExchange:'
,
this
.
canExchange
);
console
.
log
(
'goodsState:'
,
this
.
goodsData
.
goodsState
);
if
(
!
this
.
cfgStatus
.
isRegister
)
{
if
(
!
this
.
cfgStatus
.
isRegister
)
{
// 未登录,跳转到登录注册页面
// 未登录,跳转到登录注册页面
console
.
log
(
'未登录,跳转到登录页面'
);
jump
({
jump
({
type
:
JumpType
.
INNER
,
type
:
JumpType
.
INNER
,
url
:
"/pages/activity/register"
,
url
:
"/pages/activity/register"
,
...
@@ -738,10 +778,13 @@ export default {
...
@@ -738,10 +778,13 @@ export default {
return
;
return
;
}
}
if
(
!
this
.
canExchange
)
{
if
(
!
this
.
canExchange
)
{
console
.
log
(
'不可兑换,显示提示信息'
);
this
.
showStatusMessage
();
this
.
showStatusMessage
();
return
;
return
;
}
}
console
.
log
(
'可以兑换,继续执行兑换流程'
);
// 根据商品类型决定弹窗流程
// 根据商品类型决定弹窗流程
if
(
this
.
isPhysicalGoods
())
{
if
(
this
.
isPhysicalGoods
())
{
// 实物商品:显示规格选择弹窗
// 实物商品:显示规格选择弹窗
...
@@ -1073,7 +1116,7 @@ export default {
...
@@ -1073,7 +1116,7 @@ export default {
orderId
:
orderData
?
(
orderData
.
orderId
||
orderData
.
orderNo
||
orderData
.
id
)
:
''
,
orderId
:
orderData
?
(
orderData
.
orderId
||
orderData
.
orderNo
||
orderData
.
id
)
:
''
,
// 积分信息
// 积分信息
pointsValue
:
`
${
this
.
goodsData
.
points
}
${
this
.
goodsData
.
creditsTypeName
||
'积分'
}
`
,
pointsValue
:
`
${
this
.
goodsData
.
points
}
`
,
creditsTypeName
:
this
.
goodsData
.
creditsTypeName
||
'积分'
,
creditsTypeName
:
this
.
goodsData
.
creditsTypeName
||
'积分'
,
// 商品信息
// 商品信息
...
@@ -1134,14 +1177,15 @@ export default {
...
@@ -1134,14 +1177,15 @@ export default {
min-height
:
100vh
;
min-height
:
100vh
;
background-color
:
#f5f5f5
;
background-color
:
#f5f5f5
;
box-sizing
:
border-box
;
box-sizing
:
border-box
;
overflow-x
:
hidden
;
/* 禁止横向滚动 */
overflow-x
:
hidden
;
/* 禁止横向滚动 */
position
:
relative
;
position
:
relative
;
}
}
/* 禁止整个页面横向滚动 */
/* 禁止整个页面横向滚动 */
page
{
page
{
overflow-x
:
hidden
;
overflow-x
:
hidden
;
width
:
100%
;
width
:
100%
;
}
}
/* 确保所有内容区域都不会超出屏幕宽度 */
/* 确保所有内容区域都不会超出屏幕宽度 */
...
@@ -1203,7 +1247,7 @@ page {
...
@@ -1203,7 +1247,7 @@ page {
.goods-carousel
{
.goods-carousel
{
width
:
100%
;
width
:
100%
;
height
:
750
rpx
;
height
:
750
rpx
;
margin-bottom
:
20
rpx
;
/* margin-bottom: 20rpx; */
}
}
.carousel-swiper
{
.carousel-swiper
{
...
@@ -1390,9 +1434,10 @@ page {
...
@@ -1390,9 +1434,10 @@ page {
.detail-banner
{
.detail-banner
{
width
:
100%
;
width
:
100%
;
min-height
:
200
rpx
;
min-height
:
200
rpx
;
background-color
:
#f8f8f8
;
overflow
:
hidden
;
padding
:
30
rpx
;
/* background-color: #f8f8f8; */
border-radius
:
10
rpx
;
/* padding: 30rpx; */
/* border-radius: 10rpx; */
}
}
.banner-text
{
.banner-text
{
...
@@ -1413,6 +1458,26 @@ page {
...
@@ -1413,6 +1458,26 @@ page {
box-shadow
:
0
-2
rpx
10
rpx
rgba
(
0
,
0
,
0
,
0.1
);
box-shadow
:
0
-2
rpx
10
rpx
rgba
(
0
,
0
,
0
,
0.1
);
}
}
/* 悬浮客服按钮 */
.service-btn
{
position
:
fixed
;
bottom
:
200
rpx
;
right
:
30
rpx
;
width
:
96
rpx
;
height
:
96
rpx
;
background-color
:
#d3a458
;
border-radius
:
50%
;
display
:
flex
;
align-items
:
center
;
justify-content
:
center
;
z-index
:
100
;
}
.service-icon
{
width
:
60
rpx
;
height
:
60
rpx
;
}
.exchange-btn
{
.exchange-btn
{
width
:
100%
;
width
:
100%
;
height
:
90
rpx
;
height
:
90
rpx
;
...
@@ -1605,28 +1670,39 @@ page {
...
@@ -1605,28 +1670,39 @@ page {
.quantity-selector
{
.quantity-selector
{
display
:
flex
;
display
:
flex
;
align-items
:
center
;
align-items
:
center
;
justify-content
:
center
;
gap
:
0
;
gap
:
0
;
border
:
2
rpx
solid
#A8A8A8
;
border-radius
:
8
rpx
;
padding
:
0
;
padding
:
0
;
width
:
fit-content
;
position
:
relative
;
width
:
204
rpx
;
height
:
58
rpx
;
margin-right
:
auto
;
}
.quantity-bg
{
position
:
absolute
;
width
:
204
rpx
;
height
:
58
rpx
;
z-index
:
1
;
}
}
.quantity-btn
{
.quantity-btn
{
width
:
60
rpx
;
width
:
60
rpx
;
height
:
60
rpx
;
height
:
60
rpx
;
border-right
:
1
rpx
solid
#A8A8A8
;
/* background-color: #F5F5F5; */
background-color
:
#fff
;
color
:
#333
;
color
:
#A8A8A8
;
font-size
:
40
rpx
;
font-
size
:
32
rpx
;
font-
weight
:
bold
;
display
:
flex
;
display
:
flex
;
align-items
:
center
;
align-items
:
center
;
justify-content
:
center
;
justify-content
:
center
;
z-index
:
2
;
border-right
:
none
;
}
}
.quantity-btn
:last-child
{
.quantity-btn
:last-child
{
border-right
:
none
;
/*
border-right: none;
border-left
:
1
rpx
solid
#A8A8A8
;
border-left: 1rpx solid #A8A8A8;
*/
}
}
.quantity-btn
:disabled
{
.quantity-btn
:disabled
{
...
@@ -1635,12 +1711,13 @@ page {
...
@@ -1635,12 +1711,13 @@ page {
}
}
.quantity-value
{
.quantity-value
{
margin
:
0
30
rpx
;
font-size
:
32
rpx
;
font-size
:
32
rpx
;
color
:
#333
;
color
:
#333
;
font-weight
:
500
;
min-width
:
40
rpx
;
min-width
:
80
rpx
;
text-align
:
center
;
text-align
:
center
;
padding
:
0
20
rpx
;
z-index
:
2
;
padding
:
0
;
}
}
/* 秒杀商品数量显示 */
/* 秒杀商品数量显示 */
...
@@ -1721,13 +1798,12 @@ page {
...
@@ -1721,13 +1798,12 @@ page {
align-items
:
center
;
align-items
:
center
;
justify-content
:
center
;
justify-content
:
center
;
margin
:
40
rpx
auto
0
;
margin
:
40
rpx
auto
0
;
background-color
:
#B0B0B0
;
border-radius
:
50%
;
border-radius
:
50%
;
}
}
.modal-close-
ico
n
{
.modal-close-
bt
n
{
font-size
:
40
rpx
;
width
:
56
rpx
;
color
:
#fff
;
height
:
56
rpx
;
}
}
.modal-title
{
.modal-title
{
...
@@ -1748,30 +1824,25 @@ page {
...
@@ -1748,30 +1824,25 @@ page {
.modal-buttons
{
.modal-buttons
{
display
:
flex
;
display
:
flex
;
gap
:
20
rpx
;
justify-content
:
space-between
;
margin-top
:
25
rpx
;
/* gap: 30rpx; */
}
}
.modal-btn
{
.modal-btn
{
flex
:
1
;
height
:
78
rpx
;
height
:
80
rpx
;
}
border-radius
:
40
rpx
;
font-size
:
28
rpx
;
.modal-btn
image
{
border
:
none
;
width
:
220
rpx
!important
;
display
:
flex
;
height
:
78
rpx
!important
;
align-items
:
center
;
justify-content
:
center
;
}
}
.cancel-btn
{
.cancel-btn
{
background-color
:
#fff
;
/* margin-right: 20rpx; */
color
:
#D3A458
;
border
:
2
rpx
solid
#D3A458
;
}
}
.confirm-btn
{
.confirm-btn
{
background-color
:
#D3A458
;
/* margin-left: 20rpx; */
color
:
#fff
;
}
}
.modal-disclaimer
{
.modal-disclaimer
{
...
...
v3/more/index.vue
View file @
d74a8012
...
@@ -22,7 +22,7 @@
...
@@ -22,7 +22,7 @@
</view>
</view>
<text
class=
"menu-text"
>
异业合作
</text>
<text
class=
"menu-text"
>
异业合作
</text>
</view>
</view>
<
text
class=
"arrow"
>
›
</text
>
<
image
class=
"arrow"
:src=
"$baseUrl + 'homepage/Q3Res/rightArrowBtn.png'"
mode=
"aspectFit"
/
>
</view>
</view>
<view
class=
"menu-item"
@
tap=
"handleItemTap('feedback')"
>
<view
class=
"menu-item"
@
tap=
"handleItemTap('feedback')"
>
...
@@ -33,7 +33,7 @@
...
@@ -33,7 +33,7 @@
</view>
</view>
<text
class=
"menu-text"
>
意见反馈
</text>
<text
class=
"menu-text"
>
意见反馈
</text>
</view>
</view>
<
text
class=
"arrow"
>
›
</text
>
<
image
class=
"arrow"
:src=
"$baseUrl + 'homepage/Q3Res/rightArrowBtn.png'"
mode=
"aspectFit"
/
>
</view>
</view>
<view
class=
"menu-item"
@
tap=
"handleItemTap('userPolicy')"
>
<view
class=
"menu-item"
@
tap=
"handleItemTap('userPolicy')"
>
...
@@ -44,7 +44,7 @@
...
@@ -44,7 +44,7 @@
</view>
</view>
<text
class=
"menu-text"
>
用户政策
</text>
<text
class=
"menu-text"
>
用户政策
</text>
</view>
</view>
<
text
class=
"arrow"
>
›
</text
>
<
image
class=
"arrow"
:src=
"$baseUrl + 'homepage/Q3Res/rightArrowBtn.png'"
mode=
"aspectFit"
/
>
</view>
</view>
<view
class=
"menu-item"
@
tap=
"handleItemTap('privacyPolicy')"
>
<view
class=
"menu-item"
@
tap=
"handleItemTap('privacyPolicy')"
>
...
@@ -55,7 +55,7 @@
...
@@ -55,7 +55,7 @@
</view>
</view>
<text
class=
"menu-text"
>
隐私协议
</text>
<text
class=
"menu-text"
>
隐私协议
</text>
</view>
</view>
<
text
class=
"arrow"
>
›
</text
>
<
image
class=
"arrow"
:src=
"$baseUrl + 'homepage/Q3Res/rightArrowBtn.png'"
mode=
"aspectFit"
/
>
</view>
</view>
<view
class=
"menu-item cancel-account"
@
tap=
"handleItemTap('cancelAccount')"
>
<view
class=
"menu-item cancel-account"
@
tap=
"handleItemTap('cancelAccount')"
>
...
@@ -68,7 +68,7 @@
...
@@ -68,7 +68,7 @@
</view>
</view>
<view
class=
"cancel-text-container"
>
<view
class=
"cancel-text-container"
>
<text
class=
"cancel-text"
>
注销后无法恢复
</text>
<text
class=
"cancel-text"
>
注销后无法恢复
</text>
<
text
class=
"arrow"
>
›
</text
>
<
image
class=
"arrow"
:src=
"$baseUrl + 'homepage/Q3Res/rightArrowBtn.png'"
mode=
"aspectFit"
/
>
</view>
</view>
</view>
</view>
</view>
</view>
...
@@ -219,8 +219,8 @@ export default {
...
@@ -219,8 +219,8 @@ export default {
}
}
.arrow
{
.arrow
{
font-size
:
40
rpx
;
width
:
14
rpx
;
color
:
#C8C8C8
;
height
:
23
rpx
;
}
}
/* 注销账号特殊样式 */
/* 注销账号特殊样式 */
...
@@ -232,6 +232,6 @@ export default {
...
@@ -232,6 +232,6 @@ export default {
.cancel-text
{
.cancel-text
{
font-size
:
26
rpx
;
font-size
:
26
rpx
;
color
:
#999999
;
color
:
#999999
;
margin-right
:
1
0
rpx
;
margin-right
:
3
0
rpx
;
}
}
</
style
>
</
style
>
v3/orderDetail/orderDetail.vue
View file @
d74a8012
...
@@ -2,6 +2,8 @@
...
@@ -2,6 +2,8 @@
<view
class=
"container"
>
<view
class=
"container"
>
<!-- 内容区域 -->
<!-- 内容区域 -->
<view
class=
"content"
>
<view
class=
"content"
>
<!-- 顶部背景渐变 -->
<view
class=
"top-gradient-bg"
></view>
<!-- 订单状态 -->
<!-- 订单状态 -->
<view
class=
"status-section"
:class=
"statusClass"
>
<view
class=
"status-section"
:class=
"statusClass"
>
<image
class=
"status-icon"
:src=
"getStatusIcon()"
mode=
"aspectFit"
></image>
<image
class=
"status-icon"
:src=
"getStatusIcon()"
mode=
"aspectFit"
></image>
...
@@ -56,11 +58,19 @@
...
@@ -56,11 +58,19 @@
<view
<view
v-if=
"orderData.virtualType === 'card' && orderData.coupon && orderData.coupon.cards && orderData.coupon.cards.length > 0 && orderData.coupon.cards[0].code"
v-if=
"orderData.virtualType === 'card' && orderData.coupon && orderData.coupon.cards && orderData.coupon.cards.length > 0 && orderData.coupon.cards[0].code"
class=
"coupon-code-item"
>
class=
"coupon-code-item"
>
<text
class=
"coupon-label"
>
券码
</text>
<!-- 当只有code没有pwd时显示券码,否则显示卡号 -->
<text
class=
"coupon-label"
>
{{
orderData
.
coupon
.
cards
[
0
].
pwd
?
'卡号'
:
'券码'
}}
</text>
<view
class=
"coupon-code-content"
>
<view
class=
"coupon-code-content"
>
<text
class=
"coupon-code"
>
{{
orderData
.
coupon
.
cards
[
0
].
code
}}
</text>
<text
class=
"coupon-code"
>
{{
orderData
.
coupon
.
cards
[
0
].
code
}}
</text>
<text
class=
"copy-btn"
@
click=
"copyCouponCode(orderData.coupon.cards[0].code)"
>
复制
</text>
<text
class=
"copy-btn"
@
click=
"copyCouponCode(orderData.coupon.cards[0].code)"
>
复制
</text>
</view>
</view>
<!-- 卡密展示 - 如果存在pwd字段 -->
<text
v-if=
"orderData.coupon.cards[0].pwd"
class=
"coupon-label"
>
卡密
</text>
<view
v-if=
"orderData.coupon.cards[0].pwd"
class=
"coupon-code-content"
>
<text
class=
"coupon-code"
>
{{
orderData
.
coupon
.
cards
[
0
].
pwd
}}
</text>
<text
class=
"copy-btn"
@
click=
"copyCouponCode(orderData.coupon.cards[0].pwd)"
>
复制
</text>
</view>
</view>
</view>
<!-- 过期时间 -->
<!-- 过期时间 -->
...
@@ -172,14 +182,18 @@
...
@@ -172,14 +182,18 @@
<view
class=
"modal-title"
>
确认退货
</view>
<view
class=
"modal-title"
>
确认退货
</view>
<view
class=
"modal-message"
>
确定要申请退货吗?
</view>
<view
class=
"modal-message"
>
确定要申请退货吗?
</view>
<view
class=
"modal-buttons"
>
<view
class=
"modal-buttons"
>
<button
class=
"modal-btn cancel-btn"
@
click=
"closeRefundModal"
>
取消
</button>
<view
class=
"modal-btn cancel-btn"
@
click=
"closeRefundModal"
>
<button
class=
"modal-btn confirm-btn"
@
click=
"confirmRefund"
>
确定
</button>
<image
:src=
"$baseUrl + 'homepage/Q3Res/buyCancelBtn.png'"
mode=
"aspectFill"
></image>
</view>
<view
class=
"modal-btn confirm-btn"
@
click=
"confirmRefund"
>
<image
:src=
"$baseUrl + 'homepage/Q3Res/buyComfirmBtn.png'"
mode=
"aspectFill"
></image>
</view>
</view>
</view>
<
view
class=
"modal-disclaimer"
>
申请退货后将由客服进行审核处理
</view
>
<
!-- <view class="modal-disclaimer">申请退货后将由客服进行审核处理</view> --
>
</view>
</view>
<!-- 关闭按钮 -->
<!-- 关闭按钮 -->
<view
class=
"modal-close-btn"
@
click=
"closeRefundModal"
>
<view
class=
"modal-close-btn"
@
click=
"closeRefundModal"
>
<
text
class=
"modal-close-icon"
>
×
</text
>
<
image
:src=
"$baseUrl + 'homepage/Q3Res/commonCloseBtn1.png'"
mode=
"aspectFit"
></image
>
</view>
</view>
</view>
</view>
</template>
</template>
...
@@ -749,6 +763,7 @@ export default {
...
@@ -749,6 +763,7 @@ export default {
min-height
:
100vh
;
min-height
:
100vh
;
background-color
:
#f5f5f5
;
background-color
:
#f5f5f5
;
box-sizing
:
border-box
;
box-sizing
:
border-box
;
overflow
:
hidden
;
}
}
/* 内容区域 */
/* 内容区域 */
...
@@ -757,12 +772,21 @@ export default {
...
@@ -757,12 +772,21 @@ export default {
box-sizing
:
border-box
;
box-sizing
:
border-box
;
}
}
/* 顶部背景渐变 */
.top-gradient-bg
{
position
:
absolute
;
top
:
0
;
left
:
0
;
width
:
100%
;
height
:
200
rpx
;
background
:
linear-gradient
(
180deg
,
#ECC990
0%
,
rgba
(
211
,
164
,
88
,
0
)
100%
);
}
/* 订单状态 */
/* 订单状态 */
.status-section
{
.status-section
{
padding
:
40
rpx
2
0
rpx
;
padding
:
20
rpx
8
0
rpx
;
display
:
flex
;
display
:
flex
;
align-items
:
center
;
align-items
:
center
;
background
:
linear-gradient
(
180deg
,
#ECC990
0%
,
rgba
(
211
,
164
,
88
,
0
)
100%
);
position
:
relative
;
position
:
relative
;
margin
:
0
-20
rpx
;
margin
:
0
-20
rpx
;
width
:
calc
(
100%
+
40
rpx
);
width
:
calc
(
100%
+
40
rpx
);
...
@@ -807,6 +831,8 @@ export default {
...
@@ -807,6 +831,8 @@ export default {
/* 收货地址 */
/* 收货地址 */
.address-section
{
.address-section
{
z-index
:
1
;
position
:
relative
;
background-color
:
#fff
;
background-color
:
#fff
;
padding
:
30
rpx
20
rpx
;
padding
:
30
rpx
20
rpx
;
margin-bottom
:
20
rpx
;
margin-bottom
:
20
rpx
;
...
@@ -1185,6 +1211,8 @@ export default {
...
@@ -1185,6 +1211,8 @@ export default {
.module-payment
,
.module-payment
,
.module-order-info
,
.module-order-info
,
.module-logistics
{
.module-logistics
{
z-index
:
1
;
position
:
relative
;
background-color
:
#fff
;
background-color
:
#fff
;
padding
:
30
rpx
20
rpx
;
padding
:
30
rpx
20
rpx
;
margin-bottom
:
20
rpx
;
margin-bottom
:
20
rpx
;
...
@@ -1228,8 +1256,8 @@ export default {
...
@@ -1228,8 +1256,8 @@ export default {
position
:
fixed
;
position
:
fixed
;
bottom
:
200
rpx
;
bottom
:
200
rpx
;
right
:
30
rpx
;
right
:
30
rpx
;
width
:
120
rpx
;
width
:
96
rpx
;
height
:
120
rpx
;
height
:
96
rpx
;
background-color
:
#d3a458
;
background-color
:
#d3a458
;
border-radius
:
50%
;
border-radius
:
50%
;
display
:
flex
;
display
:
flex
;
...
@@ -1255,6 +1283,7 @@ export default {
...
@@ -1255,6 +1283,7 @@ export default {
align-items
:
center
;
align-items
:
center
;
justify-content
:
center
;
justify-content
:
center
;
z-index
:
9999
;
z-index
:
9999
;
flex-direction
:
column
;
}
}
.modal-content
{
.modal-content
{
...
@@ -1289,23 +1318,20 @@ export default {
...
@@ -1289,23 +1318,20 @@ export default {
}
}
.modal-btn
{
.modal-btn
{
flex
:
1
;
height
:
78
rpx
;
height
:
88
rpx
;
}
line-height
:
88
rpx
;
text-align
:
center
;
.modal-btn
image
{
font-size
:
32
rpx
;
width
:
220
rpx
!important
;
border-radius
:
44
rpx
;
height
:
78
rpx
!important
;
border
:
none
;
}
}
.cancel-btn
{
.cancel-btn
{
background-color
:
#f5f5f5
;
margin-right
:
20
rpx
;
color
:
#666
;
}
}
.confirm-btn
{
.confirm-btn
{
background-color
:
#d3a458
;
margin-left
:
20
rpx
;
color
:
#fff
;
}
}
.modal-disclaimer
{
.modal-disclaimer
{
...
@@ -1316,18 +1342,17 @@ export default {
...
@@ -1316,18 +1342,17 @@ export default {
}
}
.modal-close-btn
{
.modal-close-btn
{
position
:
absolute
;
width
:
56
rpx
;
top
:
-80
rpx
;
height
:
56
rpx
;
right
:
20
rpx
;
border-radius
:
50%
;
width
:
60
rpx
;
height
:
60
rpx
;
display
:
flex
;
display
:
flex
;
align-items
:
center
;
align-items
:
center
;
justify-content
:
center
;
justify-content
:
center
;
margin-top
:
80
rpx
;
}
}
.modal-close-
icon
{
.modal-close-
btn
{
font-size
:
60
rpx
;
width
:
56
rpx
;
color
:
#fff
;
height
:
56
rpx
;
}
}
</
style
>
</
style
>
v3/payResultPage/payResultPage.vue
View file @
d74a8012
...
@@ -6,7 +6,9 @@
...
@@ -6,7 +6,9 @@
<view
class=
"result-section"
>
<view
class=
"result-section"
>
<!-- 状态图标 -->
<!-- 状态图标 -->
<view
class=
"result-icon"
:class=
"resultIconClass"
>
<view
class=
"result-icon"
:class=
"resultIconClass"
>
<text
class=
"icon-text"
>
{{
resultIcon
}}
</text>
<image
:src=
"$baseUrl + (isSuccess ? 'homepage/Q3Res/payResultSucIcon.png' : 'homepage/Q3Res/payResultFailIcon.png')"
mode=
"aspectFit"
class=
"result-icon-img"
></image>
</view>
</view>
<!-- 状态文字 -->
<!-- 状态文字 -->
...
@@ -15,12 +17,12 @@
...
@@ -15,12 +17,12 @@
<!-- 成功状态显示积分信息 -->
<!-- 成功状态显示积分信息 -->
<view
v-if=
"isSuccess"
class=
"points-info"
>
<view
v-if=
"isSuccess"
class=
"points-info"
>
<text
class=
"points-value"
>
{{
pointsValue
}}
</text>
<text
class=
"points-value"
>
{{
pointsValue
}}
</text>
<
!--
<text
class=
"points-unit"
>
{{
resultData
.
creditsTypeName
||
'积分'
}}
</text>
--
>
<
text
class=
"points-unit"
>
{{
resultData
.
creditsTypeName
||
'积分'
}}
</text
>
</view>
</view>
<!-- 失败状态显示失败原因 -->
<!-- 失败状态显示失败原因 -->
<view
v-if=
"!isSuccess"
class=
"failure-info"
>
<view
v-if=
"!isSuccess"
class=
"failure-info"
>
<text
class=
"failure-reason"
>
{{
failureReason
}}
</text>
<text
class=
"failure-reason"
>
失败原因:
{{
failureReason
}}
</text>
</view>
</view>
<!-- 支付方式信息 - 仅成功状态显示 -->
<!-- 支付方式信息 - 仅成功状态显示 -->
...
@@ -34,7 +36,11 @@
...
@@ -34,7 +36,11 @@
<!-- 底部操作按钮 -->
<!-- 底部操作按钮 -->
<view
class=
"action-section"
>
<view
class=
"action-section"
>
<button
class=
"action-btn"
@
click=
"handleAction"
>
{{
actionButtonText
}}
</button>
<view
class=
"action-btn"
@
click=
"handleAction"
>
<image
:src=
"$baseUrl + (isSuccess ? 'homepage/Q3Res/payResultLookOrderBtn.png' : 'homepage/Q3Res/payResultBackHome.png')"
mode=
"aspectFit"
class=
"action-btn-img"
></image>
</view>
</view>
</view>
<!-- 活动banner -->
<!-- 活动banner -->
...
@@ -224,7 +230,7 @@ export default {
...
@@ -224,7 +230,7 @@ export default {
// 处理活动banner点击
// 处理活动banner点击
handleVipActiveClick
(
index
,
item
)
{
handleVipActiveClick
(
index
,
item
)
{
console
.
log
(
'活动banner点击:'
,
item
);
console
.
log
(
'活动banner点击:'
,
item
);
// 只保留跳转功能,从item.link获取跳转参数
// 只保留跳转功能,从item.link获取跳转参数
const
url
=
item
?.
link
?.
url
||
item
?.
linkUrl
||
''
;
const
url
=
item
?.
link
?.
url
||
item
?.
linkUrl
||
''
;
const
type
=
item
?.
link
?.
type
||
(
item
?.
linkType
===
'h5'
?
JumpType
.
H5
:
JumpType
.
PAGE
);
const
type
=
item
?.
link
?.
type
||
(
item
?.
linkType
===
'h5'
?
JumpType
.
H5
:
JumpType
.
PAGE
);
...
@@ -246,6 +252,7 @@ export default {
...
@@ -246,6 +252,7 @@ export default {
min-height
:
100vh
;
min-height
:
100vh
;
background-color
:
#f5f5f5
;
background-color
:
#f5f5f5
;
box-sizing
:
border-box
;
box-sizing
:
border-box
;
background-color
:
#fff
;
}
}
...
@@ -253,16 +260,18 @@ export default {
...
@@ -253,16 +260,18 @@ export default {
.content
{
.content
{
padding
:
0
;
padding
:
0
;
box-sizing
:
border-box
;
box-sizing
:
border-box
;
background-color
:
#fff
;
}
}
/* 支付结果状态 */
/* 支付结果状态 */
.result-section
{
.result-section
{
background-color
:
#fff
;
background-color
:
#fff
;
padding
:
80
rpx
30
rpx
4
0
rpx
;
padding
:
60
rpx
30
rpx
3
0
rpx
;
display
:
flex
;
display
:
flex
;
flex-direction
:
column
;
flex-direction
:
column
;
align-items
:
center
;
align-items
:
center
;
text-align
:
center
;
text-align
:
center
;
margin-bottom
:
20
rpx
;
}
}
.result-icon
{
.result-icon
{
...
@@ -272,34 +281,42 @@ export default {
...
@@ -272,34 +281,42 @@ export default {
display
:
flex
;
display
:
flex
;
align-items
:
center
;
align-items
:
center
;
justify-content
:
center
;
justify-content
:
center
;
margin-bottom
:
3
0
rpx
;
margin-bottom
:
2
0
rpx
;
}
}
.result-icon.icon-success
{
.result-icon.icon-success
{
background-color
:
#d3a458
;
/* background-color: #d3a458; */
}
}
.result-icon.icon-failure
{
.result-icon.icon-failure
{
background-color
:
#d3a458
;
/* background-color: #d3a458; */
}
}
.icon-text
{
.result-icon-img
{
font-size
:
60
rpx
;
width
:
80
rpx
;
color
:
#fff
;
height
:
80
rpx
;
font-weight
:
bold
;
}
.action-btn-img
{
width
:
100%
;
height
:
88
rpx
;
}
}
.result-text
{
.result-text
{
font-size
:
36
rpx
;
font-size
:
36
rpx
;
font-weight
:
bold
;
font-weight
:
bold
;
color
:
#333
;
color
:
#333
;
margin-bottom
:
20
rpx
;
margin-bottom
:
25
rpx
;
padding
:
10
rpx
30
rpx
;
border-radius
:
10
rpx
;
}
}
.points-info
{
.points-info
{
display
:
flex
;
display
:
flex
;
align-items
:
baseline
;
align-items
:
baseline
;
margin-bottom
:
30
rpx
;
margin-bottom
:
25
rpx
;
padding
:
10
rpx
30
rpx
;
border-radius
:
10
rpx
;
}
}
.points-value
{
.points-value
{
...
@@ -315,7 +332,9 @@ export default {
...
@@ -315,7 +332,9 @@ export default {
}
}
.failure-info
{
.failure-info
{
margin-bottom
:
30
rpx
;
margin-bottom
:
60
rpx
;
padding
:
10
rpx
30
rpx
;
border-radius
:
10
rpx
;
}
}
.failure-reason
{
.failure-reason
{
...
@@ -325,6 +344,9 @@ export default {
...
@@ -325,6 +344,9 @@ export default {
.payment-info
{
.payment-info
{
width
:
100%
;
width
:
100%
;
padding
:
10
rpx
30
rpx
;
border-radius
:
10
rpx
;
margin-bottom
:
10
rpx
;
}
}
.payment-row
{
.payment-row
{
...
@@ -341,13 +363,14 @@ export default {
...
@@ -341,13 +363,14 @@ export default {
.payment-value
{
.payment-value
{
font-size
:
28
rpx
;
font-size
:
28
rpx
;
color
:
#
999
;
color
:
#
000
;
}
}
/* 操作按钮区域 */
/* 操作按钮区域 */
.action-section
{
.action-section
{
padding
:
4
0
rpx
30
rpx
;
padding
:
3
0
rpx
30
rpx
;
background-color
:
#fff
;
background-color
:
#fff
;
margin-bottom
:
20
rpx
;
}
}
.action-btn
{
.action-btn
{
...
@@ -357,8 +380,8 @@ export default {
...
@@ -357,8 +380,8 @@ export default {
font-size
:
32
rpx
;
font-size
:
32
rpx
;
font-weight
:
bold
;
font-weight
:
bold
;
background-color
:
#fff
;
background-color
:
#fff
;
color
:
#
333
;
color
:
#
000000
;
border
:
1
rpx
solid
#ddd
;
/* border: 2rpx solid #000000; */
}
}
/* 活动banner区域 */
/* 活动banner区域 */
...
@@ -383,8 +406,8 @@ export default {
...
@@ -383,8 +406,8 @@ export default {
position
:
fixed
;
position
:
fixed
;
bottom
:
200
rpx
;
bottom
:
200
rpx
;
right
:
30
rpx
;
right
:
30
rpx
;
width
:
120
rpx
;
width
:
96
rpx
;
height
:
120
rpx
;
height
:
96
rpx
;
background-color
:
#d3a458
;
background-color
:
#d3a458
;
border-radius
:
50%
;
border-radius
:
50%
;
display
:
flex
;
display
:
flex
;
...
...
v3/settlementCenter/settlementCenter.vue
View file @
d74a8012
...
@@ -16,7 +16,9 @@
...
@@ -16,7 +16,9 @@
</view>
</view>
</view>
</view>
</view>
</view>
<view
class=
"arrow-icon"
>
{{
">"
}}
</view>
<view
class=
"arrow-icon"
>
<image
:src=
"$baseUrl + 'homepage/Q3Res/rightArrowBtn.png'"
mode=
"aspectFill"
></image>
</view>
</view>
</view>
<!-- 订单信息模块 -->
<!-- 订单信息模块 -->
...
@@ -91,14 +93,18 @@
...
@@ -91,14 +93,18 @@
<view
class=
"modal-message"
>
本次兑换需要消耗
{{
goodsInfo
.
points
*
goodsInfo
.
quantity
}}{{
goodsInfo
.
creditsTypeName
<view
class=
"modal-message"
>
本次兑换需要消耗
{{
goodsInfo
.
points
*
goodsInfo
.
quantity
}}{{
goodsInfo
.
creditsTypeName
||
'积分'
}}
</view>
||
'积分'
}}
</view>
<view
class=
"modal-buttons"
>
<view
class=
"modal-buttons"
>
<button
class=
"modal-btn cancel-btn"
@
click=
"closeModal"
>
取消
</button>
<view
class=
"modal-btn cancel-btn"
@
click=
"closeModal"
>
<button
class=
"modal-btn confirm-btn"
@
click=
"confirmExchange"
>
确定
</button>
<image
:src=
"$baseUrl + 'homepage/Q3Res/buyCancelBtn.png'"
mode=
"aspectFill"
></image>
</view>
<view
class=
"modal-btn confirm-btn"
@
click=
"confirmExchange"
>
<image
:src=
"$baseUrl + 'homepage/Q3Res/buyComfirmBtn.png'"
mode=
"aspectFill"
></image>
</view>
</view>
</view>
<view
class=
"modal-disclaimer"
>
{{
isPhysicalGoods
()
?
'已发货商品非质量问题不退不换'
:
'兑换完成后不退不换'
}}
</view>
<view
class=
"modal-disclaimer"
>
{{
isPhysicalGoods
()
?
'已发货商品非质量问题不退不换'
:
'兑换完成后不退不换'
}}
</view>
</view>
</view>
<!-- 关闭按钮 -->
<!-- 关闭按钮 -->
<view
class=
"modal-close-btn"
@
click=
"closeModal"
>
<view
class=
"modal-close-btn"
@
click=
"closeModal"
>
<
text
class=
"modal-close-icon"
>
×
</text
>
<
image
:src=
"$baseUrl + 'homepage/Q3Res/commonCloseBtn1.png'"
mode=
"aspectFit"
></image
>
</view>
</view>
</view>
</view>
<!-- 地址添加确认弹窗 -->
<!-- 地址添加确认弹窗 -->
...
@@ -107,13 +113,36 @@
...
@@ -107,13 +113,36 @@
<view
class=
"modal-title"
>
提示
</view>
<view
class=
"modal-title"
>
提示
</view>
<view
class=
"modal-message"
>
您还没有收货地址,是否添加地址?
</view>
<view
class=
"modal-message"
>
您还没有收货地址,是否添加地址?
</view>
<view
class=
"modal-buttons"
>
<view
class=
"modal-buttons"
>
<button
class=
"modal-btn cancel-btn"
@
click=
"handleAddressCancel"
>
取消
</button>
<view
class=
"modal-btn cancel-btn"
@
click=
"handleAddressCancel"
>
<button
class=
"modal-btn confirm-btn"
@
click=
"confirmAddAddress"
>
添加地址
</button>
<image
:src=
"$baseUrl + 'homepage/Q3Res/buyCancelBtn.png'"
mode=
"aspectFill"
></image>
</view>
<view
class=
"modal-btn confirm-btn"
@
click=
"confirmAddAddress"
>
<image
:src=
"$baseUrl + 'homepage/Q3Res/buyComfirmBtn.png'"
mode=
"aspectFill"
></image>
</view>
</view>
</view>
</view>
</view>
<!-- 关闭按钮 -->
<!-- 关闭按钮 -->
<view
class=
"modal-close-btn"
@
click=
"closeAddressModal"
>
<view
class=
"modal-close-btn"
@
click=
"closeAddressModal"
>
<text
class=
"modal-close-icon"
>
×
</text>
<image
:src=
"$baseUrl + 'homepage/Q3Res/commonCloseBtn1.png'"
mode=
"aspectFit"
></image>
</view>
</view>
<!-- 选择地址提示弹窗 -->
<view
class=
"modal-overlay"
v-if=
"showSelectAddressModal"
@
click=
"closeSelectAddressModal"
>
<view
class=
"modal-content"
@
click
.
stop
>
<view
class=
"modal-title"
>
提示
</view>
<view
class=
"modal-message"
>
请先选择收货地址
</view>
<view
class=
"modal-buttons"
>
<view
class=
"modal-btn cancel-btn"
@
click=
"closeSelectAddressModal"
>
<image
:src=
"$baseUrl + 'homepage/Q3Res/buyCancelBtn.png'"
mode=
"aspectFill"
></image>
</view>
<view
class=
"modal-btn confirm-btn"
@
click=
"handleGoSelectAddress"
>
<image
:src=
"$baseUrl + 'homepage/Q3Res/buyComfirmBtn.png'"
mode=
"aspectFill"
></image>
</view>
</view>
</view>
<!-- 关闭按钮 -->
<view
class=
"modal-close-btn"
@
click=
"closeSelectAddressModal"
>
<image
:src=
"$baseUrl + 'homepage/Q3Res/commonCloseBtn1.png'"
mode=
"aspectFit"
></image>
</view>
</view>
</view>
</view>
</
template
>
</
template
>
...
@@ -126,34 +155,35 @@ import { jump, JumpType } from '../../utils';
...
@@ -126,34 +155,35 @@ import { jump, JumpType } from '../../utils';
export
default
{
export
default
{
data
()
{
data
()
{
return
{
return
{
orderNotes
:
''
,
orderNotes
:
''
,
// 订单来源子渠道
// 订单来源子渠道
orderSubSource
:
''
,
orderSubSource
:
''
,
// 订单参数
// 订单参数
orderParams
:
{},
orderParams
:
{},
priceData
:
null
,
priceData
:
null
,
// 地址信息
// 地址信息
selectedAddress
:
null
,
selectedAddress
:
null
,
hasAddress
:
false
,
hasAddress
:
false
,
fullAddress
:
''
,
fullAddress
:
''
,
recipientName
:
''
,
recipientName
:
''
,
recipientPhone
:
''
,
recipientPhone
:
''
,
// 商品信息
// 商品信息
goodsInfo
:
{
goodsInfo
:
{
name
:
''
,
name
:
''
,
spec
:
''
,
spec
:
''
,
points
:
0
,
points
:
0
,
quantity
:
1
quantity
:
1
},
},
// 商店信息
// 商店信息
homeStore
:
null
,
homeStore
:
null
,
// 弹窗状态
// 弹窗状态
showConfirmModal
:
false
,
showConfirmModal
:
false
,
showAddressModal
:
false
,
showAddressModal
:
false
,
// 用于防连点
showSelectAddressModal
:
false
,
isSubmitting
:
false
// 用于防连点
}
isSubmitting
:
false
}
},
},
onLoad
(
options
)
{
onLoad
(
options
)
{
console
.
log
(
'结算页面参数:'
,
options
);
console
.
log
(
'结算页面参数:'
,
options
);
...
@@ -204,8 +234,11 @@ export default {
...
@@ -204,8 +234,11 @@ export default {
}
}
}
}
// 页面显示时重新检查地址(从地址编辑页面返回时或无选中地址时)
// 只有在没有选中地址的情况下才重新检查地址
this
.
checkAddress
();
// 这样当用户从地址选择页返回但没有选择新地址时,会保留之前已有的地址
if
(
!
this
.
selectedAddress
||
!
this
.
hasAddress
)
{
this
.
checkAddress
();
}
// 如果已经有地址了,关闭地址弹窗
// 如果已经有地址了,关闭地址弹窗
if
(
this
.
hasAddress
&&
this
.
showAddressModal
)
{
if
(
this
.
hasAddress
&&
this
.
showAddressModal
)
{
...
@@ -312,6 +345,17 @@ export default {
...
@@ -312,6 +345,17 @@ export default {
closeAddressModal
()
{
closeAddressModal
()
{
this
.
showAddressModal
=
false
;
this
.
showAddressModal
=
false
;
},
},
// 关闭选择地址提示弹窗
closeSelectAddressModal
()
{
this
.
showSelectAddressModal
=
false
;
},
// 处理选择地址
handleGoSelectAddress
()
{
this
.
closeSelectAddressModal
();
this
.
selectAddress
();
},
// 处理地址弹窗取消
// 处理地址弹窗取消
handleAddressCancel
()
{
handleAddressCancel
()
{
...
@@ -360,17 +404,8 @@ export default {
...
@@ -360,17 +404,8 @@ export default {
try
{
try
{
// 检查是否有收货地址
// 检查是否有收货地址
if
(
!
this
.
hasAddress
||
!
this
.
selectedAddress
)
{
if
(
!
this
.
hasAddress
||
!
this
.
selectedAddress
)
{
uni
.
showModal
({
// 显示选择地址提示弹窗
title
:
'提示'
,
this
.
showSelectAddressModal
=
true
;
content
:
'请先选择收货地址'
,
confirmText
:
'去选择'
,
cancelText
:
'取消'
,
success
:
(
res
)
=>
{
if
(
res
.
confirm
)
{
this
.
selectAddress
();
}
}
});
return
;
return
;
}
}
...
@@ -467,7 +502,7 @@ export default {
...
@@ -467,7 +502,7 @@ export default {
orderId
:
orderId
,
orderId
:
orderId
,
// 积分信息
// 积分信息
pointsValue
:
`
${
this
.
goodsInfo
.
points
*
this
.
goodsInfo
.
quantity
}
${
this
.
goodsInfo
.
creditsTypeName
}
`
,
pointsValue
:
`
${
this
.
goodsInfo
.
points
*
this
.
goodsInfo
.
quantity
}
`
,
creditsTypeName
:
this
.
goodsInfo
.
creditsTypeName
,
creditsTypeName
:
this
.
goodsInfo
.
creditsTypeName
,
// 商品信息
// 商品信息
...
@@ -539,6 +574,7 @@ export default {
...
@@ -539,6 +574,7 @@ export default {
align-items
:
center
;
align-items
:
center
;
justify-content
:
center
;
justify-content
:
center
;
z-index
:
9999
;
z-index
:
9999
;
flex-direction
:
column
;
}
}
.modal-content
{
.modal-content
{
...
@@ -570,27 +606,27 @@ export default {
...
@@ -570,27 +606,27 @@ export default {
display
:
flex
;
display
:
flex
;
gap
:
20
rpx
;
gap
:
20
rpx
;
margin-bottom
:
30
rpx
;
margin-bottom
:
30
rpx
;
justify-content
:
center
;
}
}
.modal-btn
{
.modal-btn
{
flex
:
1
;
width
:
220
rpx
!important
;
height
:
88
rpx
;
height
:
78
rpx
!important
;
border-radius
:
44
rpx
;
position
:
relative
;
font-size
:
30
rpx
;
}
line-height
:
88
rpx
;
padding
:
0
;
.modal-btn
image
{
width
:
220
rpx
!important
;
height
:
78
rpx
!important
;
}
}
.cancel-btn
{
.cancel-btn
{
background-color
:
#f5f5f5
;
color
:
#666
;
border
:
none
;
border
:
none
;
}
}
.confirm-btn
{
.confirm-btn
{
background-color
:
#e6a23c
;
color
:
#fff
;
border
:
none
;
border
:
none
;
margin-left
:
20
rpx
;
}
}
.modal-disclaimer
{
.modal-disclaimer
{
...
@@ -601,22 +637,16 @@ export default {
...
@@ -601,22 +637,16 @@ export default {
}
}
.modal-close-btn
{
.modal-close-btn
{
position
:
absolute
;
width
:
56
rpx
;
bottom
:
-100
rpx
;
height
:
56
rpx
;
width
:
80
rpx
;
height
:
80
rpx
;
background-color
:
#fff
;
border-radius
:
50%
;
border-radius
:
50%
;
display
:
flex
;
display
:
flex
;
align-items
:
center
;
align-items
:
center
;
justify-content
:
center
;
justify-content
:
center
;
box-shadow
:
0
2
rpx
10
rpx
rgba
(
0
,
0
,
0
,
0.1
)
;
margin-top
:
80
rpx
;
}
}
.modal-close-icon
{
font-size
:
50
rpx
;
color
:
#999
;
}
.container
{
.container
{
width
:
100%
;
width
:
100%
;
...
@@ -657,6 +687,7 @@ export default {
...
@@ -657,6 +687,7 @@ export default {
.address-info
{
.address-info
{
flex
:
1
;
flex
:
1
;
margin-right
:
20
rpx
;
}
}
.address-text
{
.address-text
{
...
@@ -685,8 +716,13 @@ export default {
...
@@ -685,8 +716,13 @@ export default {
}
}
.arrow-icon
{
.arrow-icon
{
font-size
:
32
rpx
;
width
:
20
rpx
;
color
:
#999
;
height
:
32
rpx
;
}
.arrow-icon
image
{
width
:
100%
;
height
:
100%
;
}
}
/* 订单信息模块 */
/* 订单信息模块 */
...
@@ -770,7 +806,7 @@ export default {
...
@@ -770,7 +806,7 @@ export default {
.product-price
{
.product-price
{
font-size
:
32
rpx
;
font-size
:
32
rpx
;
color
:
#
e6a23c
;
color
:
#
D3A458
;
font-weight
:
bold
;
font-weight
:
bold
;
display
:
inline-block
;
display
:
inline-block
;
margin-right
:
20
rpx
;
margin-right
:
20
rpx
;
...
@@ -862,29 +898,29 @@ export default {
...
@@ -862,29 +898,29 @@ export default {
.summary-price
{
.summary-price
{
font-size
:
28
rpx
;
font-size
:
28
rpx
;
color
:
#
e6a23c
;
color
:
#
D3A458
;
font-weight
:
bold
;
font-weight
:
bold
;
}
}
/* 客服按钮 */
/* 客服按钮 */
.service-btn
{
.service-btn
{
position
:
fixed
;
position
:
fixed
;
bottom
:
2
0
0
rpx
;
bottom
:
2
2
0
rpx
;
right
:
30
rpx
;
right
:
30
rpx
;
width
:
120
rpx
;
width
:
96
rpx
;
height
:
120
rpx
;
height
:
96
rpx
;
background-color
:
#
e6a23c
;
background-color
:
#
D3A458
;
border-radius
:
50%
;
border-radius
:
50%
;
display
:
flex
;
display
:
flex
;
flex-direction
:
column
;
align-items
:
center
;
align-items
:
center
;
justify-content
:
center
;
justify-content
:
center
;
z-index
:
100
;
z-index
:
100
;
box-shadow
:
0
2
rpx
10
rpx
rgba
(
0
,
0
,
0
,
0.2
);
}
}
.service-icon
{
.service-icon
{
width
:
100%
;
width
:
60
rpx
;
height
:
100%
;
height
:
60
rpx
;
}
}
/* 底部提交栏 */
/* 底部提交栏 */
...
@@ -894,42 +930,46 @@ export default {
...
@@ -894,42 +930,46 @@ export default {
left
:
0
;
left
:
0
;
right
:
0
;
right
:
0
;
background-color
:
#fff
;
background-color
:
#fff
;
padding
:
20
rpx
30
rpx
4
0
rpx
;
padding
:
40
rpx
20
rpx
60
rpx
2
0
rpx
;
box-sizing
:
border-box
;
box-sizing
:
border-box
;
box-shadow
:
0
-2
rpx
10
rpx
rgba
(
0
,
0
,
0
,
0.1
);
box-shadow
:
0
-2
rpx
10
rpx
rgba
(
0
,
0
,
0
,
0.1
);
display
:
flex
;
display
:
flex
;
align-items
:
center
;
align-items
:
center
;
justify-content
:
flex-end
;
justify-content
:
space-between
;
width
:
100%
;
}
}
.total-info
{
.total-info
{
width
:
60%
;
display
:
flex
;
display
:
flex
;
flex-direction
:
column
;
flex-direction
:
row
;
margin-right
:
20
rpx
;
align-items
:
center
;
}
}
.total-label
{
.total-label
{
font-size
:
24
rpx
;
font-size
:
24
rpx
;
color
:
#666
;
color
:
#666
;
margin-bottom
:
5
rpx
;
}
}
.total-price
{
.total-price
{
font-size
:
32
rpx
;
font-size
:
32
rpx
;
color
:
#
e6a23c
;
color
:
#
D3A458
;
font-weight
:
bold
;
font-weight
:
bold
;
margin-left
:
20
rpx
;
display
:
block
;
}
}
.submit-btn
{
.submit-btn
{
width
:
2
00
rpx
;
width
:
2
48
rpx
;
height
:
80
rpx
;
height
:
74
rpx
;
background-color
:
#
e6a23c
;
background-color
:
#
D3A458
;
color
:
#fff
;
color
:
#fff
;
font-size
:
28
rpx
;
font-size
:
28
rpx
;
border-radius
:
40
rpx
;
border-radius
:
37
rpx
;
border
:
none
;
border
:
none
;
display
:
flex
;
line-height
:
74
rpx
;
align-items
:
center
;
padding
:
0
;
justify-content
:
center
;
}
}
.submit-btn
:active
{
.submit-btn
:active
{
...
...
views/Home.vue
View file @
d74a8012
...
@@ -1036,6 +1036,15 @@ export default {
...
@@ -1036,6 +1036,15 @@ export default {
// 处理能不能吃答题
// 处理能不能吃答题
async
handleCanEatAnswer
(
answerIndex
)
{
async
handleCanEatAnswer
(
answerIndex
)
{
// 添加登录检查
if
(
!
this
.
homeStore
.
isLogin
)
{
jump
({
type
:
JumpType
.
INNER
,
url
:
"/pages/activity/register"
,
});
return
;
}
if
(
!
this
.
canEatData
||
!
this
.
canEatData
.
id
)
{
if
(
!
this
.
canEatData
||
!
this
.
canEatData
.
id
)
{
uni
.
showToast
({
uni
.
showToast
({
title
:
'数据异常,请稍后重试'
,
title
:
'数据异常,请稍后重试'
,
...
...
views/My.vue
View file @
d74a8012
...
@@ -146,7 +146,7 @@
...
@@ -146,7 +146,7 @@
}"
>
}"
>
<image
class=
"menu-icon"
:src=
"$baseUrl + 'homepage/Q3Res/myIcon_myOrder.png'"
mode=
"aspectFit"
/>
<image
class=
"menu-icon"
:src=
"$baseUrl + 'homepage/Q3Res/myIcon_myOrder.png'"
mode=
"aspectFit"
/>
<text
class=
"menu-title"
>
我的订单
</text>
<text
class=
"menu-title"
>
我的订单
</text>
<
text
class=
"menu-arrow"
>
〉
</text
>
<
image
class=
"menu-arrow"
:src=
"$baseUrl + 'homepage/Q3Res/rightArrowBtn.png'"
mode=
"aspectFit"
/
>
</view>
</view>
<view
class=
"menu-item"
@
click=
"navigateToWithLogin('/v3/addressList/addressList')"
:data-log=
"{
<view
class=
"menu-item"
@
click=
"navigateToWithLogin('/v3/addressList/addressList')"
:data-log=
"{
xcxClick: '我的页面点击',
xcxClick: '我的页面点击',
...
@@ -155,7 +155,7 @@
...
@@ -155,7 +155,7 @@
}"
>
}"
>
<image
class=
"menu-icon"
:src=
"$baseUrl + 'homepage/Q3Res/myIcon_address.png'"
mode=
"aspectFit"
/>
<image
class=
"menu-icon"
:src=
"$baseUrl + 'homepage/Q3Res/myIcon_address.png'"
mode=
"aspectFit"
/>
<text
class=
"menu-title"
>
收货地址管理
</text>
<text
class=
"menu-title"
>
收货地址管理
</text>
<
text
class=
"menu-arrow"
>
〉
</text
>
<
image
class=
"menu-arrow"
:src=
"$baseUrl + 'homepage/Q3Res/rightArrowBtn.png'"
mode=
"aspectFit"
/
>
</view>
</view>
<view
class=
"menu-item"
@
click=
"navigateToCouponWithLogin()"
:data-log=
"{
<view
class=
"menu-item"
@
click=
"navigateToCouponWithLogin()"
:data-log=
"{
xcxClick: '我的页面点击',
xcxClick: '我的页面点击',
...
@@ -164,7 +164,7 @@
...
@@ -164,7 +164,7 @@
}"
>
}"
>
<image
class=
"menu-icon"
:src=
"$baseUrl + 'homepage/Q3Res/myIcon_myCupon.png'"
mode=
"aspectFit"
/>
<image
class=
"menu-icon"
:src=
"$baseUrl + 'homepage/Q3Res/myIcon_myCupon.png'"
mode=
"aspectFit"
/>
<text
class=
"menu-title"
>
我的优惠券
</text>
<text
class=
"menu-title"
>
我的优惠券
</text>
<
text
class=
"menu-arrow"
>
〉
</text
>
<
image
class=
"menu-arrow"
:src=
"$baseUrl + 'homepage/Q3Res/rightArrowBtn.png'"
mode=
"aspectFit"
/
>
</view>
</view>
<view
class=
"menu-item"
@
click=
"navigateToWithLogin('/v3/more/index')"
:data-log=
"{
<view
class=
"menu-item"
@
click=
"navigateToWithLogin('/v3/more/index')"
:data-log=
"{
xcxClick: '我的页面点击',
xcxClick: '我的页面点击',
...
@@ -173,7 +173,7 @@
...
@@ -173,7 +173,7 @@
}"
>
}"
>
<image
class=
"menu-icon"
:src=
"$baseUrl + 'homepage/Q3Res/myIcon_more.png'"
mode=
"aspectFit"
/>
<image
class=
"menu-icon"
:src=
"$baseUrl + 'homepage/Q3Res/myIcon_more.png'"
mode=
"aspectFit"
/>
<text
class=
"menu-title"
>
更多
</text>
<text
class=
"menu-title"
>
更多
</text>
<
text
class=
"menu-arrow"
>
〉
</text
>
<
image
class=
"menu-arrow"
:src=
"$baseUrl + 'homepage/Q3Res/rightArrowBtn.png'"
mode=
"aspectFit"
/
>
</view>
</view>
</view>
</view>
...
@@ -211,6 +211,7 @@
...
@@ -211,6 +211,7 @@
.menu-container
{
.menu-container
{
width
:
702
rpx
;
width
:
702
rpx
;
margin
:
0
auto
;
margin
:
0
auto
;
margin-bottom
:
100
rpx
;
}
}
.menu-item
{
.menu-item
{
...
@@ -227,7 +228,7 @@
...
@@ -227,7 +228,7 @@
.menu-icon
{
.menu-icon
{
width
:
40
rpx
;
width
:
40
rpx
;
height
:
40
rpx
;
height
:
40
rpx
;
margin-right
:
20
rpx
;
margin-right
:
35
rpx
;
}
}
.menu-title
{
.menu-title
{
...
@@ -237,8 +238,8 @@
...
@@ -237,8 +238,8 @@
}
}
.menu-arrow
{
.menu-arrow
{
font-size
:
2
4
rpx
;
width
:
1
4
rpx
;
color
:
#999999
;
height
:
23
rpx
;
}
}
/* 任务模块样式 */
/* 任务模块样式 */
...
...
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