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
40220e17
Commit
40220e17
authored
Nov 28, 2019
by
guoyou
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
总公司报表
parent
0524b615
Changes
9
Hide whitespace changes
Inline
Side-by-side
Showing
9 changed files
with
814 additions
and
585 deletions
+814
-585
statistics.js
src/api/statistics.js
+21
-2
index.js
src/api/vehicle/departureLog/index.js
+7
-0
index.vue
src/views/baseInfo/branchCompany/index.vue
+0
-1
conponList.vue
src/views/cunponManagements/conponList.vue
+1
-5
cunponManagement.vue
src/views/cunponManagements/cunponManagement.vue
+86
-92
memberPerformance.vue
src/views/financial/memberPerformance.vue
+154
-61
incomeOverview.vue
src/views/purseManage/incomeOverview.vue
+0
-2
index.vue
src/views/userManagement/userList/index.vue
+1
-1
index.vue
src/views/vehicle/vehicleDepartureLog/index.vue
+544
-421
No files found.
src/api/statistics.js
View file @
40220e17
import
fetch
from
'utils/fetch'
;
// 員工業績報表列表
export
function
getDate
(
query
)
{
return
fetch
({
url
:
'api/admin/staff_statistics/page'
,
...
...
@@ -8,7 +8,7 @@ export function getDate(query) {
data
:
query
});
}
// 員工業績報表導出
export
function
exports
(
query
)
{
return
fetch
({
url
:
'api/admin/staff_statistics/export'
,
...
...
@@ -17,3 +17,22 @@ export function exports(query) {
responseType
:
'blob'
});
}
// 員工業績列表
export
function
companyList
(
query
)
{
return
fetch
({
url
:
'/api/order/report/form/list'
,
method
:
'post'
,
data
:
query
});
}
// 員工業績導出
export
function
excel
(
query
)
{
return
fetch
({
url
:
'/api/order/report/form/excel'
,
method
:
'post'
,
data
:
query
,
responseType
:
'blob'
});
}
\ No newline at end of file
src/api/vehicle/departureLog/index.js
View file @
40220e17
...
...
@@ -17,3 +17,10 @@ export function statistic(param) {
})
}
export
function
findReserveType
(
param
)
{
return
fetch
({
url
:
'/departure/findReserveType '
,
method
:
'get'
,
params
:
param
})
}
src/views/baseInfo/branchCompany/index.vue
View file @
40220e17
...
...
@@ -382,7 +382,6 @@
this
.
branchCompany_btn_del
=
this
.
elements
[
'branchCompany:btn_del'
];
this
.
branchCompany_btn_add
=
this
.
elements
[
'branchCompany:btn_add'
];
this
.
compnay_stock_update
=
this
.
elements
[
'compnay:stock:update'
]
debugger
},
computed
:
{
...
mapGetters
([
...
...
src/views/cunponManagements/conponList.vue
View file @
40220e17
...
...
@@ -2,7 +2,7 @@
<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=
"
6
0px"
>
<el-form
ref=
"queryForm"
:inline=
"inline"
:model=
"listQuery"
label-width=
"
10
0px"
>
<el-row>
<el-form-item
label=
"手机号"
>
<el-input
v-model
.
number=
"listQuery.phone"
placeholder=
"请输入手机号"
></el-input>
...
...
@@ -31,10 +31,6 @@
></el-option>
</el-select>
</el-form-item>
<!--
<el-col
:span=
"4"
></el-col>
<el-col
:span=
"3"
></el-col>
<el-col
:span=
"4"
></el-col>
<el-col
:span=
"4"
></el-col>
-->
<el-button
class=
"filter-item"
type=
"primary"
v-waves
icon=
"search"
@
click=
"handleFilter"
>
搜索
</el-button>
<el-button
class=
"filter-item"
type=
"primary"
@
click=
"giveCunpon"
style=
"float: right;"
>
+ 发券
</el-button>
<!--
<el-button
class=
"filter-item"
type=
"primary"
style=
"float: right;"
>
+ 批量发券
</el-button>
-->
...
...
src/views/cunponManagements/cunponManagement.vue
View file @
40220e17
<
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=
"50px"
>
<el-row>
<el-form-item
label=
"标题"
>
<el-input
v-model
.
number=
"listQuery.title"
placeholder=
"请输入标题"
></el-input>
</el-form-item>
<el-form-item>
<el-select
class=
"filter-item"
v-model=
"listQuery.channel"
placeholder=
"类型"
>
<el-option
key
label=
"全部"
value
></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>
<el-col
:span=
"5"
></el-col>
<el-col
:span=
"5"
></el-col>
<el-button
class=
"filter-item"
type=
"primary"
v-waves
icon=
"search"
@
click=
"handleFilter"
>
搜索
</el-button>
<el-button
class=
"filter-item"
type=
"primary"
@
click=
"addCunpon"
style=
"float: right;"
>
+ 添加优惠券
</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=
"ID"
width=
"100"
>
<template
scope=
"scope"
>
<span>
{{
scope
.
row
.
id
}}
</span>
</
template
>
</el-table-column>
<el-table-column
align=
"center"
label=
"优惠券标题"
>
<
template
scope=
"scope"
>
<span>
{{
scope
.
row
.
title
}}
</span>
</
template
>
</el-table-column>
<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>
<span
v-if=
"scope.row.channel==4"
>
会员
</span>
</
template
>
</el-table-column>
<el-table-column
align=
"center"
label=
"金额"
>
<
template
scope=
"scope"
>
<span>
{{
scope
.
row
.
usedAmount
}}
</span>
</
template
>
</el-table-column>
<el-table-column
align=
"center"
label=
"已领取"
>
<
template
scope=
"scope"
>
<span>
{{
scope
.
row
.
takeCount
}}
</span>
</
template
>
</el-table-column>
<el-table-column
align=
"center"
label=
"已使用"
>
<
template
scope=
"scope"
>
<span>
{{
scope
.
row
.
usedCount
}}
</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=
"操作"
width=
"150"
fixed=
"right"
>
<
template
scope=
"scope"
>
<el-button
size=
"small"
class=
"el-button el-button--text el-button--small"
@
click=
"handleUpdate(scope.row)"
>
编辑
</el-button>
<el-button
class=
"el-button el-button--text el-button--small"
style=
"color:red;"
size=
"small"
@
click=
"deleteHandler(scope.row)"
>
删除
</el-button>
</
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
class=
"filter-container"
ref=
"filter-container"
>
<el-form
ref=
"queryForm"
:inline=
"inline"
:model=
"listQuery"
>
<el-form-item
label=
"标题"
>
<el-input
v-model
.
number=
"listQuery.title"
placeholder=
"请输入标题"
></el-input>
</el-form-item>
<el-form-item
label=
"类型"
>
<el-select
class=
"filter-item"
v-model=
"listQuery.channel"
placeholder=
"类型"
>
<el-option
key
label=
"全部"
value
></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>
<el-button
class=
"filter-item"
type=
"primary"
v-waves
icon=
"search"
@
click=
"handleFilter"
>
搜索
</el-button>
<el-button
class=
"filter-item"
type=
"primary"
@
click=
"addCunpon"
style=
"float: right;"
>
+ 添加优惠券
</el-button>
</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=
"ID"
width=
"100"
>
<template
scope=
"scope"
>
<span>
{{
scope
.
row
.
id
}}
</span>
</
template
>
</el-table-column>
<el-table-column
align=
"center"
label=
"优惠券标题"
>
<
template
scope=
"scope"
>
<span>
{{
scope
.
row
.
title
}}
</span>
</
template
>
</el-table-column>
<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>
<span
v-if=
"scope.row.channel==4"
>
会员
</span>
</
template
>
</el-table-column>
<el-table-column
align=
"center"
label=
"金额"
>
<
template
scope=
"scope"
>
<span>
{{
scope
.
row
.
usedAmount
}}
</span>
</
template
>
</el-table-column>
<el-table-column
align=
"center"
label=
"已领取"
>
<
template
scope=
"scope"
>
<span>
{{
scope
.
row
.
takeCount
}}
</span>
</
template
>
</el-table-column>
<el-table-column
align=
"center"
label=
"已使用"
>
<
template
scope=
"scope"
>
<span>
{{
scope
.
row
.
usedCount
}}
</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=
"操作"
width=
"150"
fixed=
"right"
>
<
template
scope=
"scope"
>
<el-button
size=
"small"
class=
"el-button el-button--text el-button--small"
@
click=
"handleUpdate(scope.row)"
>
编辑
</el-button>
<el-button
class=
"el-button el-button--text el-button--small"
style=
"color:red;"
size=
"small"
@
click=
"deleteHandler(scope.row)"
>
删除
</el-button>
</
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>
<!-- 优惠券编辑 -->
...
...
src/views/financial/memberPerformance.vue
View file @
40220e17
<
template
>
<div
class=
"app-container calendar-list-container"
v-loading=
"loading"
>
<el-row
style=
"border-bottom:1px dashed #ccc;padding-bottom:20px"
>
<el-row>
<el-form
:inline=
"true"
>
<el-form-item
label=
"统计类型"
style=
"width:200px"
>
<el-radio-group
v-model=
"listquery.
radio1
"
>
<el-radio-group
v-model=
"listquery.
type"
@
change=
"changeType
"
>
<el-radio-button
label=
"0"
>
收入
</el-radio-button>
<el-radio-button
label=
"1"
>
支出
</el-radio-button>
</el-radio-group>
</el-form-item>
<el-date-picker
v-model=
"time"
type=
"daterange"
placeholder=
"选择日期范围"
@
change=
"changeTime"
></el-date-picker>
<el-date-picker
v-model=
"time"
type=
"daterange"
placeholder=
"请选择下单时间"
@
change=
"changeTime"
></el-date-picker>
<el-select
v-model=
"listquery.orderType"
clearable
placeholder=
"请选择订单类型"
@
change=
"changeStaff"
>
<el-option
v-for=
"item in options"
:key=
"item.id"
:label=
"item.name"
:value=
"item.id"
></el-option>
</el-select>
<el-select
v-model=
"listquery.userPostionId"
v-show=
"listquery.type == 0"
v-model=
"listquery.companyId"
filterable
placeholder=
"请选择业绩所属公司"
clearable
placeholder=
"请选择订单类型"
@
change=
"changeStaff"
@
change=
"changeCompany"
>
<el-option
v-for=
"item in
options
"
:key=
"item.id"
:label=
"item.name"
:value=
"item.id"
></el-option>
<el-option
v-for=
"item in
allCompaniesArr
"
:key=
"item.id"
:label=
"item.name"
:value=
"item.id"
></el-option>
</el-select>
<el-select
v-model=
"listquery.paymentMethod"
clearable
placeholder=
"请选择支付方式"
@
change=
"changeWay"
v-show=
"listquery.type == 0"
>
<el-option
v-for=
"item in payArr"
:key=
"item.id"
:label=
"item.name"
:value=
"item.id"
></el-option>
</el-select>
<el-button
type=
"primary"
:loading=
"excelLoading"
@
click=
"downloadExcel"
>
导出报表
</el-button>
</el-form>
</el-row>
<div
class=
"information"
>
<div
class=
"information"
v-if=
"listquery.type == 0"
>
<h4>
数据概况
</h4>
<ul>
<ul
class=
"first"
>
<li>
<p>
{{
information
.
staffNum
}}
</p>
<p>
{{
information
.
orderSum
||
0
}}
</p>
<p>
订单总量
</p>
</li>
<li>
<p>
{{
information
.
totalRoyaltyAmount
}}
</p>
<p>
{{
information
.
totalReceivables
||
0
}}
</p>
<p>
应收金额
</p>
</li>
<li>
<p>
{{
information
.
discount
||
0
}}
</p>
<p>
优惠金额
</p>
</li>
<li>
<p>
{{
information
.
actual
||
0
}}
</p>
<p>
实收金额
</p>
</li>
</ul>
<!--
<ul
v-else
class=
"second"
>
<li>
<p>
{{
information
.
orderSum
||
0
}}
</p>
<p>
订单总量
</p>
</li>
<li>
<p>
{{
information
.
staffNum
||
0
}}
</p>
<p>
应退还金额
</p>
</li>
<li>
<p>
{{
information
.
totalRoyaltyAmount
}}
</p>
<p>
{{
information
.
staffNum
||
0
}}
</p>
<p>
实际退还
</p>
</li>
</ul>
</ul>
-->
</div>
<el-table
:data=
"tableData"
border
style=
"width: 100%"
header-align=
"center"
height=
"450"
>
<el-table-column
prop=
"name"
label=
"退款日期"
align=
"center"
></el-table-column>
<el-table-column
prop=
"companyNames"
label=
"订单ID"
align=
"center"
>
<template
scope=
"scope"
>
<p
v-for=
"(item,index) in scope.row.companyNames"
:key=
"index"
>
{{
item
}}
</p>
</
template
>
</el-table-column>
<el-table-column
prop=
"postionNames"
label=
"订单类型"
align=
"center"
>
<el-table-column
prop=
"crtTime"
label=
"下单日期"
align=
"center"
v-if=
"listquery.type == 0"
></el-table-column>
<el-table-column
prop=
"time"
label=
"退款日期"
align=
"center"
v-else
></el-table-column>
<el-table-column
prop=
"no"
label=
"订单ID"
align=
"center"
></el-table-column>
<el-table-column
prop=
"type"
label=
"订单类型"
align=
"center"
></el-table-column>
<el-table-column
prop=
"orderAmount"
label=
"应收金额"
align=
"center"
v-if=
"listquery.type == 0"
></el-table-column>
<el-table-column
prop=
"refundInstruction"
label=
"退还类型"
align=
"center"
v-else
></el-table-column>
<el-table-column
prop=
"favorablePrice"
label=
"优惠金额"
align=
"center"
v-if=
"listquery.type == 0"
></el-table-column>
<el-table-column
prop=
"refundAmount"
label=
"退还金额"
align=
"center"
v-else
></el-table-column>
<el-table-column
prop=
"realAmount"
label=
"实收金额"
align=
"center"
v-if=
"listquery.type == 0"
></el-table-column>
<el-table-column
prop=
"realname"
label=
"客户名字"
align=
"center"
></el-table-column>
<el-table-column
prop=
"username"
label=
"客户手机号"
align=
"center"
></el-table-column>
<el-table-column
label=
"邀约人/身份"
align=
"center"
v-if=
"listquery.type == 0"
>
<template
scope=
"scope"
>
<span
v-for=
"(item,index) in scope.row.postionNames"
:key=
"index"
style=
"margin-left:10px"
>
{{
item
}}
</span>
</
template
>
</el-table-column>
<el-table-column
prop=
"phone"
label=
"退还类型"
align=
"center"
></el-table-column>
<el-table-column
prop=
"sellAmount"
label=
"应退还金额"
align=
"center"
></el-table-column>
<el-table-column
prop=
"royaltyAmount"
label=
"实际退款接"
align=
"center"
></el-table-column>
<el-table-column
label=
"客户名字"
align=
"center"
>
<
template
scope=
"scope"
>
<span>
{{
scope
.
row
.
memberOrderNum
}}
/
{{
scope
.
row
.
memberAmount
}}
</span>
</
template
>
</el-table-column>
<el-table-column
label=
"客户手机号"
align=
"center"
>
<
template
scope=
"scope"
>
<span>
{{
scope
.
row
.
rentVehicleOrderNum
}}
/
{{
scope
.
row
.
rentVehicleAmount
}}
</span>
<span>
{{
scope
.
row
.
parentRealname
}}
/
{{
scope
.
row
.
positionName
}}
</span>
</
template
>
</el-table-column>
<el-table-column
prop=
"parentUsername"
label=
"邀约人手机号"
align=
"center"
v-if=
"listquery.type == 0"
></el-table-column>
<el-table-column
prop=
"companyName"
label=
"业绩所属公司"
align=
"center"
v-if=
"listquery.type == 0"
></el-table-column>
<el-table-column
prop=
"payWay"
label=
"支付方式"
align=
"center"
v-if=
"listquery.type == 0"
></el-table-column>
</el-table>
<el-pagination
...
...
@@ -85,12 +111,12 @@
</div>
</template>
<
script
>
import
{
getDate
}
from
'api/statistics'
import
{
getrewardSetting
}
from
'api/purseManage'
import
{
companyList
,
excel
}
from
'api/statistics'
import
{
getAll
}
from
'api/base_info/branch_company/'
export
default
{
created
()
{
this
.
getList
()
this
.
getCompany
()
},
data
()
{
return
{
...
...
@@ -98,33 +124,37 @@ export default {
total
:
null
,
information
:
{},
time
:
[],
allCompaniesArr
:
[],
//公司数据
tableData
:
[],
//表格数据
excelLoading
:
false
,
//导出loading
payArr
:
[
{
id
:
1
,
name
:
'微信公众号支付'
},
{
id
:
2
,
name
:
'支付宝即时支付'
},
{
id
:
3
,
name
:
'银联'
}
],
options
:
[
{
id
:
'0'
,
name
:
'首次购买'
},
{
id
:
'1'
,
name
:
'
续费
'
name
:
'
租车
'
},
{
id
:
'2'
,
name
:
'
激活
'
name
:
'
旅游
'
},
{
id
:
'3'
,
name
:
'
付费
'
name
:
'
会员
'
}
],
//身份
listquery
:
{
startDate
:
null
,
//开始日期
endDate
:
null
,
//结束日期
userPostionId
:
null
,
//身份
orderType
:
null
,
//身份
page
:
1
,
limit
:
10
,
radio1
:
0
companyId
:
null
,
//业绩所属公司
paymentMethod
:
null
,
//支付方式
type
:
0
}
}
},
...
...
@@ -137,6 +167,27 @@ export default {
this
.
listquery
.
page
=
val
this
.
getList
()
},
//获取分公司
getCompany
()
{
getAll
().
then
(
data
=>
{
this
.
allCompaniesArr
=
data
.
data
})
},
//所属公司筛选
changeCompany
()
{
this
.
listquery
.
page
=
1
this
.
getList
()
},
//统计类型筛选
changeType
()
{
this
.
listquery
.
page
=
1
this
.
getList
()
},
//支付方式筛选
changeWay
()
{
this
.
listquery
.
page
=
1
this
.
getList
()
},
//时间筛选
changeTime
(
val
,
value
)
{
this
.
listquery
.
page
=
1
...
...
@@ -158,20 +209,56 @@ export default {
},
//列表数据
getList
()
{
// this.loading = true
// getDate(this.listquery).then(data => {
// if (data.status == 200) {
// this.tableData = data.data.data
// this.total = data.data.totalCount
// }
// setTimeout(() => {
// this.loading = false
// }, 300)
// })
this
.
loading
=
true
companyList
(
this
.
listquery
).
then
(
data
=>
{
if
(
data
.
status
==
200
)
{
if
(
this
.
listquery
.
type
==
0
)
{
this
.
tableData
=
data
.
data
.
achievements
.
list
this
.
total
=
data
.
data
.
achievements
.
total
if
(
this
.
listquery
.
page
==
1
)
{
this
.
information
=
{
orderSum
:
data
.
data
.
orderSum
,
//订单总量
totalReceivables
:
data
.
data
.
totalReceivables
,
//应收金额
discount
:
data
.
data
.
discount
,
//优惠金额
actual
:
data
.
data
.
actual
//实收金额
}
}
}
else
{
this
.
tableData
=
data
.
data
.
list
this
.
total
=
data
.
data
.
total
}
}
setTimeout
(()
=>
{
this
.
loading
=
false
},
300
)
})
},
//导出
downloadExcel
()
{
this
.
excelLoading
=
true
var
u
=
navigator
.
userAgent
,
app
=
navigator
.
appVersion
excel
(
this
.
listquery
,
{
responseType
:
'arraybuffer'
}).
then
(
res
=>
{
const
content
=
res
const
blob
=
new
Blob
([
content
],
{
type
:
'application/vnd.ms-excel'
})
const
fileName
=
'报表.xlsx'
if
(
u
.
indexOf
(
'Edge'
)
>
-
1
)
{
window
.
navigator
.
msSaveBlob
(
blob
,
fileName
)
}
else
{
const
elink
=
document
.
createElement
(
'a'
)
elink
.
download
=
fileName
elink
.
style
.
display
=
'none'
elink
.
href
=
URL
.
createObjectURL
(
blob
)
document
.
body
.
appendChild
(
elink
)
elink
.
click
()
URL
.
revokeObjectURL
(
elink
.
href
)
// 释放URL 对象
document
.
body
.
removeChild
(
elink
)
}
this
.
excelLoading
=
false
})
}
}
}
...
...
@@ -197,9 +284,15 @@ export default {
list-style
:
none
;
text-align
:
center
;
float
:
left
;
width
:
33.33%
;
border-right
:
1px
solid
#eee
;
}
.information
.first
li
{
width
:
25%
;
}
.information
.second
li
{
width
:
33%
;
}
.information
li
:last-child
{
border
:
none
;
}
...
...
src/views/purseManage/incomeOverview.vue
View file @
40220e17
...
...
@@ -10,8 +10,6 @@
<el-form-item
label=
"手机号"
>
<el-input
v-model
.
number=
"listQuery.phone"
placeholder=
"请输入手机号"
></el-input>
</el-form-item>
<el-col
:span=
"5"
></el-col>
<el-col
:span=
"5"
></el-col>
<el-button
class=
"filter-item"
type=
"primary"
v-waves
icon=
"search"
@
click=
"handleFilter"
>
搜索
</el-button>
<el-button
class=
"filter-item"
type=
"primary"
v-waves
icon=
"search"
@
click=
"clearFilter"
>
清除搜索
</el-button>
</el-row>
...
...
src/views/userManagement/userList/index.vue
View file @
40220e17
<
template
>
<div
class=
"app-container calendar-list-container"
>
<div
class=
"filter-container"
>
<el-form
ref=
"queryForm"
:inline=
"true"
:model=
"listQuery"
>
<el-form
ref=
"queryForm"
:inline=
"true"
:model=
"listQuery"
label-width=
"100px"
>
<el-row>
<el-form-item
label=
"手机号"
>
<el-input
v-model
.
number=
"listQuery.mobile"
placeholder=
"请输入手机号"
></el-input>
...
...
src/views/vehicle/vehicleDepartureLog/index.vue
View file @
40220e17
<
template
>
<div
class=
"app-container calendar-list-container"
>
<div
class=
"filter-container"
>
<el-form>
<el-row>
<el-col
:span=
"5"
>
<el-form-item
label=
"车辆编码"
prop=
"code"
>
<el-input
type=
"number"
style=
"width: 200px;"
v-model
.
number=
"listQuery.code"
placeholder=
"请输入车辆编码"
></el-input>
</el-form-item>
</el-col>
<el-col
:span=
"5"
>
<el-form-item
label=
"车牌号"
prop=
"code"
>
<el-input
@
keyup
.
enter
.
native=
"handleFilter"
style=
"width: 200px;"
class=
"filter-item"
placeholder=
"车牌号"
v-model=
"listQuery.numberPlate"
></el-input>
</el-form-item>
</el-col>
<div
class=
"app-container calendar-list-container"
>
<div
class=
"filter-container"
>
<el-form>
<el-row>
<el-col
:span=
"5"
>
<el-form-item
label=
"出车日期"
prop=
"startTime"
>
<el-date-picker
v-model=
"listQuery.startTime"
type=
"date"
:editable=
"false"
format=
"yyyy-MM-dd"
prop=
"startTime"
placeholder=
"请选择出车日期"
>
</el-date-picker>
</el-form-item>
<el-form-item
label=
"车辆编码"
prop=
"code"
>
<el-input
type=
"number"
style=
"width: 200px;"
v-model
.
number=
"listQuery.code"
placeholder=
"请输入车辆编码"
></el-input>
</el-form-item>
</el-col>
<el-col
:span=
"5"
>
<el-form-item
label=
"车牌号"
prop=
"code"
>
<el-input
@
keyup
.
enter
.
native=
"handleFilter"
style=
"width: 200px;"
class=
"filter-item"
placeholder=
"车牌号"
v-model=
"listQuery.numberPlate"
></el-input>
</el-form-item>
</el-col>
<el-col
:span=
"5"
>
<el-form-item
label=
"还车日期"
prop=
"end
Time"
>
<el-date-picker
v-model=
"listQuery.end
Time"
type=
"date"
:editable=
"false"
format=
"yyyy-MM-dd"
prop=
"end
Time"
placeholder=
"请选择还车日期"
>
</el-date-picker>
</el-form-item>
<el-form-item
label=
"出车日期"
prop=
"start
Time"
>
<el-date-picker
v-model=
"listQuery.start
Time"
type=
"date"
:editable=
"false"
format=
"yyyy-MM-dd"
prop=
"start
Time"
placeholder=
"请选择出车日期"
>
</el-date-picker>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col
:span=
"5"
>
<el-form-item
label=
"分公司"
prop=
"departureId"
>
<el-autocomplete
class=
"inline-input"
v-model=
"state1"
:fetch-suggestions=
"querySearch"
placeholder=
"请输入内容"
@
select=
"handleSelect"
></el-autocomplete>
</el-form-item>
</el-col>
<el-col
:span=
"5"
>
<el-form-item>
<el-button
class=
"filter-item"
type=
"primary"
v-waves
icon=
"search"
@
click=
"handleFilter"
>
搜索
</el-button>
<el-button
class=
"filter-item"
type=
"primary"
v-waves
@
click=
"reloadPage"
>
重置
</el-button>
</el-form-item>
</el-col>
</el-row>
</el-form>
</div>
<div
v-show=
"statisticVisiable"
>
<el-row
style=
"text-align: center;margin-top: 10px;margin-bottom: 10px"
>
<el-col
:span=
"8"
>
<span
class=
"statistic_number"
>
{{
statisticData
.
departureCount
}}
</span>
<br><br>
<span
class=
"statistic_title"
>
出行次数
</span>
</el-col>
<el-col
:span=
"8"
>
<span
class=
"statistic_number"
>
{{
statisticData
.
departureDay
}}
</span>
<br><br>
<span
class=
"statistic_title"
>
出行天数
</span>
</el-col>
<el-col
:span=
"8"
>
<span
class=
"statistic_number"
>
{{
statisticData
.
departureMileage
}}
</span>
<br><br>
<span
class=
"statistic_title"
>
公里
</span>
</el-col>
</el-row>
</div>
<el-button
class=
"filter-item"
type=
"primary"
:icon=
" showMoreMoreCol ? 'caret-left' : 'caret-right' "
v-waves
@
click=
"showMoreMoreCol=!showMoreMoreCol"
>
更多列
</el-button>
<el-table
:key=
'tableKey'
:data=
"list"
v-loading
.
body=
"listLoading"
border
fit
highlight-current-row
style=
"width: 100%"
>
<el-table-column
type=
"index"
label=
"编号"
width=
"65"
>
</el-table-column>
<!--
<el-table-column
align=
"center"
label=
"编号"
width=
"65"
>
-->
<!--
<template
scope=
"scope"
>
-->
<!--
<span>
{{
scope
.
row
.
id
}}
</span>
-->
<!--
</
template
>
-->
<!--</el-table-column>-->
<el-table-column
align=
"center"
label=
"车牌号"
width=
"120"
>
<
template
scope=
"scope"
>
<span>
{{
scope
.
row
.
numberPlate
}}
</span>
</
template
>
</el-table-column>
<el-table-column
width=
"200"
align=
"center"
label=
"出车时间"
>
<
template
scope=
"scope"
>
<span>
{{
scope
.
row
.
departureTime
}}
</span>
</
template
>
</el-table-column>
<el-table-column
width=
"100"
align=
"center"
label=
"使用人"
>
<
template
scope=
"scope"
>
<span>
{{
scope
.
row
.
user
}}
</span>
</
template
>
</el-table-column>
<el-table-column
width=
"200"
align=
"center"
label=
"出车地点"
>
<
template
scope=
"scope"
>
<span>
{{
scope
.
row
.
departureName
}}
</span>
</
template
>
</el-table-column>
<el-table-column
width=
"200"
align=
"center"
label=
"还车时间"
>
<
template
scope=
"scope"
>
<span>
{{
scope
.
row
.
arrivalTime
}}
</span>
</
template
>
</el-table-column>
<el-table-column
width=
"100"
align=
"center"
label=
"还车人"
>
<
template
scope=
"scope"
>
<span>
{{
scope
.
row
.
recycleMan
}}
</span>
</
template
>
</el-table-column>
<el-table-column
width=
"200"
align=
"center"
label=
"还车地点"
>
<
template
scope=
"scope"
>
<span>
{{
scope
.
row
.
arrivalName
}}
</span>
</
template
>
</el-table-column>
<el-table-column
width=
"150"
align=
"center"
label=
"本次出行天数"
>
<
template
scope=
"scope"
>
<span>
{{
scope
.
row
.
departureDay
}}
</span>
</
template
>
</el-table-column>
<el-table-column
width=
"150"
align=
"center"
label=
"本次出行公里"
>
<
template
scope=
"scope"
>
<span>
{{
scope
.
row
.
mileage
}}
</span>
</
template
>
</el-table-column>
<el-table-column
width=
"100"
align=
"center"
label=
"验车人"
>
<
template
scope=
"scope"
>
<span>
{{
scope
.
row
.
checkMan
}}
</span>
</
template
>
</el-table-column>
<el-table-column
width=
"100"
align=
"center"
label=
"用途"
>
<
template
scope=
"scope"
>
<span>
{{
scope
.
row
.
use
}}
</span>
</
template
>
</el-table-column>
<el-table-column
width=
"200"
align=
"center"
label=
"使用人电话"
v-if=
"showMoreMoreCol"
>
<
template
scope=
"scope"
>
<span>
{{
scope
.
row
.
userTel
}}
</span>
</
template
>
</el-table-column>
<el-col
:span=
"5"
>
<el-form-item
label=
"还车日期"
prop=
"endTime"
>
<el-date-picker
v-model=
"listQuery.endTime"
type=
"date"
:editable=
"false"
format=
"yyyy-MM-dd"
prop=
"endTime"
placeholder=
"请选择还车日期"
></el-date-picker>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col
:span=
"5"
>
<el-form-item
label=
"出车公司"
prop=
"departureId"
>
<el-autocomplete
class=
"inline-input"
v-model=
"state1"
:fetch-suggestions=
"querySearch"
placeholder=
"请输入内容"
@
select=
"handleSelect"
></el-autocomplete>
</el-form-item>
</el-col>
<el-col
:span=
"5"
>
<el-form-item
label=
"收车公司"
>
<el-autocomplete
class=
"inline-input"
v-model=
"arrivalBranchCompanyId"
:fetch-suggestions=
"querySearch"
placeholder=
"请输入内容"
@
select=
"putCompanyChange"
></el-autocomplete>
</el-form-item>
</el-col>
<el-col
:span=
"5"
>
<!--
<el-form-item
label=
"用途"
>
<el-select
v-model=
"state1"
filterable
placeholder=
"请选择车辆用途"
>
<el-option
v-for=
"item in allCompaniesArr"
:key=
"item.id"
:label=
"item.name"
:value=
"item.id"
></el-option>
</el-select>
</el-form-item>
-->
</el-col>
<el-col
:span=
"5"
>
<el-form-item>
<el-button
class=
"filter-item"
type=
"primary"
v-waves
icon=
"search"
@
click=
"handleFilter"
>
搜索
</el-button>
<el-button
class=
"filter-item"
type=
"primary"
v-waves
@
click=
"reloadPage"
>
重置
</el-button>
</el-form-item>
</el-col>
</el-row>
</el-form>
</div>
<div
v-show=
"statisticVisiable"
>
<el-row
style=
"text-align: center;margin-top: 10px;margin-bottom: 10px"
>
<el-col
:span=
"8"
>
<span
class=
"statistic_number"
>
{{
statisticData
.
departureCount
}}
</span>
<br
/>
<br
/>
<span
class=
"statistic_title"
>
出行次数
</span>
</el-col>
<el-col
:span=
"8"
>
<span
class=
"statistic_number"
>
{{
statisticData
.
departureDay
}}
</span>
<br
/>
<br
/>
<span
class=
"statistic_title"
>
出行天数
</span>
</el-col>
<el-col
:span=
"8"
>
<span
class=
"statistic_number"
>
{{
statisticData
.
departureMileage
}}
</span>
<br
/>
<br
/>
<span
class=
"statistic_title"
>
公里
</span>
</el-col>
</el-row>
</div>
<el-button
class=
"filter-item"
type=
"primary"
:icon=
" showMoreMoreCol ? 'caret-left' : 'caret-right' "
v-waves
@
click=
"showMoreMoreCol=!showMoreMoreCol"
>
更多列
</el-button>
<el-table
:key=
"tableKey"
:data=
"list"
v-loading
.
body=
"listLoading"
border
fit
highlight-current-row
style=
"width: 100%"
>
<el-table-column
type=
"index"
label=
"编号"
width=
"65"
></el-table-column>
<!--
<el-table-column
align=
"center"
label=
"编号"
width=
"65"
>
-->
<!--
<template
scope=
"scope"
>
-->
<!--
<span>
{{
scope
.
row
.
id
}}
</span>
-->
<!--
</
template
>
-->
<!--</el-table-column>-->
<el-table-column
align=
"center"
label=
"车牌号"
width=
"120"
>
<
template
scope=
"scope"
>
<span>
{{
scope
.
row
.
numberPlate
}}
</span>
</
template
>
</el-table-column>
<el-table-column
align=
"center"
label=
"预约出/收车时间"
>
<
template
scope=
"scope"
>
<span>
{{
scope
.
row
.
departureTime
}}
</span>
</
template
>
</el-table-column>
<el-table-column
align=
"center"
label=
"实际出/收车时间"
>
<
template
scope=
"scope"
>
<span>
{{
scope
.
row
.
departureTime
}}
</span>
</
template
>
</el-table-column>
<el-table-column
align=
"center"
label=
"出/收车公司"
>
<
template
scope=
"scope"
>
<p>
{{
scope
.
row
.
departureName
}}
</p>
<p>
{{
scope
.
row
.
arrivalName
}}
</p>
</
template
>
</el-table-column>
<el-table-column
align=
"center"
label=
"出/收车人"
>
<
template
scope=
"scope"
>
<span>
{{
scope
.
row
.
departureTime
}}
</span>
</
template
>
</el-table-column>
<el-table-column
align=
"center"
label=
"出行天数/公里数"
>
<
template
scope=
"scope"
>
<p>
{{
scope
.
row
.
departureDay
}}
</p>
<p>
{{
scope
.
row
.
mileage
}}
</p>
</
template
>
</el-table-column>
<el-table-column
align=
"center"
label=
"客户/手机号"
>
<
template
scope=
"scope"
>
<p>
{{
scope
.
row
.
user
}}
</p>
<p>
{{
scope
.
row
.
userTel
}}
</p>
</
template
>
</el-table-column>
<el-table-column
align=
"center"
label=
"用途"
>
<
template
scope=
"scope"
>
<span>
{{
scope
.
row
.
use
}}
</span>
</
template
>
</el-table-column>
<el-table-column
align=
"center"
label=
"备注"
>
<
template
scope=
"scope"
>
<span>
{{
scope
.
row
.
departureTime
}}
</span>
</
template
>
</el-table-column>
<!-- <el-table-column width="100" align="center" label="使用人">
<template scope="scope">
<span>{{scope.row.user}}</span>
</template>
</el-table-column>
<el-table-column width="200" align="center" label="出车地点">
<template scope="scope">
<span>{{scope.row.departureName}}</span>
</template>
</el-table-column>
<el-table-column width="200" align="center" label="还车时间">
<template scope="scope">
<span>{{scope.row.arrivalTime}}</span>
</template>
</el-table-column>
<el-table-column width="100" align="center" label="还车人">
<template scope="scope">
<span>{{scope.row.recycleMan}}</span>
</template>
</el-table-column>
<el-table-column width="200" align="center" label="还车地点">
<template scope="scope">
<span>{{scope.row.arrivalName}}</span>
</template>
</el-table-column>
<el-table-column width="150" align="center" label="本次出行天数">
<template scope="scope">
<span>{{scope.row.departureDay}}</span>
</template>
</el-table-column>
<el-table-column width="150" align="center" label="本次出行公里">
<template scope="scope">
<span>{{scope.row.mileage}}</span>
</template>
</el-table-column>
<el-table-column width="100" align="center" label="验车人">
<template scope="scope">
<span>{{scope.row.checkMan}}</span>
</template>
</el-table-column>
<el-table-column width="100" align="center" label="用途">
<template scope="scope">
<span>{{scope.row.use}}</span>
</template>
</el-table-column>-->
<el-table-column
width=
"200"
align=
"center"
label=
"验车
人电话"
v-if=
"showMoreMoreCol"
>
<
template
scope=
"scope"
>
<span>
{{
scope
.
row
.
checkMan
Tel
}}
</span>
</
template
>
</el-table-column>
<!-- <el-table-column width="200" align="center" label="使用
人电话" v-if="showMoreMoreCol">
<template scope="scope">
<span>{{scope.row.user
Tel}}</span>
</template>
</el-table-column>
<el-table-column width="200" align="center" label="验车人电话" v-if="showMoreMoreCol">
<template scope="scope">
<span>{{scope.row.checkManTel}}</span>
</template>
</el-table-column>
<el-table-column
width=
"100"
align=
"center"
label=
"开始公里数"
v-if=
"showMoreMoreCol"
>
<
template
scope=
"scope"
>
<span>
{{
scope
.
row
.
mileageStart
}}
</span>
</
template
>
</el-table-column>
<el-table-column
width=
"100"
align=
"center"
label=
"结束公里数"
v-if=
"showMoreMoreCol"
>
<
template
scope=
"scope"
>
<span>
{{
scope
.
row
.
mileageEnd
}}
</span>
</
template
>
</el-table-column
>
</el-table>
<el-table-column width="100" align="center" label="开始公里数" v-if="showMoreMoreCol">
<template scope="scope">
<span>{{scope.row.mileageStart}}</span>
</template>
</el-table-column>
<el-table-column width="100" align="center" label="结束公里数" v-if="showMoreMoreCol">
<template scope="scope">
<span>{{scope.row.mileageEnd}}</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, 50]"
:page-size=
"listQuery.limit"
layout=
"total, sizes, prev, pager, next, jumper"
:total=
"total"
></el-pagination>
</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>
<!-- <el-dialog :title="textMap[dialogStatus]" :visible.sync="dialogFormVisible">-->
<!-- <el-form :model="form" :rules="rules" ref="form" label-width="100px">-->
<!-- <el-form-item label="姓名" prop="name">-->
<!-- <el-input v-model="form.name" placeholder="请输入姓名"></el-input>-->
<!-- </el-form-item>-->
<!-- </el-form>-->
<!-- <div slot="footer" class="dialog-footer">-->
<!-- <el-button @click="cancel('form')">取 消</el-button>-->
<!-- <el-button v-if="dialogStatus=='create'" type="primary" @click="create('form')">确 定</el-button>-->
<!-- <el-button v-else type="primary" @click="update('form')">确 定</el-button>-->
<!-- </div>-->
<!-- </el-dialog>-->
</div>
<!-- <el-dialog :title="textMap[dialogStatus]" :visible.sync="dialogFormVisible">-->
<!-- <el-form :model="form" :rules="rules" ref="form" label-width="100px">-->
<!-- <el-form-item label="姓名" prop="name">-->
<!-- <el-input v-model="form.name" placeholder="请输入姓名"></el-input>-->
<!-- </el-form-item>-->
<!-- </el-form>-->
<!-- <div slot="footer" class="dialog-footer">-->
<!-- <el-button @click="cancel('form')">取 消</el-button>-->
<!-- <el-button v-if="dialogStatus=='create'" type="primary" @click="create('form')">确 定</el-button>-->
<!-- <el-button v-else type="primary" @click="update('form')">确 定</el-button>-->
<!-- </div>-->
<!-- </el-dialog>-->
</div>
</template>
<
style
>
.statistic_number
{
font-size
:
x-large
;
font-weight
:
bolder
;
}
.statistic_number
{
font-size
:
x-large
;
font-weight
:
bolder
;
}
.statistic_title
{
font-size
:
x-large
;
}
.statistic_title
{
font-size
:
x-large
;
}
</
style
>
<
script
>
import
{
mapGetters
}
from
'vuex'
;
import
{
page
,
statistic
}
from
'../../../api/vehicle/departureLog'
;
import
{
getAllCompany
,
getAll
}
from
'api/base_info/branch_company/'
;
import
{
getAllZone
}
from
'api/base_info/constant/'
;
import
{
getAllBranchCompanyByZoneId
}
from
'api/order/rentVehicle'
;
import
{
toEast8Date
,
deepCopyDate
,
newEast8Date
,
getYMD_date
}
from
'utils/dateUtils'
;
export
default
{
name
:
'vehicleDepartureLog'
,
data
()
{
return
{
showMoreMoreCol
:
false
,
form
:
{
id
:
null
,
numberPlate
:
null
,
vehicleId
:
null
,
use
:
null
,
user
:
null
,
userTel
:
null
,
checkMan
:
null
,
checkManTel
:
null
,
recycleMan
:
null
,
recycleManTel
:
null
,
departureTime
:
null
,
arrivalTime
:
null
,
mileageStart
:
null
,
mileageEnd
:
null
,
state
:
null
,
allCompaniesArr
:[],
selectArry
:
[],
},
rules
:
{
name
:
[
{
required
:
true
,
message
:
'请输入用户'
,
trigger
:
'blur'
}
]
},
list
:
null
,
total
:
null
,
listLoading
:
true
,
allBranchCompany
:[],
baranchQuery
:
{
zoneId
:
null
},
allZoneArr
:[],
//全部片区
state1
:
''
,
listQuery
:
{
page
:
1
,
limit
:
20
,
startTime
:
undefined
,
endTime
:
undefined
,
numberPlate
:
undefined
,
departureId
:
undefined
,
},
dialogStatus
:
''
,
textMap
:
{
update
:
'编辑'
,
create
:
'创建'
},
tableKey
:
0
,
dialogFormVisible
:
null
,
statisticVisiable
:
true
,
statisticData
:
{
departureCount
:
null
,
departureDay
:
null
,
departureMileage
:
null
}
}
},
created
()
{
let
t
=
this
;
const
numberPlate
=
this
.
$route
.
query
.
numberPlate
;
if
(
numberPlate
)
{
this
.
listQuery
.
numberPlate
=
numberPlate
;
}
getAll
()
.
then
(
response
=>
{
this
.
allCompaniesArr
=
response
.
data
;
let
query
=
localStorage
.
getItem
(
"vehicleDepartureLog"
);
if
(
query
!=
"null"
&&
query
&&
!
numberPlate
){
this
.
listQuery
=
JSON
.
parse
(
query
);
if
(
t
.
listQuery
.
departureId
){
t
.
allCompaniesArr
.
map
(
function
(
item
)
{
if
(
item
.
id
==
t
.
listQuery
.
departureId
){
t
.
state1
=
item
.
name
;
}
});
}
}
t
.
handleFilter
();
})
},
computed
:
{
...
mapGetters
([
'elements'
]),
//获取大区列表
getAllZoneList
()
{
return
getAllZone
();
},
},
methods
:
{
/**
* 重置
* */
reloadPage
()
{
this
.
state1
=
''
;
this
.
listQuery
=
{
page
:
1
,
limit
:
20
,
startTime
:
undefined
,
endTime
:
undefined
,
numberPlate
:
undefined
,
departureId
:
undefined
,
};
if
(
this
.
listQuery
){
localStorage
.
setItem
(
"vehicleDepartureLog"
,
JSON
.
stringify
(
this
.
listQuery
));
}
this
.
handleFilter
();
},
handleFilter
()
{
this
.
listQuery
.
page
=
1
if
(
this
.
listQuery
){
localStorage
.
setItem
(
"vehicleDepartureLog"
,
JSON
.
stringify
(
this
.
listQuery
));
}
this
.
getList
();
if
(
this
.
listQuery
.
numberPlate
)
{
statistic
({
numberPlate
:
this
.
listQuery
.
numberPlate
}).
then
(
response
=>
{
this
.
statisticData
=
response
.
data
;
});
this
.
statisticVisiable
=
true
;
}
},
dateToString
:
function
(
date
)
{
var
year
=
date
.
getFullYear
();
var
month
=
(
date
.
getMonth
()
+
1
).
toString
();
var
day
=
(
date
.
getDate
()).
toString
();
if
(
month
.
length
==
1
)
{
month
=
"0"
+
month
;
}
if
(
day
.
length
==
1
)
{
day
=
"0"
+
day
;
}
var
dateTime
=
year
+
"-"
+
month
+
"-"
+
day
;
return
dateTime
;
},
getList
()
{
this
.
listLoading
=
true
;
if
(
!
this
.
listQuery
.
numberPlate
)
{
this
.
statisticVisiable
=
false
;
}
if
(
this
.
listQuery
.
startTime
)
{
this
.
listQuery
.
startTime
=
getYMD_date
(
new
Date
(
this
.
listQuery
.
startTime
));
}
if
(
this
.
listQuery
.
endTime
)
{
this
.
listQuery
.
endTime
=
getYMD_date
(
new
Date
(
this
.
listQuery
.
endTime
));
}
if
(
!
this
.
state1
)
{
this
.
listQuery
.
departureId
=
undefined
;
}
page
(
this
.
listQuery
)
.
then
(
response
=>
{
this
.
list
=
response
.
data
.
list
;
this
.
total
=
response
.
data
.
total
;
this
.
listLoading
=
false
;
})
},
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
);
};
},
handleSelect
(
item
)
{
if
(
item
.
value
==
"全部"
)
{
this
.
listQuery
.
departureId
=
undefined
;
}
else
{
this
.
listQuery
.
departureId
=
item
.
id
;
}
},
handleSizeChange
(
val
)
{
this
.
listQuery
.
limit
=
val
;
if
(
this
.
listQuery
){
localStorage
.
setItem
(
"vehicleDepartureLog"
,
JSON
.
stringify
(
this
.
listQuery
));
}
this
.
getList
();
},
handleCurrentChange
(
val
)
{
this
.
listQuery
.
page
=
val
;
if
(
this
.
listQuery
){
localStorage
.
setItem
(
"vehicleDepartureLog"
,
JSON
.
stringify
(
this
.
listQuery
));
}
this
.
getList
();
},
}
}
import
{
mapGetters
}
from
'vuex'
import
{
page
,
statistic
,
findReserveType
}
from
'../../../api/vehicle/departureLog'
import
{
getAllCompany
,
getAll
}
from
'api/base_info/branch_company/'
import
{
getAllZone
}
from
'api/base_info/constant/'
import
{
getAllBranchCompanyByZoneId
}
from
'api/order/rentVehicle'
import
{
toEast8Date
,
deepCopyDate
,
newEast8Date
,
getYMD_date
}
from
'utils/dateUtils'
export
default
{
name
:
'vehicleDepartureLog'
,
data
()
{
return
{
showMoreMoreCol
:
false
,
form
:
{
id
:
null
,
numberPlate
:
null
,
vehicleId
:
null
,
use
:
null
,
user
:
null
,
userTel
:
null
,
checkMan
:
null
,
checkManTel
:
null
,
recycleMan
:
null
,
recycleManTel
:
null
,
departureTime
:
null
,
arrivalTime
:
null
,
mileageStart
:
null
,
mileageEnd
:
null
,
state
:
null
,
allCompaniesArr
:
[],
selectArry
:
[]
},
rules
:
{
name
:
[
{
required
:
true
,
message
:
'请输入用户'
,
trigger
:
'blur'
}
]
},
list
:
null
,
total
:
null
,
listLoading
:
true
,
allBranchCompany
:
[],
baranchQuery
:
{
zoneId
:
null
},
allZoneArr
:
[],
//全部片区
state1
:
''
,
arrivalBranchCompanyId
:
null
,
listQuery
:
{
page
:
1
,
limit
:
20
,
startTime
:
undefined
,
endTime
:
undefined
,
numberPlate
:
undefined
,
departureId
:
undefined
,
arrivalBranchCompanyId
:
null
},
dialogStatus
:
''
,
textMap
:
{
update
:
'编辑'
,
create
:
'创建'
},
tableKey
:
0
,
dialogFormVisible
:
null
,
statisticVisiable
:
true
,
statisticData
:
{
departureCount
:
null
,
departureDay
:
null
,
departureMileage
:
null
}
}
},
created
()
{
let
t
=
this
const
numberPlate
=
this
.
$route
.
query
.
numberPlate
if
(
numberPlate
)
{
this
.
listQuery
.
numberPlate
=
numberPlate
}
getAll
().
then
(
response
=>
{
this
.
allCompaniesArr
=
response
.
data
let
query
=
localStorage
.
getItem
(
'vehicleDepartureLog'
)
if
(
query
!=
'null'
&&
query
&&
!
numberPlate
)
{
this
.
listQuery
=
JSON
.
parse
(
query
)
if
(
t
.
listQuery
.
departureId
)
{
t
.
allCompaniesArr
.
map
(
function
(
item
)
{
if
(
item
.
id
==
t
.
listQuery
.
departureId
)
{
t
.
state1
=
item
.
name
}
})
}
}
t
.
handleFilter
()
})
},
computed
:
{
...
mapGetters
([
'elements'
]),
//获取大区列表
getAllZoneList
()
{
return
getAllZone
()
}
},
methods
:
{
//收车公司筛选
putCompanyChange
(
val
)
{
console
.
log
(
val
)
if
(
val
)
{
this
.
listQuery
.
arrivalBranchCompanyId
=
val
.
id
}
else
{
this
.
listQuery
.
arrivalBranchCompanyId
=
null
}
},
/**
* 重置
* */
reloadPage
()
{
this
.
state1
=
''
this
.
arrivalBranchCompanyId
=
null
this
.
listQuery
=
{
page
:
1
,
limit
:
20
,
startTime
:
undefined
,
endTime
:
undefined
,
numberPlate
:
undefined
,
departureId
:
undefined
,
arrivalBranchCompanyId
:
undefined
}
if
(
this
.
listQuery
)
{
localStorage
.
setItem
(
'vehicleDepartureLog'
,
JSON
.
stringify
(
this
.
listQuery
)
)
}
this
.
handleFilter
()
},
handleFilter
()
{
this
.
listQuery
.
page
=
1
if
(
this
.
listQuery
)
{
localStorage
.
setItem
(
'vehicleDepartureLog'
,
JSON
.
stringify
(
this
.
listQuery
)
)
}
this
.
getList
()
if
(
this
.
listQuery
.
numberPlate
)
{
statistic
({
numberPlate
:
this
.
listQuery
.
numberPlate
}).
then
(
response
=>
{
if
(
response
.
status
==
200
)
{
this
.
statisticData
=
response
.
data
this
.
statisticVisiable
=
true
}
else
{
this
.
$message
(
response
.
message
)
}
}
)
}
},
dateToString
:
function
(
date
)
{
var
year
=
date
.
getFullYear
()
var
month
=
(
date
.
getMonth
()
+
1
).
toString
()
var
day
=
date
.
getDate
().
toString
()
if
(
month
.
length
==
1
)
{
month
=
'0'
+
month
}
if
(
day
.
length
==
1
)
{
day
=
'0'
+
day
}
var
dateTime
=
year
+
'-'
+
month
+
'-'
+
day
return
dateTime
},
getList
()
{
this
.
listLoading
=
true
if
(
!
this
.
listQuery
.
numberPlate
)
{
this
.
statisticVisiable
=
false
}
if
(
this
.
listQuery
.
startTime
)
{
this
.
listQuery
.
startTime
=
getYMD_date
(
new
Date
(
this
.
listQuery
.
startTime
)
)
}
if
(
this
.
listQuery
.
endTime
)
{
this
.
listQuery
.
endTime
=
getYMD_date
(
new
Date
(
this
.
listQuery
.
endTime
)
)
}
if
(
!
this
.
state1
)
{
this
.
listQuery
.
departureId
=
undefined
}
page
(
this
.
listQuery
).
then
(
response
=>
{
this
.
list
=
response
.
data
.
list
this
.
total
=
response
.
data
.
total
this
.
listLoading
=
false
})
},
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
}
},
handleSelect
(
item
)
{
if
(
item
.
value
==
'全部'
)
{
this
.
listQuery
.
departureId
=
undefined
}
else
{
this
.
listQuery
.
departureId
=
item
.
id
}
},
handleSizeChange
(
val
)
{
this
.
listQuery
.
limit
=
val
if
(
this
.
listQuery
)
{
localStorage
.
setItem
(
'vehicleDepartureLog'
,
JSON
.
stringify
(
this
.
listQuery
)
)
}
this
.
getList
()
},
handleCurrentChange
(
val
)
{
this
.
listQuery
.
page
=
val
if
(
this
.
listQuery
)
{
localStorage
.
setItem
(
'vehicleDepartureLog'
,
JSON
.
stringify
(
this
.
listQuery
)
)
}
this
.
getList
()
}
}
}
</
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