king
2020-12-13 a3ac1b4636cf446804bb1947d6a5d2dd6c3bc030
2020-12-13
15个文件已修改
214 ■■■■■ 已修改文件
src/menu/components/table/normal-table/wrapsetting/settingform/index.jsx 20 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/tabviews/custom/components/share/normalTable/index.jsx 22 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/tabviews/custom/index.jsx 25 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/tabviews/zshare/actionList/changeuserbutton/index.jsx 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/tabviews/zshare/actionList/excelInbutton/index.jsx 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/tabviews/zshare/actionList/exceloutbutton/index.jsx 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/tabviews/zshare/actionList/index.jsx 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/tabviews/zshare/actionList/newpagebutton/index.jsx 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/tabviews/zshare/actionList/normalbutton/index.jsx 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/tabviews/zshare/actionList/popupbutton/index.jsx 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/tabviews/zshare/actionList/printbutton/index.jsx 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/tabviews/zshare/actionList/tabbutton/index.jsx 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/tabviews/zshare/normalTable/index.jsx 43 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/templates/sharecomponent/settingcomponent/settingform/datasource/index.jsx 26 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/templates/sharecomponent/settingcomponent/settingform/index.jsx 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/menu/components/table/normal-table/wrapsetting/settingform/index.jsx
@@ -54,7 +54,7 @@
  }
  render() {
    const { wrap, MenuType } = this.props
    const { wrap, MenuType, config } = this.props
    const { getFieldDecorator } = this.props.form
    const { roleList } = this.state
@@ -134,6 +134,24 @@
                )}
              </Form.Item>
            </Col>
            <Col span={12}>
              <Form.Item label={
                <Tooltip placement="topLeft" title="双击表格中行,触发的按钮。">
                  <Icon type="question-circle" />
                  双击事件
                </Tooltip>
              }>
                {getFieldDecorator('doubleClick', {
                  initialValue: wrap.doubleClick || ''
                })(
                  <Select allowClear>
                    {config.action.map(option =>
                      <Select.Option key={option.uuid} value={option.uuid}>{option.label}</Select.Option>
                    )}
                  </Select>
                )}
              </Form.Item>
            </Col>
            {MenuType !== 'billPrint' ? <Col span={12}>
              <Form.Item label="黑名单">
                {getFieldDecorator('blacklist', {
src/tabviews/custom/components/share/normalTable/index.jsx
@@ -22,7 +22,7 @@
  }
  render() {
    let { lineMarks, data, className, ...resProps } = this.props
    let { lineMarks, onDoubleClick, data, className, ...resProps } = this.props
    let style = {}
    if (lineMarks && lineMarks.length > 0) {
@@ -89,7 +89,7 @@
      })
    }
    return <tr {...resProps} className={className} style={style}/>
    return <tr {...resProps} onDoubleClick={onDoubleClick} className={className} style={style}/>
  }
}
@@ -205,7 +205,7 @@
      if (col.linkThdMenu || col.linkurl) {
        content = (
          <div>
            <div className="link-menu" onDoubleClick={() => this.triggerLink(col, record)}></div>
            <div className="link-menu" onDoubleClick={(e) => this.triggerLink(e, col, record)}></div>
            {content}
          </div>
        )
@@ -251,7 +251,7 @@
      if (col.linkThdMenu || col.linkurl) {
        content = (
          <div>
            <div className="link-menu" onDoubleClick={() => this.triggerLink(col, record)}></div>
            <div className="link-menu" onDoubleClick={(e) => this.triggerLink(e, col, record)}></div>
            {content}
          </div>
        )
@@ -508,8 +508,9 @@
  }
  // 字段透视
  triggerLink = (item, record) => {
  triggerLink = (e, item, record) => {
    const { tabviews, MenuID } = this.props
    e.stopPropagation()
    if (item.linkThdMenu) {
      let tabmenu = item.linkThdMenu
@@ -736,6 +737,14 @@
    })
  }
  doubleClickLine = (record) => {
    const { setting } = this.props
    if (!setting.doubleClick) return
    MKEmitter.emit('triggerBtnId', setting.doubleClick, [record])
  }
  render() {
    const { setting, statFValue, lineMarks, data } = this.props
    const { selectedRowKeys, activeIndex, pickup } = this.state
@@ -803,7 +812,8 @@
              lineMarks,
              data: record,
              className: index === activeIndex ? ' mk-row-active ' : '',
              onClick: () => {this.changeRow(record, index)}
              onClick: () => {this.changeRow(record, index)},
              onDoubleClick: () => {this.doubleClickLine(record)}
            }
          }}
          onChange={this.changeTable}
