king
2025-06-15 328be53b4461397cd96da79c7e40c892bdb94e2a
src/tabviews/zshare/actionList/exceloutbutton/index.jsx
@@ -102,14 +102,14 @@
    if (setting.supModule && !BID) {
      notification.warning({
        top: 92,
        message: dict['sup_key_req'] || '需要上级主键值!',
        message: setting.supModTip || dict['sup_key_req'] || '需要上级主键值!',
        duration: 5
      })
    } else {
      MKEmitter.emit('queryModuleParam', btn.$menuId, this.triggerExcelout)
      // if (window.GLOB.systemType === 'production') {
      //   MKEmitter.emit('queryTrigger', {menuId: btn.uuid, name: '导出Excel'})
      // }
      if (window.GLOB.systemType === 'production') {
        MKEmitter.emit('queryTrigger', {menuId: btn.uuid, name: '导出Excel'})
      }
    }
  }
@@ -437,7 +437,7 @@
   * @description Excel 生成
   */
  exportExcel = (data = [], ErrCode, msg, search) => {
    const { btn } = this.props
    const { btn, BID } = this.props
    const { dict } = this.state
    
    let imgCol = false
@@ -521,6 +521,18 @@
        })
        
        return
      }
    }
    let excelName = `${btn.verify.excelName || btn.$menuName || ''}${moment().format('YYYYMMDDHHmmss')}`
    if (btn.verify.excelName && /@.*@/.test(btn.verify.excelName)) {
      excelName = btn.verify.excelName.replace(/@bid@/ig, BID)
      excelName = excelName.replace(/@getdate@/ig, moment().format('YYYYMMDDHHmmss'))
      if (data[0]) {
        Object.keys(data[0]).forEach(key => {
          let reg = new RegExp('@' + key + '@', 'ig')
          excelName = excelName.replace(reg, data[0][key])
        })
      }
    }
    
@@ -608,7 +620,7 @@
          table.push(_row)
        })
        this.table2excel(column, table)
        this.table2excel(column, table, excelName)
        this.execSuccess({ErrCode: ErrCode || 'S', message: msg || dict['exc_success'] || '导出成功!'})
      } else {
@@ -768,7 +780,7 @@
        const wb = XLSX.utils.book_new()
        XLSX.utils.book_append_sheet(wb, ws, btn.verify.sheet || 'Sheet1')
  
        XLSX.writeFile(wb, `${btn.verify.excelName || btn.$menuName || ''}${moment().format('YYYYMMDDHHmmss')}.xlsx`)
        XLSX.writeFile(wb, excelName + '.xlsx')
  
        this.execSuccess({ErrCode: ErrCode || 'S', message: msg || dict['exc_success'] || '导出成功!'})
      }
@@ -778,7 +790,7 @@
    }
  }
  table2excel = (column, data) => {
  table2excel = (column, data, excelName) => {
    let thead = column.reduce((result, item) => {
      return result + `<th>${item.title}</th>`
    }, '')
@@ -812,7 +824,7 @@
    // let url = 'data:application/vnd.ms-excel;base64,' + window.btoa(unescape(encodeURIComponent(html)))
    let link = document.createElement('a')
    link.href = url
    link.download = `${this.props.btn.$menuName || ''}${moment().format('YYYYMMDDHHmmss')}.xls`
    link.download = excelName + '.xls'
    document.body.appendChild(link)
    link.click()
    document.body.removeChild(link)
@@ -882,10 +894,6 @@
        _setting.dataresource = ''
      }
      if (/\s/.test(_setting.dataresource)) {
        _setting.dataresource = '(' + _setting.dataresource + ') tb'
      }
      let _customScript = ''
      let _tailScript = ''
      btn.verify.scripts && btn.verify.scripts.forEach(script => {
@@ -922,7 +930,17 @@
      _setting.tailScript = _tailScript     // 后置自定义脚本
      _setting.laypage = pagination
      _setting.custompage = /@pageSize@|@orderBy@|@mk_total/i.test(_setting.dataresource + _setting.customScript)
      _setting.custompage = false
      if (/order\s+by\s+sort_id\s*$/i.test(_setting.dataresource)) {
        _setting.custompage = true
      } else if (/@pageSize@|@orderBy@|@mk_total/i.test(_setting.dataresource + _setting.customScript)) {
        _setting.custompage = true
      }
      if (/\s/.test(_setting.dataresource)) {
        _setting.dataresource = '(' + _setting.dataresource + ') tb'
      }
      _setting.queryType = btn.verify.queryType
      _setting.$name = btn.logLabel
@@ -990,7 +1008,7 @@
    }
    if (tabId && btn.$MenuID === tabId) { // 刷新当前菜单时,停止其他操作
      MKEmitter.emit('reloadMenuView', tabId)
      MKEmitter.emit('reloadMenuView', tabId, btn.urlPar === 'true')
      return
    }
@@ -1019,7 +1037,7 @@
    }
    if (tabId) {
      MKEmitter.emit('reloadMenuView', tabId)
      MKEmitter.emit('reloadMenuView', tabId, btn.urlPar === 'true')
    }
    
    if (btn.switchTab && btn.switchTab.length > 0) {
@@ -1081,7 +1099,7 @@
        tabId = btn.refreshTab[btn.refreshTab.length - 1]
      }
      if (tabId && btn.$MenuID === tabId) { // 刷新当前菜单时,停止其他操作
        MKEmitter.emit('reloadMenuView', tabId)
        MKEmitter.emit('reloadMenuView', tabId, btn.urlPar === 'true')
        return
      }
@@ -1106,7 +1124,7 @@
      }
      if (tabId) {
        MKEmitter.emit('reloadMenuView', tabId)
        MKEmitter.emit('reloadMenuView', tabId, btn.urlPar === 'true')
      }
    }