Untitled
user_4058768
plain_text
a year ago
4.6 kB
4
Indexable
import React from 'react';
import { Link } from 'react-router-dom';
import { connect } from 'react-redux';
import { AdminPage, FormCheckbox, FormSelect, FormTabs, FormDatePicker, renderDataTable, TableCell, TableHead } from 'view/component/AdminPage';
import { SelectAdapter_DmHocSdh } from 'modules/mdSauDaiHoc/dmHocSdh/redux';
import { SelectAdapter_SemesterData } from 'modules/mdSauDaiHoc/sdhSemester/redux';
import { SelectAdapter_SchoolYear } from 'modules/mdDaoTao/dtSemester/redux';
import { getSdhSemesterCurrent } from 'modules/mdSauDaiHoc/sdhSemester/redux';
import TraCuuThoiKhoaBieu from './section/tra-cuu-thoi-khoa-bieu';
import QuanLyBu from './section/quan-ly-bu';
import DangKyBu from './section/dang-ky-bu';
class SdhQuanLyNghiBuHP extends AdminPage {
componentDidMount() {
T.ready('user/sau-dai-hoc', () => {
this.showAdvanceSearch();
T.showSearchBox(() => {
this.showAdvanceSearch();
});
this.props.getSdhSemesterCurrent(data => {
const { namHoc } = data;
this.namHoc.value(namHoc);
this.setState({ filter: { ...this.state.filter, namHoc } }, () => {
T.alert('Load thành công', 'success', false, 500);
});
});
});
}
handleSearch = () => {
if (!this.fromTime.value()) {
T.notify('Vui lòng nhập thời điểm bắt đầu!', 'danger');
} else if (!this.toTime.value()) {
T.notify('Vui lòng nhập thời điểm kết thúc!', 'danger');
} else {
let filter = {
fromTime: this.fromTime.value().setHours(0, 0, 0, 0),
toTime: this.toTime.value().setHours(23, 59, 59, 999),
loaiHinhDaoTao: this.loaiHinhDaoTao.value(),
namHoc: this.namHoc.value(),
hocKy: this.hocKy.value(),
};
this.setState({ filter, isSearch: 1 }, () => {
this.dkBu.getData();
this.quanLyBu.getData();
});
}
}
render() {
const dangKyBuHP = {
key: 'dangKyBuHP', title: 'Đăng ký bù', component: <DangKyBu ref={e => this.dkBu = e} filter={this.state.filter} />
};
const quanLyLichBu = {
key: 'quanLyLichBu', title: 'Quản lý lịch bù', component: <QuanLyBu ref={e => this.quanLyBu = e} filter={this.state.filter} />
}
const tabs = [dangKyBuHP, quanLyLichBu];
return this.renderPage({
icon: 'fa fa-calendar',
title: 'Điều chỉnh học phần',
breadcrumb: [
<Link key={0} to='/user/sau-dai-hoc'>Sau đại học</Link>,
<Link key={1} to='/user/sau-dai-hoc/thoi-khoa-bieu'>Thời khóa biểu</Link>,
'Điều chỉnh học phần'
],
content: <>
<div className='tile'>
<FormTabs tabs={tabs} />
</div>
</>,
advanceSearchTitle: '',
advanceSearch: <div className='row'>
<FormDatePicker type='date' ref={e => this.fromTime = e} label='Từ thời điểm' className='col-md-2' required />
<FormDatePicker type='date' ref={e => this.toTime = e} label='Đến thời điểm' className='col-md-2' required />
<FormSelect ref={e => this.namHoc = e} className='col-md-2' label='Năm học' data={SelectAdapter_SchoolYear} />
<FormSelect ref={e => this.hocKy = e} className='col-md-2' label='Học kỳ' data={SelectAdapter_SemesterData} />
<FormSelect ref={(e) => this.loaiHinhDaoTao = e} className='col-md-2' label='Bậc đào tạo' data={SelectAdapter_DmHocSdh} />
<div className='col-md-2' style={{ textAlign: 'left', margin: 'auto' }}>
<button className='btn btn-success' type='button' onClick={e => e && e.preventDefault() || this.handleSearch()}>
<i className='fa fa-fw fa-lg fa-search' />Tìm kiếm
</button>
</div>
</div>,
backRoute: '/user/sau-dai-hoc/thoi-khoa-bieu',
});
}
}
const mapStateToProps = state => ({ system: state.system, sdhQuanLyNghiBuHP: state.sdh.sdhQuanLyNghiBuHP });
const mapActionsToProps = { getSdhSemesterCurrent };
export default connect(mapStateToProps, mapActionsToProps)(SdhQuanLyNghiBuHP);Editor is loading...
Leave a Comment