From e1dbc27fbe3f083322f87fc46070191c619c5199 Mon Sep 17 00:00:00 2001 From: king <18310653075@163.com> Date: 星期一, 07 八月 2023 20:31:06 +0800 Subject: [PATCH] 2023-08-07 --- src/tabviews/custom/components/chart/antv-X6/nodeupdate/index.scss | 25 ++++++ src/tabviews/custom/components/chart/antv-X6/index.jsx | 106 +++++++++++++++++++++++++- src/menu/components/share/actioncomponent/actionform/index.jsx | 4 + src/tabviews/custom/components/chart/antv-X6/nodeupdate/nodeform.jsx | 26 +----- src/tabviews/custom/components/chart/antv-X6/nodeupdate/memberform.jsx | 26 +----- src/tabviews/custom/components/chart/antv-X6/nodeupdate/index.jsx | 4 6 files changed, 141 insertions(+), 50 deletions(-) diff --git a/src/menu/components/share/actioncomponent/actionform/index.jsx b/src/menu/components/share/actioncomponent/actionform/index.jsx index 260dedd..bcba0e8 100644 --- a/src/menu/components/share/actioncomponent/actionform/index.jsx +++ b/src/menu/components/share/actioncomponent/actionform/index.jsx @@ -800,6 +800,10 @@ { pattern: formRule.func.pattern, message: formRule.func.message }, { max: formRule.func.max, message: formRule.func.maxMessage } ) + } else if (item.key === 'outerBlacklist') { + rules.push( + { max: 512, message: '鏈�澶�512涓瓧绗�' } + ) } else if (item.key === 'output') { if (this.record.intertype === 'system' || ((this.record.intertype === 'outer' || this.record.intertype === 'custom') && this.record.callbackType === 'script')) { rules = [{ diff --git a/src/tabviews/custom/components/chart/antv-X6/index.jsx b/src/tabviews/custom/components/chart/antv-X6/index.jsx index 693f914..87c4c48 100644 --- a/src/tabviews/custom/components/chart/antv-X6/index.jsx +++ b/src/tabviews/custom/components/chart/antv-X6/index.jsx @@ -386,7 +386,7 @@ node: null, loading: false, status: 0, - rolelist: [] + orgs: [] } selectNode = null @@ -424,7 +424,7 @@ this.loadData() if (_config.plot.function === 'edit') { - this.getrolelist() + this.getorganizations() } }) } @@ -469,7 +469,7 @@ } } - getrolelist = () => { + getorganizations = () => { Api.genericInterface({func: 's_get_organizations_v1'}).then(res => { if (!res.status) { notification.error({ @@ -480,7 +480,101 @@ return } - this.setState({rolelist: res.data || []}) + let orgs = [] + res.organizations && res.organizations.forEach(com => { + let _com = { + key: com.OrgCode, + title: com.OrgName, + shortName: com.ShortName, + checkable: false, + disabled: true, + children: [] + } + + com.departments.forEach(dep => { + let _dep = { + key: dep.co_pro_code, + title: dep.co_pro_name, + checkable: false, + disabled: true, + children: [] + } + + dep.jobs.forEach(job => { + let _job = { + key: job.jobcode, + title: job.jobname, + checkable: false, + disabled: true, + children: [] + } + + job.work_group.forEach(group => { + if (group.work_group === 'normal') { + group.workers.forEach(work => { + let _work = { + key: work.worker_id, + title: work.workername, + email: work.email || '', + images: work.images || '', + mob: work.mob || '', + sex: work.sex || '', + work_grade: work.work_grade || '', + worker_id: work.worker_id || '', + workercode: work.workercode || '', + workername: work.workername || '', + } + + _job.children.push(_work) + }) + } else { + let _group = { + key: group.work_group, + title: group.work_group, + checkable: false, + disabled: true, + children: [] + } + + group.workers.forEach(work => { + let _work = { + key: work.worker_id, + title: work.workername, + email: work.email || '', + images: work.images || '', + mob: work.mob || '', + sex: work.sex || '', + work_grade: work.work_grade || '', + worker_id: work.worker_id || '', + workercode: work.workercode || '', + workername: work.workername || '', + } + + _group.children.push(_work) + }) + + if (_group.children.length > 0) { + _job.children.push(_group) + } + } + }) + + if (_job.children.length > 0) { + _dep.children.push(_job) + } + }) + + if (_dep.children.length > 0) { + _com.children.push(_dep) + } + }) + + if (_com.children.length > 0) { + orgs.push(_com) + } + }) + + this.setState({orgs: orgs}) }) } @@ -1867,7 +1961,7 @@ } render() { - const { loading, config, node, rolelist, status } = this.state + const { loading, config, node, orgs, status } = this.state let style = {...config.style} @@ -1947,7 +2041,7 @@ <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} rolelist={rolelist} onChange={this.changeProps}/>} + {!node ? <div className="empty">鏈�変腑</div> : <NodeUpdate node={node} orgs={orgs} onChange={this.changeProps}/>} </div> </div> </div> diff --git a/src/tabviews/custom/components/chart/antv-X6/nodeupdate/index.jsx b/src/tabviews/custom/components/chart/antv-X6/nodeupdate/index.jsx index b3d977c..722012a 100644 --- a/src/tabviews/custom/components/chart/antv-X6/nodeupdate/index.jsx +++ b/src/tabviews/custom/components/chart/antv-X6/nodeupdate/index.jsx @@ -13,7 +13,7 @@ class NodeUpdate extends Component { static propTpyes = { node: PropTypes.object, - rolelist: PropTypes.array + orgs: PropTypes.array } state = { @@ -503,7 +503,7 @@ onCancel={() => this.setState({visible: false})} destroyOnClose > - <NodeForm node={mknode} data={mkdata} rolelist={this.props.rolelist} handleSubmit={() => this.confirm()} wrappedComponentRef={(inst) => this.nodeRef = inst}/> + <NodeForm node={mknode} data={mkdata} orgs={this.props.orgs} handleSubmit={() => this.confirm()} wrappedComponentRef={(inst) => this.nodeRef = inst}/> </Modal> </div> ) diff --git a/src/tabviews/custom/components/chart/antv-X6/nodeupdate/index.scss b/src/tabviews/custom/components/chart/antv-X6/nodeupdate/index.scss index 93d919a..b9da954 100644 --- a/src/tabviews/custom/components/chart/antv-X6/nodeupdate/index.scss +++ b/src/tabviews/custom/components/chart/antv-X6/nodeupdate/index.scss @@ -154,4 +154,29 @@ } } } +} + +.member-modal { + .ant-modal { + top: 50px; + } + .ant-modal-body { + min-height: 150px; + max-height: calc(100vh - 200px); + overflow-y: auto; + } + .ant-modal-body::-webkit-scrollbar { + width: 7px; + } + .ant-modal-body::-webkit-scrollbar-thumb { + border-radius: 5px; + box-shadow: inset 0 0 5px rgba(0, 0, 0, 0.13); + background: rgba(0, 0, 0, 0.13); + } + .ant-modal-body::-webkit-scrollbar-track { + box-shadow: inset 0 0 5px rgba(0, 0, 0, 0.05); + border-radius: 3px; + border: 1px solid rgba(0, 0, 0, 0.07); + background: rgba(0, 0, 0, 0); + } } \ No newline at end of file diff --git a/src/tabviews/custom/components/chart/antv-X6/nodeupdate/memberform.jsx b/src/tabviews/custom/components/chart/antv-X6/nodeupdate/memberform.jsx index 8013724..4602e47 100644 --- a/src/tabviews/custom/components/chart/antv-X6/nodeupdate/memberform.jsx +++ b/src/tabviews/custom/components/chart/antv-X6/nodeupdate/memberform.jsx @@ -63,32 +63,16 @@ ) } -const treeData = [ - { - key: '0-0', - title: '0-0', - checkable: false, - children: [{ key: '0-0-0', title: '0-0-0' }, { key: '0-0-1', title: '0-0-1' }] - }, - { - key: '0-1', - title: '0-1', - checkable: false, - children: [{ key: '0-1-0', title: '0-1-0' }, { key: '0-1-1', title: '0-1-1' }], - }, - { key: '0-2', title: '0-3' }, -] - class MemberForm extends Component { static propTpyes = { node: PropTypes.any, data: PropTypes.any, - rolelist: PropTypes.array + orgs: PropTypes.array } state = { visible: false, - targetKeys: [] + targetKeys: ['sifuweoifuweifuo'] } onChange = targetKeys => { @@ -96,22 +80,24 @@ } render() { + const { orgs } = this.props const { visible, targetKeys } = this.state return ( <> <div className="member-input">0浜�<FormOutlined onClick={() => this.setState({visible: true})} /></div> <Modal + wrapClassName="member-modal" title="閫夋嫨浜哄憳" visible={visible} closable={false} maskClosable={false} - width={800} + width={1000} onOk={this.confirm} onCancel={() => this.setState({visible: false})} destroyOnClose > - <TreeTransfer dataSource={treeData} targetKeys={targetKeys} onChange={this.onChange} /> + <TreeTransfer dataSource={orgs} targetKeys={targetKeys} onChange={this.onChange} /> </Modal> </> ) diff --git a/src/tabviews/custom/components/chart/antv-X6/nodeupdate/nodeform.jsx b/src/tabviews/custom/components/chart/antv-X6/nodeupdate/nodeform.jsx index 8572bfb..a47936b 100644 --- a/src/tabviews/custom/components/chart/antv-X6/nodeupdate/nodeform.jsx +++ b/src/tabviews/custom/components/chart/antv-X6/nodeupdate/nodeform.jsx @@ -10,33 +10,15 @@ static propTpyes = { node: PropTypes.any, data: PropTypes.any, - rolelist: PropTypes.array + orgs: PropTypes.array } state = {} handleConfirm = () => { - const { rolelist } = this.props - return new Promise((resolve, reject) => { this.props.form.validateFieldsAndScroll((err, values) => { if (!err) { - if (values.roleId) { - values.roleName = '' - rolelist.forEach(item => { - if (item.RoleID === values.roleId) { - values.roleName = item.RoleName - } - }) - } - if (values.depId) { - values.depName = '' - rolelist.forEach(item => { - if (item.RoleID === values.depId) { - values.depName = item.RoleName - } - }) - } resolve(values) } else { reject(err) @@ -46,7 +28,7 @@ } render() { - const { node } = this.props + const { node, orgs } = this.props const { getFieldDecorator } = this.props.form const formItemLayout = { labelCol: { @@ -143,7 +125,7 @@ } ] })( - <MemberForm /> + <MemberForm orgs={orgs}/> )} </Form.Item> </Col> @@ -152,7 +134,7 @@ {getFieldDecorator('depId', { initialValue: data.depId || '' })( - <MemberForm /> + <MemberForm orgs={orgs}/> )} </Form.Item> </Col> -- Gitblit v1.8.0