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
Hide 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
>
<
style
lang=
"scss"
scoped
>
@import
url("@/asset/css/flex.css")
;
@import
url("@/asset/css/flex.css")
;
.AggOrdBox
{
.AggOrdBox
{
height
:
100vh
;
height
:
100vh
;
background
:
url('https://viitto-1301420277.cos.ap-chengdu.myqcloud.com/Upload/Goods/638772246864278108.jpg')
no-repeat
#F3F1EF
;
background
:
url('https://viitto-1301420277.cos.ap-chengdu.myqcloud.com/Upload/Goods/638772246864278108.jpg')
no-repeat
#F3F1EF
;
background-size
:
100%
240rpx
;
background-size
:
100%
240rpx
;
.AggOrdHeader
{
.AggOrdHeader
{
padding-bottom
:
20rpx
;
padding-bottom
:
20rpx
;
// background: url('https://viitto-1301420277.cos.ap-chengdu.myqcloud.com/Upload/Goods/638772246864278108.jpg')no-repeat;
// background: url('https://viitto-1301420277.cos.ap-chengdu.myqcloud.com/Upload/Goods/638772246864278108.jpg')no-repeat;
// background-size: 100% 100%;
// background-size: 100% 100%;
}
}
.AggOrdStatus
{
.AggOrdStatus
{
padding-top
:
20rpx
;
padding-top
:
20rpx
;
.AggOrdT
{
.AggOrdT
{
width
:
25%
;
width
:
25%
;
padding
:
10rpx
20rpx
;
padding
:
10rpx
20rpx
;
font-size
:
28rpx
;
font-size
:
28rpx
;
color
:
#080A09
;
color
:
#080A09
;
position
:
relative
;
position
:
relative
;
}
}
.AggOrdT.active
{
.AggOrdT.active
{
color
:
#B99846
;
color
:
#B99846
;
font-weight
:
bold
;
font-weight
:
bold
;
}
}
.AggOrdT
text
{
.AggOrdT
text
{
display
:
block
;
display
:
block
;
text-align
:
center
;
text-align
:
center
;
}
}
.AggOrdT
view
{
.AggOrdT
view
{
position
:
absolute
;
position
:
absolute
;
left
:
0
;
left
:
0
;
right
:
0
;
right
:
0
;
bottom
:
0
;
bottom
:
0
;
}
}
.AggOrdT
view
view
{
.AggOrdT
view
view
{
width
:
60rpx
;
width
:
60rpx
;
height
:
10rpx
;
height
:
10rpx
;
margin
:
auto
;
margin
:
auto
;
...
@@ -40,106 +48,103 @@
...
@@ -40,106 +48,103 @@
border-radius
:
10rpx
;
border-radius
:
10rpx
;
}
}
}
}
}
}
/
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
>
</
style
>
<
template
>
<
template
>
<view
class=
"AggOrdBox column"
>
<view
class=
"AggOrdBox column"
>
<view
class=
"AggOrdHeader"
:style=
"[titleStyle]"
>
<view
class=
"AggOrdHeader"
:style=
"[titleStyle]"
>
<AggOrdHeader
:title=
"pageTitle"
<AggOrdHeader
:title=
"pageTitle"
@
change=
"getOrderType"
:params=
"msg"
></AggOrdHeader>
@
change=
"getOrderType"
:params=
"msg"
></AggOrdHeader>
<view
class=
"AggOrdStatus row items-center"
>
<view
class=
"AggOrdStatus row items-center"
>
<template>
<template>
<view
class=
"AggOrdT"
<view
class=
"AggOrdT"
v-for=
"(item,index) in statusList"
:key=
"index"
v-for=
"(item,index) in statusList"
:class=
"[msg.OrderStatus==item.ID?'active':'']"
@
click=
"getStatus(item.ID)"
>
:key=
"index"
:class=
"[msg.OrderStatus==item.ID?'active':'']"
@
click=
"getStatus(item.ID)"
>
<text>
{{
item
.
Name
}}
</text>
<text>
{{
item
.
Name
}}
</text>
</view>
</view>
</
template
>
</
template
>
</view>
</view>
</view>
</view>
<view
class=
"col"
style=
"height: 1px;flex: 1;overflow: hidden;padding-top: 10rpx;"
>
<view
class=
"col"
style=
"height: 1px;flex: 1;overflow: hidden;padding-top: 10rpx;"
>
<scroll-view
:scroll-y=
"true"
<scroll-view
:scroll-y=
"true"
:enable-back-to-top=
"true"
:enable-flex=
"true"
@
scrolltolower=
"lower"
:enable-back-to-top=
"true"
style=
"height: 100%;"
>
:enable-flex=
"true"
<orders
:orders=
"g"
@
research=
"research"
></orders>
@
scrolltolower=
"lower"
style=
"height: 100%;"
>
<u-empty
v-if=
"g.length==0"
text=
"暂无数据"
mode=
"data"
padding-top=
"20"
></u-empty>
<orders
:orders=
"g"
@
research=
"research"
></orders>
<u-loadmore
v-else
:status=
"status"
:load-text=
"loadText"
:font-size=
"24"
:margin-top=
"20"
<u-empty
v-if=
"g.length==0"
text=
"暂无数据"
mode=
"data"
padding-top=
"20"
></u-empty>
: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>
<view
style=
"width: 100%;height: 20rpx;"
></view>
</scroll-view>
</scroll-view>
</view>
</view>
</view>
</view>
</template>
</template>
<
script
>
<
script
>
import
{
mappingListType
,
mappingListTypeTy
}
from
"../../utils/producttypeenum"
;
import
{
mappingListType
,
mappingListTypeTy
}
from
"../../utils/producttypeenum"
;
import
EnumHelper
from
'../../utils/enumhelper'
;
import
EnumHelper
from
'../../utils/enumhelper'
;
import
OrderStatusEnum
from
'../../utils/orderStautsEnum'
;
import
OrderStatusEnum
from
'../../utils/orderStautsEnum'
;
import
AggOrdHeader
from
"./components/header.vue"
;
import
AggOrdHeader
from
"./components/header.vue"
;
import
orders
from
"./components/orders.vue"
;
import
orders
from
"./components/orders.vue"
;
export
default
{
export
default
{
components
:
{
components
:
{
AggOrdHeader
,
AggOrdHeader
,
orders
,
orders
,
},
},
data
()
{
data
()
{
return
{
return
{
pageTitle
:
'所有订单'
,
pageTitle
:
'所有订单'
,
msg
:{
msg
:
{
pageSize
:
10
,
pageSize
:
10
,
pageIndex
:
1
,
pageIndex
:
1
,
OrderStatus
:
0
,
OrderStatus
:
0
,
GoodsName
:
''
,
GoodsName
:
''
,
OrderTypeStr
:
''
OrderTypeStr
:
''
},
},
loadText
:
{
loadText
:
{
loadmore
:
"轻轻上拉,加载更多"
,
loadmore
:
"轻轻上拉,加载更多"
,
loading
:
"努力加载中"
,
loading
:
"努力加载中"
,
nomore
:
"没有更多了"
,
nomore
:
"没有更多了"
,
},
},
status
:
"loadmore"
,
status
:
"loadmore"
,
showModal
:
false
,
showModal
:
false
,
barshow
:
0
,
barshow
:
0
,
statusList
:
[],
statusList
:
[],
g
:
[],
g
:
[],
page_count
:
1
,
page_count
:
1
,
index
:
0
,
index
:
0
,
payindex
:
0
,
payindex
:
0
,
showAuth
:
false
,
showAuth
:
false
,
titleStyle
:{},
titleStyle
:
{},
}
}
},
},
onLoad
(
options
)
{
onLoad
(
options
)
{
if
(
options
.
OrderTypeStr
)
this
.
msg
.
OrderTypeStr
=
options
.
OrderTypeStr
if
(
options
.
OrderTypeStr
)
this
.
msg
.
OrderTypeStr
=
options
.
OrderTypeStr
if
(
options
.
OrderStatus
)
this
.
msg
.
OrderStatus
=
options
.
OrderStatus
if
(
options
.
OrderStatus
)
this
.
msg
.
OrderStatus
=
options
.
OrderStatus
this
.
research
()
this
.
research
()
},
},
created
()
{
created
()
{
const
that
=
this
const
that
=
this
uni
.
getSystemInfo
({
uni
.
getSystemInfo
({
success
(
res
)
{
success
(
res
)
{
that
.
titleStyle
=
{
that
.
titleStyle
=
{
paddingTop
:
`
${
res
.
statusBarHeight
}
px`
paddingTop
:
`
${
res
.
statusBarHeight
}
px`
};
};
},
},
});
});
this
.
getOrderEnums
()
this
.
getOrderEnums
()
},
},
methods
:
{
methods
:{
getStatus
(
ID
)
{
getStatus
(
ID
){
this
.
msg
.
OrderStatus
=
ID
this
.
msg
.
OrderStatus
=
ID
this
.
research
()
this
.
research
()
},
},
research
(
status
){
research
(
status
)
{
if
(
status
)
this
.
msg
.
OrderStatus
=
status
;
if
(
status
)
this
.
msg
.
OrderStatus
=
status
;
this
.
msg
.
pageIndex
=
1
;
this
.
msg
.
pageIndex
=
1
;
this
.
msg
.
pageSize
=
10
;
this
.
msg
.
pageSize
=
10
;
this
.
status
=
"loadmore"
;
this
.
status
=
"loadmore"
;
...
@@ -147,35 +152,36 @@
...
@@ -147,35 +152,36 @@
this
.
g
=
[];
this
.
g
=
[];
this
.
init
()
this
.
init
()
},
},
getOrderType
(
item
){
getOrderType
(
item
)
{
this
.
msg
.
OrderTypeStr
=
item
.
Id
this
.
msg
.
OrderTypeStr
=
item
.
Id
this
.
pageTitle
=
item
.
Name
this
.
pageTitle
=
item
.
Name
this
.
research
()
this
.
research
()
},
},
init
()
{
init
()
{
uni
.
showLoading
({
uni
.
showLoading
({
title
:
'加载中...'
title
:
'加载中...'
})
})
// #ifdef MP-DI
// #ifdef MP-DI
this
.
OrderPageZK
();
this
.
OrderPageZK
();
// #endif
// #endif
// #ifdef MP-AG
// #ifdef MP-AG
this
.
OrderPageTY
();
this
.
OrderPageTY
();
// #endif
// #endif
},
},
OrderPageTY
(){
OrderPageTY
()
{
this
.
apipost
(
'b2b_get_GetB2BAllOrderPageList'
,
this
.
msg
,
this
.
apipost
(
'b2b_get_GetB2BAllOrderPageList'
,
this
.
msg
,
res
=>
{
res
=>
{
if
(
res
.
resultCode
==
1
)
{
if
(
res
.
resultCode
==
1
)
{
uni
.
hideLoading
()
uni
.
hideLoading
()
res
.
data
.
pageData
.
forEach
(
x
=>
{
res
.
data
.
pageData
.
forEach
(
x
=>
{
// #ifdef MP-DI
// #ifdef MP-DI
x
.
goodTypeEnum
=
mappingListType
(
x
.
goodsType
)
x
.
goodTypeEnum
=
mappingListType
(
x
.
goodsType
)
// #endif
// #endif
// #ifdef MP-AG
// #ifdef MP-AG
x
.
goodTypeEnum
=
mappingListTypeTy
(
x
.
goodsType
)
x
.
goodTypeEnum
=
mappingListTypeTy
(
x
.
goodsType
)
// #endif
// #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
.
g
=
this
.
g
.
concat
(
res
.
data
.
pageData
);
this
.
page_count
=
res
.
data
.
pageCount
;
this
.
page_count
=
res
.
data
.
pageCount
;
...
@@ -189,14 +195,15 @@
...
@@ -189,14 +195,15 @@
}
}
);
);
},
},
OrderPageZK
(){
OrderPageZK
()
{
this
.
apipost
(
'GetMyDirectOrderPageList_post'
,
this
.
msg
,
this
.
apipost
(
'GetMyDirectOrderPageList_post'
,
this
.
msg
,
res
=>
{
res
=>
{
if
(
res
.
resultCode
==
1
)
{
if
(
res
.
resultCode
==
1
)
{
uni
.
hideLoading
()
uni
.
hideLoading
()
res
.
data
.
pageData
.
forEach
(
x
=>
{
res
.
data
.
pageData
.
forEach
(
x
=>
{
x
.
goodTypeEnum
=
mappingListType
(
x
.
goodsType
)
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
.
g
=
this
.
g
.
concat
(
res
.
data
.
pageData
);
this
.
page_count
=
res
.
data
.
pageCount
;
this
.
page_count
=
res
.
data
.
pageCount
;
...
@@ -210,7 +217,7 @@
...
@@ -210,7 +217,7 @@
}
}
);
);
},
},
lower
(
e
)
{
lower
(
e
)
{
if
(
this
.
msg
.
pageIndex
<
this
.
page_count
)
{
if
(
this
.
msg
.
pageIndex
<
this
.
page_count
)
{
this
.
msg
.
pageIndex
++
;
this
.
msg
.
pageIndex
++
;
this
.
status
=
"loading"
;
this
.
status
=
"loading"
;
...
@@ -219,25 +226,27 @@
...
@@ -219,25 +226,27 @@
this
.
status
=
"nomore"
;
this
.
status
=
"nomore"
;
}
}
},
},
getOrderEnums
()
{
getOrderEnums
()
{
this
.
apipost
(
this
.
apipost
(
"GetDirectOrderStatusEnum_post"
,
"GetDirectOrderStatusEnum_post"
,
{},
{},
(
res
)
=>
{
(
res
)
=>
{
if
(
res
.
resultCode
==
1
)
{
if
(
res
.
resultCode
==
1
)
{
// #ifdef MP-DI
// #ifdef MP-DI
this
.
statusList
=
res
.
data
.
filter
(
x
=>
x
.
ID
!=
4
);
this
.
statusList
=
res
.
data
.
filter
(
x
=>
x
.
ID
!=
4
);
// #endif
// #endif
// #ifdef MP-AG
// #ifdef MP-AG
this
.
statusList
=
res
.
data
.
filter
(
x
=>
x
.
ID
!=
5
);
this
.
statusList
=
res
.
data
.
filter
(
x
=>
x
.
ID
!=
5
);
// #endif
// #endif
this
.
statusList
.
splice
(
0
,
0
,{
ID
:
0
,
Name
:
'全部'
})
this
.
statusList
.
splice
(
0
,
0
,
{
this
.
statusList
.
forEach
(
x
=>
{
ID
:
0
,
if
(
x
.
Name
==
'已付款'
)
x
.
Name
=
'待出行'
Name
:
'全部'
})
this
.
statusList
.
forEach
(
x
=>
{
if
(
x
.
Name
==
'已付款'
)
x
.
Name
=
'待出行'
})
})
}
}
},
},
err
=>
{
err
=>
{
uni
.
showToast
({
uni
.
showToast
({
title
:
err
.
message
,
title
:
err
.
message
,
icon
:
"none"
,
icon
:
"none"
,
...
@@ -245,7 +254,6 @@
...
@@ -245,7 +254,6 @@
}
}
);
);
},
},
},
},
}
}
</
script
>
</
script
>
\ No newline at end of file
pages/AggregateOrders/AggregateOrdersSearch.vue
View file @
391066a7
<
style
lang=
"scss"
scoped
>
<
style
lang=
"scss"
scoped
>
@import
url("@/asset/css/flex.css")
;
@import
url("@/asset/css/flex.css")
;
.AggOrdBox
{
.AggOrdBox
{
height
:
100vh
;
height
:
100vh
;
background
:
url('https://viitto-1301420277.cos.ap-chengdu.myqcloud.com/Upload/Goods/638772246864278108.jpg')
no-repeat
#F3F1EF
;
background
:
url('https://viitto-1301420277.cos.ap-chengdu.myqcloud.com/Upload/Goods/638772246864278108.jpg')
no-repeat
#F3F1EF
;
background-size
:
100%
240rpx
;
background-size
:
100%
240rpx
;
.AggOrdHeader
{
.AggOrdHeader
{}
}
.AggOrdStatus
{
.AggOrdStatus
{
padding-top
:
10rpx
;
padding-top
:
10rpx
;
.AggOrdT
{
.AggOrdT
{
width
:
25%
;
width
:
25%
;
padding
:
10rpx
20rpx
;
padding
:
10rpx
20rpx
;
font-size
:
28rpx
;
font-size
:
28rpx
;
color
:
#080A09
;
color
:
#080A09
;
position
:
relative
;
position
:
relative
;
}
}
.AggOrdT.active
{
.AggOrdT.active
{
font-weight
:
bold
;
font-weight
:
bold
;
}
}
.AggOrdT
text
{
.AggOrdT
text
{
display
:
block
;
display
:
block
;
text-align
:
center
;
text-align
:
center
;
}
}
.AggOrdT
view
{
.AggOrdT
view
{
position
:
absolute
;
position
:
absolute
;
left
:
0
;
left
:
0
;
right
:
0
;
right
:
0
;
bottom
:
0
;
bottom
:
0
;
}
}
.AggOrdT
view
view
{
.AggOrdT
view
view
{
width
:
60rpx
;
width
:
60rpx
;
height
:
10rpx
;
height
:
10rpx
;
margin
:
auto
;
margin
:
auto
;
...
@@ -37,30 +43,35 @@
...
@@ -37,30 +43,35 @@
border-radius
:
10rpx
;
border-radius
:
10rpx
;
}
}
}
}
.AggregateTitle
{
padding
:
40rpx
30rpx
40rpx
30rpx
;
.AggregateTitle
{
font-size
:
36rpx
;
padding
:
40rpx
30rpx
40rpx
30rpx
;
font-weight
:
bold
;
font-size
:
36rpx
;
text-align
:
left
;
font-weight
:
bold
;
}
text-align
:
left
;
.AggregateTypeBox
{
}
flex-wrap
:
wrap
;
.AggregateTypeBox
{
flex-wrap
:
wrap
;
padding
:
0
15rpx
;
}
.AggregateType
{
width
:
33
.33%
;
padding
:
0
15rpx
;
padding
:
0
15rpx
;
}
margin-bottom
:
30rpx
;
.AggregateType
{
}
width
:
33
.33%
;
padding
:
0
15rpx
;
.AggregateType
view
{
margin-bottom
:
30rpx
;
display
:
block
;
}
padding
:
10rpx
0
15rpx
35rpx
;
.AggregateType
view
{
background
:
#E3E6D2
;
display
:
block
;
border-radius
:
14rpx
;
padding
:
10rpx
0
15rpx
35rpx
;
background
:
#E3E6D2
;
border-radius
:
14rpx
;
border
:
1rpx
solid
#E3E6D2
;
border
:
1rpx
solid
#E3E6D2
;
overflow
:
hidden
;
overflow
:
hidden
;
}
}
.AggregateType
img
{
.AggregateType
img
{
width
:
40rpx
;
width
:
40rpx
;
height
:
40rpx
;
height
:
40rpx
;
display
:
inline-block
;
display
:
inline-block
;
...
@@ -68,89 +79,90 @@
...
@@ -68,89 +79,90 @@
top
:
10rpx
;
top
:
10rpx
;
right
:
20rpx
;
right
:
20rpx
;
}
}
.AggregateType
text
{
.AggregateType
text
{
display
:
inline-block
;
display
:
inline-block
;
}
}
.AggregateType.active
view
{
.AggregateType.active
view
{
border
:
1rpx
solid
#B99846
;
border
:
1rpx
solid
#B99846
;
}
}
}
}
</
style
>
</
style
>
<
template
>
<
template
>
<view
class=
"AggOrdBox column"
>
<view
class=
"AggOrdBox column"
>
<view
class=
"AggOrdHeader"
:style=
"[titleStyle]"
>
<view
class=
"AggOrdHeader"
:style=
"[titleStyle]"
>
<AggOrdSearch
<AggOrdSearch
@
change=
"change"
:params=
"msg"
></AggOrdSearch>
@
change=
"change"
:params=
"msg"
></AggOrdSearch>
</view>
</view>
<view
class=
"col"
style=
"height: 1px;flex: 1;overflow: hidden;padding-top: 40rpx;"
>
<view
class=
"col"
style=
"height: 1px;flex: 1;overflow: hidden;padding-top: 40rpx;"
>
<view
v-if=
"!msg.keyword"
>
<view
v-if=
"!msg.keyword"
>
<view
class=
"AggregateTitle"
>
订单类型
</view>
<view
class=
"AggregateTitle"
>
订单类型
</view>
<view
class=
"AggregateTypeBox row"
>
<view
class=
"AggregateTypeBox row"
>
<view
class=
"AggregateType"
v-for=
"(item,index) in orderTypeList"
:key=
"index"
<view
class=
"AggregateType"
v-for=
"(item,index) in orderTypeList"
:key=
"index"
:class=
"[msg.OrderTypeStr==item.Id?'active':'']"
:class=
"[msg.OrderTypeStr==item.Id?'active':'']"
@
click=
"getTypeId(item)"
>
@
click=
"getTypeId(item)"
>
<view
class=
"row"
>
<view
class=
"row"
>
<img
:src=
"item.icon"
/>
<img
:src=
"item.icon"
/>
<text>
<text>
{{
item
.
Name
}}
{{
item
.
Name
}}
</text>
</text>
</view>
</view>
</view>
</view>
</view>
</view>
</view>
</view>
<scroll-view
v-else
:scroll-y=
"true"
:enable-back-to-top=
"true"
:enable-flex=
"true"
@
scrolltolower=
"lower"
<scroll-view
v-else
:scroll-y=
"true"
style=
"height: 100%;"
>
:enable-back-to-top=
"true"
<orders
:orders=
"g"
></orders>
:enable-flex=
"true"
<u-empty
v-if=
"g.length==0"
text=
"暂无数据"
mode=
"data"
padding-top=
"20"
></u-empty>
@
scrolltolower=
"lower"
style=
"height: 100%;"
>
<u-loadmore
v-else
:status=
"status"
:load-text=
"loadText"
:font-size=
"24"
:margin-top=
"20"
<orders
:orders=
"g"
></orders>
:margin-bottom=
"20"
bg-color=
"#F3F1EF"
/>
<u-empty
v-if=
"g.length==0"
text=
"暂无数据"
mode=
"data"
padding-top=
"20"
></u-empty>
<view
style=
"width: 100%;height: 20rpx;"
></view>
<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>
</scroll-view>
</view>
</view>
<auth
v-if=
"showAuth"
@
changeuserinfo=
"reloadUserinfo"
@
gbAuth=
'goback'
></auth>
<auth
v-if=
"showAuth"
@
changeuserinfo=
"reloadUserinfo"
@
gbAuth=
'goback'
></auth>
<tabbar
v-if=
'barshow==1'
></tabbar>
<tabbar
v-if=
'barshow==1'
></tabbar>
</view>
</view>
</
template
>
</
template
>
<
script
>
<
script
>
import
{
mappingListType
,
mappingListTypeTy
}
from
"../../utils/producttypeenum"
;
import
{
mappingListType
,
mappingListTypeTy
}
from
"../../utils/producttypeenum"
;
import
EnumHelper
from
'../../utils/enumhelper'
;
import
EnumHelper
from
'../../utils/enumhelper'
;
import
OrderStatusEnum
from
'../../utils/orderStautsEnum'
;
import
OrderStatusEnum
from
'../../utils/orderStautsEnum'
;
import
AggOrdSearch
from
"./components/searchHeader.vue"
;
import
AggOrdSearch
from
"./components/searchHeader.vue"
;
import
orders
from
"./components/orders.vue"
;
import
orders
from
"./components/orders.vue"
;
export
default
{
export
default
{
components
:
{
components
:
{
AggOrdSearch
,
AggOrdSearch
,
orders
,
orders
,
},
},
data
()
{
data
()
{
return
{
return
{
msg
:{
msg
:
{
pageSize
:
10
,
pageSize
:
10
,
pageIndex
:
1
,
pageIndex
:
1
,
OrderStatus
:
0
,
OrderStatus
:
0
,
GoodsName
:
''
,
GoodsName
:
''
,
OrderTypeStr
:
''
,
OrderTypeStr
:
''
,
keyword
:
''
,
keyword
:
''
,
},
},
loadText
:
{
loadText
:
{
loadmore
:
"轻轻上拉,加载更多"
,
loadmore
:
"轻轻上拉,加载更多"
,
loading
:
"努力加载中"
,
loading
:
"努力加载中"
,
nomore
:
"没有更多了"
,
nomore
:
"没有更多了"
,
},
},
status
:
"loadmore"
,
status
:
"loadmore"
,
showModal
:
false
,
showModal
:
false
,
barshow
:
0
,
barshow
:
0
,
g
:
[],
g
:
[],
page_count
:
1
,
page_count
:
1
,
index
:
0
,
index
:
0
,
payindex
:
0
,
payindex
:
0
,
orderTypeList
:
[
orderTypeList
:
[
// {
// {
// Id: '',
// Id: '',
// Name: '全部订单'
// Name: '全部订单'
...
@@ -185,8 +197,8 @@
...
@@ -185,8 +197,8 @@
icon
:
'https://viitto-1301420277.cos.ap-chengdu.myqcloud.com/Upload/Goods/638772247194112722.jpg'
,
icon
:
'https://viitto-1301420277.cos.ap-chengdu.myqcloud.com/Upload/Goods/638772247194112722.jpg'
,
Name
:
'景点门票'
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/638772246968492575.jpg'
,
'https://viitto-1301420277.cos.ap-chengdu.myqcloud.com/Upload/Goods/638772247052998903.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'
,
'https://viitto-1301420277.cos.ap-chengdu.myqcloud.com/Upload/Goods/638772247084971514.jpg'
,
...
@@ -195,46 +207,52 @@
...
@@ -195,46 +207,52 @@
'https://viitto-1301420277.cos.ap-chengdu.myqcloud.com/Upload/Goods/638772247194112722.jpg'
,
'https://viitto-1301420277.cos.ap-chengdu.myqcloud.com/Upload/Goods/638772247194112722.jpg'
,
],
],
titleStyle
:
{},
titleStyle
:
{},
}
}
},
},
onLoad
(
options
)
{
onLoad
(
options
)
{
if
(
options
.
OrderTypeStr
)
{
if
(
options
.
OrderTypeStr
)
{
this
.
msg
.
OrderTypeStr
=
options
.
OrderTypeStr
this
.
msg
.
OrderTypeStr
=
options
.
OrderTypeStr
}
}
},
},
created
()
{
created
()
{
const
that
=
this
const
that
=
this
uni
.
getSystemInfo
({
uni
.
getSystemInfo
({
success
(
res
)
{
success
(
res
)
{
that
.
titleStyle
=
{
that
.
titleStyle
=
{
paddingTop
:
`
${
res
.
statusBarHeight
}
px`
paddingTop
:
`
${
res
.
statusBarHeight
}
px`
};
};
},
},
});
});
// #ifdef MP-AG
// #ifdef MP-AG
this
.
getEnumList
()
this
.
getEnumList
()
// #endif
// #endif
},
},
methods
:
{
methods
:
{
getEnumList
()
{
getEnumList
()
{
this
.
apipost
(
"CarSingle_post_GetOrderTypeEnumList"
,
{},
(
res
)
=>
{
this
.
apipost
(
"CarSingle_post_GetOrderTypeEnumList"
,
{},
(
res
)
=>
{
if
(
res
.
resultCode
==
1
)
{
if
(
res
.
resultCode
==
1
)
{
this
.
orderTypeList
=
[]
this
.
orderTypeList
=
[]
res
.
data
.
forEach
(
x
=>
{
res
.
data
.
forEach
(
x
=>
{
if
(
x
.
Name
==
'团队'
){
x
.
Name
=
'线路'
}
if
(
x
.
Name
==
'团队'
)
{
if
(
x
.
Name
!=
'Jalan酒店'
){
x
.
Name
=
'线路'
}
if
(
x
.
Name
!=
'Jalan酒店'
)
{
let
icon
=
''
let
icon
=
''
if
(
x
.
Id
==
'1'
)
icon
=
this
.
icons
[
1
]
if
(
x
.
Id
==
'1'
)
icon
=
this
.
icons
[
1
]
if
(
x
.
Id
==
'2'
)
icon
=
this
.
icons
[
0
]
if
(
x
.
Id
==
'2'
)
icon
=
this
.
icons
[
0
]
if
(
x
.
Id
==
'3'
)
icon
=
this
.
icons
[
3
]
if
(
x
.
Id
==
'3'
)
icon
=
this
.
icons
[
3
]
if
(
x
.
Id
==
'4'
)
icon
=
this
.
icons
[
5
]
if
(
x
.
Id
==
'4'
)
icon
=
this
.
icons
[
5
]
if
(
x
.
Id
==
'5'
)
icon
=
this
.
icons
[
4
]
if
(
x
.
Id
==
'5'
)
icon
=
this
.
icons
[
4
]
if
(
x
.
Id
==
'6'
)
icon
=
this
.
icons
[
2
]
if
(
x
.
Id
==
'6'
)
icon
=
this
.
icons
[
2
]
let
obj
=
{
let
obj
=
{
Id
:
x
.
Id
,
Id
:
x
.
Id
,
Name
:
x
.
Name
+
'订单'
,
Name
:
x
.
Name
+
'订单'
,
icon
:
icon
icon
:
icon
}
}
//酒店切换为道旅酒店
if
(
obj
.
Id
==
'3'
)
{
obj
.
Id
=
'7'
;
}
this
.
orderTypeList
.
push
(
obj
)
this
.
orderTypeList
.
push
(
obj
)
}
}
})
})
...
@@ -246,7 +264,7 @@
...
@@ -246,7 +264,7 @@
});
});
})
})
},
},
research
(){
research
()
{
this
.
msg
.
pageIndex
=
1
;
this
.
msg
.
pageIndex
=
1
;
this
.
msg
.
pageSize
=
10
;
this
.
msg
.
pageSize
=
10
;
this
.
status
=
"loadmore"
;
this
.
status
=
"loadmore"
;
...
@@ -258,41 +276,42 @@
...
@@ -258,41 +276,42 @@
this
.
msg
.
OrderTypeStr
=
item
.
Id
this
.
msg
.
OrderTypeStr
=
item
.
Id
this
.
msg
.
keyword
=
item
.
Name
this
.
msg
.
keyword
=
item
.
Name
this
.
research
()
this
.
research
()
},
},
change
(
item
)
{
change
(
item
)
{
this
.
msg
.
keyword
=
item
.
keyword
this
.
msg
.
keyword
=
item
.
keyword
this
.
msg
.
OrderTypeStr
=
item
.
OrderTypeStr
this
.
msg
.
OrderTypeStr
=
item
.
OrderTypeStr
this
.
research
()
this
.
research
()
},
},
init
()
{
init
()
{
if
(
!
this
.
msg
.
keyword
)
return
if
(
!
this
.
msg
.
keyword
)
return
if
(
!
this
.
msg
.
OrderTypeStr
)
{
if
(
!
this
.
msg
.
OrderTypeStr
)
{
this
.
msg
.
GoodsName
=
this
.
msg
.
keyword
this
.
msg
.
GoodsName
=
this
.
msg
.
keyword
}
else
{
}
else
{
this
.
msg
.
GoodsName
=
''
this
.
msg
.
GoodsName
=
''
}
}
uni
.
showLoading
({
uni
.
showLoading
({
title
:
'加载中...'
title
:
'加载中...'
})
})
// #ifdef MP-DI
// #ifdef MP-DI
this
.
OrderPageZK
();
this
.
OrderPageZK
();
// #endif
// #endif
// #ifdef MP-AG
// #ifdef MP-AG
this
.
OrderPageTY
();
this
.
OrderPageTY
();
// #endif
// #endif
},
},
OrderPageTY
(){
OrderPageTY
()
{
this
.
apipost
(
'b2b_get_GetB2BAllOrderPageList'
,
this
.
msg
,
this
.
apipost
(
'b2b_get_GetB2BAllOrderPageList'
,
this
.
msg
,
res
=>
{
res
=>
{
if
(
res
.
resultCode
==
1
)
{
if
(
res
.
resultCode
==
1
)
{
res
.
data
.
pageData
.
forEach
(
x
=>
{
res
.
data
.
pageData
.
forEach
(
x
=>
{
// #ifdef MP-DI
// #ifdef MP-DI
x
.
goodTypeEnum
=
mappingListType
(
x
.
goodsType
)
x
.
goodTypeEnum
=
mappingListType
(
x
.
goodsType
)
// #endif
// #endif
// #ifdef MP-AG
// #ifdef MP-AG
x
.
goodTypeEnum
=
mappingListTypeTy
(
x
.
goodsType
)
x
.
goodTypeEnum
=
mappingListTypeTy
(
x
.
goodsType
)
// #endif
// #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
.
g
=
this
.
g
.
concat
(
res
.
data
.
pageData
);
this
.
page_count
=
res
.
data
.
pageCount
;
this
.
page_count
=
res
.
data
.
pageCount
;
...
@@ -307,13 +326,14 @@
...
@@ -307,13 +326,14 @@
}
}
);
);
},
},
OrderPageZK
(){
OrderPageZK
()
{
this
.
apipost
(
'GetMyDirectOrderPageList_post'
,
this
.
msg
,
this
.
apipost
(
'GetMyDirectOrderPageList_post'
,
this
.
msg
,
res
=>
{
res
=>
{
if
(
res
.
resultCode
==
1
)
{
if
(
res
.
resultCode
==
1
)
{
res
.
data
.
pageData
.
forEach
(
x
=>
{
res
.
data
.
pageData
.
forEach
(
x
=>
{
x
.
goodTypeEnum
=
mappingListType
(
x
.
goodsType
)
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
.
g
=
this
.
g
.
concat
(
res
.
data
.
pageData
);
this
.
page_count
=
res
.
data
.
pageCount
;
this
.
page_count
=
res
.
data
.
pageCount
;
...
@@ -328,7 +348,7 @@
...
@@ -328,7 +348,7 @@
}
}
);
);
},
},
lower
(
e
)
{
lower
(
e
)
{
if
(
this
.
msg
.
pageIndex
<
this
.
page_count
)
{
if
(
this
.
msg
.
pageIndex
<
this
.
page_count
)
{
this
.
msg
.
pageIndex
++
;
this
.
msg
.
pageIndex
++
;
this
.
status
=
"loading"
;
this
.
status
=
"loading"
;
...
@@ -337,15 +357,14 @@
...
@@ -337,15 +357,14 @@
this
.
status
=
"nomore"
;
this
.
status
=
"nomore"
;
}
}
},
},
reloadUserinfo
()
{
reloadUserinfo
()
{
this
.
u
=
uni
.
getStorageSync
(
"mall_UserInfo"
);
this
.
u
=
uni
.
getStorageSync
(
"mall_UserInfo"
);
this
.
getOrderStatusList
();
this
.
getOrderStatusList
();
},
},
goback
()
{
goback
()
{
uni
.
navigateBack
()
uni
.
navigateBack
()
},
},
},
},
}
}
</
script
>
</
script
>
\ No newline at end of file
pages/AggregateOrders/components/header.vue
View file @
391066a7
<
template
>
<
template
>
<view
class=
"carrHeader"
:style=
"[titleStyle]"
>
<view
class=
"carrHeader"
:style=
"[titleStyle]"
>
<view
class=
"carrHeaderBox"
>
<view
class=
"carrHeaderBox"
>
<view
class=
"carrHeader-left"
>
<view
class=
"carrHeader-left"
>
<view
class=
"carrHeader-left-icon"
@
click=
"goBack"
>
<view
class=
"carrHeader-left-icon"
@
click=
"goBack"
>
<u-icon
name=
"arrow-left"
size=
"38"
color=
"#000"
></u-icon>
<u-icon
name=
"arrow-left"
size=
"38"
color=
"#000"
></u-icon>
</view>
</view>
</view>
</view>
<view
class=
"carrHeader-title"
>
<view
class=
"carrHeader-title"
>
<slot>
{{
title
?
title
:
''
}}
</slot>
<slot>
{{
title
?
title
:
''
}}
</slot>
</view>
</view>
<view
class=
"carrHeader-right row"
>
<view
class=
"carrHeader-right row"
>
<view
class=
"carrHeader-S row items-center justify-center"
>
<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"
</view
>
@
click=
"goSearch"
/
>
<view
class=
"carrHeader-T row items-center justify-center"
>
</view
>
<img
src=
"https://viitto-1301420277.cos.ap-chengdu.myqcloud.com/Upload/Goods/638772247012340060.jpg"
@
click=
"showModal=true"
/
>
<view
class=
"carrHeader-T row items-center justify-center"
>
</view>
<img
src=
"https://viitto-1301420277.cos.ap-chengdu.myqcloud.com/Upload/Goods/638772247012340060.jpg"
</view
>
@
click=
"showModal=true"
/
>
</view>
</view>
<u-popup
v-model=
"showModal"
mode=
"bottom"
length=
"50%"
border-radius=
"50"
>
</view
>
<view
style=
"padding: 0 20rpx;"
>
</view
>
<view
class=
"AggregateTitle"
>
订单类型
</view
>
<u-popup
v-model=
"showModal"
mode=
"bottom"
length=
"50%"
border-radius=
"50"
>
<view
class=
"AggregateTypeBox row
"
>
<view
style=
"padding: 0 20rpx;
"
>
<view
class=
"AggregateType"
v-for=
"(item,index) in orderTypeList"
<view
class=
"AggregateTitle"
>
订单类型
</view>
:key=
"index"
<view
class=
"AggregateTypeBox row"
>
:class=
"[params.OrderTypeStr==item.Id?'active':'']
"
<view
class=
"AggregateType"
v-for=
"(item,index) in orderTypeList"
:key=
"index
"
@
click=
"getTypeId(item)"
>
:class=
"[params.OrderTypeStr==item.Id?'active':'']"
@
click=
"getTypeId(item)"
>
<text>
{{
item
.
Name
}}
</text>
<text>
{{
item
.
Name
}}
</text>
</view>
</view>
</view>
</view>
</view>
</view>
</u-popup>
</u-popup>
</view>
</view>
</
template
>
</
template
>
<
script
>
<
script
>
export
default
{
export
default
{
props
:[
'title'
,
'params'
],
props
:
[
'title'
,
'params'
],
data
()
{
data
()
{
return
{
return
{
titleStyle
:{},
titleStyle
:
{},
orderTypeList
:
[
orderTypeList
:
[{
{
Id
:
''
,
Id
:
''
,
Name
:
'所有订单'
Name
:
'所有订单'
},
},
{
{
Id
:
'1,2,3'
,
Id
:
'1,2,3'
,
Name
:
'线路订单'
Name
:
'线路订单'
},
},
{
{
Id
:
'16'
,
Id
:
'16'
,
Name
:
'机票订单'
Name
:
'机票订单'
},
},
{
{
Id
:
'15'
,
Id
:
'15'
,
Name
:
'签证订单'
Name
:
'签证订单'
},
},
{
{
Id
:
'8,9,10,11'
,
Id
:
'8,9,10,11'
,
Name
:
'酒店住宿'
Name
:
'酒店住宿'
},
},
{
{
Id
:
'12,13,14'
,
Id
:
'12,13,14'
,
Name
:
'包车服务'
Name
:
'包车服务'
},
},
{
{
Id
:
'4,5,6,7'
,
Id
:
'4,5,6,7'
,
Name
:
'景点门票'
Name
:
'景点门票'
}
}
],
],
showModal
:
false
,
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/638772246968492575.jpg'
,
'https://viitto-1301420277.cos.ap-chengdu.myqcloud.com/Upload/Goods/638772247052998903.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'
,
'https://viitto-1301420277.cos.ap-chengdu.myqcloud.com/Upload/Goods/638772247084971514.jpg'
,
'https://viitto-1301420277.cos.ap-chengdu.myqcloud.com/Upload/Goods/638772247342163794.jpg'
,
'https://viitto-1301420277.cos.ap-chengdu.myqcloud.com/Upload/Goods/638772247342163794.jpg'
,
'https://viitto-1301420277.cos.ap-chengdu.myqcloud.com/Upload/Goods/638772247230118434.jpg'
,
'https://viitto-1301420277.cos.ap-chengdu.myqcloud.com/Upload/Goods/638772247230118434.jpg'
,
'https://viitto-1301420277.cos.ap-chengdu.myqcloud.com/Upload/Goods/638772247194112722.jpg'
,
'https://viitto-1301420277.cos.ap-chengdu.myqcloud.com/Upload/Goods/638772247194112722.jpg'
,
]
]
}
}
},
},
watch
:
{
watch
:{
params
:
{
params
:{
handler
(
newVal
,
oldVal
)
{
handler
(
newVal
,
oldVal
)
{
},
},
deep
:
true
deep
:
true
}
}
},
},
mounted
()
{
mounted
()
{
// #ifdef MP-AG
// #ifdef MP-AG
this
.
getEnumList
()
this
.
getEnumList
()
// #endif
// #endif
},
},
methods
:
{
methods
:{
getEnumList
()
{
getEnumList
()
{
this
.
apipost
(
"CarSingle_post_GetOrderTypeEnumList"
,
{},
(
res
)
=>
{
this
.
apipost
(
"CarSingle_post_GetOrderTypeEnumList"
,
{},
(
res
)
=>
{
if
(
res
.
resultCode
==
1
)
{
if
(
res
.
resultCode
==
1
)
{
this
.
orderTypeList
=
[]
this
.
orderTypeList
=
[]
res
.
data
.
forEach
(
x
=>
{
res
.
data
.
forEach
(
x
=>
{
if
(
x
.
Name
==
'团队'
)
{
if
(
x
.
Name
==
'团队'
){
x
.
Name
=
'线路'
}
x
.
Name
=
'线路'
if
(
x
.
Name
!=
'Jalan酒店'
){
}
let
icon
=
''
if
(
x
.
Name
!=
'Jalan酒店'
)
{
if
(
x
.
Id
==
'1'
)
icon
=
this
.
icons
[
1
]
let
icon
=
''
if
(
x
.
Id
==
'2'
)
icon
=
this
.
icons
[
0
]
if
(
x
.
Id
==
'1'
)
icon
=
this
.
icons
[
1
]
if
(
x
.
Id
==
'3'
)
icon
=
this
.
icons
[
3
]
if
(
x
.
Id
==
'2'
)
icon
=
this
.
icons
[
0
]
if
(
x
.
Id
==
'4'
)
icon
=
this
.
icons
[
5
]
if
(
x
.
Id
==
'3'
)
icon
=
this
.
icons
[
3
]
if
(
x
.
Id
==
'5'
)
icon
=
this
.
icons
[
4
]
if
(
x
.
Id
==
'4'
)
icon
=
this
.
icons
[
5
]
if
(
x
.
Id
==
'6'
)
icon
=
this
.
icons
[
2
]
if
(
x
.
Id
==
'5'
)
icon
=
this
.
icons
[
4
]
let
obj
=
{
if
(
x
.
Id
==
'6'
)
icon
=
this
.
icons
[
2
]
Id
:
x
.
Id
,
let
obj
=
{
Name
:
x
.
Name
+
'订单'
,
Id
:
x
.
Id
,
icon
:
icon
Name
:
x
.
Name
+
'订单'
,
}
icon
:
icon
this
.
orderTypeList
.
push
(
obj
)
}
}
//酒店切换为道旅酒店
})
if
(
obj
.
Id
==
'3'
)
{
// this.orderTypeList = res.data
obj
.
Id
=
'7'
;
this
.
orderTypeList
.
unshift
({
}
Id
:
''
,
this
.
orderTypeList
.
push
(
obj
)
Name
:
'所有订单'
}
})
})
}
this
.
orderTypeList
.
unshift
({
},
(
err
)
=>
{
Id
:
''
,
uni
.
showToast
({
Name
:
'所有订单'
title
:
err
.
message
,
})
icon
:
"none"
,
}
});
},
(
err
)
=>
{
})
uni
.
showToast
({
},
title
:
err
.
message
,
getTypeId
(
item
)
{
icon
:
"none"
,
this
.
$emit
(
'change'
,
item
)
});
this
.
showModal
=
false
;
})
},
},
goSearch
(){
getTypeId
(
item
)
{
// ?OrderTypeStr=${this.params.OrderTypeStr}
this
.
$emit
(
'change'
,
item
)
uni
.
navigateTo
({
this
.
showModal
=
false
;
url
:
`/pages/AggregateOrders/AggregateOrdersSearch`
},
})
goSearch
()
{
},
uni
.
navigateTo
({
goBack
(){
url
:
`/pages/AggregateOrders/AggregateOrdersSearch`
uni
.
navigateBack
({
delta
:
-
1
})
})
}
},
}
goBack
()
{
}
uni
.
navigateBack
({
delta
:
-
1
})
}
}
}
</
script
>
</
script
>
<
style
lang=
"scss"
scoped
>
<
style
lang=
"scss"
scoped
>
@import
url("@/asset/css/flex.css")
;
@import
url("@/asset/css/flex.css")
;
.AggregateTitle
{
padding
:
40rpx
30rpx
40rpx
30rpx
;
.AggregateTitle
{
font-size
:
32rpx
;
padding
:
40rpx
30rpx
40rpx
30rpx
;
font-weight
:
bold
;
font-size
:
32rpx
;
text-align
:
left
;
font-weight
:
bold
;
}
text-align
:
left
;
.AggregateTypeBox
{
}
flex-wrap
:
wrap
;
padding
:
0
15rpx
;
.AggregateTypeBox
{
}
flex-wrap
:
wrap
;
.AggregateType
{
padding
:
0
15rpx
;
width
:
33
.33%
;
}
padding
:
0
15rpx
;
margin-bottom
:
30rpx
;
.AggregateType
{
}
width
:
33
.33%
;
.AggregateType
text
{
padding
:
0
15rpx
;
display
:
block
;
margin-bottom
:
30rpx
;
line-height
:
60rpx
;
}
background
:
#f5f5f5
;
border
:
1rpx
solid
#E3E6D2
;
.AggregateType
text
{
border-radius
:
60rpx
;
display
:
block
;
text-align
:
center
;
line-height
:
60rpx
;
}
background
:
#f5f5f5
;
.AggregateType.active
text
{
border
:
1rpx
solid
#E3E6D2
;
border
:
1rpx
solid
#B99846
;
border-radius
:
60rpx
;
color
:
#B99846
;
text-align
:
center
;
}
}
.carrHeader-title
{
position
:
relative
;
.AggregateType.active
text
{
left
:
60rpx
;
border
:
1rpx
solid
#B99846
;
right
:
0
;
color
:
#B99846
;
text-align
:
left
;
}
font-size
:
32rpx
;
}
.carrHeader-title
{
.carrHeader-left
{
position
:
relative
;
position
:
absolute
;
left
:
60rpx
;
left
:
32rpx
;
right
:
0
;
bottom
:
23rpx
;
text-align
:
left
;
z-index
:
3
;
font-size
:
32rpx
;
}
}
.carrHeaderBox
{
width
:
100%
;
.carrHeader-left
{
height
:
88rpx
;
position
:
absolute
;
padding
:
0
32rpx
;
left
:
32rpx
;
display
:
flex
;
bottom
:
23rpx
;
align-items
:
center
;
z-index
:
3
;
justify-content
:
space-between
;
}
position
:
relative
;
}
.carrHeaderBox
{
.carrHeader
{
width
:
100%
;
// padding-top: 85rpx;
height
:
88rpx
;
}
padding
:
0
32rpx
;
.carrHeader-right
{
display
:
flex
;
padding-right
:
200rpx
;
align-items
:
center
;
display
:
flex
;
justify-content
:
space-between
;
}
position
:
relative
;
.carrHeader-right
img
{
}
width
:
35rpx
;
height
:
35rpx
;
.carrHeader
{
}
// padding-top: 85rpx;
.carrHeader-S
{
}
width
:
63rpx
;
height
:
63rpx
;
.carrHeader-right
{
margin-right
:
20rpx
;
padding-right
:
200rpx
;
}
display
:
flex
;
.carrHeader-T
{
}
width
:
63rpx
;
height
:
63rpx
;
.carrHeader-right
img
{
border-radius
:
50%
;
width
:
35rpx
;
border
:
1px
solid
#CFC089
;
height
:
35rpx
;
margin-right
:
20rpx
;
}
}
.carrHeader-S
{
width
:
63rpx
;
height
:
63rpx
;
margin-right
:
20rpx
;
}
.carrHeader-T
{
width
:
63rpx
;
height
:
63rpx
;
border-radius
:
50%
;
border
:
1px
solid
#CFC089
;
margin-right
:
20rpx
;
}
</
style
>
</
style
>
\ No newline at end of file
pages/AggregateOrders/components/orders.vue
View file @
391066a7
<
template
>
<
template
>
<view>
<view>
<view
class=
"AggOrdListBox"
>
<view
class=
"AggOrdListBox"
>
<view
class=
"visaList row"
<view
class=
"visaList row"
v-for=
"(item,index) in g"
:key=
"index"
@
click=
"goDetails(item)"
v-for=
"(item,index) in g"
:key=
"index"
:class=
"[item.orderStatus==4?'active':'']"
>
@
click=
"goDetails(item)"
<view
class=
"visaListL"
>
:class=
"[item.orderStatus==4?'active':'']"
>
<image
v-if=
"item.goodsPic&&item.goodsPic!=''"
mode=
"aspectFill"
:src=
"item.goodsPic"
/>
<view
class=
"visaListL"
>
<image
v-else
mode=
"aspectFill"
<image
mode=
"aspectFill"
:src=
"item.goodsPic"
/>
src=
"https://viitto-1301420277.cos.ap-chengdu.myqcloud.com/Static/defaultHotelImg.png"
/>
<text
class=
"visaListLText"
>
<text
class=
"visaListLText"
>
{{
item
.
goodTypeEnum
.
desc
}}
{{
item
.
goodTypeEnum
.
desc
}}
</text>
</text>
</view>
</view>
<view
class=
"visaListR col column"
>
<view
class=
"visaListR col column"
>
<view
class=
"visaListTitle"
>
{{
item
.
goodsName
}}
</view>
<view
class=
"visaListTitle"
>
{{
item
.
goodsName
}}
</view>
<view
class=
"visaListText row"
>
<view
class=
"visaListText row"
>
</view>
</view>
<view
class=
"col"
></view>
<view
class=
"col"
></view>
<view
class=
"visaListNum row"
>
<view
class=
"visaListNum row"
>
<view
class=
"visaListNumR"
>
<view
class=
"visaListNumR"
>
<text
style=
"font-size: 20rpx;"
>
CNY
</text>
<text
style=
"font-size: 20rpx;"
>
CNY
</text>
<text
class=
"price-Num"
>
<text
class=
"price-Num"
>
{{
parseFloat
(
item
.
totalPrice
-
item
.
preferentialPrice
).
toFixed
(
2
)
}}
{{
parseFloat
(
item
.
totalPrice
-
item
.
preferentialPrice
).
toFixed
(
2
)
}}
</text>
</text>
<text
class=
"price-stuff"
style=
"font-size: 20rpx;color: rgba(164, 164, 164, 1)"
>
元
</text>
<text
class=
"price-stuff"
style=
"font-size: 20rpx;color: rgba(164, 164, 164, 1)"
>
元
</text>
</view>
</view>
<view
class=
"visaListNumL row items-center"
>
<view
class=
"visaListNumL row items-center"
>
<!-- #ifdef MP-DI -->
<!-- #ifdef MP-DI -->
<template
v-if=
"item.orderStatus!=5"
>
<template
v-if=
"item.orderStatus!=5"
>
{{
item
.
orderStatusInfo
.
desc
}}
{{
item
.
orderStatusInfo
.
desc
}}
</
template
>
</
template
>
<
template
v-else
>
{{
item
.
afterSalesOrderStatusStr
}}
</
template
>
<
template
v-else
>
{{
item
.
afterSalesOrderStatusStr
}}
</
template
>
<!-- #endif -->
<!-- #endif -->
<!-- #ifdef MP-AG -->
<!-- #ifdef MP-AG -->
{{ item.orderStatusInfo.desc }}
{{ item.orderStatusInfo.desc }}
<!-- {{ item.orderStatusStr=='取消'?'已取消':item.orderStatusStr }}-->
<!-- {{ item.orderStatusStr=='取消'?'已取消':item.orderStatusStr }}-->
<!-- #endif -->
<!-- #endif -->
</view>
</view>
</view>
</view>
<view
class=
"row"
>
<view
class=
"row"
>
<view
class=
"col"
></view>
<view
class=
"col"
></view>
<!-- #ifdef MP-DI -->
<!-- #ifdef MP-DI -->
<view
class=
"jz_Zailai"
@
click
.
stop=
""
<view
class=
"jz_Zailai"
@
click
.
stop=
""
style=
"width: 110rpx;"
>
style=
"width: 110rpx;"
>
客服
客服
<button
class=
"AggOrdListH-RBut"
open-type=
"contact"
show-message-card=
"true"
></button>
<button
class=
"AggOrdListH-RBut"
open-type=
"contact"
show-message-card=
"true"
></button>
</view>
</view>
<!-- #endif -->
<!-- #endif -->
<view
class=
"row"
>
<view
class=
"row"
>
<!-- #ifdef MP-DI -->
<!-- #ifdef MP-DI -->
<view
v-if=
"item.orderStatus==1||item.orderStatus==2"
class=
"jz_Zailai"
<view
v-if=
"item.orderStatus==1||item.orderStatus==2"
class=
"jz_Zailai"
style=
"width: 110rpx;margin-left: 10rpx;"
@
click
.
stop=
"goCancelZK(item)"
>
取消
</view>
style=
"width: 110rpx;margin-left: 10rpx;"
@
click
.
stop=
"goCancelZK(item)"
>
取消
</view>
<view
v-if=
"item.orderStatus==1"
class=
"jz_Zailai jz_ZailaiZF"
<view
v-if=
"item.orderStatus==1"
class=
"jz_Zailai jz_ZailaiZF"
style=
"width: 150rpx;margin-left: 10rpx;"
@
click
.
stop=
"submitGetCodeByOrderNo(item)"
>
style=
"width: 150rpx;margin-left: 10rpx;"
@
click
.
stop=
"submitGetCodeByOrderNo(item)"
>
立即支付
</view>
立即支付
</view>
<view
v-if=
"item.orderStatus!=1"
style=
"margin-left: 10rpx;"
class=
"jz_Zailai"
@
click
.
stop=
"AnotherOrder(item)"
>
再来一单
</view>
<view
v-if=
"item.orderStatus!=1"
style=
"margin-left: 10rpx;"
class=
"jz_Zailai"
<!-- #endif -->
@
click
.
stop=
"AnotherOrder(item)"
>
再来一单
</view>
<!-- #ifdef MP-AG -->
<!-- #endif -->
<view
v-if=
"item.income == 0&&item.orderStatus==1"
class=
"jz_Zailai"
<!-- #ifdef MP-AG -->
style=
"width: 110rpx;margin-left: 10rpx;"
@
click
.
stop=
"goCancel(item)"
>
取消
</view>
<view
v-if=
"item.income == 0&&item.orderStatus==1"
class=
"jz_Zailai"
<view
v-else
class=
"jz_Zailai"
style=
"margin-left: 10rpx;"
@
click
.
stop=
"AnotherOrder(item)"
>
再来一单
</view>
style=
"width: 110rpx;margin-left: 10rpx;"
@
click
.
stop=
"goCancel(item)"
>
取消
</view>
<!-- #endif -->
<view
v-else
class=
"jz_Zailai"
style=
"margin-left: 10rpx;"
@
click
.
stop=
"AnotherOrder(item)"
>
</view>
再来一单
</view>
</view>
<!-- #endif -->
</view>
</view>
</view>
</view>
</view>
</view>
<cancelPrompt
v-if=
"showModal"
</view>
:showModal=
"showModal"
</view>
@
cancel=
"cancelModal"
<cancelPrompt
v-if=
"showModal"
:showModal=
"showModal"
@
cancel=
"cancelModal"
@
success=
"cancelSuccess"
type=
"1"
@
success=
"cancelSuccess"
:orderNo=
"currentData.orderNo"
></cancelPrompt>
type=
"1"
</view>
:orderNo=
"currentData.orderNo"
></cancelPrompt>
</view>
</template>
</template>
<
script
>
<
script
>
import
cancelPrompt
from
"@/components/cancelPrompt/cancelPrompt.vue"
;
import
cancelPrompt
from
"@/components/cancelPrompt/cancelPrompt.vue"
;
export
default
{
export
default
{
props
:[
'orders'
],
props
:
[
'orders'
],
components
:
{
components
:
{
cancelPrompt
cancelPrompt
},
},
data
()
{
data
()
{
return
{
return
{
g
:
[],
g
:
[],
submitCancel
:
false
,
submitCancel
:
false
,
submit
:
false
,
submit
:
false
,
orderInfo
:
null
,
orderInfo
:
null
,
showModal
:
false
,
showModal
:
false
,
currentData
:
null
,
currentData
:
null
,
}
}
},
},
watch
:
{
watch
:
{
orders
:
{
orders
:
{
handler
(
newVal
,
oldVal
)
{
handler
(
newVal
,
oldVal
)
{
this
.
g
=
newVal
this
.
g
=
newVal
},
},
deep
:
true
,
deep
:
true
,
}
}
},
},
mounted
()
{
mounted
()
{
},
},
methods
:
{
methods
:
{
cancelSuccess
()
{
cancelSuccess
()
{
this
.
$emit
(
'research'
,
5
)
this
.
$emit
(
'research'
,
5
)
},
},
submitGetCodeByOrderNo
(
item
)
{
submitGetCodeByOrderNo
(
item
)
{
uni
.
showLoading
({
uni
.
showLoading
({
title
:
"请稍等片刻..."
,
title
:
"请稍等片刻..."
,
})
})
if
(
this
.
submit
||
this
.
submitCancel
)
return
;
if
(
this
.
submit
||
this
.
submitCancel
)
return
;
this
.
submit
=
true
this
.
submit
=
true
this
.
apipost
(
"GetCodeByOrderNo_post"
,
{
this
.
apipost
(
"GetCodeByOrderNo_post"
,
{
...
@@ -115,370 +113,396 @@ export default {
...
@@ -115,370 +113,396 @@ export default {
MallBaseId
:
uni
.
getStorageSync
(
"mall_UserInfo"
).
MallBaseId
MallBaseId
:
uni
.
getStorageSync
(
"mall_UserInfo"
).
MallBaseId
},
(
res
)
=>
{
},
(
res
)
=>
{
if
(
res
.
resultCode
==
1
)
{
if
(
res
.
resultCode
==
1
)
{
this
.
orderInfo
=
JSON
.
parse
(
res
.
data
.
sPayInfo
)
this
.
orderInfo
=
JSON
.
parse
(
res
.
data
.
sPayInfo
)
this
.
goPayHandler
(
item
);
this
.
goPayHandler
(
item
);
}
}
},
e
=>
{
},
e
=>
{
uni
.
hideLoading
()
uni
.
hideLoading
()
uni
.
showToast
({
uni
.
showToast
({
title
:
'无法发起支付,请稍后'
,
title
:
'无法发起支付,请稍后'
,
icon
:
'none'
,
icon
:
'none'
,
duration
:
3000
duration
:
3000
})
})
this
.
submit
=
false
this
.
submit
=
false
});
},
goPayHandler
(
item
)
{
let
that
=
this
;
uni
.
requestPayment
({
provider
:
"wxpay"
,
timeStamp
:
this
.
orderInfo
.
timeStamp
,
nonceStr
:
this
.
orderInfo
.
nonceStr
,
package
:
this
.
orderInfo
.
package
,
signType
:
this
.
orderInfo
.
signType
,
paySign
:
this
.
orderInfo
.
sign
,
success
:
function
(
res
)
{
console
.
log
(
"success"
,
res
);
that
.
submit
=
false
;
uni
.
hideLoading
()
uni
.
showToast
({
title
:
"支付成功"
,
});
that
.
goPayPage
(
item
)
},
fail
:
function
(
err
)
{
that
.
submit
=
false
;
uni
.
hideLoading
()
uni
.
showToast
({
title
:
"支付失败"
,
icon
:
"none"
,
});
},
});
});
},
},
goPayHandler
(
item
)
{
goPaySuccess
(
item
)
{
let
that
=
this
;
let
isFrom
=
null
uni
.
requestPayment
({
if
(
item
.
goodsType
>
0
&&
item
.
goodsType
<
4
)
{
//线路
provider
:
"wxpay"
,
isFrom
=
1
timeStamp
:
this
.
orderInfo
.
timeStamp
,
}
else
if
(
item
.
goodsType
>
3
&&
item
.
goodsType
<
8
)
{
//景点门票
nonceStr
:
this
.
orderInfo
.
nonceStr
,
package
:
this
.
orderInfo
.
package
,
}
else
if
(
item
.
goodsType
>
7
&&
item
.
goodsType
<
12
)
{
//酒店住宿
signType
:
this
.
orderInfo
.
signType
,
paySign
:
this
.
orderInfo
.
sign
,
}
else
if
(
item
.
goodsType
>
11
&&
item
.
goodsType
<
15
)
{
//目的地用车
success
:
function
(
res
)
{
console
.
log
(
"success"
,
res
);
}
else
if
(
item
.
goodsType
==
15
)
{
//签证
that
.
submit
=
false
;
isFrom
=
3
uni
.
hideLoading
()
}
else
if
(
item
.
goodsType
==
16
)
{
//机票
uni
.
showToast
({
isFrom
=
4
title
:
"支付成功"
,
}
});
if
(
isFrom
)
{
that
.
goPayPage
(
item
)
setTimeout
(()
=>
{
},
uni
.
redirectTo
({
fail
:
function
(
err
)
{
url
:
"/pages/jiuzhai/paysuccess?PreferPrice="
+
that
.
submit
=
false
;
(
item
.
totalPrice
-
item
.
preferentialPrice
).
toFixed
(
2
)
+
uni
.
hideLoading
()
"&isFrom="
+
isFrom
,
uni
.
showToast
({
});
title
:
"支付失败"
,
},
100
);
icon
:
"none"
,
}
});
},
},
// 再来一单
});
AnotherOrder
(
item
)
{
},
let
url
=
''
goPaySuccess
(
item
){
if
(
item
.
goodsType
>
0
&&
item
.
goodsType
<
4
)
{
//线路
let
isFrom
=
null
const
pts
=
[
''
,
2
,
0
,
1
]
if
(
item
.
goodsType
>
0
&&
item
.
goodsType
<
4
){
//线路
const
productType
=
pts
[
item
.
goodsType
]
isFrom
=
1
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
)
{
//签证
isFrom
=
3
url
=
"visa/visaList"
}
else
if
(
item
.
goodsType
==
16
){
//机票
}
else
if
(
item
.
goodsType
==
16
)
{
//机票
isFrom
=
4
url
=
"airTicket/airIndex"
}
}
if
(
isFrom
){
if
(
url
)
{
setTimeout
(()
=>
{
uni
.
navigateTo
({
uni
.
redirectTo
({
url
:
`/pages/
${
url
}
`
,
url
:
"/pages/jiuzhai/paysuccess?PreferPrice="
+
});
(
item
.
totalPrice
-
item
.
preferentialPrice
).
toFixed
(
2
)
+
}
"&isFrom="
+
isFrom
,
},
});
// 详情
},
100
);
goDetails
(
item
)
{
}
let
url
=
null
let
msg
=
null
},
// #ifdef MP-DI
// 再来一单
msg
=
`OrderNo=
${
item
.
orderNo
}
`
AnotherOrder
(
item
){
if
(
item
.
goodsType
>
0
&&
item
.
goodsType
<
4
)
url
=
`jiuzhai/jz_SureOrder?`
//线路
let
url
=
''
else
if
(
item
.
goodsType
>
3
&&
item
.
goodsType
<
8
)
{
//景点门票
if
(
item
.
goodsType
>
0
&&
item
.
goodsType
<
4
){
//线路
}
else
if
(
item
.
goodsType
>
7
&&
item
.
goodsType
<
12
)
{
//酒店住宿
const
pts
=
[
''
,
2
,
0
,
1
]
}
else
if
(
item
.
goodsType
>
11
&&
item
.
goodsType
<
15
)
{
//目的地用车
const
productType
=
pts
[
item
.
goodsType
]
}
else
if
(
item
.
goodsType
==
15
)
url
=
`visa/visa_SureOrder?`
//签证
url
=
`jiuzhai/jz_Line?teamType=
${
productType
}
`
else
if
(
item
.
goodsType
==
16
)
url
=
`airTicket/airTicketOrderDetail?`
//机票
}
else
if
(
item
.
goodsType
>
3
&&
item
.
goodsType
<
8
){
//景点门票
// #endif
// #ifdef MP-AG
}
else
if
(
item
.
goodsType
>
7
&&
item
.
goodsType
<
12
){
//酒店住宿
msg
=
`orderId=
${
item
.
erpOrderId
}
`
if
(
item
.
goodsType
==
2
)
url
=
`jiuzhai/jz_SureOrder?`
//线路
}
else
if
(
item
.
goodsType
>
11
&&
item
.
goodsType
<
15
){
//目的地用车
else
if
(
item
.
goodsType
==
4
)
{
//景点门票
}
else
if
(
item
.
goodsType
==
3
)
{
//酒店住宿
}
else
if
(
item
.
goodsType
==
15
){
//签证
}
else
if
(
item
.
goodsType
==
5
)
{
//目的地用车
url
=
"visa/visaList"
}
else
if
(
item
.
goodsType
==
6
)
url
=
`visa/visa_SureOrder?`
//签证
}
else
if
(
item
.
goodsType
==
16
){
//机票
else
if
(
item
.
goodsType
==
1
)
{
//机票
url
=
"airTicket/airIndex"
url
=
`airTicket/airTicketOrderDetail?`
}
msg
=
`id=
${
item
.
erpOrderId
}
`
if
(
url
){
}
uni
.
navigateTo
({
// #endif
url
:
`/pages/
${
url
}
`
,
if
(
url
)
{
});
let
path
=
`/pages/
${
url
}${
msg
}
`
}
uni
.
navigateTo
({
},
url
:
path
,
// 详情
});
goDetails
(
item
){
}
let
url
=
null
},
let
msg
=
null
// #ifdef MP-DI
//取消订单
msg
=
`OrderNo=
${
item
.
orderNo
}
`
goCancel
(
item
)
{
if
(
item
.
goodsType
>
0
&&
item
.
goodsType
<
4
)
url
=
`jiuzhai/jz_SureOrder?`
//线路
let
that
=
this
else
if
(
item
.
goodsType
>
3
&&
item
.
goodsType
<
8
){
//景点门票
if
(
this
.
submit
||
this
.
submitCancel
)
return
}
else
if
(
item
.
goodsType
>
7
&&
item
.
goodsType
<
12
){
//酒店住宿
wx
.
showModal
({
}
else
if
(
item
.
goodsType
>
11
&&
item
.
goodsType
<
15
){
//目的地用车
title
:
'提示'
,
}
else
if
(
item
.
goodsType
==
15
)
url
=
`visa/visa_SureOrder?`
//签证
content
:
'确定取消订单?'
,
else
if
(
item
.
goodsType
==
16
)
url
=
`airTicket/airTicketOrderDetail?`
//机票
success
:
(
tip
)
=>
{
// #endif
if
(
tip
.
confirm
)
{
// #ifdef MP-AG
that
.
submitCancel
=
true
msg
=
`orderId=
${
item
.
erpOrderId
}
`
that
.
apipost
(
if
(
item
.
goodsType
==
2
)
url
=
`jiuzhai/jz_SureOrder?`
//线路
"b2b_get_GetB2BAllCancelOrder"
,
{
else
if
(
item
.
goodsType
==
4
){
//景点门票
ID
:
item
.
erpOrderId
,
}
else
if
(
item
.
goodsType
==
3
){
//酒店住宿
OrderTypeStr
:
item
.
goodsType
,
}
else
if
(
item
.
goodsType
==
5
){
//目的地用车
},
}
else
if
(
item
.
goodsType
==
6
)
url
=
`visa/visa_SureOrder?`
//签证
(
res
)
=>
{
else
if
(
item
.
goodsType
==
1
){
//机票
that
.
submitCancel
=
false
url
=
`airTicket/airTicketOrderDetail?`
if
(
res
.
resultCode
==
1
)
{
msg
=
`id=
${
item
.
erpOrderId
}
`
uni
.
showToast
({
}
title
:
"操作成功"
,
// #endif
icon
:
"success"
,
if
(
url
)
{
});
let
path
=
`/pages/
${
url
}${
msg
}
`
that
.
$emit
(
'research'
);
uni
.
navigateTo
({
}
url
:
path
,
},
});
(
err
)
=>
{
}
that
.
submitCancel
=
false
},
uni
.
showToast
({
title
:
err
.
message
,
//取消订单
icon
:
"none"
,
goCancel
(
item
)
{
})
let
that
=
this
}
if
(
this
.
submit
||
this
.
submitCancel
)
return
);
wx
.
showModal
({
}
title
:
'提示'
,
}
content
:
'确定取消订单?'
,
})
success
:
(
tip
)
=>
{
},
if
(
tip
.
confirm
)
{
cancelModal
()
{
that
.
submitCancel
=
true
this
.
showModal
=
false
that
.
apipost
(
},
"b2b_get_GetB2BAllCancelOrder"
,
{
goCancelZK
(
item
)
{
ID
:
item
.
erpOrderId
,
if
(
item
.
orderStatus
==
2
)
{
OrderTypeStr
:
item
.
goodsType
,
this
.
currentData
=
item
},
return
this
.
showModal
=
true
(
res
)
=>
{
}
that
.
submitCancel
=
false
let
that
=
this
if
(
res
.
resultCode
==
1
)
{
if
(
this
.
submit
||
this
.
submitCancel
)
return
uni
.
showToast
({
wx
.
showModal
({
title
:
"操作成功"
,
title
:
'提示'
,
icon
:
"success"
,
content
:
'确定取消订单?'
,
});
success
:
(
tip
)
=>
{
that
.
$emit
(
'research'
);
if
(
tip
.
confirm
)
{
}
that
.
submitCancel
=
true
},
that
.
apipost
(
(
err
)
=>
{
"GetCancelOrder_post"
,
{
that
.
submitCancel
=
false
OrderNo
:
item
.
orderNo
,
uni
.
showToast
({
},
title
:
err
.
message
,
(
res
)
=>
{
icon
:
"none"
,
that
.
submitCancel
=
false
})
if
(
res
.
resultCode
==
1
)
{
}
uni
.
showToast
({
);
title
:
"操作成功"
,
}
icon
:
"success"
,
}
});
})
that
.
$emit
(
'research'
);
},
}
cancelModal
(){
},
this
.
showModal
=
false
(
err
)
=>
{
},
uni
.
showToast
({
goCancelZK
(
item
)
{
title
:
err
.
message
,
if
(
item
.
orderStatus
==
2
){
icon
:
"none"
,
this
.
currentData
=
item
});
return
this
.
showModal
=
true
that
.
submitCancel
=
false
}
}
let
that
=
this
);
if
(
this
.
submit
||
this
.
submitCancel
)
return
}
wx
.
showModal
({
}
title
:
'提示'
,
})
content
:
'确定取消订单?'
,
},
success
:
(
tip
)
=>
{
}
if
(
tip
.
confirm
)
{
}
that
.
submitCancel
=
true
that
.
apipost
(
"GetCancelOrder_post"
,
{
OrderNo
:
item
.
orderNo
,
},
(
res
)
=>
{
that
.
submitCancel
=
false
if
(
res
.
resultCode
==
1
)
{
uni
.
showToast
({
title
:
"操作成功"
,
icon
:
"success"
,
});
that
.
$emit
(
'research'
);
}
},
(
err
)
=>
{
uni
.
showToast
({
title
:
err
.
message
,
icon
:
"none"
,
});
that
.
submitCancel
=
false
}
);
}
}
})
},
}
}
</
script
>
</
script
>
<
style
lang=
"scss"
scoped
>
<
style
lang=
"scss"
scoped
>
@import
url("@/asset/css/flex.css")
;
@import
url("@/asset/css/flex.css")
;
.AggOrdListBox
{
padding
:
0
36rpx
;
.AggOrdListBox
{
}
padding
:
0
36rpx
;
.AggOrdList
{
}
border-radius
:
18rpx
;
background
:
#fff
;
.AggOrdList
{
padding
:
20rpx
30rpx
;
border-radius
:
18rpx
;
margin-bottom
:
20rpx
;
background
:
#fff
;
}
padding
:
20rpx
30rpx
;
.AggOrdListH
{
margin-bottom
:
20rpx
;
font-size
:
22rpx
;
}
color
:
#080A09
;
}
.AggOrdListH
{
.AggOrdListH-left
text
{
font-size
:
22rpx
;
color
:
#e91e63
;
color
:
#080A09
;
background
:
rgba
(
234
,
32
,
100
,.
2
);
}
border-radius
:
10rpx
;
display
:
block
;
.AggOrdListH-left
text
{
padding
:
2rpx
10rpx
;
color
:
#e91e63
;
}
background
:
rgba
(
234
,
32
,
100
,
.2
);
.AggOrdListH-RBBox
{
border-radius
:
10rpx
;
display
:
block
;
display
:
block
;
color
:
#1d1d1d
;
padding
:
2rpx
10rpx
;
position
:
relative
;
}
}
.AggOrdListH-RS
{
.AggOrdListH-RBBox
{
color
:
#9e9e9e
;
display
:
block
;
margin-left
:
40rpx
;
color
:
#1d1d1d
;
}
position
:
relative
;
.AggOrdListH-RBut
{
}
position
:
absolute
;
left
:
0
;
.AggOrdListH-RS
{
top
:
0
;
color
:
#9e9e9e
;
right
:
0
;
margin-left
:
40rpx
;
bottom
:
0
;
}
z-index
:
1
;
opacity
:
0
;
.AggOrdListH-RBut
{
}
position
:
absolute
;
.AggOrdListH-RBut
{
left
:
0
;
position
:
absolute
;
top
:
0
;
left
:
0
;
right
:
0
;
top
:
0
;
bottom
:
0
;
right
:
0
;
z-index
:
1
;
bottom
:
0
;
opacity
:
0
;
z-index
:
1
;
}
opacity
:
0
;
}
.AggOrdListH-RBut
{
.jz_Zailai
{
position
:
absolute
;
border-radius
:
16px
;
left
:
0
;
width
:
150rpx
;
top
:
0
;
height
:
60rpx
;
right
:
0
;
text-align
:
center
;
bottom
:
0
;
color
:
#111111
;
z-index
:
1
;
line-height
:
60rpx
;
opacity
:
0
;
font-size
:
24rpx
;
}
position
:
relative
;
border
:
1rpx
solid
rgba
(
164
,
164
,
164
,
.3
);
.jz_Zailai
{
border-radius
:
16px
;
}
width
:
150rpx
;
.jz_Zailai.jz_ZailaiZF
{
height
:
60rpx
;
color
:
#B99846
;
text-align
:
center
;
border
:
1rpx
solid
#B99846
;
color
:
#111111
;
}
line-height
:
60rpx
;
.jz_ZailaiZX
img
{
font-size
:
24rpx
;
position
:
relative
;
position
:
relative
;
top
:
10rpx
;
border
:
1rpx
solid
rgba
(
164
,
164
,
164
,
.3
);
}
}
.visaList
{
padding
:
30rpx
;
.jz_Zailai.jz_ZailaiZF
{
margin-bottom
:
20rpx
;
color
:
#B99846
;
background
:
#fff
;
border
:
1rpx
solid
#B99846
;
overflow
:
hidden
;
}
border-radius
:
14rpx
;
}
.jz_ZailaiZX
img
{
.visaListL
{
position
:
relative
;
width
:
161rpx
;
top
:
10rpx
;
height
:
190rpx
;
}
overflow
:
hidden
;
margin-right
:
19rpx
;
.visaList
{
position
:
relative
;
padding
:
30rpx
;
border-radius
:
14rpx
;
margin-bottom
:
20rpx
;
}
background
:
#fff
;
.visaListL
image
{
overflow
:
hidden
;
width
:
100%
;
border-radius
:
14rpx
;
height
:
100%
;
}
border-radius
:
14rpx
;
}
.visaListL
{
.visaListTitle
{
width
:
161rpx
;
font-weight
:
bold
;
height
:
190rpx
;
font-size
:
28rpx
;
overflow
:
hidden
;
color
:
#111111
;
margin-right
:
19rpx
;
word-break
:
break-all
;
position
:
relative
;
text-overflow
:
ellipsis
;
border-radius
:
14rpx
;
display
:
-
webkit-box
;
}
-webkit-box-orient
:
vertical
;
-webkit-line-clamp
:
2
;
.visaListL
image
{
overflow
:
hidden
;
width
:
100%
;
margin-bottom
:
10rpx
;
height
:
100%
;
}
border-radius
:
14rpx
;
.visaListText
text
{
}
background-color
:
rgba
(
226
,
194
,
122
,
.3
);
color
:
#B99846
;
.visaListTitle
{
margin-right
:
16rpx
;
font-weight
:
bold
;
white-space
:
nowrap
;
font-size
:
28rpx
;
border-radius
:
6rpx
;
color
:
#111111
;
padding
:
5rpx
9rpx
;
word-break
:
break-all
;
font-size
:
20rpx
;
text-overflow
:
ellipsis
;
}
display
:
-
webkit-box
;
.visaListNum
{
-webkit-box-orient
:
vertical
;
justify-content
:
space-between
;
-webkit-line-clamp
:
2
;
align-items
:
center
;
overflow
:
hidden
;
}
margin-bottom
:
10rpx
;
.visaListNumL
text
{
}
font-family
:
PingFang
SC
;
font-weight
:
500
;
.visaListText
text
{
font-size
:
20rpx
;
background-color
:
rgba
(
226
,
194
,
122
,
.3
);
color
:
#080A09
;
color
:
#B99846
;
margin-left
:
10rpx
;
margin-right
:
16rpx
;
}
white-space
:
nowrap
;
.visaListNum
{
border-radius
:
6rpx
;
margin-bottom
:
15rpx
;
padding
:
5rpx
9rpx
;
}
font-size
:
20rpx
;
.visaListNumR
{
}
color
:
rgba
(
255
,
49
,
102
,
1
);
}
.visaListNum
{
.price-Num
{
justify-content
:
space-between
;
font-size
:
34rpx
;
align-items
:
center
;
margin-left
:
5rpx
;
}
font-weight
:
bold
;
}
.visaListNumL
text
{
.uDropdownText
text
{
font-family
:
PingFang
SC
;
color
:
#444
;
font-weight
:
500
;
}
font-size
:
20rpx
;
.uDropdownText.active
text
{
color
:
#080A09
;
color
:
#B99846
;
margin-left
:
10rpx
;
font-weight
:
bold
;
}
}
.visaListLText
{
.visaListNum
{
position
:
absolute
;
margin-bottom
:
15rpx
;
left
:
0
;
}
top
:
0
;
border-radius
:
14rpx
0rpx
14rpx
0rpx
;
.visaListNumR
{
background
:
#B99846
;
color
:
rgba
(
255
,
49
,
102
,
1
);
padding
:
4rpx
9rpx
;
}
font-size
:
20rpx
;
color
:
#fff
;
}
.price-Num
{
.visaList.active
.visaListTitle
,
font-size
:
34rpx
;
.visaList.active
.visaListNumR
,
margin-left
:
5rpx
;
.visaList.active
.visaListNumL
{
font-weight
:
bold
;
color
:
#CBCBCB
;
}
}
.visaList.active
.visaListLText
{
.uDropdownText
text
{
background
:
#CBCBCB
;
color
:
#444
;
}
}
.visaList.active
.visaListL
image
{
// filter: grayscale(100%);
.uDropdownText.active
text
{
}
color
:
#B99846
;
font-weight
:
bold
;
}
.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
{
color
:
#CBCBCB
;
}
.visaList.active
.visaListLText
{
background
:
#CBCBCB
;
}
.visaList.active
.visaListL
image
{
// filter: grayscale(100%);
}
</
style
>
</
style
>
\ No newline at end of file
pages/hotel/components/hotelRoom.vue
View file @
391066a7
...
@@ -300,10 +300,10 @@
...
@@ -300,10 +300,10 @@
}
}
if
(
this
.
HotelInfo
)
{
if
(
this
.
HotelInfo
)
{
if
(
this
.
HotelInfo
.
images
&&
this
.
HotelInfo
.
images
.
length
>
0
)
{
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
)
{
if
(
this
.
HotelInfo
.
location
&&
this
.
HotelInfo
.
location
.
address
)
{
pHotel
.
address
=
this
.
HotelInfo
.
address
;
pHotel
.
address
=
this
.
HotelInfo
.
location
.
address
;
}
}
}
}
console
.
log
(
"hotelRoom"
,
pHotel
);
console
.
log
(
"hotelRoom"
,
pHotel
);
...
...
pages/hotel/order.vue
View file @
391066a7
...
@@ -350,15 +350,16 @@
...
@@ -350,15 +350,16 @@
}
,
}
,
onLoad
(
options
)
{
onLoad
(
options
)
{
this
.
customer
=
uni
.
getStorageSync
(
"b2b_user"
)
this
.
customer
=
uni
.
getStorageSync
(
"b2b_user"
)
console
.
log
(
"hotel_order"
,
options
);
if
(
options
.
searchObj
)
{
if
(
options
.
searchObj
)
{
this
.
searchObj
=
JSON
.
parse
(
options
.
searchObj
)
this
.
searchObj
=
JSON
.
parse
(
options
.
searchObj
)
}
}
if
(
options
.
HotelInfo
)
{
if
(
options
.
HotelInfo
)
{
this
.
HotelInfo
=
JSON
.
parse
(
options
.
HotelInfo
)
this
.
HotelInfo
=
JSON
.
parse
(
options
.
HotelInfo
)
console
.
log
(
"hotel_order_hotelInfo"
,
this
.
HotelInfo
)
this
.
orderMsg
.
hotelId
=
this
.
HotelInfo
.
hotelid
;
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
)
{
if
(
options
.
RoomInfo
)
{
this
.
RoomInfo
=
JSON
.
parse
(
options
.
RoomInfo
)
this
.
RoomInfo
=
JSON
.
parse
(
options
.
RoomInfo
)
...
@@ -370,8 +371,6 @@
...
@@ -370,8 +371,6 @@
this
.
CreateBy
=
options
.
CreateBy
this
.
CreateBy
=
options
.
CreateBy
}
}
this
.
orderMsg
.
ProductId
=
this
.
RoomInfo
.
RoomTypeID
;
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
.
RatePlanID
=
this
.
RoomInfo
.
RatePlanID
this
.
orderMsg
.
CheckInDate
=
this
.
dayObj
.
start
;
this
.
orderMsg
.
CheckInDate
=
this
.
dayObj
.
start
;
this
.
orderMsg
.
CheckOutDate
=
this
.
dayObj
.
end
;
this
.
orderMsg
.
CheckOutDate
=
this
.
dayObj
.
end
;
...
@@ -428,7 +427,8 @@
...
@@ -428,7 +427,8 @@
Name
:
this
.
customer
.
name
,
Name
:
this
.
customer
.
name
,
ContactNumber
:
this
.
orderMsg
.
guestPhoneNumber
,
ContactNumber
:
this
.
orderMsg
.
guestPhoneNumber
,
Mailbox
:
this
.
orderMsg
.
guestEmail
,
Mailbox
:
this
.
orderMsg
.
guestEmail
,
GoodsId
:
this
.
orderMsg
.
RatePlanID
,
//GoodsId: this.orderMsg.RatePlanID,
GoodsId
:
this
.
HotelInfo
.
hotelId
,
GoodsName
:
this
.
HotelInfo
.
name
,
GoodsName
:
this
.
HotelInfo
.
name
,
GoodsPic
:
""
,
GoodsPic
:
""
,
GoodsType
:
9
,
GoodsType
:
9
,
...
@@ -480,7 +480,6 @@
...
@@ -480,7 +480,6 @@
signType
:
this
.
orderInfo
.
signType
,
signType
:
this
.
orderInfo
.
signType
,
paySign
:
this
.
orderInfo
.
sign
,
paySign
:
this
.
orderInfo
.
sign
,
success
:
function
(
res
)
{
success
:
function
(
res
)
{
console
.
log
(
"success"
,
res
);
that
.
submit
=
false
;
that
.
submit
=
false
;
uni
.
showToast
({
uni
.
showToast
({
title
:
"支付成功"
,
title
:
"支付成功"
,
...
@@ -495,7 +494,6 @@
...
@@ -495,7 +494,6 @@
}
,
100
);
}
,
100
);
}
,
}
,
fail
:
function
(
err
)
{
fail
:
function
(
err
)
{
console
.
log
(
"fail:"
,
err
);
that
.
submit
=
true
;
that
.
submit
=
true
;
uni
.
showToast
({
uni
.
showToast
({
title
:
"支付失败"
,
title
:
"支付失败"
,
...
@@ -667,9 +665,6 @@
...
@@ -667,9 +665,6 @@
}
,
}
,
changeDown
(
e
)
{
changeDown
(
e
)
{
let
i
=
[
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
)
{
editNum
(
type
)
{
if
(
type
==
1
)
{
if
(
type
==
1
)
{
...
@@ -783,10 +778,9 @@
...
@@ -783,10 +778,9 @@
icon
:
'none'
icon
:
'none'
}
)
}
)
uni
.
redirectTo
({
uni
.
redirectTo
({
url
:
`/pages/AggregateOrders/AggregateOrdersList?OrderTypeStr=
3
`
,
url
:
`/pages/AggregateOrders/AggregateOrdersList?OrderTypeStr=
7
`
,
}
);
}
);
// #endif
// #endif
console
.
log
(
res
,
'-------酒店erp下单成功'
)
}
}
}
}
);
);
...
...
utils/producttypeenum.js
View file @
391066a7
import
EnumHelper
from
"./enumhelper.js"
import
EnumHelper
from
"./enumhelper.js"
import
ListProductTypeEnum
from
"./listProductType.js"
import
ListProductTypeEnum
from
"./listProductType.js"
const
ProductTypeEnum
=
[
const
ProductTypeEnum
=
[{
{
value
:
1
,
value
:
1
,
desc
:
'机票产品'
desc
:
'机票产品'
},
},
/**
/**
* 线路
* 线路
*/
*/
{
{
value
:
2
,
value
:
2
,
desc
:
'线路产品'
desc
:
'线路产品'
},
},
/**
/**
* 酒店
* 酒店
*/
*/
{
{
value
:
3
,
value
:
3
,
desc
:
'酒店产品'
desc
:
'酒店产品'
},
},
/**
/**
* 景点门票
* 景点门票
*/
*/
{
{
value
:
4
,
value
:
4
,
desc
:
'景点门票产品'
desc
:
'景点门票产品'
},
},
/**
* 包车
*/
{
value
:
5
,
desc
:
'包车产品'
},
{
value
:
6
,
desc
:
'签证产品'
},
/**
* 包车
*/
{
value
:
5
,
desc
:
'包车产品'
},
{
value
:
6
,
desc
:
'签证产品'
},
{
value
:
7
,
desc
:
'酒店产品'
},
]
]
const
mappingRules
=
[
const
mappingRules
=
[
[
-
1
],
[
-
1
],
[
1
,
2
,
3
],
[
1
,
2
,
3
],
[
4
,
5
,
6
,
7
],
[
4
,
5
,
6
,
7
],
[
-
1
],
[
-
1
],
[
12
,
13
,
14
],
[
12
,
13
,
14
],
[
8
,
9
,
10
,
11
],
[
8
,
9
,
10
,
11
],
[
15
],
[
15
],
[
16
]
[
16
]
]
]
const
mappingListType
=
(
value
)
=>
{
const
mappingListType
=
(
value
)
=>
{
let
val
=
mappingRules
.
findIndex
(
x
=>
{
let
val
=
mappingRules
.
findIndex
(
x
=>
{
return
x
.
indexOf
(
value
)
!=
-
1
return
x
.
indexOf
(
value
)
!=
-
1
})
})
if
(
val
&&
val
>
0
)
{
if
(
val
&&
val
>
0
)
{
return
EnumHelper
.
ParseToEnum
(
ListProductTypeEnum
,
val
,
'value'
)
return
EnumHelper
.
ParseToEnum
(
ListProductTypeEnum
,
val
,
'value'
)
}
}
return
{}
return
{}
}
}
const
mappingListTypeTy
=
(
type
)
=>
{
const
mappingListTypeTy
=
(
type
)
=>
{
let
val
=
ProductTypeEnum
.
findIndex
(
x
=>
{
let
val
=
ProductTypeEnum
.
findIndex
(
x
=>
{
return
x
.
value
==
Number
(
type
)
return
x
.
value
==
Number
(
type
)
})
})
return
ProductTypeEnum
[
val
]
return
ProductTypeEnum
[
val
]
}
}
const
transProductEnum
=
(
value
)
=>
{
const
transProductEnum
=
(
value
)
=>
{
return
mappingRules
[
value
]
return
mappingRules
[
value
]
}
}
export
default
ProductTypeEnum
export
default
ProductTypeEnum
export
{
mappingListType
,
transProductEnum
,
mappingListTypeTy
}
export
{
\ No newline at end of file
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