Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
V
VueElementTemplate
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
JIRA
JIRA
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
黄瑜
VueElementTemplate
Commits
f27b1671
Commit
f27b1671
authored
Jun 30, 2017
by
Pan
Committed by
花裤衩
Jul 03, 2017
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
add new charts
parent
4b4bf494
Changes
10
Expand all
Show whitespace changes
Inline
Side-by-side
Showing
10 changed files
with
537 additions
and
529 deletions
+537
-529
echarts-macarons.js
src/assets/echarts-macarons.js
+199
-0
barPercent.vue
src/components/Charts/barPercent.vue
+0
-104
line.vue
src/components/Charts/line.vue
+0
-146
index.scss
src/styles/index.scss
+4
-0
articlesChart.vue
src/views/dashboard/editor/articlesChart.vue
+0
-34
barChart.vue
src/views/dashboard/editor/barChart.vue
+88
-0
index.vue
src/views/dashboard/editor/index.vue
+77
-184
lineChart.vue
src/views/dashboard/editor/lineChart.vue
+93
-0
monthKpi.vue
src/views/dashboard/editor/monthKpi.vue
+0
-61
pieChart.vue
src/views/dashboard/editor/pieChart.vue
+76
-0
No files found.
src/assets/echarts-macarons.js
0 → 100644
View file @
f27b1671
/* eslint-disable */
(
function
(
root
,
factory
)
{
if
(
typeof
define
===
'function'
&&
define
.
amd
)
{
// AMD. Register as an anonymous module.
define
([
'exports'
,
'echarts'
],
factory
);
}
else
if
(
typeof
exports
===
'object'
&&
typeof
exports
.
nodeName
!==
'string'
)
{
// CommonJS
factory
(
exports
,
require
(
'echarts'
));
}
else
{
// Browser globals
factory
({},
root
.
echarts
);
}
}(
this
,
function
(
exports
,
echarts
)
{
var
log
=
function
(
msg
)
{
if
(
typeof
console
!==
'undefined'
)
{
console
&&
console
.
error
&&
console
.
error
(
msg
);
}
};
if
(
!
echarts
)
{
log
(
'ECharts is not Loaded'
);
return
;
}
var
colorPalette
=
[
'#2ec7c9'
,
'#b6a2de'
,
'#5ab1ef'
,
'#ffb980'
,
'#d87a80'
,
'#8d98b3'
,
'#e5cf0d'
,
'#97b552'
,
'#95706d'
,
'#dc69aa'
,
'#07a2a4'
,
'#9a7fd1'
,
'#588dd5'
,
'#f5994e'
,
'#c05050'
,
'#59678c'
,
'#c9ab00'
,
'#7eb00a'
,
'#6f5553'
,
'#c14089'
];
var
theme
=
{
color
:
colorPalette
,
title
:
{
textStyle
:
{
fontWeight
:
'normal'
,
color
:
'#008acd'
}
},
visualMap
:
{
itemWidth
:
15
,
color
:
[
'#5ab1ef'
,
'#e0ffff'
]
},
toolbox
:
{
iconStyle
:
{
normal
:
{
borderColor
:
colorPalette
[
0
]
}
}
},
tooltip
:
{
backgroundColor
:
'rgba(50,50,50,0.5)'
,
axisPointer
:
{
type
:
'line'
,
lineStyle
:
{
color
:
'#008acd'
},
crossStyle
:
{
color
:
'#008acd'
},
shadowStyle
:
{
color
:
'rgba(200,200,200,0.2)'
}
}
},
dataZoom
:
{
dataBackgroundColor
:
'#efefff'
,
fillerColor
:
'rgba(182,162,222,0.2)'
,
handleColor
:
'#008acd'
},
grid
:
{
borderColor
:
'#eee'
},
categoryAxis
:
{
axisLine
:
{
lineStyle
:
{
color
:
'#008acd'
}
},
splitLine
:
{
lineStyle
:
{
color
:
[
'#eee'
]
}
}
},
valueAxis
:
{
axisLine
:
{
lineStyle
:
{
color
:
'#008acd'
}
},
splitArea
:
{
show
:
true
,
areaStyle
:
{
color
:
[
'rgba(250,250,250,0.1)'
,
'rgba(200,200,200,0.1)'
]
}
},
splitLine
:
{
lineStyle
:
{
color
:
[
'#eee'
]
}
}
},
timeline
:
{
lineStyle
:
{
color
:
'#008acd'
},
controlStyle
:
{
normal
:
{
color
:
'#008acd'
},
emphasis
:
{
color
:
'#008acd'
}
},
symbol
:
'emptyCircle'
,
symbolSize
:
3
},
line
:
{
smooth
:
true
,
symbol
:
'emptyCircle'
,
symbolSize
:
3
},
candlestick
:
{
itemStyle
:
{
normal
:
{
color
:
'#d87a80'
,
color0
:
'#2ec7c9'
,
lineStyle
:
{
color
:
'#d87a80'
,
color0
:
'#2ec7c9'
}
}
}
},
scatter
:
{
symbol
:
'circle'
,
symbolSize
:
4
},
map
:
{
label
:
{
normal
:
{
textStyle
:
{
color
:
'#d87a80'
}
}
},
itemStyle
:
{
normal
:
{
borderColor
:
'#eee'
,
areaColor
:
'#ddd'
},
emphasis
:
{
areaColor
:
'#fe994e'
}
}
},
graph
:
{
color
:
colorPalette
},
gauge
:
{
axisLine
:
{
lineStyle
:
{
color
:
[[
0.2
,
'#2ec7c9'
],[
0.8
,
'#5ab1ef'
],[
1
,
'#d87a80'
]],
width
:
10
}
},
axisTick
:
{
splitNumber
:
10
,
length
:
15
,
lineStyle
:
{
color
:
'auto'
}
},
splitLine
:
{
length
:
22
,
lineStyle
:
{
color
:
'auto'
}
},
pointer
:
{
width
:
5
}
}
};
echarts
.
registerTheme
(
'macarons'
,
theme
);
}));
src/components/Charts/barPercent.vue
deleted
100644 → 0
View file @
4b4bf494
<
template
>
<div
:class=
"className"
:id=
"id"
:style=
"
{height:height,width:width}">
</div>
</
template
>
<
script
>
// 引入 ECharts 主模块
const
echarts
=
require
(
'echarts/lib/echarts'
);
// 引入柱状图
require
(
'echarts/lib/chart/bar'
);
// 引入提示框和标题组件
require
(
'echarts/lib/component/tooltip'
);
export
default
{
name
:
'barPercent'
,
props
:
{
className
:
{
type
:
String
,
default
:
'bar-percent-chart'
},
id
:
{
type
:
String
,
default
:
'bar-percent-chart'
},
width
:
{
type
:
String
,
default
:
'100px'
},
height
:
{
type
:
String
,
default
:
'80px'
},
dataNum
:
{
type
:
Number
,
default
:
0
}
},
data
()
{
return
{
chart
:
null
};
},
watch
:
{
dataNum
()
{
this
.
setOptions
()
}
},
mounted
()
{
this
.
initBar
();
},
methods
:
{
initBar
()
{
this
.
chart
=
echarts
.
init
(
document
.
getElementById
(
this
.
id
));
this
.
setOptions
();
},
setOptions
()
{
this
.
chart
.
setOption
({
tooltip
:
{
show
:
true
,
formatter
(
params
)
{
return
'已完成'
+
params
.
value
+
'篇<br/>目标90篇<br/>完成进度'
+
Math
.
round
((
params
.
value
/
90
)
*
100
)
+
'%'
}
},
grid
:
{
left
:
0
,
right
:
0
,
bottom
:
0
,
top
:
0
,
containLabel
:
false
},
xAxis
:
[{
type
:
'category'
,
data
:
[
'文章完成比例'
]
}],
yAxis
:
[{
type
:
'value'
,
data
:
[],
show
:
false
}],
animationDelay
:
1000
,
series
:
[{
type
:
'bar'
,
name
:
'初诊'
,
itemStyle
:
{
normal
:
{
color
:
'#e5e5e5'
}
},
silent
:
true
,
barGap
:
'-100%'
,
// Make series be overlap
data
:
[
150
]
},
{
type
:
'bar'
,
name
:
'app'
,
itemStyle
:
{
normal
:
{
color
:
'#30b08f'
}
},
z
:
10
,
data
:
[
this
.
dataNum
]
}]
})
}
}
}
</
script
>
src/components/Charts/line.vue
deleted
100644 → 0
View file @
4b4bf494
<
template
>
<div
:class=
"className"
:id=
"id"
:style=
"
{height:height,width:width}">
</div>
</
template
>
<
script
>
// 引入 ECharts 主模块
const
echarts
=
require
(
'echarts/lib/echarts'
);
// 引入图
require
(
'echarts/lib/chart/line'
);
// 引入提示框和标题组件
require
(
'echarts/lib/component/markLine'
);
require
(
'echarts/lib/component/markPoint'
);
require
(
'echarts/lib/component/tooltip'
);
export
default
{
name
:
'lineChart'
,
props
:
{
className
:
{
type
:
String
,
default
:
'line-chart'
},
id
:
{
type
:
String
,
default
:
'line-chart'
},
width
:
{
type
:
String
,
default
:
'100%'
},
height
:
{
type
:
String
,
default
:
'280px'
},
listData
:
{
type
:
Array
,
require
:
true
}
},
data
()
{
return
{
chart
:
null
};
},
watch
:
{
listData
(
dataList
)
{
this
.
setLine
(
dataList
)
}
},
mounted
()
{
this
.
chart
=
echarts
.
init
(
document
.
getElementById
(
this
.
id
));
this
.
setLine
(
this
.
listData
);
},
methods
:
{
setLine
(
dataList
)
{
const
xAxisData
=
[];
const
data
=
[];
for
(
let
i
=
0
;
i
<
dataList
.
length
;
i
++
)
{
const
item
=
dataList
[
i
]
xAxisData
.
push
(
item
.
week
.
substring
(
item
.
week
.
length
-
2
)
+
'周'
);
data
.
push
(
item
.
count
)
}
const
markLineData
=
[];
for
(
let
i
=
1
;
i
<
data
.
length
;
i
++
)
{
markLineData
.
push
([{
xAxis
:
i
-
1
,
yAxis
:
data
[
i
-
1
],
value
:
data
[
i
]
-
data
[
i
-
1
]
},
{
xAxis
:
i
,
yAxis
:
data
[
i
]
}]);
}
this
.
chart
.
setOption
({
title
:
{
text
:
'Awesome Chart'
},
grid
:
{
left
:
0
,
right
:
0
,
bottom
:
20
,
containLabel
:
true
},
tooltip
:
{
trigger
:
'axis'
},
animationDelay
:
1000
,
xAxis
:
{
data
:
xAxisData
,
axisLine
:
{
show
:
false
},
axisTick
:
{
show
:
false
}
// axisLabel:{
// show:false
// },
},
yAxis
:
{
splitLine
:
{
show
:
false
},
show
:
false
// min: 90
},
series
:
[{
name
:
'撸文数'
,
type
:
'line'
,
data
,
markPoint
:
{
data
:
[
{
type
:
'max'
,
name
:
'最大值'
},
{
type
:
'min'
,
name
:
'最小值'
}
]
},
itemStyle
:
{
normal
:
{
color
:
'#30b08f'
}
},
markLine
:
{
silent
:
true
,
smooth
:
true
,
effect
:
{
show
:
true
},
animationDuration
(
idx
)
{
return
idx
*
100
;
},
animationDelay
:
1000
,
animationEasing
:
'quadraticInOut'
,
distance
:
1
,
label
:
{
normal
:
{
position
:
'middle'
}
},
symbol
:
[
'none'
,
'none'
],
data
:
markLineData
}
}]
})
}
}
}
</
script
>
src/styles/index.scss
View file @
f27b1671
...
...
@@ -96,6 +96,7 @@ code {
opacity
:
0
;
}
//main-container全局样式
.app-container
{
padding
:
20px
;
...
...
@@ -112,6 +113,9 @@ code {
height
:
100%
!
important
;
}
.text-center
{
text-align
:
center
}
.wscn-icon
{
width
:
1em
;
height
:
1em
;
...
...
src/views/dashboard/editor/articlesChart.vue
deleted
100644 → 0
View file @
4b4bf494
<
template
>
<div
class=
"articlesChart-container"
>
<span
class=
"articlesChart-container-title"
>
每天撸文
</span>
<line-chart
:listData=
'listData'
></line-chart>
</div>
</
template
>
<
script
>
import
LineChart
from
'components/Charts/line'
;
export
default
{
name
:
'articlesChart'
,
components
:
{
LineChart
},
props
:
{
listData
:
{
type
:
Array
,
default
:
[],
require
:
true
}
},
data
()
{
return
{}
}
}
</
script
>
<
style
>
.articlesChart-container
{
width
:
100%
;
}
.articlesChart-container-title
{
color
:
#7F8C8D
;
font-size
:
16px
;
display
:
inline-block
;
margin-top
:
10px
;
}
</
style
>
src/views/dashboard/editor/barChart.vue
0 → 100644
View file @
f27b1671
<
template
>
<div
:class=
"className"
:style=
"
{height:height,width:width}">
</div>
</
template
>
<
script
>
import
echarts
from
'echarts'
;
require
(
'echarts/theme/macarons'
);
// echarts 主题
export
default
{
props
:
{
className
:
{
type
:
String
,
default
:
'chart'
},
width
:
{
type
:
String
,
default
:
'100%'
},
height
:
{
type
:
String
,
default
:
'300px'
}
},
data
()
{
return
{
chart
:
null
};
},
mounted
()
{
this
.
initChart
();
},
beforeDestroy
()
{
if
(
!
this
.
chart
)
{
return
}
this
.
chart
.
dispose
();
this
.
chart
=
null
;
},
methods
:
{
initChart
()
{
this
.
chart
=
echarts
.
init
(
this
.
$el
,
'macarons'
);
this
.
chart
.
setOption
({
tooltip
:
{
trigger
:
'axis'
,
axisPointer
:
{
// 坐标轴指示器,坐标轴触发有效
type
:
'shadow'
// 默认为直线,可选为:'line' | 'shadow'
}
},
grid
:
{
left
:
'3%'
,
right
:
'4%'
,
bottom
:
'3%'
,
containLabel
:
true
},
xAxis
:
[{
type
:
'category'
,
data
:
[
'Mon'
,
'Tue'
,
'Wed'
,
'Thu'
,
'Fri'
,
'Sat'
,
'Sun'
],
axisTick
:
{
alignWithLabel
:
true
}
}],
yAxis
:
[{
type
:
'value'
}],
series
:
[{
name
:
'pageA'
,
type
:
'bar'
,
stack
:
'vistors'
,
barWidth
:
'60%'
,
data
:
[
79
,
52
,
200
,
334
,
390
,
330
,
220
]
},
{
name
:
'pageB'
,
type
:
'bar'
,
stack
:
'vistors'
,
barWidth
:
'60%'
,
data
:
[
80
,
52
,
200
,
334
,
390
,
330
,
220
]
},
{
name
:
'pageC'
,
type
:
'bar'
,
stack
:
'vistors'
,
barWidth
:
'60%'
,
data
:
[
30
,
52
,
200
,
334
,
390
,
330
,
220
]
}]
})
}
}
}
</
script
>
src/views/dashboard/editor/index.vue
View file @
f27b1671
This diff is collapsed.
Click to expand it.
src/views/dashboard/editor/lineChart.vue
0 → 100644
View file @
f27b1671
<
template
>
<div
:class=
"className"
:style=
"
{height:height,width:width}">
</div>
</
template
>
<
script
>
import
echarts
from
'echarts'
;
require
(
'echarts/theme/macarons'
);
// echarts 主题
export
default
{
props
:
{
className
:
{
type
:
String
,
default
:
'chart'
},
width
:
{
type
:
String
,
default
:
'100%'
},
height
:
{
type
:
String
,
default
:
'300px'
}
},
data
()
{
return
{
chart
:
null
};
},
mounted
()
{
this
.
initChart
();
},
beforeDestroy
()
{
if
(
!
this
.
chart
)
{
return
}
this
.
chart
.
dispose
();
this
.
chart
=
null
;
},
methods
:
{
initChart
()
{
this
.
chart
=
echarts
.
init
(
this
.
$el
,
'macarons'
);
this
.
chart
.
setOption
({
xAxis
:
{
data
:
[
'Sunday'
,
'Monday'
,
'Tuesday'
,
'Wednesday'
,
'Thursday'
,
'Friday'
,
'Saturday'
],
boundaryGap
:
false
},
grid
:
{
left
:
0
,
right
:
0
,
bottom
:
20
,
containLabel
:
true
},
tooltip
:
{
trigger
:
'axis'
,
axisPointer
:
{
type
:
'cross'
}
},
yAxis
:
{},
series
:
[{
name
:
'vistor'
,
itemStyle
:
{
normal
:
{
areaStyle
:
{}
}
},
smooth
:
true
,
type
:
'line'
,
data
:
[
100
,
120
,
161
,
134
,
105
,
160
,
165
]
},
{
name
:
'buyer'
,
smooth
:
true
,
type
:
'line'
,
itemStyle
:
{
normal
:
{
color
:
'rgba(2, 197, 233, 0.2)'
,
lineStyle
:
{
color
:
'rgba(2, 197, 233, 0.2)'
},
areaStyle
:
{
color
:
'rgba(99,194,255, 0.6)'
}
}
},
data
:
[
120
,
82
,
91
,
154
,
162
,
140
,
130
]
}]
})
}
}
}
</
script
>
src/views/dashboard/editor/monthKpi.vue
deleted
100644 → 0
View file @
4b4bf494
<
template
>
<div
class=
"monthKpi-container"
>
<span
class=
"monthKpi-container-title"
>
{{
month
}}
月
</span>
<BarPercent
class=
"monthKpi-container-chart"
:dataNum=
'articlesComplete'
></BarPercent>
<span
class=
"monthKpi-container-text"
>
文章完成比例
</span>
<span
class=
"monthKpi-container-count"
>
{{
articlesComplete
}}
<b>
篇
</b></span>
</div>
</
template
>
<
script
>
import
BarPercent
from
'components/Charts/barPercent'
;
export
default
{
name
:
'monthKpi'
,
components
:
{
BarPercent
},
props
:
{
articlesComplete
:
{
type
:
Number
}
},
data
()
{
return
{
month
:
new
Date
().
getMonth
()
+
1
}
}
}
</
script
>
<
style
rel=
"stylesheet/scss"
lang=
"scss"
scoped
>
.monthKpi-container
{
width
:
100%
;
}
.monthKpi-container-title
{
color
:
#7F8C8D
;
font-size
:
16px
;
display
:
inline-block
;
margin-top
:
10px
;
}
.monthKpi-container-chart
{
margin-left
:
100px
;
margin-bottom
:
4px
;
}
.monthKpi-container-text
{
margin-left
:
112px
;
color
:
#9EA7B3
;
font-size
:
12px
;
}
.monthKpi-container-count
{
color
:
#30B08F
;
font-size
:
34px
;
position
:
absolute
;
left
:
260px
;
top
:
60px
;
b
{
padding-left
:
10px
;
color
:
#9EA7B3
;
font-size
:
12px
;
}
}
</
style
>
src/views/dashboard/editor/pieChart.vue
0 → 100644
View file @
f27b1671
<
template
>
<div
:class=
"className"
:style=
"
{height:height,width:width}">
</div>
</
template
>
<
script
>
import
echarts
from
'echarts'
;
require
(
'echarts/theme/macarons'
);
// echarts 主题
export
default
{
props
:
{
className
:
{
type
:
String
,
default
:
'chart'
},
width
:
{
type
:
String
,
default
:
'100%'
},
height
:
{
type
:
String
,
default
:
'300px'
}
},
data
()
{
return
{
chart
:
null
};
},
mounted
()
{
this
.
initChart
();
},
beforeDestroy
()
{
if
(
!
this
.
chart
)
{
return
}
this
.
chart
.
dispose
();
this
.
chart
=
null
;
},
methods
:
{
initChart
()
{
this
.
chart
=
echarts
.
init
(
this
.
$el
,
'macarons'
);
this
.
chart
.
setOption
({
title
:
{
text
:
'WEEKLY WRITE ARTICLES'
,
x
:
'center'
},
tooltip
:
{
trigger
:
'item'
,
formatter
:
'{a} <br/>{b} : {c} ({d}%)'
},
legend
:
{
x
:
'center'
,
y
:
'bottom'
,
data
:
[
'industries'
,
'technology'
,
'gold'
,
'forex'
,
'forecasts'
,
'markets'
]
},
calculable
:
true
,
series
:
[
{
name
:
'WEEKLY WRITE ARTICLES'
,
type
:
'pie'
,
roseType
:
'radius'
,
data
:
[
{
value
:
320
,
name
:
'industries'
},
{
value
:
240
,
name
:
'technology'
},
{
value
:
149
,
name
:
'forex'
},
{
value
:
100
,
name
:
'gold'
},
{
value
:
59
,
name
:
'forecastsx'
},
{
value
:
49
,
name
:
'markets'
}
]
}
]
})
}
}
}
</
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