Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
C
cloud-platform-ui
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
youjj
cloud-platform-ui
Commits
a79767d3
Commit
a79767d3
authored
Jul 29, 2019
by
lixy
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
车辆排期管理-排班记录
parent
98697576
Changes
12
Show whitespace changes
Inline
Side-by-side
Showing
12 changed files
with
399 additions
and
73 deletions
+399
-73
vehicleSchedulManage.js
src/api/vehicle/vehicleSchedulManage.js
+68
-0
detail.png
src/assets/images/detail.png
+0
-0
index.vue
src/views/campsiteManage/index.vue
+15
-7
rentOrderDetailModal.vue
src/views/order/modal/rentOrderDetailModal.vue
+15
-0
tourOrderDetailModal.vue
src/views/order/modal/tourOrderDetailModal.vue
+1
-1
index.vue
src/views/userManagement/userList/index.vue
+5
-9
disableModal.vue
src/views/vehicle/vehicleSchedulManage/disableModal.vue
+8
-2
index.vue
src/views/vehicle/vehicleSchedulManage/index.vue
+76
-12
vehicleExhibitionModal.vue
...s/vehicle/vehicleSchedulManage/vehicleExhibitionModal.vue
+3
-4
vehicleMaintenanceModal.vue
.../vehicle/vehicleSchedulManage/vehicleMaintenanceModal.vue
+26
-11
vehiclePlanModal.vue
src/views/vehicle/vehicleSchedulManage/vehiclePlanModal.vue
+8
-1
vehicleRecords.vue
src/views/vehicle/vehicleSchedulManage/vehicleRecords.vue
+174
-26
No files found.
src/api/vehicle/vehicleSchedulManage.js
View file @
a79767d3
import
fetch
from
'utils/fetch'
;
/**
* 排班列表
* @param query
*/
export
function
getVehiclePlanList
(
query
)
{
return
fetch
({
url
:
'/vehicle/vehicleInfo/app/unauth/getVehiclePlanList'
,
...
...
@@ -7,3 +11,67 @@ export function getVehiclePlanList(query) {
params
:
query
});
}
/**
* 根据订单号获取租车订单详情
* @param query
*/
export
function
getVehicleOrderDetail
(
query
)
{
return
fetch
({
url
:
'/api/order/baseOrder/orderDetail'
,
method
:
'get'
,
params
:
query
});
}
/**
* 同意
* @param query
*/
export
function
agreeBook
(
bookRecordId
)
{
return
fetch
({
url
:
'/vehicle/vehicleInfo/book/4employee/prove/'
+
bookRecordId
,
method
:
'put'
});
}
/**
* 取消
*/
export
function
cancleBook
(
bookRecordId
)
{
return
fetch
({
url
:
'/vehicle/vehicleInfo/unbook/4employee/'
+
bookRecordId
,
method
:
'delete'
});
}
/**
* 拒绝
*/
export
function
rejectBook
(
bookRecordId
)
{
return
fetch
({
url
:
'/vehicle/vehicleInfo/book/4employee/reject/'
+
bookRecordId
,
method
:
'put'
});
}
/**
* 安排用车
*/
export
function
bookPlan
(
query
)
{
return
fetch
({
url
:
'/vehicle/vehicleInfo/book/4employee'
,
method
:
'post'
,
data
:
query
});
}
/**
* 排班记录
*/
export
function
getBookRecord
(
query
)
{
return
fetch
({
url
:
'/vehicle/vehicleInfo/app/unauth/getBookRecord'
,
method
:
'get'
,
params
:
query
});
}
src/assets/images/detail.png
0 → 100644
View file @
a79767d3
874 Bytes
src/views/campsiteManage/index.vue
View file @
a79767d3
...
...
@@ -29,7 +29,7 @@
</el-form>
<el-button
class=
"filter-item"
type=
"primary"
v-waves
icon=
"search"
@
click=
"handleFilter"
>
搜索
</el-button>
<el-button
class=
"filter-item"
style=
"margin-left: 10px;"
@
click=
"handleCreate"
type=
"primary"
icon=
"edit"
>
添加
type=
"primary"
icon=
"edit"
v-if=
"campsite_btn_save"
>
添加
</el-button>
</div>
<el-table
:key=
'tableKey'
:data=
"list"
border
fit
highlight-current-row
...
...
@@ -64,11 +64,11 @@
</el-table-column>
<el-table-column
align=
"center"
width=
"300"
label=
"操作"
>
<
template
scope=
"scope"
>
<el-button
size=
"small"
type=
"success"
@
click=
"handleUpdate(scope.row)"
>
编辑
<el-button
size=
"small"
type=
"success"
@
click=
"handleUpdate(scope.row)"
v-if=
"campsiteshop_btn_update"
>
编辑
</el-button>
<el-button
size=
"small"
type=
"primary"
v-if=
"
scope.row.saleState==2|| scope.row.saleState==0
"
@
click=
"upStatus(scope.row)"
>
上架
<el-button
size=
"small"
type=
"primary"
v-if=
"
(scope.row.saleState==2|| scope.row.saleState==0) && campsiteshop_btn_update_salestatus
"
@
click=
"upStatus(scope.row)"
>
上架
</el-button>
<el-button
size=
"small"
type=
"warn"
v-if=
"scope.row.saleState==1"
@
click=
"upStatus(scope.row)"
>
下架
<el-button
size=
"small"
type=
"warn"
v-if=
"scope.row.saleState==1
&& campsiteshop_btn_update_salestatus
"
@
click=
"upStatus(scope.row)"
>
下架
</el-button>
<el-popover
ref=
"popover5"
...
...
@@ -81,7 +81,7 @@
<el-button
type=
"primary"
size=
"mini"
@
click=
"deleteHandler(scope.row)"
>
确定
</el-button>
</div>
</el-popover>
<el-button
type=
"danger"
size=
"small"
v-popover:popover5
>
删除
</el-button>
<el-button
type=
"danger"
size=
"small"
v-popover:popover5
v-if=
"campsiteshop_btn_del"
>
删除
</el-button>
</
template
>
</el-table-column>
</el-table>
...
...
@@ -162,10 +162,18 @@ import {
update
:
'编辑'
,
create
:
'创建'
},
tableKey
:
0
tableKey
:
0
,
campsite_btn_save
:
false
,
//添加
campsiteshop_btn_update
:
false
,
//编辑
campsiteshop_btn_update_salestatus
:
false
,
//上下架
campsiteshop_btn_del
:
false
,
//删除
}
},
created
()
{
created
()
{
debugger
this
.
campsite_btn_save
=
this
.
elements
[
'campsite:btn_save'
];
this
.
campsiteshop_btn_update
=
this
.
elements
[
'campsiteshop:btn_update'
];
this
.
campsiteshop_btn_update_salestatus
=
this
.
elements
[
'campsiteshop:btn_update_salestatus'
];
this
.
campsiteshop_btn_del
=
this
.
elements
[
'campsiteshop:btn_del'
];
this
.
getList
();
},
computed
:
{
...
...
src/views/order/modal/rentOrderDetailModal.vue
View file @
a79767d3
...
...
@@ -126,6 +126,21 @@
},
mounted
()
{
this
.
dialogVisible
=
true
;
if
(
this
.
form
.
status
==
2
)
{
this
.
form
.
ststusName
=
'取消'
;
}
if
(
this
.
form
.
status
==
3
)
{
this
.
form
.
ststusName
=
'待付款'
;
}
if
(
this
.
form
.
status
==
4
)
{
this
.
form
.
ststusName
=
'待出行'
;
}
if
(
this
.
form
.
status
==
5
)
{
this
.
form
.
ststusName
=
'出行中'
;
}
if
(
this
.
form
.
status
==
6
)
{
this
.
form
.
ststusName
=
'已完成'
;
}
},
methods
:
{
...
...
src/views/order/modal/tourOrderDetailModal.vue
View file @
a79767d3
...
...
@@ -188,7 +188,7 @@
},
methods
:
{
//获取订单详情
getOrderInfo
(){
debugger
getOrderInfo
(){
let
params
=
{
orderNo
:
this
.
tourRow
.
no
};
...
...
src/views/userManagement/userList/index.vue
View file @
a79767d3
...
...
@@ -172,11 +172,7 @@
<el-row
style=
"border-bottom: 1px dashed #ccc;padding: 10px 0;"
>
<el-col
:span=
"3"
>
<div
class=
"demo-type"
>
<el-avatar
src=
"https://cube.elemecdn.com/e/fd/0fc7d20532fdaf769a25683617711png.png"
@
error=
"errorHandler"
>
<img
:src=
"userDetails.headimgurl"
style=
"width: 80px;border-radius: 50%;"
/>
</el-avatar>
</div>
</el-col>
<el-col
:span=
"18"
>
...
...
@@ -406,7 +402,7 @@
<div
class=
"filter-container"
>
<el-form
ref=
"queryForm"
:model=
"orderQuery"
label-width=
"100px"
>
<el-row>
<el-col
:span=
"
7
"
>
<el-col
:span=
"
8
"
>
<el-form-item
label=
"订单类型"
>
<el-select
class=
"filter-item"
v-model=
"orderQuery.type"
placeholder=
"请选订单装太"
>
<el-option
:key=
"undefined"
label=
"所有订单"
:value=
"undefined"
></el-option>
...
...
@@ -415,7 +411,7 @@
</el-select>
</el-form-item>
</el-col>
<el-col
:span=
"
7
"
>
<el-col
:span=
"
8
"
>
<el-form-item
label=
"订单状态"
>
<el-select
class=
"filter-item"
v-model=
"orderQuery.status"
placeholder=
"请选会员类型"
>
<el-option
:key=
"undefined"
label=
"所有订单"
:value=
"undefined"
></el-option>
...
...
@@ -424,8 +420,8 @@
</el-select>
</el-form-item>
</el-col>
<el-col
:span=
"
7
"
>
<el-button
class=
"filter-item"
type=
"primary"
v-waves
icon=
"search"
@
click=
"userOrder"
>
搜索
</el-button>
<el-col
:span=
"
8
"
>
<el-button
class=
"filter-item"
type=
"primary"
v-waves
icon=
"search"
@
click=
"userOrder"
style=
"margin-left: 10px;"
>
搜索
</el-button>
</el-col>
</el-row>
...
...
src/views/vehicle/vehicleSchedulManage/disableModal.vue
View file @
a79767d3
...
...
@@ -5,18 +5,24 @@
<el-form-item
label=
"车牌号:"
>
<span>
{{
currentItem
.
item
.
numberPlate
}}
</span>
</el-form-item>
<el-form-item
label=
"停靠公司:"
>
<el-form-item
label=
"
当前
停靠公司:"
>
<span>
{{
currentItem
.
item
.
parkCompanyName
}}
</span>
</el-form-item>
<el-form-item
label=
"还车公司:"
>
<span>
{{
currentItem
.
ii
.
vehicleBookRecord
.
retCompanyName
}}
</span>
</el-form-item>
<el-form-item
label=
"申请人:"
>
<span>
{{
currentItem
.
ii
.
vehicleBookRecord
.
bookUserName
}}
</span>
</el-form-item>
<el-form-item
label=
"禁用时间:"
>
<span>
{{
currentItem
.
ii
.
vehicleBookRecord
.
bookStartDate
}}
~
{{
currentItem
.
ii
.
vehicleBookRecord
.
bookEndDate
}}
</span>
</el-form-item>
<el-form-item
label=
"禁用说明:"
>
<span>
{{
currentItem
.
ii
.
vehicleBookRecord
.
remark
}}
</span>
</el-form-item>
</el-form>
<div
slot=
"footer"
class=
"dialog-footer"
>
<el-button
type=
"primary"
@
click=
"cancel()"
>
取消禁用
</el-button>
<el-button
@
click=
"cancel()"
>
取消禁用
</el-button>
</div>
</el-dialog>
</
template
>
...
...
src/views/vehicle/vehicleSchedulManage/index.vue
View file @
a79767d3
...
...
@@ -90,9 +90,9 @@
</ul>
</div>
<!--车辆排班-->
<!--bookType
2-租车、1
-分公司使用、3-维修、4、展览、5、旅游、6、保养、7、预约中、8、禁用-->
<!--bookType
1-租车、2
-分公司使用、3-维修、4、展览、5、旅游、6、保养、7、预约中、8、禁用-->
<div
style=
"display: flex;"
>
<span
class=
"tip-co bg-
2
"
></span><span>
租房车
</span>
<span
class=
"tip-co bg-
1
"
></span><span>
租房车
</span>
<span
class=
"tip-co bg-5"
></span><span>
房车游
</span>
<span
class=
"tip-co bg-4"
></span><span>
展览
</span>
<span
class=
"tip-co bg-6"
></span><span>
保养
</span>
...
...
@@ -109,7 +109,7 @@
<div
style=
"color: #bfcbd9;font-size: 14px;"
>
现在位置:
{{
item
.
parkCompanyName
}}
</div>
<div>
{{
item
.
numberPlate
}}
</div>
<div>
{{
item
.
numberPlate
}}
<
img
src=
"../../../assets/images/detail.png"
style=
"width: 15px;margin-left: 10px;"
/><
/div>
<div
style=
"color: #bfcbd9;font-size: 14px;"
>
{{
item
.
vehicleModel
?
item
.
vehicleModel
.
name
:
''
}}
</div>
</div>
<div
class=
"day-title flex-jca-fdc"
style=
"padding: 0;"
v-for=
"iitem in item.temp"
:key=
"iitem.day"
>
...
...
@@ -157,8 +157,8 @@
.tip-co
:first-child
{
margin-left
:
0
;
}
/*
2-租车、1
-分公司使用、3-维修、4、展览、5、旅游、6、保养、7、预约中、8、禁用*/
.bg-
2
{
/*
1-租车、2
-分公司使用、3-维修、4、展览、5、旅游、6、保养、7、预约中、8、禁用*/
.bg-
1
{
background
:
#20a0ff
;
}
.bg-5
{
...
...
@@ -461,7 +461,7 @@
* 点击事件
* */
toShowDialog
(
item
,
iitem
,
ii
){
//
<!--
bookType
2
-
租车、
1
-
分公司使用、
3
-
维修、
4
、展览、
5
、旅游、
6
、保养、
7
、预约中、
8
、禁用
-->
//
<!--
bookType
1
-
租车、
2
-
分公司使用、
3
-
维修、
4
、展览、
5
、旅游、
6
、保养、
7
、预约中、
8
、禁用
-->
if
(
!
ii
.
bg
){
//空白-可安排用车
this
.
anpai
=
true
;
...
...
@@ -480,7 +480,7 @@
}
else
if
(
ii
.
bookType
==
7
){
this
.
zhanlan
=
true
;
this
.
currentItem
=
{
item
:
item
,
iitem
:
iitem
,
ii
:
ii
,
title
:
"预定用车"
};
}
else
if
(
ii
.
bookType
==
2
){
}
else
if
(
ii
.
bookType
==
1
){
this
.
getOneVechi
(
ii
.
vehicleBookRecord
.
orderNo
);
// this.rentOrder = true;
// this.rentOrderInfo = {};
...
...
@@ -743,7 +743,8 @@
// iitem.bookStartDate = iitem.bookStartDate.substring(0,10) + " " +sStart + ":00:00";
// iitem.bookEndDate = iitem.bookEndDate.substring(0,10) + " " +sEnd + ":00:00";
// });
item
.
temp
=
_this
.
getDayList
(
item
);
//获取车辆30天排期
// item.temp = _this.getDayList(item);//获取车辆30天排期
item
.
temp
=
_this
.
getMonthDayList
(
item
);
//获取车辆30天排期
});
}
if
(
!
this
.
$utils
.
isEmpty
(
response
.
data
.
vehicleWarningMsgs
))
{
...
...
@@ -754,6 +755,8 @@
}
this
.
listLoading
=
false
;
this
.
list
=
listRs
;
//渲染颜色
this
.
setColor
();
this
.
total
=
totalCountRs
;
})
},
...
...
@@ -776,7 +779,20 @@
this
.
getList
();
},
/**
* 获取日期数组
* 获取未来30天日历表
* */
getMonthDayList
(
item
){
let
temp
=
[];
let
list
=
this
.
list
;
for
(
let
i
=
0
;
i
<
30
;
i
++
){
let
t
=
[];
let
tymd
=
getymdTimeByDay
(
i
);
temp
.
push
({
day
:
getTimeByDay
(
i
),
month
:
getMonth
(
i
),
time
:
tymd
});
}
return
temp
;
},
/**
* 渲染颜色
* */
getDayList
(
item
){
let
temp
=
[];
...
...
@@ -804,15 +820,15 @@
pp
.
h
=
h
;
item
.
vehicleBookRecord
.
map
(
function
(
iitem
)
{
if
(
iitem
.
bookStartDate
<=
tt
&&
iitem
.
bookEndDate
>=
tt
)
{
//
<!--
bookType
1
-
分公司使用、
2
-
租车、
3
-
维修、
4
、展览、
5
、旅游、
6
、保养、
7
、预约中、
8
、禁用
-->
if
(
iitem
.
bookStartDate
==
tt
&&
(
iitem
.
bookType
==
2
||
iitem
.
bookType
==
5
||
iitem
.
bookType
==
4
)){
//租车、旅游、展览显示起止时间
//
<!--
bookType
2
-
分公司使用、
1
-
租车、
3
-
维修、
4
、展览、
5
、旅游、
6
、保养、
7
、预约中、
8
、禁用
-->
if
(
iitem
.
bookStartDate
==
tt
&&
(
iitem
.
bookType
==
1
||
iitem
.
bookType
==
5
||
iitem
.
bookType
==
4
)){
//租车、旅游、展览显示起止时间
pp
.
timeStr
=
h
;
}
pp
.
bg
=
"bg-"
+
iitem
.
bookType
;
pp
.
vehicleBookRecord
=
iitem
;
pp
.
bookType
=
iitem
.
bookType
;
if
(
iitem
.
bookEndDate
==
tt
){
if
(
iitem
.
bookType
==
2
||
iitem
.
bookType
==
5
||
iitem
.
bookType
==
4
){
if
(
iitem
.
bookType
==
1
||
iitem
.
bookType
==
5
||
iitem
.
bookType
==
4
){
pp
.
timeEtr
=
h
;
}
pp
.
bg
=
""
;
...
...
@@ -825,6 +841,54 @@
}
return
temp
;
},
/**
* 获取日期数组
* */
setColor
(){
let
temp
=
[];
this
.
list
.
map
(
function
(
item
){
item
.
temp
.
map
(
function
(
ttemp
){
let
children
=
[];
let
tt
=
""
;
//yyyy-MM-dd hh:mm:ss
let
h
=
""
;
let
bookType
=
undefined
;
//当前车辆状态
let
vehicleBookRecord
=
{};
//车辆排班信息
for
(
let
ii
=
0
;
ii
<
24
;
ii
++
)
{
if
(
ii
<
10
)
{
h
=
"0"
+
ii
;
tt
=
ttemp
.
time
+
" 0"
+
ii
+
":00:00"
;
}
else
{
tt
=
ttemp
.
time
+
" "
+
ii
+
":00:00"
;
h
=
ii
;
}
let
bg
=
""
;
//背景色
let
pp
=
{};
pp
.
time
=
tt
;
pp
.
h
=
h
;
item
.
vehicleBookRecord
.
map
(
function
(
iitem
)
{
if
(
iitem
.
bookStartDate
<=
tt
&&
iitem
.
bookEndDate
>=
tt
)
{
//
<!--
bookType
2
-
分公司使用、
1
-
租车、
3
-
维修、
4
、展览、
5
、旅游、
6
、保养、
7
、预约中、
8
、禁用
-->
if
(
iitem
.
bookStartDate
==
tt
&&
(
iitem
.
bookType
==
1
||
iitem
.
bookType
==
5
||
iitem
.
bookType
==
4
)){
//租车、旅游、展览显示起止时间
pp
.
timeStr
=
h
;
}
pp
.
bg
=
"bg-"
+
iitem
.
bookType
;
pp
.
vehicleBookRecord
=
iitem
;
pp
.
bookType
=
iitem
.
bookType
;
if
(
iitem
.
bookEndDate
==
tt
){
if
(
iitem
.
bookType
==
1
||
iitem
.
bookType
==
5
||
iitem
.
bookType
==
4
){
pp
.
timeEtr
=
h
;
}
pp
.
bg
=
""
;
}
}
});
children
.
push
(
pp
);
}
ttemp
.
children
=
children
});
});
},
/**
* tempDayList
**/
...
...
src/views/vehicle/vehicleSchedulManage/vehicleExhibitionModal.vue
View file @
a79767d3
...
...
@@ -11,11 +11,11 @@
<el-form-item
label=
"申请人:"
>
<span>
{{
currentItem
.
ii
.
vehicleBookRecord
.
bookUserName
}}
</span>
</el-form-item>
<el-form-item
label=
"
提车
公司:"
>
<el-form-item
label=
"
当前停靠
公司:"
>
<span>
{{
currentItem
.
item
.
parkCompanyName
}}
</span>
</el-form-item>
<el-form-item
label=
"还车公司:"
>
<span>
{{
currentItem
.
i
tem
.
destinationBranch
CompanyName
}}
</span>
<span>
{{
currentItem
.
i
i
.
vehicleBookRecord
.
ret
CompanyName
}}
</span>
</el-form-item>
<el-form-item
label=
"预定时间:"
>
<span>
{{
currentItem
.
ii
.
vehicleBookRecord
.
bookStartDate
}}
~
{{
currentItem
.
ii
.
vehicleBookRecord
.
bookEndDate
}}
</span>
...
...
@@ -24,12 +24,11 @@
<span>
{{
currentItem
.
title
==
"展览用车"
?
"展览"
:
currentItem
.
title
==
"预定用车"
?
"预定"
:
""
}}
</span>
</el-form-item>
<el-form-item
label=
"申请说明:"
>
<span></span>
<span>
{{
currentItem
.
ii
.
vehicleBookRecord
.
remark
}}
</span>
</el-form-item>
</el-form>
<div
slot=
"footer"
v-if=
'currentItem.title == "展览用车" && currentItem.ii.vehicleBookRecord.status==2'
class=
"dialog-footer"
>
<el-button
@
click=
"cancel()"
>
取消用车
</el-button>
<el-button
type=
"primary"
@
click=
"handelOk()"
>
确 定
</el-button>
</div>
<div
slot=
"footer"
v-if=
'currentItem.title == "预定用车" && currentItem.ii.vehicleBookRecord.status==1'
class=
"dialog-footer"
>
<el-button
type=
"primary"
@
click=
"agree()"
>
同 意
</el-button>
...
...
src/views/vehicle/vehicleSchedulManage/vehicleMaintenanceModal.vue
View file @
a79767d3
...
...
@@ -8,11 +8,11 @@
<el-form-item
label=
"所属公司:"
>
<span>
{{
currentItem
.
item
.
subordinateBranchName
}}
</span>
</el-form-item>
<el-form-item
label=
"
提车保养
公司:"
>
<el-form-item
label=
"
当前停靠
公司:"
>
<span>
{{
currentItem
.
item
.
parkCompanyName
}}
</span>
</el-form-item>
<el-form-item
label=
"还车公司:"
>
<span>
{{
currentItem
.
i
tem
.
destinationBranch
CompanyName
}}
</span>
<span>
{{
currentItem
.
i
i
.
vehicleBookRecord
.
ret
CompanyName
}}
</span>
</el-form-item>
<el-form-item
label=
"保养人:"
>
<span>
{{
currentItem
.
ii
.
vehicleBookRecord
.
bookUserName
}}
</span>
...
...
@@ -27,9 +27,12 @@
<span></span>
</el-form-item>
</el-form>
<div
slot=
"footer"
class=
"dialog-footer"
>
<div
slot=
"footer"
class=
"dialog-footer"
v-if=
"currentItem.ii.vehicleBookRecord.status==2"
>
<el-button
@
click=
"cancel()"
>
取消用车
</el-button>
<el-button
type=
"primary"
@
click=
"handelOk()"
>
确 定
</el-button>
</div>
<div
slot=
"footer"
v-if=
'currentItem.ii.vehicleBookRecord.status==1'
class=
"dialog-footer"
>
<el-button
type=
"primary"
@
click=
"agree()"
>
同 意
</el-button>
<el-button
@
click=
"notAgree()"
>
不同意
</el-button>
</div>
</el-dialog>
</
template
>
...
...
@@ -38,6 +41,11 @@
import
ElRow
from
"element-ui/packages/row/src/row"
;
import
ElCol
from
"element-ui/packages/col/src/col"
;
import
ElFormItem
from
"../../../../node_modules/element-ui/packages/form/src/form-item.vue"
;
import
{
agreeBook
,
cancleBook
,
rejectBook
}
from
'api/vehicle/vehicleSchedulManage'
;
export
default
{
components
:
{
ElFormItem
,
...
...
@@ -68,16 +76,23 @@
* 保养-弹框-取消
* */
cancel
()
{
c
onsole
.
log
(
"保养取消用车"
);
c
ancleBook
(
this
.
currentItem
.
ii
.
vehicleBookRecord
.
id
).
then
(
response
=>
{
this
.
$emit
(
"zhanlanDialogEvent"
,
true
);}
);
this
.
$emit
(
"baoyangDialogEvent"
,
true
);
},
/**
* 保养-确定用车
* */
handelOk
(){
console
.
log
(
"保养确定用车"
);
this
.
$emit
(
"baoyangDialogEvent"
,
true
);
}
* 同意
*/
agree
(){
console
.
log
(
"同意"
);
agreeBook
(
this
.
currentItem
.
ii
.
vehicleBookRecord
.
id
).
then
(
response
=>
{
this
.
$emit
(
"zhanlanDialogEvent"
,
true
);});
},
/**
* 不同意
*/
notAgree
(){
console
.
log
(
"不同意"
);
rejectBook
(
this
.
currentItem
.
ii
.
vehicleBookRecord
.
id
).
then
(
response
=>
{
this
.
$emit
(
"zhanlanDialogEvent"
,
true
);});
},
}
}
</
script
>
...
...
src/views/vehicle/vehicleSchedulManage/vehiclePlanModal.vue
View file @
a79767d3
...
...
@@ -32,7 +32,7 @@
<el-date-picker
v-model=
"form.times"
type=
"datetimerange"
format=
"yyyy-MM-dd hh
"
:picker-options=
"pickerOptions0
"
placeholder=
"选择时间范围"
>
</el-date-picker>
</el-form-item>
...
...
@@ -116,6 +116,11 @@
name
:
'vehiclePlanModal'
,
data
()
{
return
{
pickerOptions0
:
{
disabledDate
(
time
)
{
return
time
.
getTime
()
<
Date
.
now
()
-
8.64e7
;
}
},
anpai
:
false
,
allCompaniesArr
:[],
form
:{
...
...
@@ -223,6 +228,7 @@
* */
handelOk
(
formName
){
const
set
=
this
.
$refs
;
console
.
log
(
this
.
form
.
times
);
set
[
formName
].
validate
(
valid
=>
{
if
(
valid
)
{
let
params
=
{
...
...
@@ -250,6 +256,7 @@
}
})
},
}
}
</
script
>
...
...
src/views/vehicle/vehicleSchedulManage/vehicleRecords.vue
View file @
a79767d3
...
...
@@ -22,8 +22,8 @@
</el-table-column>
<el-table-column
width=
"100"
align=
"center"
label=
"用途"
>
<
template
scope=
"scope"
>
<!--/*
2-租车、1
-分公司使用、3-维修、4、展览、5、旅游、6、保养、7、预约中、8、禁用*/-->
<span>
{{
scope
.
row
.
bookType
==
2
?
"租房车"
:
scope
.
row
.
bookType
==
4
?
"展览"
:
scope
.
row
.
bookType
==
5
?
"房车游"
:
scope
.
row
.
bookType
==
6
?
"保养"
:
scope
.
row
.
bookType
==
7
?
"预约中"
:
scope
.
row
.
bookType
==
8
?
"禁用"
:
'未知用途'
}}
</span>
<!--/*
1-租车、2
-分公司使用、3-维修、4、展览、5、旅游、6、保养、7、预约中、8、禁用*/-->
<span>
{{
scope
.
row
.
bookType
==
1
?
"租房车"
:
scope
.
row
.
bookType
==
4
?
"展览"
:
scope
.
row
.
bookType
==
5
?
"房车游"
:
scope
.
row
.
bookType
==
6
?
"保养"
:
scope
.
row
.
bookType
==
7
?
"预约中"
:
scope
.
row
.
bookType
==
8
?
"禁用"
:
'未知用途'
}}
</span>
</
template
>
</el-table-column>
<el-table-column
width=
"200"
align=
"center"
label=
"订单号"
>
...
...
@@ -53,7 +53,7 @@
</el-table-column>
<el-table-column
align=
"center"
label=
"操作"
width=
"300"
>
<
template
scope=
"scope"
>
<el-button
size=
"small"
type=
"success"
@
click=
"
handleDetail
(scope.row)"
>
详情
</el-button>
<el-button
size=
"small"
type=
"success"
@
click=
"
toShowDialog
(scope.row)"
>
详情
</el-button>
<el-button
size=
"small"
type=
"success"
@
click=
"getLogInfo(scope.row)"
>
重新安排
</el-button>
</
template
>
</el-table-column>
...
...
@@ -64,26 +64,31 @@
layout=
"total, sizes, prev, pager, next, jumper"
:total=
"total"
></el-pagination>
</div>
<!--详情-->
<el-dialog
title=
"详情"
:visible
.
sync=
"dialogVisible"
>
<el-form
:model=
"currentItem"
ref=
"currentItem"
label-width=
"120px"
>
<el-form-item
label=
"车牌号:"
>
<span>
{{currentItem.numberPlate}}
</span>
</el-form-item>
<!--<el-form-item label="停靠公司:">-->
<!--<span>{{currentItem.parkCompanyName}}</span>-->
<!--</el-form-item>-->
<!--<el-form-item label="申请人:">-->
<!--<span>{{currentItem.ii.vehicleBookRecord.bookUserName}}</span>-->
<!--</el-form-item>-->
<!--<el-form-item label="禁用时间:">-->
<!--<span>{{currentItem.ii.vehicleBookRecord.bookStartDate}}~{{currentItem.ii.vehicleBookRecord.bookEndDate}}</span>-->
<!--</el-form-item>-->
</el-form>
</el-dialog>
<!--保养弹框-->
<vehicleMaintenanceModal
v-if=
"baoyang"
:currentItem=
"currentItem"
v-on:baoyangDialogEvent =
"baoyangDialogEvent"
></vehicleMaintenanceModal>
<!--展览、预定用车弹框-->
<vehicleExhibitionModal
v-if=
"zhanlan"
:currentItem=
"currentItem"
v-on:zhanlanDialogEvent =
"zhanlanDialogEvent"
></vehicleExhibitionModal>
<!--安排用车弹框-->
<vehiclePlanModal
v-if=
"anpai"
:currentItem=
"currentItem"
v-on:anpaiDialogEvent =
"anpaiDialogEvent"
></vehiclePlanModal>
<!--租车详情弹框-->
<!--rentOrder-->
<rentOrderDetailModal
:form=
"rentOrderInfo"
:rentCostDetail=
"rentCostDetail"
v-if=
"rentOrder"
v-on:rentOrderDetailDialogEvent=
"rentOrderDetailDialogEvent"
></rentOrderDetailModal>
<!--旅游订单详情-->
<tourOrderDetailModal
:tourRow=
"tourRow"
v-if=
"tourDialogVisible"
v-on:tourOrderDetailDialogEvent=
"tourOrderDetailDialogEvent"
></tourOrderDetailModal>
<!--禁用弹框-->
<disableModal
v-if=
"jinyong"
:currentItem=
"currentItem"
v-on:jinyongDialogEvent =
"jinyongDialogEvent"
></disableModal>
</div>
</template>
<
script
>
import
vehicleMaintenanceModal
from
'./vehicleMaintenanceModal'
;
//车辆保养弹框
import
vehicleExhibitionModal
from
'./vehicleExhibitionModal'
;
//车辆展览弹框
import
vehiclePlanModal
from
'./vehiclePlanModal'
;
//安排用车
import
rentOrderDetailModal
from
"../../order/modal/rentOrderDetailModal"
;
//租车订单详情
import
tourOrderDetailModal
from
"../../order/modal/tourOrderDetailModal"
;
//房车游订单详情
import
disableModal
from
"./disableModal"
;
//禁用弹框
import
{
getVehicleOrderDetail
}
from
'api/vehicle/vehicleSchedulManage'
;
import
{
getBookRecord
}
from
'api/vehicle/vehicleSchedulManage'
;
...
...
@@ -91,8 +96,29 @@
import
{
formatDate
}
from
'utils/dateFormattor'
;
import
{
toEast8Date
,
deepCopyDate
,
newEast8Date
,
convertDate2Str
,
timestamp2Date
,
getTimeByDay
,
getCurrentMonth
,
getMonth
,
getymdTimeByDay
,
getCurrentYearMonth
}
from
'utils/dateUtils'
;
export
default
{
name
:
'vehicleRecords'
,
components
:
{
vehicleExhibitionModal
,
vehicleMaintenanceModal
,
vehiclePlanModal
,
rentOrderDetailModal
,
tourOrderDetailModal
,
disableModal
},
data
()
{
return
{
currentItem
:
{},
//当前操作表单
...
...
@@ -119,7 +145,17 @@
numberPlate
:
undefined
},
tableKey
:
0
,
dialogFormVisible
:
false
dialogFormVisible
:
false
,
baoyang
:
false
,
//保养弹框,
zhanlan
:
false
,
//展览弹框
rentOrder
:
false
,
//租车订单详情
anpai
:
false
,
//安排用车弹框
jinyong
:
false
,
//禁用弹框
currentItem
:
{},
//待操作数据
rentOrderInfo
:
{},
//租车订单详情
rentCostDetail
:
{},
//租车订单费用明细
tourDialogVisible
:
false
,
//旅游订单弹框
tourRow
:
{},
//旅游订单详情-当前行
}
},
created
()
{
...
...
@@ -133,6 +169,79 @@
handleFilter
()
{
this
.
getList
();
},
/**
* 点击事件
* */
toShowDialog
(
cc
,
iitem
){
let
item
=
{};
let
ii
=
{
vehicleBookRecord
:
cc
};
//
<!--
bookType
1
-
租车、
2
-
分公司使用、
3
-
维修、
4
、展览、
5
、旅游、
6
、保养、
7
、预约中、
8
、禁用
-->
item
.
numberPlate
=
this
.
listQuery
.
numberPlate
;
//车牌号
item
.
parkCompanyName
=
cc
.
parkCompanyName
;
//当前停靠公司
item
.
subordinateBranchName
=
cc
.
subordinateBranchName
;
//所属公司
if
(
cc
.
bookType
==
6
){
//保养
this
.
baoyang
=
true
;
this
.
currentItem
=
{
item
:
item
,
iitem
:
iitem
,
ii
:
ii
};
}
else
if
(
cc
.
bookType
==
4
){
//展览
this
.
zhanlan
=
true
;
this
.
currentItem
=
{
item
:
item
,
ii
:
ii
,
title
:
"展览用车"
};
}
else
if
(
cc
.
bookType
==
7
){
this
.
zhanlan
=
true
;
this
.
currentItem
=
{
item
:
item
,
ii
:
ii
,
title
:
"预定用车"
};
}
else
if
(
cc
.
bookType
==
1
){
this
.
getOneVechi
(
cc
.
orderNo
);
this
.
currentItem
=
{
item
:
item
,
iitem
:
iitem
,
ii
:
ii
,
title
:
"租车订单"
};
}
else
if
(
cc
.
bookType
==
5
)
{
//房车游订单详情
this
.
tourRow
=
{
no
:
cc
.
vehicleBookRecord
.
orderNo
};
this
.
tourDialogVisible
=
true
}
else
if
(
cc
.
bookType
==
8
)
{
//禁用
this
.
jinyong
=
true
;
this
.
currentItem
=
{
item
:
item
,
iitem
:
iitem
,
ii
:
ii
,
title
:
"禁用"
};
}
},
/**
* 根据订单号获取订单详情
* */
getOneVechi
:
function
(
orderNo
)
{
let
params
=
{
orderNo
:
orderNo
};
getVehicleOrderDetail
(
params
).
then
(
res
=>
{
if
(
res
.
status
==
200
)
{
let
a
=
res
.
data
;
a
.
orderRentVehicleDetail
.
startTime
=
timestamp2Date
(
a
.
orderRentVehicleDetail
.
startTime
);
a
.
orderRentVehicleDetail
.
endTime
=
timestamp2Date
(
a
.
orderRentVehicleDetail
.
endTime
);
let
arr
=
a
.
picture
?
a
.
picture
.
split
(
","
)
:
[];
a
.
picture
=
arr
.
length
>
0
?
arr
[
0
]
:
""
;
a
.
payTime
=
timestamp2Date
(
a
.
payTime
);
this
.
rentOrderInfo
=
a
;
this
.
costDetail
=
JSON
.
parse
(
this
.
rentOrderInfo
.
orderRentVehicleDetail
.
costDetail
);
var
cost
=
''
;
this
.
costDetail
.
children
.
map
(
function
(
a
)
{
cost
+=
a
.
key
+
":"
+
a
.
detail
+
" "
;
});
this
.
rentCostDetail
=
cost
;
if
(
this
.
rentOrderInfo
.
orderRentVehicleDetail
.
driverType
==
1
)
{
this
.
serviceCost
=
this
.
rentOrderInfo
.
orderRentVehicleDetail
.
dayNum
*
600
}
this
.
rentOrder
=
true
;
}
else
{
this
.
$notify
({
title
:
'失败'
,
message
:
'操作失败!'
,
type
:
'error'
,
duration
:
2000
});
}
});
},
/**
* 获取排班记录列表数据
*/
...
...
@@ -156,11 +265,50 @@
this
.
getList
();
},
/**
* 详情
*/
handleDetail
(
row
){
this
.
currentItem
=
row
;
this
.
dialogVisible
=
true
;
* 关闭保养弹框后逻辑处理
* */
baoyangDialogEvent
(
e
){
this
.
baoyang
=
false
;
if
(
e
){
//关闭编辑
//编辑成功-重新加载列表
this
.
getList
();
}
},
/**
* 关闭展览弹框后逻辑处理
* */
zhanlanDialogEvent
(
e
){
this
.
zhanlan
=
false
;
if
(
e
){
//关闭编辑
//编辑成功-重新加载列表
this
.
getList
();
}
},
/**
* 禁用弹框关闭后逻辑处理
* */
jinyongDialogEvent
(
e
){
this
.
jinyong
=
false
;
if
(
e
){
//关闭编辑
//编辑成功-重新加载列表
this
.
getList
();
}
},
/**
* 安排用车弹框关闭逻辑处理
* */
anpaiDialogEvent
(
e
){
this
.
anpai
=
false
;
if
(
e
){
//关闭编辑
//编辑成功-重新加载列表
this
.
getList
();
}
},
/**
* 租车订单详情弹框关闭
* */
rentOrderDetailDialogEvent
(
e
){
this
.
rentOrder
=
false
;
},
}
}
...
...
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