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
b67ba90a
Commit
b67ba90a
authored
Sep 29, 2019
by
guoyou
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
创建租车订单
parent
e13b129b
Changes
6
Show whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
1460 additions
and
838 deletions
+1460
-838
index.js
src/api/admin/userManagement/index.js
+15
-0
rentVehicle.js
src/api/order/rentVehicle.js
+26
-0
index.js
src/router/index.js
+6
-0
index.vue
src/views/order/createOrder/index.vue
+409
-0
index.vue
src/views/order/orderStatistics/index.vue
+3
-3
index.vue
src/views/order/rentVehicleInfo/index.vue
+1001
-835
No files found.
src/api/admin/userManagement/index.js
View file @
b67ba90a
...
...
@@ -116,3 +116,18 @@ export function deleteStaffs(id) {
});
}
//检测员工
export
function
checkStaffs
(
id
)
{
return
fetch
({
url
:
'/api/admin/api/app/unauth/check?phone='
+
id
,
method
:
'get'
});
}
export
function
username
(
id
)
{
return
fetch
({
url
:
'api/admin/public/app/userinfo-by-username?name='
+
id
,
method
:
'get'
});
}
\ No newline at end of file
src/api/order/rentVehicle.js
View file @
b67ba90a
...
...
@@ -71,3 +71,29 @@ export function getStep(orderNo) {
method
:
'get'
});
}
export
function
inquire
(
query
)
{
return
fetch
({
url
:
'/vehicle/vehicleInfo/rent/usable-vehicle'
,
method
:
'get'
,
params
:
query
});
}
//创建订单
export
function
addIndent
(
params
)
{
return
fetch
({
url
:
'/api/order/orderRentVehicle/back-stage/add'
,
method
:
'post'
,
data
:
params
});
}
//删除订单
export
function
calculate
(
no
,
params
)
{
return
fetch
({
url
:
'/api/order/baseOrder/back-stage/cancel/'
+
no
,
method
:
'post'
,
data
:
params
});
}
\ No newline at end of file
src/router/index.js
View file @
b67ba90a
...
...
@@ -432,6 +432,12 @@ export const asyncRouterMap = [{
component
:
_import
(
'order/orderStatistics/index'
),
name
:
'会员订单统计'
,
authority
:
'orderStatistics'
},
{
path
:
'createOrder'
,
component
:
_import
(
'order/createOrder/index'
),
name
:
'创建租车订单'
,
authority
:
'createOrder'
}
]
},
...
...
src/views/order/createOrder/index.vue
0 → 100644
View file @
b67ba90a
<
template
>
<div
class=
"app-container calendar-list-container"
>
<div
class=
"filter-container"
>
<el-form
ref=
"listQuery"
:model=
"listQuery"
:rules=
"rules"
label-width=
"115px"
>
<el-form-item
label=
"取/还车公司"
required
>
<el-col
:span=
"3"
>
<el-form-item
prop=
"startCompanyId"
>
<el-autocomplete
class=
"inline-input"
v-model=
"listQuery.startCompanyId"
:fetch-suggestions=
"querySearch"
placeholder=
"请输入取车公司"
@
select=
"handleSelectPark"
></el-autocomplete>
</el-form-item>
</el-col>
<el-col
class=
"line"
:span=
"1"
style=
"width:20px"
>
一
</el-col>
<el-col
:span=
"5"
>
<el-form-item
prop=
"endCompanyId"
>
<el-autocomplete
class=
"inline-input"
v-model=
"listQuery.endCompanyId"
:fetch-suggestions=
"querySearch"
placeholder=
"请输入取车公司"
@
select=
"returnCarSelect"
></el-autocomplete>
</el-form-item>
</el-col>
</el-form-item>
<el-form-item
label=
"取/还车时间:"
prop=
"time"
>
<el-date-picker
v-model=
"listQuery.time"
type=
"datetimerange"
range-separator=
"至"
start-placeholder=
"开始日期"
placeholder=
"请输入取/还车时间"
end-placeholder=
"结束日期"
value-format=
"timestamp"
@
change=
"changeTime"
></el-date-picker>
<el-button
class=
"filter-item"
type=
"primary"
v-waves
@
click=
"lookType('listQuery')"
style=
"margin:0 0 0 10px"
:loading=
"lookLoad"
>
查看可用车型
</el-button>
</el-form-item>
<div
v-show=
"isHave"
>
<el-row>
<el-form-item
label=
"选择车型:"
:prop=
"isHave === true ? domains.modelId : ''"
>
<el-radio-group
v-model=
"listQuery.modelId"
>
<el-radio-button
v-for=
"(item,index) in motorcycle"
:key=
"index"
:label=
"item.id"
>
{{
item
.
name
}}
</el-radio-button>
</el-radio-group>
</el-form-item>
<el-col
:span=
"5"
>
<el-form-item
label=
"手机号:"
:prop=
"isHave === true ? domains.tel : ''"
>
<el-input
v-model=
"listQuery.tel"
placeholder=
"请输入手机号"
@
blur=
"lose"
></el-input>
</el-form-item>
<el-form-item
label=
"车损免赔:"
:prop=
"isHave === true ? domains.damageSafe : ''"
>
<el-radio-group
v-model=
"listQuery.damageSafe"
>
<el-radio-button
label=
"需要"
></el-radio-button>
<el-radio-button
label=
"不需要"
></el-radio-button>
</el-radio-group>
</el-form-item>
<el-form-item
label=
"使用会员天数:"
:prop=
"isHave === true ? domains.rentFreeDay : ''"
>
<el-radio-group
v-model=
"listQuery.rentFreeDay"
>
<el-radio-button
label=
"使用"
:disabled=
"userFreeDay"
></el-radio-button>
<el-radio-button
label=
"不使用"
></el-radio-button>
</el-radio-group>
</el-form-item>
</el-col>
</el-row>
<el-button
class=
"filter-item"
type=
"primary"
v-waves
@
click=
"createOrder('listQuery')"
>
创建订单
</el-button>
</div>
</el-form>
</div>
</div>
</
template
>
<
script
>
import
{
getAll
}
from
"api/base_info/branch_company/"
;
import
{
inquire
,
addIndent
}
from
"api/order/rentVehicle"
;
import
{
getYMD_hm
,
timestamp2Date
}
from
"utils/dateUtils"
;
import
{
username
}
from
"api/admin/userManagement"
;
export
default
{
created
()
{
getAll
().
then
(
response
=>
{
this
.
allCompaniesArr
=
response
.
data
;
});
},
data
()
{
return
{
appUserId
:
null
,
userFreeDay
:
true
,
isPhone
:
true
,
motorcycle
:
[],
isHave
:
false
,
allCompaniesArr
:
[],
lookLoad
:
false
,
listQuery
:
{
startCompanyId
:
null
,
endCompanyId
:
null
,
startCompanyIds
:
null
,
endCompanyIds
:
null
,
time
:
[],
limit
:
100
,
page
:
1
,
modelId
:
""
,
radio1
:
""
,
tel
:
""
,
damageSafe
:
""
,
rentFreeDay
:
""
},
domains
:
{
modelId
:
"modelId"
,
tel
:
"tel"
,
damageSafe
:
"damageSafe"
,
rentFreeDay
:
"rentFreeDay"
},
rules
:
{
startCompanyId
:
[
{
required
:
true
,
message
:
"请选择取车公司"
,
trigger
:
"change"
}
],
endCompanyId
:
[
{
required
:
true
,
message
:
"请选择还车公司"
,
trigger
:
"change"
}
],
time
:
[
{
type
:
"array"
,
required
:
true
,
message
:
"请选择时间"
,
trigger
:
"change"
}
],
modelId
:
[
{
type
:
"array"
,
required
:
true
,
message
:
"请选择车型"
,
trigger
:
"change"
}
],
tel
:
[{
required
:
true
,
message
:
"请输入手机号码"
,
trigger
:
"blur"
}],
damageSafe
:
[
{
type
:
"array"
,
required
:
true
,
message
:
"请选择是否购买免赔"
,
trigger
:
"change"
}
],
rentFreeDay
:
[
{
required
:
true
,
message
:
"请输入使用会员天数"
,
trigger
:
"blur"
}
]
}
};
},
methods
:
{
changeTime
()
{
!!
this
.
listQuery
.
time
[
0
]
?
""
:
(
this
.
listQuery
.
time
=
[]);
},
//创建订单
createOrder
(
formName
)
{
if
(
this
.
listQuery
.
startCompanyId
==
""
)
{
this
.
$notify
({
title
:
"失败"
,
message
:
"请选择取/还车公司"
,
type
:
"error"
,
duration
:
2000
});
return
false
;
}
else
if
(
this
.
listQuery
.
time
==
""
)
{
this
.
$notify
({
title
:
"失败"
,
message
:
"请选择取/还车时间"
,
type
:
"error"
,
duration
:
2000
});
return
false
;
}
else
if
(
this
.
listQuery
.
modelId
==
""
)
{
this
.
$notify
({
title
:
"失败"
,
message
:
"请选择车型"
,
type
:
"error"
,
duration
:
2000
});
return
false
;
}
else
if
(
this
.
listQuery
.
tel
==
""
)
{
this
.
$notify
({
title
:
"失败"
,
message
:
"请选择输入手机号"
,
type
:
"error"
,
duration
:
2000
});
return
false
;
}
else
if
(
this
.
isPhone
==
false
)
{
return
false
;
}
else
if
(
this
.
listQuery
.
damageSafe
==
""
)
{
this
.
$notify
({
title
:
"失败"
,
message
:
"请选择车损免赔"
,
type
:
"error"
,
duration
:
2000
});
return
false
;
}
else
if
(
this
.
listQuery
.
rentFreeDay
==
""
)
{
this
.
$notify
({
title
:
"失败"
,
message
:
"请选择是否使用会员天数"
,
type
:
"error"
,
duration
:
2000
});
return
false
;
}
else
{
var
nTime
=
this
.
listQuery
.
time
[
1
].
getTime
()
-
this
.
listQuery
.
time
[
0
].
getTime
();
let
params
=
{
dayNum
:
nTime
/
(
24
*
60
*
60
*
1000
),
//天数
endAddr
:
this
.
listQuery
.
startEndAddr
,
//还车地点
endCity
:
this
.
listQuery
.
startAddrCity
,
//还车城市编号
endCityName
:
this
.
listQuery
.
startCityName
,
//还车城市名称
endCompanyId
:
this
.
listQuery
.
startCompanyIds
,
//还车公司id
endTime
:
this
.
listQuery
.
time
[
1
].
getTime
(),
//结束时间
modelId
:
this
.
listQuery
.
modelId
,
//车型
startAddr
:
this
.
listQuery
.
endEndAddr
,
//取车地点
startCity
:
this
.
listQuery
.
endAddrCity
,
//取车城市编号
startCityName
:
this
.
listQuery
.
endtCityName
,
//取车城市名称
startCompanyId
:
this
.
listQuery
.
endCompanyIds
,
//出发公司id
startTime
:
this
.
listQuery
.
time
[
0
].
getTime
(),
//开始时间
damageSafe
:
this
.
listQuery
.
damageSafe
==
"需要"
?
1
:
0
,
//是否购买免赔
rentFreeDay
:
this
.
listQuery
.
rentFreeDay
==
"使用"
?
1
:
0
,
//是否使用出租免费天数
orderOrigin
:
3
,
//订车来源
appUserId
:
334
};
addIndent
(
params
).
then
(
data
=>
{
console
.
log
(
data
);
if
(
data
.
status
==
200
)
{
this
.
$alert
(
"创建订单成功"
,
"标题名称"
,
{
confirmButtonText
:
"确定"
,
callback
:
action
=>
{
this
.
listQuery
=
{
startCompanyId
:
null
,
endCompanyId
:
null
,
startCompanyIds
:
null
,
endCompanyIds
:
null
,
time
:
[],
limit
:
100
,
page
:
1
,
modelId
:
""
,
radio1
:
""
,
tel
:
""
,
damageSafe
:
""
,
rentFreeDay
:
""
};
}
});
}
else
{
this
.
$notify
({
title
:
"失败"
,
message
:
data
.
message
,
type
:
"error"
,
duration
:
2000
});
}
});
}
},
//检车用户是否注册
lose
()
{
username
(
this
.
listQuery
.
tel
).
then
(
data
=>
{
if
(
data
.
status
==
200
)
{
if
(
!!
data
.
data
)
{
console
.
log
(
!!
data
.
data
.
rentFreeDays
);
this
.
appUserId
=
data
.
data
.
userid
;
if
(
!!
data
.
data
.
rentFreeDays
)
{
if
(
data
.
data
.
rentFreeDays
>=
1
)
{
this
.
userFreeDay
=
false
;
}
}
else
{
this
.
userFreeDay
=
true
;
}
this
.
isPhone
=
true
;
}
}
else
if
(
data
.
status
==
1009
)
{
this
.
$notify
({
title
:
"失败"
,
message
:
"该手机号未注册"
,
type
:
"error"
,
duration
:
2000
});
this
.
isPhone
=
false
;
}
});
},
lookType
(
formName
)
{
this
.
$refs
[
formName
].
validate
(
valid
=>
{
if
(
valid
)
{
let
params
=
{
startCompanyIds
:
this
.
listQuery
.
startCompanyIds
,
endCompanyIds
:
this
.
listQuery
.
endCompanyIds
,
startDateTamp
:
this
.
listQuery
.
time
[
0
].
getTime
(),
endDateTamp
:
this
.
listQuery
.
time
[
1
].
getTime
(),
limit
:
100
,
page
:
1
,
parkBranchCompanyId
:
this
.
listQuery
.
startCompanyIds
};
this
.
lookLoad
=
true
;
inquire
(
params
).
then
(
data
=>
{
if
(
data
.
status
==
200
)
{
let
all
=
[];
let
allCar
=
{};
data
.
data
.
data
.
forEach
(
element
=>
{
if
(
element
.
hasVehicle
==
1
)
{
if
(
all
.
indexOf
(
element
.
vehicleModel
.
name
)
==
-
1
)
{
all
.
push
({
id
:
element
.
vehicleModel
.
id
,
name
:
element
.
vehicleModel
.
name
});
}
}
});
all
=
all
.
reduce
(
function
(
item
,
next
)
{
allCar
[
next
.
id
]
?
""
:
(
allCar
[
next
.
id
]
=
true
&&
item
.
push
(
next
));
return
item
;
},
[]);
this
.
motorcycle
=
all
;
if
(
all
.
length
<
1
)
{
this
.
$notify
({
title
:
"失败"
,
message
:
"暂无可用车辆,修改取车公司或时间试试"
,
type
:
"error"
,
duration
:
3000
});
}
else
{
this
.
isHave
=
true
;
}
}
});
this
.
lookLoad
=
false
;
}
else
{
console
.
log
(
"error submit!!"
);
return
false
;
}
});
},
querySearch
(
queryString
,
cb
)
{
let
selectArry
=
[];
this
.
allCompaniesArr
.
map
(
function
(
item
)
{
item
.
value
=
item
.
name
;
selectArry
.
push
(
item
);
});
this
.
selectArry
=
selectArry
;
var
results
=
queryString
?
selectArry
.
filter
(
this
.
createFilter
(
queryString
))
:
selectArry
;
// 调用 callback 返回建议列表的数据
cb
(
results
);
},
returnCarSelect
(
item
)
{
//取车
this
.
listQuery
.
endEndAddr
=
item
.
addrDetail
;
//取车地点
this
.
listQuery
.
endAddrCity
=
item
.
addrCity
;
//还车城市编号
this
.
listQuery
.
endtCityName
=
item
.
cityName
;
//还车城市名称
this
.
listQuery
.
endCompanyIds
=
item
.
id
;
this
.
listQuery
.
endCompanyId
=
item
.
name
;
},
handleSelectPark
(
item
)
{
//还车
this
.
listQuery
.
startEndAddr
=
item
.
addrDetail
;
//换成地点
this
.
listQuery
.
startAddrCity
=
item
.
addrCity
;
//还车城市编号
this
.
listQuery
.
startCityName
=
item
.
cityName
;
//还车城市名称
this
.
listQuery
.
startCompanyIds
=
item
.
id
;
//公司id
this
.
listQuery
.
startCompanyId
=
item
.
name
;
},
createFilter
(
queryString
)
{
return
restaurant
=>
{
return
restaurant
.
name
.
indexOf
(
queryString
.
toLowerCase
())
!=
-
1
;
};
}
}
};
</
script
>
\ No newline at end of file
src/views/order/orderStatistics/index.vue
View file @
b67ba90a
...
...
@@ -32,7 +32,7 @@
</el-row>
</el-form>
<el-table
<
!--
<
el-table
:key=
"tableKey"
:data=
"list"
border
...
...
@@ -85,7 +85,7 @@
<span>
{{
scope
.
row
.
name
}}
</span>
</
template
>
</el-table-column>
</el-table>
</el-table>
-->
</div>
</div>
</template>
...
...
@@ -117,7 +117,7 @@ export default {
id
:
"3"
}
],
isactive
:
"
全部
"
isactive
:
"
日统计
"
};
},
methods
:
{
...
...
src/views/order/rentVehicleInfo/index.vue
View file @
b67ba90a
...
...
@@ -5,18 +5,37 @@
<el-row>
<el-col
:span=
"5"
>
<el-form-item
label=
"所属地区"
prop=
"zoneId"
>
<el-select
class=
"filter-item"
v-model=
"listQuery.zoneId"
placeholder=
"请选择"
@
change=
"getProvinceRegions"
>
<el-select
class=
"filter-item"
v-model=
"listQuery.zoneId"
placeholder=
"请选择"
@
change=
"getProvinceRegions"
>
<el-option
:key=
"undefined"
label=
"无"
:value=
"undefined"
></el-option>
<el-option
v-for=
"val in getAllZoneList"
:key=
"val.id"
:label=
"val.name"
:value=
"val.id"
></el-option>
<el-option
v-for=
"val in getAllZoneList"
:key=
"val.id"
:label=
"val.name"
:value=
"val.id"
></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col
:span=
"5"
>
<el-form-item
label=
"所属公司"
prop=
"startCompanyId"
>
<el-select
class=
"filter-item"
v-model=
"listQuery.startCompanyId"
placeholder=
"请选择"
@
change=
"getAllBranchCompanyChange"
>
<el-select
class=
"filter-item"
v-model=
"listQuery.startCompanyId"
placeholder=
"请选择"
@
change=
"getAllBranchCompanyChange"
>
<el-option
:key=
"undefined"
label=
"无"
:value=
"undefined"
></el-option>
<el-option
v-for=
"val in allBranchCompany"
:key=
"val.id"
:label=
"val.name"
:value=
"val.id"
></el-option>
<el-option
v-for=
"val in allBranchCompany"
:key=
"val.id"
:label=
"val.name"
:value=
"val.id"
></el-option>
</el-select>
</el-form-item>
</el-col>
...
...
@@ -65,9 +84,15 @@
<el-button
class=
"filter-item"
type=
"primary"
v-waves
icon=
"search"
@
click=
"handleFilter"
>
搜索
</el-button>
<el-button
class=
"filter-item"
type=
"primary"
v-waves
icon=
"delete"
@
click=
"clearSearch"
>
清除搜索
</el-button>
</div>
<el-table
:key=
'tableKey'
:data=
"list"
v-loading
.
body=
"listLoading"
border
fit
highlight-current-row
style=
"width: 100%"
>
<el-table
:key=
"tableKey"
:data=
"list"
v-loading
.
body=
"listLoading"
border
fit
highlight-current-row
style=
"width: 100%"
>
<el-table-column
align=
"center"
label=
"ID"
width=
"70"
>
<template
scope=
"scope"
>
<span>
{{
scope
.
row
.
id
}}
</span>
...
...
@@ -75,41 +100,48 @@
</el-table-column>
<el-table-column
width=
"200"
align=
"center"
label=
"订单号/下单时间"
>
<
template
scope=
"scope"
>
<span>
{{
scope
.
row
.
no
}}
</span><br><span>
{{
scope
.
row
.
crtTime
}}
</span>
<span>
{{
scope
.
row
.
no
}}
</span>
<br
/>
<span>
{{
scope
.
row
.
crtTime
}}
</span>
</
template
>
</el-table-column>
<el-table-column
prop=
"status"
label=
"订单状态"
width=
"100"
align=
"center"
>
<el-table-column
prop=
"status"
label=
"订单状态"
width=
"100"
align=
"center"
>
<
template
scope=
"scope"
>
<span>
{{
scope
.
row
.
ststusName
}}
</span>
</
template
>
</el-table-column>
<el-table-column
min-width=
"250"
align=
"center"
label=
"名称/车牌号"
>
<
template
scope=
"scope"
>
<span>
{{
scope
.
row
.
name
}}
</span><br/><span>
{{
scope
.
row
.
vehicleNumberPlat
}}
</span>
<span>
{{
scope
.
row
.
name
}}
</span>
<br
/>
<span>
{{
scope
.
row
.
vehicleNumberPlat
}}
</span>
</
template
>
</el-table-column>
<el-table-column
width=
"150"
align=
"center"
label=
"姓名/手机号"
>
<
template
scope=
"scope"
>
<span>
{{
scope
.
row
.
realName
}}
</span>
/
<span>
{{
scope
.
row
.
telephone
}}
</span>
<span>
{{
scope
.
row
.
realName
}}
</span>
/
<span>
{{
scope
.
row
.
telephone
}}
</span>
</
template
>
</el-table-column>
<el-table-column
width=
"200"
align=
"center"
label=
"取车时间/还车时间"
>
<
template
scope=
"scope"
>
取:
<span>
{{
dateFormat
(
scope
.
row
.
orderRentVehicleDetail
.
startTime
)
}}
</span><br/>
还:
<span>
{{
dateFormat
(
scope
.
row
.
orderRentVehicleDetail
.
endTime
)
}}
</span>
取:
<span>
{{
dateFormat
(
scope
.
row
.
orderRentVehicleDetail
.
startTime
)
}}
</span>
<br
/>
还:
<span>
{{
dateFormat
(
scope
.
row
.
orderRentVehicleDetail
.
endTime
)
}}
</span>
</
template
>
</el-table-column>
<el-table-column
width=
"200"
align=
"center"
label=
"交车公司"
>
<
template
scope=
"scope"
>
<span>
{{
scope
.
row
.
startCompanyName
}}
</span><br/>
<span>
{{
scope
.
row
.
startCompanyName
}}
</span>
<br
/>
<span>
(
{{
scope
.
row
.
orderRentVehicleDetail
.
startCityName
}}{{
scope
.
row
.
orderRentVehicleDetail
.
startAddr
}}
)
</span>
</
template
>
</el-table-column>
<el-table-column
width=
"200"
align=
"center"
label=
"收车公司"
>
<
template
scope=
"scope"
>
<span>
{{
scope
.
row
.
endCompanyName
}}
</span><br/>
<span>
{{
scope
.
row
.
endCompanyName
}}
</span>
<br
/>
<span>
(
{{
scope
.
row
.
orderRentVehicleDetail
.
endCityName
}}{{
scope
.
row
.
orderRentVehicleDetail
.
endAddr
}}
)
</span>
</
template
>
</el-table-column>
...
...
@@ -119,15 +151,15 @@
</
template
>
</el-table-column>
<!-- <el-table-column align="center" label="订单状态">-->
<!-- <template scope="scope">-->
<!-- <span v-if="scope.row.status == '2'">取消</span>-->
<!-- <span v-if="scope.row.status == '3'">待付款</span>-->
<!-- <span v-if="scope.row.status == '4'">待出行</span>-->
<!-- <span v-if="scope.row.status == '5'">出行中</span>-->
<!-- <span v-if="scope.row.status == '6'">已完成</span>-->
<!-- </template>-->
<!-- </el-table-column>-->
<!-- <el-table-column align="center" label="订单状态">-->
<!-- <template scope="scope">-->
<!-- <span v-if="scope.row.status == '2'">取消</span>-->
<!-- <span v-if="scope.row.status == '3'">待付款</span>-->
<!-- <span v-if="scope.row.status == '4'">待出行</span>-->
<!-- <span v-if="scope.row.status == '5'">出行中</span>-->
<!-- <span v-if="scope.row.status == '6'">已完成</span>-->
<!-- </template>-->
<!-- </el-table-column>-->
<el-table-column
width=
"100"
align=
"center"
label=
"订单详情"
fixed=
"right"
>
<
template
scope=
"scope"
>
...
...
@@ -136,18 +168,36 @@
</el-table-column>
<el-table-column
align=
"center"
label=
"操作"
width=
"300"
fixed=
"right"
>
<
template
scope=
"scope"
>
<el-button
size=
"small"
v-if=
"scope.row.status >=4"
class=
"el-button el-button--text el-button--small"
@
click=
"handleHandoverOrderVehicle(scope.row)"
>
交车记录
</el-button>
<el-button
size=
"small"
v-if=
"scope.row.status == 6"
class=
"el-button el-button--text el-button--small"
@
click=
"handleReturnOrderVehicle(scope.row)"
>
还车记录
</el-button>
<el-button
size=
"small"
v-if=
"scope.row.status!=5&&scope.row.status > 3"
class=
"el-button el-button--text el-button--small"
@
click=
"handleRefundVehicle(scope.row)"
>
押金记录
</el-button>
<el-button
size=
"small"
v-if=
"scope.row.status == 6&&order_btn_order_violcation_save"
class=
"el-button el-button--text el-button--small"
@
click=
"illegalInquiry(scope.row)"
>
违章查询
</el-button>
<el-button
size=
"small"
v-if=
"scope.row.status >=4"
class=
"el-button el-button--text el-button--small"
@
click=
"handleHandoverOrderVehicle(scope.row)"
>
交车记录
</el-button>
<el-button
size=
"small"
v-if=
"scope.row.status == 6"
class=
"el-button el-button--text el-button--small"
@
click=
"handleReturnOrderVehicle(scope.row)"
>
还车记录
</el-button>
<el-button
size=
"small"
v-if=
"scope.row.status!=5&&scope.row.status > 3"
class=
"el-button el-button--text el-button--small"
@
click=
"handleRefundVehicle(scope.row)"
>
押金记录
</el-button>
<el-button
size=
"small"
v-if=
"scope.row.status == 6&&order_btn_order_violcation_save"
class=
"el-button el-button--text el-button--small"
@
click=
"illegalInquiry(scope.row)"
>
违章查询
</el-button>
<el-button
size=
"small"
v-if=
"scope.row.status == 3 || scope.row.status == 4"
class=
"el-button el-button--text el-button--small"
@
click=
"cancel(scope.row)"
>
取消订单
</el-button>
</
template
>
</el-table-column>
</el-table>
...
...
@@ -158,43 +208,78 @@
<Detail
:row=
"currentRow"
v-if=
"detailVisible"
v-on:detailEvent=
"detailEvent"
></Detail>
<div
v-show=
"!listLoading"
class=
"pagination-container"
>
<el-pagination
@
size-change=
"handleSizeChange"
@
current-change=
"handleCurrentChange"
:current-page
.
sync=
"listQuery.page"
:page-sizes=
"[10,20,30, 50]"
:page-size=
"listQuery.limit"
layout=
"total, sizes, prev, pager, next, jumper"
:total=
"total"
></el-pagination>
<el-pagination
@
size-change=
"handleSizeChange"
@
current-change=
"handleCurrentChange"
:current-page
.
sync=
"listQuery.page"
:page-sizes=
"[10,20,30, 50]"
:page-size=
"listQuery.limit"
layout=
"total, sizes, prev, pager, next, jumper"
:total=
"total"
></el-pagination>
</div>
<!-- 订单详情 -->
<rentOrderDetailModal
:form=
"form"
:rentCostDetail=
"tourCostDetail"
v-if=
"rentDialogVisible"
v-on:rentOrderDetailDialogEvent=
"rentOrderDetailDialogEvent"
></rentOrderDetailModal>
<rentOrderDetailModal
:form=
"form"
:rentCostDetail=
"tourCostDetail"
v-if=
"rentDialogVisible"
v-on:rentOrderDetailDialogEvent=
"rentOrderDetailDialogEvent"
></rentOrderDetailModal>
<el-dialog
:title=
"modalTitle"
:visible
.
sync=
"orderVehicleCrosstownVisible"
>
<el-form
:model=
"form"
:rules=
"rules"
ref=
"form"
label-width=
"90px"
>
<div
class=
"label-title"
>
<span>
订单号:
</span><span
class=
"label-text"
>
{{form.no}}
</span>
<span>
支付时间:
</span><span
class=
"label-text"
>
{{form.crtTime}}
</span>
<span>
订单号:
</span>
<span
class=
"label-text"
>
{{form.no}}
</span>
<span>
支付时间:
</span>
<span
class=
"label-text"
>
{{form.crtTime}}
</span>
</div>
<div
class=
"label-title"
>
<span>
订单状态:
</span><span
class=
"label-text"
>
{{form.ststusName}}
</span>
<span>
订单状态:
</span>
<span
class=
"label-text"
>
{{form.ststusName}}
</span>
</div>
<div
class=
"label-title"
>
<span>
姓名/手机号:
</span>
<span
class=
"label-text"
><span>
{{form.realName}}
</span>
/
<span>
{{form.telephone}}
</span></span>
<span>
姓名/手机号:
</span>
<span
class=
"label-text"
>
<span>
{{form.realName}}
</span>
/
<span>
{{form.telephone}}
</span>
</span>
</div>
<div
class=
"label-title"
>
<span>
取车:
</span>
<span
class=
"label-text"
>
{{form.orderRentVehicleDetail.startTime}}
</span><span
class=
"label-text"
>
{{form.orderRentVehicleDetail.startAddr}}
</span>
<span
class=
"label-text"
>
交车公司:
</span><span>
{{form.startCompanyName}}
</span>
<span>
取车:
</span>
<span
class=
"label-text"
>
{{form.orderRentVehicleDetail.startTime}}
</span>
<span
class=
"label-text"
>
{{form.orderRentVehicleDetail.startAddr}}
</span>
<span
class=
"label-text"
>
交车公司:
</span>
<span>
{{form.startCompanyName}}
</span>
</div>
<div
class=
"label-title"
>
<span>
还车:
</span>
<span
class=
"label-text"
>
{{form.orderRentVehicleDetail.endTime}}
</span><span
class=
"label-text"
>
{{form.orderRentVehicleDetail.endAddr}}
</span>
<span
class=
"label-text"
>
交车公司:
</span><span>
{{form.endCompanyName}}
</span>
<span>
还车:
</span>
<span
class=
"label-text"
>
{{form.orderRentVehicleDetail.endTime}}
</span>
<span
class=
"label-text"
>
{{form.orderRentVehicleDetail.endAddr}}
</span>
<span
class=
"label-text"
>
交车公司:
</span>
<span>
{{form.endCompanyName}}
</span>
</div>
<div
class=
"stepBox"
v-if=
"depositDetail"
>
<div
class=
"title"
v-if=
"depositRefundRecord.length>0"
>
押金退还进度
</div>
<ul>
<li
v-for=
"(item,index) in depositRefundRecord"
:class=
"{'active':item.iscomplete}"
:key=
"index"
>
<img
class=
"activeImg"
v-if=
"item.iscomplete"
src=
"../../../assets/images/active.png"
alt=
""
>
<img
class=
"activeImg"
v-if=
"!item.iscomplete"
src=
"../../../assets/images/doing.png"
alt=
""
>
<li
v-for=
"(item,index) in depositRefundRecord"
:class=
"{'active':item.iscomplete}"
:key=
"index"
>
<img
class=
"activeImg"
v-if=
"item.iscomplete"
src=
"../../../assets/images/active.png"
alt
/>
<img
class=
"activeImg"
v-if=
"!item.iscomplete"
src=
"../../../assets/images/doing.png"
alt
/>
<p
class=
"stepTitle"
>
<
template
v-if=
"item.status==1"
>
<div
class=
"picBox"
>
...
...
@@ -238,26 +323,52 @@
<
template
v-if=
"item.status==2"
>
{{
item
.
updTimeStr
}}
到账
</
template
>
<
template
v-if=
"item.status==3"
>
预计
{{
item
.
endTimeStr
}}
之前到账
</
template
>
<
template
v-if=
"item.status==4"
>
押金将在定损后退还,请耐心等待...
</
template
>
<
template
v-if=
"item.status==5"
>
定损流程有疑问可联系滴房车 客服
<a
:href=
"'tel://'+Tel"
style=
"color: #666666;"
>
{{
Tel
}}
</a></
template
>
<
template
v-if=
"item.status==6"
>
定损流程有疑问可联系滴房车 客服
<a
:href=
"'tel://'+Tel"
style=
"color: #666666;"
>
{{
Tel
}}
</a></
template
>
<
template
v-if=
"item.status==5"
>
定损流程有疑问可联系滴房车 客服
<a
:href=
"'tel://'+Tel"
style=
"color: #666666;"
>
{{
Tel
}}
</a>
</
template
>
<
template
v-if=
"item.status==6"
>
定损流程有疑问可联系滴房车 客服
<a
:href=
"'tel://'+Tel"
style=
"color: #666666;"
>
{{
Tel
}}
</a>
</
template
>
</p>
<p
class=
"detailTitle"
v-if=
"item.orderViolation && item.status==3"
style=
"margin-top: 15px"
>
违章罚款
</p>
<p
class=
"detailTitle"
v-if=
"item.orderViolation && item.status==3"
style=
"margin-top: 15px"
>
违章罚款
</p>
<p
class=
"detailTitle"
v-if=
"item.orderViolation && item.status==3"
>
违章截图:
</p>
<div
class=
"picBox"
v-if=
"dedDetail.length>0"
>
<img
class=
"picItem"
:src=
"itm"
alt=
""
v-for=
"(itm,idx) in item.pictureList"
:key=
"idx"
>
<img
class=
"picItem"
:src=
"itm"
alt
v-for=
"(itm,idx) in item.pictureList"
:key=
"idx"
/>
</div>
<p
class=
"detailTitle"
v-if=
"item.orderViolation && item.status==3"
style=
"color: #666666;font-size: 13px"
>
如有疑问,可联系滴房车客服
<a
:href=
"'tel://'+Tel"
style=
"color: #666666;"
>
{{Tel}}
</a>
<p
class=
"detailTitle"
v-if=
"item.orderViolation && item.status==3"
style=
"color: #666666;font-size: 13px"
>
如有疑问,可联系滴房车客服
<a
:href=
"'tel://'+Tel"
style=
"color: #666666;"
>
{{Tel}}
</a>
</p>
<p
class=
"detailTitle"
v-if=
"dedDetail.length>0 && item.status==5"
style=
"margin-top: 15px"
>
定损总罚款{{dedTotal}}元
</p>
<p
class=
"detailTitle"
v-if=
"dedDetail.length>0 && item.status==5"
style=
"margin-top: 15px"
>
定损总罚款{{dedTotal}}元
</p>
<p
class=
"detailTitle"
v-if=
"dedDetail.length>0 && item.status==5"
>
明细
</p>
<div
v-if=
"dedDetail.length>0 && item.status==5"
v-for=
"(itm,idx) in dedDetail"
:key=
"idx"
>
<div
v-if=
"dedDetail.length>0 && item.status==5"
v-for=
"(itm,idx) in dedDetail"
:key=
"idx"
>
<p
class=
"detailTitle"
>
{{itm.id}}、{{itm.statusName}}扣{{itm.cost}}元
</p>
<div
class=
"picBox"
>
<img
class=
"picItem"
:src=
"it"
alt
=
""
v-for=
"(it,ix) in itm.picList"
:key=
"ix"
>
<img
class=
"picItem"
:src=
"it"
alt
v-for=
"(it,ix) in itm.picList"
:key=
"ix"
/
>
</div>
</div>
</li>
...
...
@@ -265,82 +376,94 @@
</div>
<div
v-if=
"vehicleDetail"
style=
"border: 1px solid;"
>
<div
style=
"border-bottom: 1px solid;"
>
<span
class=
"label-text"
>
交车交接人:
</span>
<span
class=
"label-text"
>
{{orderReturnVehicleCrosstown.username}}
</span>
<span
class=
"label-text"
>
交车交接人:
</span>
<span
class=
"label-text"
>
{{orderReturnVehicleCrosstown.username}}
</span>
</div>
<div>
<span
class=
"label-text"
>
上传驾驶证*:
</span><span
class=
"label-text"
>
{{orderReturnVehicleCrosstown.licenseName}}
</span><span
class=
"label-text"
>
{{orderReturnVehicleCrosstown.licensePhone}}
</span><br/>
<span
style=
"margin-left:110px;"
>
身份证号:
</span>
<span
class=
"label-text"
>
{{orderReturnVehicleCrosstown.licenseIdCard}}
</span><br/>
<img
:src=
"orderReturnVehicleCrosstown.licenseImg"
style=
"width: 100px; height: 100px;margin-left:110px;"
/>
<span
class=
"label-text"
>
上传驾驶证*:
</span>
<span
class=
"label-text"
>
{{orderReturnVehicleCrosstown.licenseName}}
</span>
<span
class=
"label-text"
>
{{orderReturnVehicleCrosstown.licensePhone}}
</span>
<br
/>
<span
style=
"margin-left:110px;"
>
身份证号:
</span>
<span
class=
"label-text"
>
{{orderReturnVehicleCrosstown.licenseIdCard}}
</span>
<br
/>
<img
:src=
"orderReturnVehicleCrosstown.licenseImg"
style=
"width: 100px; height: 100px;margin-left:110px;"
/>
</div>
<div>
<span
class=
"label-text"
>
拍照取证*:
</span><br/>
<img
v-for=
"item in otherImg"
:src=
"item"
style=
"width: 100px; height: 100px;margin-left:110px;"
/>
<span
class=
"label-text"
>
拍照取证*:
</span>
<br
/>
<img
v-for=
"item in otherImg"
:src=
"item"
style=
"width: 100px; height: 100px;margin-left:110px;"
/>
<!-- <img src="../../../../dist/static/img/success.8304acb.png" style="width: 100px; height: 100px;margin-left:110px;"/>
<img src="../../../../dist/static/img/success.8304acb.png" style="width: 100px; height: 100px;margin-left:110px;"/>
<img src="../../../../dist/static/img/success.8304acb.png" style="width: 100px; height: 100px;margin-left:110px;"/>
-->
<img src="../../../../dist/static/img/success.8304acb.png" style="width: 100px; height: 100px;margin-left:110px;"/>
-->
</div>
<div
v-if=
"handover"
>
<span
class=
"label-text"
>
房车公里数*:
</span><span
class=
"label-text"
>
当前公里数:
</span><span
class=
"label-text"
>
{{orderReturnVehicleCrosstown.mileage}}Km
</span><br/>
<img
:src=
"orderReturnVehicleCrosstown.mileageImg"
style=
"width: 100px; height: 100px;margin-left:110px;"
/>
<span
class=
"label-text"
>
房车公里数*:
</span>
<span
class=
"label-text"
>
当前公里数:
</span>
<span
class=
"label-text"
>
{{orderReturnVehicleCrosstown.mileage}}Km
</span>
<br
/>
<img
:src=
"orderReturnVehicleCrosstown.mileageImg"
style=
"width: 100px; height: 100px;margin-left:110px;"
/>
</div>
<div
v-if=
"returnVehicle"
>
<span
class=
"label-text"
>
钥匙照片*:
</span><br/>
<img
:src=
"orderReturnVehicleCrosstown.vehicleKey"
style=
"width: 100px; height: 100px;margin-left:110px;"
/>
<span
class=
"label-text"
>
钥匙照片*:
</span>
<br
/>
<img
:src=
"orderReturnVehicleCrosstown.vehicleKey"
style=
"width: 100px; height: 100px;margin-left:110px;"
/>
</div>
<div
v-if=
"returnVehicle"
>
<span
class=
"label-text"
>
押金扣除项*:
</span><span>
{{orderReturnVehicleCrosstown.deduction?'有扣除项':'没有扣除项'}}
</span><br/>
</div>
<div>
<span
class=
"label-text"
>
备注:
</span><span
class=
"label-text"
>
{{orderReturnVehicleCrosstown.remak}}
</span>
<span
class=
"label-text"
>
押金扣除项*:
</span>
<span>
{{orderReturnVehicleCrosstown.deduction?'有扣除项':'没有扣除项'}}
</span>
<br
/>
</div>
<div>
<span
class=
"label-text"
>
备注:
</span>
<span
class=
"label-text"
>
{{orderReturnVehicleCrosstown.remak}}
</span>
</div>
<div></div>
</div>
</el-form>
</el-dialog>
</div>
</template>
<
script
>
import
Illegal
from
"./illegalModal"
;
//违章查询
import
Detail
from
"./detail"
;
//违章查询
import
rentOrderDetailModal
from
"../modal/rentOrderDetailModal"
;
//租车订单详情
import
{
formatDate
}
from
'../../../utils/dateFormattor'
;
import
{
import
Illegal
from
"./illegalModal"
;
//违章查询
import
Detail
from
"./detail"
;
//违章查询
import
rentOrderDetailModal
from
"../modal/rentOrderDetailModal"
;
//租车订单详情
import
{
formatDate
}
from
"../../../utils/dateFormattor"
;
import
{
page
,
getAllBranchCompany
,
getAllBranchCompanyByZoneId
,
getOrderVehicleCrosstown
,
getStep
}
from
'api/order/rentVehicle'
;
import
{
timestamp2Date
}
from
'utils/dateUtils'
;
import
{
mapGetters
}
from
'vuex'
;
import
rsCode
from
'../../../utils/rsCode'
;
import
{
getSysRegionByIds
}
from
'api/vehicle/vehicleInfo/'
;
import
{
getAllZone
}
from
'api/base_info/constant/'
;
import
ElRow
from
"element-ui/packages/row/src/row"
;
import
ElCol
from
"element-ui/packages/col/src/col"
;
import
ElButton
from
"../../../../node_modules/element-ui/packages/button/src/button.vue"
;
getStep
,
calculate
}
from
"api/order/rentVehicle"
;
import
{
timestamp2Date
}
from
"utils/dateUtils"
;
import
{
mapGetters
}
from
"vuex"
;
import
rsCode
from
"../../../utils/rsCode"
;
import
{
getSysRegionByIds
}
from
"api/vehicle/vehicleInfo/"
;
import
{
getAllZone
}
from
"api/base_info/constant/"
;
import
ElRow
from
"element-ui/packages/row/src/row"
;
import
ElCol
from
"element-ui/packages/col/src/col"
;
import
ElButton
from
"../../../../node_modules/element-ui/packages/button/src/button.vue"
;
export
default
{
name
:
'branchCompanyStock'
,
export
default
{
name
:
"branchCompanyStock"
,
components
:
{
ElButton
,
ElCol
,
...
...
@@ -354,8 +477,8 @@
pictureList
:
[],
dedDetail
:
[],
depositRefundRecord
:
[],
dedTotal
:
''
,
Tel
:
''
,
dedTotal
:
""
,
Tel
:
""
,
form
:
{
couponAmount
:
undefined
,
crtHost
:
undefined
,
...
...
@@ -370,7 +493,7 @@
hasPay
:
undefined
,
id
:
undefined
,
name
:
undefined
,
realName
:
undefined
,
realName
:
undefined
,
no
:
undefined
,
orderAmount
:
undefined
,
orderOrigin
:
undefined
,
...
...
@@ -407,7 +530,7 @@
stime
:
undefined
,
suserid
:
undefined
,
updTime
:
undefined
,
vehicleId
:
undefined
,
vehicleId
:
undefined
},
payOrigin
:
undefined
,
picture
:
undefined
,
...
...
@@ -425,9 +548,9 @@
version
:
undefined
},
orderVehicleCrosstownVisible
:
false
,
rentDialogVisible
:
false
,
//租车详情弹框
modalTitle
:
'订单详情'
,
illegalVisible
:
false
,
//违章查询弹框
rentDialogVisible
:
false
,
//租车详情弹框
modalTitle
:
"订单详情"
,
illegalVisible
:
false
,
//违章查询弹框
detailVisible
:
false
,
rules
:
{
// companyName: [
...
...
@@ -463,14 +586,14 @@
type
:
undefined
},
dialogFormVisible
:
false
,
dialogStatus
:
''
,
dialogStatus
:
""
,
btn_del
:
true
,
btn_buy
:
true
,
btn_cancel
:
true
,
allZoneArr
:
[],
//全部片区
allZoneArr
:
[],
//全部片区
allBranchCompany
:
[],
tourCostDetail
:
''
,
damageSafe
:
''
,
tourCostDetail
:
""
,
damageSafe
:
""
,
serviceCost
:
0
,
orderReturnVehicleCrosstown
:
{
crtTime
:
undefined
,
...
...
@@ -495,37 +618,37 @@
licenseImg
:
undefined
,
licenseName
:
undefined
,
licensePhone
:
undefined
},
//还车记录
},
//还车记录
tableKey
:
0
,
otherImg
:
[],
handover
:
false
,
returnVehicle
:
false
,
refundshow
:
false
,
//退款信息
refundshow
:
false
,
//退款信息
vehicleDetail
:
false
,
//交还车信息,默认全部显示
order_btn_order_violcation_save
:
false
,
depositDetail
:
false
,
costDetail
:
{
key
:
undefined
,
val
:
undefined
,
children
:
[
costDetail
:
{
key
:
undefined
,
val
:
undefined
,
children
:
[
{
key
:
undefined
,
detail
:
undefined
,
val
:
undefined
key
:
undefined
,
detail
:
undefined
,
val
:
undefined
}
]
},
}
};
},
created
()
{
this
.
getList
();
this
.
btn_del
=
this
.
elements
[
'branchCompany/stockApply:btn_delete'
];
this
.
order_btn_order_violcation_save
=
this
.
elements
[
'order:btn_order_violcation_save'
];
this
.
btn_del
=
this
.
elements
[
"branchCompany/stockApply:btn_delete"
];
this
.
order_btn_order_violcation_save
=
this
.
elements
[
"order:btn_order_violcation_save"
];
},
computed
:
{
...
mapGetters
([
'elements'
]),
...
mapGetters
([
"elements"
]),
provinceRegions
()
{
return
getSonRegionByCodes
(
1
);
},
...
...
@@ -541,43 +664,81 @@
}
},
methods
:
{
//取消订单
cancel
(
row
)
{
this
.
$confirm
(
"此操作将取消该订单, 是否继续?"
,
"提示"
,
{
confirmButtonText
:
"确定"
,
cancelButtonText
:
"取消"
,
type
:
"warning"
}).
then
(()
=>
{
let
params
=
{
cancelReason
:
"后台取消"
,
appUserId
:
row
.
userId
};
calculate
(
row
.
no
,
params
).
then
(
data
=>
{
if
(
data
.
status
==
200
)
{
this
.
$notify
({
title
:
"成功"
,
message
:
'取消订单成功'
,
type
:
"success"
,
duration
:
2000
});
this
.
getList
();
}
else
{
this
.
$notify
({
title
:
"失败"
,
message
:
'取消订单失败'
,
type
:
"success"
,
duration
:
2000
});
}
});
});
},
handleOrderDetail
(
row
)
{
this
.
form
=
row
;
if
(
this
.
form
.
status
==
2
)
{
this
.
form
.
ststusName
=
'取消'
;
this
.
form
.
ststusName
=
"取消"
;
}
if
(
this
.
form
.
status
==
3
)
{
this
.
form
.
ststusName
=
'待付款'
;
this
.
form
.
ststusName
=
"待付款"
;
}
if
(
this
.
form
.
status
==
4
)
{
this
.
form
.
ststusName
=
'待出行'
;
this
.
form
.
ststusName
=
"待出行"
;
}
if
(
this
.
form
.
status
==
5
)
{
this
.
form
.
ststusName
=
'出行中'
;
this
.
form
.
ststusName
=
"出行中"
;
}
if
(
this
.
form
.
status
==
6
)
{
this
.
form
.
ststusName
=
'已完成'
;
}
this
.
form
.
orderRentVehicleDetail
.
startTime
=
this
.
form
.
orderRentVehicleDetail
.
startTime
?
timestamp2Date
(
this
.
form
.
orderRentVehicleDetail
.
startTime
):
''
this
.
form
.
orderRentVehicleDetail
.
endTime
=
this
.
form
.
orderRentVehicleDetail
.
endTime
?
timestamp2Date
(
this
.
form
.
orderRentVehicleDetail
.
endTime
):
''
if
(
this
.
form
.
orderRentVehicleDetail
.
costDetail
){
this
.
form
.
ststusName
=
"已完成"
;
}
this
.
form
.
orderRentVehicleDetail
.
startTime
=
this
.
form
.
orderRentVehicleDetail
.
startTime
?
timestamp2Date
(
this
.
form
.
orderRentVehicleDetail
.
startTime
)
:
""
;
this
.
form
.
orderRentVehicleDetail
.
endTime
=
this
.
form
.
orderRentVehicleDetail
.
endTime
?
timestamp2Date
(
this
.
form
.
orderRentVehicleDetail
.
endTime
)
:
""
;
if
(
this
.
form
.
orderRentVehicleDetail
.
costDetail
)
{
try
{
this
.
costDetail
=
JSON
.
parse
(
this
.
form
.
orderRentVehicleDetail
.
costDetail
)
var
cost
=
''
;
this
.
costDetail
=
JSON
.
parse
(
this
.
form
.
orderRentVehicleDetail
.
costDetail
);
var
cost
=
""
;
if
(
this
.
costDetail
.
children
)
{
this
.
costDetail
.
children
.
forEach
(
function
(
a
)
{
var
detail
=
a
.
detail
==
undefined
?
''
:
a
.
detail
cost
+=
a
.
key
+
":"
+
detail
+
" "
})
this
.
costDetail
.
children
.
forEach
(
function
(
a
)
{
var
detail
=
a
.
detail
==
undefined
?
""
:
a
.
detail
;
cost
+=
a
.
key
+
":"
+
detail
+
" "
;
});
}
}
catch
(
e
)
{
this
.
templateModel
()
}
catch
(
e
)
{
this
.
templateModel
();
}
}
this
.
tourCostDetail
=
cost
this
.
tourCostDetail
=
cost
;
if
(
this
.
form
.
orderRentVehicleDetail
.
driverType
==
1
)
{
this
.
serviceCost
=
this
.
form
.
orderRentVehicleDetail
.
dayNum
*
600
this
.
serviceCost
=
this
.
form
.
orderRentVehicleDetail
.
dayNum
*
600
;
}
this
.
rentDialogVisible
=
true
;
},
...
...
@@ -587,7 +748,7 @@
rentOrderDetailDialogEvent
(
e
)
{
this
.
rentDialogVisible
=
false
;
if
(
e
)
{
this
.
getList
()
this
.
getList
();
}
},
/**
...
...
@@ -623,207 +784,213 @@
}
},
handleHandoverOrderVehicle
(
row
)
{
console
.
log
(
row
)
this
.
modalTitle
=
"交车记录"
console
.
log
(
row
);
this
.
modalTitle
=
"交车记录"
;
this
.
form
=
row
;
if
(
this
.
form
.
status
==
2
)
{
this
.
form
.
ststusName
=
'取消'
;
this
.
form
.
ststusName
=
"取消"
;
}
if
(
this
.
form
.
status
==
3
)
{
this
.
form
.
ststusName
=
'待付款'
;
this
.
form
.
ststusName
=
"待付款"
;
}
if
(
this
.
form
.
status
==
4
)
{
this
.
form
.
ststusName
=
'待出行'
;
this
.
form
.
ststusName
=
"待出行"
;
}
if
(
this
.
form
.
status
==
5
)
{
this
.
form
.
ststusName
=
'出行中'
;
this
.
form
.
ststusName
=
"出行中"
;
}
if
(
this
.
form
.
status
==
6
)
{
this
.
form
.
ststusName
=
'已完成'
;
}
this
.
form
.
orderRentVehicleDetail
.
startTime
=
timestamp2Date
(
this
.
form
.
orderRentVehicleDetail
.
startTime
)
this
.
form
.
orderRentVehicleDetail
.
endTime
=
timestamp2Date
(
this
.
form
.
orderRentVehicleDetail
.
endTime
)
this
.
costDetail
=
JSON
.
parse
(
this
.
form
.
orderRentVehicleDetail
.
costDetail
)
var
cost
=
''
;
if
(
this
.
costDetail
.
children
){
this
.
costDetail
.
children
.
forEach
(
function
(
a
)
{
var
detail
=
a
.
detail
==
undefined
?
''
:
a
.
detail
cost
+=
a
.
key
+
":"
+
detail
+
" "
})
this
.
form
.
ststusName
=
"已完成"
;
}
this
.
form
.
orderRentVehicleDetail
.
startTime
=
timestamp2Date
(
this
.
form
.
orderRentVehicleDetail
.
startTime
);
this
.
form
.
orderRentVehicleDetail
.
endTime
=
timestamp2Date
(
this
.
form
.
orderRentVehicleDetail
.
endTime
);
this
.
costDetail
=
JSON
.
parse
(
this
.
form
.
orderRentVehicleDetail
.
costDetail
);
var
cost
=
""
;
if
(
this
.
costDetail
.
children
)
{
this
.
costDetail
.
children
.
forEach
(
function
(
a
)
{
var
detail
=
a
.
detail
==
undefined
?
""
:
a
.
detail
;
cost
+=
a
.
key
+
":"
+
detail
+
" "
;
});
}
this
.
tourCostDetail
=
cost
this
.
tourCostDetail
=
cost
;
if
(
this
.
form
.
orderRentVehicleDetail
.
driverType
==
1
)
{
this
.
serviceCost
=
this
.
form
.
orderRentVehicleDetail
.
dayNum
*
600
this
.
serviceCost
=
this
.
form
.
orderRentVehicleDetail
.
dayNum
*
600
;
}
this
.
orderVehicleQuery
.
orderId
=
this
.
form
.
id
this
.
orderVehicleQuery
.
type
=
1
this
.
orderVehicleQuery
.
orderId
=
this
.
form
.
id
;
this
.
orderVehicleQuery
.
type
=
1
;
this
.
getAllOrderVehicleCrosstown
();
this
.
handover
=
true
this
.
returnVehicle
=
false
this
.
vehicleDetail
=
true
this
.
depositDetail
=
false
this
.
handover
=
true
;
this
.
returnVehicle
=
false
;
this
.
vehicleDetail
=
true
;
this
.
depositDetail
=
false
;
},
getAllOrderVehicleCrosstown
()
{
getOrderVehicleCrosstown
(
this
.
orderVehicleQuery
)
.
then
(
response
=>
{
console
.
log
(
response
)
getOrderVehicleCrosstown
(
this
.
orderVehicleQuery
).
then
(
response
=>
{
console
.
log
(
response
);
if
(
response
.
data
.
length
<=
0
)
{
alert
(
"交还车记录不存在"
)
alert
(
"交还车记录不存在"
);
}
else
{
this
.
orderVehicleCrosstownVisible
=
true
this
.
orderVehicleCrosstownVisible
=
true
;
this
.
orderReturnVehicleCrosstown
=
response
.
data
[
0
];
if
(
response
.
data
[
0
].
imgs
)
{
this
.
otherImg
=
response
.
data
[
0
].
imgs
.
split
(
','
)
this
.
otherImg
=
response
.
data
[
0
].
imgs
.
split
(
","
);
}
}
})
});
},
handleReturnOrderVehicle
(
row
)
{
console
.
log
(
row
)
this
.
modalTitle
=
"还车记录"
console
.
log
(
row
);
this
.
modalTitle
=
"还车记录"
;
this
.
form
=
row
;
if
(
this
.
form
.
status
==
2
)
{
this
.
form
.
ststusName
=
'取消'
;
this
.
form
.
ststusName
=
"取消"
;
}
if
(
this
.
form
.
status
==
3
)
{
this
.
form
.
ststusName
=
'待付款'
;
this
.
form
.
ststusName
=
"待付款"
;
}
if
(
this
.
form
.
status
==
4
)
{
this
.
form
.
ststusName
=
'待出行'
;
this
.
form
.
ststusName
=
"待出行"
;
}
if
(
this
.
form
.
status
==
5
)
{
this
.
form
.
ststusName
=
'出行中'
;
this
.
form
.
ststusName
=
"出行中"
;
}
if
(
this
.
form
.
status
==
6
)
{
this
.
form
.
ststusName
=
'已完成'
;
}
this
.
form
.
orderRentVehicleDetail
.
startTime
=
timestamp2Date
(
this
.
form
.
orderRentVehicleDetail
.
startTime
)
this
.
form
.
orderRentVehicleDetail
.
endTime
=
timestamp2Date
(
this
.
form
.
orderRentVehicleDetail
.
endTime
)
this
.
costDetail
=
JSON
.
parse
(
this
.
form
.
orderRentVehicleDetail
.
costDetail
)
var
cost
=
''
;
if
(
this
.
costDetail
.
children
){
this
.
costDetail
.
children
.
forEach
(
function
(
a
)
{
var
detail
=
a
.
detail
==
undefined
?
''
:
a
.
detail
cost
+=
a
.
key
+
":"
+
detail
+
" "
})
this
.
form
.
ststusName
=
"已完成"
;
}
this
.
form
.
orderRentVehicleDetail
.
startTime
=
timestamp2Date
(
this
.
form
.
orderRentVehicleDetail
.
startTime
);
this
.
form
.
orderRentVehicleDetail
.
endTime
=
timestamp2Date
(
this
.
form
.
orderRentVehicleDetail
.
endTime
);
this
.
costDetail
=
JSON
.
parse
(
this
.
form
.
orderRentVehicleDetail
.
costDetail
);
var
cost
=
""
;
if
(
this
.
costDetail
.
children
)
{
this
.
costDetail
.
children
.
forEach
(
function
(
a
)
{
var
detail
=
a
.
detail
==
undefined
?
""
:
a
.
detail
;
cost
+=
a
.
key
+
":"
+
detail
+
" "
;
});
}
this
.
tourCostDetail
=
cost
this
.
tourCostDetail
=
cost
;
if
(
this
.
form
.
orderRentVehicleDetail
.
driverType
==
1
)
{
this
.
serviceCost
=
this
.
form
.
orderRentVehicleDetail
.
dayNum
*
600
this
.
serviceCost
=
this
.
form
.
orderRentVehicleDetail
.
dayNum
*
600
;
}
this
.
orderVehicleQuery
.
orderId
=
this
.
form
.
id
this
.
orderVehicleQuery
.
type
=
2
this
.
orderVehicleQuery
.
orderId
=
this
.
form
.
id
;
this
.
orderVehicleQuery
.
type
=
2
;
this
.
getAllOrderVehicleCrosstown
();
this
.
returnVehicle
=
true
this
.
handover
=
false
this
.
vehicleDetail
=
true
this
.
depositDetail
=
false
this
.
returnVehicle
=
true
;
this
.
handover
=
false
;
this
.
vehicleDetail
=
true
;
this
.
depositDetail
=
false
;
},
handleRefundVehicle
(
row
)
{
console
.
log
(
row
)
console
.
log
(
row
);
var
that
=
this
;
that
.
pictureList
=
[];
that
.
dedDetail
=
[];
that
.
depositRefundRecord
=
[];
that
.
dedTotal
=
0
;
that
.
Tel
=
''
;
that
.
Tel
=
""
;
getStep
(
row
.
no
).
then
(
response
=>
{
response
.
data
.
forEach
(
function
(
item
)
{
response
.
data
.
forEach
(
function
(
item
)
{
if
(
item
.
type
!=
1
)
{
that
.
Tel
=
item
.
customerPhone
that
.
type
=
item
.
type
that
.
Tel
=
item
.
customerPhone
;
that
.
type
=
item
.
type
;
if
(
item
.
dedDetail
)
{
var
dedTotal
=
0
var
dedTotal
=
0
;
var
dedDetail
=
JSON
.
parse
(
item
.
dedDetail
);
that
.
dedDetail
=
dedDetail
;
dedDetail
.
forEach
(
function
(
item
)
{
dedTotal
+=
Number
(
item
.
cost
)
})
dedDetail
.
forEach
(
function
(
item
)
{
dedTotal
+=
Number
(
item
.
cost
);
});
that
.
dedTotal
=
dedTotal
.
toFixed
(
2
);
}
item
.
depositRefundRecord
.
forEach
(
function
(
itm
)
{
item
.
depositRefundRecord
.
forEach
(
function
(
itm
)
{
itm
.
updTimeStr
=
timestamp2Date
(
itm
.
updTime
);
if
(
itm
.
status
==
3
)
{
itm
.
endTimeStr
=
timestamp2Date
(
Number
(
itm
.
updTime
)
+
2592000000
)
itm
.
endTimeStr
=
timestamp2Date
(
Number
(
itm
.
updTime
)
+
2592000000
);
if
(
itm
.
orderViolation
)
{
if
(
itm
.
orderViolation
.
picture
)
{
var
Arr
=
itm
.
orderViolation
.
picture
.
split
(
","
);
var
arrivalPicList
=
[];
Arr
.
map
(
function
(
it
)
{
Arr
.
map
(
function
(
it
)
{
arrivalPicList
.
push
(
it
);
});
itm
.
pictureList
=
arrivalPicList
;
}
}
}
})
});
if
(
item
.
type
==
3
)
{
var
arr
=
item
.
depositRefundRecord
;
var
item
=
arr
.
shift
();
arr
.
push
(
item
)
arr
.
push
(
item
);
}
else
{
var
arr
=
item
.
depositRefundRecord
;
}
that
.
depositRefundRecord
=
arr
console
.
log
(
that
.
depositRefundRecord
)
that
.
depositRefundRecord
=
arr
;
console
.
log
(
that
.
depositRefundRecord
);
}
});
})
this
.
modalTitle
=
"押金记录"
});
this
.
modalTitle
=
"押金记录"
;
this
.
form
=
row
;
if
(
this
.
form
.
status
==
2
)
{
this
.
form
.
ststusName
=
'取消'
;
this
.
form
.
ststusName
=
"取消"
;
}
if
(
this
.
form
.
status
==
3
)
{
this
.
form
.
ststusName
=
'待付款'
;
this
.
form
.
ststusName
=
"待付款"
;
}
if
(
this
.
form
.
status
==
4
)
{
this
.
form
.
ststusName
=
'待出行'
;
this
.
form
.
ststusName
=
"待出行"
;
}
if
(
this
.
form
.
status
==
5
)
{
this
.
form
.
ststusName
=
'出行中'
;
this
.
form
.
ststusName
=
"出行中"
;
}
if
(
this
.
form
.
status
==
6
)
{
this
.
form
.
ststusName
=
'已完成'
;
}
this
.
form
.
orderRentVehicleDetail
.
startTime
=
timestamp2Date
(
this
.
form
.
orderRentVehicleDetail
.
startTime
)
this
.
form
.
orderRentVehicleDetail
.
endTime
=
timestamp2Date
(
this
.
form
.
orderRentVehicleDetail
.
endTime
)
this
.
orderVehicleCrosstownVisible
=
true
this
.
vehicleDetail
=
false
this
.
depositDetail
=
true
this
.
form
.
ststusName
=
"已完成"
;
}
this
.
form
.
orderRentVehicleDetail
.
startTime
=
timestamp2Date
(
this
.
form
.
orderRentVehicleDetail
.
startTime
);
this
.
form
.
orderRentVehicleDetail
.
endTime
=
timestamp2Date
(
this
.
form
.
orderRentVehicleDetail
.
endTime
);
this
.
orderVehicleCrosstownVisible
=
true
;
this
.
vehicleDetail
=
false
;
this
.
depositDetail
=
true
;
},
//监听change事件
getProvinceRegions
(
item
)
{
this
.
listQuery
.
zoneId
=
item
this
.
baranchQuery
.
zoneId
=
item
this
.
listQuery
.
zoneId
=
item
;
this
.
baranchQuery
.
zoneId
=
item
;
this
.
listQuery
.
startCompanyId
=
undefined
;
getAllBranchCompanyByZoneId
(
this
.
baranchQuery
)
.
then
(
response
=>
{
getAllBranchCompanyByZoneId
(
this
.
baranchQuery
).
then
(
response
=>
{
this
.
allBranchCompany
=
response
.
data
;
})
});
},
getAllBranchCompanyChange
(
item
)
{
this
.
listQuery
.
startCompanyId
=
item
this
.
listQuery
.
startCompanyId
=
item
;
},
handleCancel
(
row
)
{
this
.
$confirm
(
'此操作将放弃购买, 是否继续?'
,
'提示'
,
{
confirmButtonText
:
'确定'
,
cancelButtonText
:
'取消'
,
type
:
'warning'
})
.
then
(()
=>
{
cancelApply
(
row
.
id
)
.
then
(()
=>
{
this
.
$confirm
(
"此操作将放弃购买, 是否继续?"
,
"提示"
,
{
confirmButtonText
:
"确定"
,
cancelButtonText
:
"取消"
,
type
:
"warning"
}).
then
(()
=>
{
cancelApply
(
row
.
id
).
then
(()
=>
{
this
.
$notify
({
title
:
'成功'
,
message
:
'操作成功'
,
type
:
'success'
,
title
:
"成功"
,
message
:
"操作成功"
,
type
:
"success"
,
duration
:
2000
});
this
.
getList
();
...
...
@@ -832,18 +999,16 @@
},
handleDelete
(
row
)
{
this
.
$confirm
(
'此操作将永久删除, 是否继续?'
,
'提示'
,
{
confirmButtonText
:
'确定'
,
cancelButtonText
:
'取消'
,
type
:
'warning'
})
.
then
(()
=>
{
delObj
(
row
.
id
)
.
then
(()
=>
{
this
.
$confirm
(
"此操作将永久删除, 是否继续?"
,
"提示"
,
{
confirmButtonText
:
"确定"
,
cancelButtonText
:
"取消"
,
type
:
"warning"
}).
then
(()
=>
{
delObj
(
row
.
id
).
then
(()
=>
{
this
.
$notify
({
title
:
'成功'
,
message
:
'删除成功'
,
type
:
'success'
,
title
:
"成功"
,
message
:
"删除成功"
,
type
:
"success"
,
duration
:
2000
});
const
index
=
this
.
list
.
indexOf
(
row
);
...
...
@@ -872,8 +1037,8 @@
endTime
:
undefined
,
zoneId
:
undefined
,
startCompanyId
:
undefined
}
this
.
getList
()
};
this
.
getList
();
},
/**
* 获取订单列表
...
...
@@ -887,48 +1052,47 @@
// if(this.listQuery.endTime){
// this.listQuery.endTime = this.listQuery.endTime.getTime();
// }
page
(
this
.
listQuery
)
.
then
(
response
=>
{
if
(
response
.
data
.
data
){
response
.
data
.
data
.
map
(
function
(
el
)
{
console
.
log
(
el
)
page
(
this
.
listQuery
).
then
(
response
=>
{
if
(
response
.
data
.
data
)
{
response
.
data
.
data
.
map
(
function
(
el
)
{
console
.
log
(
el
);
if
(
el
.
status
==
2
)
{
el
.
ststusName
=
'取消'
;
el
.
ststusName
=
"取消"
;
}
if
(
el
.
status
==
3
)
{
el
.
ststusName
=
'待付款'
;
el
.
ststusName
=
"待付款"
;
}
if
(
el
.
status
==
4
)
{
el
.
ststusName
=
'待出行'
;
el
.
ststusName
=
"待出行"
;
}
if
(
el
.
status
==
5
)
{
el
.
ststusName
=
'出行中'
;
el
.
ststusName
=
"出行中"
;
}
if
(
el
.
status
==
6
)
{
el
.
ststusName
=
'已完成'
;
el
.
ststusName
=
"已完成"
;
}
})
});
}
this
.
list
=
response
.
data
.
data
;
this
.
total
=
response
.
data
.
totalCount
;
this
.
listLoading
=
false
;
})
});
},
handleSizeChange
(
val
)
{
this
.
listQuery
.
limit
=
val
;
this
.
getList
();
},
dateFormat
(
timestamp
)
{
let
date
=
new
Date
(
timestamp
);
//时间戳为10位需*1000,时间戳为13位的话不需乘1000
return
formatDate
(
date
,
'yyyy-MM-dd hh:mm:ss'
);
let
date
=
new
Date
(
timestamp
);
//时间戳为10位需*1000,时间戳为13位的话不需乘1000
return
formatDate
(
date
,
"yyyy-MM-dd hh:mm:ss"
);
},
handleCurrentChange
(
val
)
{
this
.
listQuery
.
page
=
val
;
this
.
getList
();
},
templateModel
()
{
this
.
costDetail
=
{
templateModel
()
{
this
.
costDetail
=
{
key
:
undefined
,
val
:
undefined
,
children
:
[
...
...
@@ -938,183 +1102,185 @@
val
:
undefined
}
]
};
}
}
}
}
};
</
script
>
<
style
scpoed
>
.label-text
{
.label-text
{
margin-left
:
10px
;
margin-right
:
20px
;
}
}
.label-title
{
.label-title
{
margin-top
:
10px
;
}
}
.orderDetail
tr
th
{
.orderDetail
tr
th
{
background
:
#eef1f6
;
}
}
.orderDetail
tr
td
,
.orderDetail
tr
th
{
.orderDetail
tr
td
,
.orderDetail
tr
th
{
width
:
500px
;
text-align
:
center
;
border
:
1px
solid
#dfe6ec
;
margin-left
:
100px
;
margin-right
:
100px
;
padding
:
10px
;
}
}
.label-value
{
.label-value
{
margin-left
:
80px
;
margin-right
:
100px
;
}
}
#license-img
{
#license-img
{
width
:
50px
;
height
:
50px
;
}
}
.order-details
.el-form-item
{
.order-details
.el-form-item
{
margin-bottom
:
10px
!important
;
}
}
.stepBox
{
.stepBox
{
background-color
:
#fff
;
width
:
100%
;
margin-top
:
10px
;
}
}
.title
{
.title
{
font-size
:
17px
;
color
:
#171413
;
border-bottom
:
1px
solid
#CCCCCC
;
border-bottom
:
1px
solid
#cccccc
;
margin-bottom
:
10px
;
font-weight
:
400
;
padding
:
10px
;
}
}
.stepBox
ul
{
.stepBox
ul
{
margin-left
:
10px
;
padding-left
:
10px
;
padding-top
:
20px
;
}
}
.stepBox
li
{
.stepBox
li
{
position
:
relative
;
padding
:
0
20px
20px
20px
;
list-style
:
none
;
min-height
:
40px
;
border-left
:
1px
solid
#ccc
;
margin-top
:
-15px
;
}
}
.stepBox
li
.active
{
border-color
:
#47E
270
;
}
.stepBox
li
.active
{
border-color
:
#47e
270
;
}
.stepBox
ul
li
:last-child
{
.stepBox
ul
li
:last-child
{
border
:
none
;
}
}
.activeImg
,
.doingImg
{
.activeImg
,
.doingImg
{
position
:
absolute
;
width
:
28px
;
top
:
-18px
;
left
:
-14px
;
background
:
#fff
}
background
:
#fff
;
}
.stepTitle
{
.stepTitle
{
font-size
:
15px
;
color
:
#171413
;
padding-bottom
:
5px
}
padding-bottom
:
5px
;
}
.tip
{
.tip
{
font-size
:
10px
;
color
:
#999999
;
}
}
.detailTitle
{
.detailTitle
{
font-size
:
10px
;
color
:
#171413
;
}
}
.orderBox
{
.orderBox
{
width
:
100%
;
padding
:
0
10px
;
background
:
#fff
;
}
}
.orderItem
{
.orderItem
{
display
:
flex
;
display
:
-webkit-box
;
display
:
-webkit-flex
;
align-items
:
center
;
padding-bottom
:
5px
}
padding-bottom
:
5px
;
}
.orderItemLeft
{
.orderItemLeft
{
font-size
:
13px
;
color
:
#171413
}
color
:
#171413
;
}
.orderItemRight
{
.orderItemRight
{
font-size
:
13px
;
color
:
#666666
}
color
:
#666666
;
}
.detailBox
{
.detailBox
{
display
:
flex
;
display
:
-webkit-box
;
display
:
-webkit-flex
;
padding
:
0
10px
10px
10px
;
align-items
:
center
}
align-items
:
center
;
}
.detailBoxLeft
{
.detailBoxLeft
{
width
:
80px
;
height
:
80px
;
border-radius
:
3px
;
margin-right
:
7px
}
margin-right
:
7px
;
}
.detailBoxRight
{
.detailBoxRight
{
flex
:
1
;
}
}
.copy
{
.copy
{
font-size
:
10px
;
color
:
#666666
;
background
:
#EEEEEE
;
background
:
#eeeeee
;
border-radius
:
3px
;
padding
:
3px
;
margin-left
:
10px
}
margin-left
:
10px
;
}
.picBox
{
.picBox
{
display
:
flex
;
display
:
-webkit-box
;
display
:
-webkit-flex
;
align-items
:
center
;
flex-wrap
:
wrap
}
flex-wrap
:
wrap
;
}
.picItem
{
.picItem
{
width
:
calc
(
33.3%
-
10px
);
margin-right
:
10px
;
margin-bottom
:
10px
;
}
}
.bag
{
.bag
{
background
:
#171413
;
border-radius
:
3px
;
padding
:
0
2px
;
color
:
#fff
;
font-size
:
10px
;
margin-right
:
5px
}
margin-right
:
5px
;
}
</
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