king
2025-05-13 1a176e4bdba485301385caac1a29102e598d25cc
src/tabviews/custom/components/card/double-data-card/index.jsx
@@ -116,6 +116,12 @@
    })
    _config.subcards = null
    if (!_config.wrap.cardType) {
      _config.wrap.selStyle = 'none'
      _config.wrap.selected = 'false'
      _config.wrap.pickup = 'false'
    }
    
    let selected = 'false'
    if (_config.wrap.selected === 'always' || _config.wrap.selected === 'init' || _config.wrap.selected === 'sign') {
@@ -124,26 +130,29 @@
      _config.wrap.selected = 'false'
    }
    _config.wrap.selStyle = _config.wrap.selStyle || 'active'
    _config.wrap.selStyle = _config.wrap.selStyle || 'check'
    _config.wrap.pagestyle = _config.wrap.pagestyle || 'page'
    _config.wrap.wrapClass =  `${_config.wrap.selStyle} ${_config.wrap.cardType || ''}`
    _config.wrap.wrapClass =  `${_config.wrap.selStyle} ${_config.wrap.cardType || ''} ${config.wrap.empSign === 'hidden' ? 'mk-empty-hide' : ''}`
    if (_config.wrap.zHeight || _config.wrap.minWidth) {
      _config.wrap.zoomStyle = {
        maxHeight: 'none',
        '--mk-data-zoom-width': _config.wrap.minWidth ? _config.wrap.minWidth + 'px' : '100%'
      }
      if (_config.wrap.zHeight) {
        if (_config.wrap.zHeight <= 100) {
          if (_config.wrap.zHeight < 0) {
            _config.wrap.zHeight = `calc(100vh - ${-_config.wrap.zHeight}px)`
            _config.wrap.zoomStyle.maxHeight = `calc(100vh - ${-_config.wrap.zHeight}px)`
            _config.wrap.zoomStyle.minHeight = '100px'
          } else {
            _config.wrap.zHeight = _config.wrap.zHeight + 'vh'
            _config.wrap.zoomStyle.maxHeight = _config.wrap.zHeight + 'vh'
          }
        } else {
          _config.wrap.zoomStyle.maxHeight = _config.wrap.zHeight + 'px'
        }
        _config.wrap.wrapClass += ' fix-height'
      }
      _config.wrap.minWidth = _config.wrap.minWidth ? _config.wrap.minWidth + 'px' : '100%'
      _config.wrap.zoomStyle = {
        maxHeight: _config.wrap.zHeight || 'none',
        '--mk-data-zoom-width': _config.wrap.minWidth
      }
    } else {
      _config.wrap.zoomStyle = null
@@ -175,8 +184,10 @@
      })
    }
    _config.setting.sub_field = subconfig.columns.map(col => col.field).join(',')
    _config.setting.all_field = _config.setting.arr_field + ',' + _config.setting.sub_field
    if (_config.setting.subdata !== 'sub_data_string') {
      _config.setting.sub_field = subconfig.columns.map(col => col.field).join(',')
      _config.setting.all_field = _config.setting.arr_field + ',' + _config.setting.sub_field
    }
    let pageOptions = ['10', '25', '50', '100', '500', '1000']
@@ -271,13 +282,18 @@
    if (config.$cache) {
      let getData = (res) => {
        return res.map((item, index) => {
          let _children = item[config.setting.subdata]
          delete item[config.setting.subdata]
          if (config.setting.subdata === 'sub_data_string') {
            _children = this.parseSubData(_children)
          } else if (item.sub_data_string) {
            _children = this.parseSubData(item.sub_data_string)
          }
          let children = []
          if (item[config.setting.subdata]) {
            let _children = item[config.setting.subdata]
            delete item[config.setting.subdata]
          if (_children) {
            _children.forEach((cell, i) => {
              cell.key = i
              cell.$$uuid = cell[config.setting.subKey] || ''
@@ -336,6 +352,21 @@
        this.loadData()
      }, config.setting.delay || 0)
    }
  }
  parseSubData = (data) => {
    try {
      data = JSON.parse(data)
      if (typeof(data) !== 'object') {
        data = []
      } else if (!Array.isArray(data)) {
        data = [data]
      }
    } catch(e) {
      console.warn('Data parsing error.')
      data = []
    }
    return data
  }
  autoExec = (times) => {
@@ -649,12 +680,17 @@
      if (type === 'plus') {
        let _data = (this.state.data || []).concat(result.data || [])
        data = _data.map((item, index) => {
          if (item[config.setting.subdata]) {
            let children = []
            let _children = item[config.setting.subdata]
          let _children = item[config.setting.subdata]
          delete item[config.setting.subdata]
          if (config.setting.subdata === 'sub_data_string') {
            _children = this.parseSubData(_children)
          } else if (item.sub_data_string) {
            _children = this.parseSubData(item.sub_data_string)
          }
            delete item[config.setting.subdata]
          let children = []
          if (_children) {
            _children.forEach((cell, i) => {
              cell.key = i
              cell.$$uuid = cell[config.setting.subKey] || ''
@@ -667,10 +703,9 @@
                children.push(cell)
              }
            })
            item.children = children
          } else if (!item.children) {
            item.children = []
          }
          item.children = children
          item.key = index
          item.$$uuid = item[config.setting.primaryKey] || ''
@@ -688,13 +723,18 @@
        })
      } else {
        data = result.data.map((item, index) => {
          let _children = item[config.setting.subdata]
          delete item[config.setting.subdata]
          if (config.setting.subdata === 'sub_data_string') {
            _children = this.parseSubData(_children)
          } else if (item.sub_data_string) {
            _children = this.parseSubData(item.sub_data_string)
          }
          let children = []
          if (item[config.setting.subdata]) {
            let _children = item[config.setting.subdata]
            delete item[config.setting.subdata]
          if (_children) {
            _children.forEach((cell, i) => {
              cell.key = i
              cell.$$uuid = cell[config.setting.subKey] || ''
@@ -814,13 +854,19 @@
        data = data.map(item => {
          if (item.$$uuid === _data.$$uuid) {
            let _children = _data[config.setting.subdata]
            delete _data[config.setting.subdata]
            if (config.setting.subdata === 'sub_data_string') {
              _children = this.parseSubData(_children)
            } else if (_data.sub_data_string) {
              _children = this.parseSubData(_data.sub_data_string)
            }
            let children = []
            if (_data[config.setting.subdata]) {
              let _children = _data[config.setting.subdata]
              delete _data[config.setting.subdata]
            if (_children) {
              _children.forEach((cell, i) => {
                cell.key = i
                cell.$$uuid = cell[config.setting.subKey] || ''