| | |
| | | import { FormOutlined } from '@ant-design/icons' |
| | | |
| | | import ColorSketch from '@/mob/colorsketch' |
| | | import NodeForm from './nodeform' |
| | | import './index.scss' |
| | | |
| | | const { TextArea } = Input |
| | |
| | | |
| | | state = { |
| | | formlist: null, |
| | | mknode: null |
| | | mknode: null, |
| | | mkdata: null |
| | | } |
| | | |
| | | UNSAFE_componentWillMount () { |
| | | this.setState({ |
| | | mknode: null, |
| | | mknode: this.props.node, |
| | | mkdata: this.props.node.mkdata || '', |
| | | formlist: this.getFormList(this.props.node) |
| | | }) |
| | | } |
| | |
| | | UNSAFE_componentWillReceiveProps(nextProps) { |
| | | if (!is(fromJS(this.props.node), fromJS(nextProps.node))) { |
| | | this.setState({ |
| | | mknode: null, |
| | | formlist: null |
| | | }, () => { |
| | | this.setState({ |
| | | mknode: nextProps.node, |
| | | mkdata: nextProps.node.mkdata || '', |
| | | formlist: this.getFormList(nextProps.node) |
| | | }) |
| | | }) |
| | |
| | | }, |
| | | { |
| | | type: 'other', |
| | | label: '自定义信息', |
| | | initval: node |
| | | label: '自定义信息' |
| | | } |
| | | ] |
| | | } else if (node.shape === 'lane') { |
| | |
| | | }, |
| | | { |
| | | type: 'other', |
| | | label: '自定义信息', |
| | | initval: node |
| | | label: '自定义信息' |
| | | } |
| | | ] |
| | | } |
| | |
| | | } |
| | | |
| | | confirm = () => { |
| | | this.setState({visible: false}) |
| | | this.nodeRef.handleConfirm().then(res => { |
| | | this.setState({visible: false, mkdata: res}) |
| | | this.props.onChange(res, 'mkdata') |
| | | }) |
| | | } |
| | | |
| | | getFields() { |
| | | const { formlist } = this.state |
| | | const { formlist, mkdata, mknode } = this.state |
| | | const fields = [] |
| | | |
| | | if (!formlist) return |
| | |
| | | fields.push( |
| | | <Col span={24} key={index}> |
| | | <span className="split-line">{item.label}:<FormOutlined onClick={() => {this.setState({visible: true})}}/></span> |
| | | {mkdata ? <div className="mk-data"> |
| | | <div>状态:{mkdata.status}<span style={{float: 'right'}}>{mkdata.statusName}</span></div> |
| | | {mknode.shape !== 'edge' ? <div>标记:{mkdata.sign || ''}</div> : null} |
| | | {mkdata.roleId ? <div>角色:{mkdata.roleName || ''}</div> : null} |
| | | {mkdata.depId ? <div>部门:{mkdata.depName || ''}</div> : null} |
| | | <div>备注:{mkdata.remark || ''}</div> |
| | | </div> : null} |
| | | </Col> |
| | | ) |
| | | } |
| | |
| | | } |
| | | |
| | | render() { |
| | | const { visible } = this.state |
| | | const { visible, mkdata, mknode } = this.state |
| | | |
| | | return ( |
| | | <div className="node-edit-form-wrap"> |
| | |
| | | onCancel={() => this.setState({visible: false})} |
| | | destroyOnClose |
| | | > |
| | | |
| | | <NodeForm node={mknode} data={mkdata} rolelist={this.props.rolelist} handleSubmit={() => this.confirm()} wrappedComponentRef={(inst) => this.nodeRef = inst}/> |
| | | </Modal> |
| | | </div> |
| | | ) |