king
2020-03-26 f7d1f17bdcb8c3e794a798165737bb7529dbe8ca
2020-03-26
9个文件已修改
2个文件已添加
456 ■■■■ 已修改文件
src/tabviews/commontable/index.jsx 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/tabviews/managetable/index.jsx 28 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/tabviews/subtable/index.jsx 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/tabviews/subtabtable/index.jsx 79 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/tabviews/zshare/actionList/index.jsx 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/tabviews/zshare/normalTable/index.jsx 12 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/tabviews/zshare/verifycard/index.jsx 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/tabviews/zshare/verifycard/tabcard/columnform/index.jsx 181 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/tabviews/zshare/verifycard/tabcard/columnform/index.scss 补丁 | 查看 | 原始文档 | blame | 历史
src/tabviews/zshare/verifycard/tabcard/index.jsx 115 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/templates/comtableconfig/index.jsx 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/tabviews/commontable/index.jsx
@@ -13,8 +13,6 @@
import {refreshTabView, modifyTabview} from '@/store/action'
import MainTable from '@/tabviews/zshare/normalTable'
// import MainAction from '@/tabviews/zshare/actionList'
// import VerifyCard from '@/tabviews/zshare/verifycard'
import MainSearch from '@/tabviews/zshare/topSearch'
import NotFount from '@/components/404'
import './index.scss'
@@ -363,7 +361,7 @@
              triggerBtn: {
                uuid: new Date().getTime(),
                parentId: key,
                button: item,
                button: {...item, uuid: btnkey},
                data: null
              }
            })
@@ -1049,6 +1047,11 @@
        this.reloadview()
      }
      this.props.refreshTabView('')
    } else if (!is(fromJS(this.props.tabviews), fromJS(nextProps.tabviews))) {
      let selectTab = nextProps.tabviews.filter(tab => tab.selected)[0]
      if (selectTab && selectTab.MenuID === this.props.MenuID) {
        this.setShortcut()
      }
    }
  }
