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
10339e3a
Commit
10339e3a
authored
Jan 31, 2023
by
youjie
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
no message
parent
c6259316
Hide whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
815 additions
and
44 deletions
+815
-44
CharterPreview.vue
src/components/busManagement/BookAcar/CharterPreview.vue
+0
-13
addEditVehicle.vue
src/components/busManagement/BookAcar/addEditVehicle.vue
+760
-0
orderList.vue
...omponents/busManagement/BookAcar/components/orderList.vue
+6
-5
list.vue
src/components/busManagement/BookAcar/list.vue
+1
-1
order.vue
src/components/busManagement/BookAcar/order.vue
+5
-2
orderOP.vue
src/components/busManagement/BookAcar/orderOP.vue
+5
-2
tripBusOrder.vue
src/components/busManagement/tripBusOrder.vue
+38
-21
No files found.
src/components/busManagement/BookAcar/CharterPreview.vue
View file @
10339e3a
...
...
@@ -662,19 +662,6 @@
});
},
setFormMsg
(){
// this.types.forEach(x=>{
// if(x.checked){
// let y = {
// TicketType: x.TicketCouponsType,
// TicketName: x.TicketName,
// Unit_Price: x.B2BPrice,
// Num: x.num,
// Money: x.B2BPrice*x.num,
// TicketId: x.TicketID
// }
// this.msg.DetailList.push(y)
// }
// })
this
.
types
.
forEach
(
x
=>
{
if
(
x
.
checked
){
this
.
msg
.
Unit_Price
=
x
.
B2BPrice
...
...
src/components/busManagement/BookAcar/addEditVehicle.vue
View file @
10339e3a
<
style
scoped
>
.image-slot
{
height
:
100%
;
display
:
flex
;
justify-content
:
center
;
align-items
:
center
;
}
.time-box.time-box2
.time-box-width
span
{
width
:
auto
;
}
.flexOne
{
margin
:
auto
;
width
:
70%
;
min-width
:
1300px
;
display
:
flex
;
justify-content
:
space-between
;
margin-top
:
15px
;
align-items
:
flex-start
;
}
.flexOne-left
{
flex-grow
:
1
;
}
.flexOne-form-bj
{
border-radius
:
5px
;
background
:
#ffffff
;
padding
:
15px
;
margin-bottom
:
20px
;
}
.flexOne-form-bj
h3
{
font-size
:
18px
;
color
:
black
;
padding
:
0
0
20px
0
;
font-weight
:
400
;
}
.listone-form
{
padding
:
5px
0
15px
0
;
border-radius
:
5px
;
background
:
#ffffff
;
display
:
flex
;
flex-direction
:
row
;
justify-content
:
space-between
;
margin-bottom
:
10px
;
overflow
:
hidden
;
border-bottom
:
1px
solid
#eeeeee
;
}
.listone-img
{
width
:
130px
;
flex-shrink
:
0
;
margin-right
:
15px
;
border-radius
:
5px
;
display
:
block
;
}
.listone-list
{
flex-grow
:
1
;
display
:
flex
;
justify-content
:
space-between
;
}
.list-left
h6
,
.card-centent
h6
{
font-size
:
16px
;
margin-bottom
:
5px
;
cursor
:
pointer
;
}
.list-left
div
{
color
:
#7E8299
;
font-size
:
13px
;
margin-top
:
7px
;
}
.list-left
div
a
{
color
:
#009EF7
;
font-size
:
12px
;
margin-left
:
15px
;
cursor
:
pointer
;
}
.flexOne-time
{
padding
:
20px
;
}
.time-box
{
display
:
flex
;
flex-direction
:
row
;
margin-bottom
:
15px
;
}
.time-box.center
{
align-items
:
center
;
}
.time-box
>
span
{
/* width: 100px; */
flex-shrink
:
0
;
font-size
:
13px
;
color
:
#181C32
;
margin-right
:
40px
;
}
.flexOne-type
{
display
:
flex
;
align-items
:
center
;
padding
:
0
0
20px
0
;
}
.flexOne-type
b
{
font-size
:
13px
;
width
:
100px
;
flex-shrink
:
0
;
}
.flexOne-type
div
{
display
:
flex
;
}
.flexOne-description
{
padding
:
15px
15px
;
border-radius
:
5px
;
background
:
#E1F5FE
;
margin-bottom
:
20px
;
}
.flexOne-description
b
{
font-size
:
14px
;
}
.flexOne-description
p
{
font-size
:
12px
;
color
:
#4C5759
;
padding
:
10px
0
0
0
;
}
.flexOne-infor-box
b
{
font-size
:
13px
;
}
.infor-list
{
display
:
flex
;
flex-direction
:
column
;
}
.list-title
{
padding
:
20px
0
;
border-bottom
:
1px
dashed
#eeeeee
;
color
:
#7E8299
;
font-size
:
13px
;
}
.list-title
,
.list-centent
{
display
:
flex
;
flex-wrap
:
wrap
;
}
.infor-list
li
{
width
:
25%
;
}
.list-centent
li
{
display
:
flex
;
width
:
33.33%
;
}
.list-centent.active
li
{
width
:
25%
;
}
.list-centent.activeB
li
{
width
:
20%
;
}
.list-centent.activeC
li
{
width
:
50%
;
}
.bottom
.el-form-item
{
margin-bottom
:
0
;
}
.notice
{
border-radius
:
5px
;
border
:
1px
dashed
#FFA500
;
background
:
#FFF3E0
;
margin-bottom
:
15px
;
padding
:
15px
;
}
.notice
b
{
font-size
:
13px
;
}
.notice
p
{
color
:
#5E6278
;
font-size
:
12px
;
padding
:
10px
0
0
0
;
}
.flexOne-right
{
width
:
300px
;
flex-shrink
:
0
;
margin-left
:
20px
;
border-radius
:
5px
;
background
:
#ffffff
;
padding
:
15px
;
}
.flexOne-right
h4
{
padding
:
10px
0
20px
0
;
color
:
#181C32
;
}
.right-text
{
border
:
1px
dashed
#F1416C
;
padding
:
15px
10px
;
background
:
#FFEBEE
;
font-size
:
13px
;
color
:
black
;
margin-bottom
:
20px
;
border-radius
:
5px
;
}
.right-text
p
{
color
:
#6D6E83
;
font-size
:
12px
;
padding
:
10px
0
0
0
;
}
.right-form
{
border-top
:
1px
dashed
#EEEEEE
;
border-bottom
:
1px
dashed
#EEEEEE
;
padding
:
20px
0
;
}
.right-form
h6
{
font-size
:
14px
;
color
:
black
;
}
.noData
{
text-align
:
center
;
color
:
#7E8299
;
font-size
:
14px
;
}
.right-form-list
{
padding
:
20px
0
;
}
.right-list
{
display
:
flex
;
justify-content
:
space-between
;
align-items
:
center
;
margin-bottom
:
6px
;
}
.right-list-right
{
font-size
:
13px
;
color
:
#181C32
;
}
.right-Money
{
padding
:
20px
0
;
font-size
:
14px
;
color
:
#181C32
;
}
.right-Money
b
{
font-size
:
18px
;
color
:
#F1416C
;
margin-left
:
5px
;
}
.right-Money
,
.right-Submit
{
display
:
flex
;
flex-direction
:
row-reverse
;
}
/
deep
/
.el-input-number
{
width
:
auto
;
height
:
32px
;
line-height
:
32px
;
}
/
deep
/
.el-input-number
.el-input__inner
{
text-align
:
center
;
height
:
34px
;
}
/
deep
/
.line-heigh
.el-input-number
{
line-height
:
32px
;
}
/
deep
/
.el-date-editor.el-input
,
.el-date-editor.el-input__inner
{
width
:
auto
;
}
</
style
>
<
template
>
<div
class=
"flexOne"
>
<div
class=
"flexOne-left"
>
<el-form
label-width=
"80px"
:model=
"msg"
:rules=
"rules"
ref=
"msg"
>
<div
class=
"flexOne-form-bj"
>
<h3>
团订信息
</h3>
<div
class=
"listone-form"
>
<el-image
v-if=
"detailsObj.ImageList"
class=
"listone-img"
:src=
"detailsObj.ImageList[0]"
fit=
"contain"
>
<div
slot=
"placeholder"
class=
"image-slot"
>
<span>
加载中
<span
class=
"dot"
>
...
</span>
</span>
</div>
<div
slot=
"error"
class=
"image-slot"
>
<i
class=
"el-icon-picture-outline"
></i>
</div>
</el-image>
<div
class=
"listone-list"
>
<div
class=
"list-left"
>
<p
style=
"color: #9e9e9e;font-size: 13px;"
>
请在出发前一天的23:00前完成预定
</p>
</div>
</div>
</div>
<div
class=
"flexOne-infor-box"
>
<!--
<b></b>
-->
<div
class=
"infor-list"
>
<div
class=
"list-centent active"
>
<li>
<el-form-item
label=
"订车单位"
prop=
"UseCompName"
>
<el-input
v-model=
"msg.UseCompName"
placeholder=
"请输入订车单位"
/>
</el-form-item>
</li>
<li>
<el-form-item
label=
"订车人"
prop=
"UseName"
>
<el-input
v-model=
"msg.UseName"
placeholder=
"请输入订车人名称"
/>
</el-form-item>
</li>
<li>
<el-form-item
label=
"接机信息"
prop=
"PickUpInfo"
>
<el-input
v-model=
"msg.PickUpInfo"
placeholder=
"请输入接机信息"
/>
</el-form-item>
</li>
<li>
<el-form-item
label=
"去程航班"
prop=
"GoFlightInfo"
>
<el-input
v-model=
"msg.GoFlightInfo"
placeholder=
"请输入去程航班"
/>
</el-form-item>
</li>
<li>
<el-form-item
label=
"回程航班"
prop=
"BackFlightInfo"
>
<el-input
v-model=
"msg.BackFlightInfo"
placeholder=
"请输入回程航班"
/>
</el-form-item>
</li>
<li>
<el-form-item
label=
"用车人数"
prop=
"PeopleNum"
>
<el-input-number
v-model=
"msg.PeopleNum"
:min=
"1"
placeholder=
"请输入用车人数"
/>
</el-form-item>
</li>
<li>
<el-form-item
label=
"开始日期"
prop=
"StartDate"
>
<el-date-picker
v-model=
'msg.StartDate'
format=
"yyyy-MM-dd"
value-format=
"yyyy-MM-dd"
type=
"date"
:picker-options=
"beforeCheck"
placeholder=
"选择日期"
@
change=
"checkInteger"
>
</el-date-picker>
</el-form-item>
</li>
<li>
<el-form-item
label=
"行程天数"
prop=
"UseDayNum"
>
<el-input-number
v-model=
"msg.UseDayNum"
:min=
"1"
placeholder=
"请输入行程天数"
@
change=
"checkInteger"
/>
</el-form-item>
</li>
<li>
<el-form-item
label=
"导游信息"
prop=
"GuideInfo"
>
<el-input
v-model=
"msg.GuideInfo"
placeholder=
"请输入导游信息"
/>
</el-form-item>
</li>
<li>
<el-form-item
label=
"团队信息"
prop=
"TeamName"
>
<el-input
v-model=
"msg.TeamName"
placeholder=
"请输入团队信息"
/>
</el-form-item>
</li>
<li
class=
"bottom"
>
<el-form-item
label=
"车型"
prop=
"BusType"
>
<el-select
filterable
v-model=
'msg.BusType'
>
<el-option
v-for=
'(item,index) in vehicletop'
:label=
'item.Name'
:value=
'item.Id'
:key=
'item.Id'
>
</el-option>
</el-select>
</el-form-item>
</li>
</div>
</div>
</div>
</div>
<div
class=
"flexOne-form-bj"
>
<h3>
订单信息
</h3>
<div
class=
"flexOne-infor-box"
>
<b></b>
<div
class=
"infor-list"
>
<div
class=
"list-centent active"
v-for=
"(x,index) in msg.details"
:key=
"index"
>
<li>
<el-form-item
label=
"日期"
prop=
""
>
{{
x
.
UseDate
}}
</el-form-item>
</li>
<li>
<el-form-item
label=
""
prop=
""
>
第
{{
x
.
DayNum
}}
天
</el-form-item>
</li>
<li>
<el-form-item
label=
"用车类型"
:prop=
"'details.'+index+'.UseType'"
:rules=
"rules.UseType"
>
<el-select
v-model=
'x.UseType'
>
<el-option
v-for=
'(y,i) in listvehicle'
:label=
'y.Name'
:value=
'y.Id'
:key=
'y.Id'
>
</el-option>
</el-select>
</el-form-item>
</li>
<li>
<el-form-item
label=
"行程信息"
:prop=
"'details.'+index+'.TripInfo'"
:rules=
"rules.TripInfo"
>
<el-input
v-model=
"x.TripInfo"
placeholder=
"输入行程信息"
/>
</el-form-item>
</li>
</div>
</div>
</div>
<!--
<div
class=
"flexOne-infor-box"
>
<div
style=
"margin-top: 20px;"
>
<el-input
style=
"width: 100%;"
type=
"textarea"
:autosize=
"
{ minRows: 2, maxRows: 4}"
v-model="msg.Remark" placeholder="订单备注"/>
</div>
</div>
-->
</div>
<!--
<div
class=
"notice"
>
<b>
预定须知
</b>
<p></p>
</div>
-->
</el-form>
</div>
<div
class=
"flexOne-right"
>
<h4>
结算账单
</h4>
<!--
<div
class=
"right-text"
>
<b>
取消限制
</b>
<p></p>
</div>
-->
<div
class=
"right-form"
>
<h6>
订单明细
</h6>
<div
class=
"right-form-list"
>
<template
v-if=
"isCheck&&msg.details.length>0"
>
<template
v-for=
"x in msg.details"
>
<div
class=
"right-list"
>
<div>
<el-tag
size=
"mini"
type=
"danger"
>
{{
x
.
UseDate
}}
<template
v-if=
"x.UseType&&listvehicle.filter(y => y.Id==x.UseType)[0].Name"
>
{{
listvehicle
.
filter
(
y
=>
y
.
Id
==
x
.
UseType
)[
0
].
Name
}}
</
template
>
</el-tag>
</div>
<div
class=
"right-list-right"
>
第{{x.DayNum}}天
</div>
</div>
</template>
</template>
<div
v-else
class=
"noData"
>
没有选择车型
</div>
</div>
</div>
<div
class=
"right-Money"
>
<div>
<span>
订单总天数:
</span>
<b>
{{ msg.details.length }}
</b>
</div>
</div>
<div
class=
"right-Submit"
>
<button
v-if=
"!isCheck"
class=
"hollowFixedBtn"
type=
"primary"
>
提交订单
</button>
<button
v-else
class=
"normalBtn"
type=
"primary"
@
click=
"submit"
>
提交订单
</button>
</div>
</div>
<!-- 包车产品详情信息 -->
<el-dialog
custom-class=
"w800"
title=
"包车产品详情"
:visible
.
sync=
"showDetails"
center
@
close=
"showDetails=false"
>
<Details
:detailsObj=
"detailsRow"
></Details>
</el-dialog>
</div>
</template>
<
script
>
import
Details
from
'./components/Details.vue'
export
default
{
components
:
{
Details
},
data
()
{
return
{
AirportTypes
:[],
isCheck
:
true
,
showDetails
:
false
,
loading
:
false
,
msg
:
{
Id
:
0
,
UseCompName
:
""
,
//订车单位
UseName
:
""
,
//订车人
PickUpInfo
:
""
,
//接机信息
GoFlightInfo
:
""
,
//去程航班
BackFlightInfo
:
""
,
//回程航班
PeopleNum
:
1
,
//用车人数
UseDayNum
:
1
,
//行程天数
StartDate
:
""
,
//开始日期
BusType
:
""
,
//用车类型(接口返下拉列表)
GuideInfo
:
""
,
//导游信息
TeamName
:
""
,
//团队信息
details
:
[
// {
// DayNum: null,//第几天
// UseDate: "",//日期
// UseType: null,//用车类型(接口返下拉列表)
// TripInfo: "",//行程信息
// }
]
},
types
:
[],
isCheck
:
false
,
SetOutTime
:
''
,
detailsObj
:
{},
beforeCheck
:
{
disabledDate
:
time
=>
{
let
endTime
=
new
Date
(
this
.
getBeforeDate
(
0
,
new
Date
().
Format
(
"yyyy-MM-dd"
)));
return
time
&&
endTime
.
getTime
()
>=
time
.
getTime
();
}
},
rules
:{
UseCompName
:
[{
required
:
true
,
message
:
'请输入订车单位'
,
trigger
:
'blur'
}],
UseName
:
[{
required
:
true
,
message
:
'请输入订车人名称'
,
trigger
:
'blur'
}],
PickUpInfo
:
[{
required
:
true
,
message
:
'请输入接机信息'
,
trigger
:
'blur'
}],
GoFlightInfo
:
[{
required
:
true
,
message
:
'请输入去程航班'
,
trigger
:
'change'
}],
BackFlightInfo
:
[{
required
:
true
,
message
:
'请输入回程航班'
,
trigger
:
'blur'
}],
PeopleNum
:
[{
required
:
true
,
message
:
'请输入用车人数'
,
trigger
:
'blur'
}],
UseDayNum
:
[{
required
:
true
,
message
:
'请输入行程天数'
,
trigger
:
'blur'
}],
StartDate
:[{
required
:
true
,
message
:
'请选择开始日期'
,
trigger
:
'change'
}],
BusType
:
[{
required
:
true
,
message
:
'请选择用车类型'
,
trigger
:
'change'
}],
GuideInfo
:
[{
required
:
true
,
message
:
'请输入导游信息'
,
trigger
:
'blur'
}],
TeamName
:
[{
required
:
true
,
message
:
'请输入团队信息'
,
trigger
:
'blur'
}],
UseType
:
[{
required
:
true
,
message
:
'请选择用车类型'
,
trigger
:
'change'
}],
TripInfo
:
[{
required
:
true
,
message
:
'请输入行程信息'
,
trigger
:
'blur'
}],
},
msgList
:{
UseType
:
''
,
TripInfo
:
''
},
detailsRow
:
null
,
vehicletop
:
[],
listvehicle
:
[]
};
},
methods
:
{
checkInteger
()
{
let
that
=
this
this
.
msg
.
details
=
[]
let
details2
=
[]
let
timelist
=
[]
if
(
this
.
msg
.
UseDayNum
&&
this
.
msg
.
UseDayNum
>
0
)
{
let
list
=
this
.
getDay
(
this
.
msg
.
StartDate
,
this
.
msg
.
UseDayNum
)
if
(
list
)
{
timelist
=
this
.
getDiffDate
(
this
.
msg
.
StartDate
,
list
)
if
(
timelist
&&
timelist
.
length
>
0
)
{
timelist
.
forEach
((
item
,
i
)
=>
{
details2
.
push
({
DayNum
:
i
+
1
,
UseDate
:
item
,
//日期
UseType
:
''
,
//用车类型(接口返下拉列表)
// UseTime: '',//接送机时间
TripInfo
:
''
,
//行程信息
})
})
this
.
msg
.
details
=
JSON
.
parse
(
JSON
.
stringify
(
details2
))
}
}
}
this
.
isCheck
=
true
},
// 获取时间
getDay
(
set
,
day
)
{
var
today
=
new
Date
(
set
);
var
targetday_milliseconds
=
today
.
getTime
()
+
1000
*
60
*
60
*
24
*
day
;
today
.
setTime
(
targetday_milliseconds
);
//注意,这行是关键代码
var
tYear
=
today
.
getFullYear
();
var
tMonth
=
today
.
getMonth
();
var
tDate
=
today
.
getDate
();
tMonth
=
this
.
doHandleMonth
(
tMonth
+
1
);
tDate
=
this
.
doHandleMonth
(
tDate
);
return
tYear
+
"-"
+
tMonth
+
"-"
+
tDate
;
},
doHandleMonth
(
month
)
{
var
m
=
month
;
if
(
month
.
toString
().
length
==
1
)
{
m
=
"0"
+
month
;
}
return
m
;
},
// 时间计算
getDiffDate
(
start
,
end
)
{
const
startTime
=
this
.
getDate
(
start
);
const
endTime
=
this
.
getDate
(
end
);
const
dateArr
=
[];
while
((
endTime
.
getTime
()
-
startTime
.
getTime
())
>
0
)
{
const
year
=
startTime
.
getFullYear
();
const
month
=
startTime
.
getMonth
().
toString
().
length
===
1
?
'0'
+
(
parseInt
(
startTime
.
getMonth
().
toString
(),
10
)
+
1
)
:
(
startTime
.
getMonth
()
+
1
);
const
day
=
startTime
.
getDate
().
toString
().
length
===
1
?
'0'
+
startTime
.
getDate
()
:
startTime
.
getDate
();
dateArr
.
push
(
year
+
'-'
+
month
+
'-'
+
day
);
startTime
.
setDate
(
startTime
.
getDate
()
+
1
);
}
return
dateArr
;
},
getDate
(
datestr
)
{
const
temp
=
datestr
.
split
(
'-'
);
if
(
temp
[
1
]
===
'01'
)
{
temp
[
0
]
=
parseInt
(
temp
[
0
],
10
)
-
1
;
temp
[
1
]
=
'12'
;
}
else
{
temp
[
1
]
=
parseInt
(
temp
[
1
],
10
)
-
1
;
}
const
date
=
new
Date
(
temp
[
0
],
temp
[
1
],
temp
[
2
]);
return
date
;
},
// 获取列表用车类型
vehicleList
()
{
this
.
apipost
(
"tripbus_GetTripBusUseType"
,
{},
res
=>
{
this
.
loading
=
false
;
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
listvehicle
=
res
.
data
.
data
}
else
{
this
.
Error
(
res
.
data
.
message
)
}
},
err
=>
{
this
.
Error
(
err
.
message
)
});
},
// 获取车型下拉
vehicleinit
()
{
this
.
apipost
(
"tripbus_GetBusTypeList"
,
{},
res
=>
{
this
.
loading
=
false
;
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
vehicletop
=
res
.
data
.
data
}
else
{
this
.
Error
(
res
.
data
.
message
)
}
},
err
=>
{
this
.
Error
(
err
.
message
)
});
},
submit
(){
this
.
$refs
[
'msg'
].
validate
((
valid
)
=>
{
if
(
valid
)
{
this
.
setFormMsg
()
}
else
{
return
false
;
}
});
},
setFormMsg
(){
// if(this.msg.details.length==0) return
// for(let i=0;i
<
this
.
msg
.
details
.
length
;
i
++
){
// if(this.msg.details[i].UseType){
// }
// }
this
.
apipost
(
"tripbus_SetTripBus"
,
this
.
msg
,
res
=>
{
this
.
loading
=
false
;
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
Success
(
'下单成功'
);
this
.
$router
.
push
({
path
:
`/CharterOrderList?OrderType=0`
,
});
}
else
{
this
.
Error
(
res
.
data
.
message
)
}
},
err
=>
{
this
.
Error
(
err
.
message
)
});
},
// 获取订单详情
getOrderInfo
(){
this
.
apipost
(
"tripbus_GetTripBusInfo"
,
{
Id
:
this
.
msg
.
Id
,
},
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
msg
=
{
Id
:
res
.
data
.
data
.
Id
,
UseCompName
:
res
.
data
.
data
.
UseCompName
,
//订车单位
UseName
:
res
.
data
.
data
.
UseName
,
//订车人
PickUpInfo
:
res
.
data
.
data
.
PickUpInfo
,
//接机信息
GoFlightInfo
:
res
.
data
.
data
.
GoFlightInfo
,
//去程航班
BackFlightInfo
:
res
.
data
.
data
.
BackFlightInfo
,
//回程航班
PeopleNum
:
res
.
data
.
data
.
PeopleNum
,
//用车人数
UseDayNum
:
res
.
data
.
data
.
UseDayNum
,
//行程天数
StartDate
:
res
.
data
.
data
.
StartDate
,
//开始日期
BusType
:
res
.
data
.
data
.
BusType
,
//用车类型(接口返下拉列表)
GuideInfo
:
res
.
data
.
data
.
GuideInfo
,
//导游信息
TeamName
:
res
.
data
.
data
.
TeamName
,
//团队信息
details
:
res
.
data
.
data
.
details
}
}
})
},
showCardHandler
()
{
this
.
detailsRow
=
JSON
.
parse
(
JSON
.
stringify
(
this
.
detailsObj
))
this
.
showDetails
=
true
},
},
mounted
()
{
},
created
()
{
this
.
msg
.
Id
=
this
.
$route
.
query
.
OrderId
?
this
.
$route
.
query
.
OrderId
:
0
this
.
vehicleinit
()
this
.
vehicleList
()
if
(
this
.
msg
.
Id
){
this
.
getOrderInfo
()
}
}
};
</
script
>
\ No newline at end of file
src/components/busManagement/BookAcar/components/orderList.vue
View file @
10339e3a
...
...
@@ -969,11 +969,12 @@
makeAdocument
(
row
,
index
,
num
,
name
)
{
this
.
BillMakingMsg
.
ReFinanceId
=
row
.
OrderId
;
this
.
BillMakingMsg
.
ReFinanceId2
=
num
;
if
(
name
==
"Hand"
)
{
this
.
BillMakingMsg
.
OtherType
=
62
;
}
else
{
this
.
BillMakingMsg
.
OtherType
=
66
;
}
// if (name == "Hand") {
// this.BillMakingMsg.OtherType = 62;
// } else {
// this.BillMakingMsg.OtherType = 66;
// }
this
.
BillMakingMsg
.
OtherType
=
67
;
let
text
=
""
;
let
query
=
{};
if
(
num
==
1
)
{
...
...
src/components/busManagement/BookAcar/list.vue
View file @
10339e3a
...
...
@@ -327,7 +327,7 @@
methods
:
{
goUrl
(){
this
.
$router
.
push
({
name
:
'
a
ddEditVehicle'
,
name
:
'
CharterA
ddEditVehicle'
,
query
:
{
blank
:
"y"
,
tab
:
"新增/编辑团订"
...
...
src/components/busManagement/BookAcar/order.vue
View file @
10339e3a
...
...
@@ -4,7 +4,9 @@
<
template
>
<div>
<el-tabs
v-model=
"tab"
@
tab-click=
"handleClick"
>
<el-tab-pane
label=
"团队订单"
name=
"0"
>
用户管理
</el-tab-pane>
<el-tab-pane
label=
"团队订单"
name=
"0"
>
<TeamOrder
:pagesTitle=
"pagesTitle"
></TeamOrder>
</el-tab-pane>
<el-tab-pane
label=
"接机订单"
name=
"1"
>
<BookAcarOrder
:pagesTitle=
"pagesTitle"
:type=
"tab"
></BookAcarOrder>
</el-tab-pane>
...
...
@@ -19,8 +21,9 @@
</
template
>
<
script
>
import
BookAcarOrder
from
'./components/BookAcarOrder.vue'
;
import
TeamOrder
from
'../../busManagement/tripBusOrder.vue'
;
export
default
{
components
:
{
BookAcarOrder
},
components
:
{
TeamOrder
,
BookAcarOrder
},
data
()
{
return
{
pagesTitle
:
'销售'
,
...
...
src/components/busManagement/BookAcar/orderOP.vue
View file @
10339e3a
...
...
@@ -4,7 +4,9 @@
<
template
>
<div>
<el-tabs
v-model=
"tab"
@
tab-click=
"handleClick"
>
<el-tab-pane
label=
"团队订单"
name=
"0"
>
用户管理
</el-tab-pane>
<el-tab-pane
label=
"团队订单"
name=
"0"
>
<TeamOrder></TeamOrder>
</el-tab-pane>
<el-tab-pane
label=
"接机订单"
name=
"1"
>
<BookAcarOrder
:pagesTitle=
"pagesTitle"
:type=
"tab"
></BookAcarOrder>
</el-tab-pane>
...
...
@@ -19,8 +21,9 @@
</
template
>
<
script
>
import
BookAcarOrder
from
'./components/BookAcarOrder.vue'
;
import
TeamOrder
from
'../../busManagement/tripBusOrder.vue'
;
export
default
{
components
:
{
BookAcarOrder
},
components
:
{
TeamOrder
,
BookAcarOrder
},
data
()
{
return
{
pagesTitle
:
'OP'
,
...
...
src/components/busManagement/tripBusOrder.vue
View file @
10339e3a
...
...
@@ -28,6 +28,7 @@
</li>
<li><span><em>
状态
</em></span>
<el-select
v-model=
'msg.OfferState'
clearable
>
<el-option
label=
'不限'
value=
'-1'
key=
'-1'
></el-option>
<el-option
label=
'等待报价'
value=
'2'
key=
'2'
></el-option>
<el-option
label=
'已报价'
value=
'3'
key=
'3'
></el-option>
<el-option
label=
'确认报价'
value=
'4'
key=
'4'
></el-option>
...
...
@@ -36,6 +37,9 @@
</li>
<li>
<input
type=
"button"
class=
"normalBtn"
value=
"查询"
@
click=
"getList(); resetPageIndex()"
/>
<button
class=
"hollowFixedBtn"
type=
"primary"
@
click=
"goUrl"
>
添加
</button>
</li>
</ul>
</div>
...
...
@@ -97,14 +101,14 @@
{{
item
.
OfferStateName
}}
</td>
<td>
<template
v-if=
"item.SureId == 0"
>
<
!--
<
template
v-if=
"item.SureId == 0"
>
<span
style=
"color:red"
>
待确认
</span>
</
template
>
<
template
v-else
>
<span
style=
"color:red"
>
已确认
</span><br
/>
<span
style=
"color:red"
>
确认人:
{{
item
.
SureByName
}}
</span><br
/>
<span
style=
"color:red"
>
确认时间:
{{
item
.
SureTime
}}
</span>
</
template
>
</
template
>
-->
</td>
<td>
<div
class=
"link"
style=
"display: flex;
...
...
@@ -123,7 +127,7 @@
<!-- 详情 -->
<el-pagination
background
@
current-change=
"handleCurrentChange"
:current-page
.
sync=
"currentPage"
layout=
"total,prev, pager, next, jumper"
:page-size=
"msg.pageSize"
:total=
"total"
></el-pagination>
<el-dialog
custom-class=
'addCompany'
:title=
"dialogTitle"
:visible
.
sync=
"isShowPrice"
center
>
<el-dialog
custom-class=
'addCompany'
:title=
"dialogTitle"
:visible
.
sync=
"isShowPrice"
center
width=
"850px"
>
<el-form
:inline=
"true"
:label-position=
"labelPosition"
label-width=
"90px"
>
<el-form-item
label=
"下单人:"
style=
"width: 48%;"
>
<div
style=
"max-width: 205px;"
>
{{ postMsg.CustomerName }}
</div>
...
...
@@ -187,21 +191,26 @@
<div
v-if=
"postMsg.details && postMsg.details.length > 0"
>
<el-table
:data=
"postMsg.details"
max-height=
"300px"
show-summary
sum-text=
"小计"
:header-cell-style=
"{ background: '#eef1f6', color: '#606266' }"
style=
"width: 100%"
>
<el-table-column
prop=
"UseDate"
label=
"日期"
width=
"100"
align=
'center'
>
:header-cell-style=
"{ background: '#eef1f6', color: '#606266' }"
style=
"width: 100%"
align=
'center'
>
<el-table-column
prop=
"UseDate"
label=
"日期"
width=
"100"
>
</el-table-column>
<el-table-column
prop=
""
label=
"Day"
width=
"80"
align=
'center'
>
<el-table-column
prop=
""
label=
"Day"
width=
"80"
>
<
template
slot-scope=
"scope"
>
<span>
Day
{{
String
(
scope
.
row
.
DayNum
)
}}
</span>
</
template
>
</el-table-column>
<el-table-column
prop=
"UseTypeName"
label=
"用车类型"
width=
"100"
align=
'center'
>
<el-table-column
prop=
"UseTypeName"
label=
"用车类型"
width=
"100"
>
</el-table-column>
<el-table-column
prop=
"TripInfo"
label=
"行程"
min-width=
"200"
>
<el-table-column
prop=
"TripInfo"
label=
"行程"
>
<
template
slot-scope=
"scope"
>
<el-tooltip
class=
"item"
effect=
"dark"
:content=
"scope.row.TripInfo"
placement=
"bottom"
>
{{
scope
.
row
.
TripInfo
?
scope
.
row
.
TripInfo
:
'-'
}}
</el-tooltip>
</
template
>
</el-table-column>
<el-table-column
prop=
"UnitPrice"
label=
"价格"
width=
"90"
align=
'center'
>
<el-table-column
prop=
"UnitPrice"
label=
"价格"
>
<
template
slot-scope=
"scope"
>
<el-input
v-if=
"priceType == 1"
v-model=
"scope.row.UnitPrice"
@
input=
"calcPrice()"
@
keyup
.
native=
"checkInteger(scope.row, 'UnitPrice')"
style=
"width:90px;"
></el-input>
...
...
@@ -210,16 +219,16 @@
</span>
</
template
>
</el-table-column>
<el-table-column
prop=
"StopBusPrice"
label=
"停车费"
width=
"90"
align=
'center'
>
<el-table-column
prop=
"StopBusPrice"
label=
"停车费"
>
<
template
slot-scope=
"scope"
>
<el-input
v-if=
"priceType == 1"
v-model=
"scope.row.StopBusPrice"
@
input=
"calcPrice()"
<el-input
v-if=
"priceType == 1"
v-model=
"scope.row.StopBusPrice"
@
input=
"calcPrice()"
@
keyup
.
native=
"checkInteger(scope.row, 'StopBusPrice')"
style=
"width:90px;"
></el-input>
<span
v-if=
"priceType != 1"
>
{{
scope
.
row
.
StopBusPrice
}}
</span>
</
template
>
</el-table-column>
<el-table-column
prop=
"RoomPrice"
label=
"司机住宿费"
width=
"100"
align=
'center'
>
<el-table-column
prop=
"RoomPrice"
label=
"司机住宿费"
>
<
template
slot-scope=
"scope"
>
<el-input
v-if=
"priceType == 1"
v-model=
"scope.row.RoomPrice"
@
input=
"calcPrice()"
@
keyup
.
native=
"checkInteger(scope.row, 'RoomPrice')"
style=
"width:90px;"
></el-input>
...
...
@@ -321,6 +330,7 @@
<
script
>
export
default
{
props
:[
'pagesTitle'
],
data
()
{
return
{
drivermsg
:
{
...
...
@@ -343,7 +353,7 @@
TeamName
:
""
,
//团体名称
StartTime
:
""
,
//开始时间
EndTime
:
""
,
//结束时间
OfferState
:
""
,
//报价状态
OfferState
:
"
-1
"
,
//报价状态
},
boxHeight
:
0
,
offsetwidth
:
0
,
...
...
@@ -395,6 +405,15 @@
},
methods
:
{
goUrl
(){
this
.
$router
.
push
({
name
:
'CharterAddEditVehicle'
,
query
:
{
blank
:
"y"
,
tab
:
"新增/编辑团订"
}
});
},
handleCurrentChange
(
val
)
{
this
.
msg
.
pageIndex
=
val
;
this
.
getList
();
...
...
@@ -405,7 +424,8 @@
},
getList
()
{
this
.
loading
=
true
this
.
apipost
(
'tripbus_GetErpTripBusPage'
,
this
.
msg
,
res
=>
{
// tripbus_GetErpTripBusPage
this
.
apipost
(
'tripbus_GetTripBusPage'
,
this
.
msg
,
res
=>
{
this
.
loading
=
false
;
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
total
=
res
.
data
.
data
.
count
;
...
...
@@ -545,7 +565,7 @@
myDate
.
getDate
();
this
.
msg
.
StartTime
=
nowDate
;
let
width
=
window
.
innerWidth
-
50
;
let
height
=
window
.
innerHeight
-
65
-
21
0
;
let
height
=
window
.
innerHeight
-
65
-
30
0
;
this
.
boxHeight
=
height
;
this
.
offsetwidth
=
width
;
this
.
getList
();
...
...
@@ -553,7 +573,7 @@
}
</
script
>
<
style
>
<
style
scoped
>
.splitTrCss
td
{
background
:
#eee
!important
;
}
...
...
@@ -564,6 +584,7 @@
}
.busStatisticsTalbe
{
width
:
100%
;
background
:
#ccc
;
}
...
...
@@ -654,9 +675,6 @@
overflow
:
auto
;
max-height
:
350px
;
}
</
style
>
<
style
scoped
>
/
deep
/
.el-form-item
{
margin-bottom
:
0px
;
}
...
...
@@ -664,7 +682,7 @@
.total
{
display
:
flex
;
width
:
100%
;
justify-content
:
center
;
justify-content
:
end
;
font-weight
:
bold
;
margin-bottom
:
20px
;
margin-top
:
10px
;
...
...
@@ -675,5 +693,4 @@
width
:
100%
;
justify-content
:
space-between
;
}
</
style
>
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