king
2024-05-16 b69b5f6329ca5f87932436b7a6c1ddfc3377e10f
src/tabviews/custom/components/share/normalTable/index.jsx
@@ -34,21 +34,11 @@
      __param.$searchkey = item.field.toLowerCase()
      __param.$searchval = record[item.field] || ''
    }
    if (item.linkThdMenu.urlFields) {
      let lower = {}
      Object.keys(record).forEach(key => {
        lower[key.toLowerCase()] = record[key]
      })
      item.linkThdMenu.urlFields.split(',').forEach(field => {
        __param[field] = lower[field.toLowerCase()] || ''
      })
    } else if (item.linkfields && item.linkfields.length > 0) {
      item.linkfields.forEach(field => {
        __param[field] = record[field] || ''
      })
    }
    Object.keys(record).forEach(key => {
      if (/^\$/.test(key)) return
      __param[key] = record[key]
    })
    let tabmenu = item.linkThdMenu
@@ -58,20 +48,18 @@
  } else if (item.linkurl) {
    let src = item.linkurl
    let con = '?'
    if (/@/.test(src)) {
      src = src.replace(/@id@/ig, record.$$uuid)
      src = src.replace(/@appkey@/ig, window.GLOB.appkey)
      src = src.replace(/@userid@/ig, sessionStorage.getItem('UserID'))
      src = src.replace(/@LoginUID@/ig, sessionStorage.getItem('LoginUID'))
    if (/\?/ig.test(src)) {
      con = '&'
    }
    if (item.linkfields && item.linkfields.length > 0) {
      item.linkfields.forEach(field => {
        if (field.toLowerCase() === 'id') return
        con += `${field}=${record[field] || ''}&`
      Object.keys(record).forEach(key => {
        if (/^\$/.test(key)) return
        let reg = new RegExp('@' + key + '@', 'ig')
        src = src.replace(reg, record[key])
      })
    }
    src = src + `${con}id=${record.$$uuid}&appkey=${window.GLOB.appkey}&userid=${sessionStorage.getItem('UserID')}&LoginUID=${sessionStorage.getItem('LoginUID') || ''}`
    window.open(src)
  }
@@ -256,6 +244,7 @@
        }
  
        if (col.format === 'thdSeparator') {
          content = content + ''
          content = content.replace(/\d{1,3}(?=(\d{3})+(\.\d*)?$)/g, '$&,')
        }
  
@@ -383,6 +372,17 @@
        } else {
          _href += '?' + _param
        }
      } else if (/@/.test(_href)) {
        _href = _href.replace(/@id@/ig, record.$$uuid || '')
        _href = _href.replace(/@appkey@/ig, window.GLOB.appkey)
        _href = _href.replace(/@userid@/ig, sessionStorage.getItem('UserID'))
        _href = _href.replace(/@LoginUID@/ig, sessionStorage.getItem('LoginUID'))
        Object.keys(record).forEach(key => {
          if (/^\$/.test(key)) return
          let reg = new RegExp('@' + key + '@', 'ig')
          _href = _href.replace(reg, record[key])
        })
      }
      if (col.blur) {
@@ -506,7 +506,8 @@
    chgSelectData: PropTypes.func,   // 数据切换
    autoMatic: PropTypes.any,
    allSearch: PropTypes.any,
    colsCtrls: PropTypes.any
    colsCtrls: PropTypes.any,
    parCtrl: PropTypes.any
  }
  state = {
@@ -555,10 +556,7 @@
            if (item.rowspan === 'true') {
              rowspans.push(item.field)
            }
            if (item.type === 'index') {
              item.field = '$Index'
              item.type = 'text'
            } else if (_format && !Math.floor(Math.random() * radio)) {
            if (_format && !Math.floor(Math.random() * radio)) {
              item.blur = true
            }
  
@@ -654,7 +652,7 @@
  }
  UNSAFE_componentWillReceiveProps(nextProps) {
    const { allSearch } = this.props
    const { allSearch, parCtrl } = this.props
    const { allColumns } = this.state
    if (allSearch && !is(fromJS(allSearch), fromJS(nextProps.allSearch))) {
@@ -663,6 +661,36 @@
        columns: this.getCurColumns(allColumns, nextProps.allSearch)
      }, () => {
        this.setState({reseting: false})
      })
    } else if (parCtrl && !is(fromJS(this.props.columns), fromJS(nextProps.columns))) {
      let getColumns = (cols) => {
        return cols.map(item => {
          let cell = null
          if (item.type === 'colspan') {
            cell = { title: item.label, align: item.Align }
            cell.children = getColumns(item.subcols)
          } else {
            cell = {
              align: item.Align,
              dataIndex: item.uuid,
              title: item.label,
              sorter: (item.field || item.sortField) && item.IsSort === 'true',
              width: item.Width || 120,
              onCell: record => ({
                record,
                col: item,
                config: item.type === 'custom' ? {setting: this.props.setting, columns: this.props.fields} : null,
              })
            }
          }
          return cell
        })
      }
      this.setState({
        columns: getColumns(nextProps.columns)
      })
    }
  }
@@ -1084,7 +1112,7 @@
    if (!setting.doubleClick) return
    if (record.$disabled) return
    MKEmitter.emit('triggerBtnId', setting.doubleClick, [record], 'linkbtn')
    MKEmitter.emit('triggerBtnId', setting.doubleClick, [record], 'linkbtn', (record.$$uuid || '') + (record.$Index || ''))
  }
  render() {