123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364 |
- <template>
- <!-- 创业公司登记 -->
- <div class="firm">
- <div class="pAHeader">
- <div class="pAHeader1">数据监测</div>
- </div>
- <hr />
- <!-- 顶部展示信息区开始 -->
- <div class="topDataBlock">
- <div class="topData">
-
- </div>
- <div class="topData">
-
- </div>
- <div class="topData">
-
- </div>
- <div class="topData">
-
- </div>
- <div class="topData">
-
- </div>
-
- </div>
- <!-- 顶部展示信息区结束 -->
- <!-- 中部大饼区开始 -->
- <div class="midBlock">
- <div ref="Circular" class="mid"></div>
- <div ref="Horizontal" class="mid"></div>
- </div>
- <!-- 中部大饼区结束 -->
- <!-- 柱状图区域开始 -->
- <div ref="Columnar" class="histogram"></div>
- <!-- 柱状图区域结束 -->
- <!-- 底部表格区域开始 -->
- <div class="tabTit">
- <div>
- <p>项目排名</p>
- </div>
- </div>
- <div class="projectBlock" style="padding-bottom: 60px;">
- <el-table
- :data="tableData"
- tooltip-effect="dark"
- stripe
- style="height: 500px;"
- class="fontSize"
- :header-cell-style="{ background: '#3867d6',color:'#fff' }"
- >
-
- <el-table-column
- prop="title"
- label="排名"
- align="center"
- min-width="25%">
- </el-table-column>
- <el-table-column
- prop="tname"
- label="项目名称"
- align="center"
- min-width="20%">
- </el-table-column>
- <el-table-column
- prop="create_at"
- label="项目负责人"
- align="center"
- min-width="25%">
- </el-table-column>
- <el-table-column
- prop="create_at"
- label="创客类型"
- align="center"
- min-width="25%">
- </el-table-column>
- <el-table-column
- prop="create_at"
- label="活跃度"
- align="center"
- min-width="25%">
- </el-table-column>
- <el-table-column
- prop="create_at"
- label="所属学院"
- align="center"
- min-width="25%">
- </el-table-column>
-
- </el-table>
- </div>
- <!-- 通知表格结束-->
- <!-- 底部表格区域结束 -->
- </div>
- </template>
-
- <script>
- import * as echarts from 'echarts';
- export default {
-
- data() {
- return {
- //圆形
- CircularData:{
- title:{
- text:"创新创业项目类型"
- },
- legend: {
- data:[
- "创客活动",
- "个人创客"
- ],
- orient: 'vertical',
- top:"10%",
- left:"left"
- },
- series: [
- {
- type: 'pie',
- label: {
- show:true,
- position:"inner",
- formatter:'{d}%'
- },
- data: [
- {
- value: 30,
- name:"个人创客"
- },
- {
- value: 70,
- name:"创客活动"
- },
-
- ],
- }
- ]
- },
- //横行的柱状
- HorizontalData:{
- grid: {
- top: 80, // 设置网格顶部的边距为 50px
- left:10,
- right:"100px"
- // left:'-10px'
- },
- title:{
- text:"创客活动资金"
- },
- dataset: {
- source: [
- ['amount', 'product'],
- [ 100, '物联网激光切割器'],
- [ 1000, '人工智能领跑马拉松'],
- [ 2000, '3D演奏智能工具'],
- [ 3000, '人工智能分链机器'],
- ],
- },
- xAxis: {
- position:"top",
- name:"单位:万元",
- nameTextStyle:{
- fontSize:14,
- align:"left",
- verticalAlign:"bottom",
- padding:[0,0,7,10],
- }
- },
- yAxis: {
- type: 'category',
- zlevel:1,
- axisLabel:{
- inside:true,
- margin:10,
- formatter: function (value) {
- const vl = Math.floor(value.length/2);
- let newText = value.slice(0,vl)+'\n'+value.slice(vl)
- return newText;
- },
- color:(value,index)=>{
- const textWidth = this.HorizontalData['dataset']['source'][this.HorizontalData['dataset']['source'].length-1][0]/6/2;
- const vl = this.HorizontalData['dataset']['source'][index+1][0]
- return vl >= textWidth ? 'white' : '#3c4654';
- }
- },
- },
- series: [
- {
- type: 'bar',
- encode: {
- x: 'amount',
- y: 'product'
- },
- itemStyle:{
- color:"#3eb370"
- }
- }
- ]
- },
- // 柱状
- ColumnarData:{
- grid: {
- top: 80,
- },
- title:{
- text:"个人创客资金",
- top:0
- },
- dataset: {
- // 提供一份数据。
- source: [
- ['3D智能分链机器', 2000],
- ['3D智能分链机器1',3000],
- ['3D智能分链机器2', 2500],
- ['3D智能分链机器3', 1000],
- ['3D智能分链机器4', 2000],
- ['3D智能分链机器5',3000],
- ['3D智能分链机器6', 2500],
- ['3D智能分链机器7', 1000],
- ['3D智能分链机器8', 2000],
- ['3D智能分链机器9',3000],
- ['3D智能分链机器10', 2500],
- ['3D智能分链机器11', 1000],
- ['3D智能分链机器12', 2000],
- ['3D智能分链机器13',3000],
- ['3D智能分链机器14', 2500],
- ['3D智能分链机器15', 1000],
- ]
- },
- // 声明一个 X 轴,类目轴(category)。默认情况下,类目轴对应到 dataset 第一列。
- xAxis: {
- type: 'category',
- axisLabel: {
- formatter: function (value) {
- // 设置每行显示的最大字符数
- var maxLength = 4;
- // 计算文本需要换行的行数
- var rowNumber = Math.ceil(value.length / maxLength);
- // 拼接换行后的文本
- var newText = '';
- for (var i = 0; i < rowNumber; i++) {
- var start = i * maxLength;
- var end = start + maxLength;
- newText += value.slice(start, end) + '\n';
- }
- return newText;
- }
- }
- },
- // 声明一个 Y 轴,数值轴。
- yAxis: {
- name:"单位:万元",
- nameTextStyle:{
- fontSize:14,
- align:"center",
- }
- },
- // 声明多个 bar 系列,默认情况下,每个系列会自动对应到 dataset 的每一列。
- series: [{ type: 'bar' }]
- },
- tableData: []
- };
- },
- methods: {
- setCircularData(){
- const Circular = echarts.init(this.$refs['Circular']);
- Circular.setOption(this.CircularData)
- },
- setHorizontalData(){
- const Horizontal = echarts.init(this.$refs['Horizontal']);
- Horizontal.setOption(this.HorizontalData)
- },
- setColumnarData(){
- const Columnar = echarts.init(this.$refs['Columnar']);
- Columnar.setOption(this.ColumnarData)
- }
- },
- mounted() {
- this.setCircularData();
- this.setHorizontalData();
- this.setColumnarData();
- },
- };
- </script>
-
- <style lang="less">
- .topDataBlock{
- margin-top: 20px;
- width: 100%;
- height: 130px;
- // background: #b65f5f;
- display: flex;
- justify-content:space-between;
- align-items: center;
- .topData:nth-child(1){
- width: 19%;
- height: 94%;
- background-image: linear-gradient(100deg, #3caef5 60%,#497df5);
- border-radius: 5px;
- }
- .topData:nth-child(2){
- width: 19%;
- height: 94%;
- background-image: linear-gradient(100deg, #fcb871 60%,#f77c5f);
- border-radius: 5px;
- }
- .topData:nth-child(3){
- width: 19%;
- height: 94%;
- background-image: linear-gradient(100deg, #3ce0ea 60%,#29bfa3);
- border-radius: 5px;
- }
- .topData:nth-child(4){
- width: 19%;
- height: 94%;
- background-image: linear-gradient(100deg, #3caef5 60%,#497df5);
- border-radius: 5px;
- }
- .topData:nth-child(5){
- width: 19%;
- height: 94%;
- background-image: linear-gradient(100deg, #fcb871 60%,#f77c5f);
- border-radius: 5px;
- }
- }
- .midBlock{ //中部大饼
- width: 100%;
- height: 400px;
- margin-top: 20px;
- // background: #ce7070;
- display: flex;
- justify-content: space-between;
- align-items: center;
- .mid{
- height: 95%;
- width: 49%;
- padding: 20px;
- box-sizing: border-box;
- background: #f3f6f7;
- }
- }
- .histogram{ //柱状图
- margin-top: 20px;
- box-sizing: border-box;
- padding: 20px;
- width: 100%;
- height: 400px;
- background: #f3f6f7;
- }
- </style>
|