diff --git a/dolphinscheduler-ui/src/js/conf/home/pages/projects/pages/instance/pages/gantt/_source/gantt.js b/dolphinscheduler-ui/src/js/conf/home/pages/projects/pages/instance/pages/gantt/_source/gantt.js index a5fdc96023370dac85e0513c57e47925f35492cb..e808c94627d93b5aaeb8f38fb0644fa84b8787c2 100644 --- a/dolphinscheduler-ui/src/js/conf/home/pages/projects/pages/instance/pages/gantt/_source/gantt.js +++ b/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()