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
f052b6e5
Commit
f052b6e5
authored
Apr 13, 2019
by
164003836@qq.con
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
车辆信息管理:增加字段
parent
f1754c72
Changes
5
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
561 additions
and
102 deletions
+561
-102
index.js
src/api/base_info/constant/index.js
+22
-1
baseInfo.js
src/store/modules/baseInfo.js
+3
-0
dateUtils.js
src/utils/dateUtils.js
+11
-0
rsCode.js
src/utils/rsCode.js
+5
-1
index.vue
src/views/vehicle/vehicleInfo/index.vue
+520
-100
No files found.
src/api/base_info/constant/index.js
View file @
f052b6e5
import
store
from
'../../../store'
;
import
rsCode
from
'../../../utils/rsCode'
;
import
{
VEHICLE_CONSTANT_VEHICLE_BRAND
,
VEHICLE_CONSTANT_VEHICLE_USE
,
VEHICLE_CONSTANT_BRAND_CODE_UNKOWN
,
INSURANCE_COMPANY
,
VEHICLE_CONSTANT_INSURANCE_COMPANY_UNKOWN
,
VEHICLE_CONSTANT_USE_TYPE_UNKOWN
,
VEHICLE_CONSTANT_STATUS_NORMAL
}
from
'../../../store/modules/baseInfo'
;
function
loadFromServer
(
type
)
{
...
...
@@ -70,7 +79,7 @@ export function getConstantListByType(type) {
return
null
;
}
let
constantMap
=
store
.
getters
.
vehicleConstants
(
type
);
if
(
JSON
.
stringify
(
constantMap
)
===
'{}'
)
{
if
(
constantMap
==
null
||
typeof
(
constantMap
)
==
"undefined"
)
{
let
constants
=
loadFromServer
(
type
);
if
(
!
constants
||
constants
.
length
===
0
)
{
return
null
;
...
...
@@ -87,3 +96,15 @@ export function getConstantListByType(type) {
}
return
constantMap
;
}
export
function
getInsuranceCompany
(
code
)
{
if
(
code
==
null
||
typeof
(
code
)
==
"undefined"
||
code
===
VEHICLE_CONSTANT_INSURANCE_COMPANY_UNKOWN
)
{
return
'未知'
;
}
return
getConstantByTypeAndCode
(
INSURANCE_COMPANY
,
code
).
val
;
}
export
function
getAllInsuranceCompany
()
{
return
getConstantListByType
(
INSURANCE_COMPANY
);
}
src/store/modules/baseInfo.js
View file @
f052b6e5
// 以下为车辆相关常量类型的编码
export
const
VEHICLE_CONSTANT_VEHICLE_BRAND
=
1
;
// "车辆品牌"
export
const
VEHICLE_CONSTANT_VEHICLE_USE
=
2
;
// "车辆用途"
export
const
INSURANCE_COMPANY
=
3
;
// "保险公司"
export
const
VEHICLE_CONSTANT_BRAND_CODE_UNKOWN
=
0
;
// 车辆品牌-未知
export
const
VEHICLE_CONSTANT_USE_TYPE_UNKOWN
=
0
;
// "车辆用途" - 未知
export
const
VEHICLE_CONSTANT_INSURANCE_COMPANY_UNKOWN
=
0
;
// "车辆用途" - 未知
export
const
VEHICLE_CONSTANT_STATUS_DISCARD
=
3
;
// 车辆状态 - 废弃
export
const
VEHICLE_CONSTANT_STATUS_NORMAL
=
1
;
// 车辆状态 - 废弃
...
...
src/utils/dateUtils.js
View file @
f052b6e5
...
...
@@ -24,3 +24,14 @@ export function newEast8Date() {
export
function
deepCopyDate
(
date
)
{
return
toEast8Date
(
formatDate
(
date
,
'yyyy-MM-dd'
));
}
export
function
convertDate2Str
(
object
)
{
let
ownPropertyNames
=
Object
.
getOwnPropertyNames
(
object
);
for
(
let
index
in
ownPropertyNames
)
{
let
key
=
ownPropertyNames
[
index
];
if
(
'[object Date]'
===
Object
.
prototype
.
toString
.
call
(
object
[
key
]))
{
object
[
key
]
=
formatDate
(
object
[
key
],
'yyyy-MM-dd hh:mm:ss'
);
}
}
}
src/utils/rsCode.js
View file @
f052b6e5
...
...
@@ -3,12 +3,16 @@ export default {
code
:
{
INVALID_REST_REQ_PARAM
:
100000
,
//rest请求参数非法
VEHICLE_BOOKED_INFO_ALREADY_CHANGED
:
101001
,
//车辆预定信息已被修改,请刷新后继续操作
VEHICLE_INFO_NUMBER_PLATE_EXIST
:
102001
,
//车牌已存在
VEHICLE_INFO_CODE_EXIST
:
102003
,
//车辆编码已存在
VEHICLE_BOOKED_RECORD_ALREADY_CHANGED
:
103001
,
//车辆预定申请状态已被修改,请刷新后继续操作
},
msg
:
{
1
:
'成功'
,
100000
:
"rest请求参数非法"
,
101001
:
"车辆预定信息已被修改,请刷新后继续操作"
,
103001
:
"车辆预定申请状态已被修改,请刷新后继续操作"
103001
:
"车辆预定申请状态已被修改,请刷新后继续操作"
,
102001
:
"车牌已存在"
,
102003
:
"车辆编码已存在"
}
}
src/views/vehicle/vehicleInfo/index.vue
View file @
f052b6e5
<
template
>
<div
class=
"app-container calendar-list-container"
>
<div
class=
"filter-container"
ref=
"filter-container"
>
<el-form
:rules=
"rules4Query"
ref=
"queryForm"
:inline=
"inline"
:model=
"listQuery"
>
<el-form-item
label=
"分公司"
prop=
"subordinateBranch"
>
<el-select
class=
"filter-item"
v-model=
"listQuery.subordinateBranch"
placeholder=
"请选择分公司"
>
<el-option
:key=
"undefined"
label=
"无"
:value=
"undefined"
></el-option>
<el-option
v-for=
"item in allCompanies"
:key=
"item.id"
:label=
"item.name"
:value=
"item.id"
></el-option>
</el-select>
</el-form-item>
<el-form
:rules=
"rules4Query"
ref=
"queryForm"
:inline=
"inline"
:model=
"listQuery"
label-width=
"100px"
>
<el-row>
<el-col
:span=
"8"
>
<el-form-item
label=
"车牌"
>
<el-input
v-model=
"listQuery.numberPlate"
placeholder=
"请输入车牌"
></el-input>
</el-form-item>
</el-col>
<el-col
:span=
"8"
>
<el-form-item
label=
"车辆编码"
>
<el-input
v-model
.
number=
"listQuery.code"
placeholder=
"请输入车辆编码"
></el-input>
</el-form-item>
</el-col>
<el-col
:span=
"8"
>
<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 getAllVehicleStatus() "
:key=
"val.code"
:label=
"val.val"
:value=
"val.code"
></el-option>
</el-select>
</el-form-item>
</el-col>
<el-form-item
label=
""
>
<el-input
v-model=
"listQuery.numberPlate"
placeholder=
"请输入车牌"
></el-input>
</el-form-item>
</el-row>
<el-row>
<el-col
:span=
"8"
>
<el-form-item
label=
"未预订日期"
prop=
"notBookDateRange"
>
<el-date-picker
v-model=
"notBookDateRange"
type=
"daterange"
:editable=
"true"
format=
"yyyy-MM-dd"
placeholder=
"请输入未预订日期范围"
>
</el-date-picker>
</el-form-item>
</el-col>
<el-col
:span=
"8"
>
<el-form-item
label=
"预订日期"
prop=
"bookDateRange"
>
<el-date-picker
v-model=
"bookDateRange"
type=
"daterange"
:editable=
"true"
format=
"yyyy-MM-dd"
placeholder=
"请输入已预订日期范围"
>
</el-date-picker>
</el-form-item>
</el-col>
<el-col
:span=
"8"
>
<el-button
class=
"filter-item"
type=
"primary"
:icon=
" showMoreQueryFilter ? 'caret-top' : 'caret-bottom' "
v-waves
@
click=
"showMoreQueryFilter=!showMoreQueryFilter"
>
更多条件
</el-button>
</el-col>
</el-row>
<el-form-item
label=
""
>
<el-input
v-model=
"listQuery.code"
placeholder=
"请输入车辆编码"
></el-input>
</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 getAllVehicleStatus() "
:key=
"val.code"
:label=
"val.val"
:value=
"val.code"
></el-option>
</el-select>
</el-form-item>
<transition
name=
"fade"
>
<div
v-if=
"showMoreQueryFilter"
>
<el-form-item
label=
"未预订日期范围"
prop=
"notBookDateRange"
>
<el-date-picker
v-model=
"notBookDateRange"
type=
"daterange"
:editable=
"true"
format=
"yyyy-MM-dd"
placeholder=
"请输入未预订日期范围"
>
</el-date-picker>
</el-form-item>
<el-form-item
label=
"预订日期范围"
prop=
"bookDateRange"
>
<el-date-picker
v-model=
"bookDateRange"
type=
"daterange"
:editable=
"true"
format=
"yyyy-MM-dd"
placeholder=
"请输入已预订日期范围"
>
</el-date-picker>
</el-form-item>
<!--
<el-form-item
label=
"里程数"
prop=
"mileageRangeStart"
>
-->
<!--
<el-input
v-model
.
number=
"listQuery.mileageRangeStart"
placeholder=
"里程数范围上限"
></el-input>
-->
<!--
</el-form-item>
-->
<!--
<el-form-item
label=
""
prop=
"mileageRangeEnd"
>
-->
<!--
<el-input
v-model
.
number=
"listQuery.mileageRangeEnd"
placeholder=
"里程数范围下限"
></el-input>
-->
<!--
</el-form-item>
-->
<el-button
class=
"filter-item"
type=
"primary"
v-waves
icon=
"search"
@
click=
"handleFilter"
>
搜索
</el-button>
<el-button
class=
"filter-item"
v-if=
"vehicleInfo_btn_add"
style=
"margin-left: 10px;"
@
click=
"handleCreate"
type=
"primary"
icon=
"edit"
>
添加
</el-button>
<el-row>
<el-col
:span=
"8"
>
<el-form-item
label=
"车架号"
prop=
"vin"
>
<el-input
v-model=
"listQuery.vin"
placeholder=
"请输入车架号"
></el-input>
</el-form-item>
</el-col>
<el-col
:span=
"8"
>
<el-form-item
label=
"保险公司"
prop=
"insuranceCompany"
>
<el-select
class=
"filter-item"
v-model=
"listQuery.insuranceCompany"
placeholder=
"请选择保险公司"
>
<el-option
:key=
"undefined"
label=
"无"
:value=
"undefined"
></el-option>
<el-option
v-for=
"(val, key, index) in getAllInsuranceCompany() "
:key=
"val.code"
:label=
"val.val"
:value=
"val.code"
></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col
:span=
"8"
>
<el-form-item
label=
"保险结束日期"
prop=
"insuranceDateRange"
>
<el-date-picker
v-model=
"listQuery.insuranceDateRange"
type=
"daterange"
:editable=
"true"
format=
"yyyy-MM-dd"
placeholder=
"请输入保险结束日期范围"
>
</el-date-picker>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col
:span=
"8"
>
<el-form-item
label=
"年审日期"
prop=
"aVRange"
>
<el-date-picker
v-model=
"listQuery.aVRange"
type=
"daterange"
:editable=
"true"
format=
"yyyy-MM-dd"
placeholder=
"请输入年审日期范围"
>
</el-date-picker>
</el-form-item>
</el-col>
<el-col
:span=
"8"
>
<el-form-item
label=
"保养日期"
prop=
"mRange"
>
<el-date-picker
v-model=
"listQuery.mRange"
type=
"daterange"
:editable=
"true"
format=
"yyyy-MM-dd"
placeholder=
"请输入保养日期范围"
>
</el-date-picker>
</el-form-item>
</el-col>
<el-col
:span=
"8"
>
<el-form-item
label=
"是否违章"
prop=
"haveViolation"
>
<el-select
class=
"filter-item"
v-model=
"listQuery.haveViolation"
placeholder=
"请选择是否违章"
>
<el-option
:key=
"undefined"
label=
"无"
:value=
"undefined"
></el-option>
<el-option
key=
"1"
label=
"是"
value=
"1"
></el-option>
<el-option
key=
"0"
label=
"否"
value=
"0"
></el-option>
</el-select>
</el-form-item>
</el-col>
</el-row>
</div>
</transition>
</el-form>
<el-button
class=
"filter-item"
type=
"primary"
v-waves
icon=
"search"
@
click=
"handleFilter"
>
搜索
</el-button>
<el-button
class=
"filter-item"
v-if=
"vehicleInfo_btn_add"
style=
"margin-left: 10px;"
@
click=
"handleCreate"
type=
"primary"
icon=
"edit"
>
添加
</el-button>
<el-button
class=
"filter-item"
type=
"primary"
:icon=
" showMoreMoreCol ? 'caret-left' : 'caret-right' "
v-waves
@
click=
"showMoreMoreCol=!showMoreMoreCol"
>
更多列
</el-button>
</div>
<el-table
:key=
'tableKey'
:data=
"list"
v-loading
.
body=
"listLoading"
border
fit
highlight-current-row
style=
"width: 100%"
>
<el-table-column
align=
"center"
label=
"编号"
width=
"65"
>
<template
scope=
"scope"
>
<span>
{{
scope
.
row
.
code
}}
</span>
...
...
@@ -97,7 +188,68 @@
</
template
>
</el-table-column>
<el-table-column
width=
"180"
align=
"center"
label=
"最后更新时间"
>
<el-table-column
width=
"200"
align=
"center"
v-if=
"showMoreMoreCol"
label=
"车架号"
>
<
template
scope=
"scope"
>
<span>
{{
scope
.
row
.
vin
}}
</span>
</
template
>
</el-table-column>
<el-table-column
width=
"65"
align=
"center"
v-if=
"showMoreMoreCol"
label=
"里程数"
>
<
template
scope=
"scope"
>
<span>
{{
scope
.
row
.
mileage
}}
</span>
</
template
>
</el-table-column>
<el-table-column
width=
"65"
align=
"center"
v-if=
"showMoreMoreCol"
label=
"保险公司"
>
<
template
scope=
"scope"
>
<span>
{{
getInsuranceCompany
(
scope
.
row
.
insuranceCompany
)
}}
</span>
</
template
>
</el-table-column>
<el-table-column
width=
"150"
align=
"center"
v-if=
"showMoreMoreCol"
label=
"保险单号"
>
<
template
scope=
"scope"
>
<span>
{{
scope
.
row
.
insuranceNo
}}
</span>
</
template
>
</el-table-column>
<el-table-column
width=
"100"
align=
"center"
v-if=
"showMoreMoreCol"
label=
"保险开始时间"
>
<
template
scope=
"scope"
>
<span>
{{
scope
.
row
.
insuranceStartDate
}}
</span>
</
template
>
</el-table-column>
<el-table-column
width=
"100"
align=
"center"
v-if=
"showMoreMoreCol"
label=
"保险结束时间"
>
<
template
scope=
"scope"
>
<span>
{{
scope
.
row
.
insuranceEndDate
}}
</span>
</
template
>
</el-table-column>
<el-table-column
width=
"100"
align=
"center"
v-if=
"showMoreMoreCol"
label=
"年审时间"
>
<
template
scope=
"scope"
>
<span>
{{
scope
.
row
.
annualVerificationDate
}}
</span>
</
template
>
</el-table-column>
<el-table-column
width=
"100"
align=
"center"
v-if=
"showMoreMoreCol"
label=
"保养时间"
>
<
template
scope=
"scope"
>
<span>
{{
scope
.
row
.
maintenanceDate
}}
</span>
</
template
>
</el-table-column>
<el-table-column
width=
"65"
align=
"center"
v-if=
"showMoreMoreCol"
label=
"保养里程数"
>
<
template
scope=
"scope"
>
<span>
{{
scope
.
row
.
maintenanceMileage
}}
</span>
</
template
>
</el-table-column>
<el-table-column
width=
"65"
align=
"center"
v-if=
"showMoreMoreCol"
label=
"是否违章"
>
<
template
scope=
"scope"
>
<span>
{{
scope
.
row
.
haveViolation
?
'是'
:
'否'
}}
</span>
</
template
>
</el-table-column>
<el-table-column
width=
"180"
align=
"center"
v-if=
"showMoreMoreCol"
label=
"最后更新时间"
>
<
template
scope=
"scope"
>
<span>
{{
scope
.
row
.
updateTime
?
scope
.
row
.
updateTime
:
scope
.
row
.
createTime
}}
</span>
</
template
>
...
...
@@ -113,6 +265,7 @@
<el-button
size=
"small"
type=
"success"
@
click=
"handleBookInfo(scope.row)"
>
预订信息
</el-button>
</
template
>
</el-table-column>
</el-table>
<div
v-show=
"!listLoading"
class=
"pagination-container"
>
...
...
@@ -125,45 +278,164 @@
<!-- 对话框相关html元素 -->
<el-dialog
:title=
"textMap[dialogStatus]"
:visible
.
sync=
"dialogFormVisible"
>
<el-form
:model=
"form"
:rules=
"rules"
ref=
"form"
label-width=
"
10
0px"
>
<el-form
:model=
"form"
:rules=
"rules"
ref=
"form"
label-width=
"
9
0px"
>
<el-form-item
label=
"车牌"
prop=
"numberPlate"
>
<el-input
v-model=
"form.numberPlate"
placeholder=
"输入车牌"
></el-input>
</el-form-item>
<el-row>
<el-col
:span=
"12"
>
<el-form-item
label=
"车辆编码"
prop=
"code"
>
<el-input
v-model
.
number=
"form.code"
placeholder=
"不填将自动生成"
></el-input>
</el-form-item>
</el-col>
<el-col
:span=
"12"
>
<el-form-item
label=
"车牌"
prop=
"numberPlate"
>
<el-input
v-model=
"form.numberPlate"
placeholder=
"输入车牌"
></el-input>
</el-form-item>
</el-col>
</el-row>
<el-form-item
label=
"车辆状态"
prop=
"status"
>
<el-select
class=
"filter-item"
v-model=
"form.status"
placeholder=
"请选择车辆状态"
>
<el-option
v-for=
"(val, key, index) in getAllVehicleStatus() "
:key=
"val.code"
:label=
"val.val"
:value=
"val.code"
></el-option>
</el-select>
</el-form-item>
<el-row>
<el-col
:span=
"12"
>
<el-form-item
label=
"车辆状态"
prop=
"status"
>
<el-select
class=
"filter-item"
v-model=
"form.status"
placeholder=
"请选择车辆状态"
>
<el-option
v-for=
"(val, key, index) in getAllVehicleStatus() "
:key=
"val.code"
:label=
"val.val"
:value=
"val.code"
></el-option>
</el-select>
</el-form-item>
</el-col>
<el-form-item
label=
"车辆品牌"
prop=
"brand"
>
<el-select
class=
"filter-item"
v-model=
"form.brand"
placeholder=
"请选择车辆品牌"
>
<el-option
:key=
"getUnkownBrandCode"
label=
"未知"
:value=
"getUnkownBrandCode"
></el-option>
<el-option
v-for=
"item in getAllBranch() "
:key=
"item.code"
:label=
"item.val"
:value=
"item.code"
></el-option>
</el-select>
</el-form-item>
<el-col
:span=
"12"
>
<el-form-item
label=
"车辆品牌"
prop=
"brand"
>
<el-select
class=
"filter-item"
v-model=
"form.brand"
placeholder=
"请选择车辆品牌"
>
<el-option
:key=
"getUnkownBrandCode"
label=
"未知"
:value=
"getUnkownBrandCode"
></el-option>
<el-option
v-for=
"item in getAllBranch() "
:key=
"item.code"
:label=
"item.val"
:value=
"item.code"
></el-option>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-form-item
label=
"分公司"
prop=
"subordinateBranch"
>
<el-select
class=
"filter-item"
v-model=
"form.subordinateBranch"
placeholder=
"请选择分公司"
>
<el-option
:key=
"undefined"
label=
"无"
:value=
"undefined"
></el-option>
<el-option
v-for=
"item in allCompanies"
:key=
"item.id"
:label=
"item.name"
:value=
"item.id"
></el-option>
</el-select>
</el-form-item>
<el-row>
<el-col
:span=
"12"
>
<el-form-item
label=
"分公司"
prop=
"subordinateBranch"
>
<el-select
class=
"filter-item"
v-model=
"form.subordinateBranch"
placeholder=
"请选择分公司"
>
<el-option
:key=
"undefined"
label=
"无"
:value=
"undefined"
></el-option>
<el-option
v-for=
"item in allCompanies"
:key=
"item.id"
:label=
"item.name"
:value=
"item.id"
></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col
:span=
"12"
>
<el-form-item
label=
"用途"
prop=
"useType"
>
<el-select
class=
"filter-item"
v-model=
"form.useType"
placeholder=
"请选择用途"
>
<el-option
:key=
"undefined"
label=
"无"
:value=
"undefined"
></el-option>
<el-option
v-for=
"item in getAllUseType() "
:key=
"item.code"
:label=
"item.val"
:value=
"item.code"
></el-option>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-form-item
label=
"用途"
prop=
"useType"
>
<el-select
class=
"filter-item"
v-model=
"form.useType"
placeholder=
"请选择用途"
>
<el-option
:key=
"undefined"
label=
"无"
:value=
"undefined"
></el-option>
<el-option
v-for=
"item in getAllUseType() "
:key=
"item.code"
:label=
"item.val"
:value=
"item.code"
></el-option>
</el-select>
</el-form-item>
<el-row>
<el-col
:span=
"12"
>
<el-form-item
label=
"车架号"
prop=
"vin"
>
<el-input
v-model=
"form.vin"
placeholder=
"请输入车架号"
></el-input>
</el-form-item>
</el-col>
<el-col
:span=
"12"
>
<el-form-item
label=
"里程数"
prop=
"mileage"
>
<el-input
v-model
.
number=
"form.mileage"
placeholder=
"请输入里程数"
></el-input>
</el-form-item>
</el-col>
<el-form-item
label=
"备注"
prop=
"remark"
>
<el-input
v-model=
"form.remark"
placeholder=
"请输入备注信息"
></el-input>
</el-form-item>
</el-row>
<el-row>
<el-col
:span=
"12"
>
<el-form-item
label=
"保险公司"
prop=
"insuranceCompany"
>
<el-select
class=
"filter-item"
v-model=
"form.insuranceCompany"
placeholder=
"请选择保险公司"
>
<el-option
:key=
"undefined"
label=
"无"
:value=
"undefined"
></el-option>
<el-option
v-for=
"(val, key, index) in getAllInsuranceCompany() "
:key=
"val.code"
:label=
"val.val"
:value=
"val.code"
></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col
:span=
"12"
>
<el-form-item
label=
"保险单号"
prop=
"insuranceNo"
>
<el-input
v-model=
"form.insuranceNo"
placeholder=
"请输入保险单号"
></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col
:span=
"12"
>
<el-form-item
label=
"是否违章"
prop=
"haveViolation"
>
<el-select
class=
"filter-item"
v-model
.
number=
"form.haveViolation"
placeholder=
"请选择是否违章"
>
<el-option
:key=
"undefined"
label=
"无"
:value=
"undefined"
></el-option>
<el-option
key=
"1"
label=
"是"
:value=
"1"
></el-option>
<el-option
key=
"0"
label=
"否"
:value=
"0"
></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col
:span=
"12"
>
<el-form-item
label=
"年审时间"
prop=
"annualVerificationDate"
>
<el-date-picker
v-model=
"form.annualVerificationDate"
type=
"date"
:editable=
"true"
format=
"yyyy-MM-dd"
placeholder=
"请选择年审时间"
>
</el-date-picker>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col
:span=
"12"
>
<el-form-item
label=
"保养时间"
prop=
"annualVerificationDate"
>
<el-date-picker
v-model=
"form.maintenanceDate"
type=
"date"
:editable=
"true"
format=
"yyyy-MM-dd"
placeholder=
"请选择保养日期"
></el-date-picker>
</el-form-item>
</el-col>
<el-col
:span=
"12"
>
<el-form-item
label=
"保养里程数"
prop=
"maintenanceMileage"
>
<el-input
v-model
.
number=
"form.maintenanceMileage"
placeholder=
"请输入保养里程数"
></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col
:span=
"24"
>
<el-form-item
label=
"保险日期"
prop=
"insuranceDateRange4form"
>
<el-date-picker
v-model=
"form.insuranceDateRange4form"
type=
"daterange"
:editable=
"true"
format=
"yyyy-MM-dd"
placeholder=
"请输入保险日期范围"
>
</el-date-picker>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col
:span=
"24"
>
<el-form-item
label=
"备注"
prop=
"remark"
>
<el-input
type=
"textarea"
:rows=
"5"
v-model=
"form.remark"
placeholder=
"请输入备注信息"
></el-input>
</el-form-item>
</el-col>
</el-row>
</el-form>
<div
slot=
"footer"
class=
"dialog-footer"
>
...
...
@@ -226,7 +498,9 @@
import
{
getConstantByTypeAndCode
,
getConstantListByType
getConstantListByType
,
getAllInsuranceCompany
,
getInsuranceCompany
}
from
'api/base_info/constant/'
;
import
{
...
...
@@ -238,6 +512,7 @@
VEHICLE_CONSTANT_VEHICLE_BRAND
,
VEHICLE_CONSTANT_VEHICLE_USE
,
VEHICLE_CONSTANT_BRAND_CODE_UNKOWN
,
INSURANCE_COMPANY
,
VEHICLE_CONSTANT_USE_TYPE_UNKOWN
,
VEHICLE_CONSTANT_STATUS_NORMAL
}
from
'../../../store/modules/baseInfo'
;
...
...
@@ -253,7 +528,8 @@
import
{
toEast8Date
,
deepCopyDate
,
newEast8Date
newEast8Date
,
convertDate2Str
}
from
'utils/dateUtils'
;
import
rsCode
from
'../../../utils/rsCode'
;
...
...
@@ -272,13 +548,58 @@
return
{
form
:
{
status
:
undefined
,
code
:
undefined
,
numberPlate
:
undefined
,
brand
:
undefined
,
subordinateBranch
:
undefined
,
useType
:
undefined
,
vin
:
undefined
,
insuranceNo
:
undefined
,
insuranceCompany
:
undefined
,
insuranceDateRange4form
:
undefined
,
annualVerificationDate
:
undefined
,
maintenanceDate
:
undefined
,
maintenanceMileage
:
undefined
,
haveViolation
:
undefined
,
mileage
:
undefined
,
remark
:
undefined
},
rules
:
{
subordinateBranch
:
[
{
type
:
'integer'
,
required
:
true
,
message
:
'请选择公司'
,
trigger
:
'blur'
}
],
maintenanceMileage
:
[
this
.
integerValidator
()],
mileage
:
[
this
.
integerValidator
()],
code
:
[
{
validator
:
(
rule
,
value
,
callback
)
=>
{
if
(
this
.
$utils
.
isUndefined
(
value
)
||
this
.
$utils
.
isNull
())
{
return
callback
();
}
if
(
!
this
.
$utils
.
isInteger
(
value
))
{
return
callback
(
new
Error
(
'编码必须为整数'
));
}
if
(
value
<
1
||
value
>
9999999999
)
{
return
callback
(
new
Error
(
'编码合法范围:[1 - 9999999999]'
));
}
callback
();
},
trigger
:
'blur'
}
],
vin
:
[
{
min
:
0
,
max
:
200
,
message
:
'长度小于 200 个字符'
,
trigger
:
'blur'
}
],
numberPlate
:
[
{
min
:
0
,
...
...
@@ -308,6 +629,14 @@
disabledDate
:
this
.
checkBookDate
},
rules4Query
:
{
vin
:
[
{
min
:
0
,
max
:
200
,
message
:
'长度小于 200 个字符'
,
trigger
:
'blur'
}
],
subordinateBranch
:
[
{
validator
:
(
rule
,
value
,
callback
)
=>
{
...
...
@@ -414,6 +743,14 @@
listQuery
:
{
page
:
1
,
limit
:
20
,
vin
:
undefined
,
haveViolation
:
undefined
,
insuranceCompany
:
undefined
,
mileageRangeStart
:
undefined
,
mileageRangeEnd
:
undefined
,
insuranceDateRange
:
undefined
,
mRange
:
undefined
,
aVRange
:
undefined
,
subordinateBranch
:
undefined
,
numberPlate
:
undefined
,
status
:
undefined
,
...
...
@@ -423,6 +760,8 @@
notBookedEndDate
:
undefined
,
code
:
undefined
},
showMoreQueryFilter
:
false
,
showMoreMoreCol
:
false
,
inline
:
true
,
dialogFormVisible
:
false
,
dialogForm4ApplyVisible
:
false
,
...
...
@@ -543,6 +882,52 @@
}
},
methods
:
{
getAllInsuranceCompany
,
getInsuranceCompany
,
integerValidator
:
function
()
{
return
{
validator
:
(
rule
,
value
,
callback
)
=>
{
if
(
this
.
$utils
.
isUndefined
(
value
)
||
this
.
$utils
.
isNull
())
{
return
callback
();
}
if
(
!
this
.
$utils
.
isInteger
(
value
))
{
return
callback
(
new
Error
(
'必须为整数'
));
}
if
(
value
<
1
||
value
>
9999999999
)
{
return
callback
(
new
Error
(
'编码合法范围:[1 - 9999999999]'
));
}
callback
();
},
trigger
:
'blur'
};
},
fillDateRange2Object
:
function
(
realBelong
,
rangePropName
,
startDatePropName
,
endDatePropName
)
{
if
(
this
.
$utils
.
isEmpty
(
realBelong
)
||
!
this
.
$utils
.
isArray
(
realBelong
[
rangePropName
]))
{
return
realBelong
;
}
let
belong
=
this
.
$utils
.
clone
(
realBelong
,
true
);
let
[
startDate
,
endDate
]
=
belong
[
rangePropName
];
if
(
this
.
$utils
.
isDate
(
startDate
))
{
belong
[
startDatePropName
]
=
formatDate
(
startDate
,
'yyyy-MM-dd hh:mm:ss'
);
}
else
{
belong
[
startDatePropName
]
=
undefined
;
}
if
(
this
.
$utils
.
isDate
(
endDate
))
{
belong
[
endDatePropName
]
=
formatDate
(
endDate
,
'yyyy-MM-dd hh:mm:ss'
);
}
else
{
belong
[
endDatePropName
]
=
undefined
;
}
belong
[
rangePropName
]
=
undefined
;
return
belong
;
},
fillDates2Range
:
function
(
belong
,
rangePropName
,
startDatePropName
,
endDatePropName
)
{
if
(
this
.
$utils
.
isEmpty
(
belong
)
||
!
this
.
$utils
.
isString
(
belong
[
startDatePropName
])
||
belong
[
startDatePropName
]
===
''
||
!
this
.
$utils
.
isString
(
belong
[
endDatePropName
])
||
belong
[
endDatePropName
]
===
''
)
{
return
;
}
let
[
startDateStr
,
endDateStr
]
=
[
belong
[
startDatePropName
],
belong
[
endDatePropName
]];
belong
[
rangePropName
]
=
[
toEast8Date
(
startDateStr
),
toEast8Date
(
endDateStr
)];
},
changeDate4BookInfo
:
function
(
date
)
{
getBookedInfo
(
this
.
form4BookInfo
.
vehicle
,
date
).
then
(
response
=>
{
this
.
curBookedInfo
=
response
.
data
;
...
...
@@ -591,7 +976,10 @@
},
getList
()
{
this
.
listLoading
=
true
;
page
(
this
.
listQuery
).
then
(
response
=>
{
let
listQueryTemp
=
this
.
fillDateRange2Object
(
this
.
listQuery
,
'mRange'
,
'mRangeDateStart'
,
'mRangeDateEnd'
);
listQueryTemp
=
this
.
fillDateRange2Object
(
listQueryTemp
,
'aVRange'
,
'aVRangeDateStart'
,
'aVRangeDateEnd'
);
listQueryTemp
=
this
.
fillDateRange2Object
(
listQueryTemp
,
'insuranceDateRange'
,
'insuranceDateRangeStart'
,
'insuranceDateRangeEnd'
);
page
(
listQueryTemp
).
then
(
response
=>
{
let
totalCountRs
=
undefined
;
let
listRs
=
undefined
;
if
(
!
this
.
$utils
.
isEmpty
(
response
.
data
.
data
)
&&
this
.
$utils
.
isInteger
(
response
.
data
.
totalCount
))
{
...
...
@@ -633,6 +1021,7 @@
getObj
(
row
.
id
)
.
then
(
response
=>
{
this
.
form
=
response
.
data
;
this
.
fillDates2Range
(
this
.
form
,
'insuranceDateRange4form'
,
'insuranceStartDate'
,
'insuranceEndDate'
);
this
.
dialogFormVisible
=
true
;
this
.
dialogStatus
=
'update'
;
});
...
...
@@ -654,17 +1043,28 @@
const
set
=
this
.
$refs
;
set
[
formName
].
validate
(
valid
=>
{
if
(
valid
)
{
addObj
(
this
.
form
)
.
then
(()
=>
{
this
.
dialogFormVisible
=
false
;
this
.
getList
();
this
.
$notify
({
title
:
'成功'
,
message
:
'创建成功'
,
type
:
'success'
,
duration
:
2000
});
})
let
formTemp
=
this
.
fillDateRange2Object
(
this
.
form
,
'insuranceDateRange4form'
,
'insuranceStartDate'
,
'insuranceEndDate'
);
convertDate2Str
(
formTemp
);
addObj
(
formTemp
)
.
then
(
response
=>
{
if
(
response
.
code
===
rsCode
.
RS_CODE_SUC
)
{
this
.
dialogFormVisible
=
false
;
this
.
getList
();
this
.
$notify
({
title
:
'成功'
,
message
:
'创建成功'
,
type
:
'success'
,
duration
:
2000
});
}
else
{
this
.
$notify
({
title
:
'失败'
,
message
:
rsCode
.
msg
[
response
.
code
]
?
rsCode
.
msg
[
response
.
code
]
:
'操作失败!'
,
type
:
'error'
,
duration
:
2000
});
}
});
}
else
{
return
false
;
}
...
...
@@ -683,16 +1083,26 @@
const
set
=
this
.
$refs
;
set
[
formName
].
validate
(
valid
=>
{
if
(
valid
)
{
this
.
dialogFormVisible
=
false
;
putObj
(
this
.
form
).
then
(()
=>
{
this
.
dialogFormVisible
=
false
;
this
.
getList
();
this
.
$notify
({
title
:
'成功'
,
message
:
'创建成功'
,
type
:
'success'
,
duration
:
2000
});
let
formTemp
=
this
.
fillDateRange2Object
(
this
.
form
,
'insuranceDateRange4form'
,
'insuranceStartDate'
,
'insuranceEndDate'
);
convertDate2Str
(
formTemp
);
putObj
(
formTemp
).
then
(
response
=>
{
if
(
response
.
code
===
rsCode
.
RS_CODE_SUC
)
{
this
.
dialogFormVisible
=
false
;
this
.
getList
();
this
.
$notify
({
title
:
'成功'
,
message
:
'更新成功'
,
type
:
'success'
,
duration
:
2000
});
}
else
{
this
.
$notify
({
title
:
'失败'
,
message
:
rsCode
.
msg
[
response
.
code
]
?
rsCode
.
msg
[
response
.
code
]
:
'操作失败!'
,
type
:
'error'
,
duration
:
2000
});
}
});
}
else
{
return
false
;
...
...
@@ -722,10 +1132,20 @@
resetTemp
()
{
this
.
form
=
{
status
:
undefined
,
code
:
undefined
,
numberPlate
:
undefined
,
brand
:
undefined
,
subordinateBranch
:
undefined
,
useType
:
undefined
,
vin
:
undefined
,
insuranceNo
:
undefined
,
insuranceCompany
:
undefined
,
insuranceDateRange4form
:
undefined
,
annualVerificationDate
:
undefined
,
maintenanceDate
:
undefined
,
maintenanceMileage
:
undefined
,
haveViolation
:
undefined
,
mileage
:
undefined
,
remark
:
undefined
};
},
...
...
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