king
2020-03-04 96455706619a0a2a96a836714e106f4c7a3bfd40
src/tabviews/subtable/index.jsx
@@ -2,7 +2,7 @@
import PropTypes from 'prop-types'
import {connect} from 'react-redux'
import { is, fromJS } from 'immutable'
import { notification, Spin, Modal, Button} from 'antd'
import { notification, Spin, Modal, Button, Switch} from 'antd'
import moment from 'moment'
import Api from '@/api'
import SubTable from './subTable'
@@ -54,7 +54,8 @@
    configMap: {},        // 页面配置信息:下拉、按钮等
    popAction: false,     // 弹框页面,按钮信息
    popData: false,       // 弹框页面,所选的表格数据
    visible: false        // 弹框显示隐藏控制
    visible: false,       // 弹框显示隐藏控制
    pickup: false,         // 子表数据隐藏显示切换
  }
  /**
@@ -335,6 +336,7 @@
          return item
        }),
        total: result.total,
        pickup: false,
        loading: false
      })
    } else {
@@ -611,6 +613,17 @@
    })
  }
  /**
   * @description 数据展开合并切换
   */
  pickupChange = () => {
    const { pickup } = this.state
    this.setState({
      pickup: !pickup
    })
  }
  popclose = () => {
    this.setState({
      visible: false
@@ -618,13 +631,13 @@
    this.refreshbyaction(this.state.popAction, 'pop')
  }
  UNSAFE_componentWillMount () {
  UNSAFE_componentWillMount() {
    // 组件加载时,获取菜单数据
    this.loadconfig()
  }
  shouldComponentUpdate (nextProps, nextState) {
    return !is(fromJS(this.props), fromJS(nextProps)) || !is(fromJS(this.state), fromJS(nextState))
  shouldComponentUpdate (nextProps, nextState) { // handleMainTable 函数判断时不相等
    return !is(fromJS({...this.props, handleMainTable: '', handleTableId: ''}), fromJS({...nextProps, handleMainTable: '', handleTableId: ''})) || !is(fromJS(this.state), fromJS(nextState))
  }
  /**
@@ -637,7 +650,7 @@
  }
  render() {
    const { setting, searchlist, actions, columns, loadingview, viewlost } = this.state
    const { setting, searchlist, actions, columns, loadingview, viewlost, pickup } = this.state
    return (
      <div className="subtable" id={'subtable' + this.props.MenuID}>
@@ -669,20 +682,29 @@
            gettableselected={this.gettableselected}
          />
        }
        {columns &&
          <SubTable
            ref="subTable"
            dict={this.state.dict}
            MenuID={this.props.MenuID}
            setting={setting}
            columns={columns}
            data={this.state.data}
            total={this.state.total}
            loading={this.state.loading}
            refreshdata={this.refreshbytable}
            buttonTrigger={this.buttonTrigger}
            handleTableId={this.handleTableId}
          />
        {/* {this.state.data && this.state.data.length > 0 ?
          <Switch title="收起" className="subtable-pickup" checkedChildren="开" unCheckedChildren="关" defaultChecked={pickup} onChange={this.pickupChange} /> : null
        } */}
        {columns ?
          <div className="subtable-box">
            {this.state.data && this.state.data.length > 0 ?
              <Switch title="收起" className="subtable-pickup" checkedChildren="开" unCheckedChildren="关" defaultChecked={pickup} onChange={this.pickupChange} /> : null
            }
            <SubTable
              ref="subTable"
              pickup={pickup}
              setting={setting}
              columns={columns}
              dict={this.state.dict}
              data={this.state.data}
              total={this.state.total}
              MenuID={this.props.MenuID}
              loading={this.state.loading}
              refreshdata={this.refreshbytable}
              buttonTrigger={this.buttonTrigger}
              handleTableId={this.handleTableId}
            />
          </div> : null
        }
        <Modal
          className="popview-modal"