Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
J
jz_Travel
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
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
zhengke
jz_Travel
Commits
a6fd2b64
Commit
a6fd2b64
authored
Mar 05, 2025
by
罗超
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
完成详情页面的VIP绑定
parent
728cbc7d
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
14 changed files
with
1351 additions
and
1015 deletions
+1351
-1015
App.vue
App.vue
+1
-0
index.vue
components/auth/index.vue
+2
-0
vip.vue
components/vip/vip.vue
+144
-0
pages.json
pages.json
+7
-0
jz_Line.vue
pages/jiuzhai/jz_Line.vue
+6
-2
jz_LineDetail.vue
pages/jiuzhai/jz_LineDetail.vue
+47
-229
aggregation.vue
pages/order/aggregation/aggregation.vue
+22
-0
share_qrcode.vue
pages/reserve/share_qrcode.vue
+1
-1
share-qrcode.vue
pages/share-qrcode/share-qrcode.vue
+1
-1
userHeader.vue
pages/user-center/components/userHeader.vue
+1
-0
user-bind-erp.vue
pages/user-center/user-bind-erp.vue
+1
-0
user-center copy.vue
pages/user-center/user-center copy.vue
+1002
-0
user-center.vue
pages/user-center/user-center.vue
+115
-782
api.js
plugin/api.js
+1
-0
No files found.
App.vue
View file @
a6fd2b64
...
...
@@ -72,6 +72,7 @@ export default {
pid
:
u
.
erpBaseInfo
?
u
.
erpBaseInfo
.
employeeId
:
u
.
pid
,
erpBaseInfo
:
u
.
erpBaseInfo
,
count
:
0
,
isVip
:
u
.
isVip
,
customerType
:
1
,
//直客,2-同行
directCustomerId
:
u
.
directCustomerId
//直客Id
}
...
...
components/auth/index.vue
View file @
a6fd2b64
...
...
@@ -237,6 +237,7 @@
pid
:
u
.
erpBaseInfo
?
u
.
erpBaseInfo
.
employeeId
:
u
.
pid
,
erpBaseInfo
:
u
.
erpBaseInfo
,
count
:
0
,
isVip
:
u
.
isVip
,
customerType
:
1
,
//直客,2-同行
directCustomerId
:
u
.
directCustomerId
//直客Id
}
...
...
@@ -291,6 +292,7 @@
b2bResult
.
createBy
=
b2bData
.
createBy
;
b2bResult
.
salesBaseInfo
=
b2bData
.
salesBaseInfo
;
b2bResult
.
groupId
=
b2bData
.
groupId
;
b2bResult
.
isVip
=
b2bData
.
isVip
;
b2bResult
.
contactNumber
=
b2bData
.
contactNumber
;
uni
.
setStorageSync
(
'b2b_user'
,
b2bResult
)
that
.
$emit
(
"changeuserinfo"
);
...
...
components/vip/vip.vue
0 → 100644
View file @
a6fd2b64
<
template
>
<view
class=
"vip-box"
>
<template
v-if=
"vipInfo && vipInfo.FinishOrderCount>0 && vipInfo.FinishOrderCount
<vipInfo
.
OrderCount
"
>
<view
class=
"vip-box-unactive row"
>
<view
style=
"margin-top: 25rpx;"
class=
"col"
>
<view
class=
"remark row items-center"
>
再完成
{{
vipInfo
.
OrderCount
-
vipInfo
.
FinishOrderCount
}}
单即可成为VIP,享永久折扣!
<image
style=
"width: 21rpx;height: 21rpx;margin-left: 10rpx;"
src=
"https://viitto-1301420277.cos.ap-chengdu.myqcloud.com/Upload/Goods/638732528690203686.png"
></image>
</view>
<view
class=
"step-box row items-center"
>
<view
class=
"line"
:style=
"
{width:`${(vipInfo.FinishOrderCount/vipInfo.OrderCount)*100}%`}">
</view>
<view
class=
"step-item"
:class=
"
{'active':x
<vipInfo
.
FinishOrderCount
}"
v-for=
"x in vipInfo.OrderCount"
>
{{
x
+
1
}}
</view>
</view>
</view>
<image
src=
"https://viitto-1301420277.cos.ap-chengdu.myqcloud.com/Upload/Goods/638732528736165089.png"
class=
"vip-logo"
></image>
</view>
</
template
>
</view>
</template>
<
script
>
export
default
{
name
:
"vip"
,
props
:{
lineId
:{
type
:
Number
}
},
data
()
{
return
{
user
:{},
vipInfo
:
null
,
userVipRights
:{}
};
},
mounted
()
{
this
.
user
=
uni
.
getStorageSync
(
'b2b_user'
)
this
.
user
=
this
.
user
?
this
.
user
:{
customerId
:
0
},
this
.
getUserVipInfo
()
},
methods
:{
getUserVipInfo
(){
const
parameter
=
{
VipCusType
:
1
,
CustomerId
:
this
.
user
.
customerId
}
// #ifdef MP-DI
parameter
.
VipCusType
=
2
// #endif
this
.
apipost
(
"vip_post_CheckCustomerIsVip"
,
parameter
,(
r
)
=>
{
this
.
vipInfo
=
r
.
data
const
v
=
r
.
data
this
.
$emit
(
'setUserOrder'
,
v
.
FinishOrderCount
)
if
(
v
.
FinishOrderCount
==
v
.
OrderCount
){
let
rule
=
v
.
RuleList
.
find
(
x
=>
x
.
LineId
==
this
.
lineId
)
if
(
!
rule
)
rule
=
v
.
RuleList
.
find
(
x
=>
x
.
LineId
==
0
)
if
(
rule
)
{
this
.
userVipRights
=
rule
this
.
$emit
(
'change'
,
this
.
userVipRights
)
}
}
})
}
}
}
</
script
>
<
style
>
@import
url('../../asset/css/flex.css')
;
@font-face
{
font-family
:
"dinAli"
;
src
:
url("//at.alicdn.com/wf/webfont/MQHUV6e56ce5/BFOHNMvFqM80.woff2")
format
(
"woff2"
);
font-display
:
swap
;
}
.vip-box-unactive
{
margin
:
25
rpx
0
rpx
;
padding
:
0
rpx
34
rpx
0
rpx
34
rpx
;
height
:
120
rpx
;
background
:
linear-gradient
(
90deg
,
#3F423F
,
#313131
);
position
:
relative
;
border-radius
:
18
rpx
;
}
.vip-box-unactive
.vip-logo
{
right
:
34
rpx
;
width
:
87
rpx
;
height
:
99
rpx
;
top
:
15
rpx
;
position
:
absolute
;
z-index
:
4
;
}
.vip-box-unactive
.remark
{
font-size
:
24
rpx
;
color
:
#E2C27A
;
line-height
:
1
;
margin-bottom
:
16
rpx
;
}
.vip-box-unactive
.step-box
{
position
:
relative
;
justify-content
:
space-between
;
}
.vip-box-unactive
.step-box
::after
,
.vip-box-unactive
.step-box
.line
{
height
:
10
rpx
;
background
:
#C99E59
;
border-radius
:
5
rpx
;
left
:
0
;
top
:
10
rpx
;
position
:
absolute
;
z-index
:
2
;
}
.vip-box-unactive
.step-box
::after
{
z-index
:
1
;
background
:
#2E2E2E
;
border-radius
:
0
;
right
:
0
;
content
:
' '
;
display
:
block
;
}
.vip-box-unactive
.step-item
{
/* font-weight: 400; */
font-size
:
24
rpx
;
color
:
#494949
;
width
:
30
rpx
;
height
:
30
rpx
;
background
:
#2E2E2E
;
border-radius
:
50%
;
position
:
relative
;
z-index
:
3
;
text-align
:
center
;
font-family
:
dinAli
;
text-align
:
center
;
line-height
:
30
rpx
;
font-weight
:
bolder
;
}
.vip-box-unactive
.step-item.active
{
background
:
linear-gradient
(
270deg
,
#C99E59
,
#FFFFB3
);
color
:
#583F2C
;
}
</
style
>
\ No newline at end of file
pages.json
View file @
a6fd2b64
...
...
@@ -332,6 +332,13 @@
"style"
:
{
"navigationStyle"
:
"custom"
}
},
{
"path"
:
"aggregation/aggregation"
,
"style"
:
{
"navigationBarTitleText"
:
"订单中心"
}
}
]
},
...
...
pages/jiuzhai/jz_Line.vue
View file @
a6fd2b64
...
...
@@ -345,11 +345,11 @@
'active2':msg.teamType==2}">
<headerLine></headerLine>
<view
class=
"search-box"
style=
"margin-top: 24rpx;"
>
<view
class=
"date"
@
click=
"showBranch=true"
>
<view
class=
"date"
@
click=
"showBranch=true"
v-if=
"branchVisible"
>
<u-icon
name=
"location"
color=
"#B99846"
size=
"24"
></u-icon>
<text
style=
"margin-left: 20rpx;color: #B99846;"
>
{{
currentBrachName
}}
</text>
</view>
<view
style=
"width: 1px;height: 26rpx;margin-right: 10rpx; background: #E5E3E1;flex-shrink: 0;"
>
<view
v-if=
"branchVisible"
style=
"width: 1px;height: 26rpx;margin-right: 10rpx; background: #E5E3E1;flex-shrink: 0;"
>
<view
style=
"opacity: 0;"
>
1
</view>
...
...
@@ -633,6 +633,7 @@
branchList
:
[],
currentBrachName
:
""
,
showBranch
:
false
,
branchVisible
:
false
,
optionsTitle
:
[
"推荐排序"
,
"线路玩法"
,
...
...
@@ -650,6 +651,9 @@
uni
.
setNavigationBarTitle
({
title
:
"精品旅游线路"
})
// #ifdef MP-DI
this
.
branchVisible
=
false
// #endif
},
onLoad
(
option
)
{
console
.
log
(
"option"
,
option
);
...
...
pages/jiuzhai/jz_LineDetail.vue
View file @
a6fd2b64
This diff is collapsed.
Click to expand it.
pages/order/aggregation/aggregation.vue
0 → 100644
View file @
a6fd2b64
<
template
>
<view>
</view>
</
template
>
<
script
>
export
default
{
data
()
{
return
{
}
},
methods
:
{
}
}
</
script
>
<
style
>
</
style
>
pages/reserve/share_qrcode.vue
View file @
a6fd2b64
...
...
@@ -76,7 +76,7 @@
that
.
request2
({
url
:
'/api/AppletUser/GetWeiXinQRCodeForApplet'
,
data
:
{
Path
:
'/pages/index/index?user_id='
+
that
.
UserInfo
.
UserId
+
'&SmallShopId='
+
SmallShopId
+
'&storeId='
+
this
.
storeId
+
'&id='
+
this
.
ID
+
'&JumpType=8'
,
Path
:
'/pages/index/index?user_id='
+
that
.
UserInfo
.
UserId
+
'&SmallShopId='
+
SmallShopId
+
'&storeId='
+
this
.
storeId
+
'&id='
+
this
.
ID
+
'&JumpType=8'
+
this
.
$uiConfig
.
DIRECT_PARAMETER
,
With
:
that
.
qrcode
.
QrCodeSize
,
}
},
...
...
pages/share-qrcode/share-qrcode.vue
View file @
a6fd2b64
...
...
@@ -91,7 +91,7 @@
that
.
request2
({
url
:
'/api/AppletUser/GetWeiXinQRCodeForApplet'
,
data
:
{
Path
:
'/pages/index/index?user_id='
+
that
.
UserInfo
.
UserId
+
'&SmallShopId='
+
SmallShopId
,
Path
:
'/pages/index/index?user_id='
+
that
.
UserInfo
.
UserId
+
'&SmallShopId='
+
SmallShopId
+
this
.
$uiConfig
.
DIRECT_PARAMETER
,
With
:
that
.
qrcode
.
QrCodeSize
,
}
},
...
...
pages/user-center/components/userHeader.vue
View file @
a6fd2b64
...
...
@@ -74,6 +74,7 @@
</view>
</view>
</view>
</view>
</
template
>
...
...
pages/user-center/user-bind-erp.vue
View file @
a6fd2b64
...
...
@@ -108,6 +108,7 @@
pid
:
u
.
erpBaseInfo
?
u
.
erpBaseInfo
.
employeeId
:
u
.
pid
,
erpBaseInfo
:
u
.
erpBaseInfo
,
count
:
0
,
isVip
:
u
.
isVip
,
customerType
:
1
,
//直客,2-同行
directCustomerId
:
u
.
directCustomerId
//直客Id
}
...
...
pages/user-center/user-center copy.vue
0 → 100644
View file @
a6fd2b64
This diff is collapsed.
Click to expand it.
pages/user-center/user-center.vue
View file @
a6fd2b64
This diff is collapsed.
Click to expand it.
plugin/api.js
View file @
a6fd2b64
...
...
@@ -27,6 +27,7 @@ export default {
Vue
.
prototype
.
host3
=
"http://192.168.5.214"
//Vue.prototype.host2 = "https://erpmallapi.oytour.com"
//Vue.prototype.host3 = "https://reborn.oytour.com"
console
.
log
(
process
.
env
)
Vue
.
prototype
.
request
=
function
(
param
,
success
,
failed
)
{
//网络请求
...
...
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