|
@@ -3,25 +3,27 @@
|
|
|
<div slot="center" style>
|
|
|
<rx-fit>
|
|
|
<div slot="toolheader" border="false" foldbtn="false">
|
|
|
- <top-nav title="知识地图统计" time="2021-10-15 10:00:01"></top-nav>
|
|
|
+ <top-nav @callBack="freshData" title="知识地图统计" :time="timeData"></top-nav>
|
|
|
</div>
|
|
|
<div class="echart-style">
|
|
|
<div style="width:58%;">
|
|
|
<div class="line-style">
|
|
|
- <div :style="{'border-bottom' : tabStatus ? '2px solid #1890ff' : 'none'}" @click="handleTabsChange">
|
|
|
- 用户访问总量-10000(uv)
|
|
|
+ <div :style="{'border-bottom' : tabStatus ? '2px solid #1890ff' : 'none'}" @click="handleTabsChange(true)">
|
|
|
+ 用户访问总量-{{barDataNum}}(uv)
|
|
|
</div>
|
|
|
- <div :style="{'border-bottom' : !tabStatus ? '2px solid #1890ff' : 'none'}" @click="handleTabsChange">
|
|
|
- 地图创建总量-20000
|
|
|
+ <div :style="{'border-bottom' : !tabStatus ? '2px solid #1890ff' : 'none'}" @click="handleTabsChange(false)">
|
|
|
+ 地图创建总量-{{barDataNumCreat}}
|
|
|
</div>
|
|
|
</div>
|
|
|
- <line-echart :barData="barData"></line-echart>
|
|
|
+ <line-echart @setbarDataNumCreat="setbarDataNumCreat" @setbarDataNum="setbarDataNum" ref="lineEchart"></line-echart>
|
|
|
</div>
|
|
|
<div style="width:40%;">
|
|
|
- <div class="album-style">
|
|
|
+ <div class="album-style" style="width:90%;z-index: 10;">
|
|
|
各类型地图创建量分布
|
|
|
+ <pieChange ref="pieChange" @typeChange="typeChange"></pieChange>
|
|
|
</div>
|
|
|
- <rose-echart :roseData="roseData"></rose-echart>
|
|
|
+ <rose-echart v-if="peitype!=2" :roseData="roseData"></rose-echart>
|
|
|
+ <pie-echart v-else :pieData="pieData" :pieDataTitleLeft="pieDataTitleLeft" :pieDataTitleRight="pieDataTitleRight"></pie-echart>
|
|
|
</div>
|
|
|
</div>
|
|
|
<div class="bar-style">
|
|
@@ -29,16 +31,17 @@
|
|
|
地图页面访问量分布
|
|
|
<span>(pv)</span>
|
|
|
</div>
|
|
|
- <bar-echart-one></bar-echart-one>
|
|
|
+ <bar-echart-one :barXData="barXData" :barData="barDataNew"></bar-echart-one>
|
|
|
</div>
|
|
|
<div class="table-style">
|
|
|
<div>
|
|
|
组织创建和访问地图数量TOP10
|
|
|
</div>
|
|
|
<rx-grid
|
|
|
+ ref="table"
|
|
|
style="background: #fff;min-height: 400px;"
|
|
|
:columns="columns"
|
|
|
- :url="api.findAllKnowledge"
|
|
|
+ :url="statistics.organizationMaps"
|
|
|
:queryParam="queryParam"
|
|
|
data-field="result.data"
|
|
|
:heightAuto="true"
|
|
@@ -56,60 +59,138 @@
|
|
|
import topNav from './components/topNav'
|
|
|
import lineEchart from './components/LineEchart';
|
|
|
import roseEchart from './components/RoseEchart';
|
|
|
+import pieChange from './components/pieChange'
|
|
|
+import pieEchart from './components/PieEchart';
|
|
|
import barEchartOne from './components/BarEchartOne';
|
|
|
-import api from '@/api/knowledge/manage';
|
|
|
+import statistics from '@/api/knowledge/statistics'
|
|
|
export default {
|
|
|
name: 'synthesize',
|
|
|
components: {
|
|
|
topNav,
|
|
|
lineEchart,
|
|
|
roseEchart,
|
|
|
- barEchartOne
|
|
|
+ barEchartOne,
|
|
|
+ pieChange,
|
|
|
+ pieEchart
|
|
|
},
|
|
|
data() {
|
|
|
return {
|
|
|
- api,
|
|
|
+ peitype:0,
|
|
|
+ barDataNum:0,
|
|
|
+ barDataNumCreat:0,
|
|
|
+ barDataNew:[],
|
|
|
+ barXData:[],
|
|
|
+ type:'month',
|
|
|
+ timeData:'',
|
|
|
+ statistics,
|
|
|
tabStatus: true,
|
|
|
- barData: [0, 200, 901, 300, 1290, 133,1, 200, 901, 300, 1290, 0],
|
|
|
roseData: [
|
|
|
- { value: 19, name: '19% 新人地图' },
|
|
|
- { value: 40, name: '40% 岗位地图' },
|
|
|
- { value: 20, name: '20% 制度地图' },
|
|
|
- { value: 21, name: '21% 方案地图' }
|
|
|
],
|
|
|
+ pieData:[],
|
|
|
+ pieDataTitleLeft:[],
|
|
|
+ pieDataTitleRight:[],
|
|
|
queryParam: {},
|
|
|
columns: [
|
|
|
{
|
|
|
title: '公司名称',
|
|
|
- dataIndex: 'author',
|
|
|
+ dataIndex: 'company',
|
|
|
align: 'center',
|
|
|
},
|
|
|
{
|
|
|
title: '地图创建总量',
|
|
|
- dataIndex: 'author',
|
|
|
+ dataIndex: 'map',
|
|
|
align: 'center',
|
|
|
sorter: true,
|
|
|
- sortField: 'author'
|
|
|
+ sortField: 'map'
|
|
|
},
|
|
|
{
|
|
|
title: '地图访问量pv',
|
|
|
- dataIndex: 'author',
|
|
|
+ dataIndex: 'pv',
|
|
|
align: 'center',
|
|
|
sorter: true,
|
|
|
- sortField: 'author'
|
|
|
+ sortField: 'pv'
|
|
|
}
|
|
|
]
|
|
|
}
|
|
|
},
|
|
|
- created() {
|
|
|
+ mounted() {
|
|
|
+ this.gettotalUserVisits()
|
|
|
+ this.gettypeMapPie();
|
|
|
+ this.getmapPageHistogram();
|
|
|
+ this.timeData = statistics.getNowDate()
|
|
|
},
|
|
|
methods: {
|
|
|
- handleTabsChange() {
|
|
|
- this.tabStatus = !this.tabStatus
|
|
|
- if(this.tabStatus) {
|
|
|
- this.barData = [20, 5000, 901, 3000, 1290, 1,4000, 200, 6000, 300, 2, 4000]
|
|
|
- } else {
|
|
|
- this.barData = [1000, 1, 6000, 300, 2000, 7000,1, 5000, 9101, 300, 2000, 5]
|
|
|
+ typeChange(data){
|
|
|
+ this.peitype=data
|
|
|
+ },
|
|
|
+ freshData(data){
|
|
|
+ this.type = data
|
|
|
+ this.gettotalUserVisits()
|
|
|
+ this.gettypeMapPie();
|
|
|
+ this.getmapPageHistogram();
|
|
|
+ this.queryParam.type=data
|
|
|
+ this.$refs.table.loadData();
|
|
|
+ this.timeData = statistics.getNowDate()
|
|
|
+ },
|
|
|
+ //用户访问总量
|
|
|
+ gettotalUserVisits(){
|
|
|
+ this.$nextTick(()=>{
|
|
|
+ this.$refs.lineEchart.gettotalUserVisits({module: 'map',type:this.type,tabStatus:this.tabStatus})
|
|
|
+ })
|
|
|
+ },
|
|
|
+ setbarDataNum(data){
|
|
|
+ this.barDataNum=data
|
|
|
+ },
|
|
|
+ setbarDataNumCreat(data){
|
|
|
+ this.barDataNumCreat=data
|
|
|
+ },
|
|
|
+ //各类型地图创建数量
|
|
|
+ gettypeMapPie(){
|
|
|
+ this.$refs.pieChange.changeType(0)
|
|
|
+ this.peitype=0
|
|
|
+ statistics.typeMapPie({type:this.type}).then(res => {
|
|
|
+ let roseData=[]
|
|
|
+ let pieData=[]
|
|
|
+ let pieDataTitleLeft=[]
|
|
|
+ let pieDataTitleRight=[]
|
|
|
+ res.data.forEach((element,index) => {
|
|
|
+ let tempData={
|
|
|
+ value: element.maps,
|
|
|
+ name: Math.floor(element.percentage*100)+'% '+element.type
|
|
|
+ }
|
|
|
+ roseData.push(tempData)
|
|
|
+ let tempData0={ value: element.maps, name: element.type }
|
|
|
+ pieData.push(tempData0)
|
|
|
+ if(index<5){
|
|
|
+ pieDataTitleLeft.push(element.type)
|
|
|
+ }else{
|
|
|
+ pieDataTitleRight.push(element.type)
|
|
|
+ }
|
|
|
+ })
|
|
|
+ this.roseData = roseData
|
|
|
+ this.pieData = pieData
|
|
|
+ this.pieDataTitleLeft = pieDataTitleLeft
|
|
|
+ this.pieDataTitleRight = pieDataTitleRight
|
|
|
+ })
|
|
|
+ },
|
|
|
+ //地图页面访问量
|
|
|
+ getmapPageHistogram(){
|
|
|
+ statistics.mapPageHistogram({type:this.type}).then(res => {
|
|
|
+ let barXData=[]
|
|
|
+ let barDataNew=[]
|
|
|
+ res.data.forEach(element => {
|
|
|
+ barXData.push(element.label)
|
|
|
+ barDataNew.push(element.pv)
|
|
|
+ })
|
|
|
+ console.log(barXData)
|
|
|
+ this.barXData=barXData
|
|
|
+ this.barDataNew=barDataNew
|
|
|
+ })
|
|
|
+ },
|
|
|
+ handleTabsChange(flag) {
|
|
|
+ if(this.tabStatus!=flag){
|
|
|
+ this.tabStatus = flag
|
|
|
+ this.gettotalUserVisits()
|
|
|
}
|
|
|
}
|
|
|
}
|