| | |
| | | status: 0, |
| | | flowname: '', |
| | | flowcode: '', |
| | | orgs: [] |
| | | orgs: [], |
| | | empty: true |
| | | } |
| | | |
| | | selectNode = null |
| | |
| | | worker_id: work.worker_id || '', |
| | | workercode: work.workercode || '', |
| | | workername: work.workername || '', |
| | | job_type: job.job_type || '', |
| | | parentIds: [com.OrgCode, dep.co_pro_code, job.jobcode], |
| | | parentNames: [com.OrgName, dep.co_pro_name, job.jobname] |
| | | } |
| | |
| | | worker_id: work.worker_id || '', |
| | | workercode: work.workercode || '', |
| | | workername: work.workername || '', |
| | | job_type: job.job_type || '', |
| | | parentIds: [com.OrgCode, dep.co_pro_code, job.jobcode, group.work_group], |
| | | parentNames: [com.OrgName, dep.co_pro_name, job.jobname, group.work_group] |
| | | } |
| | |
| | | const { BID } = this.state |
| | | |
| | | if (!BID) { |
| | | this.cells = [] |
| | | if (!is(fromJS(this.data), fromJS([]))) { |
| | | this.cells = [] |
| | | this.handleData() |
| | | } |
| | | this.setState({empty: true}) |
| | |
| | | status: item.status || 0, |
| | | flowname: item.works_flow_name || '', |
| | | flowcode: item.works_flow_code || '', |
| | | loading: false |
| | | loading: false, |
| | | empty: cells.length === 0 |
| | | }) |
| | | |
| | | if (result.message) { |
| | |
| | | |
| | | graph.clearTransformWidgets() |
| | | }) |
| | | |
| | | graph.on('node:dblclick', () => { |
| | | setTimeout(() => { |
| | | MKEmitter.emit('mk-x6-dbclick') |
| | | }, 100) |
| | | }) |
| | | graph.on('edge:dblclick', () => { |
| | | setTimeout(() => { |
| | | MKEmitter.emit('mk-x6-dbclick') |
| | | }, 100) |
| | | }) |
| | | |
| | | graph.on('blank:click', () => { |
| | | this.selectNode = null |
| | | |
| | |
| | | if (!isNew) return |
| | | |
| | | let target = edge.getTargetCell() |
| | | let source = edge.getSourceCell() |
| | | |
| | | if (!target) return |
| | | if (!target || !source) return |
| | | |
| | | if (source.prop('mknode') === 'end') { |
| | | notification.warning({ |
| | | top: 92, |
| | | message: '结束节点不可添加分支!', |
| | | duration: 2 |
| | | }) |
| | | graph.removeCells([edge]) |
| | | return |
| | | } |
| | | |
| | | let mkdata = target.prop('mkdata') |
| | | |
| | | if (target.prop('mknode') === 'end') { |
| | | if (source.prop('mknode') === 'start' && target.prop('mknode') === 'end') { |
| | | edge.prop('mknode', 'throughEdge') |
| | | } else if (target.prop('mknode') === 'end') { |
| | | edge.prop('mknode', 'endEdge') |
| | | } else if (target.prop('mknode') === 'start') { |
| | | edge.prop('mknode', 'startEdge') |
| | | } else if (source.prop('mknode') === 'start') { |
| | | edge.prop('mknode', 'firstEdge') |
| | | } |
| | | if (mkdata) { |
| | | edge.prop('mkdata', {status: mkdata.status, statusName: mkdata.statusName}) |
| | |
| | | } else if (item.mknode === 'end') { |
| | | end_num++ |
| | | } else if (item.shape === 'edge') { |
| | | if (item.mknode !== 'endEdge' && item.mknode !== 'startEdge' && (!item.mkdata.members || item.mkdata.members.length === 0)) { |
| | | if (item.mknode === 'throughEdge') { |
| | | if (!item.mkdata.seniorbers || item.mkdata.seniorbers.length === 0) { |
| | | unvalid = true |
| | | } |
| | | } else if (item.mkdata.seniorCondition === 'open') { |
| | | |
| | | } else if (item.mknode !== 'endEdge' && item.mknode !== 'startEdge' && (!item.mkdata.members || item.mkdata.members.length === 0)) { |
| | | unvalid = true |
| | | } else if (item.mknode === 'startEdge' || item.mkdata.flowType === 'reject') { |
| | | if (map.has(item.source.cell)) { |
| | |
| | | } |
| | | } |
| | | |
| | | delCell = () => { |
| | | const { node } = this.state |
| | | |
| | | let cell = this.mkGraph.getCellById(node.id) |
| | | |
| | | this.mkGraph.removeCells([cell]) |
| | | |
| | | this.setState({node: null}) |
| | | } |
| | | |
| | | changeProps = (value, key) => { |
| | | const { node } = this.state |
| | | |
| | |
| | | } else if (item.mknode === 'end') { |
| | | end_num++ |
| | | } else if (item.shape === 'edge' && !unvalidId && !rejectId && !approvalId) { |
| | | if (item.mknode !== 'endEdge' && item.mknode !== 'startEdge' && (!item.mkdata.members || item.mkdata.members.length === 0)) { |
| | | if (item.mknode === 'throughEdge') { |
| | | if (!item.mkdata.seniorbers || item.mkdata.seniorbers.length === 0) { |
| | | unvalidId = item.id |
| | | } |
| | | } else if (item.mkdata.seniorCondition === 'open') { |
| | | |
| | | } else if (item.mknode !== 'endEdge' && item.mknode !== 'startEdge' && (!item.mkdata.members || item.mkdata.members.length === 0)) { |
| | | unvalidId = item.id |
| | | } else if (item.mknode === 'startEdge' || item.mkdata.flowType === 'reject') { |
| | | if (map.has(item.source.cell)) { |
| | |
| | | } |
| | | |
| | | render() { |
| | | const { loading, config, node, orgs, status, flowname } = this.state |
| | | const { loading, config, node, orgs, status, flowname, empty } = this.state |
| | | |
| | | let style = {...config.style} |
| | | |
| | | if (config.plot.function === 'show') { |
| | | if (config.plot.empty === 'hidden' && this.cells.length === 0) { |
| | | if (config.plot.empty === 'hidden' && empty) { |
| | | style.position = 'absolute' |
| | | style.width = '100%' |
| | | style.zIndex = -1 |
| | |
| | | <Tooltip title="清空"> |
| | | <ClearOutlined onClick={this.clearNode}/> |
| | | </Tooltip> |
| | | <Tooltip overlayStyle={{maxWidth: 260}} title="快捷键:复制(ctrl+c)、剪切(ctrl+x)、粘贴(ctrl+v)、后退(ctrl+z)、前进(ctrl+shift+z)、删除(backspace 或 delete)"> |
| | | <Tooltip overlayStyle={{maxWidth: 310}} title="快捷键:复制(ctrl+c)、剪切(ctrl+x)、粘贴(ctrl+v)、后退(ctrl+z)、前进(ctrl+shift+z)、删除(backspace 或 delete);双击节点或连线可编辑自定义信息。"> |
| | | <QuestionCircleOutlined /> |
| | | </Tooltip> |
| | | </div> |
| | |
| | | <div id={config.uuid + 'container'} className="mk-container"></div> |
| | | <div className="mk-node-edit"> |
| | | <div className="header">设置</div> |
| | | {!node ? <div className="empty">未选中</div> : <NodeUpdate node={node} orgs={orgs} onChange={this.changeProps}/>} |
| | | {!node ? <div className="empty">未选中</div> : <NodeUpdate node={node} orgs={orgs} onChange={this.changeProps} onDel={this.delCell}/>} |
| | | </div> |
| | | </div> |
| | | </div> |