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
cde4c848
Commit
cde4c848
authored
Jul 24, 2019
by
hanfeng
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'base-modify' of
http://113.105.137.151:22280/youjj/cloud-platform-ui
into base-modify
parents
badfe500
9ab92a54
Changes
11
Hide whitespace changes
Inline
Side-by-side
Showing
11 changed files
with
1596 additions
and
133 deletions
+1596
-133
vehicleSchedulManage.js
src/api/vehicle/vehicleSchedulManage.js
+9
-0
index.js
src/router/index.js
+6
-0
conponList.vue
src/views/cunponManagements/conponList.vue
+197
-0
cunponManagement.vue
src/views/cunponManagements/cunponManagement.vue
+404
-112
discountRecord.vue
src/views/purseManage/discountRecord.vue
+10
-10
gainRecord.vue
src/views/purseManage/gainRecord.vue
+7
-7
incomeOverview.vue
src/views/purseManage/incomeOverview.vue
+4
-4
index.vue
src/views/vehicle/vehicleSchedulManage/index.vue
+689
-0
vehicleExhibitionModal.vue
...s/vehicle/vehicleSchedulManage/vehicleExhibitionModal.vue
+102
-0
vehicleMaintenanceModal.vue
.../vehicle/vehicleSchedulManage/vehicleMaintenanceModal.vue
+84
-0
vehiclePlanModal.vue
src/views/vehicle/vehicleSchedulManage/vehiclePlanModal.vue
+84
-0
No files found.
src/api/vehicle/vehicleSchedulManage.js
0 → 100644
View file @
cde4c848
import
fetch
from
'utils/fetch'
;
export
function
getVehiclePlanList
(
query
)
{
return
fetch
({
url
:
'/vehicle/vehicleInfo/app/unauth/getVehiclePlanList'
,
method
:
'get'
,
params
:
query
});
}
src/router/index.js
View file @
cde4c848
...
...
@@ -479,6 +479,12 @@ export const asyncRouterMap = [{
component
:
_import
(
'cunponManagements/cunponManagement'
),
name
:
'优惠券管理'
,
authority
:
'cunponManagement'
},
{
path
:
'conponList'
,
component
:
_import
(
'cunponManagements/conponList'
),
name
:
'优惠券列表'
,
authority
:
'conponList'
}
]
}
...
...
src/views/cunponManagements/conponList.vue
0 → 100644
View file @
cde4c848
<
template
>
<div
class=
"app-container calendar-list-container"
v-loading
.
body=
"showLoadingBody"
>
<div>
<div
class=
"filter-container"
ref=
"filter-container"
>
<el-form
ref=
"queryForm"
:inline=
"inline"
:model=
"listQuery"
label-width=
"60px"
>
<el-row>
<el-col
:span=
"4"
>
<el-form-item
label=
"手机号"
>
<el-input
v-model
.
number=
"listQuery.phone"
placeholder=
"请输入姓名"
></el-input>
</el-form-item>
</el-col>
<el-col
:span=
"4"
>
<el-form-item
label=
""
>
<el-select
class=
"filter-item"
v-model=
"listQuery.state"
placeholder=
"请输入状态"
>
<el-option
v-for=
"(item,index) in typeOptions"
:key=
"index"
:label=
"item.name"
:value=
"item.val"
>
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col
:span=
"4"
>
<el-form-item
label=
"金额"
>
<el-input
v-model
.
number=
"listQuery.phone"
placeholder=
"请输入姓名"
></el-input>
</el-form-item>
</el-col>
<el-col
:span=
"4"
>
<el-form-item
label=
""
>
<el-select
class=
"filter-item"
v-model=
"listQuery.state"
placeholder=
"请输入状态"
>
<el-option
v-for=
"(item,index) in typeOptions"
:key=
"index"
:label=
"item.name"
:value=
"item.val"
>
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-button
class=
"filter-item"
type=
"primary"
v-waves
icon=
"search"
@
click=
"handleFilter"
>
搜索
</el-button>
</el-row>
</el-form>
</div>
<el-table
:key=
'tableKey'
:data=
"list"
border
fit
highlight-current-row
style=
"width: 100%;"
>
<el-table-column
type=
"index"
align=
"center"
label=
"姓名"
width=
"200"
>
<template
scope=
"scope"
>
<span>
{{
scope
.
row
.
username
}}
</span>
</
template
>
</el-table-column>
<el-table-column
align=
"center"
label=
"手机号"
>
<
template
scope=
"scope"
>
<span>
{{
scope
.
row
.
phone
}}
</span>
</
template
>
</el-table-column>
<el-table-column
align=
"center"
label=
"金额"
>
<
template
scope=
"scope"
>
<span>
{{
scope
.
row
.
amount
}}
</span>
</
template
>
</el-table-column>
<el-table-column
align=
"center"
label=
"状态"
>
<
template
scope=
"scope"
>
<span
v-if=
"scope.row.stauts==0"
>
未到帐
</span>
<span
v-if=
"scope.row.stauts==1"
>
已到账
</span>
</
template
>
</el-table-column>
<el-table-column
align=
"center"
label=
"申请时间"
>
<
template
scope=
"scope"
>
<span>
{{
scope
.
row
.
crtTimeStr
}}
</span>
</
template
>
</el-table-column>
<el-table-column
align=
"center"
label=
"到账时间"
>
<
template
scope=
"scope"
>
<span>
{{
scope
.
row
.
finishTimeStr
}}
</span>
</
template
>
</el-table-column>
</el-table>
<div
v-show=
"!listLoading"
class=
"pagination-container"
>
<el-pagination
@
size-change=
"handleSizeChange"
@
current-change=
"handleCurrentChange"
:current-page
.
sync=
"listQuery.page"
:page-sizes=
"[10,20,30,40,50]"
:page-size=
"listQuery.limit"
layout=
"total, sizes, prev, pager, next, jumper"
:total=
"total"
></el-pagination>
</div>
</div>
</div>
</template>
<
script
>
import
{
formatDate
}
from
'utils/dateFormattor'
;
import
{
toEast8Date
,
deepCopyDate
,
newEast8Date
,
convertDate2Str
,
timestamp2Date
}
from
'utils/dateUtils'
;
import
rsCode
from
'../../utils/rsCode'
;
import
{
mapGetters
}
from
'vuex'
;
import
{
getToken
}
from
'utils/auth'
;
import
{
discountList
}
from
'api/purseManage'
;
import
Element1
from
"../admin/menu/components/element"
;
import
ElRow
from
"element-ui/packages/row/src/row"
;
import
ElCol
from
"element-ui/packages/col/src/col"
;
export
default
{
name
:
'conponList'
,
components
:
{
ElCol
,
ElRow
,
Element1
,
},
data
()
{
return
{
typeOptions
:
[
{
"name"
:
'全部'
,
"val"
:
''
},
{
"name"
:
'未到账'
,
"val"
:
'0'
},
{
"name"
:
'已到账'
,
"val"
:
'1'
},
],
BASE_API
:
process
.
env
.
BASE_API
,
showLoadingBody
:
false
,
list
:
null
,
total
:
null
,
listLoading
:
true
,
listQuery
:
{
page
:
1
,
limit
:
20
,
phone
:
''
,
//手机号
username
:
''
,
//姓名
state
:
''
,
//状态
},
inline
:
true
,
tableKey
:
0
}
},
created
()
{
this
.
getList
();
},
computed
:
{
...
mapGetters
([
'elements'
])
},
methods
:
{
/**
* 获取提现列表
* */
getList
()
{
this
.
listLoading
=
true
;
discountList
(
this
.
listQuery
).
then
(
response
=>
{
let
totalCountRs
=
undefined
;
let
listRs
=
undefined
;
if
(
!
this
.
$utils
.
isEmpty
(
response
.
data
.
data
)
&&
this
.
$utils
.
isInteger
(
response
.
data
.
totalCount
))
{
listRs
=
response
.
data
.
data
;
totalCountRs
=
response
.
data
.
totalCount
;
listRs
.
map
(
function
(
item
){
item
.
crtTimeStr
=
timestamp2Date
(
item
.
crtTime
);
item
.
finishTimeStr
=
timestamp2Date
(
item
.
finishTime
);
});
}
this
.
listLoading
=
false
;
this
.
list
=
listRs
;
this
.
total
=
totalCountRs
;
})
},
handleFilter
()
{
this
.
listQuery
.
page
=
1
;
this
.
$refs
.
queryForm
.
validate
(
valid
=>
{
if
(
valid
)
{
this
.
getList
();
}
else
{
return
false
;
}
});
},
handleSizeChange
(
val
)
{
this
.
listQuery
.
limit
=
val
;
this
.
getList
();
},
handleCurrentChange
(
val
)
{
this
.
listQuery
.
page
=
val
;
this
.
getList
();
}
}
}
</
script
>
src/views/cunponManagements/cunponManagement.vue
View file @
cde4c848
...
...
@@ -2,17 +2,17 @@
<div
class=
"app-container calendar-list-container"
v-loading
.
body=
"showLoadingBody"
>
<div>
<div
class=
"filter-container"
ref=
"filter-container"
>
<el-form
ref=
"queryForm"
:inline=
"inline"
:model=
"listQuery"
label-width=
"
10
0px"
>
<el-form
ref=
"queryForm"
:inline=
"inline"
:model=
"listQuery"
label-width=
"
5
0px"
>
<el-row>
<el-col
:span=
"
8
"
>
<el-col
:span=
"
5
"
>
<el-form-item
label=
"标题"
>
<el-input
v-model
.
number=
"listQuery.title"
placeholder=
"请输入姓名"
></el-input>
</el-form-item>
</el-col>
<el-col
:span=
"
8
"
>
<el-form-item
label=
"状态"
prop=
"type"
>
<el-select
class=
"filter-item"
v-model=
"listQuery.state"
placeholder=
"
请输入状态
"
>
<el-option
v-for=
"(item,index) in
typeOptions
"
:key=
"index"
:label=
"item.name"
:value=
"item.val"
>
</el-option>
<el-col
:span=
"
5
"
>
<el-form-item>
<el-select
class=
"filter-item"
v-model=
"listQuery.state"
placeholder=
"
类型
"
>
<el-option
v-for=
"(item,index) in
channelType
"
:key=
"index"
:label=
"item.name"
:value=
"item.val"
>
</el-option>
</el-select>
</el-form-item>
</el-col>
...
...
@@ -21,40 +21,43 @@
</el-row>
</el-form>
</div>
<el-table
:key=
'tableKey'
:data=
"list"
border
fit
highlight-current-row
style=
"width: 100%;"
>
<el-table-column
type=
"index"
width=
"100"
align=
"center"
label=
"ID"
>
<el-table
:key=
'tableKey'
:data=
"list"
border
fit
highlight-current-row
style=
"width: 100%;"
>
<el-table-column
type=
"index"
align=
"center"
label=
"ID"
width=
"100"
>
<template
scope=
"scope"
>
<span>
{{
scope
.
row
.
id
}}
</span>
</
template
>
</el-table-column>
<el-table-column
width=
"200"
align=
"center"
label=
"优惠券标题"
>
<el-table-column
align=
"center"
label=
"优惠券标题"
>
<
template
scope=
"scope"
>
<span>
{{
scope
.
row
.
title
}}
</span>
</
template
>
</el-table-column>
<el-table-column
width=
"200"
align=
"center"
label=
"已领取"
>
<el-table-column
align=
"center"
label=
"类型"
>
<
template
scope=
"scope"
>
<span
v-if=
"scope.row.channel==0"
>
全平台
</span>
<span
v-if=
"scope.row.channel==1"
>
租车
</span>
<span
v-if=
"scope.row.channel==2"
>
旅游
</span>
<span
v-if=
"scope.row.channel==3"
>
营地
</span>
</
template
>
</el-table-column>
<el-table-column
align=
"center"
label=
"已领取"
>
<
template
scope=
"scope"
>
<span>
{{
scope
.
row
.
get
}}
</span>
</
template
>
</el-table-column>
<el-table-column
width=
"200"
align=
"center"
label=
"已使用"
>
<el-table-column
align=
"center"
label=
"已使用"
>
<
template
scope=
"scope"
>
<span>
{{
scope
.
row
.
used
}}
</span>
</
template
>
</el-table-column>
<el-table-column
width=
"200"
align=
"center"
label=
"申请时间"
>
<el-table-column
align=
"center"
label=
"申请时间"
>
<
template
scope=
"scope"
>
<span>
{{
scope
.
row
.
time
}}
</span>
</
template
>
</el-table-column>
<el-table-column
width=
"200"
align=
"center"
label=
"操作"
>
<el-table-column
align=
"center"
label=
"操作"
>
<
template
scope=
"scope"
>
<el-button
size=
"small"
type=
"
success
"
@
click=
"handleUpdate(scope.row)"
>
编辑
</el-button>
<el-button
size=
"small"
type=
"
primary
"
@
click=
"handleUpdate(scope.row)"
>
编辑
</el-button>
<el-popover
ref=
"popover1"
placement=
"top"
...
...
@@ -78,63 +81,81 @@
</div>
<!-- 优惠券编辑 -->
<el-dialog
title=
"优惠券编辑
"
:visible
.
sync=
"editDialogVisible"
>
<el-form
:model=
"formdata"
:rules=
"rules"
ref=
"form"
label-width=
"
9
0px"
>
<el-dialog
:title=
"modalTitle
"
:visible
.
sync=
"editDialogVisible"
>
<el-form
:model=
"formdata"
:rules=
"rules"
ref=
"form"
label-width=
"
11
0px"
>
<div
style=
"font-weight: bold;"
>
基础设置
</div>
<hr
style=
"background-color:#e5e5e5;height:1px;border:none;margin:10px 0"
>
<el-row>
<el-row>
<el-col
:span=
"12"
>
<el-form-item
label=
"优惠券标题"
prop=
"
nam
e"
>
<el-input
v-model=
"formdata.title"
placeholder=
"请输入优惠券标题"
></el-input>
<el-form-item
label=
"优惠券标题"
prop=
"
titl
e"
>
<el-input
v-model=
"formdata.title"
placeholder=
"请输入优惠券标题"
:disabled=
"isUpdate"
></el-input>
</el-form-item>
</el-col>
<el-col
:span=
"12"
>
<el-form-item
label=
"适用人群"
>
<el-radio-group
v-model=
"formdata.user_type_name"
size=
"medium"
>
<el-radio-button
label=
"普通用户"
:disabled=
"formdata.user_type_name=='会员用户'&&isUpdate"
></el-radio-button>
<el-radio-button
label=
"会员用户"
:disabled=
"formdata.user_type_name=='普通用户'&&isUpdate"
></el-radio-button>
</el-radio-group>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col
:span=
"12"
>
<el-form-item
label=
"优惠金额"
prop=
"name"
>
<el-input
v-model=
"formdata.
title"
placeholder=
"请输入优惠金额
"
></el-input>
<el-form-item
label=
"优惠金额"
>
<el-input
v-model=
"formdata.
used_amount"
placeholder=
"请输入优惠金额"
:disabled=
"isUpdate
"
></el-input>
</el-form-item>
</el-col>
<el-col
:span=
"12"
>
<el-form-item
label=
"优惠方式"
>
<el-select
class=
"filter-item"
v-model=
"formdata.endDate"
placeholder=
"请选择"
style=
"width:100px"
>
<el-option
v-for=
"(item,index) in cunponType "
:key=
"item.id"
:label=
"item.val"
:value=
"item.id"
></el-option>
<el-select
class=
"filter-item"
v-model=
"formdata.type"
placeholder=
"请选择"
style=
"width:110px"
:disabled=
"isUpdate"
>
<el-option
:label=
"formdata.typeName"
:value=
"formdata.type"
></el-option>
<el-option
v-for=
"(item,index) in cunponType "
:key=
"index"
:label=
"item.val"
:value=
"item.id"
:disabled=
"item.id==2"
></el-option>
</el-select>
<span>
满
</span>
<el-input
v-model=
"formdata.title"
placeholder=
"请输入金额"
style=
"width:
50px
"
></el-input>
<span>
可用
</span>
<span
v-if=
"formdata.type==1"
>
满
</span>
<el-input
v-model=
"formdata.title"
placeholder=
"请输入金额"
style=
"width:
100px"
v-if=
"formdata.type==1"
:disabled=
"isUpdate
"
></el-input>
<span
v-if=
"formdata.type==1"
>
可用
</span>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col
:span=
"24"
>
<el-form-item
label=
"有效期"
prop=
"name"
>
<span>
领取后
</span>
<el-input
v-model=
"formdata.title"
placeholder=
"请输入金额"
style=
"width:50px"
></el-input>
<span>
天有效
</span>
<el-form-item
label=
"有效期"
>
<el-radio-group
v-model=
"formdata.valid_type_name"
size=
"medium"
>
<el-radio-button
label=
"绝对时效"
:disabled=
"formdata.valid_type_name=='相对时效'&&isUpdate"
></el-radio-button>
<el-radio-button
label=
"相对时效"
:disabled=
"formdata.valid_type_name=='绝对时效'&&isUpdate"
></el-radio-button>
</el-radio-group>
<div
style=
"display:inline-block"
v-show=
"formdata.valid_type_name=='绝对时效'"
>
<el-date-picker
v-model=
"formdata.validStartTimeStr"
type =
"date"
placeholder =
"开始时间"
:disabled=
"isUpdate"
></el-date-picker>
<span>
-
</span>
<el-date-picker
v-model=
"formdata.validEndTimeStr"
type =
"date"
placeholder =
"结束时间"
:disabled=
"isUpdate"
></el-date-picker>
</div>
<div
style=
"display:inline-block"
v-show=
"formdata.valid_type_name=='相对时效'"
>
<span>
领取后
</span>
<el-input
v-model=
"formdata.valid_days"
placeholder=
"请输入金额"
style=
"width:100px"
:disabled=
"isUpdate"
></el-input>
<span>
天有效
</span>
</div>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col
:span=
"12"
>
<el-form-item
label=
"是否可转赠"
prop=
"name"
>
<el-form-item
label=
"是否可转赠"
>
<el-radio-group
v-model=
"formdata.cangive"
size=
"medium"
>
<el-radio-button
label=
"是"
disabled=
""
></el-radio-button>
<el-radio-button
label=
"否"
></el-radio-button>
</el-radio-group>
</el-form-item>
</el-col>
<el-col
:span=
"12"
>
<el-form-item
label=
"跳转链接"
>
<el-input
v-model=
"formdata.
title
"
placeholder=
"请输入跳转链接"
></el-input>
<el-input
v-model=
"formdata.
url
"
placeholder=
"请输入跳转链接"
></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-form-item
label=
"
图标
"
:style=
"{display:'block'}"
>
<el-form-item
label=
"
优惠券图片
"
:style=
"{display:'block'}"
>
<el-upload
class=
"upload-demo"
:headers=
"getHeaderWithToken"
...
...
@@ -142,11 +163,9 @@
:show-file-list=
"false"
:on-success=
"handleAvatarSuccess"
list-type=
"picture"
>
<!--<img v-if="$utils.isString(add.icon) && !$utils.isEmpty(add.icon)" :src="add.icon"
style="width:300px;max-height:300px;">-->
<!--<i v-else class="el-icon-plus avatar-uploader-icon"
style="lineHeight:100px;width:300px;height: 100px;border: 1px dashed #ccc;"></i>-->
<i
class=
"el-icon-plus avatar-uploader-icon"
<img
v-if=
"$utils.isString(formdata.icon) && !$utils.isEmpty(formdata.icon)"
:src=
"formdata.icon"
style=
"width:300px;max-height: 100px;"
>
<i
v-else
class=
"el-icon-plus avatar-uploader-icon"
style=
"lineHeight:100px;width:300px;height: 100px;border: 1px dashed #ccc;"
></i>
</el-upload>
</el-form-item>
...
...
@@ -155,9 +174,10 @@
<hr
style=
"background-color:#e5e5e5;height:1px;border:none;margin:10px 0"
>
<el-row>
<el-col
:span=
"12"
>
<el-form-item
label=
"优惠券类别"
prop=
"name"
>
<el-select
class=
"filter-item"
v-model=
"formdata.endDate"
placeholder=
"请选择"
>
<el-option
v-for=
"(item,index) in cunponType "
:key=
"item.id"
:label=
"item.val"
<el-form-item
label=
"优惠券类别"
>
<el-select
class=
"filter-item"
v-model=
"formdata.used"
placeholder=
"请选择"
:disabled=
"isUpdate"
>
<el-option
:label=
"formdata.usedName"
:value=
"formdata.used"
></el-option>
<el-option
v-for=
"(item,index) in usedType "
:key=
"index"
:label=
"item.val"
:value=
"item.id"
></el-option>
</el-select>
</el-form-item>
...
...
@@ -165,9 +185,10 @@
</el-row>
<el-row>
<el-col
:span=
"24"
>
<el-form-item
label=
"适用范围"
prop=
"name"
>
<el-select
class=
"filter-item"
v-model=
"formdata.endDate"
placeholder=
"请选择"
>
<el-option
v-for=
"(item,index) in cunponType "
:key=
"item.id"
:label=
"item.val"
<el-form-item
label=
"适用范围"
>
<el-select
class=
"filter-item"
v-model=
"formdata.channel"
placeholder=
"请选择"
:disabled=
"isUpdate"
>
<el-option
:label=
"formdata.channelName"
:value=
"formdata.channel"
></el-option>
<el-option
v-for=
"(item,index) in channelType "
:key=
"index"
:label=
"item.val"
:value=
"item.id"
></el-option>
</el-select>
</el-form-item>
...
...
@@ -175,51 +196,56 @@
</el-row>
<el-row>
<el-col
:span=
"24"
>
<el-form-item
label=
"开始发放时间"
prop=
"name"
>
<el-select
class=
"filter-item"
v-model=
"formdata.endDate"
placeholder=
"请选择"
>
<el-option
v-for=
"(item,index) in cunponType "
:key=
"item.id"
:label=
"item.val"
:value=
"item.id"
></el-option>
</el-select>
<el-form-item
label=
"开始发放时间"
>
<el-radio-group
v-model=
"formdata.startTimeName"
size=
"medium"
>
<el-radio-button
label=
"不限"
></el-radio-button>
<el-radio-button
label=
"自定义"
></el-radio-button>
</el-radio-group>
<div
style=
"display:inline-block"
v-show=
"formdata.startTimeName=='自定义'"
>
<el-date-picker
v-model=
"formdata.startTimeStr"
type =
"date"
placeholder =
"开始发放时间"
:picker-options=
"pickerOptionsStart"
></el-date-picker>
</div>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col
:span=
"24"
>
<el-form-item
label=
"结束发放时间"
prop=
"name"
>
<el-select
class=
"filter-item"
v-model=
"formdata.endDate"
placeholder=
"请选择"
>
<el-option
v-for=
"(item,index) in cunponType "
:key=
"item.id"
:label=
"item.val"
:value=
"item.id"
></el-option>
</el-select>
<el-form-item
label=
"结束发放时间"
>
<el-radio-group
v-model=
"formdata.endTimeName"
size=
"medium"
>
<el-radio-button
label=
"不限"
></el-radio-button>
<el-radio-button
label=
"自定义"
></el-radio-button>
</el-radio-group>
<div
style=
"display:inline-block"
v-show=
"formdata.endTimeName=='自定义'"
>
<el-date-picker
v-model=
"formdata.endTimeStr"
type =
"date"
placeholder =
"结束发放时间"
:picker-options=
"pickerOptionsEnd"
></el-date-picker>
</div>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col
:span=
"24"
>
<el-form-item
label=
"最多发放数量"
prop=
"name"
>
<el-select
class=
"filter-item"
v-model=
"formdata.endDate"
placeholder=
"请选择"
>
<el-option
v-for=
"(item,index) in cunponType "
:key=
"item.id"
:label=
"item.val"
:value=
"item.id"
></el-option>
</el-select>
<el-col
:span=
"12"
>
<el-form-item
label=
"最多发放数量"
>
<el-input
v-model=
"formdata.quota"
placeholder=
"请输入最多发放数量"
></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col
:span=
"12"
>
<el-form-item
label=
"每人限领次数"
prop=
"name"
>
<el-input
v-model=
"formdata.
title
"
placeholder=
"请输入限领次数"
></el-input>
<el-form-item
label=
"每人限领次数"
>
<el-input
v-model=
"formdata.
limit_collar
"
placeholder=
"请输入限领次数"
></el-input>
</el-form-item>
</el-col>
</el-row>
</el-form>
<div
slot=
"footer"
class=
"dialog-footer"
>
<el-button
@
click=
""
>
取消
</el-button>
<el-button
type=
"primary"
@
click=
""
>
确定
</el-button>
<el-button
@
click=
"cancelHandel"
>
取消
</el-button>
<el-button
v-if=
"modalTitle=='优惠券添加'"
type=
"primary"
@
click=
"create('form')"
>
确 定
</el-button>
<el-button
v-else
type=
"primary"
@
click=
"update('form')"
>
确 定
</el-button>
</div>
</el-dialog>
</div>
</template>
<
script
>
import
'static/css/uploadImg.css'
;
// 引入图片上传组件对话框
import
{
formatDate
}
from
'utils/dateFormattor'
;
...
...
@@ -229,7 +255,8 @@
deepCopyDate
,
newEast8Date
,
convertDate2Str
,
timestamp2Date
timestamp2Date
,
getymdTimeByDay
}
from
'utils/dateUtils'
;
import
{
mapGetters
}
from
'vuex'
;
...
...
@@ -244,7 +271,7 @@
import
ElCol
from
"element-ui/packages/col/src/col"
;
export
default
{
name
:
'
discountRecord
'
,
name
:
'
cunponManagement
'
,
components
:
{
ElCol
,
ElRow
,
...
...
@@ -252,25 +279,61 @@
},
data
()
{
return
{
typeOptions
:
[
cunponType
:[
{
id
:
'1'
,
val
:
'满减卷'
},{
id
:
'2'
,
val
:
'叠加满减卷'
},{
id
:
'3'
,
val
:
'无门槛卷'
}
],
usedType
:[
{
"name"
:
'类型
'
,
"val"
:
'
'
id
:
'10
'
,
val
:
'店铺优惠卷
'
},
{
"name"
:
'未到账
'
,
"val"
:
'0
'
id
:
'11
'
,
val
:
'新人店铺卷
'
},
{
"name"
:
'已到账
'
,
"val"
:
'1
'
id
:
'20
'
,
val
:
'商品优惠券
'
},
{
id
:
'30'
,
val
:
'类目优惠券'
},
{
id
:
'60'
,
val
:
'平台优惠券'
},
{
id
:
'61'
,
val
:
'新人平台券'
}
],
cunponType
:[
{
id
:
'1'
,
val
:
'满减'
}
channelType
:[
{
id
:
'0'
,
val
:
'全平台'
},
{
id
:
'1'
,
val
:
'租车'
},
{
id
:
'2'
,
val
:
'旅游'
},
{
id
:
'3'
,
val
:
'营地'
}
],
BASE_API
:
process
.
env
.
BASE_API
,
showLoadingBody
:
false
,
...
...
@@ -281,38 +344,59 @@
page
:
1
,
limit
:
20
,
title
:
''
,
//手机号
state
:
''
,
//状态
state
:
undefined
,
//状态
},
inline
:
true
,
tableKey
:
0
,
editDialogVisible
:
false
,
formdata
:{},
modalTitle
:
''
,
isUpdate
:
false
,
rules
:{
name
:
[
{
type
:
'string'
,
required
:
true
,
message
:
'请输入消息内容'
,
trigger
:
'blur'
},
{
min
:
0
,
max
:
50
,
message
:
'长度小于50个字符'
,
trigger
:
'blur'
}
],
title
:
{
type
:
'string'
,
required
:
true
,
message
:
'请输入标题'
,
trigger
:
'blur'
},
},
list
:[
{
"id"
:
'1'
,
"title"
:
"123"
,
"get"
:
'1'
,
"used"
:
'1'
,
"time"
:
'2018-01-01'
,
"visible2"
:
false
id
:
'1'
,
title
:
"123"
,
get
:
'1'
,
used
:
'10'
,
time
:
'2018-01-01'
,
visible2
:
false
,
cover
:
""
,
user_type_name
:
"普通用户"
,
type
:
1
,
channel
:
0
,
startTimeStr
:
''
,
endTimeStr
:
''
}
]
],
pickerOptionsStart
:
{
disabledDate
(
time
)
{
return
time
.
getTime
()
<
Date
.
now
()
-
8.64e7
;
}
},
// pickerOptionsStart: {
// disabledDate: time => {
// const endDateVal = new Date(this.formdata.endTimeStr).getTime()
// if (endDateVal) {
// return time.getTime() > endDateVal - 0
// }
// }
// },
pickerOptionsEnd
:
{
disabledDate
:
time
=>
{
const
beginDateVal
=
new
Date
(
this
.
formdata
.
startTimeStr
).
getTime
()
if
(
beginDateVal
)
{
return
time
.
getTime
()
<
beginDateVal
-
0
}
}
}
}
},
created
()
{
...
...
@@ -321,7 +405,10 @@
computed
:
{
...
mapGetters
([
'elements'
])
]),
getHeaderWithToken
()
{
return
{
Authorization
:
getToken
()};
},
},
methods
:
{
/**
...
...
@@ -366,17 +453,222 @@
},
handleUpdate
(
item
){
var
that
=
this
;
that
.
modalTitle
=
'优惠券编辑'
;
that
.
isUpdate
=
true
;
that
.
cleanForm
();
item
.
user_type_name
=
item
.
userType
==
0
?
'普通用户'
:
'会员用户'
;
item
.
valid_type_name
=
item
.
validType
==
1
?
'绝对时效'
:
'相对时效'
;
if
(
item
.
validStartTime
!=
''
){
item
.
validStartTimeStr
=
getymdTimeByDay
(
item
.
validStartTime
);
}
else
{
item
.
validStartTimeStr
=
''
;
}
if
(
item
.
validEndTime
!=
''
){
item
.
validEndTimeStr
=
getymdTimeByDay
(
item
.
validEndTime
);
}
else
{
item
.
validEndTimeStr
=
''
;
}
if
(
item
.
startTime
>
0
){
item
.
startTimeStr
=
getymdTimeByDay
(
item
.
startTime
);
}
else
{
item
.
startTimeStr
=
''
;
}
if
(
item
.
endTime
>
0
){
item
.
endTimeStr
=
getymdTimeByDay
(
item
.
endTime
);
}
else
{
item
.
endTimeStr
=
''
;
}
if
(
item
.
type
==
1
){
item
.
typeName
=
'满减券'
}
else
if
(
item
.
type
==
3
){
item
.
typeName
=
'无门槛券'
}
if
(
item
.
used
==
10
){
item
.
usedName
=
'店铺优惠券'
}
else
if
(
item
.
used
==
11
){
item
.
usedName
=
'新人店铺券'
}
else
if
(
item
.
used
==
20
){
item
.
usedName
=
'商品优惠券'
}
else
if
(
item
.
used
==
30
){
item
.
usedName
=
'类目优惠券'
}
else
if
(
item
.
used
==
60
){
item
.
usedName
=
'平台优惠券'
}
else
if
(
item
.
used
==
61
){
item
.
usedName
=
'新人平台券'
}
if
(
item
.
channel
==
0
){
item
.
channelName
=
'全平台'
}
else
if
(
item
.
channel
==
1
){
item
.
channelName
=
'租车'
}
else
if
(
item
.
channel
==
2
){
item
.
channelName
=
'旅游'
}
else
if
(
item
.
channel
==
3
){
item
.
channelName
=
'营地'
}
item
.
startTimeName
=
item
.
startTime
==
0
?
'不限'
:
'自定义'
;
item
.
endTimeName
=
item
.
endTime
==
0
?
'不限'
:
'自定义'
;
item
.
cangive
=
'否'
;
that
.
formdata
=
item
;
console
.
log
(
that
.
formdata
)
that
.
editDialogVisible
=
true
;
console
.
log
(
item
)
that
.
formdata
=
item
},
addCunpon
(){
var
that
=
this
;
that
.
modalTitle
=
'优惠券添加'
;
that
.
isUpdate
=
false
;
that
.
cleanForm
();
console
.
log
(
that
.
formdata
)
that
.
editDialogVisible
=
true
;
},
deleteHandler
(
item
){
item
.
visible2
=
false
},
/**
* 创建
* */
create
(
formName
)
{
var
that
=
this
;
const
set
=
this
.
$refs
;
set
[
formName
].
validate
(
valid
=>
{
if
(
valid
)
{
if
(
that
.
formdata
.
validStartTimeStr
!=
''
){
that
.
formdata
.
validStartTime
=
this
.
formdata
.
validStartTimeStr
.
getTime
();
}
else
{
that
.
formdata
.
validStartTime
=
''
}
if
(
that
.
formdata
.
validEndTimeStr
!=
''
){
that
.
formdata
.
validEndTime
=
this
.
formdata
.
validEndTimeStr
.
getTime
();
}
else
{
that
.
formdata
.
validEndTime
=
''
}
if
(
that
.
formdata
.
startTimeStr
!=
''
){
that
.
formdata
.
startTime
=
this
.
formdata
.
startTimeStr
.
getTime
();
}
else
{
that
.
formdata
.
startTime
=
0
}
if
(
that
.
formdata
.
endTimeStr
!=
''
){
that
.
formdata
.
endTime
=
this
.
formdata
.
endTimeStr
.
getTime
();
}
else
{
that
.
formdata
.
endTime
=
0
}
that
.
formdata
.
userType
=
that
.
formdata
.
user_type_name
==
'普通用户'
?
0
:
1
console
.
log
(
that
.
formdata
)
// addBanner(this.form)
// .then(response => {
// if (response.status === 200) {
// this.bannerDialogVisible = false;
// this.getList();
// this.$notify({
// title: '成功',
// message: '创建成功',
// type: 'success',
// duration: 2000
// });
// this.getList();
// } else {
// this.$notify({
// title: '失败',
// message: rsCode.msg[response.code] ? rsCode.msg[response.code] : '操作失败!',
// type: 'error',
// duration: 2000
// });
// }
// });
}
else
{
return
false
;
}
});
},
/**
* 编辑-更新
* */
update
(
formName
)
{
const
set
=
this
.
$refs
;
// set[formName].validate(valid => {
// if (valid) {
// editBanner(this.form).then(response => {
// if (response.status === 200) {
// this.bannerDialogVisible = false;
// this.getList();
// this.$notify({
// title: '成功',
// message: '编辑成功',
// type: 'success',
// duration: 2000
// });
// this.getList();
// } else {
// this.$notify({
// title: '失败',
// message: rsCode.msg[response.code] ? rsCode.msg[response.code] : '操作失败!',
// type: 'error',
// duration: 2000
// });
// }
// });
// } else {
// return false;
// }
// });
},
/**
* 上传图片
* @param file
* @returns {boolean}
*/
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
;
},
handleAvatarSuccess
(
res
,
file
)
{
this
.
formdata
.
icon
=
res
.
data
;
this
.
showLoadingBody
=
false
;
},
/**
* 弹框-取消
* */
cancelHandel
(){
this
.
cleanForm
();
this
.
editDialogVisible
=
false
;
},
/**
* 清空表单
* */
cleanForm
()
{
this
.
formdata
=
{
title
:
''
,
user_type_name
:
"普通用户"
,
type
:
''
,
valid_type_name
:
'绝对时效'
,
startTime
:
''
,
endTime
:
''
,
cangive
:
'否'
,
url
:
''
,
icon
:
''
,
used
:
''
,
channel
:
''
,
startTimeName
:
'不限'
,
endTimeName
:
'不限'
,
validStartTimeStr
:
''
,
validEndTimeStr
:
''
,
startTimeStr
:
''
,
endTimeStr
:
''
,
}
},
}
}
</
script
>
...
...
src/views/purseManage/discountRecord.vue
View file @
cde4c848
...
...
@@ -4,59 +4,59 @@
<div
class=
"filter-container"
ref=
"filter-container"
>
<el-form
ref=
"queryForm"
:inline=
"inline"
:model=
"listQuery"
label-width=
"100px"
>
<el-row>
<el-col
:span=
"
8
"
>
<el-col
:span=
"
6
"
>
<el-form-item
label=
"姓名"
>
<el-input
v-model
.
number=
"listQuery.username"
placeholder=
"请输入姓名"
></el-input>
</el-form-item>
</el-col>
<el-col
:span=
"
8
"
>
<el-col
:span=
"
6
"
>
<el-form-item
label=
"手机号"
>
<el-input
v-model
.
number=
"listQuery.phone"
placeholder=
"请输入手机号"
></el-input>
</el-form-item>
</el-col>
<el-col
:span=
"
8
"
>
<el-col
:span=
"
6
"
>
<el-form-item
label=
"状态"
prop=
"type"
>
<el-select
class=
"filter-item"
v-model=
"listQuery.state"
placeholder=
"请输入状态"
>
<el-option
v-for=
"(item,index) in typeOptions"
:key=
"index"
:label=
"item.name"
:value=
"item.val"
>
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-button
class=
"filter-item"
type=
"primary"
v-waves
icon=
"search"
@
click=
"handleFilter"
>
搜索
</el-button>
</el-row>
</el-form>
<el-button
class=
"filter-item"
type=
"primary"
v-waves
icon=
"search"
@
click=
"handleFilter"
>
搜索
</el-button>
</div>
<el-table
:key=
'tableKey'
:data=
"list"
border
fit
highlight-current-row
style=
"width: 100%;"
>
<el-table-column
type=
"index"
width=
"150"
align=
"center"
label=
"姓名
"
>
<el-table-column
type=
"index"
align=
"center"
label=
"姓名"
width=
"200
"
>
<template
scope=
"scope"
>
<span>
{{
scope
.
row
.
username
}}
</span>
</
template
>
</el-table-column>
<el-table-column
width=
"200"
align=
"center"
label=
"手机号"
>
<el-table-column
align=
"center"
label=
"手机号"
>
<
template
scope=
"scope"
>
<span>
{{
scope
.
row
.
phone
}}
</span>
</
template
>
</el-table-column>
<el-table-column
width=
"200"
align=
"center"
label=
"金额"
>
<el-table-column
align=
"center"
label=
"金额"
>
<
template
scope=
"scope"
>
<span>
{{
scope
.
row
.
amount
}}
</span>
</
template
>
</el-table-column>
<el-table-column
width=
"200"
align=
"center"
label=
"状态"
>
<el-table-column
align=
"center"
label=
"状态"
>
<
template
scope=
"scope"
>
<span
v-if=
"scope.row.stauts==0"
>
未到帐
</span>
<span
v-if=
"scope.row.stauts==1"
>
已到账
</span>
</
template
>
</el-table-column>
<el-table-column
width=
"200"
align=
"center"
label=
"申请时间"
>
<el-table-column
align=
"center"
label=
"申请时间"
>
<
template
scope=
"scope"
>
<span>
{{
scope
.
row
.
crtTimeStr
}}
</span>
</
template
>
</el-table-column>
<el-table-column
width=
"200"
align=
"center"
label=
"到账时间"
>
<el-table-column
align=
"center"
label=
"到账时间"
>
<
template
scope=
"scope"
>
<span>
{{
scope
.
row
.
finishTimeStr
}}
</span>
</
template
>
...
...
src/views/purseManage/gainRecord.vue
View file @
cde4c848
...
...
@@ -4,26 +4,26 @@
<div
class=
"filter-container"
ref=
"filter-container"
>
<el-form
ref=
"queryForm"
:inline=
"inline"
:model=
"listQuery"
label-width=
"100px"
>
<el-row>
<el-col
:span=
"
8
"
>
<el-col
:span=
"
6
"
>
<el-form-item
label=
"姓名"
>
<el-input
v-model
.
number=
"listQuery.username"
placeholder=
"请输入姓名"
></el-input>
</el-form-item>
</el-col>
<el-col
:span=
"
8
"
>
<el-col
:span=
"
6
"
>
<el-form-item
label=
"手机号"
>
<el-input
v-model
.
number=
"listQuery.phone"
placeholder=
"请输入手机号"
></el-input>
</el-form-item>
</el-col>
<el-col
:span=
"
8
"
>
<el-col
:span=
"
6
"
>
<el-form-item
label=
"流水类型"
prop=
"type"
>
<el-select
class=
"filter-item"
v-model=
"listQuery.source"
placeholder=
"请输入资源类型"
>
<el-option
v-for=
"(item, index) in typeOptions"
:key=
"index"
:label=
"item.name"
:value=
"item.val"
>
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-button
class=
"filter-item"
type=
"primary"
v-waves
icon=
"search"
@
click=
"handleFilter"
>
搜索
</el-button>
</el-row>
</el-form>
<el-button
class=
"filter-item"
type=
"primary"
v-waves
icon=
"search"
@
click=
"handleFilter"
>
搜索
</el-button>
</div>
<el-table
:key=
'tableKey'
:data=
"list"
border
fit
highlight-current-row
style=
"width: 100%;"
>
...
...
@@ -38,7 +38,7 @@
</
template
>
</el-table-column>
<el-table-column
width=
"
15
0"
align=
"center"
label=
"姓名"
>
<el-table-column
width=
"
20
0"
align=
"center"
label=
"姓名"
>
<
template
scope=
"scope"
>
<span>
{{
scope
.
row
.
username
}}
</span>
</
template
>
...
...
@@ -61,12 +61,12 @@
<span>
{{
scope
.
row
.
cono
}}
</span>
</
template
>
</el-table-column>
<el-table-column
width=
"
1
00"
align=
"center"
label=
"订单金额"
>
<el-table-column
width=
"
2
00"
align=
"center"
label=
"订单金额"
>
<
template
scope=
"scope"
>
<span>
{{
scope
.
row
.
price
}}
</span>
</
template
>
</el-table-column>
<el-table-column
width=
"
1
00"
align=
"center"
label=
"提成比例"
>
<el-table-column
width=
"
2
00"
align=
"center"
label=
"提成比例"
>
<
template
scope=
"scope"
>
<span>
{{
scope
.
row
.
extract
}}
%
</span>
</
template
>
...
...
src/views/purseManage/incomeOverview.vue
View file @
cde4c848
...
...
@@ -14,19 +14,19 @@
<el-input
v-model
.
number=
"listQuery.phone"
placeholder=
"请输入手机号"
></el-input>
</el-form-item>
</el-col>
</el-row>
<el-button
class=
"filter-item"
type=
"primary"
v-waves
icon=
"search"
@
click=
"handleFilter"
>
搜索
</el-button>
</el-row>
</el-form>
<el-button
class=
"filter-item"
type=
"primary"
v-waves
icon=
"search"
@
click=
"handleFilter"
>
搜索
</el-button>
</div>
<el-table
:key=
'tableKey'
:data=
"list"
border
fit
highlight-current-row
style=
"width: 100%;"
>
<el-table-column
width=
"
1
50"
align=
"center"
label=
"姓名"
type=
"index"
>
<el-table-column
width=
"
2
50"
align=
"center"
label=
"姓名"
type=
"index"
>
<template
scope=
"scope"
>
<span>
{{
scope
.
row
.
username
}}
</span>
</
template
>
</el-table-column>
<el-table-column
width=
"2
0
0"
align=
"center"
label=
"手机号"
>
<el-table-column
width=
"2
5
0"
align=
"center"
label=
"手机号"
>
<
template
scope=
"scope"
>
<span>
{{
scope
.
row
.
phone
}}
</span>
</
template
>
...
...
src/views/vehicle/vehicleSchedulManage/index.vue
0 → 100644
View file @
cde4c848
<
template
>
<div
class=
"app-container calendar-list-container"
v-loading
.
body=
"showLoadingBody"
>
<div
>
<div
class=
"filter-container"
ref=
"filter-container"
>
<el-form
ref=
"queryForm"
:inline=
"inline"
:model=
"listQuery"
label-width=
"100px"
>
<el-row>
<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-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=
"所属地区"
prop=
"zoneId"
>
<el-select
class=
"filter-item"
v-model=
"listQuery.zoneId"
placeholder=
"请选择"
@
change=
"getProvinceRegions"
>
<el-option
:key=
"undefined"
label=
"无"
:value=
"undefined"
></el-option>
<el-option
v-for=
"val in getAllZoneList"
:key=
"val.id"
:label=
"val.name"
:value=
"val.id"
>
</el-option>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col
:span=
"8"
>
<el-form-item
label=
"所属分公司"
prop=
"subordinateBranch"
>
<el-select
class=
"filter-item"
v-model=
"listQuery.subordinateBranch"
placeholder=
"请选择"
@
change=
"getAllBranchCompanyChange"
>
<el-option
:key=
"undefined"
label=
"无"
:value=
"undefined"
></el-option>
<el-option
v-for=
"val in allBranchCompany"
:key=
"val.id"
:label=
"val.name"
:value=
"val.id"
>
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col
:span=
"8"
>
<el-form-item
label=
"时间"
>
<el-date-picker
v-model=
"listQuery.startTime"
type=
"date"
:editable=
"true"
format=
"yyyy-MM-dd"
placeholder=
"选择日期"
></el-date-picker>
~
<el-date-picker
v-model=
"listQuery.endTime"
type=
"date"
:editable=
"true"
format=
"yyyy-MM-dd"
placeholder=
"选择日期"
></el-date-picker>
</el-form-item>
</el-col>
<el-col
:span=
"6"
>
<el-form-item
label=
"当前停放公司"
prop=
"parkBranchCompanyId"
>
<el-autocomplete
class=
"inline-input"
v-model=
"listQuery.parkBranchCompanyName"
:fetch-suggestions=
"querySearch"
placeholder=
"请输入内容"
@
select=
"handleSelectPark"
></el-autocomplete>
</el-form-item>
</el-col>
</el-row>
</el-form>
<el-button
class=
"filter-item"
type=
"primary"
v-waves
icon=
"search"
@
click=
"handleFilter"
>
搜索
</el-button>
</div>
<el-form
label-width=
"100px"
v-if=
"countTJ"
>
<el-row
:gutter=
"20"
>
<el-col
:span=
"2"
><el-form-item
label=
"车辆概况"
></el-form-item></el-col>
<el-col
:span=
"5"
v-for=
"(item, index) in countTJ"
:key=
"item.id"
>
<div
class=
"grid-content bg-purple"
v-if=
"item.travelStatus == 0 || item.travelStatus == 1 || item.travelStatus == 4 || item.travelStatus == 2"
>
<div
class=
"text"
style=
"color: #171413;"
>
{{
item
.
total
}}
</div>
<div
class=
"text"
v-if=
"item.travelStatus == 0"
>
车辆总额(辆)
</div>
<div
class=
"text"
v-if=
"item.travelStatus == 4"
>
出行中车辆(辆)
</div>
<div
class=
"text"
v-if=
"item.travelStatus == 1"
>
空闲车辆(辆)
</div>
<div
class=
"text"
v-if=
"item.travelStatus == 2"
>
维修中车辆(辆)
</div>
</div>
</el-col>
</el-row>
</el-form>
<!--车辆预警-->
<div
class=
"marquee_box"
v-if=
"marqueeList.length>0"
@
mouseenter=
"handelOver"
@
mouseleave=
"handelOut"
>
<ul
class=
"marquee_list"
:class=
"
{marquee_top:animate}">
<li
v-for=
"(item,index) in marqueeList"
@
click=
"toVehicleWarningMsg"
>
{{
item
.
msg
}}
>>立即处理
</li>
</ul>
</div>
<!--车辆排班-->
<div
style=
"display: flex;"
>
<span
class=
"tip-co bg-1"
></span><span>
租房车
</span>
<span
class=
"tip-co bg-2"
></span><span>
房车游
</span>
<span
class=
"tip-co bg-3"
></span><span>
展览
</span>
<span
class=
"tip-co bg-4"
></span><span>
保养
</span>
<span
class=
"tip-co bg-5"
></span><span>
预约中
</span>
<span
class=
"tip-co bg-6"
></span><span>
禁用
</span>
</div>
<div
style=
"position: relative;padding: 10px;padding-left: 0;"
v-if=
"currentMonth"
>
<div
style=
"display: flex;"
>
<div
class=
"day-title"
style=
"min-width: 200px;max-width:200px;background: #eef1f6;"
>
日期(
{{
currentMonth
}}
~
{{
currentMonth
+
1
}}
月)
</div>
<div
class=
"day-title"
style=
"background: #eef1f6;"
v-for=
"item in tempDayList"
:key=
"item.day"
><span>
{{
item
.
day
}}
</span></div>
</div>
<div
v-for=
"item in list"
:key=
"item.id"
style=
"display: flex;"
>
<div
class=
"v-list"
style=
"display: inline-block;"
>
<div
style=
"color: #bfcbd9;font-size: 14px;"
>
现在位置:
{{
item
.
endCompanyName
}}
</div>
<div>
{{
item
.
numberPlate
}}
</div>
<div
style=
"color: #bfcbd9;font-size: 14px;"
>
{{
item
.
vehicleModel
?
item
.
vehicleModel
.
name
:
''
}}
</div>
</div>
<div
class=
"day-title flex-jca-fdc"
style=
"padding: 0;"
v-for=
"iitem in item.temp"
:key=
"iitem.day"
>
<!--@click="ii.bg?toShowDialog(item, iitem, ii):''"-->
<div
v-for=
"ii in iitem.children"
:key=
"ii.time"
class=
"ii-day"
:class=
"ii.bg"
@
click=
"toShowDialog(item, iitem, ii)"
>
</div>
</div>
</div>
</div>
<div
v-show=
"!listLoading"
class=
"pagination-container"
>
<el-pagination
@
size-change=
"handleSizeChange"
@
current-change=
"handleCurrentChange"
:current-page
.
sync=
"listQuery.page"
:page-sizes=
"[10,20,30, 50]"
:page-size=
"listQuery.limit"
layout=
"total, sizes, prev, pager, next, jumper"
:total=
"total"
></el-pagination>
</div>
</div>
<!--保养弹框-->
<vehicleMaintenanceModal
v-if=
"baoyang"
:currentItem=
"currentItem"
v-on:baoyangDialogEvent =
"baoyangDialogEvent"
></vehicleMaintenanceModal>
<!--展览、预定用车弹框-->
<vehicleExhibitionModal
v-if=
"zhanlan"
:currentItem=
"currentItem"
v-on:zhanlanDialogEvent =
"zhanlanDialogEvent"
></vehicleExhibitionModal>
<!--安排用车弹框-->
<vehiclePlanModal
v-if=
"anpai"
:currentItem=
"currentItem"
v-on:anpaiDialogEvent =
"anpaiDialogEvent"
></vehiclePlanModal>
</div>
</
template
>
<
style
>
.flex-jca-fdc
{
display
:
flex
!important
;
flex-direction
:
column
;
justify-content
:
space-around
;
}
.tip-co
{
padding
:
10px
;
margin-right
:
10px
;
margin-left
:
20px
;
}
.tip-co
:first-child
{
margin-left
:
0
;
}
.bg-1
{
background
:
#20a0ff
;
}
.bg-2
{
background
:
#6633cc
;
}
.bg-3
{
background
:
#00cc66
;
}
.bg-4
{
background
:
#ff6633
;
}
.bg-5
{
background
:
#cff1f6
;
}
.bg-6
{
background
:
#d7d7d7
;
}
.ii-day
{
height
:
4.16%
;
}
.day-title
{
border-right
:
1px
solid
#bfcbd9
;
border-bottom
:
1px
solid
#bfcbd9
;
padding
:
10px
;
min-width
:
45px
;
max-width
:
45px
;
display
:
inline-block
;
}
.v-list
{
padding
:
10px
;
min-width
:
200px
;
max-width
:
200px
;
border-bottom
:
1px
solid
#bfcbd9
;
border-right
:
1px
solid
#bfcbd9
;
}
.zzui-broadcast-window
{
height
:
180px
!important
;
background
:
#ccc
;
}
.el-row
{
margin-bottom
:
20px
;
&:last-child
{
margin-bottom
:
0
;
}
}
.el-col
{
border-radius
:
4px
;
}
.bg-purple-dark
{
background
:
#99a9bf
;
}
.bg-purple
{
background
:
#eef1f6
;
}
.bg-purple-light
{
background
:
#e5e9f2
;
}
.grid-content
{
border-radius
:
4px
;
min-height
:
36px
;
}
.grid-content
.text
{
text-align
:
center
;
line-height
:
35px
;
}
.row-bg
{
padding
:
10px
0
;
background-color
:
#f9fafc
;
}
.marquee
{
width
:
100%
;
height
:
50px
;
align-items
:
center
;
color
:
#3a3a3a
;
background-color
:
white
;
display
:
flex
;
box-sizing
:
border-box
;
overflow
:
hidden
;
}
.marquee_title
{
padding
:
0
20px
;
height
:
21px
;
font-size
:
14px
;
border-right
:
1px
solid
#d8d8d8
;
align-items
:
center
;
}
.marquee_box
{
display
:
block
;
position
:
relative
;
width
:
100%
;
height
:
145px
;
overflow
:
hidden
;
margin-bottom
:
10px
;
background
:
#eef1f6
;
}
.marquee_list
{
display
:
block
;
position
:
absolute
;
top
:
0
;
left
:
0
;
}
.marquee_top
{
transition
:
all
0.5s
;
}
.marquee_list
li
{
height
:
30px
;
line-height
:
30px
;
font-size
:
14px
;
padding-left
:
20px
;
}
.marquee_list
li
span
{
padding
:
0
2px
;
}
</
style
>
<
script
>
import
'static/css/uploadImg.css'
;
// 引入图片上传组件对话框
import
vehicleMaintenanceModal
from
'./vehicleMaintenanceModal'
;
//车辆保养弹框
import
vehicleExhibitionModal
from
'./vehicleExhibitionModal'
;
//车辆展览弹框
import
vehiclePlanModal
from
'./vehiclePlanModal'
;
//安排用车
import
{
getSysRegionByIds
}
from
'api/vehicle/vehicleInfo/'
;
import
{
getAllZone
}
from
'api/base_info/constant/'
;
import
{
getAllCompany
,
getAll
}
from
'api/base_info/branch_company/'
;
import
{
getAllBranchCompanyByZoneId
}
from
'api/order/rentVehicle'
;
import
{
formatDate
}
from
'utils/dateFormattor'
;
import
{
toEast8Date
,
deepCopyDate
,
newEast8Date
,
convertDate2Str
,
timestamp2Date
,
getTimeByDay
,
getCurrentMonth
,
getMonth
,
getymdTimeByDay
}
from
'utils/dateUtils'
;
import
rsCode
from
'../../../utils/rsCode'
;
import
{
mapGetters
}
from
'vuex'
;
import
{
getToken
}
from
'utils/auth'
;
import
{
getVehiclePlanList
}
from
'api/vehicle/vehicleSchedulManage'
;
import
Element1
from
"../../admin/menu/components/element"
;
import
ElRow
from
"element-ui/packages/row/src/row"
;
import
ElCol
from
"element-ui/packages/col/src/col"
;
export
default
{
name
:
'vehicleSchedulManage'
,
components
:
{
ElCol
,
ElRow
,
Element1
,
vehicleExhibitionModal
,
vehicleMaintenanceModal
,
vehiclePlanModal
},
data
()
{
return
{
animate
:
false
,
marqueeList
:
[],
modalTitle
:
"创建"
,
BASE_API
:
process
.
env
.
BASE_API
,
oneCampsiteDialogVisible
:
false
,
//添加、编辑弹框
showLoadingBody
:
false
,
countTJ
:
undefined
,
//车辆概况
form
:
{
tagNames
:
""
,
//标签
name
:
undefined
,
//旅游名称
saleCount
:
undefined
,
//销量
stock
:
undefined
,
//总数量
status
:
undefined
,
},
list
:
null
,
total
:
null
,
listLoading
:
true
,
listQuery
:
{
page
:
1
,
limit
:
20
,
parkBranchCompanyId
:
undefined
,
//停靠分公司id
parkBranchCompanyName
:
undefined
,
//停靠分公司名称
subordinateBranch
:
undefined
,
//所属分公司
subordinateBranchName
:
undefined
,
//所属分公司名称
zoneId
:
undefined
,
//所属片区
startTime
:
undefined
,
endTime
:
undefined
,
status
:
undefined
,
//车辆状态
},
inline
:
true
,
mar
:
null
,
//滚屏
textMap
:
{
update
:
'编辑'
,
create
:
'创建'
},
tableKey
:
0
,
tempDayList
:
[],
//日期
currentMonth
:
undefined
,
//当前月份
allBranchCompany
:
[],
//所有分公司列表
baoyang
:
false
,
//保养弹框,
zhanlan
:
false
,
//展览弹框
anpai
:
false
,
//安排用车弹框
currentItem
:
{},
//待操作数据
}
},
created
()
{
this
.
getList
();
this
.
getTempDayList
();
this
.
mar
=
setInterval
(
this
.
showMarquee
,
2000
);
getAll
()
.
then
(
response
=>
{
this
.
allCompaniesArr
=
response
.
data
;
})
getAllCompany
(
codeAndBranchCompany
=>
{
this
.
allCompanies
=
codeAndBranchCompany
;
});
},
computed
:
{
...
mapGetters
([
'elements'
,
'vehicleStatus'
]),
//获取大区列表
getAllZoneList
(){
this
.
allZoneArr
=
getAllZone
();
return
getAllZone
();
},
},
methods
:
{
/**
* 点击事件
* */
toShowDialog
(
item
,
iitem
,
ii
){
console
.
log
(
item
);
console
.
log
(
iitem
);
console
.
log
(
ii
);
if
(
!
ii
.
bg
){
//空白-可安排用车
this
.
anpai
=
true
;
this
.
currentItem
=
{
item
:
item
,
iitem
:
iitem
,
ii
:
ii
};
}
else
{
if
(
ii
.
status
==
4
){
//保养
this
.
baoyang
=
true
;
this
.
currentItem
=
{
item
:
item
,
iitem
:
iitem
,
ii
:
ii
};
}
else
if
(
ii
.
status
==
3
){
//展览
this
.
zhanlan
=
true
;
this
.
currentItem
=
{
item
:
item
,
iitem
:
iitem
,
ii
:
ii
,
title
:
"展览用车"
};
}
else
if
(
ii
.
status
==
1
){
//展览
this
.
zhanlan
=
true
;
this
.
currentItem
=
{
item
:
item
,
iitem
:
iitem
,
ii
:
ii
,
title
:
"预定用车"
};
}
}
},
/**
* 关闭保养弹框后逻辑处理
* */
baoyangDialogEvent
(
e
){
this
.
baoyang
=
false
;
if
(
e
){
//关闭编辑
//编辑成功-重新加载列表
this
.
getList
();
}
},
/**
* 关闭展览弹框后逻辑处理
* */
zhanlanDialogEvent
(
e
){
this
.
zhanlan
=
false
;
if
(
e
){
//关闭编辑
//编辑成功-重新加载列表
this
.
getList
();
}
},
/**
* 安排用车弹框关闭逻辑处理
* */
anpaiDialogEvent
(
e
){
this
.
anpai
=
false
;
if
(
e
){
//关闭编辑
//编辑成功-重新加载列表
this
.
getList
();
}
},
/**
* 根据片区id获取分公司列表
* */
getProvinceRegions
(
item
)
{
this
.
listQuery
.
zoneId
=
item
;
getAllBranchCompanyByZoneId
({
zoneId
:
item
})
.
then
(
response
=>
{
this
.
allBranchCompany
=
response
.
data
;
})
},
/**
* 选择分公司
* */
getAllBranchCompanyChange
(
item
)
{
this
.
listQuery
.
subordinateBranch
=
item
},
/**
* 鼠标移入
* */
handelOver
(){
clearInterval
(
this
.
mar
);
},
/**
* 鼠标移出
* */
handelOut
(){
this
.
mar
=
setInterval
(
this
.
showMarquee
,
2000
);
},
/**
* 立即处理
* */
toVehicleWarningMsg
(){
this
.
$router
.
push
({
path
:
'/vehicle/vehicleWarningMsg'
});
},
showMarquee
:
function
()
{
this
.
animate
=
true
;
setTimeout
(()
=>
{
this
.
marqueeList
.
push
(
this
.
marqueeList
[
0
]);
this
.
marqueeList
.
shift
();
this
.
animate
=
false
;
},
1000
);
},
getAllVehicleStatus
:
function
()
{
return
this
.
vehicleStatus
;
},
/**
* 所属分公司
* */
handleSelectSubordinate
(
item
){
if
(
item
.
value
==
"无"
){
this
.
listQuery
.
subordinateBranch
=
undefined
;
this
.
listQuery
.
subordinateBranchName
=
"无"
;
}
else
{
this
.
listQuery
.
subordinateBranch
=
item
.
id
;
this
.
listQuery
.
subordinateBranchName
=
item
.
name
;
}
},
/**
* 停靠分公司
* */
handleSelectPark
(
item
){
if
(
item
.
value
==
"无"
){
this
.
listQuery
.
parkBranchCompanyId
=
undefined
;
this
.
listQuery
.
parkBranchCompanyName
=
"无"
;
}
else
{
this
.
listQuery
.
parkBranchCompanyId
=
item
.
id
;
this
.
listQuery
.
parkBranchCompanyName
=
item
.
name
;
}
},
querySearch
(
queryString
,
cb
)
{
let
selectArry
=
[];
let
iitem
=
{
value
:
"无"
,
name
:
"无"
};
selectArry
.
push
(
iitem
);
this
.
allCompaniesArr
.
map
(
function
(
item
){
item
.
value
=
item
.
name
;
selectArry
.
push
(
item
);
});
this
.
selectArry
=
selectArry
;
var
results
=
queryString
?
selectArry
.
filter
(
this
.
createFilter
(
queryString
))
:
selectArry
;
// 调用 callback 返回建议列表的数据
cb
(
results
);
},
createFilter
(
queryString
)
{
return
(
restaurant
)
=>
{
return
(
restaurant
.
name
.
indexOf
(
queryString
.
toLowerCase
())
!=
-
1
);
};
},
/**
* 获取列表
* */
getList
()
{
let
_this
=
this
;
this
.
listLoading
=
true
;
if
(
this
.
listQuery
.
startTime
&&
(
typeof
this
.
listQuery
.
startTime
==
"object"
)){
this
.
listQuery
.
startTime
=
this
.
listQuery
.
startTime
.
getTime
();
}
if
(
this
.
listQuery
.
endTime
&&
(
typeof
this
.
listQuery
.
endTime
==
"object"
)){
this
.
listQuery
.
endTime
=
this
.
listQuery
.
endTime
.
getTime
();
}
getVehiclePlanList
(
this
.
listQuery
).
then
(
response
=>
{
let
totalCountRs
=
undefined
;
let
listRs
=
undefined
;
if
(
!
this
.
$utils
.
isEmpty
(
response
.
data
.
vehicleAndModelInfoVo
)
&&
this
.
$utils
.
isInteger
(
response
.
data
.
vehicleAndModelInfoVo
.
totalCount
))
{
listRs
=
response
.
data
.
vehicleAndModelInfoVo
.
data
;
totalCountRs
=
response
.
data
.
vehicleAndModelInfoVo
.
totalCount
;
listRs
.
map
(
function
(
item
){
item
.
visible2
=
false
;
item
.
crtTimeStr
=
timestamp2Date
(
item
.
crtTime
);
if
(
item
.
storeTypeName
){
item
.
storeTypeName
=
item
.
storeTypeName
.
join
(
"|"
);
}
item
.
temp
=
_this
.
getDayList
(
item
);
//获取车辆30天排期
});
}
if
(
!
this
.
$utils
.
isEmpty
(
response
.
data
.
vehicleWarningMsgs
))
{
this
.
marqueeList
=
response
.
data
.
vehicleWarningMsgs
;
}
this
.
listLoading
=
false
;
this
.
list
=
listRs
;
this
.
total
=
totalCountRs
;
this
.
countTJ
=
response
.
data
.
vehicleCountVos
;
})
},
handleFilter
()
{
this
.
listQuery
.
page
=
1
;
this
.
$refs
.
queryForm
.
validate
(
valid
=>
{
if
(
valid
)
{
this
.
getList
();
}
else
{
return
false
;
}
});
},
handleSizeChange
(
val
)
{
this
.
listQuery
.
limit
=
val
;
this
.
getList
();
},
handleCurrentChange
(
val
)
{
this
.
listQuery
.
page
=
val
;
this
.
getList
();
},
/**
* 获取日期数组
* */
getDayList
(
item
){
let
temp
=
[];
let
list
=
this
.
list
;
let
currentMonth
=
getCurrentMonth
();
this
.
currentMonth
=
parseInt
(
currentMonth
);
// console.log(currentMonth);
for
(
let
i
=
0
;
i
<
30
;
i
++
){
let
t
=
[];
let
tymd
=
getymdTimeByDay
(
i
);
let
children
=
[];
let
tt
=
""
;
//yyyy-MM-dd hh:mm:ss
let
h
=
""
;
let
bg
=
""
;
//背景色
let
status
=
undefined
;
//当前车辆状态
let
vehicleBookRecord
=
{};
//车辆排班信息
for
(
let
ii
=
0
;
ii
<
24
;
ii
++
)
{
if
(
ii
<
10
)
{
h
=
"0"
+
ii
;
tt
=
tymd
+
" 0"
+
ii
+
":00:00"
;
}
else
{
tt
=
tymd
+
" "
+
ii
+
":00:00"
;
h
=
ii
;
}
item
.
vehicleBookRecord
.
map
(
function
(
iitem
)
{
if
(
iitem
.
bookStartDate
<=
tt
&&
iitem
.
bookEndDate
>
tt
)
{
bg
=
"bg-"
+
iitem
.
status
;
status
=
iitem
.
status
;
vehicleBookRecord
=
iitem
;
}
});
children
.
push
({
time
:
tt
,
h
:
h
,
bg
:
bg
,
status
:
status
,
vehicleBookRecord
:
vehicleBookRecord
});
}
temp
.
push
({
day
:
getTimeByDay
(
i
),
month
:
getMonth
(
i
),
children
:
children
});
}
// console.log(temp);
return
temp
;
},
/**
* tempDayList
**/
getTempDayList
(){
let
temp
=
[];
let
list
=
this
.
list
;
let
currentMonth
=
getCurrentMonth
();
for
(
let
i
=
0
;
i
<
30
;
i
++
){
let
t
=
[];
let
tymd
=
getymdTimeByDay
(
i
);
let
children
=
[];
let
tt
=
""
;
//yyyy-MM-dd hh:mm:ss
let
h
=
""
;
let
bg
=
""
;
for
(
let
ii
=
0
;
ii
<
24
;
ii
++
)
{
if
(
ii
<
10
)
{
h
=
"0"
+
ii
;
tt
=
tymd
+
" 0"
+
ii
+
":00:00"
;
}
else
{
tt
=
tymd
+
" "
+
ii
+
":00:00"
;
h
=
ii
;
}
children
.
push
({
time
:
tt
,
h
:
h
,
bg
:
bg
});
}
temp
.
push
({
day
:
getTimeByDay
(
i
),
month
:
getMonth
(
i
),
children
:
children
});
}
this
.
tempDayList
=
temp
;
},
}
}
</
script
>
src/views/vehicle/vehicleSchedulManage/vehicleExhibitionModal.vue
0 → 100644
View file @
cde4c848
<!--车辆排班 保养弹框-->
<
template
>
<el-dialog
:title=
"currentItem.title"
:visible
.
sync=
"zhanlan"
width=
"10%"
>
<el-form
:model=
"currentItem"
ref=
"currentItem"
label-width=
"120px"
>
<el-form-item
label=
"车牌号:"
>
<span>
{{
currentItem
.
item
.
numberPlate
}}
</span>
</el-form-item>
<el-form-item
label=
"所属公司:"
>
<span>
{{
currentItem
.
item
.
subordinateBranchName
}}
</span>
</el-form-item>
<el-form-item
label=
"申请人:"
>
<span>
{{
currentItem
.
ii
.
vehicleBookRecord
.
bookUserName
}}
</span>
</el-form-item>
<el-form-item
label=
"提车公司:"
>
<span>
{{
currentItem
.
item
.
parkCompanyName
}}
</span>
</el-form-item>
<el-form-item
label=
"还车公司:"
>
<span>
{{
currentItem
.
item
.
destinationBranchCompanyName
}}
</span>
</el-form-item>
<el-form-item
label=
"预定时间:"
>
<span>
{{
currentItem
.
ii
.
vehicleBookRecord
.
bookStartDate
}}
~
{{
currentItem
.
ii
.
vehicleBookRecord
.
bookEndDate
}}
</span>
</el-form-item>
<el-form-item
label=
"用途:"
>
<span>
{{
currentItem
.
title
==
"展览用车"
?
"展览"
:
currentItem
.
title
==
"预定用车"
?
"预定"
:
""
}}
</span>
</el-form-item>
<el-form-item
label=
"申请说明:"
>
<span></span>
</el-form-item>
</el-form>
<div
slot=
"footer"
v-if=
'currentItem.title == "展览用车"'
class=
"dialog-footer"
>
<el-button
@
click=
"cancel()"
>
取消用车
</el-button>
<el-button
type=
"primary"
@
click=
"handelOk()"
>
确 定
</el-button>
</div>
<div
slot=
"footer"
v-else
class=
"dialog-footer"
>
<el-button
type=
"primary"
@
click=
"agree()"
>
同 意
</el-button>
<el-button
@
click=
"notAgree()"
>
不同意
</el-button>
</div>
</el-dialog>
</
template
>
<
script
>
import
{
mapGetters
}
from
'vuex'
;
import
ElRow
from
"element-ui/packages/row/src/row"
;
import
ElCol
from
"element-ui/packages/col/src/col"
;
import
ElFormItem
from
"../../../../node_modules/element-ui/packages/form/src/form-item.vue"
;
export
default
{
components
:
{
ElFormItem
,
ElCol
,
ElRow
},
props
:
[
"currentItem"
],
name
:
'vehicleExhibitionModal'
,
data
()
{
return
{
zhanlan
:
false
,
}
},
created
()
{
console
.
log
(
this
.
currentItem
);
},
watch
:
{
zhanlan
(
newValue
,
oldValue
){
if
(
!
newValue
){
this
.
$emit
(
"zhanlanDialogEvent"
,
false
);
}
},
},
mounted
()
{
this
.
zhanlan
=
true
;
},
methods
:
{
/**
* 弹框-取消
* */
cancel
()
{
console
.
log
(
"展览取消用车"
);
this
.
$emit
(
"zhanlanDialogEvent"
,
true
);
},
/**
* 确定用车
* */
handelOk
(){
console
.
log
(
"展览确定用车"
);
this
.
$emit
(
"zhanlanDialogEvent"
,
true
);
},
/**
* 同意
*/
agree
(){
console
.
log
(
"同意"
);
this
.
$emit
(
"zhanlanDialogEvent"
,
true
);
},
/**
* 不同意
*/
notAgree
(){
console
.
log
(
"不同意"
);
this
.
$emit
(
"zhanlanDialogEvent"
,
true
);
},
}
}
</
script
>
src/views/vehicle/vehicleSchedulManage/vehicleMaintenanceModal.vue
0 → 100644
View file @
cde4c848
<!--车辆排班 保养弹框-->
<
template
>
<el-dialog
title=
"保养用车"
:visible
.
sync=
"baoyang"
width=
"10%"
>
<el-form
:model=
"currentItem"
ref=
"currentItem"
label-width=
"120px"
>
<el-form-item
label=
"车牌号:"
>
<span>
{{
currentItem
.
item
.
numberPlate
}}
</span>
</el-form-item>
<el-form-item
label=
"所属公司:"
>
<span>
{{
currentItem
.
item
.
subordinateBranchName
}}
</span>
</el-form-item>
<el-form-item
label=
"提车保养公司:"
>
<span>
{{
currentItem
.
item
.
parkCompanyName
}}
</span>
</el-form-item>
<el-form-item
label=
"还车公司:"
>
<span>
{{
currentItem
.
item
.
destinationBranchCompanyName
}}
</span>
</el-form-item>
<el-form-item
label=
"保养人:"
>
<span>
{{
currentItem
.
ii
.
vehicleBookRecord
.
bookUserName
}}
</span>
</el-form-item>
<el-form-item
label=
"预定时间:"
>
<span>
{{
currentItem
.
ii
.
vehicleBookRecord
.
bookStartDate
}}
~
{{
currentItem
.
ii
.
vehicleBookRecord
.
bookEndDate
}}
</span>
</el-form-item>
<el-form-item
label=
"用途:"
>
<span>
保养
</span>
</el-form-item>
<el-form-item
label=
"保养项目:"
>
<span></span>
</el-form-item>
</el-form>
<div
slot=
"footer"
class=
"dialog-footer"
>
<el-button
@
click=
"cancel()"
>
取消用车
</el-button>
<el-button
type=
"primary"
@
click=
"handelOk()"
>
确 定
</el-button>
</div>
</el-dialog>
</
template
>
<
script
>
import
{
mapGetters
}
from
'vuex'
;
import
ElRow
from
"element-ui/packages/row/src/row"
;
import
ElCol
from
"element-ui/packages/col/src/col"
;
import
ElFormItem
from
"../../../../node_modules/element-ui/packages/form/src/form-item.vue"
;
export
default
{
components
:
{
ElFormItem
,
ElCol
,
ElRow
},
props
:
[
"currentItem"
],
name
:
'vehicleMaintenanceModal'
,
data
()
{
return
{
baoyang
:
false
,
}
},
created
()
{
console
.
log
(
this
.
currentItem
);
},
watch
:
{
baoyang
(
newValue
,
oldValue
){
if
(
!
newValue
){
this
.
$emit
(
"baoyangDialogEvent"
,
false
);
}
},
},
mounted
()
{
this
.
baoyang
=
true
;
},
methods
:
{
/**
* 保养-弹框-取消
* */
cancel
()
{
console
.
log
(
"保养取消用车"
);
this
.
$emit
(
"baoyangDialogEvent"
,
true
);
},
/**
* 保养-确定用车
* */
handelOk
(){
console
.
log
(
"保养确定用车"
);
this
.
$emit
(
"baoyangDialogEvent"
,
true
);
}
}
}
</
script
>
src/views/vehicle/vehicleSchedulManage/vehiclePlanModal.vue
0 → 100644
View file @
cde4c848
<!--车辆排班 保养弹框-->
<
template
>
<el-dialog
title=
"保养用车"
:visible
.
sync=
"baoyang"
width=
"10%"
>
<el-form
:model=
"currentItem"
ref=
"currentItem"
label-width=
"120px"
>
<el-form-item
label=
"车牌号:"
>
<span>
{{
currentItem
.
item
.
numberPlate
}}
</span>
</el-form-item>
<el-form-item
label=
"所属公司:"
>
<span>
{{
currentItem
.
item
.
subordinateBranchName
}}
</span>
</el-form-item>
<el-form-item
label=
"提车保养公司:"
>
<span>
{{
currentItem
.
item
.
parkCompanyName
}}
</span>
</el-form-item>
<el-form-item
label=
"还车公司:"
>
<span>
{{
currentItem
.
item
.
destinationBranchCompanyName
}}
</span>
</el-form-item>
<el-form-item
label=
"保养人:"
>
<span>
{{
currentItem
.
ii
.
vehicleBookRecord
.
bookUserName
}}
</span>
</el-form-item>
<el-form-item
label=
"预定时间:"
>
<span>
{{
currentItem
.
ii
.
vehicleBookRecord
.
bookStartDate
}}
~
{{
currentItem
.
ii
.
vehicleBookRecord
.
bookEndDate
}}
</span>
</el-form-item>
<el-form-item
label=
"用途:"
>
<span>
保养
</span>
</el-form-item>
<el-form-item
label=
"保养项目:"
>
<span></span>
</el-form-item>
</el-form>
<div
slot=
"footer"
class=
"dialog-footer"
>
<el-button
@
click=
"cancel()"
>
取消用车
</el-button>
<el-button
type=
"primary"
@
click=
"handelOk()"
>
确 定
</el-button>
</div>
</el-dialog>
</
template
>
<
script
>
import
{
mapGetters
}
from
'vuex'
;
import
ElRow
from
"element-ui/packages/row/src/row"
;
import
ElCol
from
"element-ui/packages/col/src/col"
;
import
ElFormItem
from
"../../../../node_modules/element-ui/packages/form/src/form-item.vue"
;
export
default
{
components
:
{
ElFormItem
,
ElCol
,
ElRow
},
props
:
[
"currentItem"
],
name
:
'vehiclePlanModal'
,
data
()
{
return
{
baoyang
:
false
,
}
},
created
()
{
console
.
log
(
this
.
currentItem
);
},
watch
:
{
baoyang
(
newValue
,
oldValue
){
if
(
!
newValue
){
this
.
$emit
(
"baoyangDialogEvent"
,
false
);
}
},
},
mounted
()
{
this
.
baoyang
=
true
;
},
methods
:
{
/**
* 保养-弹框-取消
* */
cancel
()
{
console
.
log
(
"保养取消用车"
);
this
.
$emit
(
"baoyangDialogEvent"
,
true
);
},
/**
* 保养-确定用车
* */
handelOk
(){
console
.
log
(
"保养确定用车"
);
this
.
$emit
(
"baoyangDialogEvent"
,
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