king
2023-08-07 e1dbc27fbe3f083322f87fc46070191c619c5199
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>