king
2022-08-02 8d66ff34fae5b048a6b7923cc75d34f13a08be9d
src/tabviews/custom/components/card/data-card/index.jsx
@@ -22,7 +22,6 @@
    data: PropTypes.array,           // 统一查询数据
    config: PropTypes.object,        // 组件配置信息
    mainSearch: PropTypes.any,       // 外层搜索条件
    menuType: PropTypes.any,         // 菜单类型
  }
  state = {
@@ -258,13 +257,9 @@
    if (config.uuid !== menuId) return
    if (supComs) {
      btn.syncComponentId && MKEmitter.emit('reloadData', btn.syncComponentId)
      if (position === 'mainline' || position === 'popclose') { // 主表刷新,去除同步刷新组件
        let supNode = supNodes[supNodes.length - 1]
        supComs.forEach((item, i) => {
          if (item === btn.syncComponentId) return
          setTimeout(() => {
            if (supNode && supNode.key === item) {
              MKEmitter.emit('reloadData', item, supNode.value)
@@ -273,7 +268,7 @@
            }
          }, i * 10)
        })
      } else if (!btn.syncComponentId || !supComs.includes(btn.syncComponentId)) {
      } else {
        if (position === 'line') {
          if (lines && lines.length === 1) {
            this.loadLinedata(lines[0].$$uuid)
@@ -293,30 +288,22 @@
    } else {
      let supModule = config.setting.supModule
      btn.syncComponentId && MKEmitter.emit('reloadData', btn.syncComponentId)
      if (!btn.syncComponentId || btn.syncComponentId !== supModule) {
        if (position === 'line') {
          if (lines && lines.length === 1) {
            this.loadLinedata(lines[0].$$uuid)
          } else {
            this.loadData(id)
          }
        } else if (position === 'mainline' || position === 'popclose') { // 刷新源组件时,附带刷新上级行与当前组件
          if (supModule && BID) {
            MKEmitter.emit('reloadData', supModule, BID)
          } else {
            this.loadData(id)
          }
        } else if (!btn || btn.resetPageIndex !== 'false') {
          this.setState({
            pageIndex: 1
          }, () => {
            this.loadData(id)
          })
      if (position === 'line') {
        if (lines && lines.length === 1) {
          this.loadLinedata(lines[0].$$uuid)
        } else {
          this.loadData(id)
        }
      } else if ((position === 'mainline' || position === 'popclose') && supModule && BID) { // 刷新源组件时,附带刷新上级行与当前组件
        MKEmitter.emit('reloadData', supModule, BID)
      } else if (!btn || btn.resetPageIndex !== 'false') {
        this.setState({
          pageIndex: 1
        }, () => {
          this.loadData(id)
        })
      } else {
        this.loadData(id)
      }
    }
@@ -328,7 +315,15 @@
  checkTopLine = (id) => {
    const { config, data } = this.state
    if (!data || data.length === 0 || data[0].$disabled) {
    let index = 0
    if (id && data) {
      index = data.findIndex(item => item.$$uuid === id)
      if (index === -1) {
        index = 0
      }
    }
    if (!data || data.length === 0 || data[index].$disabled) {
      this.setState({
        activeKey: '',
        selectKeys: [],
@@ -340,14 +335,6 @@
        MKEmitter.emit('syncBalconyData', config.uuid, [], false)
      }
      return
    }
    let index = 0
    if (id) {
      index = data.findIndex(item => item.$$uuid === id)
      if (index === -1) {
        index = 0
      }
    }
    this.setState({
@@ -465,7 +452,7 @@
  }
  async loadData (id) {
    const { mainSearch, menuType } = this.props
    const { mainSearch } = this.props
    const { config, arr_field, pageIndex, search, BID, BData, selected } = this.state
    if (config.setting.supModule && !BID && config.wrap.supKey !== 'false') { // BID 不存在时,不做查询
@@ -515,7 +502,7 @@
    })
    let _orderBy = config.setting.order || ''
    let param = UtilsDM.getQueryDataParams(config.setting, arr_field, searches, _orderBy, pageIndex, config.setting.pageSize, BID, menuType)
    let param = UtilsDM.getQueryDataParams(config.setting, arr_field, searches, _orderBy, pageIndex, config.setting.pageSize, BID)
    let result = await Api.genericInterface(param)
    if (result.status) {
@@ -576,7 +563,7 @@
   * @description 获取单行数据
   */ 
  async loadLinedata (id) {
    const { mainSearch, menuType } = this.props
    const { mainSearch } = this.props
    const { config, arr_field, pageIndex, search, BID, BData } = this.state
    let searches = fromJS(search).toJS()
@@ -594,7 +581,7 @@
    })
    let _orderBy = config.setting.order || ''
    let param = UtilsDM.getQueryDataParams(config.setting, arr_field, searches, _orderBy, pageIndex, config.setting.pageSize, BID, menuType, id)
    let param = UtilsDM.getQueryDataParams(config.setting, arr_field, searches, _orderBy, pageIndex, config.setting.pageSize, BID, id)
    let result = await Api.genericInterface(param)
    if (result.status) {
@@ -751,7 +738,7 @@
            <Spin />
          </div> : null
        }
        <NormalHeader config={config} BID={BID} menuType={this.props.menuType} refresh={this.refreshSearch} />
        <NormalHeader config={config} BID={BID} refresh={this.refreshSearch} />
        {config.action && config.action.length > 0 ?
          <MainAction
            BID={BID}