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
9738f182
Commit
9738f182
authored
Mar 11, 2020
by
华国豪
🙄
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
客户性别统计
parent
c0a4a152
Show whitespace changes
Inline
Side-by-side
Showing
17 changed files
with
705 additions
and
23 deletions
+705
-23
App.vue
src/App.vue
+1
-1
customerManage.css
src/assets/css/customerManage.css
+4
-0
man.png
src/assets/img/tongji/man.png
+0
-0
man1.png
src/assets/img/tongji/man1.png
+0
-0
woman.png
src/assets/img/tongji/woman.png
+0
-0
woman1.png
src/assets/img/tongji/woman1.png
+0
-0
HomeNavLeft.vue
src/components/HomeNav/HomeNavLeft.vue
+2
-1
HomeNavTop.vue
src/components/HomeNav/HomeNavTop.vue
+5
-5
marital.vue
src/components/statistics/marital.vue
+21
-8
discussBox.vue
src/components/statistics/model/discussBox.vue
+257
-0
sexChart.vue
src/components/statistics/model/sexChart.vue
+69
-0
shopChart.vue
src/components/statistics/model/shopChart.vue
+98
-0
old.vue
src/components/statistics/old.vue
+22
-8
orders.vue
src/components/statistics/old/orders.vue
+4
-0
shopping.vue
src/components/statistics/old/shopping.vue
+4
-0
sex.vue
src/components/statistics/sex.vue
+210
-0
router.js
src/router.js
+8
-0
No files found.
src/App.vue
View file @
9738f182
...
@@ -31,7 +31,7 @@ export default {
...
@@ -31,7 +31,7 @@ export default {
@import
'./assets/css/tablevoerride.css'
;
@import
'./assets/css/tablevoerride.css'
;
@import
'./assets/global/font.css'
;
@import
'./assets/global/font.css'
;
@import
'//at.alicdn.com/t/font_1627123_wc1bt4oc9pm.css'
;
@import
'//at.alicdn.com/t/font_1627123_wc1bt4oc9pm.css'
;
@import
url('//at.alicdn.com/t/font_16
55735_w2e0nofnibn
.css')
;
@import
url('//at.alicdn.com/t/font_16
27123_8o41o9fvhw2
.css')
;
/* @import './assets/css/common.css'; */
/* @import './assets/css/common.css'; */
@import
'./assets/css/init.css'
;
@import
'./assets/css/init.css'
;
...
...
src/assets/css/customerManage.css
View file @
9738f182
...
@@ -142,3 +142,7 @@
...
@@ -142,3 +142,7 @@
.iconstar_full
{
.iconstar_full
{
color
:
#fac23d
;
color
:
#fac23d
;
}
}
.bold18
{
font-weight
:
bold
;
font-size
:
18px
;
}
\ No newline at end of file
src/assets/img/tongji/man.png
0 → 100644
View file @
9738f182
12.6 KB
src/assets/img/tongji/man1.png
0 → 100644
View file @
9738f182
753 Bytes
src/assets/img/tongji/woman.png
0 → 100644
View file @
9738f182
11.6 KB
src/assets/img/tongji/woman1.png
0 → 100644
View file @
9738f182
620 Bytes
src/components/HomeNav/HomeNavLeft.vue
View file @
9738f182
...
@@ -140,7 +140,8 @@ export default {
...
@@ -140,7 +140,8 @@ export default {
this
.
navList
=
userInfo
.
UserMenu
[
0
].
ChildMenu
[
0
].
ChildMenu
this
.
navList
=
userInfo
.
UserMenu
[
0
].
ChildMenu
[
0
].
ChildMenu
let
$this
=
this
let
$this
=
this
this
.
MsgBus
.
$on
(
'setLeftNav'
,
function
(
val
){
this
.
MsgBus
.
$on
(
'setLeftNav'
,
function
(
val
){
$this
.
activeIndex
=
val
;
$this
.
activeIndex
=
0
;
$this
.
navList
=
userInfo
.
UserMenu
[
0
].
ChildMenu
[
val
].
ChildMenu
})
})
},
},
methods
:
{
methods
:
{
...
...
src/components/HomeNav/HomeNavTop.vue
View file @
9738f182
...
@@ -120,11 +120,11 @@ export default {
...
@@ -120,11 +120,11 @@ export default {
},
},
methods
:
{
methods
:
{
chosenFirstLeaveMenu
(
item
,
index
){
chosenFirstLeaveMenu
(
item
,
index
){
this
.
chosenMenuId
=
item
.
i
d
this
.
chosenMenuId
=
item
.
MenuI
d
this
.
MsgBus
.
$emit
(
'setLeftNav'
,
0
)
this
.
MsgBus
.
$emit
(
'setLeftNav'
,
index
)
//
this.$router.push({
this
.
$router
.
push
({
// path: item.path
path
:
item
.
ChildMenu
[
0
].
MenuUrl
//
});
});
},
},
errorHandler
()
{
errorHandler
()
{
return
true
;
return
true
;
...
...
src/components/statistics/marital.vue
View file @
9738f182
<
template
>
<
template
>
<div
class=
"old-box"
>
<div
class=
"old-box"
>
<div
class=
"statistics-title"
>
婚姻状态统计
</div>
<div
class=
"statistics-title
bold18
"
>
婚姻状态统计
</div>
<el-row
:gutter=
"25"
style=
"height:calc(100% - 62px)"
>
<el-row
:gutter=
"25"
style=
"height:calc(100% - 62px)"
>
<el-col
span=
"12"
style=
"height:100%;"
>
<el-col
:
span=
"12"
style=
"height:100%;"
>
<div
class=
"left-content"
>
<div
class=
"left-content"
>
<div
class=
"content"
style=
"margin-top:0;"
>
<div
class=
"content"
style=
"margin-top:0;"
>
<el-card
class=
"blue"
>
<el-card
class=
"blue"
>
...
@@ -39,7 +39,7 @@
...
@@ -39,7 +39,7 @@
</div>
</div>
</div>
</div>
</el-col>
</el-col>
<el-col
span=
"12"
style=
"height:100%;"
>
<el-col
:
span=
"12"
style=
"height:100%;"
>
<div
class=
"left-content"
>
<div
class=
"left-content"
>
<div
class=
"content"
style=
"margin-top:0;"
>
<div
class=
"content"
style=
"margin-top:0;"
>
<el-card
class=
"blue"
>
<el-card
class=
"blue"
>
...
@@ -56,14 +56,14 @@
...
@@ -56,14 +56,14 @@
<el-col
:span=
"12"
size=
"30"
>
<el-col
:span=
"12"
size=
"30"
>
推荐解答
推荐解答
</el-col>
</el-col>
<el-col
span=
"12"
class=
"right-title"
>
<el-col
:
span=
"12"
class=
"right-title"
>
<i
class=
"iconfont icondianzan1"
></i>
点赞
<i
class=
"iconfont icondianzan1"
></i>
点赞
</el-col>
</el-col>
</el-row>
</el-row>
</div>
</div>
<div
class=
"situ"
>
<div
class=
"situ"
>
<div
class=
"c"
>
根据对客户年龄段的统计可以,更好的了解不同年龄段客人的喜好,消费能力的判读,从而快速的推荐团队给客人等等等
</div>
<div
class=
"c"
>
根据对客户年龄段的统计可以,更好的了解不同年龄段客人的喜好,消费能力的判读,从而快速的推荐团队给客人等等等
</div>
<div
class=
"bot"
>
<div
class=
"bot"
@
click=
"drawer = true"
>
查看更多,参与讨论(19)
查看更多,参与讨论(19)
<i
class=
"el-icon-d-arrow-right"
></i>
<i
class=
"el-icon-d-arrow-right"
></i>
</div>
</div>
...
@@ -71,22 +71,32 @@
...
@@ -71,22 +71,32 @@
</el-card>
</el-card>
</div>
</div>
</div>
</div>
</el-col>
</el-col>
</el-row>
</el-row>
<el-drawer
size=
'695px'
:visible
.
sync=
"drawer"
direction=
"rtl"
:with-header=
"false"
>
<discussBox
:id=
"discussID"
/>
</el-drawer>
</div>
</div>
</
template
>
</
template
>
<
script
>
<
script
>
import
shopping
from
"./old/shopping"
;
import
shopping
from
"./old/shopping"
;
import
orders
from
"./old/orders"
;
import
orders
from
"./old/orders"
;
import
discussBox
from
"./model/discussBox"
;
export
default
{
export
default
{
components
:
{
components
:
{
shopping
,
shopping
,
orders
orders
,
discussBox
},
},
data
()
{
data
()
{
return
{
return
{
discussID
:
0
,
drawer
:
false
,
scaleData
:
[],
scaleData
:
[],
showChats
:
[],
showChats
:
[],
moneys
:
[],
moneys
:
[],
...
@@ -146,6 +156,9 @@ export default {
...
@@ -146,6 +156,9 @@ export default {
</
script
>
</
script
>
<
style
>
<
style
>
.old-box
.el-drawer__body
{
height
:
100%
;
}
.old-box
{
.old-box
{
height
:
calc
(
100%
-
25px
);
height
:
calc
(
100%
-
25px
);
}
}
...
...
src/components/statistics/model/discussBox.vue
0 → 100644
View file @
9738f182
<
style
>
.discussBox
{
height
:
100%
;
box-sizing
:
border-box
;
}
.discussBox
.discussBox-tit
{
display
:
flex
;
align-items
:
center
;
justify-content
:
space-between
;
height
:
50px
;
padding
:
0
20px
;
border-bottom
:
1px
solid
#f6f6f6
;
}
.discussBox
.discussBox-tit
.num
{
font-size
:
16px
;
font-weight
:
600
;
}
.discussBox
.discussBox-tit
.change
{
font-size
:
14px
;
color
:
#409eff
!important
;
}
.discussBox
.jingxuan
{
padding
:
10px
20px
;
font-size
:
14px
;
color
:
grey
;
background-color
:
#f6f6f6
;
font-weight
:
600
;
}
.discussBox
.list
.list-item
{
padding
:
12px
20px
10px
;
font-size
:
15px
;
}
.discussBox
.list
{
overflow-y
:
auto
;
height
:
calc
(
100%
-
51px
);
overflow-x
:
hidden
;
}
.discussBox
.list
.list-item
.list-item-tit
{
height
:
24px
;
padding-right
:
3px
;
padding-left
:
1px
;
margin-bottom
:
4px
;
line-height
:
24px
;
display
:
flex
;
align-items
:
center
;
justify-content
:
space-between
;
}
.discussBox
.list
.list-item
.list-item-tit
div
{
display
:
flex
;
align-items
:
center
;
}
.discussBox
.list
.list-item
.list-item-tit
div
img
{
margin-right
:
8px
;
}
.discussBox
.list
.list-item
>
div
{
position
:
relative
;
border-bottom
:
1px
solid
#f6f6f6
;
padding-bottom
:
10px
;
}
.discussBox
.list
.list-item
.content
{
padding-left
:
33px
;
line-height
:
1.6
;
}
.discussBox
.list
.list-item
.footer
{
padding-left
:
33px
;
color
:
#8590a6
;
display
:
flex
;
align-items
:
center
;
height
:
24px
;
font-size
:
14px
;
line-height
:
24px
;
margin-top
:
4px
;
}
.discussBox
.list
.list-item
.footer
>
span
{
margin-right
:
15px
;
}
.discussBox
.list
.list-item
.footer
>
span
.iconfont
{
padding-right
:
3px
;
}
.discussBox
.list
.list-item
.footer
>
span
:hover
{
color
:
#76839b
;
}
.like
{
color
:
#175199
;
}
.discussBox
.list
.list-item
.msg-box
{
padding-left
:
33px
;
}
.discussBox
.el-button--primary
{
color
:
#FFF
!important
;
background-color
:
#409EFF
!important
;
border-color
:
#409EFF
!important
;
border-radius
:
0
!important
;
}
.discussBox
.el-input-group__append
{
border-color
:
#409EFF
!important
;
}
.discussBox
.level2
{
margin-top
:
10px
;
padding-left
:
33px
;
}
.discussBox
.level2
.huifu
{
margin-right
:
8px
;
margin-left
:
8px
;
color
:
#8590a6
;
}
.next
{
width
:
100%
;
margin-right
:
20px
;
margin-top
:
10px
;
margin-left
:
33px
;
border-bottom
:
1px
solid
#f6f6f6
;
}
.next2
{
margin-left
:
66px
;
}
.discussBox
.list
.list-item
:last-child
{
margin-bottom
:
20px
}
</
style
>
<
template
>
<div
class=
"discussBox"
>
<div
class=
"discussBox-tit"
>
<div
class=
"num"
>
368 条评论
</div>
<div
class=
"cp change"
@
click=
"sort = !sort"
><i
class=
"el-icon-sort"
></i>
切换为
{{
sort
===
true
?
'时间'
:
'默认'
}}
排序
</div>
</div>
<ul
class=
"list"
>
<li
class=
"list-item"
v-for=
"(item, index) in 6"
:key=
"index"
>
<div>
<div
class=
"list-item-tit"
>
<div>
<img
width=
"24"
height=
"24"
src=
"https://pic4.zhimg.com/v2-d3f573f46ce86a124f4d92e4383fceab_is.jpg"
alt=
""
>
<span>
王二
</span>
</div>
<span
class=
"font-color-info"
>
2 天前
</span>
</div>
<div
class=
"content"
>
<p>
高反为0?...在郎木寺那里青旅住好几个人高反了
</p>
</div>
<div
class=
"footer"
>
<span
class=
"cp like"
><i
class=
"iconfont iconzan"
></i>
赞
</span>
<span
class=
"cp"
@
click=
"msgBoxShow = !msgBoxShow"
><i
class=
"iconfont iconhuifu"
></i>
{{
msgBoxShow
?
'取消'
:
''
}}
回复
</span>
</div>
<div
class=
"msg-box"
v-if=
"msgBoxShow"
>
<div
style=
"margin-top: 5px;"
>
<el-input
placeholder=
"请输入内容"
v-model=
"input3"
class=
"input-with-select"
>
<el-button
slot=
"append"
type=
"primary"
>
发布
</el-button>
</el-input>
</div>
</div>
<div
class=
"next"
></div>
<div
class=
"level2"
>
<div
class=
"list-item-tit"
>
<div>
<img
width=
"24"
height=
"24"
src=
"https://pic4.zhimg.com/v2-d3f573f46ce86a124f4d92e4383fceab_is.jpg"
alt=
""
>
<div>
<span>
王二
</span>
<span
class=
"huifu"
>
回复
</span>
<span>
刘德
</span>
</div>
</div>
<span
class=
"font-color-info"
>
2 天前
</span>
</div>
<div
class=
"content"
>
<p>
高反为0?...在郎木寺那里青旅住好几个人高反了
</p>
</div>
<div
class=
"footer"
>
<span
class=
"cp like"
><i
class=
"iconfont iconzan"
></i>
赞
</span>
<span
class=
"cp"
@
click=
"msgBoxShow = !msgBoxShow"
><i
class=
"iconfont iconhuifu"
></i>
{{
msgBoxShow
?
'取消'
:
''
}}
回复
</span>
</div>
<div
class=
"msg-box"
v-if=
"msgBoxShow"
>
<div
style=
"margin-top: 5px;"
>
<el-input
placeholder=
"请输入内容"
v-model=
"input3"
class=
"input-with-select"
>
<el-button
slot=
"append"
type=
"primary"
>
发布
</el-button>
</el-input>
</div>
</div>
</div>
<div
class=
"next next2"
></div>
<div
class=
"level2"
>
<div
class=
"list-item-tit"
>
<div>
<img
width=
"24"
height=
"24"
src=
"https://pic4.zhimg.com/v2-d3f573f46ce86a124f4d92e4383fceab_is.jpg"
alt=
""
>
<div>
<span>
王二
</span>
<span
class=
"huifu"
>
回复
</span>
<span>
刘德
</span>
</div>
</div>
<span
class=
"font-color-info"
>
2 天前
</span>
</div>
<div
class=
"content"
>
<p>
高反为0?...在郎木寺那里青旅住好几个人高反了
</p>
</div>
<div
class=
"footer"
>
<span
class=
"cp like"
><i
class=
"iconfont iconzan"
></i>
赞
</span>
<span
class=
"cp"
@
click=
"msgBoxShow = !msgBoxShow"
><i
class=
"iconfont iconhuifu"
></i>
{{
msgBoxShow
?
'取消'
:
''
}}
回复
</span>
</div>
<div
class=
"msg-box"
v-if=
"msgBoxShow"
>
<div
style=
"margin-top: 5px;"
>
<el-input
placeholder=
"请输入内容"
v-model=
"input3"
class=
"input-with-select"
>
<el-button
slot=
"append"
type=
"primary"
>
发布
</el-button>
</el-input>
</div>
</div>
</div>
<div
class=
"next next2"
></div>
<div
class=
"level2"
>
<div
class=
"list-item-tit"
>
<div>
<img
width=
"24"
height=
"24"
src=
"https://pic4.zhimg.com/v2-d3f573f46ce86a124f4d92e4383fceab_is.jpg"
alt=
""
>
<div>
<span>
王二
</span>
<span
class=
"huifu"
>
回复
</span>
<span>
刘德
</span>
</div>
</div>
<span
class=
"font-color-info"
>
2 天前
</span>
</div>
<div
class=
"content"
>
<p>
高反为0?...在郎木寺那里青旅住好几个人高反了
</p>
</div>
<div
class=
"footer"
>
<span
class=
"cp like"
><i
class=
"iconfont iconzan"
></i>
赞
</span>
<span
class=
"cp"
@
click=
"msgBoxShow = !msgBoxShow"
><i
class=
"iconfont iconhuifu"
></i>
{{
msgBoxShow
?
'取消'
:
''
}}
回复
</span>
</div>
<div
class=
"msg-box"
v-if=
"msgBoxShow"
>
<div
style=
"margin-top: 5px;"
>
<el-input
placeholder=
"请输入内容"
v-model=
"input3"
class=
"input-with-select"
>
<el-button
slot=
"append"
type=
"primary"
>
发布
</el-button>
</el-input>
</div>
</div>
</div>
</div>
</li>
</ul>
</div>
</
template
>
<
script
>
export
default
{
data
(){
return
{
sort
:
true
,
msgBoxShow
:
false
,
input3
:
''
}
},
props
:
[],
methods
:
{
},
mounted
(){
}
}
</
script
>
\ No newline at end of file
src/components/statistics/model/sexChart.vue
0 → 100644
View file @
9738f182
<
style
>
.sexChart
{
height
:
100%
;
}
</
style
>
<
template
>
<div
class=
"sexChart"
ref=
"sexChart"
>
</div>
</
template
>
<
script
>
export
default
{
props
:
[
"myData"
],
data
()
{
return
{
};
},
watch
:{
},
mounted
()
{
this
.
init
()
let
myChart
=
this
.
$echarts
.
init
(
this
.
$refs
.
sexChart
);
window
.
addEventListener
(
"resize"
,
()
=>
{
myChart
.
resize
();
});
},
methods
:
{
init
(){
let
myChart
=
this
.
$echarts
.
init
(
this
.
$refs
.
sexChart
);
let
option
=
{
grid
:
{
left
:
'20%'
},
xAxis
:
{
type
:
'category'
,
axisLabel
:
{
color
:
'#FFFFFF'
},
axisLine
:
{
show
:
false
},
},
yAxis
:
{
type
:
'value'
,
axisLine
:
{
show
:
false
},
axisLabel
:
{
color
:
'#FFFFFF'
,
formatter
:
'{value} %'
},
max
:
100
,
},
series
:
[{
data
:
this
.
myData
,
type
:
'bar'
,
itemStyle
:
{
color
:
'#FFA475'
,
},
barWidth
:
'44'
}]
};
myChart
.
setOption
(
option
);
}
}
}
</
script
>
\ No newline at end of file
src/components/statistics/model/shopChart.vue
0 → 100644
View file @
9738f182
<
style
>
.sexChart
{
height
:
100%
;
text-align
:
center
;
}
.sexChart
#myCanvas
{
margin-top
:
55px
;
}
.sexChart
.lable
{
display
:
flex
;
align-items
:
center
;
padding
:
60px
40px
0
40px
;
justify-content
:
space-between
;
font-size
:
12px
;
}
.sexChart
.lable
.radius
{
display
:
inline-block
;
width
:
12px
;
height
:
12px
;
background
:
rgba
(
13
,
36
,
129
,
1
);
border-radius
:
50%
;
margin-right
:
10px
;
}
.sexChart
.lable
.radius1
{
background
:
rgba
(
255
,
169
,
124
,
1
);
}
</
style
>
<
template
>
<div
class=
"sexChart"
ref=
"sexChart"
>
<canvas
id=
"myCanvas"
width=
"180"
height=
"180"
>
当前浏览器版本过低,请使用其他浏览器尝试
</canvas>
<div
class=
"lable"
>
<div>
<span
class=
"radius"
></span>
<span>
男
</span>
40%
</div>
<div>
<span
class=
"radius radius1"
></span>
<span>
女
</span>
30%
</div>
</div>
</div>
</
template
>
<
script
>
import
DonutChart
from
'../../../../node_modules/donut-chart'
export
default
{
props
:
[
"shopChartData"
],
data
()
{
return
{
};
},
watch
:{
},
mounted
()
{
this
.
init
()
},
methods
:
{
init
(){
var
option
=
{
type
:
'pie'
,
// pie 环形图|| gauge 计量图
tooltip
:
{
show
:
false
,
},
label
:
{
show
:
false
},
x
:
"50%"
,
// 图标位置
y
:
"50%"
,
radius
:
"30%"
,
// 半径
lineWidth
:
"15%"
,
// 圆环宽度
data
:
[{
name
:
"男"
,
value
:
this
.
shopChartData
[
0
],
},
{
name
:
"女"
,
value
:
this
.
shopChartData
[
1
],
},
{
name
:
""
,
value
:
100
-
this
.
shopChartData
[
0
]
-
this
.
shopChartData
[
1
],
}],
capType
:
"round"
,
// 圆角 || butt 平角
selectedStyle
:
{
// 选中时的样式
color
:
"white"
,
// 包边颜色
borderWidth
:
10
// 包边宽度
},
color
:
[
"#E8EAF7"
,
"#596EC4"
,
"#FFB690"
],
labelCoverTitle
:
true
,
// label 是否覆盖标题
backgroundArc
:
'#999'
// 空圆环的颜色
}
var
cir
=
new
DonutChart
(
'myCanvas'
,
option
)
cir
.
init
(
function
(
result
)
{
// result 选中的选区的相关信息
})
}
}
}
</
script
>
\ No newline at end of file
src/components/statistics/old.vue
View file @
9738f182
<
template
>
<
template
>
<div
class=
"old-box"
>
<div
class=
"old-box"
>
<div
class=
"statistics-title"
>
客户年龄分布统计
</div>
<div
class=
"statistics-title
bold18
"
>
客户年龄分布统计
</div>
<el-row
:gutter=
"25"
style=
"height:calc(100% - 62px)"
>
<el-row
:gutter=
"25"
style=
"height:calc(100% - 62px)"
>
<el-col
span=
"12"
style=
"height:100%;"
>
<el-col
:
span=
"12"
style=
"height:100%;"
>
<div
class=
"left-content"
>
<div
class=
"left-content"
>
<div
class=
"content"
style=
"margin-top:0;"
>
<div
class=
"content"
style=
"margin-top:0;"
>
<el-card
class=
"blue"
>
<el-card
class=
"blue"
>
...
@@ -122,7 +122,7 @@
...
@@ -122,7 +122,7 @@
</div>
</div>
</div>
-->
</div>
-->
</el-col>
</el-col>
<el-col
span=
"12"
style=
"height:100%;"
>
<el-col
:
span=
"12"
style=
"height:100%;"
>
<div
class=
"left-content"
>
<div
class=
"left-content"
>
<div
class=
"content"
style=
"margin-top:0;"
>
<div
class=
"content"
style=
"margin-top:0;"
>
<el-card
class=
"blue"
>
<el-card
class=
"blue"
>
...
@@ -139,14 +139,14 @@
...
@@ -139,14 +139,14 @@
<el-col
:span=
"12"
size=
"30"
>
<el-col
:span=
"12"
size=
"30"
>
推荐解答
推荐解答
</el-col>
</el-col>
<el-col
span=
"12"
class=
"right-title"
>
<el-col
:
span=
"12"
class=
"right-title"
>
<i
class=
"iconfont icondianzan1"
></i>
点赞
<i
class=
"iconfont icondianzan1"
></i>
点赞
</el-col>
</el-col>
</el-row>
</el-row>
</div>
</div>
<div
class=
"situ"
>
<div
class=
"situ"
>
<div
class=
"c"
>
根据对客户年龄段的统计可以,更好的了解不同年龄段客人的喜好,消费能力的判读,从而快速的推荐团队给客人等等等
</div>
<div
class=
"c"
>
根据对客户年龄段的统计可以,更好的了解不同年龄段客人的喜好,消费能力的判读,从而快速的推荐团队给客人等等等
</div>
<div
class=
"bot"
>
<div
class=
"bot"
@
click=
"drawer = true"
>
查看更多,参与讨论(19)
查看更多,参与讨论(19)
<i
class=
"el-icon-d-arrow-right"
></i>
<i
class=
"el-icon-d-arrow-right"
></i>
</div>
</div>
...
@@ -161,10 +161,10 @@
...
@@ -161,10 +161,10 @@
<div
class=
"situ"
>
<div
class=
"situ"
>
<div
class=
"head"
>
<div
class=
"head"
>
<el-row
style=
"width:100%"
>
<el-row
style=
"width:100%"
>
<el-col
:span=
"12"
size=
"30"
style=
"font-size:14px;"
>
<el-col
:
:
span=
"12"
size=
"30"
style=
"font-size:14px;"
>
<el-avatar
style=
"margin-top:3px;margin-right:5px;vertical-align: bottom;"
>
系统
</el-avatar>
系统默认
<el-avatar
style=
"margin-top:3px;margin-right:5px;vertical-align: bottom;"
>
系统
</el-avatar>
系统默认
</el-col>
</el-col>
<el-col
span=
"12"
class=
"right"
>
<el-col
:
span=
"12"
class=
"right"
>
<i
class=
"iconfont icondianzan1"
></i>
点赞
<i
class=
"iconfont icondianzan1"
></i>
点赞
</el-col>
</el-col>
</el-row>
</el-row>
...
@@ -177,19 +177,30 @@
...
@@ -177,19 +177,30 @@
</div>
-->
</div>
-->
</el-col>
</el-col>
</el-row>
</el-row>
<el-drawer
size=
'695px'
:visible
.
sync=
"drawer"
direction=
"rtl"
:with-header=
"false"
>
<discussBox
:id=
"discussID"
/>
</el-drawer>
</div>
</div>
</
template
>
</
template
>
<
script
>
<
script
>
import
shopping
from
"./old/shopping"
;
import
shopping
from
"./old/shopping"
;
import
orders
from
"./old/orders"
;
import
orders
from
"./old/orders"
;
import
discussBox
from
"./model/discussBox"
;
export
default
{
export
default
{
components
:
{
components
:
{
shopping
,
shopping
,
orders
orders
,
discussBox
},
},
data
()
{
data
()
{
return
{
return
{
discussID
:
0
,
drawer
:
false
,
scaleData
:
[],
scaleData
:
[],
showChats
:
[],
showChats
:
[],
moneys
:
[],
moneys
:
[],
...
@@ -253,6 +264,9 @@ export default {
...
@@ -253,6 +264,9 @@ export default {
</
script
>
</
script
>
<
style
>
<
style
>
.old-box
.el-drawer__body
{
height
:
100%
;
}
.old-box
{
.old-box
{
height
:
calc
(
100%
-
25px
);
height
:
calc
(
100%
-
25px
);
}
}
...
...
src/components/statistics/old/orders.vue
View file @
9738f182
...
@@ -19,6 +19,10 @@ export default {
...
@@ -19,6 +19,10 @@ export default {
},
},
mounted
()
{
mounted
()
{
console
.
log
(
this
.
scaleData
);
console
.
log
(
this
.
scaleData
);
let
myChart
=
this
.
$echarts
.
init
(
this
.
$refs
.
myChart
);
window
.
addEventListener
(
"resize"
,
()
=>
{
myChart
.
resize
();
});
this
.
scaleData
.
forEach
(
x
=>
{
this
.
scaleData
.
forEach
(
x
=>
{
this
.
sumMoney
+=
x
.
value
;
this
.
sumMoney
+=
x
.
value
;
});
});
...
...
src/components/statistics/old/shopping.vue
View file @
9738f182
...
@@ -18,6 +18,10 @@ export default {
...
@@ -18,6 +18,10 @@ export default {
};
};
},
},
mounted
()
{
mounted
()
{
let
myChart
=
this
.
$echarts
.
init
(
this
.
$refs
.
myChart
);
window
.
addEventListener
(
"resize"
,
()
=>
{
myChart
.
resize
();
});
this
.
scaleData
.
forEach
(
x
=>
{
this
.
scaleData
.
forEach
(
x
=>
{
this
.
sumMoney
+=
x
.
value
;
this
.
sumMoney
+=
x
.
value
;
});
});
...
...
src/components/statistics/sex.vue
0 → 100644
View file @
9738f182
<
style
>
.sex
{
height
:
calc
(
100%
-
25px
);
}
.statistics-title
{
font-size
:
24px
;
color
:
#111
;
margin-bottom
:
30px
;
font-family
:
perfectFont
;
}
.sex
.conten-box
{
display
:
flex
;
flex-direction
:
column
;
height
:
calc
(
100%
-
62px
);
}
.sex
.conten-box
.el-card
.el-card__header
{
font-weight
:
normal
!important
;
}
.sex
.conten-box
.top
{
flex
:
1.2
;
margin-bottom
:
25px
;
}
.sex
.conten-box
.bottom
{
flex
:
.8
;
}
.sex
.conten-box
.left
{
height
:
100%
;
}
.sex
.conten-box
.el-card.blue
{
background
:
#0D2481
!important
;
color
:
#fff
!important
;
height
:
calc
(
100%
-
2px
);
}
.sex
.conten-box
.el-card
.el-card__body
{
padding
:
20px
;
height
:
calc
(
100%
-
98px
);
max-height
:
calc
(
100%
-
98px
);
}
.sex
.conten-box
.img
{
display
:
flex
;
align-items
:
flex-end
;
text-align
:
center
;
padding
:
20px
70px
!important
;
justify-content
:
space-between
;
font-size
:
14px
;
}
.sjsm
{
display
:
flex
;
flex-direction
:
column
;
}
.sjsm
>
div
:nth-child
(
1
)
{
margin-bottom
:
20px
;
}
.sjsm
>
div
{
flex
:
1
;
background
:
rgba
(
244
,
245
,
249
,
1
);
display
:
flex
;
align-items
:
center
;
justify-content
:
space-between
;
padding
:
20px
;
}
.sjsm
>
div
.left
{
display
:
flex
;
align-items
:
center
;
}
.sjsm
>
div
.left
img
{
padding-right
:
10px
;
}
.sjsm
>
div
.right
{
text-align
:
right
;
color
:
#888888
;
font-size
:
12px
;
}
.hight-font
{
color
:
#0D2481
!important
;
font-size
:
14px
;
}
</
style
>
<
template
>
<div
class=
"sex"
>
<div
class=
"statistics-title bold18"
>
客户性别统计
</div>
<div
class=
"conten-box"
>
<el-row
:gutter=
"25"
class=
"top"
>
<el-col
:span=
"16"
class=
"left"
>
<el-card
class=
"blue"
>
<div
slot=
"header"
class=
"clearfix"
>
<span>
性别统计
</span>
</div>
<el-row
:gutter=
"80"
style=
"height: 100%;"
>
<el-col
:span=
"10"
class=
"img"
>
<div>
<div>
<img
src=
"../../assets/img/tongji/man.png"
alt=
""
>
</div>
<p>
男
</p>
</div>
<div>
<div>
<img
src=
"../../assets/img/tongji/woman.png"
alt=
""
>
</div>
<p>
女
</p>
</div>
</el-col>
<el-col
:span=
"14"
style=
"height: 100%;"
>
<sexChart
:myData=
"chartData"
/>
</el-col>
</el-row>
</el-card>
</el-col>
<el-col
:span=
"8"
style=
"height: 100%;"
>
<el-card
style=
"height: calc(100% - 2px);"
>
<div
slot=
"header"
class=
"clearfix"
>
<span>
购物统计
<span
class=
"font-size-12"
>
(按平均计算)
</span></span>
</div>
<shopChart
:shopChartData=
"shopChartData"
/>
</el-card>
</el-col>
</el-row>
<el-row
:gutter=
"25"
class=
"bottom"
>
<el-col
:span=
"15"
style=
"height: 100%;"
>
<el-card
style=
"height: 100%;"
>
<div
slot=
"header"
class=
"clearfix"
>
<span>
数据说明
</span>
</div>
<div
style=
"height: 100%;"
class=
"sjsm"
>
<div>
<div
class=
"left"
>
<img
src=
"../../assets/img/tongji/man1.png"
alt=
""
>
<span
class=
"font-size-12"
>
男士
</span>
</div>
<div
class=
"right"
>
<p>
累计报名
<span
class=
"hight-font"
>
666
</span>
人,关联购物金额
<span
class=
"hight-font"
>
6589.66
</span>
万,报名均价为
<span
class=
"hight-font"
>
6588
</span>
元
</p>
<p>
最喜爱产品
<span
class=
"hight-font"
>
《私人定制系列》
</span></p>
</div>
</div>
<div>
<div
class=
"left"
>
<img
src=
"../../assets/img/tongji/woman1.png"
alt=
""
>
<span
class=
"font-size-12"
>
女士
</span>
</div>
<div
class=
"right"
>
<p>
累计报名
<span
class=
"hight-font"
>
666
</span>
人,关联购物金额
<span
class=
"hight-font"
>
6589.66
</span>
万,报名均价为
<span
class=
"hight-font"
>
6588
</span>
元
</p>
<p>
最喜爱产品
<span
class=
"hight-font"
>
《私人定制系列》
</span></p>
</div>
</div>
</div>
</el-card>
</el-col>
<el-col
:span=
"9"
style=
"height: 100%;"
>
<el-card
style=
"height: 100%;"
>
<div
slot=
"header"
class=
"clearfix"
>
<el-row
style=
"width:100%"
>
<el-col
:span=
"12"
size=
"30"
>
推荐解答
</el-col>
<el-col
:span=
"12"
class=
"right-title"
>
<i
class=
"iconfont icondianzan1"
></i>
点赞
</el-col>
</el-row>
</div>
<div
class=
"situ"
>
<div
class=
"c"
>
根据对客户年龄段的统计可以,更好的了解不同年龄段客人的喜好,消费能力的判读,从而快速的推荐团队给客人等等等
</div>
<div
class=
"bot"
@
click=
"drawer = true"
>
查看更多,参与讨论(19)
<i
class=
"el-icon-d-arrow-right"
></i>
</div>
</div>
</el-card>
</el-col>
</el-row>
</div>
<el-drawer
size=
'695px'
:visible
.
sync=
"drawer"
direction=
"rtl"
:with-header=
"false"
>
<discussBox
:id=
"discussID"
/>
</el-drawer>
</div>
</
template
>
<
script
>
import
sexChart
from
'./model/sexChart'
import
shopChart
from
'./model/shopChart'
import
discussBox
from
"./model/discussBox"
;
export
default
{
components
:
{
sexChart
,
shopChart
,
discussBox
},
data
()
{
return
{
discussID
:
0
,
drawer
:
false
,
chartData
:
[
50
,
20
],
shopChartData
:
[
50
,
30
]
};
},
watch
:{
},
mounted
()
{
},
methods
:
{
}
}
</
script
>
\ No newline at end of file
src/router.js
View file @
9738f182
...
@@ -137,6 +137,14 @@ export default new Router({
...
@@ -137,6 +137,14 @@ export default new Router({
title
:
"客户婚姻状态统计"
title
:
"客户婚姻状态统计"
}
}
},
},
{
path
:
"/sex"
,
name
:
"sex"
,
component
:
()
=>
import
(
'./components/statistics/sex.vue'
),
meta
:
{
title
:
"客户性别统计"
}
},
{
{
path
:
"/contractManagement"
,
path
:
"/contractManagement"
,
name
:
"contractManagement"
,
name
:
"contractManagement"
,
...
...
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