king
2024-04-02 25bf481493bcf18fca79e4d250f9c91dedf832e5
src/tabviews/custom/components/table/edit-table/index.jsx
@@ -1,7 +1,6 @@
import React, {Component} from 'react'
import PropTypes from 'prop-types'
import { is, fromJS } from 'immutable'
import { notification, Modal } from 'antd'
import Api from '@/api'
import Utils from '@/utils/utils.js'
@@ -111,10 +110,6 @@
          if (item.type === 'index') {
            item.field = '$Index'
            item.type = 'text'
          }
          if (item.marks && item.marks.length === 0) {
            item.marks = ''
          }
          if (item.editable === 'true') {
@@ -275,9 +270,12 @@
      this.setState({
        data: [],
        selectedData: [],
        loading: false,
        total: 0
      })
      reset && MKEmitter.emit('resetTable', config.uuid, 'true') // 列表重置
      this.requestId = ''
      return
    }
@@ -303,8 +301,12 @@
    let _orderBy = orderBy || setting.order
    let param = UtilsDM.getQueryDataParams(setting, searches, _orderBy, pageIndex, pageSize, BID)
    let result = await Api.genericInterface(param)
    this.requestId = config.uuid + new Date().getTime()
    let result = await Api.genericInterface(param, '', '', this.requestId)
    if (result.status) {
      if (result.$requestId && this.requestId !== result.$requestId) return
      reset && MKEmitter.emit('resetTable', config.uuid, repage) // 列表重置
      let start = 1
@@ -352,43 +354,20 @@
      MKEmitter.emit('transferData' + setting.tableId, data)
      if (result.message) {
        if (result.ErrCode === 'Y') {
          Modal.success({
            title: result.message
          })
        } else if (result.ErrCode === 'S') {
          notification.success({
            top: 92,
            message: result.message,
            duration: 2
          })
        }
      }
      UtilsDM.querySuccess(result)
    } else {
      this.setState({
        loading: false
      })
      
      if (!result.message) return
      if (result.ErrCode === 'N') {
        Modal.error({
          title: result.message,
        })
      } else if (result.ErrCode !== '-2') {
        notification.error({
          top: 92,
          message: result.message,
          duration: 10
        })
      }
      UtilsDM.queryFail(result)
    }
  }
  /**
   * @description 获取单行数据
   */ 
  async loadmainLinedata (id) {
  async loadLinedata (id, position) {
    const { setting, config, search, orderBy, BID, pageIndex, pageSize, BData } = this.state
    if (config.forbidLine) {
@@ -416,11 +395,25 @@
    let result = await Api.genericInterface(param)
    if (result.status) {
      if (position === 'line_grid' && (!result.data || !result.data[0])) {
        this.loadmaindata(true, 'false')
        return
      }
      if (!result.data || !result.data[0]) {
        let data = fromJS(this.state.data).toJS()
        let selectedData = fromJS(this.state.selectedData).toJS()
        data = data.filter(item => item.$$uuid !== id)
        selectedData = selectedData.filter(item => item.$$uuid !== id)
        MKEmitter.emit('transferData' + setting.tableId, id, 'delete')
        this.setState({
          data,
          selectedData,
          loading: false
        })
        return
      }
@@ -470,11 +463,8 @@
      this.setState({
        loading: false
      })
      notification.error({
        top: 92,
        message: result.message,
        duration: 10
      })
      UtilsDM.queryFail(result)
    }
  }
@@ -560,7 +550,7 @@
    if (!id) {
      this.reloadtable()
    } else {
      this.loadmainLinedata(id)
      this.loadLinedata(id)
    }
  }
@@ -574,9 +564,11 @@
        BID: id,
        BData: data
      }, () => {
        setTimeout(() => {
          this.loadmaindata(true, 'true')
        }, setting.delay || 0)
        if (!setting.checkBid) {
          setTimeout(() => {
            this.loadmaindata(true, 'true')
          }, setting.delay || 0)
        }
      })
    }
  }
@@ -592,9 +584,9 @@
    if (config.uuid !== menuId) return
    if (position === 'line') {
    if (position === 'line' || position === 'line_grid') {
      if (lines && lines.length === 1) {
        this.loadmainLinedata(lines[0].$$uuid)
        this.loadLinedata(lines[0].$$uuid, position)
      } else {
        this.reloadtable(btn)
      }