king
2021-09-16 73c0258e4e30f1d2e407cb067feea8e79fad081d
src/tabviews/custom/components/tree/antd-tree/index.jsx
@@ -76,24 +76,13 @@
        _data = nextProps.data[config.dataName] || []
      }
      // _data = [
      //   {ID: 'dsdsagsgfs32ed2dqd61', nvarchar1: '1', nvarchar2: '1', nvarchar3: ''},
      //   {ID: 'dsdsagsgfs32ed2dqd61', nvarchar1: '1-1', nvarchar2: '1-1', nvarchar3: '1'},
      //   {ID: 'dsdsagsgfs32ed2dqd61', nvarchar1: '1-2', nvarchar2: '1-2', nvarchar3: '1'},
      //   {ID: 'dsdsagsgfs32ed2dqd61', nvarchar1: '2', nvarchar2: '2', nvarchar3: ''},
      //   {ID: 'dsdsagsgfs32ed2dqd61', nvarchar1: '2-1', nvarchar2: '2-1', nvarchar3: '2'},
      //   {ID: 'dsdsagsgfs32ed2dqd61', nvarchar1: '2-2', nvarchar2: '2-2', nvarchar3: '2'},
      // ]
      this.setState({sync: false, data: _data}, () => {
        this.handleData()
      })
    } else if (nextProps.mainSearch && !is(fromJS(this.props.mainSearch), fromJS(nextProps.mainSearch))) {
      if (config.setting.syncRefresh === 'true') {
        this.setState({}, () => {
          this.loadData()
        })
      }
    } else if (config.setting.syncRefresh && nextProps.mainSearch && !is(fromJS(this.props.mainSearch), fromJS(nextProps.mainSearch))) {
      this.setState({}, () => {
        this.loadData()
      })
    }
  }
@@ -124,16 +113,7 @@
    if (!config.timer) return
    const _change = {
      '15s': 15000,
      '30s': 30000,
      '1min': 60000,
      '5min': 300000,
      '10min': 600000,
      '15min': 900000,
      '30min': 1800000,
      '1hour': 3600000
    }
    const _change = { '5s': 5000, '15s': 15000, '30s': 30000, '1min': 60000, '5min': 300000, '10min': 600000, '15min': 900000, '30min': 1800000, '1hour': 3600000 }
    let timer = _change[config.timer]
@@ -213,21 +193,10 @@
      return
    }
    let searches = []
    if (mainSearch && mainSearch.length > 0) { // 主表搜索条件
      let keys = searches.map(item => item.key)
      mainSearch.forEach(item => {
        if (!keys.includes(item.key)) {
          searches.push(item)
        }
      })
    }
    let searches = config.setting.useMSearch && mainSearch ? mainSearch : []
    let requireFields = searches.filter(item => item.required && (!item.value || item.value.length === 0))
    let requireFields = searches.filter(item => item.required && item.value === '')
    if (requireFields.length > 0) {
      this.setState({
        loading: false
      })
      return
    }
@@ -284,16 +253,16 @@
      if (pval === config.wrap.mark) {
        parentNodes.push({
          // ...item,
          title: item[config.wrap.labelField] || '',
          key: val,
          parentId: ''
          $title: item[config.wrap.labelField] || '',
          $key: val,
          $parentId: ''
        })
      } else if (pval) {
        _options.push({
          // ...item,
          title: item[config.wrap.labelField] || '',
          key: val,
          parentId: pval
          $title: item[config.wrap.labelField] || '',
          $key: val,
          $parentId: pval
        })
      }
    })
@@ -336,9 +305,9 @@
  getFilterTree = (parents, searchkey) => {
    return parents.filter(node => {
      if (!node.children) {
        return (node.title.toLowerCase().indexOf(searchkey) >= 0 || node.key.toLowerCase().indexOf(searchkey) >= 0)
        return (node.$title.toLowerCase().indexOf(searchkey) >= 0 || node.$key.toLowerCase().indexOf(searchkey) >= 0)
      } else {
        if (node.title.toLowerCase().indexOf(searchkey) >= 0 || node.key.toLowerCase().indexOf(searchkey) >= 0) {
        if (node.$title.toLowerCase().indexOf(searchkey) >= 0 || node.$key.toLowerCase().indexOf(searchkey) >= 0) {
          return true
        }
        
@@ -360,7 +329,7 @@
      parent.children = []
      // 添加菜单的子元素
      options = options.filter(option => {
        if (option.parentId === parent.key) {
        if (option.$parentId === parent.$key) {
          parent.children.push(option)
          return false
        }
@@ -383,12 +352,12 @@
    return nodes.map(item => {
      if (item.children) {
        return (
          <TreeNode icon={<span><Icon type="folder-open" /><Icon type="folder" /></span>} title={item.title} key={item.key} dataRef={item}>
          <TreeNode icon={<span><Icon type="folder-open" /><Icon type="folder" /></span>} title={item.$title} key={item.$key} dataRef={item}>
            {this.renderTreeNodes(item.children)}
          </TreeNode>
        )
      }
      return <TreeNode icon={<Icon type="file" />} key={item.key} title={item.title} dataRef={item} isLeaf />
      return <TreeNode icon={<Icon type="file" />} key={item.$key} title={item.$title} dataRef={item} isLeaf />
    })
  }
@@ -414,7 +383,7 @@
  getExpandKeys = (node, keys) => {
    if (node.children) {
      keys.push(node.key)
      keys.push(node.$key)
      node.children.forEach(_node => {
        this.getExpandKeys(_node, keys)
      })
@@ -426,22 +395,22 @@
    let _expandedKeys = fromJS(this.state.expandedKeys).toJS()
    let _data = fromJS(node.props.dataRef).toJS()
    if (_expandedKeys.indexOf(_data.key) >= 0) {
      _expandedKeys = _expandedKeys.filter(key => key !== _data.key)
    if (_expandedKeys.indexOf(_data.$key) >= 0) {
      _expandedKeys = _expandedKeys.filter(key => key !== _data.$key)
    } else {
      if (_data.children) {
        _expandedKeys.push(_data.key)
        _expandedKeys.push(_data.$key)
        _expandedKeys = Array.from(new Set(_expandedKeys))
      }
    }
    if (selected) {
      MKEmitter.emit('resetSelectLine', config.uuid, (_data ? _data.key : ''), _data)
      MKEmitter.emit('resetSelectLine', config.uuid, (_data ? _data.$key : ''), _data)
    }
    this.setState({
      expandedKeys: _expandedKeys,
      selectedKeys: [_data.key]
      selectedKeys: [_data.$key]
    })
  }