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
5f7489b1
Commit
5f7489b1
authored
Nov 29, 2019
by
guoyou
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
分公司统计
parent
32ec2a74
Changes
5
Show whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
770 additions
and
424 deletions
+770
-424
statistics.js
src/api/statistics.js
+19
-0
index.js
src/api/vehicle/departureLog/index.js
+1
-1
index.js
src/router/index.js
+8
-2
branchCompany.vue
src/views/financial/branchCompany.vue
+184
-0
index.vue
src/views/vehicle/vehicleDepartureLog/index.vue
+558
-421
No files found.
src/api/statistics.js
View file @
5f7489b1
...
@@ -36,3 +36,22 @@ export function excel(query) {
...
@@ -36,3 +36,22 @@ export function excel(query) {
responseType
:
'blob'
responseType
:
'blob'
});
});
}
}
// 分公司业绩
export
function
company_performance
(
query
)
{
return
fetch
({
url
:
'api/order/statistics/company_performance'
,
method
:
'post'
,
data
:
query
});
}
// 員工業績導出
export
function
excelExport
(
query
)
{
return
fetch
({
url
:
'api/order/statistics/export'
,
method
:
'post'
,
data
:
query
,
responseType
:
'blob'
});
}
\ No newline at end of file
src/api/vehicle/departureLog/index.js
View file @
5f7489b1
...
@@ -19,7 +19,7 @@ export function statistic(param) {
...
@@ -19,7 +19,7 @@ export function statistic(param) {
export
function
findReserveType
(
param
)
{
export
function
findReserveType
(
param
)
{
return
fetch
({
return
fetch
({
url
:
'/departure/findReserveType '
,
url
:
'/
vehicle/
departure/findReserveType '
,
method
:
'get'
,
method
:
'get'
,
params
:
param
params
:
param
})
})
...
...
src/router/index.js
View file @
5f7489b1
...
@@ -555,7 +555,8 @@ export const asyncRouterMap = [{
...
@@ -555,7 +555,8 @@ export const asyncRouterMap = [{
component
:
_import
(
'userManagement/imCustomerServiceManger/cusomterServiceList'
),
component
:
_import
(
'userManagement/imCustomerServiceManger/cusomterServiceList'
),
name
:
'客服列表'
,
name
:
'客服列表'
,
authority
:
'imCustomerServiceManger'
authority
:
'imCustomerServiceManger'
},{
},
{
path
:
'employeesInput'
,
path
:
'employeesInput'
,
component
:
_import
(
'userManagement/employeesInput'
),
component
:
_import
(
'userManagement/employeesInput'
),
name
:
'员工录入'
,
name
:
'员工录入'
,
...
@@ -587,7 +588,7 @@ export const asyncRouterMap = [{
...
@@ -587,7 +588,7 @@ export const asyncRouterMap = [{
component
:
_import
(
'appManagement/selectedActivities/index'
),
component
:
_import
(
'appManagement/selectedActivities/index'
),
name
:
'首页精选活动'
,
name
:
'首页精选活动'
,
authority
:
'selectedActivities'
authority
:
'selectedActivities'
}
,
}
// {
// {
// path: 'pushManagement',
// path: 'pushManagement',
// component: _import('appManagement/pushManagement/index'),
// component: _import('appManagement/pushManagement/index'),
...
@@ -753,6 +754,11 @@ export const asyncRouterMap = [{
...
@@ -753,6 +754,11 @@ export const asyncRouterMap = [{
component
:
_import
(
'financial/memberPerformance'
),
component
:
_import
(
'financial/memberPerformance'
),
name
:
'总公司报表'
,
name
:
'总公司报表'
,
authority
:
'memberPerformance'
authority
:
'memberPerformance'
},
{
path
:
'branchCompany'
,
component
:
_import
(
'financial/branchCompany'
),
name
:
'总公司报表'
,
authority
:
'branchCompany'
}
}
]
]
}
}
...
...
src/views/financial/branchCompany.vue
0 → 100644
View file @
5f7489b1
<
template
>
<div
class=
"app-container calendar-list-container"
>
<div
class=
"filter-container"
>
<el-form
:inline=
"true"
label-position=
"left"
>
<el-form-item
label=
"统计周期"
>
<el-date-picker
v-model=
"time"
type=
"daterange"
placeholder=
"请选择统计周期"
@
change=
"changeTime"
></el-date-picker>
</el-form-item>
<el-form-item
label=
"统计方式"
>
<el-radio-group
v-model=
"listQuery.statisticalWay"
@
change=
"changeType"
>
<el-radio-button
label=
1
>
日
</el-radio-button>
<el-radio-button
label=
2
>
周
</el-radio-button>
<el-radio-button
label=
3
>
月
</el-radio-button>
</el-radio-group>
</el-form-item>
<el-form-item
label=
"所属公司"
>
<el-select
v-model=
"listQuery.companyId"
filterable
placeholder=
"请选择业绩所属公司"
clearable
@
change=
"changeCompany"
>
<el-option
label=
"全部"
value
>
全部
</el-option>
<el-option
v-for=
"item in allCompaniesArr"
:key=
"item.id"
:label=
"item.name"
:value=
"item.id"
></el-option>
</el-select>
</el-form-item>
<el-button
type=
"primary"
@
click=
"clearSearch"
>
清空搜索
</el-button>
<el-button
type=
"primary"
:loading=
"excelLoading"
@
click=
"downloadExcel"
>
导出报表
</el-button>
</el-form>
<el-table
:data=
"tableData"
border
style=
"width: 100%"
header-align=
"center"
>
<el-table-column
prop=
"date"
label=
"时间"
align=
"center"
width=
"200"
v-if=
"listQuery.statisticalWay == 1"
></el-table-column>
<el-table-column
prop=
"weekOfYear"
label=
"时间"
align=
"center"
width=
"200"
v-else-if=
"listQuery.statisticalWay == 2"
></el-table-column>
<el-table-column
prop=
"month"
label=
"时间"
align=
"center"
width=
"200"
v-else
></el-table-column>
<el-table-column
prop=
"companyName"
label=
"公司"
align=
"center"
></el-table-column>
<el-table-column
prop=
"memberAmount"
label=
"会员费"
align=
"center"
></el-table-column>
<el-table-column
prop=
"rentVehilceAmount"
label=
"租车费"
align=
"center"
></el-table-column>
<el-table-column
prop=
"depositAmount"
label=
"押金"
align=
"center"
></el-table-column>
<el-table-column
prop=
"noDeductibleAmount"
label=
"不计免赔费"
align=
"center"
></el-table-column>
<el-table-column
prop=
"travelAmount"
label=
"旅游费"
align=
"center"
></el-table-column>
<el-table-column
prop=
"rentDays"
label=
"租借天数"
align=
"center"
></el-table-column>
<el-table-column
prop=
"extralAmount"
label=
"其他费用"
align=
"center"
></el-table-column>
<el-table-column
prop=
"departureNum"
label=
"出车服务次数"
align=
"center"
></el-table-column>
<el-table-column
prop=
"arrivalNum"
label=
"收车服务次数"
align=
"center"
></el-table-column>
</el-table>
<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"
style=
"margin-top:20px"
></el-pagination>
</div>
</div>
</
template
>
<
script
>
import
{
company_performance
,
excelExport
}
from
'api/statistics'
import
{
getAll
}
from
'api/base_info/branch_company'
export
default
{
created
()
{
//表格数据
this
.
getList
()
//获取分公司
getAll
().
then
(
data
=>
{
this
.
allCompaniesArr
=
data
.
data
})
},
data
()
{
return
{
tableData
:
[],
//表格数据
time
:
null
,
//时间
excelLoading
:
false
,
//导出loading
allCompaniesArr
:
[],
total
:
null
,
listQuery
:
{
statisticalWay
:
1
,
//统计方式
companyId
:
null
,
//公司
page
:
1
,
limit
:
10
}
}
},
methods
:
{
//统计周期筛选
changeTime
(
val
,
value
)
{
this
.
listQuery
.
page
=
1
if
(
!!
val
)
{
let
value
=
val
.
split
(
' - '
)
this
.
listQuery
.
startDate
=
value
[
0
]
+
' 00:00:00'
this
.
listQuery
.
endDate
=
value
[
1
]
+
' 23:59:59'
this
.
getList
()
}
else
{
this
.
listQuery
.
startDate
=
null
this
.
listQuery
.
endDate
=
null
this
.
getList
()
}
},
//统计方式筛选
changeType
()
{
this
.
listQuery
.
page
=
1
this
.
getList
()
},
//公司筛选
changeCompany
()
{
this
.
listQuery
.
page
=
1
this
.
getList
()
},
//清空搜索
clearSearch
()
{
this
.
time
=
null
this
.
listQuery
=
{
statisticalWay
:
1
,
//统计方式
companyId
:
null
,
//公司
page
:
1
,
limit
:
10
}
},
//导出
downloadExcel
()
{
this
.
excelLoading
=
true
var
u
=
navigator
.
userAgent
,
app
=
navigator
.
appVersion
excelExport
(
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
})
},
//表格数据
getList
()
{
company_performance
(
this
.
listQuery
).
then
(
data
=>
{
if
(
data
.
status
==
200
)
{
this
.
tableData
=
data
.
data
.
data
this
.
total
=
data
.
data
.
totalCount
}
else
{
this
.
$message
.
error
(
data
.
message
)
}
})
},
//分页
handleSizeChange
(
val
)
{
this
.
listquery
.
limit
=
val
this
.
getList
()
},
handleCurrentChange
(
val
)
{
this
.
listquery
.
page
=
val
this
.
getList
()
}
}
}
</
script
>
<
style
>
</
style
>
\ No newline at end of file
src/views/vehicle/vehicleDepartureLog/index.vue
View file @
5f7489b1
...
@@ -5,16 +5,27 @@
...
@@ -5,16 +5,27 @@
<el-row>
<el-row>
<el-col
:span=
"5"
>
<el-col
:span=
"5"
>
<el-form-item
label=
"车辆编码"
prop=
"code"
>
<el-form-item
label=
"车辆编码"
prop=
"code"
>
<el-input
type=
"number"
style=
"width: 200px;"
v-model
.
number=
"listQuery.code"
<el-input
placeholder=
"请输入车辆编码"
></el-input>
type=
"number"
style=
"width: 200px;"
v-model
.
number=
"listQuery.code"
placeholder=
"请输入车辆编码"
></el-input>
</el-form-item>
</el-form-item>
</el-col>
</el-col>
<el-col
:span=
"5"
>
<el-col
:span=
"5"
>
<el-form-item
label=
"车牌号"
prop=
"code"
>
<el-form-item
label=
"车牌号"
prop=
"code"
>
<el-input
@
keyup
.
enter
.
native=
"handleFilter"
style=
"width: 200px;"
class=
"filter-item"
placeholder=
"车牌号"
<el-input
v-model=
"listQuery.numberPlate"
></el-input>
@
keyup
.
enter
.
native=
"handleFilter"
style=
"width: 200px;"
class=
"filter-item"
placeholder=
"车牌号"
v-model=
"listQuery.numberPlate"
></el-input>
</el-form-item>
</el-form-item>
</el-col>
</el-col>
<el-col
:span=
"5"
>
<el-col
:span=
"5"
>
<el-form-item
label=
"出车日期"
prop=
"startTime"
>
<el-form-item
label=
"出车日期"
prop=
"startTime"
>
<el-date-picker
<el-date-picker
...
@@ -23,10 +34,11 @@
...
@@ -23,10 +34,11 @@
:editable=
"false"
:editable=
"false"
format=
"yyyy-MM-dd"
format=
"yyyy-MM-dd"
prop=
"startTime"
prop=
"startTime"
placeholder=
"请选择出车日期"
>
placeholder=
"请选择出车日期"
</el-date-picker>
>
</el-date-picker>
</el-form-item>
</el-form-item>
</el-col>
</el-col>
<el-col
:span=
"5"
>
<el-col
:span=
"5"
>
<el-form-item
label=
"还车日期"
prop=
"endTime"
>
<el-form-item
label=
"还车日期"
prop=
"endTime"
>
<el-date-picker
<el-date-picker
...
@@ -35,14 +47,15 @@
...
@@ -35,14 +47,15 @@
:editable=
"false"
:editable=
"false"
format=
"yyyy-MM-dd"
format=
"yyyy-MM-dd"
prop=
"endTime"
prop=
"endTime"
placeholder=
"请选择还车日期"
>
placeholder=
"请选择还车日期"
</el-date-picker>
>
</el-date-picker>
</el-form-item>
</el-form-item>
</el-col>
</el-col>
</el-row>
</el-row>
<el-row>
<el-row>
<el-col
:span=
"5"
>
<el-col
:span=
"5"
>
<el-form-item
label=
"分
公司"
prop=
"departureId"
>
<el-form-item
label=
"出车
公司"
prop=
"departureId"
>
<el-autocomplete
<el-autocomplete
class=
"inline-input"
class=
"inline-input"
v-model=
"state1"
v-model=
"state1"
...
@@ -52,6 +65,33 @@
...
@@ -52,6 +65,33 @@
></el-autocomplete>
></el-autocomplete>
</el-form-item>
</el-form-item>
</el-col>
</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=
"listQuery.use"
filterable
placeholder=
"请选择车辆用途"
@
change=
"changeUse"
>
<el-option
label=
"全部"
value
>
全部
</el-option>
<el-option
v-for=
"item in useArr"
:key=
"item.code"
:label=
"item.name"
:value=
"item.code"
></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col
:span=
"5"
>
<el-col
:span=
"5"
>
<el-form-item>
<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
icon=
"search"
@
click=
"handleFilter"
>
搜索
</el-button>
...
@@ -61,38 +101,50 @@
...
@@ -61,38 +101,50 @@
</el-row>
</el-row>
</el-form>
</el-form>
</div>
</div>
<div
v-show=
"statisticVisiable"
>
<div
v-show=
"statisticVisiable"
>
<el-row
style=
"text-align: center;margin-top: 10px;margin-bottom: 10px"
>
<el-row
style=
"text-align: center;margin-top: 10px;margin-bottom: 10px"
>
<el-col
:span=
"8"
>
<el-col
:span=
"8"
>
<span
class=
"statistic_number"
>
{{
statisticData
.
departureCount
}}
</span>
<span
class=
"statistic_number"
>
{{
statisticData
.
departureCount
}}
</span>
<br><br>
<br
/>
<br
/>
<span
class=
"statistic_title"
>
出行次数
</span>
<span
class=
"statistic_title"
>
出行次数
</span>
</el-col>
</el-col>
<el-col
:span=
"8"
>
<el-col
:span=
"8"
>
<span
class=
"statistic_number"
>
{{
statisticData
.
departureDay
}}
</span>
<span
class=
"statistic_number"
>
{{
statisticData
.
departureDay
}}
</span>
<br><br>
<br
/>
<br
/>
<span
class=
"statistic_title"
>
出行天数
</span>
<span
class=
"statistic_title"
>
出行天数
</span>
</el-col>
</el-col>
<el-col
:span=
"8"
>
<el-col
:span=
"8"
>
<span
class=
"statistic_number"
>
{{
statisticData
.
departureMileage
}}
</span>
<span
class=
"statistic_number"
>
{{
statisticData
.
departureMileage
}}
</span>
<br><br>
<br
/>
<br
/>
<span
class=
"statistic_title"
>
公里
</span>
<span
class=
"statistic_title"
>
公里
</span>
</el-col>
</el-col>
</el-row>
</el-row>
</div>
</div>
<el-button
class=
"filter-item"
type=
"primary"
:icon=
" showMoreMoreCol ? 'caret-left' : 'caret-right' "
v-waves
@
click=
"showMoreMoreCol=!showMoreMoreCol"
>
<el-button
更多列
class=
"filter-item"
</el-button>
type=
"primary"
<el-table
:key=
'tableKey'
:data=
"list"
v-loading
.
body=
"listLoading"
border
fit
highlight-current-row
:icon=
" showMoreMoreCol ? 'caret-left' : 'caret-right' "
style=
"width: 100%"
>
v-waves
<el-table-column
@
click=
"showMoreMoreCol=!showMoreMoreCol"
type=
"index"
>
更多列
</el-button>
label=
"编号"
<el-table
width=
"65"
>
:key=
"tableKey"
</el-table-column>
:data=
"list"
<!--
<el-table-column
align=
"center"
label=
"编号"
width=
"65"
>
v-loading
.
body=
"listLoading"
-->
<!--
<template
scope=
"scope"
>
-->
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>
-->
<!--
<span>
{{
scope
.
row
.
id
}}
</span>
-->
<!--
</
template
>
-->
<!--
</
template
>
-->
<!--</el-table-column>-->
<!--</el-table-column>-->
...
@@ -101,12 +153,53 @@
...
@@ -101,12 +153,53 @@
<span>
{{
scope
.
row
.
numberPlate
}}
</span>
<span>
{{
scope
.
row
.
numberPlate
}}
</span>
</
template
>
</
template
>
</el-table-column>
</el-table-column>
<el-table-column
width=
"200"
align=
"center"
label=
"出车时间"
>
<el-table-column
align=
"center"
label=
"预约出/收车时间"
>
<
template
scope=
"scope"
>
<p>
{{
scope
.
row
.
bookStartDate
}}
</p>
<p>
{{
scope
.
row
.
bookEndDate
}}
</p>
</
template
>
</el-table-column>
<el-table-column
align=
"center"
label=
"实际出/收车时间"
>
<
template
scope=
"scope"
>
<p>
{{
scope
.
row
.
actualStartDate
}}
</p>
<p>
{{
scope
.
row
.
actualEndDate
}}
</p>
</
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"
>
<
template
scope=
"scope"
>
<span>
{{
scope
.
row
.
departureTime
}}
</span>
<span>
{{
scope
.
row
.
departureTime
}}
</span>
</
template
>
</
template
>
</el-table-column>
</el-table-column>
<el-table-column
width=
"100"
align=
"center"
label=
"使用人"
>
<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">
<template scope="scope">
<span>{{scope.row.user}}</span>
<span>{{scope.row.user}}</span>
</template>
</template>
...
@@ -150,9 +243,9 @@
...
@@ -150,9 +243,9 @@
<template scope="scope">
<template scope="scope">
<span>{{scope.row.use}}</span>
<span>{{scope.row.use}}</span>
</template>
</template>
</el-table-column
>
</el-table-column>--
>
<el-table-column
width=
"200"
align=
"center"
label=
"使用人电话"
v-if=
"showMoreMoreCol"
>
<!--
<el-table-column width="200" align="center" label="使用人电话" v-if="showMoreMoreCol">
<template scope="scope">
<template scope="scope">
<span>{{scope.row.userTel}}</span>
<span>{{scope.row.userTel}}</span>
</template>
</template>
...
@@ -164,7 +257,6 @@
...
@@ -164,7 +257,6 @@
</template>
</template>
</el-table-column>
</el-table-column>
<el-table-column width="100" align="center" label="开始公里数" v-if="showMoreMoreCol">
<el-table-column width="100" align="center" label="开始公里数" v-if="showMoreMoreCol">
<template scope="scope">
<template scope="scope">
<span>{{scope.row.mileageStart}}</span>
<span>{{scope.row.mileageStart}}</span>
...
@@ -174,13 +266,19 @@
...
@@ -174,13 +266,19 @@
<template scope="scope">
<template scope="scope">
<span>{{scope.row.mileageEnd}}</span>
<span>{{scope.row.mileageEnd}}</span>
</template>
</template>
</el-table-column
>
</el-table-column>--
>
</el-table>
</el-table>
<div
v-show=
"!listLoading"
class=
"pagination-container"
>
<div
v-show=
"!listLoading"
class=
"pagination-container"
>
<el-pagination
@
size-change=
"handleSizeChange"
@
current-change=
"handleCurrentChange"
<el-pagination
:current-page
.
sync=
"listQuery.page"
:page-sizes=
"[10,20,30, 50]"
:page-size=
"listQuery.limit"
@
size-change=
"handleSizeChange"
layout=
"total, sizes, prev, pager, next, jumper"
:total=
"total"
></el-pagination>
@
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>
<!-- <el-dialog :title="textMap[dialogStatus]" :visible.sync="dialogFormVisible">-->
<!-- <el-dialog :title="textMap[dialogStatus]" :visible.sync="dialogFormVisible">-->
...
@@ -198,41 +296,36 @@
...
@@ -198,41 +296,36 @@
</div>
</div>
</template>
</template>
<
style
>
<
style
>
.statistic_number
{
.statistic_number
{
font-size
:
x-large
;
font-size
:
x-large
;
font-weight
:
bolder
;
font-weight
:
bolder
;
}
}
.statistic_title
{
.statistic_title
{
font-size
:
x-large
;
font-size
:
x-large
;
}
}
</
style
>
</
style
>
<
script
>
<
script
>
import
{
mapGetters
}
from
'vuex'
;
import
{
mapGetters
}
from
'vuex'
import
{
import
{
page
,
page
,
statistic
statistic
,
}
from
'../../../api/vehicle/departureLog'
;
findReserveType
import
{
}
from
'../../../api/vehicle/departureLog'
getAllCompany
,
import
{
getAllCompany
,
getAll
}
from
'api/base_info/branch_company/'
getAll
import
{
getAllZone
}
from
'api/base_info/constant/'
}
from
'api/base_info/branch_company/'
;
import
{
getAllBranchCompanyByZoneId
}
from
'api/order/rentVehicle'
import
{
import
{
getAllZone
}
from
'api/base_info/constant/'
;
import
{
getAllBranchCompanyByZoneId
}
from
'api/order/rentVehicle'
;
import
{
toEast8Date
,
toEast8Date
,
deepCopyDate
,
deepCopyDate
,
newEast8Date
,
newEast8Date
,
getYMD_date
getYMD_date
}
from
'utils/dateUtils'
;
}
from
'utils/dateUtils'
export
default
{
export
default
{
name
:
'vehicleDepartureLog'
,
name
:
'vehicleDepartureLog'
,
data
()
{
data
()
{
return
{
return
{
purpose
:
null
,
showMoreMoreCol
:
false
,
showMoreMoreCol
:
false
,
form
:
{
form
:
{
id
:
null
,
id
:
null
,
...
@@ -250,8 +343,8 @@
...
@@ -250,8 +343,8 @@
mileageStart
:
null
,
mileageStart
:
null
,
mileageEnd
:
null
,
mileageEnd
:
null
,
state
:
null
,
state
:
null
,
allCompaniesArr
:
[],
allCompaniesArr
:
[],
selectArry
:
[],
selectArry
:
[]
},
},
rules
:
{
rules
:
{
name
:
[
name
:
[
...
@@ -265,19 +358,23 @@
...
@@ -265,19 +358,23 @@
list
:
null
,
list
:
null
,
total
:
null
,
total
:
null
,
listLoading
:
true
,
listLoading
:
true
,
allBranchCompany
:
[],
allBranchCompany
:
[],
baranchQuery
:
{
baranchQuery
:
{
zoneId
:
null
zoneId
:
null
},
},
allZoneArr
:[],
//全部片区
allZoneArr
:
[],
//全部片区
state1
:
''
,
state1
:
''
,
arrivalBranchCompanyId
:
null
,
useArr
:[],
//用途
listQuery
:
{
listQuery
:
{
page
:
1
,
page
:
1
,
limit
:
20
,
limit
:
20
,
startTime
:
undefined
,
startTime
:
undefined
,
endTime
:
undefined
,
endTime
:
undefined
,
numberPlate
:
undefined
,
numberPlate
:
undefined
,
departureId
:
undefined
,
departureId
:
undefined
,
arrivalBranchCompanyId
:
null
,
use
:
null
},
},
dialogStatus
:
''
,
dialogStatus
:
''
,
textMap
:
{
textMap
:
{
...
@@ -295,144 +392,184 @@
...
@@ -295,144 +392,184 @@
}
}
},
},
created
()
{
created
()
{
let
t
=
this
;
let
t
=
this
const
numberPlate
=
this
.
$route
.
query
.
numberPlate
;
const
numberPlate
=
this
.
$route
.
query
.
numberPlate
if
(
numberPlate
)
{
if
(
numberPlate
)
{
this
.
listQuery
.
numberPlate
=
numberPlate
;
this
.
listQuery
.
numberPlate
=
numberPlate
}
}
getAll
()
.
then
(
response
=>
{
getAll
()
.
then
(
response
=>
{
this
.
allCompaniesArr
=
response
.
data
;
this
.
allCompaniesArr
=
response
.
data
let
query
=
localStorage
.
getItem
(
"vehicleDepartureLog"
);
let
query
=
localStorage
.
getItem
(
'vehicleDepartureLog'
)
if
(
query
!=
"null"
&&
query
&&
!
numberPlate
)
{
if
(
query
!=
'null'
&&
query
&&
!
numberPlate
)
{
this
.
listQuery
=
JSON
.
parse
(
query
);
this
.
listQuery
=
JSON
.
parse
(
query
)
if
(
t
.
listQuery
.
departureId
)
{
if
(
t
.
listQuery
.
departureId
)
{
t
.
allCompaniesArr
.
map
(
function
(
item
)
{
t
.
allCompaniesArr
.
map
(
function
(
item
)
{
if
(
item
.
id
==
t
.
listQuery
.
departureId
)
{
if
(
item
.
id
==
t
.
listQuery
.
departureId
)
{
t
.
state1
=
item
.
name
;
t
.
state1
=
item
.
name
}
}
});
})
}
}
}
}
t
.
handleFilter
();
t
.
handleFilter
()
})
findReserveType
().
then
(
data
=>
{
this
.
useArr
=
JSON
.
parse
(
data
.
data
).
type
console
.
log
(
this
.
useArr
);
})
})
},
},
computed
:
{
computed
:
{
...
mapGetters
([
...
mapGetters
([
'elements'
]),
'elements'
]),
//获取大区列表
//获取大区列表
getAllZoneList
()
{
getAllZoneList
()
{
return
getAllZone
();
return
getAllZone
()
},
}
},
},
methods
:
{
methods
:
{
//收车公司筛选
putCompanyChange
(
val
)
{
if
(
val
)
{
this
.
listQuery
.
arrivalBranchCompanyId
=
val
.
id
}
else
{
this
.
listQuery
.
arrivalBranchCompanyId
=
null
}
},
changeUse
(
val
){
if
(
!
val
)
this
.
listQuery
.
use
=
null
},
/**
/**
* 重置
* 重置
* */
* */
reloadPage
()
{
reloadPage
()
{
this
.
state1
=
''
;
this
.
state1
=
''
this
.
arrivalBranchCompanyId
=
null
this
.
listQuery
=
{
this
.
listQuery
=
{
page
:
1
,
page
:
1
,
limit
:
20
,
limit
:
20
,
startTime
:
undefined
,
startTime
:
undefined
,
endTime
:
undefined
,
endTime
:
undefined
,
numberPlate
:
undefined
,
numberPlate
:
undefined
,
departureId
:
undefined
,
departureId
:
undefined
,
};
arrivalBranchCompanyId
:
undefined
,
if
(
this
.
listQuery
){
use
:
undefined
localStorage
.
setItem
(
"vehicleDepartureLog"
,
JSON
.
stringify
(
this
.
listQuery
));
}
}
this
.
handleFilter
();
if
(
this
.
listQuery
)
{
localStorage
.
setItem
(
'vehicleDepartureLog'
,
JSON
.
stringify
(
this
.
listQuery
)
)
}
this
.
handleFilter
()
},
},
handleFilter
()
{
handleFilter
()
{
this
.
listQuery
.
page
=
1
this
.
listQuery
.
page
=
1
if
(
this
.
listQuery
){
if
(
this
.
listQuery
)
{
localStorage
.
setItem
(
"vehicleDepartureLog"
,
JSON
.
stringify
(
this
.
listQuery
));
localStorage
.
setItem
(
'vehicleDepartureLog'
,
JSON
.
stringify
(
this
.
listQuery
)
)
}
}
this
.
getList
();
this
.
getList
()
if
(
this
.
listQuery
.
numberPlate
)
{
if
(
this
.
listQuery
.
numberPlate
)
{
statistic
({
numberPlate
:
this
.
listQuery
.
numberPlate
}).
then
(
response
=>
{
statistic
({
numberPlate
:
this
.
listQuery
.
numberPlate
}).
then
(
this
.
statisticData
=
response
.
data
;
response
=>
{
});
if
(
response
.
status
==
200
)
{
this
.
statisticVisiable
=
true
;
this
.
statisticData
=
response
.
data
this
.
statisticVisiable
=
true
}
else
{
this
.
$message
(
response
.
message
)
}
}
)
}
}
},
},
dateToString
:
function
(
date
)
{
dateToString
:
function
(
date
)
{
var
year
=
date
.
getFullYear
();
var
year
=
date
.
getFullYear
()
var
month
=
(
date
.
getMonth
()
+
1
).
toString
();
var
month
=
(
date
.
getMonth
()
+
1
).
toString
()
var
day
=
(
date
.
getDate
()).
toString
();
var
day
=
date
.
getDate
().
toString
()
if
(
month
.
length
==
1
)
{
if
(
month
.
length
==
1
)
{
month
=
"0"
+
month
;
month
=
'0'
+
month
}
}
if
(
day
.
length
==
1
)
{
if
(
day
.
length
==
1
)
{
day
=
"0"
+
day
;
day
=
'0'
+
day
}
}
var
dateTime
=
year
+
"-"
+
month
+
"-"
+
day
;
var
dateTime
=
year
+
'-'
+
month
+
'-'
+
day
return
dateTime
;
return
dateTime
},
},
getList
()
{
getList
()
{
this
.
listLoading
=
true
;
this
.
listLoading
=
true
if
(
!
this
.
listQuery
.
numberPlate
)
{
if
(
!
this
.
listQuery
.
numberPlate
)
{
this
.
statisticVisiable
=
false
;
this
.
statisticVisiable
=
false
}
}
if
(
this
.
listQuery
.
startTime
)
{
if
(
this
.
listQuery
.
startTime
)
{
this
.
listQuery
.
startTime
=
getYMD_date
(
new
Date
(
this
.
listQuery
.
startTime
));
this
.
listQuery
.
startTime
=
getYMD_date
(
new
Date
(
this
.
listQuery
.
startTime
)
)
}
}
if
(
this
.
listQuery
.
endTime
)
{
if
(
this
.
listQuery
.
endTime
)
{
this
.
listQuery
.
endTime
=
getYMD_date
(
new
Date
(
this
.
listQuery
.
endTime
));
this
.
listQuery
.
endTime
=
getYMD_date
(
new
Date
(
this
.
listQuery
.
endTime
)
)
}
}
if
(
!
this
.
state1
)
{
if
(
!
this
.
state1
)
{
this
.
listQuery
.
departureId
=
undefined
;
this
.
listQuery
.
departureId
=
undefined
}
}
page
(
this
.
listQuery
)
page
(
this
.
listQuery
).
then
(
response
=>
{
.
then
(
response
=>
{
this
.
list
=
response
.
data
.
list
this
.
list
=
response
.
data
.
list
;
this
.
total
=
response
.
data
.
total
this
.
total
=
response
.
data
.
total
;
this
.
listLoading
=
false
this
.
listLoading
=
false
;
})
})
},
},
querySearch
(
queryString
,
cb
)
{
querySearch
(
queryString
,
cb
)
{
let
selectArry
=
[];
let
selectArry
=
[]
let
iitem
=
{
let
iitem
=
{
value
:
"全部"
,
value
:
'全部'
,
name
:
"全部"
name
:
'全部'
};
}
selectArry
.
push
(
iitem
);
selectArry
.
push
(
iitem
)
this
.
allCompaniesArr
.
map
(
function
(
item
)
{
this
.
allCompaniesArr
.
map
(
function
(
item
)
{
item
.
value
=
item
.
name
;
item
.
value
=
item
.
name
selectArry
.
push
(
item
);
selectArry
.
push
(
item
)
});
})
this
.
selectArry
=
selectArry
;
this
.
selectArry
=
selectArry
var
results
=
queryString
?
selectArry
.
filter
(
this
.
createFilter
(
queryString
))
:
selectArry
;
var
results
=
queryString
?
selectArry
.
filter
(
this
.
createFilter
(
queryString
))
:
selectArry
// 调用 callback 返回建议列表的数据
// 调用 callback 返回建议列表的数据
cb
(
results
);
cb
(
results
)
},
},
createFilter
(
queryString
)
{
createFilter
(
queryString
)
{
return
(
restaurant
)
=>
{
return
restaurant
=>
{
return
(
restaurant
.
name
.
indexOf
(
queryString
.
toLowerCase
())
!=
-
1
);
return
restaurant
.
name
.
indexOf
(
queryString
.
toLowerCase
())
!=
-
1
};
}
},
},
handleSelect
(
item
)
{
handleSelect
(
item
)
{
if
(
item
.
value
==
"全部"
)
{
if
(
item
.
value
==
'全部'
)
{
this
.
listQuery
.
departureId
=
undefined
;
this
.
listQuery
.
departureId
=
undefined
}
else
{
}
else
{
this
.
listQuery
.
departureId
=
item
.
id
;
this
.
listQuery
.
departureId
=
item
.
id
}
}
},
},
handleSizeChange
(
val
)
{
handleSizeChange
(
val
)
{
this
.
listQuery
.
limit
=
val
;
this
.
listQuery
.
limit
=
val
if
(
this
.
listQuery
){
if
(
this
.
listQuery
)
{
localStorage
.
setItem
(
"vehicleDepartureLog"
,
JSON
.
stringify
(
this
.
listQuery
));
localStorage
.
setItem
(
'vehicleDepartureLog'
,
JSON
.
stringify
(
this
.
listQuery
)
)
}
}
this
.
getList
();
this
.
getList
()
},
},
handleCurrentChange
(
val
)
{
handleCurrentChange
(
val
)
{
this
.
listQuery
.
page
=
val
;
this
.
listQuery
.
page
=
val
if
(
this
.
listQuery
){
if
(
this
.
listQuery
)
{
localStorage
.
setItem
(
"vehicleDepartureLog"
,
JSON
.
stringify
(
this
.
listQuery
));
localStorage
.
setItem
(
'vehicleDepartureLog'
,
JSON
.
stringify
(
this
.
listQuery
)
)
}
}
this
.
getList
();
this
.
getList
()
},
}
}
}
}
}
</
script
>
</
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