king
2020-08-17 a4ba5d208b8335c634dffd612c2bf310b1dea607
src/templates/sharecomponent/fieldscomponent/index.jsx
@@ -60,6 +60,13 @@
          columns.set(item.field, {...item, selected: true, datatype: _datatype})
        }
      })
    } else if (type === 'fields') {
      config.columns.forEach(item => {
        if (columns.has(item.field)) {
          let _datatype = columns.get(item.field).datatype
          columns.set(item.field, {...item, selected: true, datatype: _datatype})
        }
      })
    }
    // 显示字段集弹窗
@@ -183,18 +190,60 @@
          items.push(newcard)
        }
      })
    } else if (type === 'fields') {
      config.columns.forEach(item => {
        if (columnsMap.has(item.field)) {
          let cell = columnsMap.get(item.field)
          if (cell.selected) {
            items.push(item)
          }
          columnsMap.delete(item.field)
        } else {
          items.push(item)
        }
      })
      let _columns = [...columnsMap.values()]
      _columns.forEach(item => {
        if (item.selected) {
          let newcard = {
            uuid: Utils.getuuid(),
            label: item.label,
            field: item.field,
            datatype: item.type === 'number' ? 'Decimal(18,0)' : 'Nvarchar(50)'
          }
          items.push(newcard)
        }
      })
    }
    let _config = null
    if (type === 'search') {
      _config = {...this.props.config, search: items}
      this.props.updatefield(_config)
      notification.success({
        top: 92,
        message: '操作成功',
        duration: 2
      })
    } else if (type === 'columns') {
      _config = {...this.props.config, columns: items}
    }
    if (_config) {
      this.props.updatefield(_config)
      notification.success({
        top: 92,
        message: '操作成功',
        duration: 2
      })
    } else if (type === 'fields') {
      this.props.updatefield(items)
      notification.success({
        top: 92,
@@ -225,11 +274,13 @@
    if (type === 'search') {
      label = dict['header.menu.search.add']
    } else if (type === 'columns') {
      label = dict['header.menu.column.add']
      label = dict['model.menu.column.add']
    } else if (type === 'fields') {
      label = dict['model.menu.field.add']
    }
    return (
      <div>
      <div className="quickly-add">
        <Button type="primary" block onClick={this.queryField}>{label}</Button>
        {/* 根据字段名添加显示列及搜索条件 */}
        <Modal