src/tabviews/managetable/index.jsx
@@ -15,12 +15,12 @@
import {refreshTabView, modifyTabview} from '@/store/action'
import MainTable from '@/tabviews/zshare/normalTable'
import MainAction from '@/tabviews/zshare/actionList'
import MainSearch from '@/tabviews/zshare/topSearch'
import NotFount from '@/components/404'
import './index.scss'
const SubTable = asyncLoadComponent(() => import('@/tabviews/subtable'))
const MainAction = asyncComponent(() => import('@/tabviews/zshare/actionList'))
const SubTabTable = asyncComponent(() => import('@/tabviews/subtabtable'))
const FormTab = asyncComponent(() => import('@/tabviews/formtab'))
@@ -64,7 +64,8 @@
    treevisible: false,   // 菜单结构树弹框显示隐藏控制
    tabBtn: null,         // 表单标签按钮
    tabParam: null,       // 表单标签参数
    refreshtabs: null     // 需要刷新的标签集
    refreshtabs: null,    // 需要刷新的标签集
    triggerBtn: null      // 按钮触发
  }
  /**
@@ -518,7 +519,15 @@
      orderBy: '',
      search: '',
      BIDs: {},
      pickup: false
      pickup: false,
      popAction: false,
      popData: false,
      visible: false,
      treevisible: false,
      tabBtn: null,
      tabParam: null,
      refreshtabs: null,
      triggerBtn: null
    }, () => {
      this.loadconfig()
    })
@@ -615,7 +624,14 @@
   * @description 表格中,按钮触发事件传递
   */
  buttonTrigger = (btn, record) => {
    this.refs.mainButton.actionTrigger(btn, record)
    this.setState({
      triggerBtn: {
        uuid: new Date().getTime(),
        parentId: this.props.MenuID,
        button: btn,
        data: record
      }
    })
  }
  /**
@@ -810,7 +826,7 @@
  }
  render() {
    const { view, setting, searchlist, actions, columns, loadingview, viewlost, pickup, config } = this.state
    const { view, setting, searchlist, actions, columns, loadingview, viewlost, pickup, config, triggerBtn } = this.state
    return (
      <div>
@@ -825,13 +841,13 @@
          }
          {actions && setting.onload !== 'false' ?
            <MainAction
              ref="mainButton"
              BID=""
              type="main"
              menuType="HS"
              setting={setting}
              actions={actions}
              dict={this.state.dict}
              triggerBtn={triggerBtn}
              MenuID={this.props.MenuID}
              logcolumns={this.state.logcolumns}
              ContainerId={this.state.ContainerId}
src/tabviews/subtable/index.jsx
@@ -12,14 +12,14 @@
import options from '@/store/options.js'
import SubTable from '@/tabviews/zshare/normalTable'
// import SubAction from '@/tabviews/zshare/actionList'
import SubSearch from '@/tabviews/zshare/topSearch'
import asyncComponent from '@/utils/asyncComponent'
import asyncLoadComponent from '@/utils/asyncLoadComponent'
import NotFount from '@/components/404'
import './index.scss'
const SubAction = asyncLoadComponent(() => import('@/tabviews/zshare/actionList'))
const SubAction = asyncComponent(() => import('@/tabviews/zshare/actionList'))
const SubTabTable = asyncLoadComponent(() => import('@/tabviews/subtabtable'))
class SubTabViewTable extends Component {
@@ -57,7 +57,6 @@
    pageSize: 10,         // 每页数据条数
    orderBy: '',          // 排序
    search: '',           // 搜索条件数组,使用时需分场景处理
    configMap: {},        // 页面配置信息:下拉、按钮等
    popAction: false,     // 弹框页面,按钮信息
    popData: false,       // 弹框页面,所选的表格数据
    visible: false,       // 弹框显示隐藏控制
@@ -625,7 +624,7 @@
      pageSize: 10,
      orderBy: '',
      search: '',
      configMap: {}
      triggerBtn: null
    }, () => {
      this.loadconfig()
    })
@@ -780,7 +779,7 @@
              BID={this.props.BID}
              BData={this.props.BData}
              dict={this.state.dict}
              MenuID={this.props.SupMenuID}
              MenuID={this.props.MenuID}
              permRoles={this.props.permRoles}
              logcolumns={this.state.logcolumns}
              refreshdata={this.refreshbyaction}
src/tabviews/subtabtable/index.jsx
@@ -11,12 +11,14 @@
import Utils from '@/utils/utils.js'
import options from '@/store/options.js'
import asyncComponent from '@/utils/asyncComponent'
import SubTable from '@/tabviews/zshare/normalTable'
import SubAction from '@/tabviews/zshare/actionList'
import SubSearch from '@/tabviews/zshare/topSearch'
import NotFount from '@/components/404'
import './index.scss'
const SubAction = asyncComponent(() => import('@/tabviews/zshare/actionList'))
class SubTabModalTable extends Component {
  static propTpyes = {
@@ -49,7 +51,7 @@
    pageSize: 10,         // 每页数据条数
    orderBy: '',          // 排序
    search: '',           // 搜索条件数组,使用时需分场景处理
    configMap: {}         // 页面配置信息:下拉、按钮等
    triggerBtn: null      // 按钮触发
  }
  /**
@@ -532,7 +534,7 @@
      pageSize: 10,
      orderBy: '',
      search: '',
      configMap: {}
      triggerBtn: null
    }, () => {
      this.loadconfig()
    })
@@ -550,68 +552,10 @@
      this.reloadtable()
    } else if (btn.execError === 'view' && type === 'error') {
      this.reloadview()
    } else if (type === 'excelOut') {
      this.handleDefaultExcelout(btn)
    }
    if (type === 'success') {
      this.props.refreshSupView()
    }
  }
  /**
   * @description 使用默认存储过程 sPC_Get_TableData 导出excel表格
   */
  handleDefaultExcelout = (btn) => {
    const { MenuName } = this.props
    const { arr_field, orderBy, search, setting, config } = this.state
    let _arr_labels = []      // 列名称集
    let _arr_label_field = [] // 列名称字段集
    config.columns.forEach(col => {
      if (col.field) {
        _arr_labels.push(col.label)
        _arr_label_field.push(`${col.field} as ${col.label}`)
      }
    })
    _arr_labels = _arr_labels.join(',')
    _arr_label_field = _arr_label_field.join(',')
    let _search = Utils.joinMainSearchkey(search)
    _search = _search ? 'where (' + _search + ')' : ''
    // 获取列表数据
    let param = {
      func: 'sPC_Get_TableData',
      obj_name: 'data',
      arr_field: _arr_labels,
      BID: this.props.BID,
      appkey: window.GLOB.appkey || ''
    }
    let _orderBy = orderBy || setting.order
    let _dataresource = setting.dataresource
    if (/\s/.test(_dataresource)) {
      _dataresource = '(' + _dataresource + ') tb'
    }
    let LText = `select ${_arr_label_field} from (select ${arr_field} ,ROW_NUMBER() over(order by ${_orderBy}) as rows from ${_dataresource} ${_search}) tmptable order by tmptable.rows`
    param.LText = Utils.formatOptions(LText)
    param.timestamp = moment().format('YYYY-MM-DD HH:mm:ss') + '.000'
    param.secretkey = Utils.encrypt(param.LText, param.timestamp)
    param.DateCount = ''
    let name = `${MenuName}${moment().format('YYYYMMDDHHmmss')}.xlsx`
    Api.getExcelOut(param, name).then(res => {
      if (res && res.status === false) {
        this.refs.subtabButton.execError(res, btn)
      } else {
        this.refs.subtabButton.execSuccess(btn)
      }
    })
  }
  /**
@@ -629,7 +573,14 @@
   * @description 表格中,按钮触发事件传递
   */
  buttonTrigger = (btn, record) => {
    this.refs.subtabButton.actionTrigger(btn, record)
    this.setState({
      triggerBtn: {
        uuid: new Date().getTime(),
        parentId: this.props.MenuID,
        button: btn,
        data: record
      }
    })
  }
  UNSAFE_componentWillMount () {
@@ -651,7 +602,7 @@
  }
  render() {
    const { setting, searchlist, actions, columns, loadingview, viewlost } = this.state
    const { setting, searchlist, actions, columns, loadingview, viewlost, triggerBtn } = this.state
    return (
      <div className="subtabtable" id={'subtabtable' + this.props.MenuID}>
@@ -666,8 +617,8 @@
        {actions ?
          <div style={{minHeight: '25px'}}>
            <SubAction
              ref="subtabButton"
              type="subtab"
              triggerBtn={triggerBtn}
              menuType={this.props.menuType}
              setting={setting}
              actions={actions}
src/tabviews/zshare/actionList/index.jsx
@@ -53,7 +53,13 @@
  UNSAFE_componentWillReceiveProps(nextProps) {
    if (nextProps.triggerBtn && !is(fromJS(this.props.triggerBtn), fromJS(nextProps.triggerBtn)) && nextProps.triggerBtn.parentId === this.props.MenuID) {
      if (!this.state.loadingUuid && !this.state.visible && !this.state.running) {
        this.actionTrigger(nextProps.triggerBtn.button, nextProps.triggerBtn.data)
        let _btn = nextProps.triggerBtn.button
        if (!_btn.OpenType) {
          _btn = this.props.actions.filter(item => item.uuid === _btn.uuid)[0]
        }
        if (_btn) {
          this.actionTrigger(_btn, nextProps.triggerBtn.data)
        }
      }
    }
  }
src/tabviews/zshare/normalTable/index.jsx
@@ -32,8 +32,8 @@
    const { columns } = this.props
    let _columns = []
    
    columns.forEach(item => {
      if (item.hidden === 'true') return
    columns.forEach((item, index) => {
      if (item.hidden === true || item.hidden === 'true') return
      let cell = {
        align: item.Align,
@@ -45,6 +45,14 @@
          return this.getContent(item, record)
        }
      }
      if (item.fixed === true || item.fixed === 'true') {
        if (index < columns.length / 2) {
          cell.fixed = 'left'
        } else {
          cell.fixed = 'right'
        }
      }
      
      _columns.push(cell)
    })
src/tabviews/zshare/verifycard/index.jsx
@@ -35,6 +35,7 @@
    this.setState({
      loadingview: true
    })
    menuParam.push({
      uuid: MenuID,
@@ -66,6 +67,7 @@
          label: item.label,
          Width: item.Width,
          hidden: item.hidden || false,
          fixed: item.fixed || false,
          sort: item.sort || 0
        }
      })
@@ -95,6 +97,9 @@
            top: 92,
            message: errors[0].message,
            duration: 10
          })
          this.setState({
            loading: false
          })
          return
        }
