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
cf29874b
Commit
cf29874b
authored
Apr 20, 2019
by
164003836@qq.con
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
增加车辆信息相关字段
parent
263a260a
Changes
6
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
393 additions
and
95 deletions
+393
-95
getters.js
src/store/getters.js
+3
-1
baseInfo.js
src/store/modules/baseInfo.js
+38
-0
index.vue
src/views/baseInfo/branchCompany/index.vue
+63
-25
index.vue
src/views/vehicle/bookRecord/index.vue
+88
-1
index.vue
src/views/vehicle/vehicleInfo/index.vue
+175
-68
uploadImg.css
static/css/uploadImg.css
+26
-0
No files found.
src/store/getters.js
View file @
cf29874b
...
...
@@ -42,6 +42,8 @@ const getters = {
bookRecordStatus
:
state
=>
state
.
baseInfo
.
bookRecordStatusAndCode
,
getAllCompany
:
state
=>
state
.
baseInfo
.
codeAndBranchCompany
,
allAccItem
:
state
=>
state
.
baseInfo
.
allAccItem
,
allAccItemIdAndName
:
state
=>
state
.
baseInfo
.
allAccItemIdAndName
allAccItemIdAndName
:
state
=>
state
.
baseInfo
.
allAccItemIdAndName
,
belong2Type
:
state
=>
state
.
baseInfo
.
belong2Type
,
companyStatusAndCode
:
state
=>
state
.
baseInfo
.
companyStatusAndCode
};
export
default
getters
src/store/modules/baseInfo.js
View file @
cf29874b
...
...
@@ -18,6 +18,8 @@ export const BOOK_RECORD_STATUS_LIFT = 7; // 预定记录状态 - 已提车
export
const
ACCOMPANYING_ITEM_AMOUNT_INFINITY
=
-
1
;
// 随车物品余量 - 不作限制
export
const
BELONG_TO_TYPE_OWN
=
1
;
// 车辆所属类型 - 自有
import
XEUtils
from
'xe-utils'
;
// 加入常用工具类
import
VXEUtils
from
'vxe-utils'
;
// 加入常用工具类
...
...
@@ -92,6 +94,42 @@ const baseInfo = {
code
:
7
,
val
:
'已提车'
}
},
companyStatusAndCode
:
{
1
:
{
code
:
1
,
val
:
'筹备中'
},
2
:
{
code
:
2
,
val
:
'试业中'
},
3
:
{
code
:
3
,
val
:
'选址中'
},
4
:
{
code
:
3
,
val
:
'已开业'
},
5
:
{
code
:
5
,
val
:
'装修中'
}
},
belong2Type
:
{
1
:
{
code
:
1
,
val
:
'欣新房车有限公司'
},
2
:
{
code
:
2
,
val
:
'托管'
},
3
:
{
code
:
3
,
val
:
'租赁'
}
}
},
mutations
:
{
...
...
src/views/baseInfo/branchCompany/index.vue
View file @
cf29874b
...
...
@@ -14,12 +14,6 @@
<el-option
v-for=
"item in cityRegions4Query"
:key=
"item.id"
:label=
"item.name"
:value=
"item.id"
></el-option>
</el-select>
</el-form-item>
<el-form-item
label=
"镇(县)"
prop=
"addrTown"
>
<el-select
class=
"filter-item"
v-model=
"listQuery.addrTown"
placeholder=
"请选择镇(县)"
>
<el-option
:key=
"undefined"
label=
"无"
:value=
"undefined"
></el-option>
<el-option
v-for=
"item in townRegions4Query"
:key=
"item.id"
:label=
"item.name"
:value=
"item.id"
></el-option>
</el-select>
</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=
"branchCompany_btn_add"
style=
"margin-left: 10px;"
@
click=
"handleCreate"
...
...
@@ -42,6 +36,24 @@
</
template
>
</el-table-column>
<el-table-column
width=
"80"
align=
"center"
label=
"状态"
>
<
template
scope=
"scope"
>
<span>
{{
getStatusName
(
scope
.
row
.
status
)
}}
</span>
</
template
>
</el-table-column>
<el-table-column
width=
"80"
align=
"center"
label=
"负责人"
>
<
template
scope=
"scope"
>
<span>
{{
scope
.
row
.
leader
}}
</span>
</
template
>
</el-table-column>
<el-table-column
width=
"200"
align=
"center"
label=
"负责人联系方式"
>
<
template
scope=
"scope"
>
<span>
{{
scope
.
row
.
leaderContactInfo
}}
</span>
</
template
>
</el-table-column>
<el-table-column
width=
"300"
align=
"center"
label=
"地址"
>
<
template
scope=
"scope"
>
<span>
{{
getAddrStr
(
scope
.
row
)
+
scope
.
row
.
addrDetail
}}
</span>
...
...
@@ -78,24 +90,39 @@
<el-input
v-model=
"form.name"
placeholder=
"输入名称"
></el-input>
</el-form-item>
<el-form-item
label=
"状态"
prop=
"status"
>
<el-select
v-model
.
number=
"form.status"
placeholder=
"请选择省份(直辖市)"
>
<el-option
v-for=
"(val, key, index) in companyStatusAndCode "
:key=
"val.code"
:label=
"val.val"
:value=
"val.code"
></el-option>
</el-select>
</el-form-item>
<el-form-item
label=
"省份"
prop=
"addrProvince"
>
<el-select
v-model=
"form.addrProvince"
placeholder=
"请选择省份(直辖市)"
>
<el-select
v-model
.
number
=
"form.addrProvince"
placeholder=
"请选择省份(直辖市)"
>
<el-option
v-for=
"item in provinceRegions"
:key=
"item.id"
:label=
"item.name"
:value=
"item.id"
></el-option>
</el-select>
</el-form-item>
<el-form-item
label=
"城市"
prop=
"addrCity"
>
<el-select
v-model=
"form.addrCity"
placeholder=
"请选择城市"
>
<el-select
v-model
.
number
=
"form.addrCity"
placeholder=
"请选择城市"
>
<el-option
v-for=
"item in cityRegions"
:key=
"item.id"
:label=
"item.name"
:value=
"item.id"
></el-option>
</el-select>
</el-form-item>
<el-form-item
label=
"镇(县)"
prop=
"addrTown"
>
<el-select
v-model=
"form.addrTown"
placeholder=
"请选择镇(县)"
>
<el-select
v-model
.
number
=
"form.addrTown"
placeholder=
"请选择镇(县)"
>
<el-option
v-for=
"item in townRegions"
:key=
"item.id"
:label=
"item.name"
:value=
"item.id"
></el-option>
</el-select>
</el-form-item>
<el-form-item
label=
"负责人"
prop=
"leader"
>
<el-input
v-model=
"form.leader"
placeholder=
"请输入负责人"
></el-input>
</el-form-item>
<el-form-item
label=
"负责人联系方式"
prop=
"leaderContactInfo"
>
<el-input
v-model=
"form.leaderContactInfo"
placeholder=
"请输入负责人联系方式"
></el-input>
</el-form-item>
<el-form-item
label=
"地址"
prop=
"addrDetail"
>
<el-input
v-model=
"form.addrDetail"
placeholder=
"请输入详细地址"
></el-input>
</el-form-item>
...
...
@@ -128,19 +155,30 @@
export
default
{
name
:
'brachCompany'
,
name
:
'bra
n
chCompany'
,
data
()
{
return
{
form
:
{
id
:
undefined
,
name
:
undefined
,
status
:
undefined
,
addrProvince
:
undefined
,
addrCity
:
undefined
,
addrTown
:
undefined
,
addrDetail
:
undefined
,
leader
:
undefined
,
leaderContactInfo
:
undefined
,
updateTime
:
undefined
},
rules
:
{
status
:
[
{
type
:
'integer'
,
required
:
true
,
message
:
'请输名称'
,
trigger
:
'blur'
}
],
name
:
[
{
required
:
true
,
...
...
@@ -216,26 +254,17 @@
addrCity
:
[
{
validator
:
(
rule
,
value
,
callback
)
=>
{
if
(
this
.
$utils
.
isUndefined
(
value
))
{
return
callback
();
}
if
(
this
.
$utils
.
isInteger
(
this
.
listQuery
.
addrProvince
)
&&
value
.
toString
().
substr
(
0
,
2
)
!=
this
.
listQuery
.
addrProvince
.
toString
().
substr
(
0
,
2
))
{
value
.
toString
().
substr
(
0
,
2
)
!=
=
this
.
listQuery
.
addrProvince
.
toString
().
substr
(
0
,
2
))
{
return
callback
(
new
Error
(
'请选择省份下相应城市'
));
}
callback
();
},
trigger
:
'blur'
}
],
addrTown
:
[
{
validator
:
(
rule
,
value
,
callback
)
=>
{
if
(
this
.
$utils
.
isInteger
(
this
.
listQuery
.
addrCity
)
&&
value
.
toString
().
substr
(
0
,
4
)
!==
this
.
listQuery
.
addrCity
.
toString
().
substr
(
0
,
4
))
{
return
callback
(
new
Error
(
'请选择城市下相应镇(县)'
));
}
callback
();
},
trigger
:
'blur'
}
]
},
list
:
null
,
...
...
@@ -245,7 +274,6 @@
page
:
1
,
limit
:
20
,
addrProvince
:
undefined
,
addrCity
:
undefined
,
addrTown
:
undefined
},
inline
:
true
,
...
...
@@ -269,7 +297,8 @@
},
computed
:
{
...
mapGetters
([
'elements'
'elements'
,
'companyStatusAndCode'
]),
provinceRegions
()
{
return
getSonRegionByCodes
(
1
);
...
...
@@ -300,6 +329,12 @@
}
},
methods
:
{
getStatusName
(
code
)
{
if
(
!
this
.
$utils
.
isInteger
(
code
))
{
return
'未知'
;
}
return
this
.
companyStatusAndCode
[
code
].
val
;
},
getList
()
{
this
.
listLoading
=
true
;
page
(
this
.
listQuery
)
...
...
@@ -425,10 +460,13 @@
this
.
form
=
{
id
:
undefined
,
name
:
undefined
,
status
:
undefined
,
addrProvince
:
undefined
,
addrCity
:
undefined
,
addrTown
:
undefined
,
addrDetail
:
undefined
,
leader
:
undefined
,
leaderContactInfo
:
undefined
,
updateTime
:
undefined
};
}
...
...
src/views/vehicle/bookRecord/index.vue
View file @
cf29874b
...
...
@@ -153,6 +153,25 @@
</el-table-column>
<el-table-column
align=
"center"
label=
"提车里程数"
width=
"100"
>
<
template
scope=
"scope"
>
<span>
{{
scope
.
row
.
mileageLift
}}
</span>
</
template
>
</el-table-column>
<el-table-column
align=
"center"
label=
"还车里程数"
width=
"100"
>
<
template
scope=
"scope"
>
<span>
{{
scope
.
row
.
mileageRet
}}
</span>
</
template
>
</el-table-column>
<el-table-column
width=
"65"
align=
"center"
label=
"是否违章"
>
<
template
scope=
"scope"
>
<span>
{{
scope
.
row
.
haveViolation
?
'是'
:
'否'
}}
</span>
</
template
>
</el-table-column>
<el-table-column
align=
"center"
label=
"操作"
width=
"250"
>
<
template
scope=
"scope"
>
<el-button
size=
"small"
type=
"success"
@
click=
"handleBookInfo(scope.row)"
>
预订信息
</el-button>
...
...
@@ -198,11 +217,15 @@
<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-item
label=
"提车里程数"
prop=
"mileageLift"
>
<el-input
v-model
.
number=
"form4Lift.mileageLift"
placeholder=
"请输入当前车辆里程数"
></el-input>
</el-form-item>
<el-form-item
label=
"提车备注"
prop=
"liftRemark"
>
<el-input
v-model=
"form4Lift.liftRemark"
placeholder=
"请输入备注信息"
></el-input>
</el-form-item>
</el-form>
<div
slot=
"footer"
class=
"dialog-footer"
>
<el-button
@
click=
"cancelDialog4Lift('form4Lift')"
>
取 消
</el-button>
...
...
@@ -221,6 +244,18 @@
<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-item
label=
"还车里程数"
prop=
"mileageRet"
>
<el-input
v-model
.
number=
"form4Ret.mileageRet"
placeholder=
"请输入当前车辆里程数"
></el-input>
</el-form-item>
<el-form-item
label=
"是否违章"
prop=
"haveViolation"
>
<el-select
class=
"filter-item"
v-model=
"form4Ret.haveViolation"
placeholder=
"请选择是否违章"
>
<el-option
key=
"1"
label=
"是"
value=
"1"
></el-option>
<el-option
key=
"0"
label=
"否"
value=
"0"
></el-option>
</el-select>
</el-form-item>
<el-form-item
label=
"还车备注"
prop=
"retRemark"
>
<el-input
v-model=
"form4Ret.retRemark"
placeholder=
"请输入备注信息"
></el-input>
</el-form-item>
...
...
@@ -322,6 +357,7 @@
tableKey
:
0
,
form4Lift
:
{
id
:
undefined
,
mileageLift
:
undefined
,
liftCompany
:
undefined
,
liftRemark
:
undefined
},
...
...
@@ -334,6 +370,29 @@
type
:
'integer'
}
],
mileageLift
:
[
{
required
:
true
,
message
:
'请输入当前里程数'
,
trigger
:
'blur'
,
type
:
'integer'
},
{
validator
:
(
rule
,
value
,
callback
)
=>
{
if
(
this
.
$utils
.
isUndefined
(
value
)
||
this
.
$utils
.
isNull
(
value
))
{
return
callback
();
}
if
(
!
this
.
$utils
.
isInteger
(
value
))
{
return
callback
(
new
Error
(
'里程数必须为整数'
));
}
if
(
value
<
0
||
value
>
9999999999
)
{
return
callback
(
new
Error
(
'里程数合法范围:[0 - 9999999999]'
));
}
callback
();
},
trigger
:
'blur'
}
],
retRemark
:
[
{
min
:
0
,
...
...
@@ -345,6 +404,8 @@
},
form4Ret
:
{
id
:
undefined
,
mileageRet
:
undefined
,
haveViolation
:
undefined
,
retCompany
:
undefined
,
retRemark
:
undefined
},
...
...
@@ -357,6 +418,29 @@
type
:
'integer'
}
],
mileageRet
:
[
{
required
:
true
,
message
:
'请输入当前里程数'
,
trigger
:
'blur'
,
type
:
'integer'
},
{
validator
:
(
rule
,
value
,
callback
)
=>
{
if
(
this
.
$utils
.
isUndefined
(
value
)
||
this
.
$utils
.
isNull
(
value
))
{
return
callback
();
}
if
(
!
this
.
$utils
.
isInteger
(
value
))
{
return
callback
(
new
Error
(
'里程数必须为整数'
));
}
if
(
value
<
0
||
value
>
9999999999
)
{
return
callback
(
new
Error
(
'里程数合法范围:[0 - 9999999999]'
));
}
callback
();
},
trigger
:
'blur'
}
],
retRemark
:
[
{
min
:
0
,
...
...
@@ -681,6 +765,7 @@
resetTemp4Lift
()
{
this
.
form4Lift
=
{
id
:
undefined
,
mileageLift
:
undefined
,
liftCompany
:
undefined
,
liftRemark
:
undefined
};
...
...
@@ -688,6 +773,8 @@
resetTemp4Ret
()
{
this
.
form4Ret
=
{
id
:
undefined
,
mileageRet
:
undefined
,
haveViolation
:
undefined
,
retCompany
:
undefined
,
retRemark
:
undefined
};
...
...
src/views/vehicle/vehicleInfo/index.vue
View file @
cf29874b
<
template
>
<div
class=
"app-container calendar-list-container"
>
<div
class=
"app-container calendar-list-container"
v-loading
.
body=
"showLoadingBody"
>
<div
class=
"filter-container"
ref=
"filter-container"
>
<el-form
:rules=
"rules4Query"
ref=
"queryForm"
:inline=
"inline"
:model=
"listQuery"
label-width=
"100px"
>
<el-row>
...
...
@@ -64,16 +64,6 @@
<transition
name=
"fade"
>
<div
v-if=
"showMoreQueryFilter"
>
<!--
<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-row>
<el-col
:span=
"8"
>
<el-form-item
label=
"车架号"
prop=
"vin"
>
...
...
@@ -125,15 +115,6 @@
</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>
...
...
@@ -149,7 +130,7 @@
</div>
<el-table
:key=
'tableKey'
:data=
"list"
v-loading
.
body=
"listLoading"
border
fit
highlight-current-row
<el-table
:key=
'tableKey'
:data=
"list"
border
fit
highlight-current-row
style=
"width: 100%"
>
<el-table-column
align=
"center"
label=
"编号"
width=
"65"
>
...
...
@@ -200,12 +181,6 @@
</
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>
...
...
@@ -248,9 +223,37 @@
</
template
>
</el-table-column>
<el-table-column
width=
"
65"
align=
"center"
v-if=
"showMoreMoreCol"
label=
"是否违章
"
>
<el-table-column
width=
"
120"
align=
"center"
v-if=
"showMoreMoreCol"
label=
"所属人
"
>
<
template
scope=
"scope"
>
<span>
{{
scope
.
row
.
haveViolation
?
'是'
:
'否'
}}
</span>
<span>
{{
getBelongToNameStr
(
scope
.
row
)
}}
</span>
</
template
>
</el-table-column>
<el-table-column
width=
"80"
align=
"center"
v-if=
"showMoreMoreCol"
label=
"行驶证"
>
<
template
scope=
"scope"
>
<el-button
v-if=
"$utils.isString(scope.row.drivingLicensePath) && !$utils.isEmpty(scope.row.drivingLicensePath)"
size=
"small"
type=
"success"
@
click=
"showImgDialog(scope.row.drivingLicensePath)"
>
查看
</el-button>
</
template
>
</el-table-column>
<el-table-column
width=
"120"
align=
"center"
v-if=
"showMoreMoreCol"
label=
"发动机号"
>
<
template
scope=
"scope"
>
<span>
{{
scope
.
row
.
engineNum
}}
</span>
</
template
>
</el-table-column>
<el-table-column
width=
"120"
align=
"center"
v-if=
"showMoreMoreCol"
label=
"收车日期"
>
<
template
scope=
"scope"
>
<span>
{{
scope
.
row
.
receiveTime
}}
</span>
</
template
>
</el-table-column>
<el-table-column
width=
"120"
align=
"center"
v-if=
"showMoreMoreCol"
label=
"生产商"
>
<
template
scope=
"scope"
>
<span>
{{
scope
.
row
.
manufacturer
}}
</span>
</
template
>
</el-table-column>
...
...
@@ -346,11 +349,19 @@
</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
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>
...
...
@@ -373,63 +384,77 @@
</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
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=
"annualVerificationDate"
>
<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=
"12"
>
<el-form-item
label=
"保险日期"
prop=
"insuranceDateRange4form"
>
<el-date-picker
v-model=
"form.
annualVerificationDate
"
type=
"date"
v-model=
"form.
insuranceDateRange4form
"
type=
"date
range
"
:editable=
"true"
format=
"yyyy-MM-dd"
placeholder=
"请
选择年审时间
"
placeholder=
"请
输入保险日期范围
"
>
</el-date-picker>
</el-form-item>
</el-col>
<el-col
:span=
"12"
>
<el-form-item
label=
"所属人"
prop=
"maintenanceMileage"
>
<el-select
v-model
.
number=
"form.belongTo"
placeholder=
"请选择所属人"
>
<el-option
v-for=
"(val, key, index) in getAllBelong2Type() "
:key=
"val.code"
:label=
"val.val"
:value=
"val.code"
></el-option>
</el-select>
<el-input
v-if=
"typeof(form.belongTo) !== 'undefined' && form.belongTo != 1"
v-model=
"form.belongToName"
placeholder=
"请输入名称"
></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col
:span=
"12"
>
<el-form-item
label=
"
保养时间"
prop=
"annualVerificationDat
e"
>
<el-form-item
label=
"
收车时间"
prop=
"receiveTim
e"
>
<el-date-picker
v-model=
"form.
maintenanceDat
e"
v-model=
"form.
receiveTim
e"
type=
"date"
:editable=
"true"
format=
"yyyy-MM-dd"
placeholder=
"请选择
保养日期
"
format=
"yyyy-MM-dd
HH: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.ma
intenanceMileage"
placeholder=
"请输入保养里程数
"
></el-input>
<el-form-item
label=
"
生产商"
prop=
"manufacturer
"
>
<el-input
v-model
.
number=
"form.ma
nufacturer"
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
label=
"发动机号"
prop=
"engineNum"
>
<el-input
v-model
.
number=
"form.engineNum"
placeholder=
"请输入发动机号"
></el-input>
</el-form-item>
</el-col>
</el-row>
...
...
@@ -442,6 +467,24 @@
</el-col>
</el-row>
<el-row>
<el-col
:span=
"24"
>
<el-form-item
label=
"行驶证"
prop=
"drivingLicensePath"
:style=
"{display:'block'}"
>
<el-upload
class=
"avatar-uploader"
:action=
"BASE_API + '/vehicle/vehicleInfo/upload/drivingLicense'"
:show-file-list=
"false"
:headers=
"getHeaderWithToken"
:on-success=
"handleAvatarSuccess"
:before-upload=
"beforeAvatarUpload"
:style=
"{display:'block'}"
>
<img
v-if=
"$utils.isString(form.drivingLicensePath) && !$utils.isEmpty(form.drivingLicensePath)"
:src=
"getDrivingLicenseUrl(form.drivingLicensePath)"
class=
"avatar"
:style=
"{display:'block'}"
>
<i
v-else
class=
"el-icon-plus avatar-uploader-icon"
:style=
"{lineHeight:'350px'}"
></i>
</el-upload>
</el-form-item>
</el-col>
</el-row>
</el-form>
<div
slot=
"footer"
class=
"dialog-footer"
>
<el-button
@
click=
"cancel('form')"
>
取 消
</el-button>
...
...
@@ -485,7 +528,6 @@
<el-input
v-model=
"form4Apply.remark"
placeholder=
"请输入备注信息"
></el-input>
</el-form-item>
</el-form>
<div
slot=
"footer"
class=
"dialog-footer"
>
<el-button
@
click=
"cancel4Apply('form4Apply')"
>
取 消
</el-button>
...
...
@@ -493,6 +535,11 @@
</div>
</el-dialog>
<el-dialog
title=
"行驶证"
:visible
.
sync=
"dialogForm4LicenceVisible"
>
<img
:style=
"{width:'100%'}"
:src=
"licenceSrcUrl"
>
</el-dialog>
<book-info-viewer
ref=
"bookInfoViewer"
></book-info-viewer>
<acc-item-selector
v-on:select=
"accItemSelected"
:selectedAccItem=
"form4Apply.selectedAccItem"
v-on:clear=
"accItemClear"
ref=
"accItemSelector"
></acc-item-selector>
...
...
@@ -501,6 +548,7 @@
</template>
<
script
>
import
'static/css/uploadImg.css'
;
// 引入图片上传组件对话框
import
{
page
,
addObj
,
...
...
@@ -527,7 +575,7 @@
VEHICLE_CONSTANT_VEHICLE_BRAND
,
VEHICLE_CONSTANT_VEHICLE_USE
,
VEHICLE_CONSTANT_BRAND_CODE_UNKOWN
,
INSURANCE_COMPANY
,
BELONG_TO_TYPE_OWN
,
VEHICLE_CONSTANT_USE_TYPE_UNKOWN
,
VEHICLE_CONSTANT_STATUS_NORMAL
}
from
'../../../store/modules/baseInfo'
;
...
...
@@ -550,6 +598,9 @@
import
rsCode
from
'../../../utils/rsCode'
;
import
{
mapGetters
}
from
'vuex'
;
import
{
getToken
}
from
'utils/auth'
;
import
bookInfoViewer
from
'../bookInfoViewer'
;
import
accItemSelector
from
'../accompanyingItem/accItemSelector.vue'
;
...
...
@@ -563,6 +614,10 @@
},
data
()
{
return
{
BASE_API
:
process
.
env
.
BASE_API
,
dialogForm4LicenceVisible
:
false
,
licenceSrcUrl
:
undefined
,
showLoadingBody
:
false
,
form
:
{
status
:
undefined
,
code
:
undefined
,
...
...
@@ -576,9 +631,12 @@
insuranceDateRange4form
:
undefined
,
annualVerificationDate
:
undefined
,
maintenanceDate
:
undefined
,
maintenanceMileage
:
undefined
,
haveViolation
:
undefined
,
mileage
:
undefined
,
belongTo
:
undefined
,
belongToName
:
undefined
,
engineNum
:
undefined
,
manufacturer
:
undefined
,
receiveTime
:
undefined
,
drivingLicensePath
:
undefined
,
remark
:
undefined
},
rules
:
{
...
...
@@ -591,11 +649,10 @@
}
],
maintenanceMileage
:
[
this
.
integerValidator
()],
mileage
:
[
this
.
integerValidator
()],
code
:
[
{
validator
:
(
rule
,
value
,
callback
)
=>
{
if
(
this
.
$utils
.
isUndefined
(
value
)
||
this
.
$utils
.
isNull
())
{
if
(
this
.
$utils
.
isUndefined
(
value
)
||
this
.
$utils
.
isNull
(
value
))
{
return
callback
();
}
if
(
!
this
.
$utils
.
isInteger
(
value
))
{
...
...
@@ -760,7 +817,6 @@
page
:
1
,
limit
:
20
,
vin
:
undefined
,
haveViolation
:
undefined
,
insuranceCompany
:
undefined
,
mileageRangeStart
:
undefined
,
mileageRangeEnd
:
undefined
,
...
...
@@ -808,8 +864,12 @@
computed
:
{
...
mapGetters
([
'elements'
,
'belong2Type'
,
'vehicleStatus'
]),
getHeaderWithToken
()
{
return
{
Authorization
:
getToken
()};
},
getSelectedAccItemStr
()
{
if
(
!
this
.
$utils
.
isEmpty
(
this
.
form4Apply
.
selectedAccItem
))
{
let
rsStr
=
''
;
...
...
@@ -908,6 +968,46 @@
}
},
methods
:
{
getAllBelong2Type
:
function
()
{
return
this
.
belong2Type
;
},
getBelongToNameStr
(
row
)
{
if
(
!
this
.
$utils
.
isInteger
(
row
.
belongTo
))
{
return
undefined
;
}
if
(
BELONG_TO_TYPE_OWN
===
row
.
belongTo
)
{
return
this
.
belong2Type
[
row
.
belongTo
].
val
;
}
if
(
this
.
$utils
.
isString
(
row
.
belongToName
)
&&
!
this
.
$utils
.
isEmpty
(
row
.
belongToName
))
{
return
row
.
belongToName
;
}
return
undefined
;
},
showImgDialog
(
drivingLicensePath
)
{
this
.
licenceSrcUrl
=
this
.
getDrivingLicenseUrl
(
drivingLicensePath
);
this
.
dialogForm4LicenceVisible
=
true
;
},
getDrivingLicenseUrl
(
drivingLicensePath
)
{
return
process
.
env
.
BASE_API
+
'/vehicle/vehicleInfo/download/drivingLicense?realFileRelPath='
+
encodeURI
(
drivingLicensePath
);
},
handleAvatarSuccess
(
res
,
file
)
{
this
.
form
.
drivingLicensePath
=
res
.
data
;
this
.
showLoadingBody
=
false
;
},
beforeAvatarUpload
(
file
)
{
const
isJPG
=
file
.
type
===
'image/jpeg'
||
file
.
type
===
'image/gif'
;
const
isLt2M
=
file
.
size
/
1024
/
1024
<
10
;
if
(
!
isJPG
)
{
this
.
$message
.
error
(
'上传图片只能是 JPG/GIF 格式!'
);
}
if
(
!
isLt2M
)
{
this
.
$message
.
error
(
'上传图片大小不能超过 10MB!'
);
}
this
.
showLoadingBody
=
true
;
return
isJPG
&&
isLt2M
;
},
accItemSelected
(
selected
)
{
this
.
form4Apply
.
selectedAccItem
=
selected
;
},
...
...
@@ -1055,7 +1155,10 @@
handleUpdate
(
row
)
{
getObj
(
row
.
id
)
.
then
(
response
=>
{
this
.
form
=
response
.
data
;
this
.
resetTemp
();
this
.
$utils
.
objectEach
(
response
.
data
,
(
item
,
key
)
=>
{
this
.
form
[
key
]
=
item
;
})
this
.
fillDates2Range
(
this
.
form
,
'insuranceDateRange4form'
,
'insuranceStartDate'
,
'insuranceEndDate'
);
this
.
dialogFormVisible
=
true
;
this
.
dialogStatus
=
'update'
;
...
...
@@ -1149,7 +1252,7 @@
set
[
formName
].
validate
(
valid
=>
{
if
(
valid
)
{
this
.
dialogFormVisible
=
false
;
book
(
this
.
form4Apply
).
then
((
response
)
=>
{
book
(
this
.
form4Apply
).
then
(()
=>
{
this
.
dialogForm4ApplyVisible
=
false
;
this
.
getList
();
this
.
$notify
({
...
...
@@ -1179,8 +1282,12 @@
annualVerificationDate
:
undefined
,
maintenanceDate
:
undefined
,
maintenanceMileage
:
undefined
,
haveViolation
:
undefined
,
mileage
:
undefined
,
belongTo
:
undefined
,
belongToName
:
undefined
,
engineNum
:
undefined
,
manufacturer
:
undefined
,
receiveTime
:
undefined
,
drivingLicensePath
:
undefined
,
remark
:
undefined
};
},
...
...
static/css/uploadImg.css
0 → 100644
View file @
cf29874b
.avatar-uploader
.el-upload
{
border
:
1px
dashed
#d9d9d9
;
border-radius
:
6px
;
cursor
:
pointer
;
position
:
relative
;
overflow
:
hidden
;
}
.avatar-uploader
.el-upload
:hover
{
border-color
:
#409EFF
;
}
.avatar-uploader-icon
{
font-size
:
28px
;
color
:
#8c939d
;
width
:
350px
;
height
:
350px
;
line-height
:
350px
;
text-align
:
center
;
}
.avatar
{
width
:
350px
;
height
:
350px
;
display
:
block
;
}
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