Диплом: Автоматизация учета рабочего времени сотрудников компании ООО "ВЕЛЕС"

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам
);
});
return rows;
};
104
return (
className="mt-4 typology-versions-table ml-2 mr-2"
columns={T asks.TypologyVersionListTableConfig}
data={tasks || []}
customRowsRender={ customRowsRender}
/>
)
}
getTasks = (isToday: boolean) => {
const {tasks} = this.props;
const todayDay = moment().day()
return filter(tasks, (task: ITask) => {
const taskDay = moment(task.time, DATE_FORMAT).day();
return (isToday ? taskDay === todayDay : taskDay !== todayDay)
})
}
getCompletedTasksCount = () => {
const {tasks} = this.props;
return !!tasks ? tasks.length - filter(tasks, (task: ITask) =>
task.checked).length : 0
}
105
render () {
const {isExpert, tasks} = this.props;
return (
<div className="tasks">
<div className="header col-xs-12 white pl-0">
<FormGroup label={'Bcero задач: ${!!tasks ? tasks.length : 0}'}
className="col-xs-12 text-left text-2"/>
<FormGroup label={'Сегодня задач: ${!!tasks ?
this.getTasks(true).length : 0}'} className="col-xs-6 text-left text-2"/>
<FormGroup label={'Осталось завершить:
${this.getCompletedTasksCount()}'} className="col-xs-6 text-left text-2"/>
<LayoutHeader label={isExpert ? 'Сегодня' : 'Ваши задачи за
сегодня'} size={2}/>
{this.getTasksListComponent()}
<LayoutHeader label={isExpert ? 'Ранее' : 'Выполненные ранее
задачи'} className="text-left text-2 mt-3"/>
{this.getTasksListComponent(false)}
)
}
}
Рабочий лист
import * as React from 'react';
import {LayoutHeader} from '../Header/LayoutHeader';
import {Tasks} from '../Tasks/Tasks';
import {Spinner} from '../../../Components/Core/Spinner';
106
import (IUser, ERole} from '../../../models/Common';
import {Statistics} from '../Statistics/Statistics';
import { isEmpty } from 'lodash';
/**
* Параметры компонента.
*/
interface IProps {
user: IUser;
users: IUser[];
isStatistics?: boolean;
tasks: any;
onReloadTasks: () => void;
onDeleteTask: (id: string) => void;
}
/**
* Состояние компонента.
*/
interface IState {
isLoading: boolean;
}
export class WorkList extends React.Component<IProps, IState> {
render() {
const {user, users, isStatistics, tasks, onReloadTasks, onDeleteTask} =
this.props;
return (
isEmpty(tasks) ?
107
(r/>) : (
isStatistics ? (
<Statistics tasks={tasks} users={users}/>
) : (
<React.Fragment>
ayoutHeader label-'Рабочий процесс"/>
asks tasks={tasks} isExpert={user.role ===
ERole.MANAGER} users={users} onReloadTasks={onReloadTasks} user={user}
onDeleteTask={onDeleteTask}/>
</React.Fragment>
)
)
);
}
}

Смотрите также:

"Автоматизация обработки заявок ООО "Проектно-Строительная Компания"
"Автоматизация процесса аттестации персонала для ООО "Нэт Бай Нэт Холдинг"
"Анализ интернет-активности конкурентов ( на примере конкурентов "Газпром нефть")
"Бухгалтерский учёт и аудит расчётов с подотчётними лицами в организации на примере ООО "ЛОЦ 10""
«Психологическое сопровождение персонала в организации на примере ООО «Крокус»
Cовершенствование деловой оценки персонала в организации (на примере ООО "Даймонд кейтеринг развитие")
IPO - инструмент финансирования деятельности организации. На примере ПАО «Нефтяная компания «Лукойл»
PR как средство продвижения организации (на примере ПАО "Тамбовский завод "Комсомолец им. Н.С. Артемова")
PR-коммуникации в сфере общественного питания (на примере кафе-кондитерской «Cream Cheese»)
SMM как средство повышения эффективности работы учреждений социокультурной сферы (на примере Малого театра)