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
55adb539
Commit
55adb539
authored
Feb 28, 2025
by
罗超
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
修改机票信息
parent
1e478a69
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
16 changed files
with
1111 additions
and
111 deletions
+1111
-111
flex.css
asset/css/flex.css
+1
-1
tffont.css
asset/font/tffont.css
+15
-3
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
+60
-61
jz_LineDetail.vue
pages/jiuzhai/jz_LineDetail.vue
+7
-3
jz_MyOrder.vue
pages/jiuzhai/jz_MyOrder.vue
+1
-1
jz_SureOrder.vue
pages/jiuzhai/jz_SureOrder.vue
+5
-1
api.js
plugin/api.js
+2
-2
No files found.
asset/css/flex.css
View file @
55adb539
...
...
@@ -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 @
55adb539
@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"
;
}
...
...
pages.json
View file @
55adb539
...
...
@@ -751,6 +751,13 @@
{
"navigationBarTitleText"
:
"填写机票订单信息"
}
},
{
"path"
:
"airTicketOrderDetail"
,
"style"
:
{
"navigationBarTitleText"
:
""
}
}
]
},
...
...
pages/airTicket/TicketOrderDetails.vue
View file @
55adb539
...
...
@@ -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 @
55adb539
This diff is collapsed.
Click to expand it.
pages/airTicket/components/TicketOrderList.vue
View file @
55adb539
...
...
@@ -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 @
55adb539
<
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 @
55adb539
...
...
@@ -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 @
55adb539
...
...
@@ -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 @
55adb539
...
...
@@ -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 @
55adb539
...
...
@@ -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 @
55adb539
<
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-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
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
>
...
...
pages/jiuzhai/jz_LineDetail.vue
View file @
55adb539
...
...
@@ -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
)
{
...
...
@@ -1749,7 +1753,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 +2053,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 @
55adb539
...
...
@@ -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 @
55adb539
...
...
@@ -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
=
"审核中"
;
...
...
plugin/api.js
View file @
55adb539
...
...
@@ -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