king
2020-03-20 bc4ee6130db80f8f2020bb3bb7248b6e55ae90cc
src/tabviews/subtable/index.jsx
@@ -139,7 +139,7 @@
        })
  
        config.columns = config.columns.filter(col => {
          if (!col.field || !col.blacklist || col.blacklist.length === 0) return true
          if (!col.field || !col.blacklist || col.blacklist.length === 0 || config.setting.primaryKey === col.field) return true
  
          let _black = col.blacklist.filter(v => {
            return this.props.permRoles.indexOf(v) !== -1
@@ -209,6 +209,13 @@
        })
      }
      let valid = true // 搜索条件必填验证
      config.search.forEach(field => {
        if (field.required === 'true' && !field.initval) {
          valid = false
        }
      })
      this.setState({
        loadingview: false,
        config: config,
@@ -222,10 +229,7 @@
      }, () => {
        this.improveSearch()
        if (config.setting.onload !== 'false' && (!Tab.supMenu || BID)) { // 初始化可加载
          this.setState({
            loading: true
          })
        if (config.setting.onload !== 'false' && (!Tab.supMenu || BID) && valid) { // 初始化可加载
          this.loadmaindata()
        }
      })
@@ -335,9 +339,24 @@
   * @description 子表数据加载
   */
  async loadmaindata (bid, type) {
    const { setting } = this.state
    const { setting, search } = this.state
    let param = ''
    let _BID = this.props.BID
    let requireFields = search.filter(item => item.required && !item.value)
    if (requireFields.length > 0) {
      notification.warning({
        top: 92,
        message: this.state.dict['form.required.input'] + requireFields.map(item => item.label).join('、') + ' !',
        duration: 3
      })
      return
    }
    this.setState({
      loading: true
    })
    
    if (type === 'refresh') {
      _BID = bid
@@ -495,7 +514,6 @@
    this.refs.subTable.resetTable()
    this.setState({
      loading: true,
      pageIndex: 1,
      search: searches
    }, () => {
@@ -516,7 +534,6 @@
    }
    this.setState({
      loading: true,
      pageIndex: pagination.current,
      pageSize: pagination.pageSize,
      orderBy: (sorter.field && sorter.order) ? `${sorter.field} ${sorter.order}` : ''
@@ -531,7 +548,6 @@
  reloadtable = () => {
    this.refs.subTable.resetTable()
    this.setState({
      loading: true,
      pageIndex: 1
    }, () => {
      this.loadmaindata()