src/tabviews/custom/index.jsx
@@ -251,15 +251,6 @@
        })
      }
      if (item.setting && item.setting.supModule) {
        let pid = item.setting.supModule.slice(-1)[0]
        if (pid && pid !== 'empty') {
          item.setting.supModule = pid
        } else {
          item.setting.supModule = ''
        }
      }
      // 权限过滤
      if (this.props.menuType !== 'HS') {
        if (item.action && item.action.length > 0) {
@@ -313,6 +304,22 @@
          })
        }
      }
      if (item.setting && item.setting.supModule) {
        let pid = item.setting.supModule.slice(-1)[0]
        if (pid && pid !== 'empty') {
          item.setting.supModule = pid
        } else {
          item.setting.supModule = ''
        }
      }
      if (item.wrap && item.wrap.doubleClick) {
        let index = item.action.findIndex((btn) => btn.uuid === item.wrap.doubleClick)
        if (index === -1) {
          item.wrap.doubleClick = ''
        }
      }
      return true
    })
  }
src/tabviews/zshare/actionList/changeuserbutton/index.jsx
@@ -14,6 +14,7 @@
class NewPageButton extends Component {
  static propTpyes = {
    show: PropTypes.any,              // 按钮显示样式控制
    position: PropTypes.any,          // 按钮位置,工具栏为toolbar
    BID: PropTypes.string,            // 主表ID
    btn: PropTypes.object,            // 按钮
    selectedData: PropTypes.any,      // 子表中选择数据
@@ -31,9 +32,9 @@
  }
  componentDidMount () {
    const { show } = this.props
    const { position } = this.props
    if (show === 'actionList') {
    if (position === 'toolbar') {
      MKEmitter.addListener('triggerBtnId', this.actionTrigger)
    }
  }
@@ -48,13 +49,13 @@
  /**
   * @description 触发按钮操作
   */
  actionTrigger = (triggerId) => {
  actionTrigger = (triggerId, record) => {
    const { setting, selectedData, btn } = this.props
    const { loading } = this.state
    
    if ((triggerId && btn.uuid !== triggerId) || loading) return
    
    let data = selectedData || []
    let data = record || selectedData || []
    if (data.length !== 1) {
      // 需要选择单行时,校验数据
src/tabviews/zshare/actionList/excelInbutton/index.jsx
@@ -17,6 +17,7 @@
class ExcelInButton extends Component {
  static propTpyes = {
    show: PropTypes.any,              // 显示样式
    position: PropTypes.any,          // 按钮位置,工具栏为toolbar
    BID: PropTypes.string,            // 主表ID
    selectedData: PropTypes.any,      // 子表中选择数据
    Tab: PropTypes.any,               // 如果当前元素为标签时,tab为标签信息
@@ -36,9 +37,9 @@
  }
  componentDidMount () {
    const { show } = this.props
    const { position } = this.props
    if (show === 'actionList') {
    if (position === 'toolbar') {
      MKEmitter.addListener('triggerBtnId', this.actionTrigger)
    }
  }
@@ -68,7 +69,7 @@
  /**
   * @description 触发按钮操作
   */
  actionTrigger = (triggerId) => {
  actionTrigger = (triggerId, record) => {
    const { setting, Tab, BID, btn, selectedData } = this.props
    const { loading } = this.state
@@ -83,7 +84,7 @@
      return
    }
    let data = selectedData || []
    let data = record || selectedData || []
    
    if (btn.Ot === 'requiredSgl' && data.length !== 1) {
      // 需要选择单行时,校验数据
src/tabviews/zshare/actionList/exceloutbutton/index.jsx
@@ -17,6 +17,7 @@
class ExcelOutButton extends Component {
  static propTpyes = {
    BID: PropTypes.string,            // 主表ID
    position: PropTypes.any,          // 按钮位置,工具栏为toolbar
    show: PropTypes.any,              // 显示样式
    Tab: PropTypes.any,               // 如果当前元素为标签时,tab为标签信息
    btn: PropTypes.object,            // 按钮
@@ -37,9 +38,9 @@
  }
  componentDidMount () {
    const { show } = this.props
    const { position } = this.props
    if (show === 'actionList') {
    if (position === 'toolbar') {
      MKEmitter.addListener('triggerBtnId', this.actionTrigger)
    }
  }
src/tabviews/zshare/actionList/index.jsx
@@ -63,6 +63,7 @@
            BData={BData}
            setting={setting}
            columns={columns}
            position="toolbar"
            ContainerId={ContainerId}
            selectedData={selectedData}
            updateStatus={this.updateStatus}
@@ -77,6 +78,7 @@
            Tab={Tab}
            btn={item}
            setting={setting}
            position="toolbar"
            selectedData={selectedData}
            updateStatus={this.updateStatus}
          />
@@ -90,6 +92,7 @@
            Tab={Tab}
            btn={item}
            setting={setting}
            position="toolbar"
            getexceloutparam={getexceloutparam}
            updateStatus={this.updateStatus}
          />
@@ -104,6 +107,7 @@
            btn={item}
            BData={BData}
            setting={setting}
            position="toolbar"
            selectedData={selectedData}
            updateStatus={this.updateStatus}
          />
@@ -116,6 +120,7 @@
            btn={item}
            MenuID={MenuID}
            setting={setting}
            position="toolbar"
            selectedData={selectedData}
            updateStatus={this.updateStatus}
          />
@@ -127,6 +132,7 @@
            show="actionList"
            btn={item}
            setting={setting}
            position="toolbar"
            selectedData={selectedData}
            updateStatus={this.updateStatus}
          />
@@ -140,6 +146,7 @@
              BID={BID}
              btn={item}
              setting={setting}
              position="toolbar"
              selectedData={selectedData}
              updateStatus={this.updateStatus}
            />
@@ -154,6 +161,7 @@
              btn={item}
              BData={BData}
              setting={setting}
              position="toolbar"
              ContainerId={ContainerId}
              selectedData={selectedData}
              updateStatus={this.updateStatus}
src/tabviews/zshare/actionList/newpagebutton/index.jsx
@@ -13,6 +13,7 @@
class NewPageButton extends Component {
  static propTpyes = {
    show: PropTypes.any,              // 按钮显示样式控制
    position: PropTypes.any,          // 按钮位置,工具栏为toolbar
    btn: PropTypes.object,            // 按钮
    selectedData: PropTypes.any,      // 子表中选择数据
    setting: PropTypes.any,           // 页面通用设置
@@ -29,9 +30,9 @@
  }
  componentDidMount () {
    const { show } = this.props
    const { position } = this.props
    if (show === 'actionList') {
    if (position === 'toolbar') {
      MKEmitter.addListener('triggerBtnId', this.actionTrigger)
    }
  }
@@ -46,13 +47,13 @@
  /**
   * @description 触发按钮操作
   */
  actionTrigger = (triggerId) => {
  actionTrigger = (triggerId, record) => {
    const { setting, btn, selectedData } = this.props
    const _this = this
    if (triggerId && btn.uuid !== triggerId) return
    let data = selectedData || []
    let data = record || selectedData || []
    if (btn.Ot === 'requiredSgl' && data.length !== 1) {
      // 需要选择单行时,校验数据
src/tabviews/zshare/actionList/normalbutton/index.jsx
@@ -20,6 +20,7 @@
class NormalButton extends Component {
  static propTpyes = {
    show: PropTypes.any,              // 按钮显示样式控制
    position: PropTypes.any,          // 按钮位置,工具栏为toolbar
    BID: PropTypes.string,            // 主表ID
    BData: PropTypes.any,             // 主表数据
    style: PropTypes.any,             // 按钮样式
@@ -48,9 +49,9 @@
  }
  componentDidMount () {
    const { show } = this.props
    const { position } = this.props
    if (show === 'actionList') {
    if (position === 'toolbar') {
      MKEmitter.addListener('triggerBtnId', this.actionTrigger)
    }
  }
@@ -81,7 +82,7 @@
  /**
   * @description 触发按钮操作
   */
  actionTrigger = (triggerId) => {
  actionTrigger = (triggerId, record) => {
    const { setting, Tab, BID, btn, selectedData } = this.props
    const { loading } = this.state
@@ -97,7 +98,7 @@
    }
    let _this = this
    let data = selectedData || []
    let data = record || selectedData || []
    if (btn.Ot !== 'notRequired' && data.length === 0) {
      // 需要选择行时,校验数据
src/tabviews/zshare/actionList/popupbutton/index.jsx
@@ -15,6 +15,7 @@
class NormalButton extends Component {
  static propTpyes = {
    show: PropTypes.any,              // 按钮显示样式控制
    position: PropTypes.any,          // 按钮位置,工具栏为toolbar
    BID: PropTypes.string,            // 主表ID
    BData: PropTypes.any,             // 主表数据
    selectedData: PropTypes.any,      // 子表中选择数据
@@ -38,9 +39,9 @@
  }
  componentDidMount () {
    const { show } = this.props
    const { position } = this.props
    if (show === 'actionList') {
    if (position === 'toolbar') {
      MKEmitter.addListener('triggerBtnId', this.actionTrigger)
    }
  }
@@ -55,7 +56,7 @@
  /**
   * @description 触发按钮操作
   */
  actionTrigger = (triggerId) => {
  actionTrigger = (triggerId, record) => {
    const { setting, Tab, BID, btn, selectedData } = this.props
    const { loading } = this.state
@@ -70,7 +71,7 @@
      return
    }
    let data = selectedData || []
    let data = record || selectedData || []
    if (btn.Ot === 'requiredSgl' && data.length !== 1) {
      // 需要选择单行时,校验数据
src/tabviews/zshare/actionList/printbutton/index.jsx
@@ -21,6 +21,7 @@
class PrintButton extends Component {
  static propTpyes = {
    show: PropTypes.any,              // 按钮显示样式控制
    position: PropTypes.any,          // 按钮位置,工具栏为toolbar
    BID: PropTypes.string,            // 主表ID
    BData: PropTypes.any,             // 主表数据
    selectedData: PropTypes.any,      // 子表中选择数据
@@ -47,9 +48,9 @@
  }
  componentDidMount () {
    const { show } = this.props
    const { position } = this.props
    if (show === 'actionList') {
    if (position === 'toolbar') {
      MKEmitter.addListener('triggerBtnId', this.actionTrigger)
    }
  }
@@ -79,7 +80,7 @@
  /**
   * @description 触发按钮操作
   */
  actionTrigger = (triggerId) => {
  actionTrigger = (triggerId, record) => {
    const { setting, Tab, BID, btn, selectedData } = this.props
    const { loading } = this.state
@@ -95,7 +96,7 @@
    }
    let _this = this
    let data = selectedData || []
    let data = record || selectedData || []
    if (btn.Ot !== 'notRequired' && data.length === 0) {
      // 需要选择行时,校验数据
src/tabviews/zshare/actionList/tabbutton/index.jsx
@@ -13,6 +13,7 @@
class TabButton extends Component {
  static propTpyes = {
    show: PropTypes.any,              // 按钮显示样式控制
    position: PropTypes.any,          // 按钮位置,工具栏为toolbar
    MenuID: PropTypes.string,         // 菜单ID
    btn: PropTypes.object,            // 按钮
    selectedData: PropTypes.any,      // 子表中选择数据
@@ -30,9 +31,9 @@
  }
  componentDidMount () {
    const { show } = this.props
    const { position } = this.props
    if (show === 'actionList') {
    if (position === 'toolbar') {
      MKEmitter.addListener('triggerBtnId', this.actionTrigger)
    }
  }
@@ -47,12 +48,12 @@
  /**
   * @description 触发按钮操作
   */
  actionTrigger = (triggerId) => {
  actionTrigger = (triggerId, record) => {
    const { setting, btn, tabviews, MenuID, selectedData } = this.props
    if (triggerId && btn.uuid !== triggerId) return
    
    let data = selectedData || []
    let data = record || selectedData || []
    if (btn.Ot === 'requiredSgl' && data.length !== 1) {
      // 需要选择单行时,校验数据
src/tabviews/zshare/normalTable/index.jsx
@@ -218,8 +218,10 @@
  }
  // 字段透视
  triggerLink = (item, record) => {
  triggerLink = (e, item, record) => {
    const { tabviews, MenuID, setting } = this.props
    e.stopPropagation()
    if (item.linkThdMenu) {
      let tabmenu = item.linkThdMenu
@@ -392,8 +394,8 @@
          return {
            children: (
              <div className={className}>
                <div className="baseboard link-menu" onDoubleClick={() => this.triggerLink(item, record)}></div>
                <div className="content link-menu" style={{ minWidth: (item.Width || 120) + 'px' }} onDoubleClick={() => this.triggerLink(item, record)}>
                <div className="baseboard link-menu" onDoubleClick={(e) => this.triggerLink(e, item, record)}></div>
                <div className="content link-menu" onDoubleClick={(e) => this.triggerLink(e, item, record)}>
                  {content}
                </div>
              </div>
@@ -405,8 +407,8 @@
        }
        return (
          <div className={className}>
            <div className="baseboard link-menu" onDoubleClick={() => this.triggerLink(item, record)}></div>
            <div className="content link-menu" style={{ minWidth: (item.Width || 120) + 'px' }} onDoubleClick={() => this.triggerLink(item, record)}>
            <div className="baseboard link-menu" onDoubleClick={(e) => this.triggerLink(e, item, record)}></div>
            <div className="content link-menu" onDoubleClick={(e) => this.triggerLink(e, item, record)}>
              {content}
            </div>
          </div>
@@ -417,7 +419,7 @@
            children: (
              <div className={className}>
                <div className="baseboard"></div>
                <div className="content" style={{ minWidth: (item.Width || 120) + 'px' }}>
                <div className="content">
                  {content}
                </div>
              </div>
@@ -430,7 +432,7 @@
        return (
          <div className={className}>
            <div className="baseboard"></div>
            <div className="content" style={{ minWidth: (item.Width || 120) + 'px' }}>
            <div className="content">
              {content}
            </div>
          </div>
@@ -489,8 +491,8 @@
      if (item.linkThdMenu || item.linkurl) {
        return (
          <div className={className}>
            <div className="baseboard link-menu" onDoubleClick={() => this.triggerLink(item, record)}></div>
            <div className="content link-menu" style={{ minWidth: (item.Width || 120) + 'px' }} onDoubleClick={() => this.triggerLink(item, record)}>
            <div className="baseboard link-menu" onDoubleClick={(e) => this.triggerLink(e, item, record)}></div>
            <div className="content link-menu" onDoubleClick={(e) => this.triggerLink(e, item, record)}>
              {content}
            </div>
          </div>
@@ -499,7 +501,7 @@
        return (
          <div className={className}>
            <div className="baseboard"></div>
            <div className="content" style={{ minWidth: (item.Width || 120) + 'px' }}>
            <div className="content">
              {content}
            </div>
          </div>
@@ -516,7 +518,7 @@
      let maxHeight = item.maxHeight || 128
      return (
        <div className="picture-col" style={{ minWidth: (item.Width || 120) + 'px' }}>
        <div className="picture-col">
          {photos && photos.map((url, i) => {
            if (item.scale === 'true') {
              return <img style={{maxHeight: maxHeight}} className="image-scale" onClick={this.imgScale} key={`${i}`} src={url} alt=""/>
@@ -541,7 +543,7 @@
      return (
        <div>
          <div className="content" style={{ minWidth: (item.Width || 120) + 'px' }}>
          <div className="content">
            {content ? <Paragraph copyable ellipsis={{ rows: 3, expandable: true }}>{content}</Paragraph> : null }
          </div>
        </div>
@@ -579,14 +581,14 @@
      return (
        <div>
          <div className="content" style={{ minWidth: (item.Width || 120) + 'px' }}>
          <div className="content">
            {content ? <a href={_href} target="_blank" rel="noopener noreferrer">{content}</a> : null }
          </div>
        </div>
      )
    } else if (item.type === 'action') {
      return (
        <div className="action-col" style={{ minWidth: (item.Width || 120) + 'px' }}>
        <div className="action-col">
          {item.operations.map(btn => {
            if (['exec', 'prompt', 'pop'].includes(btn.OpenType)) {
              return (
@@ -790,7 +792,7 @@
      return (
        <div>
          <div className="content" style={{ minWidth: (item.Width || 120) + 'px' }}>
          <div className="content">
            {this.getCospanContent(ordertype, contents, images)}
          </div>
        </div>
@@ -1046,6 +1048,14 @@
    return data
  }
  doubleClickLine = (record) => {
    const { setting } = this.props
    if (!setting.doubleClick) return
    MKEmitter.emit('triggerBtnId', setting.doubleClick, [record])
  }
  render() {
    const { setting, pickup, statFValue } = this.props
    const { selectedRowKeys, lineMarks, activeIndex } = this.state
@@ -1182,7 +1192,8 @@
          scroll={{ x: '100%', y: false }}
          onRow={(record, index) => {
            return {
              onClick: () => {this.changeRow(record, index)}
              onClick: () => {this.changeRow(record, index)},
              onDoubleClick: () => {this.doubleClickLine(record)}
            }
          }}
          onChange={this.changeTable}
src/templates/sharecomponent/settingcomponent/settingform/datasource/index.jsx
@@ -11,7 +11,7 @@
class SettingForm extends Component {
  static propTpyes = {
    type: PropTypes.string,       // 菜单类型,main或subtable
    config: PropTypes.object,     // 页面配置
    dict: PropTypes.object,       // 字典项
    menu: PropTypes.object,       // 菜单信息
    setting: PropTypes.object,    // 数据源配置
@@ -174,7 +174,7 @@
  }
  render() {
    const { setting, dict, menu, type, columns } = this.props
    const { setting, dict, menu, config, columns } = this.props
    const { getFieldDecorator } = this.props.form
    const { interType, funcRules, funcTooltip } = this.state
@@ -400,7 +400,7 @@
                </Radio.Group>)}
              </Form.Item>
            </Col>
            {type === 'main' ? <Col span={12}>
            {config.Template === 'CommonTable' ? <Col span={12}>
              <Form.Item label="按钮固定">
                {getFieldDecorator('actionfixed', {
                  initialValue: setting.actionfixed === 'true' || setting.actionfixed === true ? 'true' : 'false'
@@ -411,7 +411,7 @@
                </Radio.Group>)}
              </Form.Item>
            </Col> : null}
            {type === 'main' ? <Col span={12}>
            {config.Template === 'CommonTable' ? <Col span={12}>
              <Form.Item label={
                <Tooltip placement="topLeft" title={'含有合并列或表格出现横向滚动时会显示异常,请慎用!'}>
                  <Icon type="question-circle" />
@@ -438,6 +438,24 @@
                </Radio.Group>)}
              </Form.Item>
            </Col>
            <Col span={12}>
              <Form.Item label={
                <Tooltip placement="topLeft" title="双击表格中行,触发的按钮。">
                  <Icon type="question-circle" />
                  双击事件
                </Tooltip>
              }>
                {getFieldDecorator('doubleClick', {
                  initialValue: setting.doubleClick || ''
                })(
                  <Select allowClear>
                    {config.action.map(option =>
                      <Select.Option key={option.uuid} value={option.uuid}>{option.label}</Select.Option>
                    )}
                  </Select>
                )}
              </Form.Item>
            </Col>
          </Row>
        </Form>
      </div>
src/templates/sharecomponent/settingcomponent/settingform/index.jsx
@@ -382,9 +382,9 @@
        <Tabs activeKey={activeKey} className="verify-card-box" onChange={this.changeTab}>
          <TabPane tab="数据源" key="setting">
            <DataSource
              type={config.Template === 'CommonTable' ? 'main' : ''}
              menu={menu}
              dict={dict}
              config={config}
              columns={columns}
              setting={setting}
              scripts={scripts}