king
2021-11-18 c98e45bfac25e9110ad0383faac54a54d98ea9d5
src/tabviews/scriptmanage/index.jsx
@@ -12,11 +12,12 @@
import { scriptMainTable, buttonConfig } from './config'
import MKEmitter from '@/utils/events.js'
import asyncComponent from '@/utils/asyncComponent'
import asyncSpinComponent from '@/utils/asyncSpinComponent'
import TopSearch from './topSearch'
import MainAction from './actionList'
import './index.scss'
const MainSearch = asyncComponent(() => import('@/tabviews/zshare/topSearch'))
const MainTable = asyncSpinComponent(() => import('@/tabviews/zshare/normalTable'))
class ScriptTable extends Component {
@@ -85,8 +86,10 @@
            subcols.push(colMap.get(sub))
          }
        })
        _col.subcols = subcols
        _columns.push(_col)
        if (subcols.length > 0) {
          _col.subcols = subcols
          _columns.push(_col)
        }
      } else {
        _columns.push(col)
      }
@@ -117,6 +120,7 @@
   * @description 主表数据加载
   */ 
  async loadmaindata () {
    const { setting } = this.state
    let param = this.getDefaultParam()
    this.setState({
@@ -131,8 +135,8 @@
    if (result.status) {
      this.setState({
        data: result.data.map((item, index) => {
          item.LongParam = Utils.UnformatOptions(item.LongParam)
          item.key = index
          item.$$uuid = item[setting.primaryKey] || ''
          return item
        }),
        total: result.total,
@@ -192,7 +196,7 @@
   * 含有初始不加载的页面,修改设置
   */
  refreshbysearch = (searches) => {
    MKEmitter.emit('resetTable', this.props.MenuID + 'mainTable') // 列表重置
    MKEmitter.emit('resetTable', this.props.MenuID) // 列表重置
    this.setState({
      loading: true,
      pageIndex: 1,
@@ -230,7 +234,7 @@
   * @description 表格刷新
   */
  reloadtable = () => {
    MKEmitter.emit('resetTable', this.props.MenuID + 'mainTable') // 列表重置
    MKEmitter.emit('resetTable', this.props.MenuID) // 列表重置
    this.setState({
      loading: true,
      pageIndex: 1,
@@ -252,21 +256,6 @@
  }
  /**
   * @description 按钮操作完成后(成功或失败),页面刷新,重置页码及选择项
   */
  refreshbyaction = (btn, type) => {
    if (btn.execSuccess === 'grid' && type === 'success') {
      this.reloadtable()
    } else if (btn.execError === 'grid' && type === 'error') {
      this.reloadtable()
    } else if (btn.execSuccess === 'view' && type === 'success') {
      this.reloadview()
    } else if (btn.execError === 'view' && type === 'error') {
      this.reloadview()
    }
  }
  /**
   * @description 表格选择项切换
   */
  changeSelectedData = (selectedData) => {
@@ -283,9 +272,21 @@
    })
  }
  reloadMenuView = (menuId) => {
    const { MenuID } = this.props
    if (MenuID !== menuId) return
    this.reloadview()
  }
  UNSAFE_componentWillMount () {
    // 组件加载时,获取菜单数据
    this.loadconfig()
  }
  componentDidMount () {
    MKEmitter.addListener('reloadMenuView', this.reloadMenuView)
  }
  shouldComponentUpdate (nextProps, nextState) {
@@ -299,18 +300,15 @@
    this.setState = () => {
      return
    }
    MKEmitter.removeListener('reloadMenuView', this.reloadMenuView)
  }
  render() {
    const { dict, searchlist, setting, actions, columns, pickup, selectedData } = this.state
    const { searchlist, setting, actions, columns, pickup, selectedData } = this.state
    return (
      <div className="script-manage-table" id={this.state.ContainerId}>
        <TopSearch
          dict={dict}
          searchlist={searchlist}
          refreshdata={this.refreshbysearch}
        />
        <MainSearch searchlist={searchlist} menuType="HS" refreshdata={this.refreshbysearch}/>
        <MainAction
          BID=""
          type="main"
@@ -320,7 +318,7 @@
          MenuID={this.props.MenuID}
          selectedData={selectedData}
          ContainerId={this.state.ContainerId}
          refreshdata={this.refreshbyaction}
          refreshdata={this.reloadtable}
        />
        <div className="main-table-box">
          {this.state.data && this.state.data.length > 0 ?
@@ -329,7 +327,7 @@
            </div> : null
          }
          <MainTable
            tableId="mainTable"
            tableId={this.props.MenuID}
            pickup={pickup}
            setting={setting}
            columns={columns}
@@ -340,7 +338,6 @@
            loading={this.state.loading}
            refreshdata={this.refreshbytable}
            buttonTrigger={() => {}}
            handleTableId={() => {}}
            chgSelectData={this.changeSelectedData}
          />
        </div>