|
@@ -0,0 +1,244 @@
|
|
|
+<template>
|
|
|
+ <rx-layout>
|
|
|
+ <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>
|
|
|
+ </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>
|
|
|
+ <div :style="{'border-bottom' : !tabStatus ? '2px solid #1890ff' : 'none'}" @click="handleTabsChange">
|
|
|
+ 地图创建总量-20000
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <line-echart :barData="barData"></line-echart>
|
|
|
+ </div>
|
|
|
+ <div style="width:40%;">
|
|
|
+ <div class="album-style">
|
|
|
+ 各类型地图创建量分布
|
|
|
+ </div>
|
|
|
+ <rose-echart :roseData="roseData"></rose-echart>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div class="bar-style">
|
|
|
+ <div>
|
|
|
+ 地图页面访问量分布
|
|
|
+ <span>(pv)</span>
|
|
|
+ </div>
|
|
|
+ <bar-echart-one></bar-echart-one>
|
|
|
+ </div>
|
|
|
+ <div class="table-style">
|
|
|
+ <div>
|
|
|
+ 组织创建和访问地图数量TOP10
|
|
|
+ </div>
|
|
|
+ <rx-grid
|
|
|
+ style="background: #fff;min-height: 400px;"
|
|
|
+ :columns="columns"
|
|
|
+ :url="api.findAllKnowledge"
|
|
|
+ :queryParam="queryParam"
|
|
|
+ data-field="result.data"
|
|
|
+ :heightAuto="true"
|
|
|
+ :showPage="false"
|
|
|
+ idField="pkId"
|
|
|
+ >
|
|
|
+ </rx-grid>
|
|
|
+ </div>
|
|
|
+ </rx-fit>
|
|
|
+ </div>
|
|
|
+ </rx-layout>
|
|
|
+</template>
|
|
|
+
|
|
|
+<script>
|
|
|
+import topNav from './components/topNav'
|
|
|
+import lineEchart from './components/LineEchart';
|
|
|
+import roseEchart from './components/RoseEchart';
|
|
|
+import barEchartOne from './components/BarEchartOne';
|
|
|
+import api from '@/api/knowledge/manage';
|
|
|
+export default {
|
|
|
+ name: 'synthesize',
|
|
|
+ components: {
|
|
|
+ topNav,
|
|
|
+ lineEchart,
|
|
|
+ roseEchart,
|
|
|
+ barEchartOne
|
|
|
+ },
|
|
|
+ data() {
|
|
|
+ return {
|
|
|
+ api,
|
|
|
+ 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% 方案地图' }
|
|
|
+ ],
|
|
|
+ queryParam: {},
|
|
|
+ columns: [
|
|
|
+ {
|
|
|
+ title: '公司名称',
|
|
|
+ dataIndex: 'author',
|
|
|
+ align: 'center',
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: '地图创建总量',
|
|
|
+ dataIndex: 'author',
|
|
|
+ align: 'center',
|
|
|
+ sorter: true,
|
|
|
+ sortField: 'author'
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: '地图访问量pv',
|
|
|
+ dataIndex: 'author',
|
|
|
+ align: 'center',
|
|
|
+ sorter: true,
|
|
|
+ sortField: 'author'
|
|
|
+ }
|
|
|
+ ]
|
|
|
+ }
|
|
|
+ },
|
|
|
+ created() {
|
|
|
+ },
|
|
|
+ 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]
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+}
|
|
|
+</script>
|
|
|
+
|
|
|
+<style lang="less" scoped>
|
|
|
+@gary: #f8f8f8;
|
|
|
+@white: #fff;
|
|
|
+.rx-fit {
|
|
|
+ padding: 20px 40px!important;
|
|
|
+ background: @gary;
|
|
|
+ overflow-y: auto!important;
|
|
|
+ display: block!important;
|
|
|
+
|
|
|
+ .echart-style {
|
|
|
+ width: 100%;
|
|
|
+ height: 320px;
|
|
|
+ display: flex;
|
|
|
+ justify-content: space-between;
|
|
|
+ margin: 10px 0 20px;
|
|
|
+
|
|
|
+ >div {
|
|
|
+ background-color: #fff;
|
|
|
+ position: relative;
|
|
|
+ display: flex;
|
|
|
+ align-items: flex-end;
|
|
|
+
|
|
|
+ .album-style {
|
|
|
+ position: absolute;
|
|
|
+ top: 8%;
|
|
|
+ left: 4%;
|
|
|
+ font-weight: bold;
|
|
|
+
|
|
|
+ span {
|
|
|
+ position: absolute;
|
|
|
+ top: 25%;
|
|
|
+ font-size: 12px;
|
|
|
+ font-weight: 400;
|
|
|
+ margin-left: 8px;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ .line-style {
|
|
|
+ position: absolute;
|
|
|
+ top: 8%;
|
|
|
+ left: 4%;
|
|
|
+ z-index: 1000;
|
|
|
+ font-weight: bold;
|
|
|
+ display:flex;
|
|
|
+
|
|
|
+ div {
|
|
|
+ cursor: pointer;
|
|
|
+ }
|
|
|
+
|
|
|
+ div+div {
|
|
|
+ margin-left: 20px;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ // >div:last-child {
|
|
|
+ // position: absolute;
|
|
|
+ // top: 8%;
|
|
|
+ // left: 4%;
|
|
|
+ // font-weight: bold;
|
|
|
+
|
|
|
+ // span {
|
|
|
+ // position: absolute;
|
|
|
+ // top: 25%;
|
|
|
+ // font-size: 12px;
|
|
|
+ // font-weight: 400;
|
|
|
+ // margin-left: 8px;
|
|
|
+ // }
|
|
|
+ // }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ .bar-style {
|
|
|
+ height: 400px;
|
|
|
+ background:#fff;
|
|
|
+ position: relative;
|
|
|
+ display: flex;
|
|
|
+ align-items: flex-end;
|
|
|
+ margin: 10px 0 20px;
|
|
|
+
|
|
|
+ >div:first-child {
|
|
|
+ position: absolute;
|
|
|
+ top: 8%;
|
|
|
+ left: 2.3%;
|
|
|
+ font-weight: bold;
|
|
|
+
|
|
|
+ span {
|
|
|
+ position: absolute;
|
|
|
+ top: 25%;
|
|
|
+ font-size: 12px;
|
|
|
+ font-weight: 400;
|
|
|
+ margin-left: 8px;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ .table-style {
|
|
|
+ width: 100%;
|
|
|
+ background-color: #fff;
|
|
|
+ margin-top: 20px;
|
|
|
+ padding: 20px 30px;
|
|
|
+
|
|
|
+ >div:first-child {
|
|
|
+ position: relative;
|
|
|
+ font-weight: bold;
|
|
|
+ margin-bottom: 20px;
|
|
|
+
|
|
|
+ }
|
|
|
+ }
|
|
|
+}
|
|
|
+</style>
|
|
|
+<style scoped>
|
|
|
+/deep/ .divdefault {
|
|
|
+ position: inherit!important;
|
|
|
+ overflow: inherit!important;
|
|
|
+}
|
|
|
+/deep/ .gridContent{
|
|
|
+ border: none;
|
|
|
+}
|
|
|
+ /deep/.ant-table-thead > tr > th {
|
|
|
+ text-align: center;
|
|
|
+ height: 54px;
|
|
|
+}
|
|
|
+/deep/ .ant-table-tbody > tr > td {
|
|
|
+ height: 54px;
|
|
|
+}
|
|
|
+</style>
|