diff --git a/src/forge/Gantt/Index.jsx b/src/forge/Gantt/Index.jsx new file mode 100644 index 000000000..f0efc250f --- /dev/null +++ b/src/forge/Gantt/Index.jsx @@ -0,0 +1,107 @@ +import React, { useEffect } from 'react'; +import * as echarts from 'echarts'; +import './index.scss'; + +function Index(props) { + useEffect(()=>{ + Init(); + },[]) + + function Init() { + var myCharts = document.getElementById('main'); + var myEcharts = echarts.init(myCharts); + var option = { + title: { + text: '项目实施进度表', + left: 10 + }, + legend: { + y: 'bottom', + data: ['计划时间', '实际时间'] //修改的地方1 + }, + grid: { + containLabel: true, + left: 20 + }, + xAxis: { + type: 'time' + }, + yAxis: { + data: ['任务一', '任务二', '任务三', '任务四', '任务五', '任务六', '任务七'] + }, + tooltip: { + trigger: 'axis', + formatter: function(params) { + var res = params[0].name + "
" + var date0 = params[0].data; + var date1 = params[1].data; + var date2 = params[2].data; + var date3 = params[3].data; + date0 = date0.getFullYear() + "-" + (date0.getMonth() + 1) + "-" + date0.getDate(); + date1 = date1.getFullYear() + "-" + (date1.getMonth() + 1) + "-" + date1.getDate(); + date2 = date2.getFullYear() + "-" + (date2.getMonth() + 1) + "-" + date2.getDate(); + date3 = date3.getFullYear() + "-" + (date3.getMonth() + 1) + "-" + date3.getDate(); + res += params[0].seriesName + "~" + params[1].seriesName + ":
" + date0 + "~" + date1 + "
" + res += params[2].seriesName + "~" + params[3].seriesName + ":
" + date2 + "~" + date3 + "
" + console.log(params[0]); + return res; + } + }, + series: [ + { + name: '计划开始时间', + type: 'bar', + stack: 'test1', + itemStyle: { + normal: { + color: 'rgba(0,0,0,0)' + } + }, + data: [] + }, + { + name: '计划时间', + type: 'bar', + stack: 'test1', + //修改地方2 + itemStyle: { + normal: { + color: '#F98563' + } + }, + data: [] + }, + { + name: '实际开始时间', + type: 'bar', + stack: 'test2', + itemStyle: { + normal: { + color: 'rgba(0,0,0,0)' + } + }, + data: [] + }, + { + name: '实际时间', + type: 'bar', + stack: 'test2', + //修改地方3 + itemStyle: { + normal: { + color: '#A2E068' + } + }, + data: [] + } + ] + }; + myEcharts.setOption(option); + } + return( +
+
+
+ ) +} +export default Index; \ No newline at end of file diff --git a/src/forge/Gantt/index.scss b/src/forge/Gantt/index.scss new file mode 100644 index 000000000..6f8c5e75a --- /dev/null +++ b/src/forge/Gantt/index.scss @@ -0,0 +1,5 @@ +.ganttBox{ + width: 1200px; + margin:0px auto; + padding:22px 0px; +} \ No newline at end of file diff --git a/src/forge/Images/sonar.png b/src/forge/Images/sonar.png new file mode 100644 index 000000000..08b71fb72 Binary files /dev/null and b/src/forge/Images/sonar.png differ diff --git a/src/forge/Main/Detail.js b/src/forge/Main/Detail.js index 7571cf27c..88851b932 100644 --- a/src/forge/Main/Detail.js +++ b/src/forge/Main/Detail.js @@ -102,6 +102,14 @@ const Contribute = Loadable({ loader: () => import('./sub/Contribute'), loading: Loading, }) +const Gantt = Loadable({ + loader: () => import('../Gantt/Index'), + loading: Loading, +}) +const Sonar = Loadable({ + loader: () => import('../Sonar/Index'), + loading: Loading, +}) const CoderRootCommit = Loadable({ loader: () => import('./CoderRootCommit'), @@ -152,6 +160,10 @@ function checkPathname(projectsId,owner,pathname){ name="devops" }else if(url.indexOf(`/source`)>-1){ name="source" + }else if(url.indexOf(`/gantt`)>-1){ + name="gantt" + }else if(url.indexOf(`/sonar`)>-1){ + name="sonar" } } return name; @@ -669,6 +681,20 @@ class Detail extends Component { (props) => () } > + + {/* 甘特图 */} + () + } + > + {/* 甘特图 */} + () + } + > + () diff --git a/src/forge/Main/Index.js b/src/forge/Main/Index.js index c81c4b32b..70a379d24 100644 --- a/src/forge/Main/Index.js +++ b/src/forge/Main/Index.js @@ -265,8 +265,8 @@ class Index extends Component {
- 头歌开源 - 让师姐开心的玩开源 + 开源社区 + 面向高校的教学开源