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
995830f0
Commit
995830f0
authored
Feb 28, 2025
by
youjie
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'master' of
http://gitlab.oytour.com/zk123/jz_travel
parents
1b07c9c7
4106a072
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
18 changed files
with
1126 additions
and
117 deletions
+1126
-117
flex.css
asset/css/flex.css
+1
-1
tffont.css
asset/font/tffont.css
+15
-3
index.vue
components/tabbar/index.vue
+2
-1
pages.json
pages.json
+7
-0
TicketOrderDetails.vue
pages/airTicket/TicketOrderDetails.vue
+2
-2
airTicketOrderDetail.vue
pages/airTicket/airTicketOrderDetail.vue
+742
-0
TicketOrderList.vue
pages/airTicket/components/TicketOrderList.vue
+6
-22
Index.vue
pages/airTicket/components/flight/Index.vue
+231
-0
index.vue
pages/airTicket/components/guest/index.vue
+5
-1
list.vue
pages/airTicket/components/guest/list.vue
+4
-1
flightDetail.vue
pages/airTicket/flightDetail.vue
+22
-12
ticketList.vue
pages/airTicket/ticketList/ticketList.vue
+1
-1
index.vue
pages/index/index.vue
+61
-62
jz_LineDetail.vue
pages/jiuzhai/jz_LineDetail.vue
+18
-6
jz_MyOrder.vue
pages/jiuzhai/jz_MyOrder.vue
+1
-1
jz_SureOrder.vue
pages/jiuzhai/jz_SureOrder.vue
+5
-1
user-center.vue
pages/user-center/user-center.vue
+1
-1
api.js
plugin/api.js
+2
-2
No files found.
asset/css/flex.css
View file @
995830f0
...
...
@@ -22,7 +22,7 @@
margin-left
:
32
rpx
;
}
.q-mt-md
{
margin-top
:
32
rpx
;
margin-top
:
32
rpx
!important
;
}
.q-mb-md
{
margin-bottom
:
32
rpx
;
...
...
asset/font/tffont.css
View file @
995830f0
@font-face
{
font-family
:
"tffont"
;
/* Project id 4816119 */
src
:
url('//at.alicdn.com/t/c/font_4816119_
3fhqn0zoshb.woff2?t=1739957291854
')
format
(
'woff2'
),
url('//at.alicdn.com/t/c/font_4816119_
3fhqn0zoshb.woff?t=1739957291854
')
format
(
'woff'
),
url('//at.alicdn.com/t/c/font_4816119_
3fhqn0zoshb.ttf?t=1739957291854
')
format
(
'truetype'
);
src
:
url('//at.alicdn.com/t/c/font_4816119_
6zzxojucd79.woff2?t=1740378953818
')
format
(
'woff2'
),
url('//at.alicdn.com/t/c/font_4816119_
6zzxojucd79.woff?t=1740378953818
')
format
(
'woff'
),
url('//at.alicdn.com/t/c/font_4816119_
6zzxojucd79.ttf?t=1740378953818
')
format
(
'truetype'
);
}
.tffont
{
...
...
@@ -13,6 +13,18 @@
-moz-osx-font-smoothing
:
grayscale
;
}
.tffont-checkmark
:before
{
content
:
"\e611"
;
}
.tffont-close-circle-o
:before
{
content
:
"\e848"
;
}
.tffont-clock
:before
{
content
:
"\e621"
;
}
.tffont-baby
:before
{
content
:
"\e650"
;
}
...
...
components/tabbar/index.vue
View file @
995830f0
...
...
@@ -71,13 +71,14 @@ export default {
<
style
>
.tabbarMain
{
position
:
fixed
;
z-index
:
999
;
z-index
:
999
999
;
bottom
:
0
;
left
:
0
;
right
:
0
;
background
:
#fff
;
border-top
:
1
rpx
solid
#E0E0E0
;
padding
:
20
rpx
0
0
;
border-radius
:
36
rpx
36
rpx
0
0
;
}
.tabBtnMina
{
...
...
pages.json
View file @
995830f0
...
...
@@ -768,6 +768,13 @@
{
"navigationBarTitleText"
:
"填写机票订单信息"
}
},
{
"path"
:
"airTicketOrderDetail"
,
"style"
:
{
"navigationBarTitleText"
:
""
}
}
]
},
...
...
pages/airTicket/TicketOrderDetails.vue
View file @
995830f0
...
...
@@ -8,8 +8,8 @@
<img
class=
"inlineblock MR20"
mode=
"widthFix"
style=
"width: 44rpx;height: 44rpx;"
:src=
"orderStatus.icon"
/>
<!-- 已付款 待付款 已取消 -->
<text
class=
"fz36 fontBold"
:class=
"[orderStatus.code==-1?'colorC6C1BC':'']"
>
{{
orderStatus
.
text
}}
</text>
<
!--
<
text
class=
"fz36 fontBold"
:class=
"[orderStatus.code==-1?'colorC6C1BC':'']"
>
{{
orderStatus
.
text
}}
</text>
-->
</view>
<view
@
click=
"getDetail"
>
<text
class=
"fz26 colorC09D4F"
>
¥
</text>
...
...
pages/airTicket/airTicketOrderDetail.vue
0 → 100644
View file @
995830f0
This diff is collapsed.
Click to expand it.
pages/airTicket/components/TicketOrderList.vue
View file @
995830f0
...
...
@@ -2,7 +2,7 @@
<view>
<template
v-for=
"(item,i) in DataLists"
>
<view
class=
"TicketOrderListCard bgFFF relative"
@
click=
"getDetail(item.orderId)"
v-if=
"item.NewFlightList.length>0"
>
@
click=
"getDetail(item.orderId
,item.orderState
)"
v-if=
"item.NewFlightList.length>0"
>
<view
v-if=
"item.different"
class=
"TicketOrderListCard-wf absolute bg111 colorFFF fz24 z-index2"
>
异地
</view>
<template
v-for=
"(childs,index) in item.NewFlightList"
>
...
...
@@ -80,7 +80,7 @@
</view>
</template>
<view
class=
"row-sb-n MT30"
>
<view
class=
"fz324 color9999A5 MR30 flexG"
>
<view
class=
"fz324 color9999A5 MR30 flexG"
style=
"font-size: 22rpx;"
>
<txet
class=
"block TicketOrderListCard-title width100One ellipsis1"
v-if=
"item.guestList&&item.guestList.length>0"
>
<
template
v-for=
"(n,is) in item.guestList"
v-if=
"2>is"
>
...
...
@@ -89,24 +89,7 @@
</template>
等 {{item.guestList.length}} 人
</txet>
</view>
<view
class=
"flexS"
>
<view
v-if=
"(item.orderState==1||item.orderState==2)"
class=
"TicketOrderListCard-buttom overflow fz32 fontBold textCenter border1"
:class=
"[item.loading?'bgF5 borderF5 colorDEBF7B':'bgDEBF7B borderDEBF7B']"
@
click
.
stop=
"queren(item.orderId,i)"
>
待付款
</view>
<!-- <view v-if="(item.orderState==1||item.orderState==2)&&item.loading"
class="TicketOrderListCard-buttom overflow fz32 fontBold textCenter border1 bgF5 borderF5 colorDEBF7B"
@click.stop="queren(item.orderId,i)">
待付款
</view> -->
<view
v-if=
"item.orderState==3||item.orderState==4"
class=
"TicketOrderListCard-buttom overflow fz32 fontBold textCenter border1"
:class=
"[item.orderState==3?'bgFFF borderDEBF7B colorDEBF7B':'bgF5 borderF5 color9999A5']"
>
{{item.orderState==3?'已支付':'已取消'}}
</view>
</view>
</view>
</view>
...
...
@@ -221,9 +204,10 @@
);
}
},
getDetail
(
orderId
){
getDetail
(
orderId
,
s
){
const
status
=
s
==
1
?
1
:(
s
==
4
?
2
:
0
)
uni
.
navigateTo
({
url
:
`/pages/airTicket/
TicketOrderDetails?orderId=
${
orderId
}
`
url
:
`/pages/airTicket/
airTicketOrderDetail?id=
${
orderId
}
&status=
${
status
}
`
});
},
//微信支付
...
...
pages/airTicket/components/flight/Index.vue
0 → 100644
View file @
995830f0
<
template
>
<view
class=
"f-info"
>
<u-alert-tips
type=
"warning"
description=
"注意:航班起降时间均为机场当地时间."
></u-alert-tips>
<view
class=
"q-mt-md"
v-if=
"showTitle && flight.length>0"
>
<view
class=
"row items-center"
>
<view
class=
"city bold"
>
{{
flight
[
0
].
DepartureName
}}
</view>
<u-icon
name=
'qianwangx'
custom-prefix=
"tffont"
color=
"#00000033"
size=
"28"
></u-icon>
<view
class=
"city bold"
>
{{
flight
[
flight
.
length
-
1
].
ArrivalCityName
}}
</view>
<view
class=
"col row"
style=
"font-size: 14px;justify-content: flex-end;"
>
<text>
{{
formatDateStringByChinese
(
flight
[
0
].
FlightDate
)
}}
</text>
</view>
</view>
</view>
<view
style=
"margin-top: 48rpx;"
>
<view
class=
""
v-for=
"(x,i) in flight"
:key=
"i"
>
<view
class=
"row"
>
<view
class=
""
style=
"width:80rpx"
>
<view
class=
"item-city"
>
{{
x
.
Departure_time
}}
<view
class=
"day-diff"
v-if=
"x.startDiff && x.startDiff.nd!=''"
>
{{
x
.
startDiff
.
nd
}}
</view>
</view>
<view
class=
"item-info text-right"
style=
"margin: 48rpx 0;"
>
{{
x
.
endDiff
.
hours
}}
h
{{
x
.
endDiff
.
minutes
}}
m
</view>
<view
class=
"item-city"
>
{{
x
.
Arrival_time
}}
<view
class=
"day-diff"
v-if=
"x.endDiff && x.endDiff.nd!=''"
>
{{
x
.
endDiff
.
nd
}}
</view>
</view>
</view>
<view
class=
"item-split"
></view>
<view
class=
"col"
>
<view
class=
"item-city"
>
{{
x
.
DIATA
}}
{{
x
.
dName
}}
</view>
<view
class=
"item-info text-right row items-center"
style=
"margin: 48rpx 0;"
>
<image
style=
"width: 28rpx;"
:src=
"`https://static.tripcdn.com/packages/flight/airline-logo/latest/airline/48/$
{x.AlCode}.png`" mode="widthFix">
</image>
<text
class=
"q-ml-sm"
>
{{
x
.
AlName
}}
{{
x
.
Flight_number
}}
</text>
</view>
<view
class=
"item-city"
>
{{
x
.
AIATA
}}
{{
x
.
aName
}}
</view>
</view>
</view>
<view
class=
"row"
v-if=
"x.transfer"
>
<view
class=
"item-city"
style=
"opacity: 0; width:80rpx"
></view>
<view
class=
"item-split-dashed"
></view>
<view
class=
"q-mt-md q-mb-md col"
>
<view
class=
"zhongzhuan item-info"
>
{{
x
.
transfer
.
city
}}
中转,
{{
x
.
transfer
.
hours
}}
h
{{
x
.
transfer
.
minutes
}}
m
<text
class=
"warning q-ml-sm"
v-if=
"x.transfer.isCross"
>
跨天中转
</text>
<text
class=
"q-ml-sm"
style=
"color:#FF5858"
v-if=
"x.transfer.changeAirport!=''"
>
注意更换机场
</text>
</view>
</view>
</view>
</view>
</view>
</view>
</
template
>
<
script
>
export
default
{
data
()
{
return
{
flight
:[]
}
},
props
:{
value
:{
type
:
Array
,
default
:[],
require
:
true
},
showTitle
:{
type
:
Boolean
,
default
:
true
}
},
watch
:
{
value
:
{
deep
:
true
,
immediate
:
true
,
handler
:
function
(
newVal
,
oldVal
)
{
const
d
=
this
.
formatTimeDifferenceHandle
(
this
.
value
)
this
.
flight
=
d
},
},
},
methods
:{
formatTimeDifferenceHandle
(
vals
){
vals
.
forEach
((
x
,
i
)
=>
{
const
a
=
`
${
x
.
FlightDate
}
${
x
.
Departure_time
}
`
const
diffZoneOffset
=
x
.
ArrivalCityUTCZone
-
x
.
DepartureUTCZone
x
.
ArrivalDate
=
this
.
calcArrivalDateHandle
(
a
,
diffZoneOffset
,
x
.
Arrival_time
)
const
b
=
`
${
x
.
ArrivalDate
}
${
x
.
Arrival_time
}
`
x
.
endDiff
=
this
.
calculateTimeDifference
(
a
,
b
,
diffZoneOffset
)
if
(
i
>
0
){
const
p
=
`
${
vals
[
i
-
1
].
ArrivalDate
}
${
vals
[
i
-
1
].
Arrival_time
}
`
const
pzone
=
vals
[
i
-
1
].
ArrivalCityUTCZone
-
x
.
DepartureUTCZone
console
.
log
(
p
,
a
)
x
.
startDiff
=
this
.
calculateTimeDifference
(
p
,
a
,
pzone
)
}
if
(
i
<
vals
.
length
-
1
){
x
.
transfer
=
this
.
formatTransferHandle
(
x
,
vals
[
i
+
1
])
}
})
return
vals
},
formatTransferHandle
(
perv
,
next
){
const
a
=
new
Date
(
`
${
perv
.
ArrivalDate
}
${
perv
.
Arrival_time
}
`
)
const
b
=
new
Date
(
`
${
next
.
FlightDate
}
${
next
.
Departure_time
}
`
)
const
c
=
Math
.
abs
(
a
.
getTime
()
-
b
.
getTime
())
const
hours
=
Math
.
floor
(
c
/
3600000
);
const
minutes
=
Math
.
round
((
c
%
3600000
)
/
60000
);
return
{
hours
,
minutes
,
isCross
:
a
.
getDate
()
!=
b
.
getDate
(),
city
:
perv
.
ArrivalCityName
,
changeAirport
:
perv
.
AIATA
!=
next
.
DIATA
?
next
.
dName
:
''
}
},
formatDateStringByChinese
(
d
,
needWeek
=
true
)
{
const
date
=
new
Date
(
d
)
const
weeks
=
[
'日'
,
'一'
,
'二'
,
'三'
,
'四'
,
'五'
,
'六'
]
let
dateStr
=
`
${
String
(
date
.
getMonth
()
+
1
).
padStart
(
2
,
'0'
)}
月
${
String
(
date
.
getDate
()).
padStart
(
2
,
'0'
)}
日`
if
(
needWeek
)
dateStr
+=
`周
${
weeks
[
date
.
getDay
()]}
`
return
dateStr
},
calcArrivalDateHandle
(
start
,
timezone
,
time
){
const
a
=
new
Date
(
new
Date
(
start
).
getTime
()
+
(
timezone
*
3600
*
1000
))
const
tempb
=
new
Date
(
`
${
a
.
getFullYear
()}
/
${
a
.
getMonth
()
+
1
}
/
${
a
.
getDate
()}
${
time
}
`
)
if
(
tempb
<
a
){
tempb
.
setDate
(
a
.
getDate
()
+
1
)
}
return
`
${
tempb
.
getFullYear
()}
-
${
tempb
.
getMonth
()
+
1
}
-
${
tempb
.
getDate
()}
`
},
parseToUTC
(
datetimeStr
,
timezoneOffset
)
{
const
[
datePart
,
timePart
]
=
datetimeStr
.
split
(
' '
);
const
[
year
,
month
,
day
]
=
datePart
.
split
(
'-'
).
map
(
Number
);
const
[
hours
,
minutes
]
=
timePart
.
split
(
':'
).
map
(
Number
);
const
utcTimestamp
=
new
Date
(
year
,
month
-
1
,
day
,
hours
,
minutes
)
-
timezoneOffset
*
3600
*
1000
;
return
new
Date
(
utcTimestamp
);
},
calculateTimeDifference
(
timeA
,
timeB
,
shicha
)
{
timeA
=
timeA
.
replaceAll
(
'-'
,
'/'
)
timeB
=
timeB
.
replaceAll
(
'-'
,
'/'
)
const
a
=
new
Date
(
new
Date
(
timeA
).
getTime
()
+
(
shicha
*
3600
*
1000
))
const
b
=
new
Date
(
timeB
)
console
.
log
(
shicha
)
const
diffMs
=
Math
.
abs
(
b
.
getTime
()
-
a
.
getTime
());
return
{
hours
:
Math
.
floor
(
diffMs
/
3600000
),
minutes
:
Math
.
round
((
diffMs
%
3600000
)
/
60000
),
nd
:
a
.
getDate
()
!=
b
.
getDate
()?
this
.
formatDateStringByChinese
(
b
,
false
):
''
}
}
}
}
</
script
>
<
style
>
@import
url('../../../../asset/css/flex.css')
;
.f-info
*
{
line-height
:
1
;
}
.f-info
.city
{
margin
:
0
12
rpx
;
overflow
:
hidden
;
text-overflow
:
ellipsis
;
white-space
:
nowrap
;
color
:
#080A09
;
}
.f-info
.bold
{
font-size
:
28
rpx
;
font-weight
:
bold
;
line-height
:
1
;
}
.f-info
.item-city
{
font-weight
:
bold
;
font-size
:
30
rpx
;
color
:
#000000
;
line-height
:
1
;
position
:
relative
;
}
.f-info
.item-info
{
font-size
:
22
rpx
;
color
:
#9999A5
;
line-height
:
1
;
}
.f-info
.item-split
{
margin
:
0
16
rpx
;
margin-bottom
:
20
rpx
;
width
:
12
rpx
;
background-color
:
#E1C27899
;
border-radius
:
12
rpx
;
margin-top
:
10
rpx
;
}
.f-info
.item-split-dashed
{
margin
:
0
16
rpx
;
border-right
:
12
rpx
dotted
#E1C27899
;
margin-top
:
-5px
;
}
.f-info
.zhongzhuan
{
padding
:
30
rpx
;
background
:
#E1C27814
;
border-radius
:
12
rpx
;
}
.f-info
.warning
{
color
:
#FF5858
;
}
.f-info
.item-city
.day-diff
{
position
:
absolute
;
top
:
-35
rpx
;
line-height
:
1
;
font-size
:
18
rpx
;
color
:
#FF5858
;
left
:
0
rpx
;
right
:
0
rpx
;
text-align
:
center
}
</
style
>
\ No newline at end of file
pages/airTicket/components/guest/index.vue
View file @
995830f0
...
...
@@ -32,7 +32,7 @@
<
u
-
icon
name
=
"pen_"
custom
-
prefix
=
"tffont"
color
=
"#B99846"
size
=
"30"
><
/u-icon
>
<
/view
>
<
/view
>
<
view
class
=
"add"
@
click
=
"
listVisible=tru
e"
>
<
view
class
=
"add"
@
click
=
"
chosenListHandl
e"
>
{{
showGuests
.
length
==
0
?
'添加乘机人'
:
'更多乘机人'
}}
<
/view
>
...
...
@@ -135,6 +135,10 @@
}
//console.log('setCheckStatusHandle',x.Checked)
}
,
chosenListHandle
(){
this
.
listVisible
=
true
this
.
$refs
.
guestManagerRef
.
resetVisible
()
}
,
guestChangeHandle
(
val
){
this
.
guests
=
val
}
,
...
...
pages/airTicket/components/guest/list.vue
View file @
995830f0
...
...
@@ -38,7 +38,7 @@
</view>
<view
class=
"q-mt-sm"
>
护照号 {{x.Passport}}
<text
class=
"q-ml-sm"
>
{{x.Sex==
1
?'男':'女'}}
</text>
<text
class=
"q-ml-sm"
>
{{x.Sex==
'M'
?'男':'女'}}
</text>
</view>
</view>
<view
@
click=
"createNewGuest(x)"
style=
"width: 50px;height: 50rpx;align-items: flex-end;"
class=
"column justify-center"
>
...
...
@@ -210,6 +210,9 @@
},
methods
:{
resetVisible
(){
this
.
showFormVisible
=
false
},
setCheckStatusHandle
(
x
){
if
(
!
x
.
Checked
&&
!
this
.
canChecked
&&
x
.
year
>
1
)
return
x
.
Checked
=
!
x
.
Checked
...
...
pages/airTicket/flightDetail.vue
View file @
995830f0
...
...
@@ -6,7 +6,7 @@
</view>
<scroll-view
v-if=
"flight && !loading"
scroll-y=
"true"
class=
"col"
style=
"height: 1px;"
>
<view
class=
"flight-card"
>
<view
class=
"row items-center"
>
<view
class=
"row items-center"
@
click=
"goVisible=!goVisible"
>
<view
class=
"flight-status"
>
去程
</view>
<view
class=
"city bold"
>
{{
goList
[
0
].
DepartureName
}}
</view>
<u-icon
name=
'qianwangx'
custom-prefix=
"tffont"
color=
"#00000033"
size=
"28"
></u-icon>
...
...
@@ -17,9 +17,12 @@
size=
"32"
></u-icon>
</view>
</view>
<view
class=
"q-mt-md"
style=
"padding: 32rpx 0;"
v-if=
"goVisible"
>
<flight
:value=
"goList"
:show-title=
"false"
></flight>
</view>
</view>
<view
class=
"flight-card"
>
<view
class=
"row items-center"
>
<view
class=
"row items-center"
@
click=
"backVisible=!backVisible"
>
<view
class=
"flight-status"
>
回程
</view>
<view
class=
"city bold"
>
{{
backList
[
0
].
DepartureName
}}
</view>
<u-icon
name=
'qianwangx'
custom-prefix=
"tffont"
color=
"#00000033"
size=
"28"
></u-icon>
...
...
@@ -30,6 +33,9 @@
size=
"32"
></u-icon>
</view>
</view>
<view
class=
"q-mt-md"
style=
"padding: 32rpx 0;"
v-if=
"backVisible"
>
<flight
:value=
"backList"
:show-title=
"false"
></flight>
</view>
</view>
<view
class=
"flight-card q-mt-md"
>
...
...
@@ -117,7 +123,7 @@
</view>
<view>
{{
babyCount
}}
人 × ¥
{{
babyPrice
}}
</view>
</view>
<view
v-if=
"useCouponId>0"
class=
"row items-center price-list-details"
:style=
"
{color:mainColor}">
<view
v-if=
"useCouponId
.length
>0"
class=
"row items-center price-list-details"
:style=
"
{color:mainColor}">
<view
class=
"col"
>
<text
style=
"margin-right: 30rpx"
>
优惠券
</text>
</view>
...
...
@@ -156,7 +162,8 @@
<
script
>
import
guest
from
'./components/guest/index.vue'
import
coupon
from
'@/components/coupon/index'
;
import
coupon
from
'@/components/coupon/index'
;
import
Flight
from
'./components/flight/Index.vue'
export
default
{
data
()
{
return
{
...
...
@@ -219,12 +226,15 @@
},
sales
:[],
saleVisable
:
false
,
statusVisible
:
false
statusVisible
:
false
,
backVisible
:
false
,
goVisible
:
false
}
},
components
:
{
guest
,
coupon
coupon
,
Flight
},
computed
:
{
price
()
{
...
...
@@ -489,12 +499,12 @@
this
.
backList
=
t
.
FlightList
.
filter
(
x
=>
x
.
FlightType
==
3
)
this
.
flight
=
t
const
demo
=
{
g
:
this
.
goList
,
b
:
this
.
backList
,
f
:
this
.
flight
}
uni
.
setStorageSync
(
'demo_flight'
,
demo
)
//
const demo = {
//
g: this.goList,
//
b: this.backList,
//
f: this.flight
//
}
//
uni.setStorageSync('demo_flight', demo)
},
getWeeks
(
d
)
{
const
date
=
new
Date
(
d
)
...
...
pages/airTicket/ticketList/ticketList.vue
View file @
995830f0
...
...
@@ -389,7 +389,7 @@
})
this
.
formatDisplayHandle
(
list
)
this
.
lowHeadData
=
this
.
foramtHeaderListHandle
(
list
)
if
(
this
.
lowHeadData
.
findIndex
(
x
=>
x
.
FlightDate
==
this
.
currentDate
)
==-
1
){
if
(
this
.
lowHeadData
.
length
>
0
&&
this
.
lowHeadData
.
findIndex
(
x
=>
x
.
FlightDate
==
this
.
currentDate
)
==-
1
){
this
.
currentDate
=
this
.
lowHeadData
[
0
].
FlightDate
}
return
list
...
...
pages/index/index.vue
View file @
995830f0
<
template
>
<scroll-view
scroll-y=
"true"
style=
"height: 100vh;"
@
scroll=
"handleScroll"
>
<view
v-if=
"showStart == true"
style=
"width: 100vw; height: 100vh"
>
<image
:src=
"startData.PicUrl"
mode=
"aspectFit"
style=
"width: 100%; height: 100%; position: relative"
>
<view
class=
"Startbtn"
:style=
"
{ top: pagePaddingBottom }" @click="startb">
跳过
</view>
</image>
</view>
<view
v-if=
"myPageData.home_pages"
class=
"safe-top"
v-show=
"showStart == false"
:style=
"[myPageData.home_pages.navs[active].templateBg]"
>
<view
class=
"content"
:style=
"
{
'padding-bottom':(pageId==0?'calc(57px + env(safe-area-inset-bottom))':'0px'),
}">
<view
:style=
"
{opacity:`${pageId!=0?100:scrollTop}%`}">
<view
class=
"index-title"
:class=
"
{ MainTopLeft: pageTitleStr.length > 10 }" :style="[
myPageData.home_pages.navs[active].templateBg,
titleStyle,
{
color: myPageData.home_pages.navs[active].templateBg
? myPageData.home_pages.navs[active].templateBg.titleColor
: '',
}]">
<text
v-if=
"isNavPosition == 0"
>
{{
pageTitleStr
}}
</text>
<view
v-if=
"pageId!=0"
class=
"back-arrow row items-center"
@
click=
"goback"
>
<u-icon
name=
"home_1"
custom-prefix=
"tffont"
color=
"#111"
size=
"38"
style=
"font-weight: bolder;"
></u-icon>
</view>
<view
style=
"height: 100vh;"
>
<scroll-view
:bounces=
"false"
scroll-y=
"true"
style=
"height: 100vh;"
@
scroll=
"handleScroll"
>
<view
v-if=
"showStart == true"
style=
"width: 100vw; height: 100vh"
>
<image
:src=
"startData.PicUrl"
mode=
"aspectFit"
style=
"width: 100%; height: 100%; position: relative"
>
<view
class=
"Startbtn"
:style=
"
{ top: pagePaddingBottom }" @click="startb">
跳过
</view>
</view>
<u-tabs
v-if=
"myPageData.home_pages && myPageData.home_pages.navs.length > 1"
name=
"name"
:list=
"myPageData.home_pages.navs"
:is-scroll=
"true"
:active-color=
"mainColor"
:current=
"active"
:bar-width=
"80"
:font-size=
"32"
:bold=
"false"
@
change=
"changeHandler"
></u-tabs>
<template
v-for=
"(item, i) in myPageData.home_pages.navs"
>
<view
:key=
"i"
v-if=
"active == i"
>
<template
v-for=
"(d, di) in item.template.data"
>
<search
v-if=
"d.id == 'search' && isNavPosition == 0"
:style-str=
"d.data"
:key=
"di"
></search>
<swiper
v-if=
"d.id == 'banner'"
:swipers=
"d.data"
:key=
"di"
></swiper>
<empty
v-if=
"d.id == 'empty'"
:block=
"d.data"
:key=
"di"
></empty>
<rubik
v-if=
"d.id == 'rubik'"
:ad=
"d.data"
:key=
"di"
></rubik>
<goods
v-if=
"d.id == 'goods'"
:goods=
"d.data"
:key=
"di"
></goods>
<notice
v-if=
"d.id == 'notice'"
:notice=
"d.data"
:key=
"di"
></notice>
<gridnav
v-if=
"d.id == 'nav'"
:navs=
"d.data"
:key=
"di"
></gridnav>
<pagetitle
v-if=
"d.id == 'link'"
:ts=
"d.data"
:key=
"di"
></pagetitle>
<videopage
v-if=
"d.id == 'video'"
:video=
"d.data"
:key=
"di"
></videopage>
<copyright
v-if=
"d.id == 'copyright'"
:cop=
"d.data"
:key=
"di"
></copyright>
<checkin
v-if=
"d.id == 'check-in'"
:check=
"d.data"
:key=
"di"
></checkin>
<userbox
v-if=
"d.id == 'user-info'"
:ts=
"d.data"
:key=
"di"
></userbox>
<userorder
v-if=
"d.id == 'user-order'"
:uo=
"d.data"
:key=
"di"
></userorder>
<checkform
v-if=
"d.id == 'form'"
:forms=
"d.data"
:key=
"di"
></checkform>
<addialog
v-if=
"d.id == 'modal' && d.data.opened"
:ads=
"d.data"
:key=
"di"
></addialog>
<quicknav
v-if=
"d.id == 'quick-nav' && d.data.navSwitch == 1"
:navs=
"d.data"
:key=
"di"
></quicknav>
<shopinfo
v-if=
"d.id == 'shop-info'"
:ad=
"d.data"
:key=
"di"
ref=
"son"
></shopinfo>
</
template
>
</image>
</view>
<view
v-if=
"myPageData.home_pages"
class=
"safe-top"
v-show=
"showStart == false"
:style=
"[myPageData.home_pages.navs[active].templateBg]"
>
<view
class=
"content"
:style=
"
{
'padding-bottom':(pageId==0?'calc(57px + env(safe-area-inset-bottom))':'0px'),
}">
<view
:style=
"
{opacity:`${pageId!=0?100:(scrollTop-20)}%`}">
<view
class=
"index-title"
:class=
"
{ MainTopLeft: pageTitleStr.length > 10 }" :style="[
myPageData.home_pages.navs[active].templateBg,
titleStyle,
{
color: myPageData.home_pages.navs[active].templateBg
? myPageData.home_pages.navs[active].templateBg.titleColor
: '',
}]">
<text
v-if=
"isNavPosition == 0"
>
{{
pageTitleStr
}}
</text>
<view
v-if=
"pageId!=0"
class=
"back-arrow row items-center"
@
click=
"goback"
>
<u-icon
name=
"home_1"
custom-prefix=
"tffont"
color=
"#111"
size=
"38"
style=
"font-weight: bolder;"
></u-icon>
</view>
</view>
</view>
</template>
<view
v-if=
"showtabs"
>
<tabbar></tabbar>
<u-tabs
v-if=
"myPageData.home_pages && myPageData.home_pages.navs.length > 1"
name=
"name"
:list=
"myPageData.home_pages.navs"
:is-scroll=
"true"
:active-color=
"mainColor"
:current=
"active"
:bar-width=
"80"
:font-size=
"32"
:bold=
"false"
@
change=
"changeHandler"
></u-tabs>
<template
v-for=
"(item, i) in myPageData.home_pages.navs"
>
<view
:key=
"i"
v-if=
"active == i"
>
<template
v-for=
"(d, di) in item.template.data"
>
<search
v-if=
"d.id == 'search' && isNavPosition == 0"
:style-str=
"d.data"
:key=
"di"
></search>
<swiper
v-if=
"d.id == 'banner'"
:swipers=
"d.data"
:key=
"di"
></swiper>
<empty
v-if=
"d.id == 'empty'"
:block=
"d.data"
:key=
"di"
></empty>
<rubik
v-if=
"d.id == 'rubik'"
:ad=
"d.data"
:key=
"di"
></rubik>
<goods
v-if=
"d.id == 'goods'"
:goods=
"d.data"
:key=
"di"
></goods>
<notice
v-if=
"d.id == 'notice'"
:notice=
"d.data"
:key=
"di"
></notice>
<gridnav
v-if=
"d.id == 'nav'"
:navs=
"d.data"
:key=
"di"
></gridnav>
<pagetitle
v-if=
"d.id == 'link'"
:ts=
"d.data"
:key=
"di"
></pagetitle>
<videopage
v-if=
"d.id == 'video'"
:video=
"d.data"
:key=
"di"
></videopage>
<copyright
v-if=
"d.id == 'copyright'"
:cop=
"d.data"
:key=
"di"
></copyright>
<checkin
v-if=
"d.id == 'check-in'"
:check=
"d.data"
:key=
"di"
></checkin>
<userbox
v-if=
"d.id == 'user-info'"
:ts=
"d.data"
:key=
"di"
></userbox>
<userorder
v-if=
"d.id == 'user-order'"
:uo=
"d.data"
:key=
"di"
></userorder>
<checkform
v-if=
"d.id == 'form'"
:forms=
"d.data"
:key=
"di"
></checkform>
<addialog
v-if=
"d.id == 'modal' && d.data.opened"
:ads=
"d.data"
:key=
"di"
></addialog>
<quicknav
v-if=
"d.id == 'quick-nav' && d.data.navSwitch == 1"
:navs=
"d.data"
:key=
"di"
></quicknav>
<shopinfo
v-if=
"d.id == 'shop-info'"
:ad=
"d.data"
:key=
"di"
ref=
"son"
></shopinfo>
</
template
>
</view>
</template>
<coupon
v-if=
"showCoupons"
:coupon-message=
"couponMessage"
:cform=
"ComeFrom"
@
goLook=
"()=>showCoupons = false"
@
closeBtn=
"()=>showCoupons = false"
></coupon>
<auth
v-if=
"showAuth"
@
changeuserinfo=
"reloadUserinfo"
@
gbAuth=
"gbAuth"
></auth>
<official-account></official-account>
</view>
<coupon
v-if=
"showCoupons"
:coupon-message=
"couponMessage"
:cform=
"ComeFrom"
@
goLook=
"()=>showCoupons = false"
@
closeBtn=
"()=>showCoupons = false"
></coupon>
<auth
v-if=
"showAuth"
@
changeuserinfo=
"reloadUserinfo"
@
gbAuth=
"gbAuth"
></auth>
<official-account></official-account>
</view>
</scroll-view>
<view
v-if=
"showtabs"
>
<tabbar></tabbar>
</view>
</
scroll-
view>
</view>
</template>
<
script
>
...
...
@@ -387,7 +386,7 @@
width
:
100%
;
color
:
#fff
;
box-sizing
:
content-box
;
z-index
:
5
;
z-index
:
999999
;
background-color
:
#FFF
;
}
...
...
pages/jiuzhai/jz_LineDetail.vue
View file @
995830f0
...
...
@@ -1367,7 +1367,11 @@
created
()
{
}
,
onLoad
(
option
)
{
this
.
mc
=
this
.
$uiConfig
.
mainColor
;
console
.
log
(
"option"
,
option
);
if
(
!
uni
.
getStorageSync
(
"b2b_user"
)){
uni
.
redirectTo
({
url
:
'/pages/index/index'
}
)
}
this
.
customer
=
uni
.
getStorageSync
(
"b2b_user"
);
this
.
delMsg
.
customerId
=
this
.
customer
.
customerId
if
(
!
option
.
scene
)
{
...
...
@@ -1677,9 +1681,17 @@
}
)
}
,
goback() {
uni.navigateBack({
delta: 1,
}
);
const currentRouters = getCurrentPages()
if(currentRouters.length>1){
uni.navigateBack({
delta: 1,
}
);
}
else{
uni.redirectTo({
url:'/pages/index/index'
}
)
}
}
,
scroll(e) {
this.boxOption = Math.floor((e.detail.scrollTop - 50) / 1.5);
...
...
@@ -1749,7 +1761,7 @@
if (x.tcid == this.delMsg.tcid) {
this.delMsg.tcnum = x.tcnum;
}
if (x.remainNum > 0) {
if (x.remainNum > 0
|| x.isSubstitution==1
) {
this.canCreateOrder = true;
}
}
);
...
...
@@ -2049,7 +2061,7 @@
}
return {
title: this.dataList.title ? this.dataList.title : "帖子",
path: "/pages/
index/index
?tcid=" +
path: "/pages/
jiuzhai/jz_LineDetail
?tcid=" +
this.delMsg.tcid +
"&user_id=" +
uid +
...
...
pages/jiuzhai/jz_MyOrder.vue
View file @
995830f0
...
...
@@ -349,7 +349,7 @@
//未付款-调用后台取消
if
(
(
item
.
paymentTime
==
null
||
item
.
paymentTime
==
""
)
&&
item
.
orderState
==
2
(
item
.
orderState
==
2
||
item
.
orderState
==
3
)
)
{
this
.
apipost
(
"sellorder_post_B2BRemoveOrder"
,
{
...
...
pages/jiuzhai/jz_SureOrder.vue
View file @
995830f0
...
...
@@ -612,7 +612,7 @@
goCancel
()
{
if
(
this
.
submit
||
this
.
submitCancel
)
return
;
//未付款-调用后台取消
if
(
this
.
orderData
.
model
.
OrderState
==
2
)
{
if
(
this
.
orderData
.
model
.
OrderState
==
2
||
this
.
orderData
.
model
.
OrderState
==
3
)
{
this
.
apipost
(
"sellorder_post_B2BRemoveOrder"
,
{
ID
:
this
.
orderData
.
model
.
OrderId
,
...
...
@@ -702,6 +702,10 @@
this
.
orderStatus
.
code
=
0
;
this
.
orderStatus
.
text
=
"待付款"
;
this
.
showPayBtn
=
true
;
}
else
if
(
status
==
3
&&
isCancel
!=
1
)
{
this
.
orderStatus
.
code
=
0
;
this
.
orderStatus
.
text
=
"候补中"
;
this
.
showPayBtn
=
true
;
}
else
if
(
status
==
2
&&
isCancel
==
1
)
{
this
.
orderStatus
.
code
=
-
2
;
this
.
orderStatus
.
text
=
"审核中"
;
...
...
pages/user-center/user-center.vue
View file @
995830f0
...
...
@@ -210,7 +210,7 @@
</view>
</view>
</
template
>
<
view
class=
"login-btn"
style=
"margin:30px 0"
@
click=
'signOutHandler'
>
退出登录
</view
>
<
!-- <view class="login-btn" style="margin:30px 0" @click='signOutHandler'>退出登录</view> --
>
</view>
<auth
v-if=
"showAuth"
@
changeuserinfo=
"reloadUserinfo"
@
gbAuth=
"gbAuth"
></auth>
<tabbars></tabbars>
...
...
plugin/api.js
View file @
995830f0
...
...
@@ -24,9 +24,9 @@ export default {
Vue
.
prototype
.
host
=
"https://wx.weibaoge.cn/web/index.php?_mall_id=1285"
// Vue.prototype.host2 = "http://192.168.5.46:8300"
Vue
.
prototype
.
host3
=
"http://192.168.5.46:8501"
//
Vue.prototype.host3 = "http://192.168.5.46:8501"
Vue
.
prototype
.
host2
=
"https://erpmallapi.oytour.com"
//
Vue.prototype.host3 = "https://reborn.oytour.com"
Vue
.
prototype
.
host3
=
"https://reborn.oytour.com"
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