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
391066a7
Commit
391066a7
authored
Apr 21, 2025
by
黄奎
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
酒店接口调整
parent
9c77d820
Show whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
1055 additions
and
986 deletions
+1055
-986
AggregateOrdersList.vue
pages/AggregateOrders/AggregateOrdersList.vue
+103
-95
AggregateOrdersSearch.vue
pages/AggregateOrders/AggregateOrdersSearch.vue
+155
-136
header.vue
pages/AggregateOrders/components/header.vue
+232
-214
orders.vue
pages/AggregateOrders/components/orders.vue
+490
-466
hotelRoom.vue
pages/hotel/components/hotelRoom.vue
+3
-3
order.vue
pages/hotel/order.vue
+7
-13
producttypeenum.js
utils/producttypeenum.js
+65
-59
No files found.
pages/AggregateOrders/AggregateOrdersList.vue
View file @
391066a7
<
style
lang=
"scss"
scoped
>
@import
url("@/asset/css/flex.css")
;
.AggOrdBox
{
.AggOrdBox
{
height
:
100vh
;
background
:
url('https://viitto-1301420277.cos.ap-chengdu.myqcloud.com/Upload/Goods/638772246864278108.jpg')
no-repeat
#F3F1EF
;
background-size
:
100%
240rpx
;
.AggOrdHeader
{
.AggOrdHeader
{
padding-bottom
:
20rpx
;
// background: url('https://viitto-1301420277.cos.ap-chengdu.myqcloud.com/Upload/Goods/638772246864278108.jpg')no-repeat;
// background-size: 100% 100%;
}
.AggOrdStatus
{
.AggOrdStatus
{
padding-top
:
20rpx
;
.AggOrdT
{
.AggOrdT
{
width
:
25%
;
padding
:
10rpx
20rpx
;
font-size
:
28rpx
;
color
:
#080A09
;
position
:
relative
;
}
.AggOrdT.active
{
.AggOrdT.active
{
color
:
#B99846
;
font-weight
:
bold
;
}
.AggOrdT
text
{
.AggOrdT
text
{
display
:
block
;
text-align
:
center
;
}
.AggOrdT
view
{
.AggOrdT
view
{
position
:
absolute
;
left
:
0
;
right
:
0
;
bottom
:
0
;
}
.AggOrdT
view
view
{
.AggOrdT
view
view
{
width
:
60rpx
;
height
:
10rpx
;
margin
:
auto
;
...
...
@@ -42,36 +50,31 @@
}
}
/
deep
/
.showModalInfo
.u-drawer-bottom
{
background-color
:
rgba
(
23
,
23
,
23
,
0
)
!
important
;
/
deep
/
.showModalInfo
.u-drawer-bottom
{
background-color
:
rgba
(
23
,
23
,
23
,
0
)
!
important
;
}
</
style
>
<
template
>
<view
class=
"AggOrdBox column"
>
<view
class=
"AggOrdHeader"
:style=
"[titleStyle]"
>
<AggOrdHeader
:title=
"pageTitle"
@
change=
"getOrderType"
:params=
"msg"
></AggOrdHeader>
<AggOrdHeader
:title=
"pageTitle"
@
change=
"getOrderType"
:params=
"msg"
></AggOrdHeader>
<view
class=
"AggOrdStatus row items-center"
>
<template>
<view
class=
"AggOrdT"
v-for=
"(item,index) in statusList"
:key=
"index"
:class=
"[msg.OrderStatus==item.ID?'active':'']"
@
click=
"getStatus(item.ID)"
>
<view
class=
"AggOrdT"
v-for=
"(item,index) in statusList"
:key=
"index"
:class=
"[msg.OrderStatus==item.ID?'active':'']"
@
click=
"getStatus(item.ID)"
>
<text>
{{
item
.
Name
}}
</text>
</view>
</
template
>
</view>
</view>
<view
class=
"col"
style=
"height: 1px;flex: 1;overflow: hidden;padding-top: 10rpx;"
>
<scroll-view
:scroll-y=
"true"
:enable-back-to-top=
"true"
:enable-flex=
"true"
@
scrolltolower=
"lower"
style=
"height: 100%;"
>
<scroll-view
:scroll-y=
"true"
:enable-back-to-top=
"true"
:enable-flex=
"true"
@
scrolltolower=
"lower"
style=
"height: 100%;"
>
<orders
:orders=
"g"
@
research=
"research"
></orders>
<u-empty
v-if=
"g.length==0"
text=
"暂无数据"
mode=
"data"
padding-top=
"20"
></u-empty>
<u-loadmore
v-else
:status=
"status"
:load-text=
"loadText"
:font-size=
"24"
:margin-top=
"20"
:margin-bottom=
"20"
bg-color=
"#F3F1EF"
/>
<u-loadmore
v-else
:status=
"status"
:load-text=
"loadText"
:font-size=
"24"
:margin-top=
"20"
:margin-bottom=
"20"
bg-color=
"#F3F1EF"
/>
<view
style=
"width: 100%;height: 20rpx;"
></view>
</scroll-view>
</view>
...
...
@@ -79,22 +82,25 @@
</template>
<
script
>
import
{
mappingListType
,
mappingListTypeTy
}
from
"../../utils/producttypeenum"
;
import
{
mappingListType
,
mappingListTypeTy
}
from
"../../utils/producttypeenum"
;
import
EnumHelper
from
'../../utils/enumhelper'
;
import
OrderStatusEnum
from
'../../utils/orderStautsEnum'
;
import
AggOrdHeader
from
"./components/header.vue"
;
import
orders
from
"./components/orders.vue"
;
export
default
{
export
default
{
components
:
{
AggOrdHeader
,
orders
,
},
data
()
{
return
{
data
()
{
return
{
pageTitle
:
'所有订单'
,
msg
:{
pageSize
:
10
,
pageIndex
:
1
,
msg
:
{
pageSize
:
10
,
pageIndex
:
1
,
OrderStatus
:
0
,
GoodsName
:
''
,
OrderTypeStr
:
''
...
...
@@ -106,19 +112,19 @@
},
status
:
"loadmore"
,
showModal
:
false
,
barshow
:
0
,
barshow
:
0
,
statusList
:
[],
g
:
[],
page_count
:
1
,
index
:
0
,
payindex
:
0
,
showAuth
:
false
,
titleStyle
:{},
titleStyle
:
{},
}
},
onLoad
(
options
)
{
if
(
options
.
OrderTypeStr
)
this
.
msg
.
OrderTypeStr
=
options
.
OrderTypeStr
if
(
options
.
OrderStatus
)
this
.
msg
.
OrderStatus
=
options
.
OrderStatus
onLoad
(
options
)
{
if
(
options
.
OrderTypeStr
)
this
.
msg
.
OrderTypeStr
=
options
.
OrderTypeStr
if
(
options
.
OrderStatus
)
this
.
msg
.
OrderStatus
=
options
.
OrderStatus
this
.
research
()
},
created
()
{
...
...
@@ -131,15 +137,14 @@
},
});
this
.
getOrderEnums
()
},
methods
:
{
getStatus
(
ID
){
this
.
msg
.
OrderStatus
=
ID
methods
:
{
getStatus
(
ID
)
{
this
.
msg
.
OrderStatus
=
ID
this
.
research
()
},
research
(
status
){
if
(
status
)
this
.
msg
.
OrderStatus
=
status
;
research
(
status
)
{
if
(
status
)
this
.
msg
.
OrderStatus
=
status
;
this
.
msg
.
pageIndex
=
1
;
this
.
msg
.
pageSize
=
10
;
this
.
status
=
"loadmore"
;
...
...
@@ -147,12 +152,12 @@
this
.
g
=
[];
this
.
init
()
},
getOrderType
(
item
){
getOrderType
(
item
)
{
this
.
msg
.
OrderTypeStr
=
item
.
Id
this
.
pageTitle
=
item
.
Name
this
.
research
()
},
init
()
{
init
()
{
uni
.
showLoading
({
title
:
'加载中...'
})
...
...
@@ -163,19 +168,20 @@
this
.
OrderPageTY
();
// #endif
},
OrderPageTY
(){
this
.
apipost
(
'b2b_get_GetB2BAllOrderPageList'
,
this
.
msg
,
OrderPageTY
()
{
this
.
apipost
(
'b2b_get_GetB2BAllOrderPageList'
,
this
.
msg
,
res
=>
{
if
(
res
.
resultCode
==
1
)
{
uni
.
hideLoading
()
res
.
data
.
pageData
.
forEach
(
x
=>
{
res
.
data
.
pageData
.
forEach
(
x
=>
{
// #ifdef MP-DI
x
.
goodTypeEnum
=
mappingListType
(
x
.
goodsType
)
// #endif
// #ifdef MP-AG
x
.
goodTypeEnum
=
mappingListTypeTy
(
x
.
goodsType
)
// #endif
x
.
orderStatusInfo
=
EnumHelper
.
ParseToEnum
(
OrderStatusEnum
,
x
.
orderStatus
,
'value'
)
x
.
orderStatusInfo
=
EnumHelper
.
ParseToEnum
(
OrderStatusEnum
,
x
.
orderStatus
,
'value'
)
})
this
.
g
=
this
.
g
.
concat
(
res
.
data
.
pageData
);
this
.
page_count
=
res
.
data
.
pageCount
;
...
...
@@ -189,14 +195,15 @@
}
);
},
OrderPageZK
(){
this
.
apipost
(
'GetMyDirectOrderPageList_post'
,
this
.
msg
,
OrderPageZK
()
{
this
.
apipost
(
'GetMyDirectOrderPageList_post'
,
this
.
msg
,
res
=>
{
if
(
res
.
resultCode
==
1
)
{
uni
.
hideLoading
()
res
.
data
.
pageData
.
forEach
(
x
=>
{
res
.
data
.
pageData
.
forEach
(
x
=>
{
x
.
goodTypeEnum
=
mappingListType
(
x
.
goodsType
)
x
.
orderStatusInfo
=
EnumHelper
.
ParseToEnum
(
OrderStatusEnum
,
x
.
orderStatus
,
'value'
)
x
.
orderStatusInfo
=
EnumHelper
.
ParseToEnum
(
OrderStatusEnum
,
x
.
orderStatus
,
'value'
)
})
this
.
g
=
this
.
g
.
concat
(
res
.
data
.
pageData
);
this
.
page_count
=
res
.
data
.
pageCount
;
...
...
@@ -221,23 +228,25 @@
},
getOrderEnums
()
{
this
.
apipost
(
"GetDirectOrderStatusEnum_post"
,
{},
"GetDirectOrderStatusEnum_post"
,
{},
(
res
)
=>
{
if
(
res
.
resultCode
==
1
)
{
// #ifdef MP-DI
this
.
statusList
=
res
.
data
.
filter
(
x
=>
x
.
ID
!=
4
);
this
.
statusList
=
res
.
data
.
filter
(
x
=>
x
.
ID
!=
4
);
// #endif
// #ifdef MP-AG
this
.
statusList
=
res
.
data
.
filter
(
x
=>
x
.
ID
!=
5
);
this
.
statusList
=
res
.
data
.
filter
(
x
=>
x
.
ID
!=
5
);
// #endif
this
.
statusList
.
splice
(
0
,
0
,{
ID
:
0
,
Name
:
'全部'
})
this
.
statusList
.
forEach
(
x
=>
{
if
(
x
.
Name
==
'已付款'
)
x
.
Name
=
'待出行'
this
.
statusList
.
splice
(
0
,
0
,
{
ID
:
0
,
Name
:
'全部'
})
this
.
statusList
.
forEach
(
x
=>
{
if
(
x
.
Name
==
'已付款'
)
x
.
Name
=
'待出行'
})
}
},
err
=>
{
err
=>
{
uni
.
showToast
({
title
:
err
.
message
,
icon
:
"none"
,
...
...
@@ -248,4 +257,3 @@
},
}
</
script
>
\ No newline at end of file
pages/AggregateOrders/AggregateOrdersSearch.vue
View file @
391066a7
<
style
lang=
"scss"
scoped
>
@import
url("@/asset/css/flex.css")
;
.AggOrdBox
{
.AggOrdBox
{
height
:
100vh
;
background
:
url('https://viitto-1301420277.cos.ap-chengdu.myqcloud.com/Upload/Goods/638772246864278108.jpg')
no-repeat
#F3F1EF
;
background-size
:
100%
240rpx
;
.AggOrdHeader
{
}
.AggOrdStatus
{
.AggOrdHeader
{}
.AggOrdStatus
{
padding-top
:
10rpx
;
.AggOrdT
{
.AggOrdT
{
width
:
25%
;
padding
:
10rpx
20rpx
;
font-size
:
28rpx
;
color
:
#080A09
;
position
:
relative
;
}
.AggOrdT.active
{
.AggOrdT.active
{
font-weight
:
bold
;
}
.AggOrdT
text
{
.AggOrdT
text
{
display
:
block
;
text-align
:
center
;
}
.AggOrdT
view
{
.AggOrdT
view
{
position
:
absolute
;
left
:
0
;
right
:
0
;
bottom
:
0
;
}
.AggOrdT
view
view
{
.AggOrdT
view
view
{
width
:
60rpx
;
height
:
10rpx
;
margin
:
auto
;
...
...
@@ -37,22 +43,26 @@
border-radius
:
10rpx
;
}
}
.AggregateTitle
{
.AggregateTitle
{
padding
:
40rpx
30rpx
40rpx
30rpx
;
font-size
:
36rpx
;
font-weight
:
bold
;
text-align
:
left
;
}
.AggregateTypeBox
{
.AggregateTypeBox
{
flex-wrap
:
wrap
;
padding
:
0
15rpx
;
}
.AggregateType
{
.AggregateType
{
width
:
33
.33%
;
padding
:
0
15rpx
;
margin-bottom
:
30rpx
;
}
.AggregateType
view
{
.AggregateType
view
{
display
:
block
;
padding
:
10rpx
0
15rpx
35rpx
;
background
:
#E3E6D2
;
...
...
@@ -60,7 +70,8 @@
border
:
1rpx
solid
#E3E6D2
;
overflow
:
hidden
;
}
.AggregateType
img
{
.AggregateType
img
{
width
:
40rpx
;
height
:
40rpx
;
display
:
inline-block
;
...
...
@@ -68,10 +79,12 @@
top
:
10rpx
;
right
:
20rpx
;
}
.AggregateType
text
{
.AggregateType
text
{
display
:
inline-block
;
}
.AggregateType.active
view
{
.AggregateType.active
view
{
border
:
1rpx
solid
#B99846
;
}
}
...
...
@@ -79,19 +92,16 @@
<
template
>
<view
class=
"AggOrdBox column"
>
<view
class=
"AggOrdHeader"
:style=
"[titleStyle]"
>
<AggOrdSearch
@
change=
"change"
:params=
"msg"
></AggOrdSearch>
<AggOrdSearch
@
change=
"change"
:params=
"msg"
></AggOrdSearch>
</view>
<view
class=
"col"
style=
"height: 1px;flex: 1;overflow: hidden;padding-top: 40rpx;"
>
<view
v-if=
"!msg.keyword"
>
<view
class=
"AggregateTitle"
>
订单类型
</view>
<view
class=
"AggregateTypeBox row"
>
<view
class=
"AggregateType"
v-for=
"(item,index) in orderTypeList"
:key=
"index"
:class=
"[msg.OrderTypeStr==item.Id?'active':'']"
@
click=
"getTypeId(item)"
>
:class=
"[msg.OrderTypeStr==item.Id?'active':'']"
@
click=
"getTypeId(item)"
>
<view
class=
"row"
>
<img
:src=
"item.icon"
/>
<img
:src=
"item.icon"
/>
<text>
{{
item
.
Name
}}
</text>
...
...
@@ -100,13 +110,12 @@
</view>
</view>
</view>
<scroll-view
v-else
:scroll-y=
"true"
:enable-back-to-top=
"true"
:enable-flex=
"true"
@
scrolltolower=
"lower"
style=
"height: 100%;"
>
<scroll-view
v-else
:scroll-y=
"true"
:enable-back-to-top=
"true"
:enable-flex=
"true"
@
scrolltolower=
"lower"
style=
"height: 100%;"
>
<orders
:orders=
"g"
></orders>
<u-empty
v-if=
"g.length==0"
text=
"暂无数据"
mode=
"data"
padding-top=
"20"
></u-empty>
<u-loadmore
v-else
:status=
"status"
:load-text=
"loadText"
:font-size=
"24"
:margin-top=
"20"
:margin-bottom=
"20"
bg-color=
"#F3F1EF"
/>
<u-loadmore
v-else
:status=
"status"
:load-text=
"loadText"
:font-size=
"24"
:margin-top=
"20"
:margin-bottom=
"20"
bg-color=
"#F3F1EF"
/>
<view
style=
"width: 100%;height: 20rpx;"
></view>
</scroll-view>
</view>
...
...
@@ -118,21 +127,24 @@
</
template
>
<
script
>
import
{
mappingListType
,
mappingListTypeTy
}
from
"../../utils/producttypeenum"
;
import
{
mappingListType
,
mappingListTypeTy
}
from
"../../utils/producttypeenum"
;
import
EnumHelper
from
'../../utils/enumhelper'
;
import
OrderStatusEnum
from
'../../utils/orderStautsEnum'
;
import
AggOrdSearch
from
"./components/searchHeader.vue"
;
import
orders
from
"./components/orders.vue"
;
export
default
{
export
default
{
components
:
{
AggOrdSearch
,
orders
,
},
data
()
{
return
{
msg
:{
pageSize
:
10
,
pageIndex
:
1
,
data
()
{
return
{
msg
:
{
pageSize
:
10
,
pageIndex
:
1
,
OrderStatus
:
0
,
GoodsName
:
''
,
OrderTypeStr
:
''
,
...
...
@@ -145,7 +157,7 @@
},
status
:
"loadmore"
,
showModal
:
false
,
barshow
:
0
,
barshow
:
0
,
g
:
[],
page_count
:
1
,
index
:
0
,
...
...
@@ -186,7 +198,7 @@
Name
:
'景点门票'
}
],
icons
:[
icons
:
[
'https://viitto-1301420277.cos.ap-chengdu.myqcloud.com/Upload/Goods/638772246968492575.jpg'
,
'https://viitto-1301420277.cos.ap-chengdu.myqcloud.com/Upload/Goods/638772247052998903.jpg'
,
'https://viitto-1301420277.cos.ap-chengdu.myqcloud.com/Upload/Goods/638772247084971514.jpg'
,
...
...
@@ -197,8 +209,8 @@
titleStyle
:
{},
}
},
onLoad
(
options
)
{
if
(
options
.
OrderTypeStr
)
{
onLoad
(
options
)
{
if
(
options
.
OrderTypeStr
)
{
this
.
msg
.
OrderTypeStr
=
options
.
OrderTypeStr
}
},
...
...
@@ -215,26 +227,32 @@
this
.
getEnumList
()
// #endif
},
methods
:
{
methods
:
{
getEnumList
()
{
this
.
apipost
(
"CarSingle_post_GetOrderTypeEnumList"
,
{},
(
res
)
=>
{
if
(
res
.
resultCode
==
1
)
{
this
.
orderTypeList
=
[]
res
.
data
.
forEach
(
x
=>
{
if
(
x
.
Name
==
'团队'
){
x
.
Name
=
'线路'
}
if
(
x
.
Name
!=
'Jalan酒店'
){
res
.
data
.
forEach
(
x
=>
{
if
(
x
.
Name
==
'团队'
)
{
x
.
Name
=
'线路'
}
if
(
x
.
Name
!=
'Jalan酒店'
)
{
let
icon
=
''
if
(
x
.
Id
==
'1'
)
icon
=
this
.
icons
[
1
]
if
(
x
.
Id
==
'2'
)
icon
=
this
.
icons
[
0
]
if
(
x
.
Id
==
'3'
)
icon
=
this
.
icons
[
3
]
if
(
x
.
Id
==
'4'
)
icon
=
this
.
icons
[
5
]
if
(
x
.
Id
==
'5'
)
icon
=
this
.
icons
[
4
]
if
(
x
.
Id
==
'6'
)
icon
=
this
.
icons
[
2
]
if
(
x
.
Id
==
'1'
)
icon
=
this
.
icons
[
1
]
if
(
x
.
Id
==
'2'
)
icon
=
this
.
icons
[
0
]
if
(
x
.
Id
==
'3'
)
icon
=
this
.
icons
[
3
]
if
(
x
.
Id
==
'4'
)
icon
=
this
.
icons
[
5
]
if
(
x
.
Id
==
'5'
)
icon
=
this
.
icons
[
4
]
if
(
x
.
Id
==
'6'
)
icon
=
this
.
icons
[
2
]
let
obj
=
{
Id
:
x
.
Id
,
Name
:
x
.
Name
+
'订单'
,
Name
:
x
.
Name
+
'订单'
,
icon
:
icon
}
//酒店切换为道旅酒店
if
(
obj
.
Id
==
'3'
)
{
obj
.
Id
=
'7'
;
}
this
.
orderTypeList
.
push
(
obj
)
}
})
...
...
@@ -246,7 +264,7 @@
});
})
},
research
(){
research
()
{
this
.
msg
.
pageIndex
=
1
;
this
.
msg
.
pageSize
=
10
;
this
.
status
=
"loadmore"
;
...
...
@@ -259,16 +277,16 @@
this
.
msg
.
keyword
=
item
.
Name
this
.
research
()
},
change
(
item
)
{
change
(
item
)
{
this
.
msg
.
keyword
=
item
.
keyword
this
.
msg
.
OrderTypeStr
=
item
.
OrderTypeStr
this
.
research
()
},
init
()
{
if
(
!
this
.
msg
.
keyword
)
return
if
(
!
this
.
msg
.
OrderTypeStr
)
{
init
()
{
if
(
!
this
.
msg
.
keyword
)
return
if
(
!
this
.
msg
.
OrderTypeStr
)
{
this
.
msg
.
GoodsName
=
this
.
msg
.
keyword
}
else
{
}
else
{
this
.
msg
.
GoodsName
=
''
}
uni
.
showLoading
({
...
...
@@ -281,18 +299,19 @@
this
.
OrderPageTY
();
// #endif
},
OrderPageTY
(){
this
.
apipost
(
'b2b_get_GetB2BAllOrderPageList'
,
this
.
msg
,
OrderPageTY
()
{
this
.
apipost
(
'b2b_get_GetB2BAllOrderPageList'
,
this
.
msg
,
res
=>
{
if
(
res
.
resultCode
==
1
)
{
res
.
data
.
pageData
.
forEach
(
x
=>
{
res
.
data
.
pageData
.
forEach
(
x
=>
{
// #ifdef MP-DI
x
.
goodTypeEnum
=
mappingListType
(
x
.
goodsType
)
// #endif
// #ifdef MP-AG
x
.
goodTypeEnum
=
mappingListTypeTy
(
x
.
goodsType
)
// #endif
x
.
orderStatusInfo
=
EnumHelper
.
ParseToEnum
(
OrderStatusEnum
,
x
.
orderStatus
,
'value'
)
x
.
orderStatusInfo
=
EnumHelper
.
ParseToEnum
(
OrderStatusEnum
,
x
.
orderStatus
,
'value'
)
})
this
.
g
=
this
.
g
.
concat
(
res
.
data
.
pageData
);
this
.
page_count
=
res
.
data
.
pageCount
;
...
...
@@ -307,13 +326,14 @@
}
);
},
OrderPageZK
(){
this
.
apipost
(
'GetMyDirectOrderPageList_post'
,
this
.
msg
,
OrderPageZK
()
{
this
.
apipost
(
'GetMyDirectOrderPageList_post'
,
this
.
msg
,
res
=>
{
if
(
res
.
resultCode
==
1
)
{
res
.
data
.
pageData
.
forEach
(
x
=>
{
res
.
data
.
pageData
.
forEach
(
x
=>
{
x
.
goodTypeEnum
=
mappingListType
(
x
.
goodsType
)
x
.
orderStatusInfo
=
EnumHelper
.
ParseToEnum
(
OrderStatusEnum
,
x
.
orderStatus
,
'value'
)
x
.
orderStatusInfo
=
EnumHelper
.
ParseToEnum
(
OrderStatusEnum
,
x
.
orderStatus
,
'value'
)
})
this
.
g
=
this
.
g
.
concat
(
res
.
data
.
pageData
);
this
.
page_count
=
res
.
data
.
pageCount
;
...
...
@@ -348,4 +368,3 @@
},
}
</
script
>
\ No newline at end of file
pages/AggregateOrders/components/header.vue
View file @
391066a7
...
...
@@ -11,10 +11,12 @@
</view>
<view
class=
"carrHeader-right row"
>
<view
class=
"carrHeader-S row items-center justify-center"
>
<img
src=
"https://viitto-1301420277.cos.ap-chengdu.myqcloud.com/Upload/Goods/638772246934795585.jpg"
@
click=
"goSearch"
/>
<img
src=
"https://viitto-1301420277.cos.ap-chengdu.myqcloud.com/Upload/Goods/638772246934795585.jpg"
@
click=
"goSearch"
/>
</view>
<view
class=
"carrHeader-T row items-center justify-center"
>
<img
src=
"https://viitto-1301420277.cos.ap-chengdu.myqcloud.com/Upload/Goods/638772247012340060.jpg"
@
click=
"showModal=true"
/>
<img
src=
"https://viitto-1301420277.cos.ap-chengdu.myqcloud.com/Upload/Goods/638772247012340060.jpg"
@
click=
"showModal=true"
/>
</view>
</view>
</view>
...
...
@@ -22,10 +24,8 @@
<view
style=
"padding: 0 20rpx;"
>
<view
class=
"AggregateTitle"
>
订单类型
</view>
<view
class=
"AggregateTypeBox row"
>
<view
class=
"AggregateType"
v-for=
"(item,index) in orderTypeList"
:key=
"index"
:class=
"[params.OrderTypeStr==item.Id?'active':'']"
@
click=
"getTypeId(item)"
>
<view
class=
"AggregateType"
v-for=
"(item,index) in orderTypeList"
:key=
"index"
:class=
"[params.OrderTypeStr==item.Id?'active':'']"
@
click=
"getTypeId(item)"
>
<text>
{{
item
.
Name
}}
</text>
</view>
</view>
...
...
@@ -34,13 +34,12 @@
</view>
</
template
>
<
script
>
export
default
{
props
:[
'title'
,
'params'
],
export
default
{
props
:
[
'title'
,
'params'
],
data
()
{
return
{
titleStyle
:{},
orderTypeList
:
[
{
titleStyle
:
{},
orderTypeList
:
[{
Id
:
''
,
Name
:
'所有订单'
},
...
...
@@ -70,7 +69,7 @@ export default {
}
],
showModal
:
false
,
icons
:
[
icons
:
[
'https://viitto-1301420277.cos.ap-chengdu.myqcloud.com/Upload/Goods/638772246968492575.jpg'
,
'https://viitto-1301420277.cos.ap-chengdu.myqcloud.com/Upload/Goods/638772247052998903.jpg'
,
'https://viitto-1301420277.cos.ap-chengdu.myqcloud.com/Upload/Goods/638772247084971514.jpg'
,
...
...
@@ -80,12 +79,12 @@ export default {
]
}
},
watch
:
{
params
:
{
watch
:
{
params
:
{
handler
(
newVal
,
oldVal
)
{
},
deep
:
true
deep
:
true
}
},
mounted
()
{
...
...
@@ -93,30 +92,35 @@ export default {
this
.
getEnumList
()
// #endif
},
methods
:
{
methods
:
{
getEnumList
()
{
this
.
apipost
(
"CarSingle_post_GetOrderTypeEnumList"
,
{},
(
res
)
=>
{
if
(
res
.
resultCode
==
1
)
{
this
.
orderTypeList
=
[]
res
.
data
.
forEach
(
x
=>
{
if
(
x
.
Name
==
'团队'
){
x
.
Name
=
'线路'
}
if
(
x
.
Name
!=
'Jalan酒店'
){
res
.
data
.
forEach
(
x
=>
{
if
(
x
.
Name
==
'团队'
)
{
x
.
Name
=
'线路'
}
if
(
x
.
Name
!=
'Jalan酒店'
)
{
let
icon
=
''
if
(
x
.
Id
==
'1'
)
icon
=
this
.
icons
[
1
]
if
(
x
.
Id
==
'2'
)
icon
=
this
.
icons
[
0
]
if
(
x
.
Id
==
'3'
)
icon
=
this
.
icons
[
3
]
if
(
x
.
Id
==
'4'
)
icon
=
this
.
icons
[
5
]
if
(
x
.
Id
==
'5'
)
icon
=
this
.
icons
[
4
]
if
(
x
.
Id
==
'6'
)
icon
=
this
.
icons
[
2
]
if
(
x
.
Id
==
'1'
)
icon
=
this
.
icons
[
1
]
if
(
x
.
Id
==
'2'
)
icon
=
this
.
icons
[
0
]
if
(
x
.
Id
==
'3'
)
icon
=
this
.
icons
[
3
]
if
(
x
.
Id
==
'4'
)
icon
=
this
.
icons
[
5
]
if
(
x
.
Id
==
'5'
)
icon
=
this
.
icons
[
4
]
if
(
x
.
Id
==
'6'
)
icon
=
this
.
icons
[
2
]
let
obj
=
{
Id
:
x
.
Id
,
Name
:
x
.
Name
+
'订单'
,
Name
:
x
.
Name
+
'订单'
,
icon
:
icon
}
//酒店切换为道旅酒店
if
(
obj
.
Id
==
'3'
)
{
obj
.
Id
=
'7'
;
}
this
.
orderTypeList
.
push
(
obj
)
}
})
// this.orderTypeList = res.data
this
.
orderTypeList
.
unshift
({
Id
:
''
,
Name
:
'所有订单'
...
...
@@ -133,61 +137,70 @@ export default {
this
.
$emit
(
'change'
,
item
)
this
.
showModal
=
false
;
},
goSearch
(){
// ?OrderTypeStr=${this.params.OrderTypeStr}
goSearch
()
{
uni
.
navigateTo
({
url
:
`/pages/AggregateOrders/AggregateOrdersSearch`
})
},
goBack
(){
uni
.
navigateBack
({
delta
:
-
1
})
goBack
()
{
uni
.
navigateBack
({
delta
:
-
1
})
}
}
}
}
</
script
>
<
style
lang=
"scss"
scoped
>
@import
url("@/asset/css/flex.css")
;
.AggregateTitle
{
@import
url("@/asset/css/flex.css")
;
.AggregateTitle
{
padding
:
40rpx
30rpx
40rpx
30rpx
;
font-size
:
32rpx
;
font-weight
:
bold
;
text-align
:
left
;
}
.AggregateTypeBox
{
}
.AggregateTypeBox
{
flex-wrap
:
wrap
;
padding
:
0
15rpx
;
}
.AggregateType
{
}
.AggregateType
{
width
:
33
.33%
;
padding
:
0
15rpx
;
margin-bottom
:
30rpx
;
}
.AggregateType
text
{
}
.AggregateType
text
{
display
:
block
;
line-height
:
60rpx
;
background
:
#f5f5f5
;
border
:
1rpx
solid
#E3E6D2
;
border-radius
:
60rpx
;
text-align
:
center
;
}
.AggregateType.active
text
{
}
.AggregateType.active
text
{
border
:
1rpx
solid
#B99846
;
color
:
#B99846
;
}
.carrHeader-title
{
}
.carrHeader-title
{
position
:
relative
;
left
:
60rpx
;
right
:
0
;
text-align
:
left
;
font-size
:
32rpx
;
}
.carrHeader-left
{
}
.carrHeader-left
{
position
:
absolute
;
left
:
32rpx
;
bottom
:
23rpx
;
z-index
:
3
;
}
.carrHeaderBox
{
}
.carrHeaderBox
{
width
:
100%
;
height
:
88rpx
;
padding
:
0
32rpx
;
...
...
@@ -195,28 +208,33 @@ export default {
align-items
:
center
;
justify-content
:
space-between
;
position
:
relative
;
}
.carrHeader
{
}
.carrHeader
{
// padding-top: 85rpx;
}
.carrHeader-right
{
}
.carrHeader-right
{
padding-right
:
200rpx
;
display
:
flex
;
}
.carrHeader-right
img
{
}
.carrHeader-right
img
{
width
:
35rpx
;
height
:
35rpx
;
}
.carrHeader-S
{
}
.carrHeader-S
{
width
:
63rpx
;
height
:
63rpx
;
margin-right
:
20rpx
;
}
.carrHeader-T
{
}
.carrHeader-T
{
width
:
63rpx
;
height
:
63rpx
;
border-radius
:
50%
;
border
:
1px
solid
#CFC089
;
margin-right
:
20rpx
;
}
}
</
style
>
\ No newline at end of file
pages/AggregateOrders/components/orders.vue
View file @
391066a7
<
template
>
<view>
<view
class=
"AggOrdListBox"
>
<view
class=
"visaList row"
v-for=
"(item,index) in g"
:key=
"index"
@
click=
"goDetails(item)"
<view
class=
"visaList row"
v-for=
"(item,index) in g"
:key=
"index"
@
click=
"goDetails(item)"
:class=
"[item.orderStatus==4?'active':'']"
>
<view
class=
"visaListL"
>
<image
mode=
"aspectFill"
:src=
"item.goodsPic"
/>
<image
v-if=
"item.goodsPic&&item.goodsPic!=''"
mode=
"aspectFill"
:src=
"item.goodsPic"
/>
<image
v-else
mode=
"aspectFill"
src=
"https://viitto-1301420277.cos.ap-chengdu.myqcloud.com/Static/defaultHotelImg.png"
/>
<text
class=
"visaListLText"
>
{{
item
.
goodTypeEnum
.
desc
}}
</text>
...
...
@@ -40,8 +40,7 @@
<view
class=
"row"
>
<view
class=
"col"
></view>
<!-- #ifdef MP-DI -->
<view
class=
"jz_Zailai"
@
click
.
stop=
""
style=
"width: 110rpx;"
>
<view
class=
"jz_Zailai"
@
click
.
stop=
""
style=
"width: 110rpx;"
>
客服
<button
class=
"AggOrdListH-RBut"
open-type=
"contact"
show-message-card=
"true"
></button>
</view>
...
...
@@ -51,58 +50,57 @@
<view
v-if=
"item.orderStatus==1||item.orderStatus==2"
class=
"jz_Zailai"
style=
"width: 110rpx;margin-left: 10rpx;"
@
click
.
stop=
"goCancelZK(item)"
>
取消
</view>
<view
v-if=
"item.orderStatus==1"
class=
"jz_Zailai jz_ZailaiZF"
style=
"width: 150rpx;margin-left: 10rpx;"
@
click
.
stop=
"submitGetCodeByOrderNo(item)"
>
立即支付
</view>
<view
v-if=
"item.orderStatus!=1"
style=
"margin-left: 10rpx;"
class=
"jz_Zailai"
@
click
.
stop=
"AnotherOrder(item)"
>
再来一单
</view>
style=
"width: 150rpx;margin-left: 10rpx;"
@
click
.
stop=
"submitGetCodeByOrderNo(item)"
>
立即支付
</view>
<view
v-if=
"item.orderStatus!=1"
style=
"margin-left: 10rpx;"
class=
"jz_Zailai"
@
click
.
stop=
"AnotherOrder(item)"
>
再来一单
</view>
<!-- #endif -->
<!-- #ifdef MP-AG -->
<view
v-if=
"item.income == 0&&item.orderStatus==1"
class=
"jz_Zailai"
style=
"width: 110rpx;margin-left: 10rpx;"
@
click
.
stop=
"goCancel(item)"
>
取消
</view>
<view
v-else
class=
"jz_Zailai"
style=
"margin-left: 10rpx;"
@
click
.
stop=
"AnotherOrder(item)"
>
再来一单
</view>
<view
v-else
class=
"jz_Zailai"
style=
"margin-left: 10rpx;"
@
click
.
stop=
"AnotherOrder(item)"
>
再来一单
</view>
<!-- #endif -->
</view>
</view>
</view>
</view>
</view>
<cancelPrompt
v-if=
"showModal"
:showModal=
"showModal"
@
cancel=
"cancelModal"
@
success=
"cancelSuccess"
type=
"1"
<cancelPrompt
v-if=
"showModal"
:showModal=
"showModal"
@
cancel=
"cancelModal"
@
success=
"cancelSuccess"
type=
"1"
:orderNo=
"currentData.orderNo"
></cancelPrompt>
</view>
</template>
<
script
>
import
cancelPrompt
from
"@/components/cancelPrompt/cancelPrompt.vue"
;
export
default
{
props
:[
'orders'
],
import
cancelPrompt
from
"@/components/cancelPrompt/cancelPrompt.vue"
;
export
default
{
props
:
[
'orders'
],
components
:
{
cancelPrompt
},
data
()
{
return
{
g
:
[],
submitCancel
:
false
,
submitCancel
:
false
,
submit
:
false
,
orderInfo
:
null
,
orderInfo
:
null
,
showModal
:
false
,
currentData
:
null
,
}
},
watch
:
{
orders
:
{
handler
(
newVal
,
oldVal
)
{
watch
:
{
orders
:
{
handler
(
newVal
,
oldVal
)
{
this
.
g
=
newVal
},
deep
:
true
,
deep
:
true
,
}
},
mounted
()
{
},
methods
:
{
cancelSuccess
()
{
this
.
$emit
(
'research'
,
5
)
methods
:
{
cancelSuccess
()
{
this
.
$emit
(
'research'
,
5
)
},
submitGetCodeByOrderNo
(
item
)
{
uni
.
showLoading
({
...
...
@@ -115,17 +113,17 @@ export default {
MallBaseId
:
uni
.
getStorageSync
(
"mall_UserInfo"
).
MallBaseId
},
(
res
)
=>
{
if
(
res
.
resultCode
==
1
)
{
this
.
orderInfo
=
JSON
.
parse
(
res
.
data
.
sPayInfo
)
this
.
orderInfo
=
JSON
.
parse
(
res
.
data
.
sPayInfo
)
this
.
goPayHandler
(
item
);
}
},
e
=>
{
},
e
=>
{
uni
.
hideLoading
()
uni
.
showToast
({
title
:
'无法发起支付,请稍后'
,
icon
:
'none'
,
duration
:
3000
title
:
'无法发起支付,请稍后'
,
icon
:
'none'
,
duration
:
3000
})
this
.
submit
=
false
this
.
submit
=
false
});
},
goPayHandler
(
item
)
{
...
...
@@ -156,82 +154,81 @@ export default {
},
});
},
goPaySuccess
(
item
)
{
goPaySuccess
(
item
)
{
let
isFrom
=
null
if
(
item
.
goodsType
>
0
&&
item
.
goodsType
<
4
){
//线路
if
(
item
.
goodsType
>
0
&&
item
.
goodsType
<
4
)
{
//线路
isFrom
=
1
}
else
if
(
item
.
goodsType
>
3
&&
item
.
goodsType
<
8
){
//景点门票
}
else
if
(
item
.
goodsType
>
3
&&
item
.
goodsType
<
8
)
{
//景点门票
}
else
if
(
item
.
goodsType
>
7
&&
item
.
goodsType
<
12
){
//酒店住宿
}
else
if
(
item
.
goodsType
>
7
&&
item
.
goodsType
<
12
)
{
//酒店住宿
}
else
if
(
item
.
goodsType
>
11
&&
item
.
goodsType
<
15
){
//目的地用车
}
else
if
(
item
.
goodsType
>
11
&&
item
.
goodsType
<
15
)
{
//目的地用车
}
else
if
(
item
.
goodsType
==
15
){
//签证
}
else
if
(
item
.
goodsType
==
15
)
{
//签证
isFrom
=
3
}
else
if
(
item
.
goodsType
==
16
){
//机票
}
else
if
(
item
.
goodsType
==
16
)
{
//机票
isFrom
=
4
}
if
(
isFrom
)
{
if
(
isFrom
)
{
setTimeout
(()
=>
{
uni
.
redirectTo
({
url
:
"/pages/jiuzhai/paysuccess?PreferPrice="
+
(
item
.
totalPrice
-
item
.
preferentialPrice
).
toFixed
(
2
)
+
"&isFrom="
+
isFrom
,
(
item
.
totalPrice
-
item
.
preferentialPrice
).
toFixed
(
2
)
+
"&isFrom="
+
isFrom
,
});
},
100
);
}
},
// 再来一单
AnotherOrder
(
item
)
{
AnotherOrder
(
item
)
{
let
url
=
''
if
(
item
.
goodsType
>
0
&&
item
.
goodsType
<
4
){
//线路
const
pts
=
[
''
,
2
,
0
,
1
]
if
(
item
.
goodsType
>
0
&&
item
.
goodsType
<
4
)
{
//线路
const
pts
=
[
''
,
2
,
0
,
1
]
const
productType
=
pts
[
item
.
goodsType
]
url
=
`jiuzhai/jz_Line?teamType=
${
productType
}
`
}
else
if
(
item
.
goodsType
>
3
&&
item
.
goodsType
<
8
){
//景点门票
}
else
if
(
item
.
goodsType
>
3
&&
item
.
goodsType
<
8
)
{
//景点门票
}
else
if
(
item
.
goodsType
>
7
&&
item
.
goodsType
<
12
){
//酒店住宿
}
else
if
(
item
.
goodsType
>
7
&&
item
.
goodsType
<
12
)
{
//酒店住宿
}
else
if
(
item
.
goodsType
>
11
&&
item
.
goodsType
<
15
){
//目的地用车
}
else
if
(
item
.
goodsType
>
11
&&
item
.
goodsType
<
15
)
{
//目的地用车
}
else
if
(
item
.
goodsType
==
15
){
//签证
}
else
if
(
item
.
goodsType
==
15
)
{
//签证
url
=
"visa/visaList"
}
else
if
(
item
.
goodsType
==
16
){
//机票
}
else
if
(
item
.
goodsType
==
16
)
{
//机票
url
=
"airTicket/airIndex"
}
if
(
url
)
{
if
(
url
)
{
uni
.
navigateTo
({
url
:
`/pages/
${
url
}
`
,
});
}
},
// 详情
goDetails
(
item
)
{
goDetails
(
item
)
{
let
url
=
null
let
msg
=
null
// #ifdef MP-DI
msg
=
`OrderNo=
${
item
.
orderNo
}
`
if
(
item
.
goodsType
>
0
&&
item
.
goodsType
<
4
)
url
=
`jiuzhai/jz_SureOrder?`
//线路
else
if
(
item
.
goodsType
>
3
&&
item
.
goodsType
<
8
){
//景点门票
}
else
if
(
item
.
goodsType
>
7
&&
item
.
goodsType
<
12
){
//酒店住宿
}
else
if
(
item
.
goodsType
>
11
&&
item
.
goodsType
<
15
){
//目的地用车
}
else
if
(
item
.
goodsType
==
15
)
url
=
`visa/visa_SureOrder?`
//签证
else
if
(
item
.
goodsType
==
16
)
url
=
`airTicket/airTicketOrderDetail?`
//机票
if
(
item
.
goodsType
>
0
&&
item
.
goodsType
<
4
)
url
=
`jiuzhai/jz_SureOrder?`
//线路
else
if
(
item
.
goodsType
>
3
&&
item
.
goodsType
<
8
)
{
//景点门票
}
else
if
(
item
.
goodsType
>
7
&&
item
.
goodsType
<
12
)
{
//酒店住宿
}
else
if
(
item
.
goodsType
>
11
&&
item
.
goodsType
<
15
)
{
//目的地用车
}
else
if
(
item
.
goodsType
==
15
)
url
=
`visa/visa_SureOrder?`
//签证
else
if
(
item
.
goodsType
==
16
)
url
=
`airTicket/airTicketOrderDetail?`
//机票
// #endif
// #ifdef MP-AG
msg
=
`orderId=
${
item
.
erpOrderId
}
`
if
(
item
.
goodsType
==
2
)
url
=
`jiuzhai/jz_SureOrder?`
//线路
else
if
(
item
.
goodsType
==
4
){
//景点门票
}
else
if
(
item
.
goodsType
==
3
){
//酒店住宿
}
else
if
(
item
.
goodsType
==
5
){
//目的地用车
}
else
if
(
item
.
goodsType
==
6
)
url
=
`visa/visa_SureOrder?`
//签证
else
if
(
item
.
goodsType
==
1
){
//机票
if
(
item
.
goodsType
==
2
)
url
=
`jiuzhai/jz_SureOrder?`
//线路
else
if
(
item
.
goodsType
==
4
)
{
//景点门票
}
else
if
(
item
.
goodsType
==
3
)
{
//酒店住宿
}
else
if
(
item
.
goodsType
==
5
)
{
//目的地用车
}
else
if
(
item
.
goodsType
==
6
)
url
=
`visa/visa_SureOrder?`
//签证
else
if
(
item
.
goodsType
==
1
)
{
//机票
url
=
`airTicket/airTicketOrderDetail?`
msg
=
`id=
${
item
.
erpOrderId
}
`
}
// #endif
if
(
url
)
{
if
(
url
)
{
let
path
=
`/pages/
${
url
}${
msg
}
`
uni
.
navigateTo
({
url
:
path
,
...
...
@@ -242,7 +239,7 @@ export default {
//取消订单
goCancel
(
item
)
{
let
that
=
this
if
(
this
.
submit
||
this
.
submitCancel
)
return
if
(
this
.
submit
||
this
.
submitCancel
)
return
wx
.
showModal
({
title
:
'提示'
,
content
:
'确定取消订单?'
,
...
...
@@ -276,16 +273,16 @@ export default {
}
})
},
cancelModal
()
{
cancelModal
()
{
this
.
showModal
=
false
},
goCancelZK
(
item
)
{
if
(
item
.
orderStatus
==
2
)
{
if
(
item
.
orderStatus
==
2
)
{
this
.
currentData
=
item
return
this
.
showModal
=
true
}
let
that
=
this
if
(
this
.
submit
||
this
.
submitCancel
)
return
if
(
this
.
submit
||
this
.
submitCancel
)
return
wx
.
showModal
({
title
:
'提示'
,
content
:
'确定取消订单?'
,
...
...
@@ -319,40 +316,47 @@ export default {
})
},
}
}
}
</
script
>
<
style
lang=
"scss"
scoped
>
@import
url("@/asset/css/flex.css")
;
.AggOrdListBox
{
@import
url("@/asset/css/flex.css")
;
.AggOrdListBox
{
padding
:
0
36rpx
;
}
.AggOrdList
{
}
.AggOrdList
{
border-radius
:
18rpx
;
background
:
#fff
;
padding
:
20rpx
30rpx
;
margin-bottom
:
20rpx
;
}
.AggOrdListH
{
}
.AggOrdListH
{
font-size
:
22rpx
;
color
:
#080A09
;
}
.AggOrdListH-left
text
{
}
.AggOrdListH-left
text
{
color
:
#e91e63
;
background
:
rgba
(
234
,
32
,
100
,
.
2
);
background
:
rgba
(
234
,
32
,
100
,
.2
);
border-radius
:
10rpx
;
display
:
block
;
padding
:
2rpx
10rpx
;
}
.AggOrdListH-RBBox
{
}
.AggOrdListH-RBBox
{
display
:
block
;
color
:
#1d1d1d
;
position
:
relative
;
}
.AggOrdListH-RS
{
}
.AggOrdListH-RS
{
color
:
#9e9e9e
;
margin-left
:
40rpx
;
}
.AggOrdListH-RBut
{
}
.AggOrdListH-RBut
{
position
:
absolute
;
left
:
0
;
top
:
0
;
...
...
@@ -360,8 +364,9 @@ export default {
bottom
:
0
;
z-index
:
1
;
opacity
:
0
;
}
.AggOrdListH-RBut
{
}
.AggOrdListH-RBut
{
position
:
absolute
;
left
:
0
;
top
:
0
;
...
...
@@ -369,8 +374,9 @@ export default {
bottom
:
0
;
z-index
:
1
;
opacity
:
0
;
}
.jz_Zailai
{
}
.jz_Zailai
{
border-radius
:
16px
;
width
:
150rpx
;
height
:
60rpx
;
...
...
@@ -381,37 +387,42 @@ export default {
position
:
relative
;
border
:
1rpx
solid
rgba
(
164
,
164
,
164
,
.3
);
}
.jz_Zailai.jz_ZailaiZF
{
}
.jz_Zailai.jz_ZailaiZF
{
color
:
#B99846
;
border
:
1rpx
solid
#B99846
;
}
.jz_ZailaiZX
img
{
}
.jz_ZailaiZX
img
{
position
:
relative
;
top
:
10rpx
;
}
}
.visaList
{
.visaList
{
padding
:
30rpx
;
margin-bottom
:
20rpx
;
background
:
#fff
;
overflow
:
hidden
;
border-radius
:
14rpx
;
}
.visaListL
{
}
.visaListL
{
width
:
161rpx
;
height
:
190rpx
;
overflow
:
hidden
;
margin-right
:
19rpx
;
position
:
relative
;
border-radius
:
14rpx
;
}
.visaListL
image
{
}
.visaListL
image
{
width
:
100%
;
height
:
100%
;
border-radius
:
14rpx
;
}
.visaListTitle
{
}
.visaListTitle
{
font-weight
:
bold
;
font-size
:
28rpx
;
color
:
#111111
;
...
...
@@ -422,8 +433,9 @@ export default {
-webkit-line-clamp
:
2
;
overflow
:
hidden
;
margin-bottom
:
10rpx
;
}
.visaListText
text
{
}
.visaListText
text
{
background-color
:
rgba
(
226
,
194
,
122
,
.3
);
color
:
#B99846
;
margin-right
:
16rpx
;
...
...
@@ -431,54 +443,66 @@ export default {
border-radius
:
6rpx
;
padding
:
5rpx
9rpx
;
font-size
:
20rpx
;
}
.visaListNum
{
}
.visaListNum
{
justify-content
:
space-between
;
align-items
:
center
;
}
.visaListNumL
text
{
}
.visaListNumL
text
{
font-family
:
PingFang
SC
;
font-weight
:
500
;
font-size
:
20rpx
;
color
:
#080A09
;
margin-left
:
10rpx
;
}
.visaListNum
{
}
.visaListNum
{
margin-bottom
:
15rpx
;
}
.visaListNumR
{
}
.visaListNumR
{
color
:
rgba
(
255
,
49
,
102
,
1
);
}
.price-Num
{
}
.price-Num
{
font-size
:
34rpx
;
margin-left
:
5rpx
;
font-weight
:
bold
;
}
.uDropdownText
text
{
}
.uDropdownText
text
{
color
:
#444
;
}
.uDropdownText.active
text
{
}
.uDropdownText.active
text
{
color
:
#B99846
;
font-weight
:
bold
;
}
.visaListLText
{
}
.visaListLText
{
position
:
absolute
;
left
:
0
;
top
:
0
;
border-radius
:
14rpx
0rpx
14rpx
0rpx
;
background
:
#B99846
;
padding
:
4rpx
9rpx
;
font-size
:
20rpx
;
color
:
#fff
;
}
.visaList.active
.visaListTitle
,
.visaList.active
.visaListNumR
,
.visaList.active
.visaListNumL
{
font-size
:
20rpx
;
color
:
#fff
;
}
.visaList.active
.visaListTitle
,
.visaList.active
.visaListNumR
,
.visaList.active
.visaListNumL
{
color
:
#CBCBCB
;
}
.visaList.active
.visaListLText
{
}
.visaList.active
.visaListLText
{
background
:
#CBCBCB
;
}
.visaList.active
.visaListL
image
{
}
.visaList.active
.visaListL
image
{
// filter: grayscale(100%);
}
}
</
style
>
\ No newline at end of file
pages/hotel/components/hotelRoom.vue
View file @
391066a7
...
...
@@ -300,10 +300,10 @@
}
if
(
this
.
HotelInfo
)
{
if
(
this
.
HotelInfo
.
images
&&
this
.
HotelInfo
.
images
.
length
>
0
)
{
//pHotel.images = this.HotelInfo.images
;
pHotel
.
images
.
push
(
this
.
HotelInfo
.
images
[
0
].
url
)
;
}
if
(
this
.
HotelInfo
.
address
)
{
pHotel
.
address
=
this
.
HotelInfo
.
address
;
if
(
this
.
HotelInfo
.
location
&&
this
.
HotelInfo
.
location
.
address
)
{
pHotel
.
address
=
this
.
HotelInfo
.
location
.
address
;
}
}
console
.
log
(
"hotelRoom"
,
pHotel
);
...
...
pages/hotel/order.vue
View file @
391066a7
...
...
@@ -350,15 +350,16 @@
}
,
onLoad
(
options
)
{
this
.
customer
=
uni
.
getStorageSync
(
"b2b_user"
)
console
.
log
(
"hotel_order"
,
options
);
if
(
options
.
searchObj
)
{
this
.
searchObj
=
JSON
.
parse
(
options
.
searchObj
)
}
if
(
options
.
HotelInfo
)
{
this
.
HotelInfo
=
JSON
.
parse
(
options
.
HotelInfo
)
console
.
log
(
"hotel_order_hotelInfo"
,
this
.
HotelInfo
)
this
.
orderMsg
.
hotelId
=
this
.
HotelInfo
.
hotelid
;
this
.
orderMsg
.
HotelName
=
this
.
HotelInfo
.
name
this
.
orderMsg
.
HotelName
=
this
.
HotelInfo
.
name
;
if
(
this
.
HotelInfo
.
images
&&
this
.
HotelInfo
.
images
.
length
>
0
)
{
this
.
orderMsg
.
HotelPic
=
this
.
HotelInfo
.
images
[
0
];
}
}
if
(
options
.
RoomInfo
)
{
this
.
RoomInfo
=
JSON
.
parse
(
options
.
RoomInfo
)
...
...
@@ -370,8 +371,6 @@
this
.
CreateBy
=
options
.
CreateBy
}
this
.
orderMsg
.
ProductId
=
this
.
RoomInfo
.
RoomTypeID
;
console
.
log
(
"hotel_order_this.searchObj"
,
this
.
searchObj
)
console
.
log
(
"hotel_order_this.RoomInfo"
,
this
.
RoomInfo
)
this
.
orderMsg
.
RatePlanID
=
this
.
RoomInfo
.
RatePlanID
this
.
orderMsg
.
CheckInDate
=
this
.
dayObj
.
start
;
this
.
orderMsg
.
CheckOutDate
=
this
.
dayObj
.
end
;
...
...
@@ -428,7 +427,8 @@
Name
:
this
.
customer
.
name
,
ContactNumber
:
this
.
orderMsg
.
guestPhoneNumber
,
Mailbox
:
this
.
orderMsg
.
guestEmail
,
GoodsId
:
this
.
orderMsg
.
RatePlanID
,
//GoodsId: this.orderMsg.RatePlanID,
GoodsId
:
this
.
HotelInfo
.
hotelId
,
GoodsName
:
this
.
HotelInfo
.
name
,
GoodsPic
:
""
,
GoodsType
:
9
,
...
...
@@ -480,7 +480,6 @@
signType
:
this
.
orderInfo
.
signType
,
paySign
:
this
.
orderInfo
.
sign
,
success
:
function
(
res
)
{
console
.
log
(
"success"
,
res
);
that
.
submit
=
false
;
uni
.
showToast
({
title
:
"支付成功"
,
...
...
@@ -495,7 +494,6 @@
}
,
100
);
}
,
fail
:
function
(
err
)
{
console
.
log
(
"fail:"
,
err
);
that
.
submit
=
true
;
uni
.
showToast
({
title
:
"支付失败"
,
...
...
@@ -667,9 +665,6 @@
}
,
changeDown
(
e
)
{
let
i
=
[
e
]
// this.customer.count = this.countrys[i].ID
// this.optionsTitle[0] = this.countrys[i].Name
// this.customer.PhoneCountryStr = '+'+this.countrys[i].PhoneCode
}
,
editNum
(
type
)
{
if
(
type
==
1
)
{
...
...
@@ -783,10 +778,9 @@
icon
:
'none'
}
)
uni
.
redirectTo
({
url
:
`/pages/AggregateOrders/AggregateOrdersList?OrderTypeStr=
3
`
,
url
:
`/pages/AggregateOrders/AggregateOrdersList?OrderTypeStr=
7
`
,
}
);
// #endif
console
.
log
(
res
,
'-------酒店erp下单成功'
)
}
}
);
...
...
utils/producttypeenum.js
View file @
391066a7
import
EnumHelper
from
"./enumhelper.js"
import
ListProductTypeEnum
from
"./listProductType.js"
const
ProductTypeEnum
=
[
{
const
ProductTypeEnum
=
[{
value
:
1
,
desc
:
'机票产品'
},
...
...
@@ -41,7 +40,10 @@ const ProductTypeEnum = [
value
:
6
,
desc
:
'签证产品'
},
{
value
:
7
,
desc
:
'酒店产品'
},
]
const
mappingRules
=
[
...
...
@@ -68,7 +70,7 @@ const mappingListType = (value) => {
const
mappingListTypeTy
=
(
type
)
=>
{
let
val
=
ProductTypeEnum
.
findIndex
(
x
=>
{
return
x
.
value
==
Number
(
type
)
return
x
.
value
==
Number
(
type
)
})
return
ProductTypeEnum
[
val
]
}
...
...
@@ -79,4 +81,8 @@ const transProductEnum = (value) => {
export
default
ProductTypeEnum
export
{
mappingListType
,
transProductEnum
,
mappingListTypeTy
}
\ No newline at end of file
export
{
mappingListType
,
transProductEnum
,
mappingListTypeTy
}
\ No newline at end of file
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