Quellcode durchsuchen

Merge pull request #2440 from Rubik-W/fixbug-#2439

fix: Gantt chart bug #2439
xingchun-chen vor 5 Jahren
Ursprung
Commit
c4f44a62b3

+ 9 - 5
dolphinscheduler-ui/src/js/conf/home/pages/projects/pages/instance/pages/gantt/_source/gantt.js

@@ -24,7 +24,7 @@ let Gantt = function () {
   this.tasks = []
   this.width = null
   this.height = null
-  this.tasksName = []
+  this.taskNames = []
   this.tickFormat = `%H:%M:%S`
   this.margin = {
     top: 10,
@@ -39,8 +39,12 @@ let Gantt = function () {
 Gantt.prototype.init = function ({ el, tasks }) {
   this.el = el
   this.tasks = tasks
-  this.tasksName = _.map(_.cloneDeep(tasks), v => v.taskName)
-  this.height = parseInt(this.tasksName.length * 30)
+  this.taskNames = _.map(_.cloneDeep(tasks), v => v.taskName)
+  this.taskNames = this.taskNames.reduce(function (prev, cur) {
+    prev.indexOf(cur) === -1 && prev.push(cur);
+    return prev;
+  },[])
+  this.height = parseInt(this.taskNames.length * 30)
   this.width = $(this.el).width() - this.margin.right - this.margin.left - 5
 
   this.x = d3.time.scale()
@@ -49,7 +53,7 @@ Gantt.prototype.init = function ({ el, tasks }) {
     .clamp(true)
 
   this.y = d3.scale.ordinal()
-    .domain(this.tasksName)
+    .domain(this.taskNames)
     .rangeRoundBands([ 0, this.height - this.margin.top - this.margin.bottom ], 0.1)
 
   this.xAxis = d3.svg.axis()
@@ -98,7 +102,7 @@ Gantt.prototype.initializeXAxis = function () {
     .clamp(true)
 
   this.y = d3.scale.ordinal()
-    .domain(this.tasksName)
+    .domain(this.taskNames)
     .rangeRoundBands([ 0, this.height - this.margin.top - this.margin.bottom ], 0.1)
 
   this.xAxis = d3.svg.axis()