@@ -247,6 +252,7 @@
                label: item.label,
                Width: item.Width,
                hidden: item.hidden || false,
                fixed: item.fixed || false,
                sort: item.sort || 0
              }
            })
@@ -271,7 +277,10 @@
      })
    } else {
      this.setState({
        loading: false
        loading: false,
        menuParam: menuParam
      }, () => {
        this.getInitParam()
      })
    }
  }
src/tabviews/zshare/verifycard/tabcard/columnform/index.jsx
New file
@@ -0,0 +1,181 @@
import React, {Component} from 'react'
import PropTypes from 'prop-types'
import { Form, Row, Col, Button, Input, InputNumber, Radio } from 'antd'
import './index.scss'
const shortkeycode = {
  65: 'A',
  66: 'B',
  67: 'C',
  68: 'D',
  69: 'E',
  70: 'F',
  71: 'G',
  72: 'H',
  73: 'I',
  74: 'J',
  75: 'K',
  76: 'L',
  77: 'M',
  78: 'N',
  79: 'O',
  80: 'P',
  81: 'Q',
  82: 'R',
  83: 'S',
  84: 'T',
  85: 'U',
  86: 'V',
  87: 'W',
  88: 'X',
  89: 'Y',
  90: 'Z'
}
class UniqueForm extends Component {
  static propTpyes = {
    dict: PropTypes.object,       // 字典项
    columnChange: PropTypes.func  // 修改函数
  }
  state = {
    editItem: null, // 编辑元素
    shortcutOptions: null
  }
  UNSAFE_componentWillMount () {
    let keys = ['shift', 'ctrl', 'alt']
    let _options = []
    keys.forEach(item => {
      let _op = {
        value: item,
        label: item,
        children: []
      }
      Object.keys(shortkeycode).forEach(key => {
        if (item === 'ctrl' && (key === '67' || key === '86')) return
        if (item === 'alt' && key === '65') return
        _op.children.push({
          value: +key,
          label: shortkeycode[key]
        })
      })
      _options.push(_op)
    })
    this.setState({
      shortcutOptions: _options
    })
  }
  edit = (record) => {
    this.setState({
      editItem: record
    }, () => {
      let item = {
        label: record.label,
        Width: record.Width,
        hidden: record.hidden ? 'true' : 'false',
        fixed: record.fixed ? 'true' : 'false'
      }
      this.props.form.setFieldsValue(item)
    })
  }
  handleConfirm = () => {
    // 表单提交时检查输入值是否正确
    this.props.form.validateFieldsAndScroll((err, values) => {
      if (!err) {
        values.uuid = this.state.editItem ? this.state.editItem.uuid : ''
        values.hidden = values.hidden === 'true'
        values.fixed = values.fixed === 'true'
        this.props.columnChange(values)
        this.setState({
          editItem: null
        })
      }
    })
  }
  render() {
    const { getFieldDecorator } = this.props.form
    const { editItem } = this.state
    const formItemLayout = {
      labelCol: {
        xs: { span: 24 },
        sm: { span: 8 }
      },
      wrapperCol: {
        xs: { span: 24 },
        sm: { span: 16 }
      }
    }
    return (
      <Form {...formItemLayout} className="verify-form">
        {editItem ? <Row gutter={24}>
          <Col span={10}>
            <Form.Item label={'名称'}>
              {getFieldDecorator('label', {
                initialValue: '',
              })(<Input placeholder="" autoComplete="off" disabled />)}
            </Form.Item>
          </Col>
          <Col span={10}>
            <Form.Item label={'列宽'}>
              {getFieldDecorator('Width', {
                initialValue: 0
              })(<InputNumber min={50} max={1200} precision={0} />)}
            </Form.Item>
          </Col>
          <Col span={4} className="add">
            <Button onClick={this.handleConfirm} type="primary" className="add-row">
              确定
            </Button>
          </Col>
          <Col span={10}>
            <Form.Item label="隐藏">
              {getFieldDecorator('hidden', {
                initialValue: 'false'
              })(
                <Radio.Group>
                  <Radio value="true">是</Radio>
                  <Radio value="false">否</Radio>
                </Radio.Group>
              )}
            </Form.Item>
          </Col>
          <Col span={10}>
            <Form.Item label="固定">
              {getFieldDecorator('fixed', {
                initialValue: 'false'
              })(
                <Radio.Group>
                  <Radio value="true">是</Radio>
                  <Radio value="false">否</Radio>
                </Radio.Group>
              )}
            </Form.Item>
          </Col>
        </Row> : null}
        {!editItem ? <Row gutter={24} style={{height: '64px', paddingTop: '5px'}}>
          <Col span={24} className="print-tip">
            <Form.Item label={'提示'}>
              点击编辑图标,可自定义显示列宽度、是否隐藏、是否固定等设置,点击上下箭头可调整显示列顺序。
            </Form.Item>
          </Col>
        </Row> : null}
      </Form>
    )
  }
}
export default Form.create()(UniqueForm)
src/tabviews/zshare/verifycard/tabcard/columnform/index.scss
src/tabviews/zshare/verifycard/tabcard/index.jsx
@@ -2,9 +2,8 @@
import PropTypes from 'prop-types'
import { Form, Tabs, Row, Col, Radio, Table, Icon, Select, notification } from 'antd'
// import Utils from '@/utils/utils.js'
import ActionForm from './actionform'
import ColumnForm from './columnform'
import PrintForm from './printform'
import PrintTypeForm from './printtypeform'
import './index.scss'
@@ -51,31 +50,43 @@
    printbtns: null,
    colColumns: [
      {
        title: '字段名',
        dataIndex: 'field',
        width: '35%'
        title: '列名',
        dataIndex: 'label',
        width: '20%'
      },
      {
        title: '列宽',
        dataIndex: 'Width',
        width: '35%'
        width: '20%'
      },
      {
        title: '字段名',
        dataIndex: 'field',
        width: '35%'
        title: '隐藏',
        dataIndex: 'hidden',
        width: '20%',
        render: (text, record) => {
          if (record.hidden) return '是'
          return '否'
        }
      },
      {
        title: '固定',
        dataIndex: 'fixed',
        width: '20%',
        render: (text, record) => {
          if (record.fixed) return '是'
          return '否'
        }
      },
      {
        title: '操作',
        align: 'center',
        width: '25%',
        width: '20%',
        dataIndex: 'operation',
        render: (text, record) =>
          (<div>
            <span className="operation-btn" title="编辑" onClick={() => this.handleEdit(record, 'column')} style={{color: '#1890ff'}}><Icon type="edit" /></span>
            <span className="operation-btn" title="上移" onClick={() => this.handleUpDown(record, 'up')} style={{color: '#1890ff'}}><Icon type="arrow-up" /></span>
            <span className="operation-btn" title="下移" onClick={() => this.handleUpDown(record, 'down')} style={{color: '#ff4d4f'}}><Icon type="arrow-down" /></span>
            <span className="operation-btn" title="状态切换" onClick={() => this.handleStatus(record)} style={{color: '#8E44AD'}}><Icon type="swap" /></span>
          </div>)
      }
    ],
