@ -31,9 +31,20 @@ export default class DeviationTaskTable extends React.Component<IComponentProps,
< / thead >
)
}
public converToShortFIO = ( fio : string ) = > {
let result = '' ;
const splitedFIO = fio . split ( ' ' ) ;
if ( splitedFIO . length < 3 ) {
result = ` ${ splitedFIO [ 0 ] } ${ splitedFIO [ 1 ] [ 0 ] . toUpperCase ( ) } . `
} else {
result = ` ${ splitedFIO [ 0 ] } ${ splitedFIO [ 1 ] [ 0 ] . toUpperCase ( ) } . ${ splitedFIO [ 2 ] [ 0 ] . toUpperCase ( ) } . `
}
return result ;
}
private _renderBodyTable ( structureData :any ) : JSX . Element {
var structureTable = [ ] //В этом массив пушиться вся структура таблицы (tr td)
// Прохожусь по всему приходящему массиву. Через функции _cell() и _customCell пушу ячеейки в structureTable. Так же в этой фунции определяться rowSpan и сокращаеться value до ФИО
@ -54,20 +65,11 @@ export default class DeviationTaskTable extends React.Component<IComponentProps,
if ( structureData . Departments [ i ] . Managers ) {
for ( let index = 0 ; index < structureData . Departments [ i ] . Managers . length ; index ++ ) {
let menagers = structureData . Departments [ i ] . Managers [ index ] . Name ;
let manager = structureData . Departments [ i ] . Managers [ index ] . Name ;
if ( menagers ) {
if ( manager ) {
//Сокращаю Имена и Отчества Пример Масловский Артем Андреевич Масловский А.А.
let ManagersName = structureData . Departments [ i ] . Managers [ index ] . Name . split ( ' ' ) ;
let name = ManagersName [ 1 ] . split ( '' ) [ 0 ] + '.' ;
let surname = ManagersName [ 0 ] ;
if ( ManagersName [ 2 ] ) {
let patronymic = ManagersName [ 1 ] . split ( '' ) [ 0 ] + '.' ;
ManagersName = surname + ' ' + name + ' ' + patronymic ;
} else {
ManagersName = surname + ' ' + name ;
}
const ManagersName = this . converToShortFIO ( manager ) ;
let maxLength = 0 ;
@ -87,26 +89,16 @@ export default class DeviationTaskTable extends React.Component<IComponentProps,
if ( structureData . Departments [ i ] . Managers [ index ] . Members . length ) {
for ( let counter = 0 ; counter < structureData . Departments [ i ] . Managers [ index ] . Members . length ; counter ++ ) {
let M embersName = structureData . Departments [ i ] . Managers [ index ] . Members [ counter ] . Name
if ( M embersName) {
let m embersName = structureData . Departments [ i ] . Managers [ index ] . Members [ counter ] . Name
if ( m embersName) {
//Сокращаю Имена и Отчества Пример Масловский Артем Андреевич Масловский А.А.
MembersName = MembersName . split ( ' ' ) ;
let name = MembersName [ 1 ] . split ( '' ) [ 0 ] + '.' ;
let surname = MembersName [ 0 ] ;
if ( MembersName [ 2 ] ) {
MembersName [ 2 ] . split ( '' ) [ 0 ] ;
let patronymic = MembersName [ 2 ] . split ( '' ) [ 0 ] + '.' ;
MembersName = surname + ' ' + name + ' ' + patronymic ;
} else {
MembersName = surname + ' ' + name
}
membersName = this . converToShortFIO ( membersName ) ;
}
let isCrit = structureData . Departments [ i ] . Managers [ index ] . Members [ counter ] . Crit
structureTable . push (
this . _customCell ( M embersName , structureData . Departments [ i ] . Managers [ index ] . Members [ counter ] . TaskCount , isCrit )
this . _customCell ( membersName , structureData . Departments [ i ] . Managers [ index ] . Members [ counter ] . TaskCount , isCrit )
)
}
}
@ -115,6 +107,7 @@ export default class DeviationTaskTable extends React.Component<IComponentProps,
}
}
}
return (
< tbody className = { styles . commonTbody } >