ttk-app-core
Version:
enterprise develop framework
103 lines (95 loc) • 3.65 kB
JavaScript
import React from 'react'
function initColumn(influenceLabel,columns, ...params) {
let resColumn = []
const colSapnArray = ['influenceFactor', 'subject', 'handle']
// 先插入一级节点
columns.forEach(item => {
if (!item.fieldParentName) {
let data
if (item.fieldName =='influence') {
data = {
'title': item.fieldTitle,
'name': item.fieldName,
'dataIndex': item.fieldName,
'key': item.fieldName,
'render': params[0],
'width': '330px'
}
}else if (item.fieldName =='subject') {
data = {
'title': item.fieldTitle,
'name': item.fieldName,
'dataIndex': item.fieldName,
'key': item.fieldName,
'render': params[1],
'width': '420px'
}
}else {
data = {
'title': item.fieldTitle,
'name': item.fieldName,
'dataIndex': item.fieldName,
'key': item.fieldName,
'render': params[2],
'width': '150px'
}
}
resColumn.push(data)
}
})
let childData = [], data
columns.forEach(x => {
if (x.fieldParentName && x.fieldParentName === resColumn[0].name) {
data = {
'title': x.fieldTitle,
'name': x.fieldName,
'dataIndex': x.fieldName,
'className':'amountColumnStyle',
'key': x.fieldName,
'render': params[0]
}
childData.push(data)
}
})
if(childData.length == 0 && influenceLabel){
let label = influenceLabel.toJS()
label.map(item => {
data = {
'title': item.name,
'name': item.name,
'dataIndex': item.name,
'className':'amountColumnStyle',
'key': item.name,
'render': params[0]
}
childData.push(data)
})
}
if (childData && childData.length > 0)
resColumn[0].children = childData
return resColumn
}
export default function renderColumns( influenceLabel,tableList, ...params) {
const columns = [
{ fieldName: 'influence', fieldTitle: '影响因素', fieldParentName: null },
{ fieldName: 'subject', fieldTitle: '对应科目', fieldParentName: null },
{ fieldName: 'handle', fieldTitle: '操作', fieldParentName: null },
// { fieldName: 'influence0', fieldTitle: '资产属性', fieldParentName: 'influence' },
// { fieldName: 'influence1', fieldTitle: '资产分类', fieldParentName: 'influence' },
]
let influenceList
if(tableList) {
tableList = tableList.size||tableList.size==0 ? tableList.toJS() : tableList
if(tableList && tableList.length!=0) {
influenceList = tableList[0].influenceList
influenceList.map((item, index)=> {
columns.push({
fieldName: 'influence'+index,
fieldTitle: influenceList[index].influence,
fieldParentName: 'influence'
})
})
}
return initColumn(influenceLabel,columns, ...params)
}
}