king
2023-07-28 6b202fcb9446a289d64dd1a36e881b688c9bb72b
src/tabviews/custom/components/table/base-table/index.jsx
@@ -179,8 +179,7 @@
        start = pageSize * (pageIndex - 1) + 1
      }
      this.setState({
        data: result.data.map((item, index) => {
      let data = result.data.map((item, index) => {
          item.key = index
          item.$$uuid = item[setting.primaryKey] || ''
          item.$$key = '' + item.key + item.$$uuid
@@ -202,9 +201,17 @@
          }
          
          return item
        }),
      })
      let total = result.total || 0
      if (config.setting.custompage && data.length) {
        total = data[data.length - 1].mk_total || 0
      }
      this.setState({
        data: data,
        selectedData: [],
        total: result.total,
        total: total,
        loading: false
      })
@@ -281,6 +288,7 @@
    if (result.status) {
      let data = fromJS(this.state.data).toJS()
      let selectedData = fromJS(this.state.selectedData).toJS()
      if (result.data && result.data[0]) {
        let _data = result.data[0] || {}
        _data.$$uuid = _data[setting.primaryKey] || ''
@@ -295,7 +303,6 @@
          })
        }
        try {
          data = data.map(item => {
            if (item.$$uuid === _data.$$uuid) {
              _data.key = item.key
@@ -306,16 +313,22 @@
              return item
            }
          })
        if (!_data.$Index) {
          this.setState({
            loading: false
          })
          return
        }
          selectedData = selectedData.map(item => {
            if (_data.$$uuid === item.$$uuid) {
              return _data
            }
            return item
          })
        } catch (e) {
          console.warn('数据查询错误')
        }
        if (selectedData.length && _data.$$uuid === selectedData[selectedData.length - 1].$$uuid) {
        MKEmitter.emit('resetSelectLine', config.uuid, _data.$$uuid || '', _data)
      }
@@ -325,6 +338,33 @@
        loading: false
      })
    } else {
        let index = data.findIndex(item => item.$$uuid === id)
        if (index === -1) {
          this.setState({
            loading: false
          })
          return
        }
        data = data.filter(item => item.$$uuid !== id)
        data = data.map((item, i) => {
          item.key = i
          item.$$key = '' + item.key + item.$$uuid
          return item
        })
        this.setState({
          data: data,
          loading: false
        })
        setTimeout(() => {
          MKEmitter.emit('resetTable', config.uuid, 'delete', index)
        }, 20)
      }
    } else {
      this.setState({
        loading: false
      })