Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Sign in
Toggle navigation
A
admin-base
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
new-sing
admin-base
Commits
01bbbb24
Commit
01bbbb24
authored
Sep 05, 2019
by
赵茹林
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
update
parent
62910a8e
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
357 additions
and
1 deletion
+357
-1
hour.vue
src/components/team/hour.vue
+344
-0
index.vue
src/components/team/index.vue
+3
-1
menuList.js
src/util/menuList.js
+10
-0
No files found.
src/components/team/hour.vue
0 → 100644
View file @
01bbbb24
<
template
>
<div
class=
"admin-refresh"
>
<el-date-picker
style=
"margin: 10px 0 0 10px; width: 185px;"
:clearable=
"false"
v-model=
"search.start_at"
value-format=
"yyyy-MM-dd"
align=
"right"
type=
"date"
placeholder=
"选择日期"
:picker-options=
"pickerOptions"
>
</el-date-picker>
<el-tabs
v-model=
"search.team"
type=
"card"
class=
"tabs-refresh"
@
tab-click=
"getData"
>
<el-tab-pane
label=
"总计"
name=
"1,2,3,4,5,6,7,8,9,10"
/>
<el-tab-pane
v-for=
"i in 10"
:key=
"i"
:label=
"'T'+i"
:name=
"i.toString()"
/>
</el-tabs>
<el-table
class=
"team-table"
border
size=
"small"
:data=
"list"
v-loading=
"loading"
:row-class-name=
"tableRowClassName"
>
<el-table-column
label=
"组别"
width=
"50px"
>
<template
slot-scope=
"scope"
>
{{
(
String
(
scope
.
row
.
squad
).
indexOf
(
','
)
>
-
1
&&
scope
.
row
.
total
)
?
'合计'
:
`T${scope.row.squad
}
`
}}
<
/template
>
<
/el-table-column
>
<!--
<
el
-
table
-
column
label
=
"销售顾问"
>
<
template
slot
-
scope
=
"scope"
>
<
span
v
-
html
=
"transStaff(scope.row)"
><
/span
>
<
/template
>
<
/el-table-column>--
>
<
el
-
table
-
column
v
-
if
=
"this.search.team != '1,2,3,4,5,6,7,8,9,10'"
label
=
"销售顾问"
>
<
template
slot
-
scope
=
"scope"
>
{{
scope
.
row
.
total
?
'-'
:
scope
.
row
.
staff_name
}}
<
/template
>
<
/el-table-column
>
<
el
-
table
-
column
prop
=
"reach_class_num"
>
<
template
slot
=
"header"
slot
-
scope
=
"scope"
>
<
el
-
tooltip
effect
=
"dark"
:
content
=
"TIP_TEAM['reach_class_num']"
placement
=
"top"
>
<
span
class
=
"table-refresh-header"
>
近
30
天
<
i
class
=
"el-icon-question"
><
/i><br>到班
数
<
/span
>
<
/el-tooltip
>
<
/template
>
<
/el-table-column
>
<
el
-
table
-
column
prop
=
"reach_course_num"
>
<
template
slot
=
"header"
slot
-
scope
=
"scope"
>
<
el
-
tooltip
effect
=
"dark"
:
content
=
"TIP_TEAM['reach_course_num']"
placement
=
"top"
>
<
span
class
=
"table-refresh-header"
>
近
30
天
<
i
class
=
"el-icon-question"
><
/i><br>到课
数
<
/span
>
<
/el-tooltip
>
<
/template
>
<
/el-table-column
>
<
el
-
table
-
column
prop
=
"wait_add_friend"
>
<
template
slot
=
"header"
slot
-
scope
=
"scope"
>
<
el
-
tooltip
effect
=
"dark"
:
content
=
"TIP_TEAM['wait_add_friend']"
placement
=
"top"
>
<
span
class
=
"table-refresh-header"
>
近
7
天
<
i
class
=
"el-icon-question"
><
/i><br>待添
加
<
/span
>
<
/el-tooltip
>
<
/template
>
<
/el-table-column
>
<
el
-
table
-
column
prop
=
"wait_visit_num"
>
<
template
slot
=
"header"
slot
-
scope
=
"scope"
>
<
el
-
tooltip
effect
=
"dark"
:
content
=
"TIP_TEAM['wait_visit_num']"
placement
=
"top"
>
<
span
class
=
"table-refresh-header"
>
当日
<
i
class
=
"el-icon-question"
><
/i><br>待回
访
<
/span
>
<
/el-tooltip
>
<
/template
>
<
/el-table-column
>
<
el
-
table
-
column
prop
=
"over_visit_num"
>
<
template
slot
=
"header"
slot
-
scope
=
"scope"
>
<
el
-
tooltip
effect
=
"dark"
:
content
=
"TIP_TEAM['over_visit_num']"
placement
=
"top"
>
<
span
class
=
"table-refresh-header"
>
当日
<
i
class
=
"el-icon-question"
><
/i><br>已回
访
<
/span
>
<
/el-tooltip
>
<
/template
>
<
template
slot
-
scope
=
"scope"
>
<
span
class
=
"cell-link"
@
click
=
"dialogToggle(scope.row, 'callback')"
>
{{
scope
.
row
.
over_visit_num
}}
<
/span
>
<
/template
>
<
/el-table-column
>
<
el
-
table
-
column
prop
=
"chat_contact_count"
>
<
template
slot
=
"header"
slot
-
scope
=
"scope"
>
<
el
-
tooltip
effect
=
"dark"
:
content
=
"TIP_TEAM['chat_contact_count']"
placement
=
"top"
>
<
span
class
=
"table-refresh-header"
>
当日
<
i
class
=
"el-icon-question"
><
/i><br>微信沟
通
<
/span
>
<
/el-tooltip
>
<
/template
>
<
/el-table-column
>
<
el
-
table
-
column
prop
=
"valid_chat_contact_count"
>
<
template
slot
=
"header"
slot
-
scope
=
"scope"
>
<
el
-
tooltip
effect
=
"dark"
:
content
=
"TIP_TEAM['valid_chat_contact_count']"
placement
=
"top"
>
<
span
class
=
"table-refresh-header"
>
当日
<
i
class
=
"el-icon-question"
><
/i><br>微信有效沟
通
<
/span
>
<
/el-tooltip
>
<
/template
>
<
template
slot
-
scope
=
"scope"
>
<
span
class
=
"cell-link"
@
click
=
"dialogToggle(scope.row, 'validchat')"
>
{{
scope
.
row
.
valid_chat_contact_count
}}
<
/span
>
<
/template
>
<
/el-table-column
>
<
el
-
table
-
column
prop
=
"valid_phone_counts"
>
<
template
slot
=
"header"
slot
-
scope
=
"scope"
>
<
el
-
tooltip
effect
=
"dark"
:
content
=
"TIP_TEAM['valid_phone_counts']"
placement
=
"top"
>
<
span
class
=
"table-refresh-header"
>
当日
<
i
class
=
"el-icon-question"
><
/i><br>有效通
次
<
/span
>
<
/el-tooltip
>
<
/template
>
<
template
slot
-
scope
=
"scope"
>
<
span
class
=
"cell-link"
@
click
=
"dialogToggle(scope.row, 'phonerecord')"
>
{{
scope
.
row
.
valid_phone_counts
}}
<
/span
>
<
/template
>
<
/el-table-column
>
<
el
-
table
-
column
prop
=
"phone_total_time"
>
<
template
slot
=
"header"
slot
-
scope
=
"scope"
>
<!--
TODO
-->
<
el
-
tooltip
effect
=
"dark"
:
content
=
"TIP_TEAM['phone_total_time']"
placement
=
"top"
>
<
span
class
=
"table-refresh-header"
>
当日
<
i
class
=
"el-icon-question"
><
/i><br>有效通
时
<
/span
>
<
/el-tooltip
>
<
/template
>
<
/el-table-column
>
<
el
-
table
-
column
prop
=
"lately_class_num"
>
<
template
slot
=
"header"
slot
-
scope
=
"scope"
>
<
el
-
tooltip
effect
=
"dark"
:
content
=
"TIP_TEAM['lately_class_num']"
placement
=
"top"
>
<
span
class
=
"table-refresh-header"
>
未来
7
日
<
i
class
=
"el-icon-question"
><
/i><br>开课班
级
<
/span
>
<
/el-tooltip
>
<
/template
>
<
template
slot
-
scope
=
"scope"
>
<
span
class
=
"cell-link"
@
click
=
"dialogToggle(scope.row, 'class')"
>
{{
scope
.
row
.
lately_class_num
}}
<
/span
>
<
/template
>
<
/el-table-column
>
<
el
-
table
-
column
prop
=
"month_order_num"
>
<
template
slot
=
"header"
slot
-
scope
=
"scope"
>
<
el
-
tooltip
effect
=
"dark"
:
content
=
"TIP_TEAM['month_order_num']"
placement
=
"top"
>
<
span
class
=
"table-refresh-header"
>
当月
<
i
class
=
"el-icon-question"
><
/i><br>订
单
<
/span
>
<
/el-tooltip
>
<
/template
>
<
template
slot
-
scope
=
"scope"
>
<
span
class
=
"cell-link"
@
click
=
"dialogToggle(scope.row, 'achievement')"
>
{{
scope
.
row
.
month_order_num
}}
<
/span
>
<
/template
>
<
/el-table-column
>
<
el
-
table
-
column
prop
=
"month_order_rate"
>
<
template
slot
=
"header"
slot
-
scope
=
"scope"
>
<
el
-
tooltip
effect
=
"dark"
:
content
=
"TIP_TEAM['month_order_rate']"
placement
=
"top"
>
<
span
class
=
"table-refresh-header"
>
当月
<
i
class
=
"el-icon-question"
><
/i><br>平均转
化
<
/span
>
<
/el-tooltip
>
<
/template
>
<
template
slot
-
scope
=
"scope"
>
<
span
class
=
"cell-link"
@
click
=
"dialogToggle(scope.row, 'achievement')"
>
{{
transRate
(
scope
.
row
.
month_trans_order_num
,
scope
.
row
.
month_trans_user_num
)
}}
<
/span
>
<
/template
>
<
/el-table-column
>
<
el
-
table
-
column
prop
=
"order_money_count"
>
<
template
slot
=
"header"
slot
-
scope
=
"scope"
>
<
el
-
tooltip
effect
=
"dark"
:
content
=
"TIP_TEAM['order_money_count']"
placement
=
"top"
>
<
span
class
=
"table-refresh-header"
>
当月
<
i
class
=
"el-icon-question"
><
/i><br>总业
绩
<
/span
>
<
/el-tooltip
>
<
/template
>
<
template
slot
-
scope
=
"scope"
>
<
span
class
=
"cell-link"
@
click
=
"dialogToggle(scope.row, 'achievement')"
>
{{
scope
.
row
.
order_money_count
}}
<
/span
>
<
/template
>
<
/el-table-column
>
<
/el-table
>
<
page
:
total
=
"total"
:
limit
=
"limit"
@
pageChange
=
"onPageChange"
@
sizeChange
=
"onSizeChange"
/>
<
team
-
dialog
:
dialog
-
obj
=
"dialogObj"
/>
<
/div
>
<
/template
>
<
script
>
import
page
from
'@framework/page'
import
TeamDialog
from
'./dialog'
import
{
getTeamApi
}
from
'@service/api'
;
import
{
TIP_TEAM
}
from
'@util/tipArr'
;
function
getNowFormatDate
()
{
var
date
=
new
Date
();
var
seperator1
=
"-"
;
var
year
=
date
.
getFullYear
();
//年
var
month
=
date
.
getMonth
()
+
1
;
//月
var
strDate
=
date
.
getDate
();
//日
if
(
month
>=
1
&&
month
<=
9
)
{
month
=
"0"
+
month
;
}
if
(
strDate
>=
0
&&
strDate
<=
9
)
{
strDate
=
"0"
+
strDate
;
}
var
currentdate
=
year
+
seperator1
+
month
+
seperator1
+
strDate
;
return
currentdate
;
}
export
default
{
name
:
"index"
,
components
:
{
page
,
TeamDialog
}
,
data
()
{
return
{
TIP_TEAM
:
TIP_TEAM
,
loading
:
true
,
search
:
{
team
:
'1'
,
start_at
:
getNowFormatDate
()
// start_at: new Date()
}
,
pickerOptions
:
{
disabledDate
(
time
)
{
return
time
.
getTime
()
>
Date
.
now
();
}
,
shortcuts
:
[{
text
:
'今天'
,
onClick
(
picker
)
{
picker
.
$emit
(
'pick'
,
new
Date
());
}
}
,
{
text
:
'昨天'
,
onClick
(
picker
)
{
const
date
=
new
Date
();
date
.
setTime
(
date
.
getTime
()
-
3600
*
1000
*
24
);
picker
.
$emit
(
'pick'
,
date
);
}
}
,
{
text
:
'一周前'
,
onClick
(
picker
)
{
const
date
=
new
Date
();
date
.
setTime
(
date
.
getTime
()
-
3600
*
1000
*
24
*
7
);
picker
.
$emit
(
'pick'
,
date
);
}
}
]
}
,
list
:
[],
total
:
0
,
nowPage
:
1
,
limit
:
10
,
dialogObj
:
{
show
:
false
,
type
:
''
,
// callback, class
}
}
}
,
mounted
()
{
this
.
getData
();
}
,
methods
:
{
transStaff
(
row
)
{
if
(
row
.
total
)
{
return
'合计'
}
else
if
(
row
.
staff_name
.
indexOf
(
','
)
>-
1
){
return
row
.
staff_name
.
split
(
','
).
join
(
'<br>'
)
}
else
{
return
row
.
staff_name
}
}
,
transRate
(
child
,
mother
)
{
if
(
mother
)
{
return
`${Math.floor(child * 100) / mother
}
%`
}
else
{
return
'-'
}
}
,
tableRowClassName
({
row
,
rowIndex
}
)
{
if
(
rowIndex
===
0
)
{
return
'primary-row'
;
}
return
''
;
}
,
dialogToggle
(
row
,
type
)
{
this
.
dialogObj
=
{
alias
:
row
.
alias
,
// 老师微信号
squad
:
(
String
(
row
.
squad
).
indexOf
(
','
)
>
-
1
&&
row
.
total
)
?
''
:
`${row.squad
}
`
,
show
:
true
,
total
:
row
.
total
,
type
:
type
,
user_id
:
row
.
user_id
,
teacher_id
:
row
.
teacher_id
,
start_at
:
this
.
search
.
start_at
,
staff_name
:
row
.
staff_name
.
indexOf
(
','
)
>-
1
?
row
.
staff_name
.
split
(
','
).
join
(
','
)
:
row
.
staff_name
}
}
,
getData
()
{
this
.
loading
=
true
;
let
json
=
{
team
:
this
.
search
.
team
,
page
:
this
.
nowPage
,
limit
:
this
.
limit
}
getTeamApi
(
json
).
then
(
res
=>
{
if
(
Object
.
keys
(
res
).
length
&&
res
.
team_list
&&
res
.
team_list
.
page_data
)
{
if
(
Object
.
keys
(
res
.
team_total
).
length
)
{
res
.
team_total
.
total
=
true
;
// 方便"合计" 可以这样写,也可以用scope.$index
res
.
team_list
.
page_data
.
unshift
(
res
.
team_total
);
}
this
.
list
=
res
.
team_list
.
page_data
;
this
.
total
=
res
.
team_list
.
total
;
this
.
loading
=
false
;
}
else
{
this
.
list
=
[];
this
.
total
=
0
;
this
.
loading
=
false
;
}
}
)
}
,
onPageChange
(
val
)
{
this
.
nowPage
=
val
this
.
getData
()
}
,
onSizeChange
(
val
)
{
this
.
limit
=
val
;
this
.
nowPage
=
1
;
this
.
getData
()
}
,
}
,
}
<
/script
>
<
style
lang
=
"less"
>
.
team
-
table
{
.
primary
-
row
{
background
:
#
f5f7fa
;
}
}
<
/style
>
src/components/team/index.vue
View file @
01bbbb24
...
...
@@ -302,7 +302,9 @@
getData
()
{
this
.
loading
=
true
;
let
json
=
{
team
:
this
.
search
.
team
team
:
this
.
search
.
team
,
page
:
this
.
nowPage
,
limit
:
this
.
limit
}
getTeamApi
(
json
).
then
(
res
=>
{
if
(
Object
.
keys
(
res
).
length
&&
res
.
team_list
&&
res
.
team_list
.
page_data
)
{
...
...
src/util/menuList.js
View file @
01bbbb24
...
...
@@ -195,6 +195,16 @@ export default [
name
:
'team'
,
component
:
e
=>
require
([
'@/components/team'
],
e
),
}
},
{
value
:
'小时动态'
,
routerName
:
'hour'
,
path
:
'/hour'
,
cover
:
'11-10'
,
router
:
{
path
:
'/hour'
,
name
:
'hour'
,
component
:
e
=>
require
([
'@/components/team/hour'
],
e
),
}
},
]
},
{
...
...
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