Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
C
CRM
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
华国豪
CRM
Commits
832c6eb6
Commit
832c6eb6
authored
May 18, 2022
by
罗超
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
新增统计数据
parent
a71f2a7b
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
843 additions
and
433 deletions
+843
-433
router.js
src/router.js
+451
-433
dayStatistics.vue
src/views/workstatistics/dayStatistics.vue
+164
-0
monthStatistics.vue
src/views/workstatistics/monthStatistics.vue
+228
-0
No files found.
src/router.js
View file @
832c6eb6
...
...
@@ -26,454 +26,472 @@ export default new Router({
mode
:
"hash"
,
base
:
process
.
env
.
BASE_URL
,
routes
:
[{
path
:
"/login"
,
name
:
"login"
,
component
:
login
,
path
:
"/login"
,
name
:
"login"
,
component
:
login
,
meta
:
{
title
:
"欢迎使用CRM系统-请登录使用"
,
"http-equiv"
:
"X-UA-Compatible"
,
content
:
"IE=Edge,chrome=1"
}
},
{
path
:
"/"
,
name
:
"login"
,
component
:
login
,
meta
:
{
title
:
"欢迎使用CRM系统-请登录使用"
,
"http-equiv"
:
"X-UA-Compatible"
,
content
:
"IE=Edge,chrome=1"
}
},
{
path
:
"/automaticLogin"
,
name
:
"automaticLogin"
,
component
:
automaticLogin
,
meta
:
{
title
:
"欢迎使用CRM系统-自动登录"
,
"http-equiv"
:
"X-UA-Compatible"
,
content
:
"IE=Edge,chrome=1"
}
},
{
path
:
"/index"
,
name
:
"index"
,
component
:
index
,
meta
:
{
title
:
"大象CRM"
,
"http-equiv"
:
"X-UA-Compatible"
,
content
:
"IE=Edge,chrome=1"
},
children
:
[{
path
:
"/Home"
,
name
:
"Home"
,
component
:
Home
,
meta
:
{
title
:
"CRM-仪表盘"
,
},
},
{
path
:
"/customerManage"
,
name
:
"customerManage"
,
component
:
customerManage
,
meta
:
{
title
:
"欢迎使用CRM系统-请登录使用"
,
"http-equiv"
:
"X-UA-Compatible"
,
content
:
"IE=Edge,chrome=1"
title
:
"客户管理"
}
},
{
path
:
"/"
,
name
:
"
login
"
,
component
:
login
,
path
:
"/
customerManageDemo
"
,
name
:
"
customerManageDemo
"
,
component
:
customerManageDemo
,
meta
:
{
title
:
"欢迎使用CRM系统-请登录使用"
,
"http-equiv"
:
"X-UA-Compatible"
,
content
:
"IE=Edge,chrome=1"
title
:
"客户管理"
}
},
{
path
:
"/
automaticLogin
"
,
name
:
"
automaticLogin
"
,
component
:
automaticLogin
,
path
:
"/
businessManagement
"
,
name
:
"
businessManagement
"
,
component
:
businessManagement
,
meta
:
{
title
:
"欢迎使用CRM系统-自动登录"
,
"http-equiv"
:
"X-UA-Compatible"
,
content
:
"IE=Edge,chrome=1"
title
:
"商机管理"
}
},
{
path
:
"/
index
"
,
name
:
"
index
"
,
component
:
index
,
path
:
"/
clueManagement
"
,
name
:
"
clueManagement
"
,
component
:
clueManagement
,
meta
:
{
title
:
"大象CRM"
,
"http-equiv"
:
"X-UA-Compatible"
,
content
:
"IE=Edge,chrome=1"
},
children
:
[{
path
:
"/Home"
,
name
:
"Home"
,
component
:
Home
,
meta
:
{
title
:
"CRM-仪表盘"
,
},
},
{
path
:
"/customerManage"
,
name
:
"customerManage"
,
component
:
customerManage
,
meta
:
{
title
:
"客户管理"
}
},
{
path
:
"/customerManageDemo"
,
name
:
"customerManageDemo"
,
component
:
customerManageDemo
,
meta
:
{
title
:
"客户管理"
}
},
{
path
:
"/businessManagement"
,
name
:
"businessManagement"
,
component
:
businessManagement
,
meta
:
{
title
:
"商机管理"
}
},
{
path
:
"/clueManagement"
,
name
:
"clueManagement"
,
component
:
clueManagement
,
meta
:
{
title
:
"线索管理"
}
},
{
path
:
"/contactsManagement"
,
name
:
"contactsManagement"
,
component
:
contactsManagement
,
meta
:
{
title
:
"联系人管理"
}
},
{
path
:
"/watersManagement"
,
name
:
"watersManagement"
,
component
:
watersManagement
,
meta
:
{
title
:
"公海管理"
}
},
{
path
:
"/waitMatter"
,
name
:
"waitMatter"
,
component
:
waitMatter
,
meta
:
{
title
:
"待办事项"
}
},
{
path
:
"/datasheet"
,
name
:
"datasheet"
,
component
:
datasheet
,
meta
:
{
title
:
"数据明细"
}
},
{
path
:
"/old"
,
name
:
"old"
,
component
:
()
=>
import
(
'./components/statistics/old.vue'
),
meta
:
{
title
:
"客户年龄分布统计"
}
},
{
path
:
"/marital"
,
name
:
"marital"
,
component
:
()
=>
import
(
'./components/statistics/marital.vue'
),
meta
:
{
title
:
"客户婚姻状态统计"
}
},
{
path
:
"/sex"
,
name
:
"sex"
,
component
:
()
=>
import
(
'./components/statistics/sex.vue'
),
meta
:
{
title
:
"客户性别统计"
}
},
{
path
:
"/tourType"
,
name
:
"tourType"
,
component
:
()
=>
import
(
'./components/statistics/tourType.vue'
),
meta
:
{
title
:
"出游类型统计"
}
},
{
path
:
"/festivalOrderList"
,
name
:
"festivalOrderList"
,
component
:
()
=>
import
(
'./components/statistics/festivalOrderList.vue'
),
meta
:
{
title
:
"特殊节假日统计"
}
},
{
path
:
"/marriage"
,
name
:
"marriage"
,
component
:
()
=>
import
(
'./components/statistics/marriage.vue'
),
meta
:
{
title
:
"婚姻统计"
}
},
{
path
:
"/sellevent"
,
name
:
"sellevent"
,
component
:
()
=>
import
(
'./components/sellevent/index.vue'
),
meta
:
{
title
:
"营销事件"
}
},
{
path
:
"/birthdayEvent"
,
name
:
"birthdayEvent"
,
component
:
()
=>
import
(
'./components/sellevent/brithday.vue'
),
meta
:
{
title
:
"生日事件"
}
},
{
path
:
"/graduationEvent"
,
name
:
"graduationEvent"
,
component
:
()
=>
import
(
'./components/sellevent/graduation.vue'
),
meta
:
{
title
:
"毕业季事件"
}
},
{
path
:
"/festivalEvent"
,
name
:
"festivalEvent"
,
component
:
()
=>
import
(
'./components/sellevent/festival.vue'
),
meta
:
{
title
:
"节日事件"
}
},
{
path
:
"/emergencyEvent"
,
name
:
"emergencyEvent"
,
component
:
()
=>
import
(
'./components/sellevent/emergency.vue'
),
meta
:
{
title
:
"突发事件"
}
},
{
path
:
"/feedbackEvent"
,
name
:
"feedbackEvent"
,
component
:
()
=>
import
(
'./components/sellevent/feedback.vue'
),
meta
:
{
title
:
"意见反馈事件"
}
},
{
path
:
"/nexttimeEvent"
,
name
:
"nexttimeEvent"
,
component
:
()
=>
import
(
'./components/sellevent/nexttime.vue'
),
meta
:
{
title
:
"下次出行事件"
}
},
{
path
:
"/newlineEvent"
,
name
:
"newlineEvent"
,
component
:
()
=>
import
(
'./components/sellevent/newline.vue'
),
meta
:
{
title
:
"新线路推广事件"
}
},
{
path
:
"/newseriesEvent"
,
name
:
"newseriesEvent"
,
component
:
()
=>
import
(
'./components/sellevent/newseries.vue'
),
meta
:
{
title
:
"新系列推广事件"
}
},
{
path
:
"/happyPassbook"
,
name
:
"happyPassbook"
,
component
:
()
=>
import
(
'./components/sellevent/happyPassbook.vue'
),
meta
:
{
title
:
"返佣、幸福存折通知事件"
}
},
{
path
:
"/newfestivalEvent"
,
name
:
"newfestivalEvent"
,
component
:
()
=>
import
(
'./components/sellevent/newfestival.vue'
),
meta
:
{
title
:
"节日事件"
}
},
{
path
:
"/gaoxiao"
,
name
:
"gaoxiao"
,
component
:
()
=>
import
(
'./components/statistics/gaoxiao.vue'
),
meta
:
{
title
:
"高校在读/毕业统计"
}
},
{
path
:
"/job"
,
name
:
"job"
,
component
:
()
=>
import
(
'./components/statistics/job.vue'
),
meta
:
{
title
:
"职业类型统计"
}
},
{
path
:
"/assets"
,
name
:
"assets"
,
component
:
()
=>
import
(
'./components/statistics/assets.vue'
),
meta
:
{
title
:
"资产"
}
},
{
path
:
"/deving"
,
name
:
"deving"
,
component
:
()
=>
import
(
'./components/dev/index.vue'
),
meta
:
{
title
:
"开发中..."
}
},
{
path
:
"/deving1"
,
name
:
"deving1"
,
component
:
()
=>
import
(
'./components/dev/index.vue'
),
meta
:
{
title
:
"开发中..."
}
},
{
path
:
"/deving2"
,
name
:
"deving2"
,
component
:
()
=>
import
(
'./components/dev/index.vue'
),
meta
:
{
title
:
"开发中..."
}
},
{
path
:
"/deving3"
,
name
:
"deving3"
,
component
:
()
=>
import
(
'./components/dev/index.vue'
),
meta
:
{
title
:
"开发中..."
}
},
{
path
:
"/deving4"
,
name
:
"deving4"
,
component
:
()
=>
import
(
'./components/dev/index.vue'
),
meta
:
{
title
:
"开发中..."
}
},
{
path
:
"/deving5"
,
name
:
"deving5"
,
component
:
()
=>
import
(
'./components/dev/index.vue'
),
meta
:
{
title
:
"开发中..."
}
},
{
path
:
"/roomStatistical"
,
name
:
"roomStatistical"
,
component
:
()
=>
import
(
'./components/statistics/roomStatistical.vue'
),
meta
:
{
title
:
"住房统计"
}
},
{
path
:
"/season"
,
name
:
"season"
,
component
:
()
=>
import
(
'./components/statistics/season.vue'
),
meta
:
{
title
:
"季节"
}
},
{
path
:
"/Opinionpolls"
,
name
:
"Opinionpolls"
,
component
:
()
=>
import
(
'./components/statistics/Opinionpolls.vue'
),
meta
:
{
title
:
"意见调查"
}
},
title
:
"线索管理"
}
},
{
path
:
"/contactsManagement"
,
name
:
"contactsManagement"
,
component
:
contactsManagement
,
meta
:
{
title
:
"联系人管理"
}
},
{
path
:
"/watersManagement"
,
name
:
"watersManagement"
,
component
:
watersManagement
,
meta
:
{
title
:
"公海管理"
}
},
{
path
:
"/waitMatter"
,
name
:
"waitMatter"
,
component
:
waitMatter
,
meta
:
{
title
:
"待办事项"
}
},
{
path
:
"/datasheet"
,
name
:
"datasheet"
,
component
:
datasheet
,
meta
:
{
title
:
"数据明细"
}
},
{
path
:
"/old"
,
name
:
"old"
,
component
:
()
=>
import
(
'./components/statistics/old.vue'
),
meta
:
{
title
:
"客户年龄分布统计"
}
},
{
path
:
"/marital"
,
name
:
"marital"
,
component
:
()
=>
import
(
'./components/statistics/marital.vue'
),
meta
:
{
title
:
"客户婚姻状态统计"
}
},
{
path
:
"/sex"
,
name
:
"sex"
,
component
:
()
=>
import
(
'./components/statistics/sex.vue'
),
meta
:
{
title
:
"客户性别统计"
}
},
{
path
:
"/tourType"
,
name
:
"tourType"
,
component
:
()
=>
import
(
'./components/statistics/tourType.vue'
),
meta
:
{
title
:
"出游类型统计"
}
},
{
path
:
"/festivalOrderList"
,
name
:
"festivalOrderList"
,
component
:
()
=>
import
(
'./components/statistics/festivalOrderList.vue'
),
meta
:
{
title
:
"特殊节假日统计"
}
},
{
path
:
"/marriage"
,
name
:
"marriage"
,
component
:
()
=>
import
(
'./components/statistics/marriage.vue'
),
meta
:
{
title
:
"婚姻统计"
}
},
{
path
:
"/sellevent"
,
name
:
"sellevent"
,
component
:
()
=>
import
(
'./components/sellevent/index.vue'
),
meta
:
{
title
:
"营销事件"
}
},
{
path
:
"/birthdayEvent"
,
name
:
"birthdayEvent"
,
component
:
()
=>
import
(
'./components/sellevent/brithday.vue'
),
meta
:
{
title
:
"生日事件"
}
},
{
path
:
"/graduationEvent"
,
name
:
"graduationEvent"
,
component
:
()
=>
import
(
'./components/sellevent/graduation.vue'
),
meta
:
{
title
:
"毕业季事件"
}
},
{
path
:
"/festivalEvent"
,
name
:
"festivalEvent"
,
component
:
()
=>
import
(
'./components/sellevent/festival.vue'
),
meta
:
{
title
:
"节日事件"
}
},
{
path
:
"/emergencyEvent"
,
name
:
"emergencyEvent"
,
component
:
()
=>
import
(
'./components/sellevent/emergency.vue'
),
meta
:
{
title
:
"突发事件"
}
},
{
path
:
"/feedbackEvent"
,
name
:
"feedbackEvent"
,
component
:
()
=>
import
(
'./components/sellevent/feedback.vue'
),
meta
:
{
title
:
"意见反馈事件"
}
},
{
path
:
"/nexttimeEvent"
,
name
:
"nexttimeEvent"
,
component
:
()
=>
import
(
'./components/sellevent/nexttime.vue'
),
meta
:
{
title
:
"下次出行事件"
}
},
{
path
:
"/newlineEvent"
,
name
:
"newlineEvent"
,
component
:
()
=>
import
(
'./components/sellevent/newline.vue'
),
meta
:
{
title
:
"新线路推广事件"
}
},
{
path
:
"/newseriesEvent"
,
name
:
"newseriesEvent"
,
component
:
()
=>
import
(
'./components/sellevent/newseries.vue'
),
meta
:
{
title
:
"新系列推广事件"
}
},
{
path
:
"/happyPassbook"
,
name
:
"happyPassbook"
,
component
:
()
=>
import
(
'./components/sellevent/happyPassbook.vue'
),
meta
:
{
title
:
"返佣、幸福存折通知事件"
}
},
{
path
:
"/newfestivalEvent"
,
name
:
"newfestivalEvent"
,
component
:
()
=>
import
(
'./components/sellevent/newfestival.vue'
),
meta
:
{
title
:
"节日事件"
}
},
{
path
:
"/gaoxiao"
,
name
:
"gaoxiao"
,
component
:
()
=>
import
(
'./components/statistics/gaoxiao.vue'
),
meta
:
{
title
:
"高校在读/毕业统计"
}
},
{
path
:
"/job"
,
name
:
"job"
,
component
:
()
=>
import
(
'./components/statistics/job.vue'
),
meta
:
{
title
:
"职业类型统计"
}
},
{
path
:
"/assets"
,
name
:
"assets"
,
component
:
()
=>
import
(
'./components/statistics/assets.vue'
),
meta
:
{
title
:
"资产"
}
},
{
path
:
"/deving"
,
name
:
"deving"
,
component
:
()
=>
import
(
'./components/dev/index.vue'
),
meta
:
{
title
:
"开发中..."
}
},
{
path
:
"/deving1"
,
name
:
"deving1"
,
component
:
()
=>
import
(
'./components/dev/index.vue'
),
meta
:
{
title
:
"开发中..."
}
},
{
path
:
"/deving2"
,
name
:
"deving2"
,
component
:
()
=>
import
(
'./components/dev/index.vue'
),
meta
:
{
title
:
"开发中..."
}
},
{
path
:
"/deving3"
,
name
:
"deving3"
,
component
:
()
=>
import
(
'./components/dev/index.vue'
),
meta
:
{
title
:
"开发中..."
}
},
{
path
:
"/deving4"
,
name
:
"deving4"
,
component
:
()
=>
import
(
'./components/dev/index.vue'
),
meta
:
{
title
:
"开发中..."
}
},
{
path
:
"/deving5"
,
name
:
"deving5"
,
component
:
()
=>
import
(
'./components/dev/index.vue'
),
meta
:
{
title
:
"开发中..."
}
},
{
path
:
"/dayStatistics"
,
name
:
"dayStatistics"
,
component
:
()
=>
import
(
'./views/workstatistics/dayStatistics'
),
meta
:
{
title
:
"每日引流统计"
}
},
{
path
:
"/monthStatistics"
,
name
:
"monthStatistics"
,
component
:
()
=>
import
(
'./views/workstatistics/monthStatistics'
),
meta
:
{
title
:
"月度引流统计"
}
},
{
path
:
"/roomStatistical"
,
name
:
"roomStatistical"
,
component
:
()
=>
import
(
'./components/statistics/roomStatistical.vue'
),
meta
:
{
title
:
"住房统计"
}
},
{
path
:
"/season"
,
name
:
"season"
,
component
:
()
=>
import
(
'./components/statistics/season.vue'
),
meta
:
{
title
:
"季节"
}
},
{
path
:
"/Opinionpolls"
,
name
:
"Opinionpolls"
,
component
:
()
=>
import
(
'./components/statistics/Opinionpolls.vue'
),
meta
:
{
title
:
"意见调查"
}
},
{
path
:
"/unit"
,
name
:
"unit"
,
component
:
()
=>
import
(
'./components/statistics/unit.vue'
),
meta
:
{
title
:
"单位"
}
},
{
path
:
"/contractManagement"
,
name
:
"contractManagement"
,
component
:
contractManagement
,
meta
:
{
title
:
"合同管理"
}
},
{
path
:
"/guestManagement"
,
name
:
"guestManagement"
,
component
:
guestManagement
,
meta
:
{
title
:
"直客管理"
}
},
{
path
:
"/customerApr"
,
name
:
"customerApr"
,
component
:
customerApr
,
meta
:
{
title
:
"客户审批"
}
},
{
path
:
"/customerMap"
,
name
:
"customerMap"
,
component
:
customerMap
,
meta
:
{
title
:
"客户地图"
}
},
{
path
:
"/customerConfiguration"
,
name
:
"customerConfiguration"
,
component
:
customerConfiguration
,
meta
:
{
title
:
"客户配置"
}
},
{
path
:
"/customerOrder"
,
name
:
"customerOrder"
,
component
:
customerOrder
,
meta
:
{
title
:
"订单统计"
}
},
{
path
:
"/myCustomerOrder"
,
name
:
"myCustomerOrder"
,
component
:
myCustomerOrder
,
meta
:
{
title
:
"我的订单"
}
},
{
path
:
"/planeTicketOrder"
,
name
:
"planeTicketOrder"
,
component
:
planeTicketOrder
,
meta
:
{
title
:
"订单核算统计"
}
}
]
},
{
path
:
'/table'
,
name
:
'table'
,
component
:
resolve
=>
require
([
'@/views/table.vue'
],
resolve
),
meta
:
{
title
:
'表格测试'
{
path
:
"/unit"
,
name
:
"unit"
,
component
:
()
=>
import
(
'./components/statistics/unit.vue'
),
meta
:
{
title
:
"单位"
}
},
{
path
:
"/contractManagement"
,
name
:
"contractManagement"
,
component
:
contractManagement
,
meta
:
{
title
:
"合同管理"
}
},
{
path
:
"/guestManagement"
,
name
:
"guestManagement"
,
component
:
guestManagement
,
meta
:
{
title
:
"直客管理"
}
},
{
path
:
"/customerApr"
,
name
:
"customerApr"
,
component
:
customerApr
,
meta
:
{
title
:
"客户审批"
}
},
{
path
:
"/customerMap"
,
name
:
"customerMap"
,
component
:
customerMap
,
meta
:
{
title
:
"客户地图"
}
},
{
path
:
"/customerConfiguration"
,
name
:
"customerConfiguration"
,
component
:
customerConfiguration
,
meta
:
{
title
:
"客户配置"
}
},
{
path
:
"/customerOrder"
,
name
:
"customerOrder"
,
component
:
customerOrder
,
meta
:
{
title
:
"订单统计"
}
},
{
path
:
"/myCustomerOrder"
,
name
:
"myCustomerOrder"
,
component
:
myCustomerOrder
,
meta
:
{
title
:
"我的订单"
}
},
{
path
:
"/planeTicketOrder"
,
name
:
"planeTicketOrder"
,
component
:
planeTicketOrder
,
meta
:
{
title
:
"订单核算统计"
}
}
]
},
{
path
:
'/table'
,
name
:
'table'
,
component
:
resolve
=>
require
([
'@/views/table.vue'
],
resolve
),
meta
:
{
title
:
'表格测试'
}
}
]
});
\ No newline at end of file
src/views/workstatistics/dayStatistics.vue
0 → 100644
View file @
832c6eb6
<
template
>
<div
class=
"customerManage"
>
<div
class=
"tools"
>
<div
class=
"tools-item"
>
<h1>
每日引流统计
</h1>
</div>
<div
style=
"width: 340px;"
>
<el-date-picker
v-model=
"msg.month"
type=
"month"
icon=
"el-icon-date"
slot=
"append"
class=
"input-with-select"
@
change=
"changeMonthHandler"
placeholder=
"选择查询的月份"
>
</el-date-picker>
</div>
<div
class=
"rightmenu"
>
<el-dropdown>
<el-button
class=
"crm-btn crm-btn-more easy-btn margin-right0"
>
<i
class=
"iconfont icongengduo"
></i>
</el-button>
<el-dropdown-menu
slot=
"dropdown"
>
<el-dropdown-item><i
class=
"iconfont icondaochu"
></i>
导出
</el-dropdown-item>
</el-dropdown-menu>
</el-dropdown>
</div>
</div>
<div
class=
"page-content"
style=
"padding-bottom:20px;"
>
<el-table
:data=
"tableData"
tooltip-effect=
"dark"
v-loading=
"loading"
style=
"width: 100%;height:100%;"
border
:cell-class-name=
"tableCellClassName"
:row-class-name=
"tableRowClassName"
>
<el-table-column
prop=
"DateStr"
label=
""
>
</el-table-column>
<el-table-column
prop=
"PushCount"
label=
"引流总数"
>
</el-table-column>
<el-table-column
prop=
"EffectiveCount"
label=
"有效总数"
>
</el-table-column>
<el-table-column
prop=
"InvalidCount"
label=
"无效总数"
>
</el-table-column>
<el-table-column
prop=
"RedBookCount"
label=
"小红书总数"
>
</el-table-column>
<el-table-column
prop=
"DouYinCount"
label=
"抖音总数"
>
</el-table-column>
<el-table-column
prop=
"FlyingPigCount"
label=
"飞猪总数"
>
</el-table-column>
<el-table-column
prop=
"GroupChatCount"
label=
"社群聊天总数"
>
</el-table-column>
<el-table-column
prop=
"OfflineVisitCount"
label=
"线下拜访总数"
>
</el-table-column>
<el-table-column
prop=
"StraightCustomerCount"
label=
"直客介绍总数"
>
</el-table-column>
<el-table-column
prop=
"PeerCount"
label=
"同业介绍总数"
>
</el-table-column>
<el-table-column
prop=
"OtherCount"
label=
"其他介绍总数"
>
</el-table-column>
<el-table-column
prop=
"OrderCount"
label=
"订单总数"
>
</el-table-column>
<el-table-column
prop=
"TicketOrderCount"
label=
"机票订单总数"
>
</el-table-column>
<el-table-column
prop=
"VisaOrderCount"
label=
"签证订单总数"
>
</el-table-column>
<el-table-column
prop=
"GroundOrderCount"
label=
"地接订单总数"
>
</el-table-column>
<el-table-column
prop=
"ComboOrderCount"
label=
"套餐订单总数"
>
</el-table-column>
</el-table>
</div>
</div>
</
template
>
<
script
>
export
default
{
data
()
{
return
{
msg
:
{
month
:
""
,
YearStr
:
""
,
MonthStr
:
""
,
},
total
:
0
,
tableData
:
[],
loading
:
false
,
};
},
created
()
{
let
d
=
new
Date
();
this
.
msg
.
month
=
d
;
this
.
msg
.
YearStr
=
d
.
getFullYear
();
this
.
msg
.
MonthStr
=
d
.
getMonth
()
+
1
;
},
mounted
()
{
this
.
init
();
},
methods
:
{
init
()
{
if
(
this
.
loading
)
return
;
this
.
loading
=
true
;
this
.
apipost
(
"/api/ClueStatic/GetClueDay"
,
this
.
msg
,
(
res
)
=>
{
console
.
log
(
res
);
this
.
loading
=
false
;
this
.
tableData
=
res
.
data
.
data
;
},
(
e
)
=>
{
this
.
loading
=
false
;
}
);
},
tableRowClassName
({
row
})
{
let
cname
=
"font-size-12"
;
if
(
row
.
DateStr
==
"总数"
||
row
.
DateStr
==
"上期总数"
||
row
.
DateStr
==
"环比成长"
)
{
cname
+=
" xiaoji-row"
;
}
else
if
(
row
.
DateStr
==
"月总数"
)
{
cname
+=
" sum-row"
;
}
return
cname
;
},
tableCellClassName
({
row
,
column
})
{
if
(
row
[
column
.
property
].
toString
().
indexOf
(
"-"
)
!=
-
1
&&
column
.
property
!=
"DateStr"
)
{
return
"warning-col"
;
}
else
if
(
column
.
property
==
"InvalidCount"
)
{
if
(
parseFloat
(
row
[
column
.
property
])
/
parseFloat
(
row
.
PushCount
)
>=
0.2
)
{
return
"warning-col"
;
}
}
},
changeMonthHandler
(
val
)
{
this
.
msg
.
YearStr
=
val
.
getFullYear
();
this
.
msg
.
MonthStr
=
val
.
getMonth
()
+
1
;
console
.
log
(
this
.
msg
);
this
.
init
();
},
},
};
</
script
>
<
style
>
@import
"../../assets/css/customerManage.css"
;
.el-table__fixed-body-wrapper
table
{
padding-bottom
:
8px
!important
;
}
.el-table
.xiaoji-row
{
background
:
#ffff00
;
}
.el-table
.sum-row
{
background
:
#00b0f0
;
}
.el-table
.warning-col
{
background
:
red
;
}
</
style
>
src/views/workstatistics/monthStatistics.vue
0 → 100644
View file @
832c6eb6
<
template
>
<div
class=
"customerManage"
style=
"display:flex;height:calc(100% - 20px);flex-direction:column;"
>
<div
class=
"tools"
style=
"border:none;"
>
<div
class=
"tools-item"
>
<h1>
月度引流统计
</h1>
</div>
<div
style=
"width: 340px;"
>
<el-date-picker
v-model=
"msg.month"
type=
"year"
icon=
"el-icon-date"
slot=
"append"
class=
"input-with-select"
format=
"yyyy 年"
@
change=
"changeMonthHandler"
placeholder=
"选择查询的月份"
>
</el-date-picker>
</div>
<div
class=
"rightmenu"
>
<el-dropdown>
<el-button
class=
"crm-btn crm-btn-more easy-btn margin-right0"
>
<i
class=
"iconfont icongengduo"
></i>
</el-button>
<el-dropdown-menu
slot=
"dropdown"
>
<el-dropdown-item><i
class=
"iconfont icondaochu"
></i>
导出
</el-dropdown-item>
</el-dropdown-menu>
</el-dropdown>
</div>
</div>
<el-tabs
v-model=
"activeName"
style=
"flex:1;height:100%;"
class=
"diy-eltabs"
tab-position=
"top"
>
<el-tab-pane
label=
"月度数据"
name=
"monthdata"
style=
"background:#000"
>
<div
class=
"data-box-item"
>
<el-table
:data=
"tableData"
tooltip-effect=
"dark"
v-loading=
"loading"
style=
"width: 100%;height:100%;overflow: auto;"
border
:cell-class-name=
"tableCellClassName"
:row-class-name=
"tableRowClassName"
>
<el-table-column
prop=
"DateStr"
label=
""
>
</el-table-column>
<el-table-column
prop=
"PushCount"
label=
"引流总数"
>
</el-table-column>
<el-table-column
prop=
"EffectiveCount"
label=
"有效总数"
>
</el-table-column>
<el-table-column
prop=
"InvalidCount"
label=
"无效总数"
>
</el-table-column>
<el-table-column
prop=
"RedBookCount"
label=
"小红书总数"
>
</el-table-column>
<el-table-column
prop=
"DouYinCount"
label=
"抖音总数"
>
</el-table-column>
<el-table-column
prop=
"FlyingPigCount"
label=
"飞猪总数"
>
</el-table-column>
<el-table-column
prop=
"GroupChatCount"
label=
"社群聊天总数"
>
</el-table-column>
<el-table-column
prop=
"OfflineVisitCount"
label=
"线下拜访总数"
>
</el-table-column>
<el-table-column
prop=
"StraightCustomerCount"
label=
"直客介绍总数"
>
</el-table-column>
<el-table-column
prop=
"PeerCount"
label=
"同业介绍总数"
>
</el-table-column>
<el-table-column
prop=
"OtherCount"
label=
"其他介绍总数"
>
</el-table-column>
<el-table-column
prop=
"OrderCount"
label=
"订单总数"
>
</el-table-column>
<el-table-column
prop=
"TicketOrderCount"
label=
"机票订单总数"
>
</el-table-column>
<el-table-column
prop=
"VisaOrderCount"
label=
"签证订单总数"
>
</el-table-column>
<el-table-column
prop=
"GroundOrderCount"
label=
"地接订单总数"
>
</el-table-column>
<el-table-column
prop=
"ComboOrderCount"
label=
"套餐订单总数"
>
</el-table-column>
</el-table>
</div>
</el-tab-pane>
<el-tab-pane
label=
"月度成长率"
name=
"monthrate"
>
<div
class=
"data-box-item"
>
<el-table
:data=
"rateData"
:formatter=
"formatter"
tooltip-effect=
"dark"
v-loading=
"rateLoading"
style=
"width: 100%;height:100%;overflow: auto;"
border
:cell-class-name=
"tableCellClassName"
:row-class-name=
"tableRowClassName"
>
<el-table-column
prop=
"ItemName"
label=
""
>
</el-table-column>
<el-table-column
prop=
"JanuaryRate"
label=
"1月"
:formatter=
"formatter"
>
</el-table-column>
<el-table-column
prop=
"FebruaryRate"
label=
"2月"
:formatter=
"formatter"
>
</el-table-column>
<el-table-column
prop=
"MarchRate"
label=
"3月"
:formatter=
"formatter"
>
</el-table-column>
<el-table-column
prop=
"AprilRate"
label=
"4月"
:formatter=
"formatter"
>
</el-table-column>
<el-table-column
prop=
"MayRate"
label=
"5月"
:formatter=
"formatter"
>
</el-table-column>
<el-table-column
prop=
"JuneRate"
label=
"6月"
:formatter=
"formatter"
>
</el-table-column>
<el-table-column
prop=
"JulyRate"
label=
"7月"
:formatter=
"formatter"
>
</el-table-column>
<el-table-column
prop=
"AugustRate"
label=
"8月"
:formatter=
"formatter"
>
</el-table-column>
<el-table-column
prop=
"SeptemberRate"
label=
"9月"
:formatter=
"formatter"
>
</el-table-column>
<el-table-column
prop=
"OctoberRate"
label=
"10月"
:formatter=
"formatter"
>
</el-table-column>
<el-table-column
prop=
"NovemberRate"
label=
"11月"
:formatter=
"formatter"
>
</el-table-column>
<el-table-column
prop=
"DecemberRate"
label=
"12月"
:formatter=
"formatter"
>
</el-table-column>
<el-table-column
prop=
"AvgRate"
label=
"平均"
:formatter=
"formatter"
>
</el-table-column>
</el-table>
</div>
</el-tab-pane>
</el-tabs>
</div>
</
template
>
<
script
>
export
default
{
data
()
{
return
{
msg
:
{
month
:
""
,
YearStr
:
""
,
},
total
:
0
,
tableData
:
[],
loading
:
false
,
rateLoading
:
false
,
activeName
:
"monthdata"
,
rateData
:
[],
};
},
created
()
{
let
d
=
new
Date
();
this
.
msg
.
month
=
d
;
this
.
msg
.
YearStr
=
d
.
getFullYear
();
},
mounted
()
{
this
.
init
();
this
.
initRate
();
},
methods
:
{
init
()
{
if
(
this
.
loading
)
return
;
this
.
loading
=
true
;
this
.
apipost
(
"/api/ClueStatic/GetClueMonth"
,
this
.
msg
,
(
res
)
=>
{
this
.
loading
=
false
;
this
.
tableData
=
res
.
data
.
data
;
},
(
e
)
=>
{
this
.
loading
=
false
;
}
);
},
initRate
()
{
if
(
this
.
rateLoading
)
return
;
this
.
rateLoading
=
true
;
this
.
apipost
(
"/api/ClueStatic/GetClueMonthRate"
,
this
.
msg
,
(
res
)
=>
{
this
.
rateLoading
=
false
;
this
.
rateData
=
res
.
data
.
data
;
},
(
e
)
=>
{
this
.
rateLoading
=
false
;
}
);
},
tableRowClassName
({
row
})
{
let
cname
=
"font-size-12"
;
if
(
row
.
DateStr
==
"平均"
)
{
cname
+=
" xiaoji-row"
;
}
else
if
(
row
.
DateStr
==
"总数"
)
{
cname
+=
" sum-row"
;
}
return
cname
;
},
tableCellClassName
({
row
,
column
})
{
if
(
row
[
column
.
property
].
toString
().
indexOf
(
"-"
)
!=
-
1
&&
column
.
property
!=
"DateStr"
)
{
return
"warning-col"
;
}
else
if
(
column
.
property
==
"InvalidCount"
)
{
if
(
parseFloat
(
row
[
column
.
property
])
/
parseFloat
(
row
.
PushCount
)
>=
0.2
)
{
return
"warning-col"
;
}
}
},
changeMonthHandler
(
val
)
{
this
.
msg
.
YearStr
=
val
.
getFullYear
();
this
.
init
();
this
.
initRate
();
},
formatter
(
row
,
column
)
{
return
row
[
column
.
property
]
+
"%"
;
},
},
};
</
script
>
<
style
>
@import
"../../assets/css/customerManage.css"
;
.el-table__fixed-body-wrapper
table
{
padding-bottom
:
8px
!important
;
}
.el-table
.xiaoji-row
{
background
:
#ffff00
;
}
.el-table
.sum-row
{
background
:
#00b0f0
;
}
.el-table
.warning-col
{
background
:
red
;
}
.diy-eltabs
.el-tabs__content
{
height
:
calc
(
100%
-
40px
);
}
.diy-eltabs
.data-box-item
{
position
:
absolute
;
top
:
0
;
bottom
:
0
;
left
:
0
;
right
:
0
;
}
</
style
>
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