Commit 52722428 by tungnq

TODO: Tái cấu trúc component ListWork và ListWorkView để bổ sung modal báo cáo…

TODO: Tái cấu trúc component ListWork và ListWorkView để bổ sung modal báo cáo và cải thiện xử lý sự kiện liên quan
parent 322a66ec
......@@ -10,7 +10,9 @@ const ListWork = props => {
const [searchQuery, setSearchQuery] = useState('');
const [modalDeliverToMeVisible, setModalDeliverToMeVisible] = useState(false);
const [modalMonitoringVisible, setModalMonitoringVisible] = useState(false);
const [modalRequestReportVisible, setModalRequestReportVisible] = useState(false);
const [modalRequestReportVisible, setModalRequestReportVisible] =
useState(false);
const [modalReportVisible, setmodalReportVisible] = useState(false);
const [currentTabKey, setCurrentTabKey] = useState(ROLE.ALL);
const [currentDropDownKey, setCurrentDropDownKey] = useState(
WORK_PROGRESS.ALL_WORK_PROGRESS,
......@@ -311,10 +313,15 @@ const ListWork = props => {
}
};
const handleRequestReport = () =>{
const handleRequestReport = () => {
setModalRequestReportVisible(true);
};
const handleReport = () => {
setmodalReportVisible(true);
}
// Đóng modal "Giao cho tôi"
const handleCloseDeliverToMeModal = () => {
setModalDeliverToMeVisible(false);
......@@ -401,16 +408,8 @@ const ListWork = props => {
// ==================== ACTION HANDLERS ====================
// Xử lý các hành động báo cáo (báo cáo, yêu cầu báo cáo)
const handleReportAction = (item, action) => {
console.log(`Thực hiện hành động ${action} cho công việc:`, item.id);
// TODO: Thêm logic xử lý các hành động báo cáo
switch (action) {
case 'report':
// Xử lý báo cáo công việc
break;
default:
break;
}
const handleReportAction = () => {
setmodalReportVisible(true);
};
// Xử lý các hành động phê duyệt (phê duyệt, yêu cầu chỉnh sửa)
......@@ -585,13 +584,21 @@ const ListWork = props => {
{key: ROLE.SUPERVISOR, label: 'Đang giám sát'},
]);
const handleSubmitReport = reportData => {
const handleSubmitRequestReport = reportData => {
// Xử lý submit yêu cầu báo cáo
console.log('Report data:', reportData);
setShowModal(false);
setModalRequestReportVisible(false);
// TODO: Gọi API để gửi yêu cầu báo cáo
};
const handleSubmitReport = () => {
setModalRequestReportVisible(false);
};
const handleCloseModalReport = () =>{
setmodalReportVisible(false);
}
const handleCloseModalRequestReport = () => {
setModalRequestReportVisible(false);
};
......@@ -612,6 +619,7 @@ const ListWork = props => {
modalRequestReport={modalRequestReportVisible}
modalDeliverToMeVisible={modalDeliverToMeVisible}
modalMonitoringVisible={modalMonitoringVisible}
modalReport={modalReportVisible}
tabView={tabView}
currentTabKey={currentTabKey}
shouldShowFAB={shouldShowFAB()}
......@@ -619,11 +627,14 @@ const ListWork = props => {
onFilterChange={handleFilterChange}
onAddWork={handleAddWork}
onOpenModalRequestReport={handleRequestReport}
onOpenModalReport={handleReport}
onSaveDeliverToMeWork={handleSaveDeliverToMeWork}
onSaveMonitoringWork={handleSaveMonitoringWork}
onSaveSumbitRequestReport={handleSubmitRequestReport}
onSaveSumbitReport={handleSubmitReport}
onCloseDeliverToMeModal={handleCloseDeliverToMeModal}
onCloseRequestReport={handleCloseModalRequestReport}
onCloseModalReport={handleCloseModalReport}
onCloseMonitoringModal={handleCloseMonitoringModal}
onViewDetailDeliverToMe={handleViewDetailDeliverToMe}
onReportAction={handleReportAction}
......
......@@ -19,6 +19,7 @@ import AddMonitoringModal from './modal_add_monitoring/index';
import Button from '../../components/Button';
import {ROLE} from '../../actions/actionTypes';
import ModalRequestReport from './monitoring/modal_request_report';
import WorkReportModal from './deliver_to_me/detail/modal_add_report';
const ListWorkView = props => {
const {
......@@ -28,6 +29,7 @@ const ListWorkView = props => {
modalDeliverToMeVisible,
modalMonitoringVisible,
modalRequestReport,
modalReport,
tabView,
currentTabKey,
......@@ -37,6 +39,7 @@ const ListWorkView = props => {
onSaveDeliverToMeWork,
onSaveMonitoringWork,
onSaveSumbitReport,
onSaveSumbitRequestReport,
onCloseDeliverToMeModal,
onCloseMonitoringModal,
onViewDetailDeliverToMe,
......@@ -45,7 +48,9 @@ const ListWorkView = props => {
getStatusColor,
getButtonsForStatus,
onCloseRequestReport,
onCloseModalReport,
onOpenModalRequestReport,
onOpenModalReport,
} = props;
const renderTabView = () => {
......@@ -74,10 +79,13 @@ const ListWorkView = props => {
title={button.title}
onPress={() => {
if (button.action === 'detail') {
// Conditional navigation for "Chi tiết" button
onViewDetailDeliverToMe(item);
onViewDetailDeliverToMe(item); //Navigate
} else if (button.action === 'requestReport') {
onOpenModalRequestReport(item);
onOpenModalRequestReport(item); //OpenModal
} else if (button.action === 'report') {
onOpenModalReport(item);
} else if (button.action === 'approve') {
onApprovalAction(item, 'approve');
} else {
onReportAction(item, button.action);
}
......@@ -217,12 +225,25 @@ const ListWorkView = props => {
onSave={onSaveMonitoringWork}
/>
<ModalRequestReport
<ModalRequestReport
visible={modalRequestReport}
onClose={onCloseRequestReport}
onSubmitReport={onSaveSumbitReport}
workData={dataList}
/>
<WorkReportModal
visible={modalReport}
onClose={onCloseModalReport}
onSubmit={onSaveSumbitReport}
/>
{/* <EditReportModal
visible={showEditReportModal}
onClose={() => setShowEditReportModal(false)}
onSubmit={handleEditReportSubmit}
initialContent=""
/> */}
</View>
);
};
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment