ttk-app-core
Version:
enterprise develop framework
59 lines (55 loc) • 2.03 kB
JavaScript
import React from 'react'
/**
*
* @param {报表:资产负债、利润表、现金流量表} rpttype
* @param {会计总则:企业、小企业} industry
*/
export default function renderColumns(headerList,rpttype, industry, renderCellTextBox) {
//1、balanceSheetRpt 资产负债 2、profitStatementRpt 利润表 3、cashflowStatementRpt 现金流量表
const columns = initColumnheader(headerList, rpttype, renderCellTextBox)
return columns
}
/**
* 解析报表列头
* @param {列头集合} colHeaders
* @param {报表类型} rpttype
* @param {cell控件} renderCellTextBox
*/
function initColumnheader(colHeaders, rpttype,renderCellTextBox) {
let headerColumns = []
if (!colHeaders || colHeaders.length < 1) {
return headerColumns
}
colHeaders.forEach(item => {
let data = {
title: item.title,
dataIndex: item.fieldName,
key: item.fieldName,
}
if (item.fieldType == 'str') {
data['render'] = (text, record, index) => <span title={text} className='celltext'>{text}</span>
} else {
data['render'] = (path, v, _rowIndex) => { return renderCellTextBox(item.fieldName, item.title, v, _rowIndex) }
}
if (rpttype == 'balanceSheetRpt') {
if (item.fieldType == 'str') {
data['width'] = '20%'
} else {
data['width'] = '15%'
}
}
if (rpttype == 'profitStatementRpt' || rpttype == 'cashflowStatementRpt') {
let size = colHeaders.length
// if (item.fieldType == 'str') {
// data['width'] = size == 4 ? '25%':'30%'
// } else {
// data['width'] = size == 4 ? '25%' : '35%'
// }
}
//过滤掉行次列
if (item.title != '行次' && item.title != '序号') {
headerColumns.push(data)
}
})
return headerColumns
}