Browse Source

[cherry-pick][Fix-8050] When the task is forbidden the node will obviously display.

2.0.7-release
calvin 2 years ago committed by GitHub
parent
commit
8d7ed3f6c4
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 27
      dolphinscheduler-ui/src/js/conf/home/pages/dag/_source/canvas/canvas.vue
  2. 3
      dolphinscheduler-ui/src/js/conf/home/pages/dag/_source/dag.vue

27
dolphinscheduler-ui/src/js/conf/home/pages/dag/_source/canvas/canvas.vue

@ -297,7 +297,7 @@
// Remove all tools when the mouse leaving // Remove all tools when the mouse leaving
this.graph.on('node:mouseleave', ({ node }) => { this.graph.on('node:mouseleave', ({ node }) => {
node.removeTools() node.removeTool('button')
}) })
}, },
/** /**
@ -365,6 +365,17 @@
node.setData({ taskName: name }) node.setData({ taskName: name })
} }
}, },
setNodeForbiddenStatus (id, flag) {
id += ''
const node = this.graph.getCellById(id)
if (node) {
if (flag) {
node.attr('rect/fill', '#c4c4c4')
} else {
node.attr('rect/fill', '#ffffff')
}
}
},
/** /**
* Convert the graph to JSON * Convert the graph to JSON
* @return {{cells:Cell[]}} * @return {{cells:Cell[]}}
@ -522,20 +533,22 @@
console.warn(`taskType:${taskType} is invalid!`) console.warn(`taskType:${taskType} is invalid!`)
return return
} }
const node = this.genNodeJSON(id, taskType, '', coordinate) const node = this.genNodeJSON(id, taskType, '', false, coordinate)
this.graph.addNode(node) this.graph.addNode(node)
}, },
/** /**
* generate node json * generate node json
* @param {number|string} id * @param {number|string} id
* @param {string} taskType * @param {string} taskType
* @param {boolean} forbidden flag
* @param {{x:number;y:number}} coordinate Default is { x: 100, y: 100 } * @param {{x:number;y:number}} coordinate Default is { x: 100, y: 100 }
*/ */
genNodeJSON (id, taskType, taskName, coordinate = { x: 100, y: 100 }) { genNodeJSON (id, taskType, taskName, flag, coordinate = { x: 100, y: 100 }) {
id += '' id += ''
const url = require(`../images/task-icos/${taskType.toLocaleLowerCase()}.png`) const url = require(`../images/task-icos/${taskType.toLocaleLowerCase()}.png`)
const truncation = taskName ? this.truncateText(taskName, 18) : id const truncation = taskName ? this.truncateText(taskName, 18) : id
return {
const nodeJson = {
id: id, id: id,
shape: X6_NODE_NAME, shape: X6_NODE_NAME,
x: coordinate.x, x: coordinate.x,
@ -554,6 +567,12 @@
} }
} }
} }
if (flag) {
nodeJson.attrs.rect = { fill: '#c4c4c4' }
}
return nodeJson
}, },
/** /**
* generate edge json * generate edge json

3
dolphinscheduler-ui/src/js/conf/home/pages/dag/_source/dag.vue

@ -268,6 +268,7 @@
addTaskInfo ({ item }) { addTaskInfo ({ item }) {
this.addTask(item) this.addTask(item)
this.$refs.canvas.setNodeName(item.code, item.name) this.$refs.canvas.setNodeName(item.code, item.name)
this.$refs.canvas.setNodeForbiddenStatus(item.code, item.flag === 'NO')
this.taskDrawer = false this.taskDrawer = false
}, },
closeTaskDrawer ({ flag }) { closeTaskDrawer ({ flag }) {
@ -411,6 +412,7 @@
task.code, task.code,
task.taskType, task.taskType,
task.name, task.name,
task.flag === 'NO',
{ {
x: location.x, x: location.x,
y: location.y y: location.y
@ -418,6 +420,7 @@
) )
nodes.push(node) nodes.push(node)
}) })
connects connects
.filter((r) => !!r.preTaskCode) .filter((r) => !!r.preTaskCode)
.forEach((c) => { .forEach((c) => {

Loading…
Cancel
Save