UNPKG

ttk-app-core

Version:
59 lines (55 loc) 2.03 kB
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 }