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
16ec0546
Commit
16ec0546
authored
Aug 28, 2020
by
lixy
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
车辆价格管理、车辆信息管理
parent
8560d93a
Changes
9
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
9 changed files
with
1665 additions
and
2184 deletions
+1665
-2184
App.vue
src/App.vue
+7
-1
index.js
src/api/vehicle/vehicleInfo/index.js
+92
-1
index.js
src/router/index.js
+6
-0
festivalModal.vue
src/views/vehicle/festivalModal.vue
+198
-0
festivalPriceSetting.vue
src/views/vehicle/festivalPriceSetting.vue
+174
-0
generalPriceSetting.vue
src/views/vehicle/generalPriceSetting.vue
+181
-0
index.vue
src/views/vehicle/vehicleInfo/index.vue
+154
-2133
oneVehicle.vue
src/views/vehicle/vehicleInfo/oneVehicle.vue
+544
-49
vehiclePrice.vue
src/views/vehicle/vehiclePrice.vue
+309
-0
No files found.
src/App.vue
View file @
16ec0546
...
@@ -37,7 +37,7 @@
...
@@ -37,7 +37,7 @@
overflow
:
hidden
;
white-space
:
nowrap
;
text-overflow
:ellipsis
;
word-wrap
:break-word
;
word-break
:break-all
;
overflow
:
hidden
;
white-space
:
nowrap
;
text-overflow
:ellipsis
;
word-wrap
:break-word
;
word-break
:break-all
;
}
}
.ellipsis2
{
.ellipsis2
{
// width: 200px;
// width: 200px;
overflow
:
hidden
;
overflow
:
hidden
;
text-overflow
:
ellipsis
;
text-overflow
:
ellipsis
;
display
:
-
webkit-box
;
display
:
-
webkit-box
;
...
@@ -57,6 +57,12 @@
...
@@ -57,6 +57,12 @@
align-items
:
center
;
align-items
:
center
;
}
}
.flex-aic-jce
{
display
:
flex
;
justify-content
:
flex-end
;
align-items
:
center
;
}
.flex-jcc-aic-cl
{
.flex-jcc-aic-cl
{
display
:
flex
;
display
:
flex
;
align-items
:
center
;
align-items
:
center
;
...
...
src/api/vehicle/vehicleInfo/index.js
View file @
16ec0546
...
@@ -15,7 +15,9 @@ export function getObj(id) {
...
@@ -15,7 +15,9 @@ export function getObj(id) {
});
});
}
}
/**
* 添加车辆
*/
export
function
addObj
(
obj
)
{
export
function
addObj
(
obj
)
{
return
fetch
({
return
fetch
({
url
:
'/vehicle/vehicleInfo'
,
url
:
'/vehicle/vehicleInfo'
,
...
@@ -162,3 +164,92 @@ export function vehicleCompanyAll(query) {
...
@@ -162,3 +164,92 @@ export function vehicleCompanyAll(query) {
params
:
query
params
:
query
});
});
}
}
/**
* 获取车辆价格列表--分页
*/
export
function
vehicleCommonPriceInfo
(
query
)
{
return
fetch
({
url
:
'vehicle/vehicleCommonPriceInfo/getAll'
,
method
:
'get'
,
params
:
query
});
}
/**
* 获取车辆价格详情
*/
export
function
vehicleCommonPriceOne
(
query
)
{
return
fetch
({
url
:
'vehicle/vehicleCommonPriceInfo/getOne'
,
method
:
'get'
,
params
:
query
});
}
/**
* 保存--通用价格
*/
export
function
vehicleCommonPriceUpdate
(
query
)
{
return
fetch
({
url
:
'vehicle/vehicleCommonPriceInfo/admin/addOrUpdate'
,
method
:
'post'
,
data
:
query
});
}
/**
* 获取节假日列表、节假日编辑
*/
export
function
getAllFestivalPrice
(
query
)
{
return
fetch
({
url
:
'vehicle/vehicleHolidayPriceInfo/getAll'
,
method
:
'get'
,
params
:
query
});
}
/**
* 获取节假日详情
*/
export
function
getOneFestivalPrice
(
query
)
{
return
fetch
({
url
:
'vehicle/vehicleHolidayPriceInfo/getOne'
,
method
:
'get'
,
params
:
query
});
}
/**
* 添加、编辑节假日
*/
export
function
saveOrUpdateFestivalPrice
(
query
)
{
return
fetch
({
url
:
'vehicle/vehicleHolidayPriceInfo/saveOrUpdate'
,
method
:
'post'
,
data
:
query
});
}
/**
* 生产商
*/
export
function
allManufacturer
(
query
)
{
return
fetch
({
url
:
'vehicle/vehicleInfo/getAllManufacturer'
,
method
:
'get'
,
params
:
query
});
}
/**
* 删除节假日
*/
export
function
deleteFestival
(
query
)
{
return
fetch
({
url
:
'vehicle/vehicleHolidayPriceInfo/deleteByVehicleId'
,
method
:
'delete'
,
params
:
query
});
}
src/router/index.js
View file @
16ec0546
...
@@ -366,6 +366,12 @@ export const asyncRouterMap = [{
...
@@ -366,6 +366,12 @@ export const asyncRouterMap = [{
name
:
'车辆信息管理'
,
name
:
'车辆信息管理'
,
authority
:
'vehicleInfo'
authority
:
'vehicleInfo'
},
},
{
path
:
'vehiclePrice'
,
component
:
_import
(
'vehicle/vehiclePrice'
),
name
:
'车辆价格管理'
,
authority
:
'vehiclePrice'
},
{
{
path
:
'bookRecord'
,
path
:
'bookRecord'
,
component
:
_import
(
'vehicle/bookRecord/index'
),
component
:
_import
(
'vehicle/bookRecord/index'
),
...
...
src/views/vehicle/festivalModal.vue
0 → 100644
View file @
16ec0546
<
template
>
<el-dialog
title=
"节假日"
:visible
.
sync=
"oneDialogVisible"
@
close=
"closePop"
:modal=
"false"
width=
"30%"
>
<el-form
ref=
"form"
:model=
"form"
:rules=
"rules"
label-width=
"140px"
>
<el-form-item
label=
"节日名称"
prop=
"festivalDay"
>
<el-input
v-model=
"form.festivalDay"
placeholder=
"请输入节日名称"
></el-input>
</el-form-item>
<el-form-item
label=
"开始时间"
prop=
"startTime"
>
<el-date-picker
v-model=
"form.startTime"
type =
"date"
placeholder =
"开始时间"
value-format=
"yyyy-MM-dd"
format=
"yyyy-MM-dd"
></el-date-picker>
</el-form-item>
<el-form-item
label=
"结束时间"
prop=
"endTime"
>
<el-date-picker
v-model=
"form.endTime"
type =
"date"
placeholder =
"结束时间"
value-format=
"yyyy-MM-dd"
format=
"yyyy-MM-dd"
></el-date-picker>
</el-form-item>
<el-form-item
label=
"租赁价格"
prop=
"rentPrice"
>
<el-input
type=
"number"
v-model=
"form.rentPrice"
placeholder=
"请输入租赁价格"
></el-input>
</el-form-item>
<el-form-item
label=
"免费天数"
prop=
"rentFreeDay"
>
<el-input
type=
"number"
v-model=
"form.rentFreeDay"
placeholder=
"请输入免费天数"
></el-input>
</el-form-item>
<el-form-item
label=
"应用对象"
prop=
"applicationObj"
>
<el-select
style=
"width: 100%;"
class=
"filter-item"
v-model=
"form.applicationObj"
placeholder=
"请选择应用对象"
>
<el-option
key=
"1"
label=
"应用于当前车辆"
:value=
"1"
></el-option>
<el-option
key=
"2"
label=
"应用于同车型车辆"
:value=
"2"
></el-option>
<el-option
key=
"3"
label=
"应用于所有车辆"
:value=
"3"
></el-option>
</el-select>
</el-form-item>
</el-form>
<div
slot=
"footer"
class=
"flex-aic-jcc"
style=
"margin-top: 10px;"
>
<el-button
plain
@
click=
"closePop"
>
取消
</el-button>
<el-button
type=
"primary"
v-if=
"!isClick"
class=
"handle-ok"
@
click=
"handleOk('form')"
>
确定
</el-button>
<el-button
type=
"primary"
v-if=
"isClick"
class=
"handle-ok"
style=
"opacity: 0.4;"
:disabled=
"true"
>
确定
</el-button>
</div>
</el-dialog>
</
template
>
<
script
type=
"javascript"
>
import
{
mapGetters
}
from
'vuex'
;
import
ElFormItem
from
'../../../node_modules/element-ui/packages/form/src/form-item.vue'
import
ElButton
from
"../../../node_modules/element-ui/packages/button/src/button.vue"
;
import
{
getAllFestivalPrice
,
saveOrUpdateFestivalPrice
}
from
"api/vehicle/vehicleInfo"
;
import
{
objDeepCopy
}
from
"../../utils"
;
export
default
{
props
:
[
'festivalInfo'
,
'oneRow'
],
components
:
{
ElButton
,
ElFormItem
,
},
data
()
{
return
{
isClick
:
false
,
// 添加、编辑-确定按钮 是否已点击
oneDialogVisible
:
false
,
form
:
{
festivalId
:
undefined
,
startTime
:
undefined
,
// 开始时间
endTime
:
undefined
,
// 结束时间
festivalDay
:
undefined
,
// 节日名称
rentFreeDay
:
undefined
,
// 免费天数
rentPrice
:
undefined
,
// 租赁价格
vehicleId
:
undefined
,
// 车型id
applicationObj
:
1
,
// 应用对象
},
rules
:
{
festivalDay
:
{
required
:
true
,
message
:
'请输入节日名称'
,
trigger
:
'blur'
},
rentFreeDay
:
{
required
:
true
,
message
:
'请输入免费天数'
,
trigger
:
'blur'
},
applicationObj
:
{
required
:
true
,
message
:
'请选择应用对象'
,
trigger
:
'change'
},
rentPrice
:
{
required
:
true
,
message
:
'请输入租赁价格'
,
trigger
:
'blur'
},
startTime
:
{
required
:
true
,
message
:
'请选择开始时间'
,
trigger
:
'blur'
},
endTime
:
{
required
:
true
,
message
:
'请选择结束时间'
,
trigger
:
'blur'
}
}
}
},
mounted
()
{
this
.
oneDialogVisible
=
true
;
this
.
form
=
{
festivalId
:
undefined
,
startTime
:
undefined
,
// 开始时间
endTime
:
undefined
,
// 结束时间
festivalDay
:
undefined
,
// 节日名称
rentFreeDay
:
undefined
,
// 免费天数
rentPrice
:
undefined
,
// 租赁价格
vehicleId
:
this
.
oneRow
.
vehicleId
,
// 车型id
applicationObj
:
1
,
// 应用对象
}
if
(
this
.
festivalInfo
.
festivalId
){
// 编辑
this
.
getOne
()
}
},
computed
:
{
...
mapGetters
([
'elements'
])
},
methods
:
{
/**
* 获取节假日详情
*/
getOne
(){
let
_this
=
this
getAllFestivalPrice
({
festivalId
:
this
.
festivalInfo
.
festivalId
,
vehicleId
:
_this
.
oneRow
.
vehicleId
}
).
then
(
response
=>
{
debugger
if
(
response
.
status
==
200
)
{
if
(
response
.
data
.
length
>
0
)
{
this
.
form
=
{
festivalId
:
response
.
data
[
0
].
festivalId
,
startTime
:
response
.
data
[
0
].
startTime
,
endTime
:
response
.
data
[
0
].
endTime
,
applicationObj
:
response
.
data
[
0
].
allModelUse
?
2
:
response
.
data
[
0
].
allVehicleUse
?
3
:
1
,
// 周末免费天数扣除
festivalDay
:
response
.
data
[
0
].
festivalDay
,
// 节日名称
rentFreeDay
:
response
.
data
[
0
].
rentFreeDay
,
// 免费天数
rentPrice
:
response
.
data
[
0
].
rentPrice
,
// 租赁价格
vehicleId
:
_this
.
oneRow
.
vehicleId
,
// 车型id
}
}
}
else
{
this
.
$notify
({
title
:
'失败'
,
message
:
response
.
message
,
type
:
'error'
,
duration
:
2000
})
}
})
},
/**
* 关闭弹窗
*/
closePop
(){
this
.
oneDialogVisible
=
false
this
.
$emit
(
'festivalModalEvent'
,
false
);
},
/**
* 确定
*/
handleOk
(){
if
(
this
.
isClick
)
{
return
}
this
.
isClick
=
true
const
set
=
this
.
$refs
set
[
'form'
].
validate
(
valid
=>
{
if
(
valid
)
{
let
params
=
objDeepCopy
(
this
.
form
)
params
.
allModelUse
=
params
.
applicationObj
==
2
?
1
:
0
params
.
allVehicleUse
=
params
.
applicationObj
==
3
?
1
:
0
params
.
applicationObj
=
undefined
saveOrUpdateFestivalPrice
(
params
).
then
(
response
=>
{
if
(
response
.
status
==
200
)
{
this
.
$notify
({
title
:
'成功'
,
message
:
'保存成功'
,
type
:
'success'
,
duration
:
2000
})
this
.
$emit
(
'festivalModalEvent'
,
true
);
}
else
{
this
.
$notify
({
title
:
'失败'
,
message
:
response
.
message
,
type
:
'error'
,
duration
:
2000
})
}
})
}
else
{
this
.
isClick
=
false
}
})
},
}
}
</
script
>
src/views/vehicle/festivalPriceSetting.vue
0 → 100644
View file @
16ec0546
<
template
>
<el-dialog
title=
"节假日价格设置"
:visible
.
sync=
"oneDialogVisible"
@
close=
"closePop"
:modal=
"false"
>
<div
style=
"min-height: 500px"
>
<div
class=
"filter-container flex-aic-jce"
ref=
"filter-container"
>
<el-button
class=
"filter-item"
@
click=
"handleCreate"
plain
><i
class=
"el-icon-plus"
></i>
添加节假日
</el-button>
</div>
<el-table
:key=
"tableKey"
:data=
"list"
border
fit
highlight-current-row
style=
"width: 100%;"
>
<el-table-column
type=
"index"
align=
"center"
label=
"序号"
width=
"65"
></el-table-column>
<el-table-column
align=
"center"
label=
"节日名称"
>
<template
slot-scope=
"scope"
>
<span>
{{
scope
.
row
.
festivalDay
}}
</span>
</
template
>
</el-table-column>
<el-table-column
align=
"center"
label=
"开始时间"
width=
"200"
>
<
template
slot-scope=
"scope"
>
<span>
{{
scope
.
row
.
startTime
}}
</span>
</
template
>
</el-table-column>
<el-table-column
align=
"center"
label=
"结束时间"
width=
"200"
>
<
template
slot-scope=
"scope"
>
<span>
{{
scope
.
row
.
endTime
}}
</span>
</
template
>
</el-table-column>
<el-table-column
align=
"center"
label=
"租赁价格"
>
<
template
slot-scope=
"scope"
>
<span>
{{
scope
.
row
.
rentPrice
}}
</span>
</
template
>
</el-table-column>
<el-table-column
align=
"center"
label=
"免费天数"
>
<
template
slot-scope=
"scope"
>
<span>
{{
scope
.
row
.
rentFreeDay
}}
</span>
</
template
>
</el-table-column>
<el-table-column
align=
"center"
label=
"操作"
>
<
template
slot-scope=
"scope"
>
<el-button
size=
"small"
type=
"text"
@
click=
"handleUpdate(scope.row)"
>
编辑
</el-button>
<el-button
size=
"small"
type=
"text"
@
click=
"deleteHandler(scope.row)"
>
删除
</el-button>
</
template
>
</el-table-column>
</el-table>
</div>
<!-- 添加、编辑节假日 -->
<festival-modal
:festivalInfo=
"festivalInfo"
v-on:festivalModalEvent=
"festivalModalEvent"
v-if=
"festivalVisible"
:oneRow=
"oneRow"
></festival-modal>
</el-dialog>
</template>
<
script
type=
"javascript"
>
import
{
mapGetters
}
from
'vuex'
;
import
ElFormItem
from
'../../../node_modules/element-ui/packages/form/src/form-item.vue'
import
ElButton
from
"../../../node_modules/element-ui/packages/button/src/button.vue"
;
import
{
getAllFestivalPrice
,
deleteFestival
}
from
"api/vehicle/vehicleInfo"
;
import
festivalModal
from
"./festivalModal"
;
export
default
{
props
:
[
'oneRow'
],
components
:
{
festivalModal
,
ElButton
,
ElFormItem
,
},
data
()
{
return
{
oneDialogVisible
:
false
,
showLoadingBody
:
false
,
list
:
[],
total
:
null
,
listLoading
:
true
,
tableKey
:
0
,
festivalInfo
:
{},
// 当前操作项
festivalVisible
:
false
,
// 添加、编辑节假日弹窗
}
},
mounted
()
{
this
.
oneDialogVisible
=
true
;
this
.
getList
()
},
computed
:
{
...
mapGetters
([
'elements'
])
},
methods
:
{
/**
* 获取列表
*/
getList
()
{
getAllFestivalPrice
({
vehicleId
:
this
.
oneRow
.
vehicleId
}).
then
(
response
=>
{
if
(
response
.
status
==
200
)
{
this
.
listLoading
=
false
this
.
list
=
response
.
data
}
else
{
this
.
list
=
[]
this
.
listLoading
=
false
this
.
$notify
({
title
:
'失败'
,
message
:
response
.
message
,
type
:
'error'
,
duration
:
2000
})
}
})
},
/*
* 添加--节假日
*/
handleCreate
(){
this
.
festivalVisible
=
true
this
.
festivalInfo
=
{}
},
/**
* 添加、编辑节假日 返回
*/
festivalModalEvent
(
e
){
this
.
festivalVisible
=
false
if
(
e
){
this
.
getList
()
}
},
/**
* 编辑--节假日
*/
handleUpdate
(
row
){
this
.
festivalVisible
=
true
this
.
festivalInfo
=
row
},
/**
* 删除
* */
deleteHandler
(
row
)
{
this
.
$confirm
(
'确定删除吗?'
,
'提示'
,
{
confirmButtonText
:
'确定'
,
cancelButtonText
:
'取消'
,
type
:
'warning'
}).
then
(()
=>
{
let
params
=
{
vehicleId
:
this
.
oneRow
.
vehicleId
,
// 车型id
festivalId
:
row
.
festivalId
,
// 节日id
}
deleteFestival
(
params
).
then
(
response
=>
{
if
(
response
.
status
==
200
)
{
this
.
$notify
({
title
:
'成功'
,
message
:
'删除成功'
,
type
:
'success'
,
duration
:
2000
})
this
.
getList
()
}
else
{
this
.
$notify
({
title
:
'失败'
,
message
:
response
.
message
,
type
:
'error'
,
duration
:
2000
})
}
})
})
},
/**
* 关闭弹窗
*/
closePop
(){
this
.
oneDialogVisible
=
false
this
.
$emit
(
'festivalDialogEvent'
,
false
);
},
}
}
</
script
>
src/views/vehicle/generalPriceSetting.vue
0 → 100644
View file @
16ec0546
<
template
>
<el-dialog
title=
"通用价格设置"
:visible
.
sync=
"oneDialogVisible"
@
close=
"closePop"
:modal=
"false"
width=
"30%"
>
<el-form
ref=
"form"
:model=
"form"
:rules=
"rules"
label-width=
"140px"
>
<el-form-item
label=
"租赁价格"
prop=
"rentPrice"
>
<el-input
type=
"number"
v-model=
"form.rentPrice"
placeholder=
"输入租赁价格"
></el-input>
</el-form-item>
<el-form-item
label=
"周末租赁价格"
prop=
"rentWeekendPrice"
>
<el-input
v-model=
"form.rentWeekendPrice"
placeholder=
"请输入周末租赁价格"
type=
"number"
></el-input>
</el-form-item>
<el-form-item
label=
"免费天数扣除"
prop=
"rentFreeDay"
>
<el-input
type=
"number"
v-model=
"form.rentFreeDay"
placeholder=
"请输入免费天数扣除"
></el-input>
</el-form-item>
<el-form-item
label=
"周末免费天数扣除"
prop=
"rentWeekendDay"
>
<el-input
type=
"number"
v-model=
"form.rentWeekendDay"
placeholder=
"请输入周末免费天数扣除"
></el-input>
</el-form-item>
<el-form-item
label=
"应用对象"
prop=
"applicationObj"
>
<el-select
style=
"width: 100%;"
class=
"filter-item"
v-model=
"form.applicationObj"
placeholder=
"请选择应用对象"
>
<el-option
key=
"1"
label=
"应用于当前车辆"
:value=
"1"
></el-option>
<el-option
key=
"2"
label=
"应用于同车型车辆"
:value=
"2"
></el-option>
<el-option
key=
"3"
label=
"应用于所有车辆"
:value=
"3"
></el-option>
</el-select>
</el-form-item>
</el-form>
<div
slot=
"footer"
class=
"flex-aic-jcc"
style=
"margin-top: 10px;"
>
<el-button
plain
@
click=
"closePop"
>
取消
</el-button>
<el-button
type=
"primary"
v-if=
"!isClick"
class=
"handle-ok"
@
click=
"handleOk('form')"
>
确定
</el-button>
<el-button
type=
"primary"
v-if=
"isClick"
class=
"handle-ok"
style=
"opacity: 0.4;"
:disabled=
"true"
>
确定
</el-button>
</div>
</el-dialog>
</
template
>
<
script
type=
"javascript"
>
import
{
mapGetters
}
from
'vuex'
;
import
ElFormItem
from
'../../../node_modules/element-ui/packages/form/src/form-item.vue'
import
ElButton
from
"../../../node_modules/element-ui/packages/button/src/button.vue"
;
import
{
vehicleCommonPriceOne
,
vehicleCommonPriceUpdate
}
from
"api/vehicle/vehicleInfo"
;
import
{
objDeepCopy
}
from
"../../utils"
;
export
default
{
props
:
[
'title'
,
'oneRow'
],
components
:
{
ElButton
,
ElFormItem
,
},
data
()
{
return
{
oneDialogVisible
:
false
,
form
:
{
// id: undefined,
applicationObj
:
1
,
// 应用对象
vehicleId
:
undefined
,
// 车辆id
rentFreeDay
:
undefined
,
// 免费天数扣除
rentPrice
:
undefined
,
// 租赁价格
rentWeekendDay
:
undefined
,
// 周末免费天数扣除
rentWeekendPrice
:
undefined
,
// 周末租赁价格
},
isClick
:
false
,
// 添加、编辑-确定按钮 是否已点击
rules
:
{
rentFreeDay
:
{
required
:
true
,
message
:
'请输入免费天数扣除'
,
trigger
:
'blur'
},
applicationObj
:
{
required
:
true
,
message
:
'请选择应用对象'
,
trigger
:
'change'
},
rentPrice
:
{
required
:
true
,
message
:
'请输入租赁价格'
,
trigger
:
'blur'
},
rentWeekendDay
:
{
required
:
true
,
message
:
'请选择周末免费天数扣除'
,
trigger
:
'change'
},
rentWeekendPrice
:
{
required
:
true
,
message
:
'请输入周末租赁价格'
,
trigger
:
'blur'
}
},
}
},
mounted
()
{
this
.
oneDialogVisible
=
true
;
this
.
form
=
{
// id: undefined,
applicationObj
:
1
,
// 应用对象
vehicleId
:
undefined
,
// 车辆id
rentFreeDay
:
undefined
,
// 免费天数扣除
rentPrice
:
undefined
,
// 租赁价格
rentWeekendDay
:
undefined
,
// 周末免费天数扣除
rentWeekendPrice
:
undefined
,
// 周末租赁价格
},
this
.
getOneDetail
()
// 获取车辆价格详情
},
computed
:
{
...
mapGetters
([
'elements'
])
},
methods
:
{
/**
* 获取车辆价格详情
*/
getOneDetail
(){
vehicleCommonPriceOne
({
id
:
this
.
oneRow
.
id
}
).
then
(
response
=>
{
if
(
response
.
status
==
200
)
{
this
.
form
=
{
// id: response.data.id,
vehicleId
:
response
.
data
.
vehicleId
,
applicationObj
:
response
.
data
.
allModelUse
?
2
:
response
.
data
.
allVehicleUse
?
3
:
1
,
// 周末免费天数扣除
rentFreeDay
:
response
.
data
.
rentFreeDay
,
// 免费天数扣除
rentPrice
:
response
.
data
.
rentPrice
,
// 租赁价格
rentWeekendDay
:
response
.
data
.
rentWeekendDay
,
// 周末免费天数扣除
rentWeekendPrice
:
response
.
data
.
rentWeekendPrice
,
// 周末租赁价格
}
}
else
{
this
.
$notify
({
title
:
'失败'
,
message
:
response
.
message
,
type
:
'error'
,
duration
:
2000
})
}
})
},
/**
* 关闭弹窗
*/
closePop
(){
this
.
oneDialogVisible
=
false
this
.
$emit
(
'generalDialogEvent'
,
false
);
},
/**
* 确定
*/
handleOk
(){
if
(
this
.
isClick
)
{
return
}
this
.
isClick
=
true
const
set
=
this
.
$refs
set
[
'form'
].
validate
(
valid
=>
{
if
(
valid
)
{
let
params
=
objDeepCopy
(
this
.
form
)
params
.
allModelUse
=
params
.
applicationObj
==
2
?
1
:
0
params
.
allVehicleUse
=
params
.
applicationObj
==
3
?
1
:
0
params
.
applicationObj
=
undefined
vehicleCommonPriceUpdate
(
params
).
then
(
response
=>
{
if
(
response
.
status
==
200
)
{
this
.
$notify
({
title
:
'成功'
,
message
:
'保存成功'
,
type
:
'success'
,
duration
:
2000
})
this
.
$emit
(
'generalDialogEvent'
,
true
);
}
else
{
this
.
$notify
({
title
:
'失败'
,
message
:
response
.
message
,
type
:
'error'
,
duration
:
2000
})
}
})
}
else
{
this
.
isClick
=
false
}
})
},
}
}
</
script
>
src/views/vehicle/vehicleInfo/index.vue
View file @
16ec0546
This diff is collapsed.
Click to expand it.
src/views/vehicle/vehicleInfo/oneVehicle.vue
View file @
16ec0546
This diff is collapsed.
Click to expand it.
src/views/vehicle/vehiclePrice.vue
0 → 100644
View file @
16ec0546
<
template
>
<div
class=
"app-container calendar-list-container"
v-loading
.
body=
"showLoadingBody"
>
<div
class=
"filter-container"
ref=
"filter-container"
>
<el-form
ref=
"queryForm"
:inline=
"inline"
:model=
"listQuery"
label-width=
"100px"
>
<el-form-item
label=
"车牌号"
>
<el-input
v-model=
"listQuery.numberPlate"
placeholder=
"请输入车牌号"
></el-input>
</el-form-item>
<el-form-item
label=
"所属公司"
>
<el-select
class=
"filter-item"
v-model=
"listQuery.companyId"
placeholder=
"请选择所属公司"
filterable
>
<el-option
:key=
"undefined"
label=
"全部"
:value=
"undefined"
></el-option>
<el-option
v-for=
"(val,index) in allVehicleCompany "
:key=
"index"
: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.subordinateBranch"
placeholder=
"请选择所属门店"
filterable
>
<el-option
:key=
"undefined"
label=
"全部"
:value=
"undefined"
></el-option>
<el-option
v-for=
"(val,index) in allVehicleBranchCompany"
:key=
"index"
: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.modelId"
placeholder=
"请选择车型"
filterable
>
<el-option
:key=
"undefined"
label=
"全部"
:value=
"undefined"
></el-option>
<el-option
v-for=
"(val,index) in allVehicleList"
:key=
"index"
:label=
"val.name"
:value=
"val.id"
></el-option>
</el-select>
</el-form-item>
</el-form>
<el-button
class=
"filter-item"
type=
"primary"
v-waves
icon=
"search"
@
click=
"handleFilter('search')"
>
搜索
</el-button>
<el-button
class=
"filter-item"
type=
"primary"
v-waves
@
click=
"reloadPage"
>
清除搜索
</el-button>
</div>
<el-table
:key=
"tableKey"
:data=
"list"
border
fit
highlight-current-row
style=
"width: 100%"
>
<el-table-column
type=
"index"
align=
"center"
label=
"序号"
width=
"65"
></el-table-column>
<el-table-column
align=
"center"
label=
"车牌号"
>
<template
slot-scope=
"scope"
>
<span>
{{
scope
.
row
.
numberPlate
}}
</span>
</
template
>
</el-table-column>
<el-table-column
align=
"center"
label=
"车辆编码"
>
<
template
slot-scope=
"scope"
>
<span>
{{
scope
.
row
.
code
}}
</span>
</
template
>
</el-table-column>
<el-table-column
align=
"center"
label=
"车型"
>
<
template
slot-scope=
"scope"
>
<span>
{{
scope
.
row
.
modelName
}}
</span>
</
template
>
</el-table-column>
<el-table-column
align=
"center"
label=
"车龄"
>
<
template
slot-scope=
"scope"
>
<span>
{{
scope
.
row
.
vehicleAge
}}
</span>
</
template
>
</el-table-column>
<el-table-column
align=
"center"
label=
"新旧程度"
>
<
template
slot-scope=
"scope"
>
<span>
{{
scope
.
row
.
vehicleStatus
==
4
?
'7成新'
:
scope
.
row
.
vehicleStatus
==
2
?
'9成新'
:
scope
.
row
.
vehicleStatus
==
3
?
'8成新'
:
'全新'
}}
</span>
</
template
>
</el-table-column>
<el-table-column
align=
"center"
label=
"公里数"
>
<
template
slot-scope=
"scope"
>
<span>
{{
scope
.
row
.
mileage
}}
</span>
</
template
>
</el-table-column>
<el-table-column
align=
"center"
label=
"租赁价格"
>
<
template
slot-scope=
"scope"
>
<span>
{{
scope
.
row
.
rentPrice
}}
</span>
</
template
>
</el-table-column>
<el-table-column
align=
"center"
label=
"免费天数"
>
<
template
slot-scope=
"scope"
>
<span>
{{
scope
.
row
.
rentFreeDay
}}
</span>
</
template
>
</el-table-column>
<el-table-column
align=
"center"
label=
"操作"
>
<
template
slot-scope=
"scope"
>
<el-button
size=
"small"
type=
"text"
@
click=
"handleGeneralPrice(scope.row)"
>
通用价格
</el-button>
<el-button
size=
"small"
type=
"text"
@
click=
"handlerFestivalPrice(scope.row)"
>
节假日价格
</el-button>
</
template
>
</el-table-column>
</el-table>
<el-pagination
class=
"pagination-container"
@
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>
<!-- 通用价格设置 -->
<general-price-setting
v-on:generalDialogEvent=
"generalDialogEvent"
:one-row=
"oneRow"
v-if=
"generalDialogVisible"
></general-price-setting>
<!-- 节假日价格设置 -->
<festival-price-setting
v-on:festivalDialogEvent=
"festivalDialogEvent"
:one-row=
"oneRow"
v-if=
"festivalDialogVisible"
></festival-price-setting>
</div>
</template>
<
script
type=
"javascript"
>
import
generalPriceSetting
from
"./generalPriceSetting"
;
import
festivalPriceSetting
from
"./festivalPriceSetting"
;
import
{
vehicleCommonPriceInfo
,
vehicleBranchCompanyAll
,
vehicleCompanyAll
}
from
'api/vehicle/vehicleInfo/'
import
{
mapGetters
}
from
'vuex'
import
{
getAllVehicleList
}
from
"../../api/vehicleType"
;
export
default
{
components
:
{
generalPriceSetting
,
festivalPriceSetting
},
data
()
{
return
{
tableKey
:
0
,
oneRow
:
{},
// 当前操作项
festivalDialogVisible
:
false
,
// 节日价格弹框
generalDialogVisible
:
false
,
// 通用价格弹框
showLoadingBody
:
false
,
list
:
[],
total
:
null
,
listLoading
:
true
,
inline
:
true
,
listQuery
:
{
page
:
1
,
limit
:
20
,
subordinateBranch
:
undefined
,
// 所属门店
companyName
:
undefined
,
// 所属公司
modelId
:
undefined
,
// 车型
},
allVehicleBranchCompany
:
[],
// 所属门店列表
allVehicleCompany
:
[],
// 所属公司列表
allVehicleList
:
[],
//全部车型
}
},
created
()
{
this
.
getVehicleBranchCompanyAll
()
// 获取 所属门店 所有门店筛选列表
this
.
getVehicleCompanyAll
()
// 获取 所属公司 所有公司筛选条件
this
.
getList
()
this
.
getAllVehicleType
()
// 获取全部车型
},
computed
:
{
...
mapGetters
([
'elements'
]),
},
methods
:
{
/**
* 获取全部车型
* */
getAllVehicleType
()
{
let
t
=
this
getAllVehicleList
().
then
(
response
=>
{
let
listRs
=
undefined
if
(
!
this
.
$utils
.
isEmpty
(
response
.
data
))
{
listRs
=
response
.
data
}
this
.
allVehicleList
=
listRs
})
},
/**
* 获取所有门店-筛选列表
*/
getVehicleBranchCompanyAll
(){
vehicleBranchCompanyAll
({
state
:
1
}).
then
(
response
=>
{
if
(
response
.
status
==
200
){
this
.
allVehicleBranchCompany
=
response
.
data
}
else
{
this
.
$notify
({
title
:
'失败'
,
message
:
response
.
message
,
type
:
'error'
,
duration
:
2000
})
}
})
},
/**
* 获取所属公司 所有公司--筛选条件
*/
getVehicleCompanyAll
(){
vehicleCompanyAll
({
state
:
1
}).
then
(
response
=>
{
if
(
response
.
status
==
200
){
this
.
allVehicleCompany
=
response
.
data
}
else
{
this
.
$notify
({
title
:
'失败'
,
message
:
response
.
message
,
type
:
'error'
,
duration
:
2000
})
}
})
},
/**
* 通用价格设置--返回
*/
generalDialogEvent
(
e
)
{
this
.
generalDialogVisible
=
false
;
if
(
e
)
{
this
.
getList
();
}
},
/**
* 通用价格设置--返回
*/
festivalDialogEvent
(
e
)
{
this
.
festivalDialogVisible
=
false
;
if
(
e
)
{
this
.
getList
();
}
},
/**
* 获取列表
*/
getList
()
{
vehicleCommonPriceInfo
(
this
.
listQuery
).
then
(
response
=>
{
if
(
response
.
status
==
200
)
{
this
.
listLoading
=
false
this
.
list
=
response
.
data
.
data
this
.
total
=
response
.
data
.
totalCount
}
else
{
this
.
list
=
[]
this
.
listLoading
=
false
}
})
},
/**
* 搜索
*/
handleFilter
(
p
)
{
this
.
listQuery
.
page
=
1
this
.
getList
()
},
/**
* 清除搜索
*/
reloadPage
(){
this
.
listQuery
=
{
page
:
1
,
limit
:
20
,
subordinateBranch
:
undefined
,
// 所属门店
}
this
.
getList
()
},
/**
* 一页显示数量调整
*/
handleSizeChange
(
val
)
{
this
.
listQuery
.
limit
=
val
this
.
getList
()
},
/**
* 翻页
*/
handleCurrentChange
(
val
)
{
this
.
listQuery
.
page
=
val
this
.
getList
()
},
/**
* 设置通用价格
*/
handleGeneralPrice
(
row
){
this
.
oneRow
=
row
this
.
generalDialogVisible
=
true
},
/**
* 设置节日价格
*/
handlerFestivalPrice
(
row
){
this
.
oneRow
=
row
this
.
festivalDialogVisible
=
true
},
}
}
</
script
>
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