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
2685bdd4
Commit
2685bdd4
authored
Nov 08, 2019
by
guoyou
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
会员订单管理
parent
4f61d342
Changes
6
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
759 additions
and
590 deletions
+759
-590
dev.env.js
config/dev.env.js
+1
-1
rentOrderDetailModal.vue
src/views/order/modal/rentOrderDetailModal.vue
+129
-31
illegalModal.vue
src/views/order/rentVehicleInfo/illegalModal.vue
+244
-253
index.vue
src/views/order/rentVehicleInfo/index.vue
+235
-175
index.vue
src/views/vehicle/bookRecord/index.vue
+150
-128
priceList.vue
src/views/vehicleType/priceList.vue
+0
-2
No files found.
config/dev.env.js
View file @
2685bdd4
module
.
exports
=
{
NODE_ENV
:
'"development"'
,
BASE_API
:
'"https://
xxtest.upyuns.com"'
,
//'"https://xxtest.upyuns.com"',//'"https://xxtest.upyuns.com"',//'"https://dev.dfangche
.com"',//'"https://xxfcmgmt.upyuns.com"(正)',//http://10.1.37.192:9527(何), //https://xxtest.upyuns.com(测),10.1.37.246:9527(韩), 10.1.37.244(李斌)10.1.37.248:8765(小威)
BASE_API
:
'"https://
dev.dfangche.com"'
,
//'"https://xxtest.upyuns.com"',//'"https://xxtest.upyuns.com"',//'"https://xxtest.upyuns
.com"',//'"https://xxfcmgmt.upyuns.com"(正)',//http://10.1.37.192:9527(何), //https://xxtest.upyuns.com(测),10.1.37.246:9527(韩), 10.1.37.244(李斌)10.1.37.248:8765(小威)
APP_ORIGIN
:
'"https://wallstreetcn.com"'
}
src/views/order/modal/rentOrderDetailModal.vue
View file @
2685bdd4
<
template
>
<el-dialog
title=
"租车订单详情"
:visible
.
sync=
"dialogVisible"
class=
"order-details"
>
<el-form
:model=
"form"
ref=
"form"
label-width=
"
9
0px"
>
<el-form
:model=
"form"
ref=
"form"
label-width=
"
11
0px"
>
<el-row>
<el-col
:span=
"8"
>
<el-form-item
label=
"订单号:"
>
...
...
@@ -8,28 +8,33 @@
</el-form-item>
</el-col>
<el-col
:span=
"8"
>
<el-form-item
label=
"
支付
时间:"
>
<el-form-item
label=
"
创建订单
时间:"
>
<span>
{{
form
.
crtTime
}}
</span>
</el-form-item>
</el-col>
<el-col
:span=
"8"
>
<el-form-item
label=
"
订单状态
:"
>
<span>
{{
form
.
ststusName
}}
</span>
<el-form-item
label=
"
实际支付时间
:"
>
<span>
{{
!!
form
.
payTime
?
timestamp
(
new
Date
(
form
.
payTime
))
:
'无'
}}
</span>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col
:span=
"8"
>
<el-form-item
label=
"
姓名
:"
>
<span>
{{
form
.
real
Name
}}
</span>
<el-form-item
label=
"
订单状态
:"
>
<span>
{{
form
.
ststus
Name
}}
</span>
</el-form-item>
</el-col>
<el-col
:span=
"8"
>
<el-form-item
label=
"手机号:"
>
<span>
{{
form
.
telephone
}}
</span>
<el-form-item
label=
"
姓名/
手机号:"
>
<span>
{{
form
.
realName
}}
/
{{
form
.
telephone
}}
</span>
</el-form-item>
</el-col>
<el-col
:span=
"8"
>
<el-form-item
label=
"会员等级/身份:"
>
<span>
{{
form
.
memberName
}}
/
{{
form
.
jobTitle
}}
</span>
</el-form-item>
</el-col>
<!--
<el-col
:span=
"8"
>
<el-form-item
label=
"配车:"
>
<span
style=
"margin-right: 10px;"
...
...
@@ -42,9 +47,9 @@
@
click=
"resetCar"
>
重新配车
</el-button>
</el-form-item>
</el-col>
</el-col>
-->
</el-row>
<el-row>
<
!--
<
el-row>
<el-col
:span=
"8"
>
<el-form-item
label=
"取车:"
>
<span>
{{
form
.
orderRentVehicleDetail
.
startTime
}}
</span>
...
...
@@ -60,8 +65,8 @@
<span>
{{
form
.
startCompanyName
}}
</span>
</el-form-item>
</el-col>
</el-row>
<el-row>
</el-row>
-->
<
!--
<
el-row>
<el-col
:span=
"8"
>
<el-form-item
label=
"还车:"
>
<span>
{{
form
.
orderRentVehicleDetail
.
endTime
}}
</span>
...
...
@@ -75,45 +80,112 @@
<el-col
:span=
"8"
>
<el-form-item
label=
"还车公司:"
>
<span>
{{
form
.
endCompanyName
}}
</span>
<el-button
v-show=
"form.status == 4 || form.status == 5"
size=
"mini"
type=
"primary"
style=
"padding: 7px 9px;"
@
click=
"resetReturn = true"
>
更换
</el-button>
<el-button
v-show=
"form.status == 4 || form.status == 5"
size=
"mini"
type=
"primary"
style=
"padding: 7px 9px;"
@
click=
"resetReturn = true"
>
更换
</el-button>
</el-form-item>
</el-col>
</el-row>
</el-row>
-->
<table
class=
"orderDetail"
>
<tr>
<th>
房车
</th>
<th>
租借天数
</th>
<th>
费用明细
</th>
<th>
取/还时间
</th>
<th>
交车公司
</th>
<th>
还车公司
</th>
<th>
免费天数
</th>
<th>
车辆租赁费
</th>
<th>
优惠券
</th>
<th>
不计免赔
</th>
<th>
租房车押金
</th>
</tr>
<tr>
<td>
{{
form
.
name
}}{{
rentCostDetail
}}
</td>
<td>
{{
form
.
orderRentVehicleDetail
.
dayNum
}}
天
</td>
<td>
{{
rentCostDetail
}}
</td>
<td>
{{
form
.
name
}}
</td>
<td>
<p>
取:
{{
form
.
orderRentVehicleDetail
.
startTime
}}
</p>
<p>
还:
{{
form
.
orderRentVehicleDetail
.
endTime
}}
</p>
</td>
<td>
{{
form
.
startCompanyName
}}
</td>
<td>
{{
form
.
endCompanyName
}}
</td>
<td></td>
<td></td>
<td>
<p
v-if=
"form.couponList"
>
优惠券:
<span
v-for=
"(item,index) in form.couponList"
:key=
"index"
>
{{
item
.
title
}}
-
{{
item
.
usedAmount
}}
元
</span>
</p>
<p
v-else
>
优惠券:无
</p>
</td>
<td></td>
<td>
<!--
{{
form
.
orderRentVehicleDetail
.
costDetail
.
children
}}
-->
<!--
<div
v-show=
"form.orderRentVehicleDetail.costDetail"
>
<p
v-for=
"(item,index) in JSON.parse(form.orderRentVehicleDetail.costDetail).children"
:key=
"index"
>
{{
item
.
key
}}
:
{{
item
.
detail
||
'无'
}}
</p>
</div>
-->
</td>
</tr>
<tr>
<td>
<el-button
size=
"small"
type=
"text"
v-if=
"form.status==4"
@
click=
"resetCar"
>
重新配车
</el-button>
</td>
<td></td>
<td></td>
<td>
共计:¥
{{
form
.
realAmount
}}
</td>
<td>
<el-button
v-show=
"form.status == 4 || form.status == 5"
size=
"mini"
type=
"text"
@
click=
"resetReturn = true"
>
更换
</el-button>
</td>
<td
colspan=
"5"
>
{{
form
.
payWay
==
1
?
'微信公众号支付'
:
form
.
payWay
==
2
?
'支付宝即时支付'
:
form
.
payWay
==
3
?
'银联支付'
:
''
}}
共计:¥
{{
form
.
realAmount
}}
</td>
</tr>
</table>
<div
v-if=
"form.orderVehicleCrosstownDto"
style=
"margin: 20px 0;"
>
<p>
<b>
额外随车物品:
</b>
<span
v-for=
"(item,index) in JSON.parse(this.form.carArticlesJson)"
:key=
"index"
style=
"margin-right:10px"
>
{{
item
.
name
||
'无'
}}
</span>
</p>
<p>
<b>
内部邀请人:
</b>
<span>
{{
form
.
facilitatePhone
||
'无'
}}
</span>
</p>
<p>
<b>
驾驶证:
</b>
<span
v-if=
"form.orderVehicleCrosstownDto"
>
{{
form
.
orderVehicleCrosstownDto
.
licenseName
}}
{{
form
.
orderVehicleCrosstownDto
.
licensePhone
}}
{{
form
.
orderVehicleCrosstownDto
.
licenseIdCard
}}
</span>
<span
v-else
>
无
</span>
</p>
<!--
<div
v-if=
"form.orderVehicleCrosstownDto"
style=
"margin: 20px 0;"
>
<span
style=
"font-size: 18px;font-weight: bold;"
>
驾驶人信息
</span>
</div>
<table
class=
"orderDetail"
v-if=
"form.orderVehicleCrosstownDto"
>
</div>
-->
<
!--
<
table
class=
"orderDetail"
v-if=
"form.orderVehicleCrosstownDto"
>
<tr>
<th>
姓名
</th>
<th>
手机号
</th>
<th>
身份证号
</th>
<!--
<th>
驾照
</th>
-->
</tr>
<tr>
<td>
{{
form
.
orderVehicleCrosstownDto
.
licenseName
}}
</td>
<td>
{{
form
.
orderVehicleCrosstownDto
.
licensePhone
}}
</td>
<td>
{{
form
.
orderVehicleCrosstownDto
.
licenseIdCard
}}
</td>
<!--
<td><img
style=
"width: 140px;height: 140px;"
:src=
"form.orderVehicleCrosstownDto?form.orderVehicleCrosstownDto.licenseImg:'https://xxtest.upyuns.com/image/app/default_%20avatar.png'"
></td>
-->
</tr>
</table>
</table>
-->
</el-form>
<div
class=
"modal_modal"
v-show=
"resetCarVisible"
></div>
<!-- 重新配车 -->
...
...
@@ -171,6 +243,7 @@ export default {
updateNumberPlat
:
false
,
//是否重新配车
dialogVisible
:
false
,
resetCarVisible
:
false
,
goods
:
[],
resetCarForm
:
{
no
:
''
,
numberPlate
:
''
//重新配车车牌号
...
...
@@ -204,7 +277,7 @@ export default {
}
},
mounted
()
{
console
.
log
(
this
.
form
)
this
.
dialogVisible
=
true
if
(
this
.
form
.
status
==
2
)
{
this
.
form
.
ststusName
=
'取消'
...
...
@@ -224,6 +297,32 @@ export default {
this
.
getAllFn
()
},
methods
:
{
timestamp
(
now
)
{
var
year
=
now
.
getFullYear
()
var
month
=
now
.
getMonth
()
+
1
var
date
=
now
.
getDate
()
var
Hours
=
now
.
getHours
()
var
Minutes
=
now
.
getMinutes
()
var
Seconds
=
now
.
getSeconds
()
month
=
month
.
toString
().
length
==
1
?
'0'
+
month
:
month
date
=
date
.
toString
().
length
==
1
?
'0'
+
date
:
date
Hours
=
Hours
.
toString
().
length
==
1
?
'0'
+
Hours
:
Hours
Minutes
=
Minutes
.
toString
().
length
==
1
?
'0'
+
Minutes
:
Minutes
Seconds
=
Seconds
.
toString
().
length
==
1
?
'0'
+
Seconds
:
Seconds
return
(
year
+
'-'
+
month
+
'-'
+
date
+
' '
+
Hours
+
':'
+
Minutes
+
':'
+
Seconds
)
},
getAllFn
()
{
let
_this
=
this
getAll
().
then
(
data
=>
{
...
...
@@ -252,10 +351,9 @@ export default {
type
:
'success'
,
duration
:
3000
})
this
.
resetReturn
=
false
;
this
.
dialogVisible
=
false
;
this
.
resetReturn
=
false
this
.
dialogVisible
=
false
this
.
$emit
(
'rentOrderDetailDialogEvent'
,
true
)
}
else
{
this
.
$notify
({
title
:
'失败'
,
...
...
src/views/order/rentVehicleInfo/illegalModal.vue
View file @
2685bdd4
<
template
>
<el-dialog
title=
"违章查询"
:visible
.
sync=
"isVisible"
>
<el-form>
<el-row>
<el-col
:span=
"24"
>
<el-form-item
label=
"订单号"
>
<span>
{{
row
.
no
}}
</span>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col
:span=
"12"
>
<el-form-item
label=
"订单金额"
>
<span>
{{
row
.
realAmount
}}
</span>
</el-form-item>
</el-col>
<el-col
:span=
"12"
>
<el-form-item
label=
"车牌号"
>
<span>
{{
row
.
vehicleNumberPlat
}}
</span>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col
:span=
"24"
>
<el-form-item
label=
"用户ID/实名"
>
<span>
{{
row
.
userId
}}
</span>
/
<span>
{{
row
.
username
}}
</span>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col
:span=
"8"
>
<el-form-item
label=
"取车"
>
<span>
{{
dateFormat
(
row
.
orderRentVehicleDetail
.
startTime
)
}}
</span>
</el-form-item>
</el-col>
<el-col
:span=
"16"
>
<el-form-item
label=
"交车公司"
>
<span>
{{
row
.
startCompanyName
}}
</span>
<span>
(
{{
row
.
orderRentVehicleDetail
.
startCityName
}}{{
row
.
orderRentVehicleDetail
.
startAddr
}}
)
</span>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col
:span=
"8"
>
<el-form-item
label=
"还车"
>
<span>
{{
dateFormat
(
row
.
orderRentVehicleDetail
.
endTime
)
}}
</span>
</el-form-item>
</el-col>
<el-col
:span=
"16"
>
<el-form-item
label=
"收车公司"
>
<span><span>
{{
row
.
endCompanyName
}}
</span>
<span>
(
{{
row
.
orderRentVehicleDetail
.
endCityName
}}{{
row
.
orderRentVehicleDetail
.
endAddr
}}
)
</span></span>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col>
<el-form-item
label=
"违章截图"
:style=
"
{display:'block'}">
<!--
<el-upload-->
<!--:action="BASE_API+'/api/universal/file/app/unauth/admin/upload'"-->
<!--list-type="picture-card"-->
<!--:headers="getHeaderWithToken"-->
<!--:on-success="handleSuccess"-->
<!--:on-remove="handleRemove">-->
<!--
<i
class=
"el-icon-plus"
></i>
-->
<!--
</el-upload>
-->
<!--
<el-dialog
v-model=
"dialogVisible"
size=
"tiny"
>
-->
<!--
<img
width=
"100%"
:src=
"dialogImageUrl"
alt=
""
>
-->
<!--
</el-dialog>
-->
<el-upload
class=
"upload-demo"
:headers=
"getHeaderWithToken"
:action=
"BASE_API+'/api/universal/file/app/unauth/admin/upload'"
:on-remove=
"handleRemove"
:file-list=
"fileList2"
:on-success=
"handleSuccess"
list-type=
"picture-card"
>
<!--
<div
slot=
"tip"
class=
"el-upload__tip"
>
最多上传5张
</div>
-->
<i
class=
"el-icon-plus"
></i>
</el-upload>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-form-item
label=
"违章罚款"
style=
"display: inline-block;"
>
<el-input
v-model=
"price"
type=
"number"
placeholder=
"请输入违章罚款金额"
></el-input>
</el-form-item>
</el-row>
</el-form>
<el-dialog
title=
"违章查询"
:visible
.
sync=
"isVisible"
>
<el-form>
<!--
<el-row>
<el-col
:span=
"24"
>
<el-form-item
label=
"订单号"
>
<span>
{{
row
.
no
}}
</span>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col
:span=
"12"
>
<el-form-item
label=
"订单金额"
>
<span>
{{
row
.
realAmount
}}
</span>
</el-form-item>
</el-col>
<el-col
:span=
"12"
>
<el-form-item
label=
"车牌号"
>
<span>
{{
row
.
vehicleNumberPlat
}}
</span>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col
:span=
"24"
>
<el-form-item
label=
"用户ID/实名"
>
<span>
{{
row
.
userId
}}
</span>
/
<span>
{{
row
.
username
}}
</span>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col
:span=
"8"
>
<el-form-item
label=
"取车"
>
<span>
{{
dateFormat
(
row
.
orderRentVehicleDetail
.
startTime
)
}}
</span>
</el-form-item>
</el-col>
<el-col
:span=
"16"
>
<el-form-item
label=
"交车公司"
>
<span>
{{
row
.
startCompanyName
}}
</span>
<span>
(
{{
row
.
orderRentVehicleDetail
.
startCityName
}}{{
row
.
orderRentVehicleDetail
.
startAddr
}}
)
</span>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col
:span=
"8"
>
<el-form-item
label=
"还车"
>
<span>
{{
dateFormat
(
row
.
orderRentVehicleDetail
.
endTime
)
}}
</span>
</el-form-item>
</el-col>
<el-col
:span=
"16"
>
<el-form-item
label=
"收车公司"
>
<span>
<span>
{{
row
.
endCompanyName
}}
</span>
<span>
(
{{
row
.
orderRentVehicleDetail
.
endCityName
}}{{
row
.
orderRentVehicleDetail
.
endAddr
}}
)
</span>
</span>
</el-form-item>
</el-col>
</el-row>
-->
<el-row>
<el-col>
<el-form-item
label=
"违章截图"
:style=
"
{display:'block'}">
<!--
<el-upload-->
<!--:action="BASE_API+'/api/universal/file/app/unauth/admin/upload'"-->
<!--list-type="picture-card"-->
<!--:headers="getHeaderWithToken"-->
<!--:on-success="handleSuccess"-->
<!--:on-remove="handleRemove">-->
<!--
<i
class=
"el-icon-plus"
></i>
-->
<!--
</el-upload>
-->
<!--
<el-dialog
v-model=
"dialogVisible"
size=
"tiny"
>
-->
<!--
<img
width=
"100%"
:src=
"dialogImageUrl"
alt=
""
>
-->
<!--
</el-dialog>
-->
<el-upload
class=
"upload-demo"
:headers=
"getHeaderWithToken"
:action=
"BASE_API+'/api/universal/file/app/unauth/admin/upload'"
:on-remove=
"handleRemove"
:file-list=
"fileList2"
:on-success=
"handleSuccess"
list-type=
"picture-card"
>
<!--
<div
slot=
"tip"
class=
"el-upload__tip"
>
最多上传5张
</div>
-->
<i
class=
"el-icon-plus"
></i>
</el-upload>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-form-item
label=
"违章罚款"
style=
"display: inline-block;width:100%"
>
<el-input
style=
"width:300px"
v-model=
"price"
type=
"number"
placeholder=
"请输入违章罚款金额"
></el-input><span
style=
"margin-left:10px"
>
元
</span>
</el-form-item>
</el-row>
</el-form>
<div
slot=
"footer"
class=
"dialog-footer"
>
<el-button
@
click=
"cancel"
>
取 消
</el-button>
<el-button
type=
"primary"
@
click=
"okHandler('form')"
>
确 定
</el-button>
</div>
</el-dialog>
<div
slot=
"footer"
class=
"dialog-footer"
>
<el-button
@
click=
"cancel"
>
取 消
</el-button>
<el-button
type=
"primary"
@
click=
"okHandler('form')"
>
确 定
</el-button>
</div>
</el-dialog>
</
template
>
<
script
>
import
{
page
,
saveOrderViolation
}
from
'api/order/rentVehicle'
;
import
{
mapGetters
}
from
'vuex'
;
import
{
formatDate
}
from
'../../../utils/dateFormattor'
;
import
{
getToken
}
from
'../../../utils/auth'
;
import
{
getOneIllegalRow
}
from
'api/order/rentVehicle'
;
import
ElRow
from
"element-ui/packages/row/src/row"
;
import
ElInput
from
"../../../../node_modules/element-ui/packages/input/src/input.vue"
;
import
ElCol
from
"element-ui/packages/col/src/col"
;
import
ElFormItem
from
"../../../../node_modules/element-ui/packages/form/src/form-item.vue"
;
import
ElForm
from
"../../../../node_modules/element-ui/packages/form/src/form.vue"
;
export
default
{
props
:
[
"row"
],
name
:
'illegalDialog'
,
components
:
{
ElForm
,
ElFormItem
,
ElCol
,
ElInput
,
ElRow
},
data
()
{
return
{
BASE_API
:
process
.
env
.
BASE_API
,
price
:
undefined
,
//违章罚款金额
isVisible
:
false
,
fileList2
:[],
//违章截图
}
},
created
()
{
},
watch
:
{
isVisible
(
newValue
,
oldValue
){
if
(
!
newValue
){
this
.
$emit
(
'illegalEvent'
,
false
);
}
},
},
mounted
()
{
let
that
=
this
;
// if(that.row.refundStatus == 3) {
//refundStatus退款状态 0、未退款 1、已退还所有(取消订单时)2、 已退还部分(保留违章预备金)3、已退还所有押金(扣除该扣除的)
that
.
getOne
(
that
.
row
.
detailId
);
// }
this
.
isVisible
=
true
;
},
computed
:
{
...
mapGetters
([
'elements'
,
]),
getHeaderWithToken
()
{
return
{
Authorization
:
getToken
()};
}
},
methods
:
{
/**
* 根据id查询一条记录
* */
getOne
(
id
){
let
t
=
this
;
getOneIllegalRow
(
id
).
then
(
response
=>
{
if
(
response
.
status
==
200
){
let
arr
=
response
.
data
.
picture
.
split
(
","
);
let
fileList2
=
[];
let
p
=
{};
arr
.
map
(
function
(
item
){
p
=
{
url
:
item
};
fileList2
.
push
(
p
);
});
t
.
price
=
parseFloat
(
response
.
data
.
price
);
t
.
fileList2
=
fileList2
;
t
.
id
=
response
.
data
.
id
?
response
.
data
.
id
:
undefined
;
}
else
{
this
.
$notify
({
title
:
'失败'
,
message
:
response
.
menu
,
type
:
'error'
,
duration
:
2000
});
}
})
},
/**
* 上传成功
* */
handleSuccess
(
res
,
file
)
{
let
c
=
{
url
:
res
.
data
};
this
.
fileList2
.
push
(
c
);
this
.
showLoadingBody
=
false
;
},
/**
* 删除违章图片
* */
handleRemove
(
file
,
fileList
){
this
.
fileList2
=
fileList
;
},
/**
* 确定
* */
okHandler
()
{
let
arr
=
[];
this
.
fileList2
.
map
(
function
(
item
){
arr
.
push
(
item
.
url
);
});
let
params
=
{
picture
:
arr
.
join
(
","
),
price
:
this
.
price
,
detailId
:
this
.
row
.
detailId
,
id
:
this
.
id
};
saveOrderViolation
(
params
).
then
(
response
=>
{
if
(
response
.
status
===
200
)
{
this
.
$notify
({
title
:
'成功'
,
message
:
'创建成功'
,
type
:
'success'
,
duration
:
2000
});
this
.
$emit
(
'illegalEvent'
,
false
);
}
else
{
this
.
$notify
({
title
:
'创建失败'
,
message
:
'操作失败!'
,
type
:
'error'
,
duration
:
2000
});
}
});
},
/**
* 弹框-取消
* */
cancel
()
{
this
.
$emit
(
'illegalEvent'
,
false
);
},
/**
* 格式化时间
* @param timestamp
* @returns {*}
*/
dateFormat
(
timestamp
)
{
let
date
=
new
Date
(
timestamp
);
//时间戳为10位需*1000,时间戳为13位的话不需乘1000
return
formatDate
(
date
,
'yyyy-MM-dd hh:mm:ss'
);
},
}
}
import
{
page
,
saveOrderViolation
}
from
'api/order/rentVehicle'
import
{
mapGetters
}
from
'vuex'
import
{
formatDate
}
from
'../../../utils/dateFormattor'
import
{
getToken
}
from
'../../../utils/auth'
import
{
getOneIllegalRow
}
from
'api/order/rentVehicle'
import
ElRow
from
'element-ui/packages/row/src/row'
import
ElInput
from
'../../../../node_modules/element-ui/packages/input/src/input.vue'
import
ElCol
from
'element-ui/packages/col/src/col'
import
ElFormItem
from
'../../../../node_modules/element-ui/packages/form/src/form-item.vue'
import
ElForm
from
'../../../../node_modules/element-ui/packages/form/src/form.vue'
export
default
{
props
:
[
'row'
],
name
:
'illegalDialog'
,
components
:
{
ElForm
,
ElFormItem
,
ElCol
,
ElInput
,
ElRow
},
data
()
{
return
{
BASE_API
:
process
.
env
.
BASE_API
,
price
:
undefined
,
//违章罚款金额
isVisible
:
false
,
fileList2
:
[]
//违章截图
}
},
created
()
{},
watch
:
{
isVisible
(
newValue
,
oldValue
)
{
if
(
!
newValue
)
{
this
.
$emit
(
'illegalEvent'
,
false
)
}
}
},
mounted
()
{
let
that
=
this
// if(that.row.refundStatus == 3) {
//refundStatus退款状态 0、未退款 1、已退还所有(取消订单时)2、 已退还部分(保留违章预备金)3、已退还所有押金(扣除该扣除的)
that
.
getOne
(
that
.
row
.
detailId
)
// }
this
.
isVisible
=
true
},
computed
:
{
...
mapGetters
([
'elements'
]),
getHeaderWithToken
()
{
return
{
Authorization
:
getToken
()
}
}
},
methods
:
{
/**
* 根据id查询一条记录
* */
getOne
(
id
)
{
let
t
=
this
getOneIllegalRow
(
id
).
then
(
response
=>
{
if
(
response
.
status
==
200
)
{
let
arr
=
response
.
data
.
picture
.
split
(
','
)
let
fileList2
=
[]
let
p
=
{}
arr
.
map
(
function
(
item
)
{
p
=
{
url
:
item
}
fileList2
.
push
(
p
)
})
t
.
price
=
parseFloat
(
response
.
data
.
price
)
t
.
fileList2
=
fileList2
t
.
id
=
response
.
data
.
id
?
response
.
data
.
id
:
undefined
}
else
{
this
.
$notify
({
title
:
'失败'
,
message
:
response
.
menu
,
type
:
'error'
,
duration
:
2000
})
}
})
},
/**
* 上传成功
* */
handleSuccess
(
res
,
file
)
{
let
c
=
{
url
:
res
.
data
}
this
.
fileList2
.
push
(
c
)
this
.
showLoadingBody
=
false
},
/**
* 删除违章图片
* */
handleRemove
(
file
,
fileList
)
{
this
.
fileList2
=
fileList
},
/**
* 确定
* */
okHandler
()
{
let
arr
=
[]
this
.
fileList2
.
map
(
function
(
item
)
{
arr
.
push
(
item
.
url
)
})
let
params
=
{
picture
:
arr
.
join
(
','
),
price
:
this
.
price
,
detailId
:
this
.
row
.
detailId
,
id
:
this
.
id
}
saveOrderViolation
(
params
).
then
(
response
=>
{
if
(
response
.
status
===
200
)
{
this
.
$notify
({
title
:
'成功'
,
message
:
'创建成功'
,
type
:
'success'
,
duration
:
2000
})
this
.
$emit
(
'illegalEvent'
,
false
)
}
else
{
this
.
$notify
({
title
:
'创建失败'
,
message
:
'操作失败!'
,
type
:
'error'
,
duration
:
2000
})
}
})
},
/**
* 弹框-取消
* */
cancel
()
{
this
.
$emit
(
'illegalEvent'
,
false
)
},
/**
* 格式化时间
* @param timestamp
* @returns {*}
*/
dateFormat
(
timestamp
)
{
let
date
=
new
Date
(
timestamp
)
//时间戳为10位需*1000,时间戳为13位的话不需乘1000
return
formatDate
(
date
,
'yyyy-MM-dd hh:mm:ss'
)
}
}
}
</
script
>
<
style
>
.el-form-item__content
{
display
:
inline-block
;
}
.el-form-item__content
{
display
:
inline-block
;
}
</
style
>
src/views/order/rentVehicleInfo/index.vue
View file @
2685bdd4
...
...
@@ -19,13 +19,18 @@
<el-col
:span=
"5"
>
<el-form-item
label=
"所属公司"
prop=
"startCompanyId"
>
<el-select
class=
"filter-item"
v-model=
"listQuery.startCompanyId"
filterable
placeholder=
"请选择"
@
change=
"getAllBranchCompanyChange"
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=
"item in allBranchCompany"
:key=
"item.id"
:label=
"item.name"
:value=
"item.id"
></el-option>
</el-select>
</el-form-item>
</el-col>
...
...
@@ -218,88 +223,185 @@
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>
</div>
<div
class=
"label-title"
>
<span>
订单状态:
</span>
<span
class=
"label-text"
>
{{form.ststusName}}
</span>
<div
v-if=
"modalTitle=='交车记录'"
>
<el-row
:gutter=
"20"
>
<el-col
:span=
"10"
>
<el-form-item
label=
"客户姓名:"
>
<span>
{{form.realName}}
</span>
</el-form-item>
</el-col>
<el-col
:span=
"10"
>
<el-form-item
label=
"手机号:"
>
<span
class=
"label-text"
>
{{form.telephone}}
</span>
</el-form-item>
</el-col>
</el-row>
<el-form-item
label=
"驾驶证:"
>
<viewer>
<img
:src=
"form.userLicenseImg"
class=
"voucher"
/>
</viewer>
</el-form-item>
<el-row
:gutter=
"20"
>
<el-col
:span=
"10"
>
<el-form-item
label=
"交车操作人:"
>
<span
class=
"label-text"
>
{{orderReturnVehicleCrosstown.operatorName}} {{orderReturnVehicleCrosstown.operatorPhone}}
</span>
</el-form-item>
</el-col>
<el-col
:span=
"10"
>
<el-form-item
label=
"交车时间:"
>
<span
class=
"label-text"
>
{{orderReturnVehicleCrosstown.operatorTime ? dateFormat(orderReturnVehicleCrosstown.operatorTime) : ''}}
</span>
</el-form-item>
</el-col>
</el-row>
</div>
<div
class=
"label-title"
>
<span>
姓名/手机号:
</span>
<span
class=
"label-text"
>
<span>
{{form.realName}}
</span>
/
<span>
{{form.telephone}}
</span>
</span>
<div
v-else-if=
"modalTitle=='还车记录'"
>
<el-form-item
label=
"实退押金:"
>
<span>
{{orderReturnVehicleCrosstown.restDeposit}}
</span>
</el-form-item>
<el-form-item
label=
"消费超额:"
>
<span
v-for=
"(item,index) in orderReturnVehicleCrosstown.violateDetailList"
:key=
"index"
>
{{item.excessCost}}
</span>
</el-form-item>
<el-form-item
label=
"违约类型:"
>
<span
v-for=
"(item,index) in orderReturnVehicleCrosstown.violateDetailList"
:key=
"index"
>
{{item.statusName}}
</span>
</el-form-item>
<el-form-item
label=
"赔款备注:"
>
<span
v-for=
"(item,index) in orderReturnVehicleCrosstown.violateDetailList"
:key=
"index"
>
{{item.deductions}}
</span>
</el-form-item>
<el-form-item
label=
"优惠券返还:"
>
<span
v-for=
"(item,index) in orderReturnVehicleCrosstown.backCoupons"
:key=
"index"
>
{{item.title}} {{item.usedAmount}}
</span>
</el-form-item>
</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>
<div
v-show=
"modalTitle=='还车记录' || modalTitle=='交车记录'"
>
<el-form-item
label=
"公里数:"
>
<p
style=
"line-height: 1;position: relative;top: -3px;"
>
{{orderReturnVehicleCrosstown.mileage}}km/h
</p>
<viewer>
<img
:src=
"orderReturnVehicleCrosstown.mileageImg"
class=
"voucher"
/>
</viewer>
</el-form-item>
<el-form-item
label=
"车辆取证:"
>
<viewer
:images=
"otherImg"
>
<img
v-for=
"src in otherImg"
:src=
"src"
:key=
"src"
class=
"voucher"
/>
</viewer>
</el-form-item>
<el-form-item
label=
"备注:"
>
<span>
{{form.remak}}
</span>
</el-form-item>
</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>
<div
v-show=
"modalTitle=='还车记录'"
>
<div
v-show=
"orderReturnVehicleCrosstown.type == 3"
>
<el-form-item
label=
"定损类型:"
>
<span></span>
</el-form-item>
<el-form-item
label=
"定损总赔:"
>
<span>
{{dedDetailDTOListAll}}
</span>
</el-form-item>
<el-form-item
label=
"赔偿事项:"
>
<div
v-for=
"(item,index) in orderReturnVehicleCrosstown.dedDetailDTOList"
:key=
"index"
>
<p
style=
"line-height: 1;position: relative;top: -3px;"
>
事项{{index+1}} {{item.deductions}} {{item.cost}}
</p>
<viewer
:images=
"item.picList"
>
<img
v-for=
"src in item.picList"
:src=
"src"
:key=
"src"
class=
"voucher"
/>
</viewer>
</div>
</el-form-item>
<el-form-item
label=
"定损时间:"
>
<span>
{{dateFormat(orderReturnVehicleCrosstown.statusTime)}}
</span>
</el-form-item>
</div>
<el-row
:gutter=
"20"
>
<el-col
:span=
"10"
>
<el-form-item
label=
"收车操作人:"
>
<span
class=
"label-text"
>
{{orderReturnVehicleCrosstown.operatorName}} {{orderReturnVehicleCrosstown.operatorPhone}}
</span>
</el-form-item>
</el-col>
<el-col
:span=
"10"
>
<el-form-item
label=
"收车时间:"
>
<span
class=
"label-text"
>
{{dateFormat(orderReturnVehicleCrosstown.operatorTime)}}
</span>
</el-form-item>
</el-col>
</el-row>
</div>
<div
class=
"stepBox"
v-if=
"depositDetail"
>
<div
class=
"title"
v-if=
"depositRefundRecord.length>0"
>
押金退还进度
</div>
<ul>
<li
>
<p
class=
"inline successInline"
></p>
<p>
成功收车
<br
/>
<span>
{{dateFormat(crtTimeIndex)}}
</span>
</p>
</li>
<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=
"{successInline:item.iscomplete}"
class=
"inline"
></p>
<p
class=
"stepTitle"
>
<
template
v-if=
"item.status==1"
>
<div
class=
"picBox"
>
<div
style=
"flex: 1"
>
{{
item
.
restAmount
}}
押金退还已申请
</div>
<div
style=
"
font-size: 10px;
color: #999"
>
{{
item
.
updTimeStr
}}
</div>
<div>
{{
item
.
restAmount
}}
押金退还已申请
</div>
<div
style=
"color: #999"
>
{{
item
.
updTimeStr
}}
</div>
</div>
</
template
>
<
template
v-if=
"item.status==2"
>
<div
class=
"picBox"
>
<div
style=
"flex: 1"
>
{{
item
.
restAmount
}}
元押金退还到账
</div>
<div
style=
"font-size: 10px;color: #999"
>
{{
item
.
updTimeStr
}}
</div>
<div
v-show=
"item.iscomplete"
>
退还押金
{{
item
.
restAmount
}}
(扣除
{{
item
.
amount
}}
元)
</div>
<div
v-show=
'!item.iscomplete'
>
退还押金15000元
</div>
<div
style=
"color: #999"
v-show=
"item.iscomplete"
>
{{
item
.
updTimeStr
}}
</div>
<button
v-if=
"item.iscomplete"
>
详情
</button>
</div>
</
template
>
<
template
v-if=
"item.status==3"
>
<div
class=
"picBox"
>
<div
style=
"flex: 1"
>
{{
item
.
restAmount
}}
元房车违章押金到账
</div>
<div
style=
"font-size: 10px;color: #999"
>
{{
item
.
updTimeStr
}}
</div>
</div>
</
template
>
<
template
v-if=
"item.status==4"
>
<div
class=
"picBox"
>
<div
style=
"flex: 1"
>
房车定损评定中
</div>
<div
style=
"font-size: 10px;color: #999"
>
{{
item
.
updTimeStr
}}
</div>
<div
v-show=
"item.iscomplete"
>
退还违章保证金
{{
item
.
restAmount
}}
元(扣除
{{
item
.
amount
}}
元)
</div>
<div
v-show=
"!item.iscomplete"
>
退还押金5000元
</div>
<div
style=
"color: #999"
v-show=
"item.iscomplete"
>
{{
item
.
updTimeStr
}}
</div>
<div
v-if=
"item.iscomplete"
>
详情
</div>
</div>
</
template
>
<
template
v-if=
"item.status==5"
>
<div
class=
"picBox"
>
<div
style=
"flex: 1"
>
完成定损,退还剩余押金
</div>
<div
style=
"
font-size: 10px;color: #999
"
>
{{
item
.
updTimeStr
}}
</div>
<div
>
定损中
</div>
<div
style=
"
color: #999"
v-if=
"item.iscomplete
"
>
{{
item
.
updTimeStr
}}
</div>
</div>
</
template
>
<
template
v-if=
"item.status==6"
>
<div
class=
"picBox"
>
<div
style=
"flex: 1"
>
押金退还到账
</div>
<div
style=
"font-size: 10px;color: #999"
>
{{
item
.
updTimeStr
}}
</div>
<div
v-show=
"item.iscomplete"
>
退还押金
{{
item
.
restAmount
}}
(扣除
{{
item
.
amount
}}
元)
</div>
<div
v-show=
'!item.iscomplete'
>
退还押金15000元
</div>
<div
style=
"color: #999"
v-show=
"item.iscomplete"
>
{{
item
.
updTimeStr
}}
</div>
<button
v-if=
"item.iscomplete"
>
详情
</button>
</div>
</
template
>
</p>
<p
class=
"tip"
>
<
!-- <
p class="tip">
<template v-if="item.status==1">成功还车,退还15000租车押金</template>
<template v-if="item.status==2">{{item.updTimeStr}} 到账</template>
<template v-if="item.status==3">预计{{item.endTimeStr}}之前到账</template>
...
...
@@ -312,8 +414,8 @@
定损流程有疑问可联系滴房车 客服
<a :href="'tel://'+Tel" style="color: #666666;">{{Tel}}</a>
</template>
</p>
<p
</p>
-->
<
!-- <
p
class="detailTitle"
v-if="item.orderViolation && item.status==3"
style="margin-top: 15px"
...
...
@@ -341,103 +443,11 @@
<div class="picBox">
<img class="picItem" :src="it" alt v-for="(it,ix) in itm.picList" :key="ix" />
</div>
</div>
</div>
-->
</li>
</ul>
</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>
</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;"
@click="lookPic(orderReturnVehicleCrosstown.licenseImg)"
/>-->
<viewer>
<img
:src=
"orderReturnVehicleCrosstown.licenseImg"
style=
"width: 100px; height: 100px;margin-left:110px;"
/>
</viewer>
</div>
<div>
<span
class=
"label-text"
>
拍照取证*:
</span>
<br
/>
<!-- <img
v-for="(item,index) in otherImg"
:src="item"
:key="index"
style="width: 100px; height: 100px;margin-left:110px;"
@click="lookPic(item)"
/>-->
<viewer
:images=
"otherImg"
>
<img
v-for=
"src in otherImg"
:src=
"src"
:key=
"src"
style=
"width: 100px; height: 100px;margin-left:110px;"
/>
</viewer>
<!-- <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;"
@click="lookPic(orderReturnVehicleCrosstown.mileageImg)"
/>-->
<viewer>
<img
:src=
"orderReturnVehicleCrosstown.mileageImg"
style=
"width: 100px; height: 100px;margin-left:110px;"
/>
</viewer>
</div>
<div
v-if=
"returnVehicle"
>
<span
class=
"label-text"
>
钥匙照片*:
</span>
<br
/>
<!-- <img
:src="orderReturnVehicleCrosstown.vehicleKey"
style="width: 100px; height: 100px;margin-left:110px;"
@click="lookPic(orderReturnVehicleCrosstown.vehicleKey)"
/>-->
<viewer>
<img
:src=
"orderReturnVehicleCrosstown.vehicleKey"
style=
"width: 100px; height: 100px;margin-left:110px;"
/>
</viewer>
</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>
</div>
<div></div>
</div>
</el-form>
</el-dialog>
...
...
@@ -499,6 +509,7 @@ export default {
},
data
()
{
return
{
isInline
:
false
,
pictureList
:
[],
dedDetail
:
[],
depositRefundRecord
:
[],
...
...
@@ -608,6 +619,7 @@ export default {
realName
:
undefined
,
vehicleCode
:
undefined
},
crtTimeIndex
:
null
,
baranchQuery
:
{
zoneId
:
null
},
...
...
@@ -650,6 +662,7 @@ export default {
licensePhone
:
undefined
},
//还车记录
tableKey
:
0
,
dedDetailDTOListAll
:
undefined
,
otherImg
:
[],
handover
:
false
,
returnVehicle
:
false
,
...
...
@@ -982,6 +995,7 @@ export default {
}
this
.
orderVehicleQuery
.
orderId
=
this
.
form
.
id
this
.
orderVehicleQuery
.
type
=
1
this
.
orderVehicleQuery
.
types
=
null
this
.
getAllOrderVehicleCrosstown
()
this
.
handover
=
true
this
.
returnVehicle
=
false
...
...
@@ -996,6 +1010,16 @@ export default {
}
else
{
this
.
orderVehicleCrosstownVisible
=
true
this
.
orderReturnVehicleCrosstown
=
response
.
data
[
0
]
var
sum
=
0
if
(
this
.
orderReturnVehicleCrosstown
.
dedDetailDTOList
)
{
this
.
orderReturnVehicleCrosstown
.
dedDetailDTOList
.
forEach
(
element
=>
{
sum
+=
element
.
cost
}
)
this
.
dedDetailDTOListAll
=
sum
}
if
(
response
.
data
[
0
].
imgs
)
{
this
.
otherImg
=
response
.
data
[
0
].
imgs
.
split
(
','
)
}
...
...
@@ -1046,7 +1070,8 @@ export default {
this
.
serviceCost
=
this
.
form
.
orderRentVehicleDetail
.
dayNum
*
600
}
this
.
orderVehicleQuery
.
orderId
=
this
.
form
.
id
this
.
orderVehicleQuery
.
type
=
2
this
.
orderVehicleQuery
.
types
=
'2,3'
this
.
orderVehicleQuery
.
type
=
null
this
.
getAllOrderVehicleCrosstown
()
this
.
returnVehicle
=
true
this
.
handover
=
false
...
...
@@ -1061,11 +1086,12 @@ export default {
that
.
depositRefundRecord
=
[]
that
.
dedTotal
=
0
that
.
Tel
=
''
getStep
(
row
.
no
).
then
(
response
=>
{
getStep
(
row
.
no
+
'&address=1'
).
then
(
response
=>
{
response
.
data
.
forEach
(
function
(
item
)
{
if
(
item
.
type
!=
1
)
{
that
.
Tel
=
item
.
customerPhone
that
.
type
=
item
.
type
that
.
crtTimeIndex
=
item
.
crtTime
if
(
item
.
dedDetail
)
{
var
dedTotal
=
0
var
dedDetail
=
JSON
.
parse
(
item
.
dedDetail
)
...
...
@@ -1103,6 +1129,8 @@ export default {
var
arr
=
item
.
depositRefundRecord
}
that
.
depositRefundRecord
=
arr
// console.log(that.depositRefundRecord);
}
...
...
@@ -1300,13 +1328,21 @@ export default {
</
script
>
<
style
scpoed
>
.voucher
{
width
:
100px
;
height
:
100px
;
border
:
1px
solid
#d9d9d9
;
}
.label-text
{
margin-left
:
10px
;
margin-right
:
20px
;
}
.label-title
{
margin-top
:
10px
;
margin-top
:
15px
;
display
:
inline-block
;
width
:
49%
;
color
:
#333
;
}
.orderDetail
tr
th
{
...
...
@@ -1338,11 +1374,55 @@ export default {
}
.stepBox
{
background-color
:
#fff
;
width
:
100%
;
margin-top
:
10px
;
/* border:1px solid red; */
}
.stepBox
li
{
list-style
:
none
;
margin-bottom
:
40px
;
/* position: absolute; */
}
.stepBox
li
p
{
display
:
inline-block
;
font-size
:
14px
;
color
:
#333
;
}
.stepBox
li
p
span
{
color
:
#999
;
}
.successInline
{
background
:
rgb
(
0
,
153
,
255
)
!important
;
}
.successInline
::before
{
background
:
rgb
(
0
,
153
,
255
)
!important
;
}
.stepBox
li
.inline
:nth-child
(
1
)
{
width
:
20px
;
height
:
20px
;
border-radius
:
50%
;
/* background: rgb(0, 153, 255); */
background
:
#999
;
position
:
relative
;
}
.stepBox
li
.inline
:nth-child
(
1
)
::before
{
content
:
''
;
position
:
absolute
;
left
:
-40px
;
top
:
-43px
;
width
:
100px
;
height
:
1px
;
/* background: rgb(0, 153, 255); */
background
:
#999
;
transform
:
rotate
(
90deg
);
}
.stepBox
li
:first-child
.inline
::before
{
background
:
transparent
!important
;
}
.stepBox
li
p
:nth-child
(
2
)
{
margin-left
:
30px
;
position
:
relative
;
top
:
-3px
;
}
.title
{
font-size
:
17px
;
color
:
#171413
;
...
...
@@ -1352,29 +1432,6 @@ export default {
padding
:
10px
;
}
.stepBox
ul
{
margin-left
:
10px
;
padding-left
:
10px
;
padding-top
:
20px
;
}
.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
:
#47e270
;
}
.stepBox
ul
li
:last-child
{
border
:
none
;
}
.activeImg
,
.doingImg
{
position
:
absolute
;
...
...
@@ -1452,13 +1509,13 @@ export default {
margin-left
:
10px
;
}
.picBox
{
/*
.picBox {
display: flex;
display: -webkit-box;
display: -webkit-flex;
align-items: center;
flex-wrap: wrap;
}
}
*/
.picItem
{
width
:
calc
(
33.3%
-
10px
);
...
...
@@ -1474,4 +1531,7 @@ export default {
font-size
:
10px
;
margin-right
:
5px
;
}
.el-form-item__content
{
display
:
block
!important
;
}
</
style
>
src/views/vehicle/bookRecord/index.vue
View file @
2685bdd4
...
...
@@ -4,41 +4,40 @@
<el-form
:rules=
"rules4Query"
ref=
"queryForm"
:inline=
"inline"
:model=
"listQuery"
>
<el-row>
<el-col
:span=
"5"
>
<el-form-item
label=
"用途"
>
<el-select
class=
"filter-item"
v-model=
"listQuery.bookType"
placeholder=
"请选择"
>
<el-option
:key=
"undefined"
label=
"全部"
:value=
"undefined"
></el-option>
<el-option
v-for=
"val in bookTypeList"
:key=
"val.id"
:label=
"val.name"
:value=
"val.id"
></el-option>
</el-select>
</el-form-item>
<el-form-item
label=
"用途"
>
<el-select
class=
"filter-item"
v-model=
"listQuery.bookType"
placeholder=
"请选择"
>
<el-option
:key=
"undefined"
label=
"全部"
:value=
"undefined"
></el-option>
<el-option
v-for=
"val in bookTypeList"
: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=
"车辆编码"
>
<el-input
type=
"number"
v-model
.
number=
"listQuery.code"
placeholder=
"请输入车辆编码"
></el-input>
</el-form-item>
<el-form-item
label=
"车辆编码"
>
<el-input
type=
"number"
v-model
.
number=
"listQuery.code"
placeholder=
"请输入车辆编码"
></el-input>
</el-form-item>
</el-col>
<el-col
:span=
"5"
>
<el-form-item
label=
"车牌号"
>
<el-input
v-model=
"listQuery.numberPlate"
placeholder=
"请输入车牌号"
></el-input>
</el-form-item>
<el-form-item
label=
"车牌号"
>
<el-input
v-model=
"listQuery.numberPlate"
placeholder=
"请输入车牌号"
></el-input>
</el-form-item>
</el-col>
<el-col
:span=
"5"
>
<el-form-item
label=
"申请状态"
>
<el-select
class=
"filter-item"
v-model=
"listQuery.status"
placeholder=
"请选择申请状态"
>
<el-option
:key=
"undefined"
label=
"全部"
:value=
"undefined"
></el-option>
<!--
<el-option
v-for=
"(val, key, index) in statusList "
:key=
"val.code"
:label=
"val.val"
:value=
"val.code"
></el-option>
-->
<el-option
v-for=
"(val, index) in statusList "
:key=
"index"
:label=
"val.val"
:value=
"val.code"
></el-option>
</el-select>
</el-form-item>
<el-form-item
label=
"申请状态"
>
<el-select
class=
"filter-item"
v-model=
"listQuery.status"
placeholder=
"请选择申请状态"
>
<el-option
:key=
"undefined"
label=
"全部"
:value=
"undefined"
></el-option>
<!--
<el-option
v-for=
"(val, key, index) in statusList "
:key=
"val.code"
:label=
"val.val"
:value=
"val.code"
></el-option>
-->
<el-option
v-for=
"(val, index) in statusList "
:key=
"index"
:label=
"val.val"
:value=
"val.code"
></el-option>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row>
</el-col>
<el-col
:span=
"5"
>
<el-form-item
label=
"所属大区"
>
<el-select
...
...
@@ -54,13 +53,13 @@
</el-col>
<el-col
:span=
"5"
>
<el-form-item
label=
"提车公司"
prop=
"subordinateBranch"
>
<el-autocomplete
class=
"inline-input"
v-model=
"listQuery.liftCompanyName"
:fetch-suggestions=
"querySearch"
placeholder=
"请输入内容"
@
select=
"handleSelect"
></el-autocomplete>
<el-autocomplete
class=
"inline-input"
v-model=
"listQuery.liftCompanyName"
:fetch-suggestions=
"querySearch"
placeholder=
"请输入内容"
@
select=
"handleSelect"
></el-autocomplete>
</el-form-item>
</el-col>
<el-col
:span=
"5"
>
...
...
@@ -87,7 +86,7 @@
</el-col>
</el-row>
<el-button
class=
"filter-item"
type=
"primary"
v-waves
icon=
"search"
@
click=
"handleFilter"
>
搜索
</el-button>
<el-button
class=
"filter-item"
type=
"primary"
v-waves
@
click=
"reloadPage"
>
重置
</el-button>
<el-button
class=
"filter-item"
type=
"primary"
v-waves
@
click=
"reloadPage"
>
重置
</el-button>
</el-form>
</div>
...
...
@@ -133,13 +132,17 @@
</el-table-column>
<el-table-column
align=
"center"
label=
"预定取/还时间"
width=
"200"
>
<
template
scope=
"scope"
>
<span>
{{
scope
.
row
.
bookStartDate
}}
</span>
<br/><span>
{{
scope
.
row
.
bookEndDate
}}
</span>
<span>
{{
scope
.
row
.
bookStartDate
}}
</span>
<br
/>
<span>
{{
scope
.
row
.
bookEndDate
}}
</span>
</
template
>
</el-table-column>
<el-table-column
align=
"center"
label=
"实际取/还时间"
width=
"200"
>
<
template
scope=
"scope"
>
<span>
{{
scope
.
row
.
actualStartDate
}}
</span>
<br/><span>
{{
scope
.
row
.
actualEndDate
}}
</span>
</
template
>
<el-table-column
align=
"center"
label=
"实际取/还时间"
width=
"200"
>
<
template
scope=
"scope"
>
<span>
{{
scope
.
row
.
actualStartDate
}}
</span>
<br
/>
<span>
{{
scope
.
row
.
actualEndDate
}}
</span>
</
template
>
</el-table-column>
<!-- <el-table-column align="center" label="预定时间" width="220">
<template scope="scope">
...
...
@@ -421,7 +424,11 @@
</el-col>
</el-row>
<el-row
style=
"margin-left: 20px;"
v-if=
"departurePicList.length>0"
>
<el-col
<viewer
:images=
"departurePicList"
>
<img
v-for=
"src in departurePicList"
:src=
"src"
:key=
"src"
class=
"voucher"
/>
</viewer>
<!-- <el-col
:span="3"
v-for="(item, index) in departurePicList"
:key="index"
...
...
@@ -431,7 +438,7 @@
<el-card>
<img :src="item" class="image" />
</el-card>
</el-col>
</el-col>
-->
</el-row>
<hr
/>
<el-row>
...
...
@@ -470,7 +477,10 @@
</el-col>
</el-row>
<el-row
style=
"margin-left: 20px;"
v-if=
"arrivalPicList.length>0"
>
<el-col
<viewer
:images=
"arrivalPicList"
>
<img
v-for=
"src in arrivalPicList"
:src=
"src"
:key=
"src"
class=
"voucher"
/>
</viewer>
<!-- <el-col
:span="3"
v-for="(item, index) in arrivalPicList"
:key="index"
...
...
@@ -480,7 +490,7 @@
<el-card>
<img :src="item" class="image" />
</el-card>
</el-col>
</el-col>
-->
</el-row>
<hr
/>
<el-row>
...
...
@@ -947,7 +957,7 @@ export default {
flag
:
false
,
zoneId
:
undefined
,
liftCompany
:
undefined
,
liftCompanyName
:
""
,
liftCompanyName
:
''
,
numberPlate
:
undefined
,
selectedMonth
:
undefined
,
status
:
undefined
,
...
...
@@ -1081,56 +1091,56 @@ export default {
}
},
created
()
{
let
t
=
this
;
let
t
=
this
getAll
().
then
(
response
=>
{
this
.
allCompaniesArr
=
response
.
data
;
let
query
=
localStorage
.
getItem
(
"bookRecord"
);
if
(
query
!=
"null"
&&
query
)
{
let
queryJson
=
JSON
.
parse
(
query
);
if
(
queryJson
.
page
)
{
t
.
listQuery
.
page
=
queryJson
.
page
;
}
if
(
queryJson
.
limit
)
{
t
.
listQuery
.
limit
=
queryJson
.
limit
;
}
if
(
queryJson
.
flag
)
{
t
.
listQuery
.
flag
=
queryJson
.
flag
;
}
if
(
queryJson
.
zoneId
)
{
t
.
listQuery
.
zoneId
=
queryJson
.
zoneId
;
}
if
(
queryJson
.
liftCompany
)
{
t
.
listQuery
.
liftCompany
=
queryJson
.
liftCompany
;
}
if
(
queryJson
.
liftCompanyName
)
{
t
.
listQuery
.
liftCompanyName
=
queryJson
.
liftCompanyName
;
}
if
(
queryJson
.
numberPlate
)
{
t
.
listQuery
.
numberPlate
=
queryJson
.
numberPlate
;
}
if
(
queryJson
.
selectedMonth
)
{
t
.
listQuery
.
selectedMonth
=
queryJson
.
selectedMonth
;
}
if
(
queryJson
.
status
)
{
t
.
listQuery
.
status
=
queryJson
.
status
;
}
if
(
queryJson
.
bookType
)
{
t
.
listQuery
.
bookType
=
queryJson
.
bookType
;
}
// if(queryJson.liftCompany){
// t.allCompaniesArr.map(function (item) {
// if(item.id == queryJson.liftCompany){
// t.listQuery.liftCompanyName = item.name;
// }
// });
// }
}
this
.
getList
()
})
;
this
.
allCompaniesArr
=
response
.
data
let
query
=
localStorage
.
getItem
(
'bookRecord'
)
if
(
query
!=
'null'
&&
query
)
{
let
queryJson
=
JSON
.
parse
(
query
)
if
(
queryJson
.
page
)
{
t
.
listQuery
.
page
=
queryJson
.
page
}
if
(
queryJson
.
limit
)
{
t
.
listQuery
.
limit
=
queryJson
.
limit
}
if
(
queryJson
.
flag
)
{
t
.
listQuery
.
flag
=
queryJson
.
flag
}
if
(
queryJson
.
zoneId
)
{
t
.
listQuery
.
zoneId
=
queryJson
.
zoneId
}
if
(
queryJson
.
liftCompany
)
{
t
.
listQuery
.
liftCompany
=
queryJson
.
liftCompany
}
if
(
queryJson
.
liftCompanyName
)
{
t
.
listQuery
.
liftCompanyName
=
queryJson
.
liftCompanyName
}
if
(
queryJson
.
numberPlate
)
{
t
.
listQuery
.
numberPlate
=
queryJson
.
numberPlate
}
if
(
queryJson
.
selectedMonth
)
{
t
.
listQuery
.
selectedMonth
=
queryJson
.
selectedMonth
}
if
(
queryJson
.
status
)
{
t
.
listQuery
.
status
=
queryJson
.
status
}
if
(
queryJson
.
bookType
)
{
t
.
listQuery
.
bookType
=
queryJson
.
bookType
}
// if(queryJson.liftCompany){
// t.allCompaniesArr.map(function (item) {
// if(item.id == queryJson.liftCompany){
// t.listQuery.liftCompanyName = item.name;
// }
// });
// }
}
this
.
getList
()
})
getAllCompany
(
codeAndBranchCompany
=>
{
//初始化公司列表
this
.
allCompanies
=
codeAndBranchCompany
})
;
})
this
.
bookRecord_btn_prove
=
this
.
elements
[
'bookRecord:btn_prove'
]
this
.
bookRecord_btn_reject
=
this
.
elements
[
'bookRecord:btn_reject'
]
this
.
bookRecord_btn_unbook
=
this
.
elements
[
'bookRecord:btn_unbook'
]
...
...
@@ -1202,29 +1212,32 @@ export default {
}
},
methods
:
{
/**
* 重置
* */
reloadPage
()
{
this
.
listQuery
=
{
page
:
1
,
limit
:
20
,
flag
:
false
,
zoneId
:
undefined
,
liftCompany
:
undefined
,
liftCompanyName
:
""
,
numberPlate
:
undefined
,
selectedMonth
:
undefined
,
status
:
undefined
,
bookType
:
undefined
,
bookStartDate
:
undefined
,
bookEndDate
:
undefined
};
if
(
this
.
listQuery
){
localStorage
.
setItem
(
"bookRecord"
,
JSON
.
stringify
(
this
.
listQuery
));
}
this
.
getList
();
},
/**
* 重置
* */
reloadPage
()
{
this
.
listQuery
=
{
page
:
1
,
limit
:
20
,
flag
:
false
,
zoneId
:
undefined
,
liftCompany
:
undefined
,
liftCompanyName
:
''
,
numberPlate
:
undefined
,
selectedMonth
:
undefined
,
status
:
undefined
,
bookType
:
undefined
,
bookStartDate
:
undefined
,
bookEndDate
:
undefined
}
if
(
this
.
listQuery
)
{
localStorage
.
setItem
(
'bookRecord'
,
JSON
.
stringify
(
this
.
listQuery
)
)
}
this
.
getList
()
},
confirm
()
{
if
(
this
.
returnForm
.
retCompany
==
''
)
{
this
.
$notify
({
...
...
@@ -1243,9 +1256,9 @@ export default {
type
:
'success'
,
duration
:
2000
})
this
.
resetReturn
=
false
;
this
.
dialogDetailVisible
=
false
;
this
.
getList
()
;
this
.
resetReturn
=
false
this
.
dialogDetailVisible
=
false
this
.
getList
()
}
else
{
this
.
$notify
({
title
:
'失败'
,
...
...
@@ -1406,10 +1419,10 @@ export default {
getProvinceRegions
(
item
)
{
this
.
listQuery
.
zoneId
=
item
this
.
baranchQuery
.
zoneId
=
item
// this.listQuery.liftCompany = undefined
// getAllBranchCompanyByZoneId(this.baranchQuery).then(response => {
// this.allBranchCompany = response.data
// })
// this.listQuery.liftCompany = undefined
// getAllBranchCompanyByZoneId(this.baranchQuery).then(response => {
// this.allBranchCompany = response.data
// })
},
getAllBranchCompanyChange
(
item
)
{
this
.
listQuery
.
liftCompany
=
item
...
...
@@ -1441,11 +1454,11 @@ export default {
* 提车分公司
* */
handleSelect
(
item
)
{
if
(
item
.
value
==
"全部"
)
{
this
.
listQuery
.
liftCompany
=
undefined
;
}
else
{
this
.
listQuery
.
liftCompany
=
item
.
id
;
}
if
(
item
.
value
==
'全部'
)
{
this
.
listQuery
.
liftCompany
=
undefined
}
else
{
this
.
listQuery
.
liftCompany
=
item
.
id
}
},
cancelDialog4Lift
(
formName
)
{
this
.
dialogForm4LiftVisible
=
false
...
...
@@ -1654,9 +1667,12 @@ export default {
this
.
listQuery
.
page
=
1
this
.
$refs
.
queryForm
.
validate
(
valid
=>
{
if
(
valid
)
{
if
(
this
.
listQuery
){
localStorage
.
setItem
(
"bookRecord"
,
JSON
.
stringify
(
this
.
listQuery
));
}
if
(
this
.
listQuery
)
{
localStorage
.
setItem
(
'bookRecord'
,
JSON
.
stringify
(
this
.
listQuery
)
)
}
this
.
getList
()
}
else
{
return
false
...
...
@@ -1932,4 +1948,10 @@ export default {
background
:
#000
;
z-index
:
2001
;
}
.voucher
{
width
:
100px
;
height
:
100px
;
border
:
1px
solid
#d9d9d9
;
margin-right
:
20px
;
}
</
style
>
src/views/vehicleType/priceList.vue
View file @
2685bdd4
...
...
@@ -308,8 +308,6 @@ export default {
:
Number
(
this
.
setForm
.
price
)
defaults
.
freeDays
=
Number
(
this
.
setForm
.
freeDays
)
defaults
.
level
=
this
.
setForm
.
level
console
.
log
(
defaults
);
params
.
push
(
defaults
)
})
}
...
...
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