king
2021-05-24 f267d04e0561a0a20d1f2a9f558a273558ece90d
src/tabviews/custom/components/table/normal-table/index.jsx
@@ -73,6 +73,7 @@
        item.key = index
        item.$$uuid = item[_config.setting.primaryKey] || ''
        item.$$BID = BID || ''
        item.$Index = index + 1
        return item
      })
    }
@@ -132,7 +133,6 @@
  async loadmaindata (reset, repage) {
    const { mainSearch } = this.props
    const { setting, config, arr_field, search, orderBy, BID, pageIndex, pageSize } = this.state
    let requireFields = search.filter(item => item.required && (!item.value || item.value.length === 0))
    if (setting.supModule && !BID) { // BID 不存在时,不做查询
      this.setState({
@@ -144,17 +144,6 @@
      reset && MKEmitter.emit('resetTable', config.uuid, repage) // 列表重置
      return
    }
    if (requireFields.length > 0) {
      let labels = requireFields.map(item => item.label)
      labels = Array.from(new Set(labels))
      notification.warning({
        top: 92,
        message: this.state.dict['form.required.input'] + labels.join('、') + ' !',
        duration: 3
      })
      return
    }
    let searches = fromJS(search).toJS()
    if (mainSearch && mainSearch.length > 0) { // 主表搜索条件
@@ -164,6 +153,14 @@
          searches.push(item)
        }
      })
    }
    let requireFields = searches.filter(item => item.required && (!item.value || item.value.length === 0))
    if (requireFields.length > 0) {
      this.setState({
        loading: false
      })
      return
    }
    this.setState({
@@ -182,11 +179,17 @@
      MKEmitter.emit('resetSelectLine', config.uuid, '', '') // 广播数据切换
      reset && MKEmitter.emit('resetTable', config.uuid, repage) // 列表重置
      let start = 1
      if (setting.laypage) {
        start = pageSize * (pageIndex - 1) + 1
      }
      this.setState({
        data: result.data.map((item, index) => {
          item.key = index
          item.$$uuid = item[setting.primaryKey] || ''
          item.$$BID = BID || ''
          item.$Index = start + index
          return item
        }),
        selectedData: [],
@@ -245,6 +248,7 @@
          data = data.map(item => {
            if (item.$$uuid === _data.$$uuid) {
              _data.key = item.key
              _data.$Index = item.$Index
              return _data
            } else {
              return item
@@ -294,11 +298,6 @@
    if (config.statFields.length === 0 || setting.interType !== 'system' || !setting.dataresource) return
    let requireFields = search.filter(item => item.required && (!item.value || item.value.length === 0))
    if (requireFields.length > 0) {
      return
    }
    let searches = fromJS(search).toJS()
    if (mainSearch && mainSearch.length > 0) { // 主表搜索条件
      let keys = searches.map(item => item.key.toLowerCase())
@@ -307,6 +306,10 @@
          searches.push(item)
        }
      })
    }
    let requireFields = searches.filter(item => item.required && (!item.value || item.value.length === 0))
    if (requireFields.length > 0) {
      return
    }
    let _orderBy = orderBy || setting.order
@@ -507,13 +510,14 @@
        item.key = index
        item.$$uuid = item[config.setting.primaryKey] || ''
        item.$$BID = BID || ''
        item.$Index = index + 1
        return item
      })
      this.setState({sync: false, data: _data})
    } else if (nextProps.mainSearch && !is(fromJS(this.props.mainSearch), fromJS(nextProps.mainSearch))) {
      if (config.setting.syncRefresh === 'true') {
        this.setState({}, () => {
        this.setState({pageIndex: 1}, () => {
          this.reloadtable()
        })
      }
@@ -551,7 +555,7 @@
      <div className="custom-normal-table" style={config.style}>
        <NormalHeader config={config}/>
        {searchlist && searchlist.length ?
          <MainSearch BID={BID} searchlist={searchlist} menuType={this.props.menuType} refreshdata={this.refreshbysearch}/> : null
          <MainSearch BID={BID} setting={config.wrap} searchlist={searchlist} menuType={this.props.menuType} refreshdata={this.refreshbysearch}/> : null
        }
        <MainAction
          BID={BID}