From b8e1395f02c929eaa96b949cf6027ee2a43856a6 Mon Sep 17 00:00:00 2001 From: king <18310653075@163.com> Date: 星期二, 06 九月 2022 19:03:37 +0800 Subject: [PATCH] 2022-09-06 --- src/tabviews/zshare/actionList/exceloutbutton/index.jsx | 75 ++++++++++++++++++++++++------------- 1 files changed, 48 insertions(+), 27 deletions(-) diff --git a/src/tabviews/zshare/actionList/exceloutbutton/index.jsx b/src/tabviews/zshare/actionList/exceloutbutton/index.jsx index c2f7668..ed16f15 100644 --- a/src/tabviews/zshare/actionList/exceloutbutton/index.jsx +++ b/src/tabviews/zshare/actionList/exceloutbutton/index.jsx @@ -61,7 +61,6 @@ componentDidMount () { MKEmitter.addListener('triggerBtnId', this.actionTrigger) - MKEmitter.addListener('returnModuleParam', this.triggerExcelout) } UNSAFE_componentWillReceiveProps (nextProps) { @@ -92,7 +91,6 @@ return } MKEmitter.removeListener('triggerBtnId', this.actionTrigger) - MKEmitter.removeListener('returnModuleParam', this.triggerExcelout) } /** @@ -148,7 +146,7 @@ return } - MKEmitter.emit('queryModuleParam', btn.$menuId, btn.uuid) + MKEmitter.emit('queryModuleParam', btn.$menuId, this.triggerExcelout) if (window.GLOB.systemType === 'production') { MKEmitter.emit('queryTrigger', {menuId: btn.uuid, name: '瀵煎嚭Excel'}) } @@ -157,10 +155,8 @@ /** * @description Excel 瀵煎嚭 */ - triggerExcelout = (menuId, btnId, viewParam) => { + triggerExcelout = (viewParam) => { const { btn } = this.props - - if (btn.$menuId !== menuId || btn.uuid !== btnId || !viewParam) return let name = `${viewParam.menuName}${moment().format('YYYYMMDDHHmmss')}.xlsx` let pageSize = 1000 @@ -246,6 +242,8 @@ if (window.GLOB.mkHS) { if (btn.sysInterface === 'true' && options.cloudServiceApi) { param.rduri = options.cloudServiceApi + param.userid = sessionStorage.getItem('CloudUserID') || '' + param.LoginUID = sessionStorage.getItem('CloudLoginUID') || '' } else if (btn.sysInterface !== 'true') { if (window.GLOB.systemType === 'production' && btn.proInterface) { param.rduri = btn.proInterface @@ -292,6 +290,8 @@ if (window.GLOB.mkHS) { if (btn.sysInterface === 'true' && options.cloudServiceApi) { res.rduri = options.cloudServiceApi + res.userid = sessionStorage.getItem('CloudUserID') || '' + res.LoginUID = sessionStorage.getItem('CloudLoginUID') || '' } else if (btn.sysInterface !== 'true') { if (window.GLOB.systemType === 'production' && btn.proInterface) { res.rduri = btn.proInterface @@ -361,6 +361,8 @@ if (window.GLOB.mkHS) { if (btn.sysInterface === 'true' && options.cloudServiceApi) { res.rduri = options.cloudServiceApi + res.userid = sessionStorage.getItem('CloudUserID') || '' + res.LoginUID = sessionStorage.getItem('CloudLoginUID') || '' } else if (btn.sysInterface !== 'true') { if (window.GLOB.systemType === 'production' && btn.proInterface) { res.rduri = btn.proInterface @@ -433,6 +435,8 @@ if (window.GLOB.mkHS) { if (btn.sysInterface === 'true' && options.cloudServiceApi) { param.rduri = options.cloudServiceApi + param.userid = sessionStorage.getItem('CloudUserID') || '' + param.LoginUID = sessionStorage.getItem('CloudLoginUID') || '' } else if (btn.sysInterface !== 'true') { if (window.GLOB.systemType === 'production' && btn.proInterface) { param.rduri = btn.proInterface @@ -483,11 +487,22 @@ exportExcel = (data) => { const { btn } = this.props - let columns = btn.verify.columns.filter(col => col.output !== 'false') + let imgCol = false + let columns = btn.verify.columns.filter(col => { + if (col.output === 'false') return false + + if (col.type === 'image') { + imgCol = true + } + + if (col.type === 'number' && (col.decimal || col.decimal === 0) ) { + col.round = Math.pow(10, col.decimal) + } + + return col + }) try { - let imgCol = columns.filter(col => col.type === 'image')[0] - if (imgCol) { const column = columns.map(item => { let col = { @@ -511,11 +526,18 @@ item.$Index = index + 1 + '' columns.forEach((col, i) => { - if (item[col.Column] && col.abs === 'true') { - _row[col.Column] = Math.abs(item[col.Column]) - } else { - _row[col.Column] = item[col.Column] + let val = item[col.Column] + if (typeof(val) === 'number') { + if (col.abs === 'true') { + val = Math.abs(val) + } + if (col.round) { + val = Math.round(val * col.round) / col.round + val = val.toFixed(col.decimal) + } } + + _row[col.Column] = val }) table.push(_row) @@ -528,23 +550,14 @@ } else { this.execSuccess({ErrCode: 'S', ErrMesg: '瀵煎嚭鎴愬姛锛�'}) } - } else { let _header = [] let _topRow = {} let colwidth = [] - let abses = [] columns.forEach(col => { - if (_topRow[col.Column]) return - _header.push(col.Column) _topRow[col.Column] = col.Text - - if (col.abs === 'true') { - abses.push(col.Column) - } - colwidth.push({width: col.Width || 20}) }) @@ -557,12 +570,20 @@ item.$Index = index + 1 + '' - _header.forEach(field => { - if (item[field] && abses.includes(field)) { - _row[field] = Math.abs(item[field]) - } else { - _row[field] = item[field] + columns.forEach((col, i) => { + let val = item[col.Column] + + if (typeof(val) === 'number') { + if (col.abs === 'true') { + val = Math.abs(val) + } + if (col.round) { + val = Math.round(val * col.round) / col.round + val = val.toFixed(col.decimal) + } } + + _row[col.Column] = val }) table.push(_row) -- Gitblit v1.8.0