Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
S
SuperMan
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
1
Issues
1
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
罗超
SuperMan
Commits
ecc51545
Commit
ecc51545
authored
Jan 15, 2023
by
黄奎
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
新增页面
parent
aa1450d2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
448 additions
and
0 deletions
+448
-0
tripBusOrder.vue
src/components/busManagement/tripBusOrder.vue
+440
-0
config.js
src/router/config.js
+8
-0
No files found.
src/components/busManagement/tripBusOrder.vue
0 → 100644
View file @
ecc51545
<
template
>
<div>
<div
class=
"query-box"
style=
"border-bottom: none;"
>
<ul>
<li>
<span>
<em>
{{
$t
(
'advmanager.v_line'
)
}}
</em>
<el-select
v-model=
"msg.LineId"
filterable
:placeholder=
"$t('pub.pleaseSel')"
@
change=
"getLinePlaceList()"
>
<el-option
:label=
"$t('pub.unlimitedSel')"
:value=
'0'
></el-option>
<el-option
v-for=
"item in queryCommonData.LineList"
:label=
'item.LineName'
:value=
'item.LineID'
:key=
'item.LineID'
>
</el-option>
</el-select>
</span>
</li>
<li>
<span>
<em>
{{
$t
(
'Operation.Op_Country'
)
}}
/
{{
$t
(
'system.query_dest'
)
}}
</em>
<el-select
v-model=
"msg.PlaceID"
filterable
:placeholder=
"$t('pub.pleaseSel')"
@
change=
"getLineTeamList()"
>
<el-option
:label=
"$t('pub.unlimitedSel')"
:value=
"0"
></el-option>
<el-option
v-for=
"item in queryCommonData.PlaceList"
:label=
"item.PlaceName"
:value=
"item.PlaceID"
:key=
"item.LtID"
></el-option>
</el-select>
</span>
</li>
<li>
<span>
<em>
{{
$t
(
'advmanager.v_xilie'
)
}}
</em>
<el-select
v-model=
"msg.LineteamId"
filterable
:placeholder=
"$t('pub.pleaseSel')"
>
<el-option
:label=
"$t('pub.unlimitedSel')"
:value=
'0'
></el-option>
<el-option
v-for=
"item in queryCommonData.LineTeamList"
:label=
'item.LtName'
:value=
'item.LtID'
:key=
'item.LtID'
>
</el-option>
</el-select>
</span>
</li>
<li>
<span>
<em>
地接团号
</em>
<el-input
v-model=
'msg.CombinationNum'
></el-input>
</span>
</li>
<li>
<span>
<em>
团号
</em>
<el-input
v-model=
'msg.TCNUM'
></el-input>
</span>
</li>
<li><span><em>
日期
</em>
<el-date-picker
v-model=
'msg.StartDate'
class=
'w135'
value-format=
"yyyy-MM-dd"
type=
"date"
></el-date-picker>
-
<el-date-picker
v-model=
'msg.EndDate'
class=
'w135'
value-format=
"yyyy-MM-dd"
type=
"date"
></el-date-picker>
</span>
</li>
<li><span><em>
状态
</em></span>
<el-select
v-model=
'msg.PriceStatus'
>
<el-option
label=
'正常'
value=
'0'
key=
'0'
></el-option>
<el-option
label=
'取消'
value=
'1'
key=
'1'
></el-option>
</el-select>
</li>
<li>
<input
type=
"button"
class=
"normalBtn"
value=
"查询"
@
click=
"getList();resetPageIndex()"
/>
</li>
</ul>
</div>
<div
class=
"mt10 fz14 color333 busIconStyle"
>
车辆状态
已确定:
<span
style=
"color:#4BCA81 ;"
>
√
</span>
未确定:
<span
style=
"color: #ff6600;"
>
O
</span>
未分配:
<span
style=
"color:#E95252 ;"
>
X
</span>
</div>
<div
style=
"width: 100%; overflow-x: auto;padding-bottom: 10px; margin-top: 10px; "
class=
"ownScrollbarStyle"
:style=
"
{height: boxHeight + 'px'}">
<table
border=
"0"
cellspacing=
"1"
cellpadding=
"0"
class=
"busStatisticsTalbe"
v-loading=
'loading'
>
<tr>
<th
class=
"w100"
>
序号
</th>
<th
width=
"110"
>
出发地
</th>
<th
width=
"110"
>
酒店
</th>
<th
width=
"150"
>
航班时间
</th>
<th
width=
"150"
>
公司团号
</th>
<th
width=
"100"
>
线路负责人
</th>
<th
width=
"70"
>
进出点
</th>
<th
width=
"80"
>
机位总数
<br
/>
(Y/E/F/单地接)
</th>
<th
width=
"80"
>
领队
</th>
<th
width=
"80"
>
导游
</th>
<th
width=
"150"
>
车型
</th>
<th
width=
"100"
v-for=
'item in thLengthTitle'
>
{{
item
}}
</th>
<th
width=
"150"
>
车辆状态
</th>
<th
width=
"150"
>
车费总计
</th>
<th
width=
"80"
>
配车天数
</th>
<th
width=
"120"
>
操作
</th>
</tr>
<tbody
v-for=
"(outItem,outindex) in DataList"
:class=
"
{splitTrCss:outindex%2!=0}">
<template
v-for=
"(item,index) in outItem.StaticsReportList"
>
<tr>
<td
:rowspan=
"2*outItem.StaticsReportList.length"
v-if=
'index==0'
>
<div
class=
"w100"
>
{{
outItem
.
NewCombinationNum
}}
</div>
</td>
<td>
<div
class=
"w80"
>
{{
item
.
StartCityNames
}}
</div>
</td>
<td>
<el-popover
width=
"750"
trigger=
"click"
popper-class=
"Bus_HotelPop"
>
<commonHotelInfo
:HotelObj=
"item.CommonReport.PriceHotelResult"
:showHotelObj=
"showHotelObj"
>
</commonHotelInfo>
<div
slot=
"reference"
class=
"w80"
style=
"cursor:pointer;text-decoration:underline;"
>
酒店信息
</div>
</el-popover>
</td>
<td>
<div
class=
"w120"
>
{{
item
.
FlightDate
}}
<el-popover
popper-class=
"busStatistics_tripDetails"
width=
"550"
trigger=
"click"
>
<table
width=
"100%"
border=
"0"
cellspacing=
"0"
cellpadding=
"0"
>
<tr
class=
"_color_666"
style=
"text-align:center;"
>
<th
width=
"60"
>
{{
$t
(
'Airticket.Air_segment'
)
}}
</th>
<th
width=
"80"
>
{{
$t
(
'system.query_flightNum'
)
}}
</th>
<th
width=
"150"
>
起飞时间
</th>
<th
width=
"150"
>
到达时间
</th>
<th
width=
"100"
>
经停城市
</th>
</tr>
<tr
v-for=
"(ds,din) in item.FlightList"
:key=
"din"
style=
"text-align:center;"
>
<td
class=
"_d_name _color_666"
>
<span
v-if=
"din==0"
>
{{
$t
(
'Airticket.Air_go'
)
}}
</span>
<span
v-else-if=
"din==item.FlightList.length-1"
>
{{
$t
(
'Airticket.Air_returnTrip'
)
}}
</span>
<span
v-else-if=
"din>0 && din!=item.FlightList.length-1"
>
{{
$t
(
'Airticket.Air_transit'
)
}}
</span>
</td>
<td>
<div>
{{
ds
.
Flight_number
}}
</div>
<div
style=
"margin-top:5px;"
>
{{
ds
.
AlName
}}
</div>
</td>
<td>
<div>
{{
ds
.
FlightDate
}}
{{
ds
.
Departure_time
}}
</div>
<div
style=
"margin-top:5px;"
>
{{
ds
.
dName
}}
</div>
</td>
<td>
<div>
{{
ds
.
FlightArrivalTime
}}
{{
ds
.
Arrival_time
}}
</div>
<div
style=
"margin-top:5px;"
>
{{
ds
.
aName
}}
</div>
</td>
<td>
{{
ds
.
StopoverName
}}
</td>
</tr>
</table>
<el-button
slot=
"reference"
class=
"normalBtn mt5"
style=
'height:24px; padding: 0 10px; background: #2AAEF2; border-color: #2AAEF2;'
>
详情
</el-button>
</el-popover>
</div>
</td>
<td>
<div
class=
"w120 link"
>
<p
@
click=
"goUrlT('productQuery',item.TCNUMS,'产品查询')"
>
{{
item
.
TCNUMS
}}
</p>
</div>
</td>
<td>
<div
class=
"w80"
>
{{
item
.
CreateByName
}}
</div>
</td>
<td>
<div
class=
"w80"
>
{{
item
.
InOut
}}
</div>
</td>
<td>
<div
class=
"w100 link"
>
<p
@
click=
"goUrlT('RegistrationList',item.TCIDS,'报名清单')"
>
{{
item
.
TotalSeat
}}
/
{{
item
.
CommonReport
.
HouseStatistics
.
RealityYSeatNum
}}
/
{{
item
.
CommonReport
.
HouseStatistics
.
RealityESeatNum
}}
/
{{
item
.
CommonReport
.
HouseStatistics
.
RealityFSeatNum
}}
/
{{
item
.
CommonReport
.
HouseStatistics
.
SingleDMNum
}}
</p>
</div>
</td>
<td>
<div
class=
"w80"
>
{{
item
.
LeaderName
}}
</div>
</td>
<td>
<div
class=
"w80"
>
{{
item
.
GuideName
}}
</div>
</td>
<td>
<div
class=
"w80"
>
<template
v-if=
"item.CommonReport&&item.CommonReport.BusPlanListReport&&item.CommonReport.BusPlanListReport.length>0&&item.CommonReport.BusPlanListReport[0].BusPlanOrderList&&item.CommonReport.BusPlanListReport[0].BusPlanOrderList[0]"
>
{{
item
.
CommonReport
.
BusPlanListReport
[
0
].
BusPlanOrderList
[
0
].
MainBusTypeStr
}}
</
template
>
</div>
</td>
<td
v-for=
"(x,ww) in item.CommonReport.BusPlanListReport"
style=
"vertical-align: top;"
>
<div
class=
"w100"
>
<
template
v-if=
"x.BusPlanOrderList"
v-for=
"(childItem,childIndex) in x.BusPlanOrderList"
>
<p
class=
"pDateStyle"
v-if=
"childIndex==0"
>
{{
childItem
.
PlanDateStr
}}
</p>
<p
class=
"pDateStyle"
>
{{
(
childItem
.
AirportPickUpStr
!=
""
?
childItem
.
AirportPickUpStr
:
""
)
}}
<span
style=
"color: #4BCA81;"
v-if=
"(childItem.AirportPickUpStr!='')"
>
√
</span>
<span
style=
"color: #E95252;"
v-else
>
X
</span>
<template
v-if=
"x.BusPlanOrderList.length>1 && x.BusPlanOrderList.length-1!=childIndex"
>
<br
/>
</
template
>
</p>
</template>
</div>
</td>
<td
v-for=
"is in item.isCha"
></td>
<td>
<div
class=
"w80 fbold fz16"
>
<span
style=
"color: #E95252;"
v-if=
"item.CommonReport.BusOrderState==-1"
>
X
</span>
<span
style=
"color: #ff6600;"
v-else-if=
"item.CommonReport.BusOrderState==0"
>
O
</span>
<span
style=
"color: #4BCA81;"
v-else-if=
"item.CommonReport.BusOrderState==1"
>
√
</span></div>
</td>
<td>
<div
class=
"w150"
>
{{GetTotalPrice(item.CommonReport.BusPlanListReport,item.CommonReport.HouseStatistics.RealityNum)}}
</div>
</td>
<td>
<div
class=
"w100"
>
{{GetPeiChe(item.CommonReport.BusPlanListReport)}}
</div>
</td>
<td
:rowspan=
"2*outItem.StaticsReportList.length"
v-if=
'index==0'
>
<div
class=
"w100 link"
>
<span
@
click=
"goUrlX('BusInfo',item,outItem,'车配信息')"
>
详情
</span>
<span
@
click=
"GoDownLoad(outItem)"
>
手配书
</span>
</div>
</td>
</tr>
<tr>
<td
:colspan=
"colspanTotal"
style=
"text-align: left!important;padding-left: 20px;"
>
<div
class=
"link"
>
<p
@
click=
"goUrlT('productQuery',item.TCNUMS,'产品查询')"
>
{{item.Titles}}
</p>
<div
v-show=
"item.DMCRemark!=''"
class=
"colorE95252"
>
地接备注:{{item.DMCRemark}}
</div>
<div
v-show=
"item.OPRemark!=''"
class=
"colorE95252"
>
OP备注(对外):{{item.OPRemark}}
</div>
<div
v-show=
"item.OPInnerRemark!=''"
class=
"colorE95252"
>
OP备注(对内):{{item.OPInnerRemark}}
</div>
</div>
</td>
</tr>
</template>
</tbody>
</table>
</div>
<el-pagination
background
@
current-change=
"handleCurrentChange"
:current-page
.
sync=
"currentPage"
layout=
"total,prev, pager, next, jumper"
:page-size=
"msg.pageSize"
:total=
"total"
></el-pagination>
</div>
</template>
<
script
>
import
commonHotelInfo
from
"../commonPage/commonHotelInfo.vue"
;
export
default
{
data
()
{
return
{
userInfo
:
{},
//用户信息
loading
:
false
,
currentPage
:
1
,
total
:
0
,
msg
:
{
pageIndex
:
1
,
pageSize
:
10
,
},
}
},
components
:
{
commonHotelInfo
},
methods
:
{
GetTotalPrice
(
obj
)
{
//车费总价
let
totalPrice
=
0
;
obj
.
forEach
(
busInfo
=>
{
if
(
busInfo
.
BusPlanOrderList
)
{
busInfo
.
BusPlanOrderList
.
forEach
(
subItem
=>
{
if
(
subItem
.
CostPrice
!=
undefined
)
{
totalPrice
+=
subItem
.
CostPrice
;
}
});
}
});
return
totalPrice
;
},
handleCurrentChange
(
val
)
{
this
.
msg
.
pageIndex
=
val
;
this
.
getList
();
},
resetPageIndex
()
{
this
.
msg
.
pageIndex
=
1
;
this
.
currentPage
=
1
;
},
getList
()
{
this
.
loading
=
true
this
.
apipost
(
'bus_Get_GetBusUniteCombinationNumService_V2'
,
this
.
msg
,
res
=>
{
this
.
loading
=
false
;
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
total
=
res
.
data
.
data
.
count
;
this
.
DataList
=
res
.
data
.
data
.
pageData
.
data
;
this
.
thLengthTitle
=
[];
this
.
colspanTotal
=
res
.
data
.
data
.
pageData
.
columnsCount
+
13
;
for
(
let
i
=
1
;
i
<=
res
.
data
.
data
.
pageData
.
columnsCount
;
i
++
)
{
this
.
thLengthTitle
.
push
(
'第'
+
i
+
'天'
);
}
this
.
DataList
.
forEach
(
outItem
=>
{
outItem
.
StaticsReportList
.
forEach
(
item
=>
{
if
(
item
.
CommonReport
.
BusPlanListReport
.
length
<
res
.
data
.
data
.
pageData
.
data
.
length
)
{
item
.
isCha
=
res
.
data
.
data
.
pageData
.
columnsCount
-
item
.
CommonReport
.
BusPlanListReport
.
length
;
}
else
{
item
.
isCha
=
0
;;
}
})
})
this
.
$forceUpdate
();
}
else
{
this
.
Error
(
res
.
data
.
message
);
}
},
err
=>
{})
},
},
mounted
()
{
this
.
userInfo
=
this
.
getLocalStorage
();
if
(
this
.
userInfo
.
RB_Group_id
==
2
)
{
this
.
msg
.
LineId
=
14
;
}
let
myDate
=
new
Date
();
let
nowDate
=
myDate
.
getFullYear
()
+
"-"
+
parseInt
(
myDate
.
getMonth
()
+
1
)
+
"-"
+
myDate
.
getDate
();
this
.
msg
.
StartDate
=
nowDate
;
let
width
=
window
.
innerWidth
-
50
;
let
height
=
window
.
innerHeight
-
65
-
210
;
this
.
boxHeight
=
height
;
this
.
offsetwidth
=
width
;
this
.
getList
();
this
.
getLineList
();
},
}
</
script
>
<
style
>
.splitTrCss
td
{
background
:
#eee
!important
;
}
.busIconStyle
>
span
{
margin-right
:
20px
;
font-weight
:
bold
;
}
.busStatisticsTalbe
{
background
:
#ccc
;
}
.busStatisticsTalbe
tr
th
{
background
:
#E6E6E6
;
height
:
40px
;
font-size
:
12px
;
color
:
#333
;
}
.busStatisticsTalbe
tr
{
background
:
#fff
;
text-align
:
center
;
height
:
40px
;
}
.busStatisticsTalbe
tr
td
{
font-size
:
12px
;
}
.busStatisticsTalbe
tr
td
.pDateStyle
{
border-bottom
:
1px
solid
#ccc
;
min-height
:
24px
;
line-height
:
24px
;
margin-top
:
0
;
box-sizing
:
content-box
;
padding
:
0
10px
;
}
.busStatisticsTalbe
tr
td
.pDateStyle
:last-child
{
border-bottom
:
none
;
}
.busStatisticsTalbe
tr
td
.link
p
:hover
{
text-decoration
:
underline
;
cursor
:
pointer
;
}
.busStatisticsTalbe
tr
td
.link
span
:hover
{
text-decoration
:
underline
;
cursor
:
pointer
;
}
.busStatistics_tripDetails
{
padding
:
0
;
box-shadow
:
0px
1px
3px
0px
#dedede
;
max-height
:
400px
;
overflow-y
:
auto
;
}
.busStatistics_tripDetails
.popper__arrow
::after
{
border-bottom-color
:
#ededed
!important
;
}
.busStatistics_tripDetails
table
{
padding
:
10px
0
0
20px
;
background-color
:
#ededed
;
border-collapse
:
collapse
;
border
:
1px
solid
#d2d2d2
;
font-size
:
12px
;
}
.busStatistics_tripDetails
table
th
{
background-color
:
#ededed
;
padding
:
5px
;
}
.busStatistics_tripDetails
table
td
{
background-color
:
#ffffff
;
padding
:
9px
15px
;
color
:
#333333
;
border
:
1px
solid
#d2d2d2
;
}
.busStatistics_tripDetails
table
td
._d_name
{
background-color
:
#ededed
;
}
.busStatistics_tripDetails
table
._color_666
{
color
:
#666666
;
}
.busStatistics_tripDetails
table
tr
._color_666
th
{
padding
:
9px
15px
;
}
.Bus_HotelPop
{
overflow
:
auto
;
max-height
:
350px
;
}
</
style
>
src/router/config.js
View file @
ecc51545
...
...
@@ -1999,6 +1999,14 @@ export default {
title
:
'添加修改车控页面'
},
},
{
path
:
'/tripBusOrder'
,
//行程用车订单列表
name
:
'tripBusOrder'
,
component
:
resolve
=>
require
([
'@/components/busManagement/tripBusOrder'
],
resolve
),
meta
:
{
title
:
'行程用车订单列表'
},
},
{
path
:
'/busHandBook'
,
//首配依赖书
name
:
'busHandBook'
,
...
...
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