@@ -160,7 +171,7 @@
  UNSAFE_componentWillMount() {
    let config = JSON.parse(JSON.stringify(this.props.config))
    let _subconfig = {
      label: config.label,
      setting: config.setting,
@@ -177,8 +188,10 @@
    config.columns.forEach((item, index) => {
      _subconfig.columns[item.uuid] = {
        label: item.label,
        Width: item.Width,
        hidden: item.hidden,
        fixed: item.fixed,
        sort: index
      }
    })
@@ -271,14 +284,17 @@
    let _config = JSON.parse(JSON.stringify(this.state.config))
    let _subconfig = JSON.parse(JSON.stringify(this.state.subconfig))
    _config.action = _config.action.map(item => {
    _config.columns = _config.columns.map((item, index) => {
      if (values.uuid === item.uuid) {
        item = {...item, ...values}
      }
      _subconfig.action[item.uuid] = {
        printer: item.printer || '',
        shortcut: item.shortcut
      _subconfig.columns[item.uuid] = {
        label: item.label,
        Width: item.Width,
        hidden: item.hidden,
        fixed: item.fixed,
        sort: index
      }
      return item
@@ -377,7 +393,7 @@
    } else if (type === 'printtype') {
      this.printTypeForm.edit(record)
    } else if (type === 'column') {
      this.uniqueForm.edit(record)
      this.columnForm.edit(record)
    }
    if (type === 'printtype') return
@@ -398,47 +414,46 @@
    }
  }
  handleStatus = (record) => {
    let verify = JSON.parse(JSON.stringify(this.state.verify))
    record.status = record.status === 'false' ? 'true' : 'false'
    verify.scripts = verify.scripts.map(item => {
      if (item.uuid === record.uuid) {
        return record
      } else {
        return item
      }
    })
    this.setState({
      verify: verify
    })
  }
  handleUpDown = (record, type, direction) => {
    let verify = JSON.parse(JSON.stringify(this.state.verify))
  handleUpDown = (record, direction) => {
    let _config = JSON.parse(JSON.stringify(this.state.config))
    let _subconfig = JSON.parse(JSON.stringify(this.state.subconfig))
    let index = 0
    verify.customverifys = verify.customverifys.filter((item, i) => {
    _config.columns = _config.columns.filter((item, i) => {
      if (item.uuid === record.uuid) {
        index = i
      }
      return item.uuid !== record.uuid
    })
    if ((index === 0 && direction === 'up') || (index === verify.customverifys.length && direction === 'down')) {
    if ((index === 0 && direction === 'up') || (index === _config.columns.length && direction === 'down')) {
      return
    }
    if (direction === 'up') {
      verify.customverifys.splice(index - 1, 0, record)
      _config.columns.splice(index - 1, 0, record)
    } else {
      verify.customverifys.splice(index + 1, 0, record)
      _config.columns.splice(index + 1, 0, record)
    }
    this.setState({
      verify: verify
    _config.columns = _config.columns.map((item, index) => {
      _subconfig.columns[item.uuid] = {
        label: item.label,
        Width: item.Width,
        hidden: item.hidden,
        fixed: item.fixed,
        sort: index
      }
      return item
    })
    this.setState({
      config: _config,
      subconfig: _subconfig
    })
    this.props.handleconfig(_config.uuid, _subconfig)
  }
  handleConfirm = () => {
@@ -504,7 +519,7 @@
  render() {
    const { config } = this.props
    const { actionColumns, printColumns, printTypeColumns, printbtns } = this.state
    const { actionColumns, printColumns, colColumns, printTypeColumns, printbtns } = this.state
    const formItemLayout = {
      labelCol: {
        xs: { span: 24 },
@@ -564,21 +579,21 @@
            pagination={false}
          />
        </TabPane>
        {/* <TabPane tab="显示列设置" key="column">
          <ActionForm
        <TabPane tab="显示列设置" key="column">
          <ColumnForm
            dict={this.props.dict}
            actionChange={this.actionChange}
            wrappedComponentRef={(inst) => this.actionForm = inst}
            columnChange={this.columnChange}
            wrappedComponentRef={(inst) => this.columnForm = inst}
          />
          <Table
            bordered
            rowKey="uuid"
            className="custom-table"
            dataSource={this.state.config.action}
            columns={actionColumns}
            dataSource={this.state.config.columns}
            columns={colColumns}
            pagination={false}
          />
        </TabPane> */}
        </TabPane>
        {printbtns && printbtns.length > 0 ? <TabPane tab="打印设置" key="print">
          <PrintForm
            dict={this.props.dict}
src/templates/comtableconfig/index.jsx
@@ -33,7 +33,7 @@
import TransferForm from '@/components/transferform'
import SourceElement from '@/templates/zshare/dragelement/source'
import CreateFunc from '@/templates/zshare/createfunc'
import CreateInterface from '@/templates/zshare/createinterface'
// import CreateInterface from '@/templates/zshare/createinterface'
import Source from './source'
import './index.scss'
@@ -3092,7 +3092,7 @@
            })
          }}
          footer={[
            <CreateInterface key="interface" dict={this.state.dict} ref="tableCreatInterface" trigger={this.tableCreatInterface}/>,
            // <CreateInterface key="interface" dict={this.state.dict} ref="tableCreatInterface" trigger={this.tableCreatInterface}/>,
            <CreateFunc key="create" dict={this.state.dict} ref="tableCreatFunc" trigger={this.tableCreatFunc}/>,
            <Button key="cancel" onClick={() => { this.setState({ settingVisible: false }) }}>{this.state.dict['header.cancel']}</Button>,
            <Button key="confirm" type="primary" onClick={this.settingSave}>{this.state.dict['header.confirm']}</Button>