|
@@ -8,7 +8,8 @@ export default {
|
|
|
option: null,
|
|
|
level1RenderArr: [],
|
|
|
myChart: null,
|
|
|
- curActiveIndex: 0
|
|
|
+ curActiveIndex: 0,
|
|
|
+ level1PieData: []
|
|
|
}
|
|
|
},
|
|
|
methods: {
|
|
@@ -36,7 +37,7 @@ export default {
|
|
|
this.option = {
|
|
|
tooltip: {
|
|
|
trigger: 'item',
|
|
|
- formatter: '{a} <br/>{b}: {c} ({d}%)'
|
|
|
+ formatter: '{a} <br/>{b} 配分: {c} ({d}%)'
|
|
|
},
|
|
|
series: [
|
|
|
{
|
|
@@ -52,7 +53,7 @@ export default {
|
|
|
show: true,
|
|
|
smooth: 0.2,
|
|
|
},
|
|
|
- data: this.level1RenderArr
|
|
|
+ data: that.level1PieData
|
|
|
},
|
|
|
{
|
|
|
name: '二级知识点',
|
|
@@ -72,7 +73,7 @@ export default {
|
|
|
};
|
|
|
myChart.setOption(this.option)
|
|
|
myChart.off('click')
|
|
|
- myChart.on('click',{seriesIndex: 0}, function (param) {
|
|
|
+ myChart.on('click', { seriesIndex: 0 }, function (param) {
|
|
|
if (that.curActiveIndex !== param.dataIndex) {
|
|
|
param.data.selected = true
|
|
|
that.curActiveIndex = param.dataIndex
|
|
@@ -88,31 +89,32 @@ export default {
|
|
|
that.myChart = myChart
|
|
|
},
|
|
|
onLevel1Click(name, index, isAll) {
|
|
|
- let allPoints = this.$store.state.dashboard.artDashboard.knowledges
|
|
|
+ let allPoints = this.$store.state.artDashboard.knowledges
|
|
|
let level2NameArr = isAll ? [...new Set(allPoints.map(j => j.level2))] : [...new Set(allPoints.filter(i => i.level1 === name).map(j => j.level2))]
|
|
|
let level2RenderArr = level2NameArr.map(level2Name => {
|
|
|
return {
|
|
|
name: level2Name,
|
|
|
- value: allPoints.filter(j => j.level2 === level2Name).length
|
|
|
+ value: this.$store.state.artDashboard.artAnalysisJson.blk.find(i => i.name === level2Name).score
|
|
|
}
|
|
|
})
|
|
|
this.level1RenderArr.forEach(i => i.selected = false)
|
|
|
!isAll && (this.level1RenderArr[index].selected = true)
|
|
|
this.$EventBus.$emit('onLevel1Click', [...arguments])
|
|
|
- this.doRender(this.level1RenderArr, level2RenderArr)
|
|
|
+ this.doRender(this.level1PieData, level2RenderArr)
|
|
|
}
|
|
|
},
|
|
|
watch: {
|
|
|
- '$store.state.dashboard.artDashboard': {
|
|
|
+ '$store.state.artDashboard.knowledges': {
|
|
|
deep: true,
|
|
|
immediate: true,
|
|
|
handler(n, o) {
|
|
|
if (n) {
|
|
|
+ console.error(n)
|
|
|
this.$nextTick(() => {
|
|
|
- let level1Arr = [...new Set(n.knowledges.map(i => i.level1))]
|
|
|
- let level2Arr = [...new Set(n.knowledges.map(i => i.level2))]
|
|
|
+ let level1Arr = [...new Set(n.map(i => i.level1))]
|
|
|
+ let level2Arr = [...new Set(n.map(i => i.level2))]
|
|
|
let level1RenderArr = level1Arr.map((i, index) => {
|
|
|
- let matchLevel3 = n.knowledges.filter(j => j.level1 === i)
|
|
|
+ let matchLevel3 = n.filter(j => j.level1 === i)
|
|
|
return {
|
|
|
name: i,
|
|
|
value: ((matchLevel3.reduce((a, b) => a + b.val, 0)) / matchLevel3.length).toFixed(2),
|
|
@@ -120,6 +122,14 @@ export default {
|
|
|
}
|
|
|
})
|
|
|
this.level1RenderArr = level1RenderArr
|
|
|
+ let blks = this.$store.state.artDashboard.artAnalysisJson.blk
|
|
|
+ this.level1PieData = level1Arr.map((i, index) => {
|
|
|
+ return {
|
|
|
+ name: i,
|
|
|
+ value: Number(blks.filter(j => j.dimension.includes(i)).reduce((a, b) => a + b.score, 0).toFixed(2)),
|
|
|
+ selected: index === 0
|
|
|
+ }
|
|
|
+ })
|
|
|
this.onLevel1Click(level1RenderArr[0].name, 0)
|
|
|
})
|
|
|
}
|