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 => { ...@@ -10,7 +10,9 @@ const ListWork = props => {
const [searchQuery, setSearchQuery] = useState(''); const [searchQuery, setSearchQuery] = useState('');
const [modalDeliverToMeVisible, setModalDeliverToMeVisible] = useState(false); const [modalDeliverToMeVisible, setModalDeliverToMeVisible] = useState(false);
const [modalMonitoringVisible, setModalMonitoringVisible] = 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 [currentTabKey, setCurrentTabKey] = useState(ROLE.ALL);
const [currentDropDownKey, setCurrentDropDownKey] = useState( const [currentDropDownKey, setCurrentDropDownKey] = useState(
WORK_PROGRESS.ALL_WORK_PROGRESS, WORK_PROGRESS.ALL_WORK_PROGRESS,
...@@ -311,10 +313,15 @@ const ListWork = props => { ...@@ -311,10 +313,15 @@ const ListWork = props => {
} }
}; };
const handleRequestReport = () =>{ const handleRequestReport = () => {
setModalRequestReportVisible(true); setModalRequestReportVisible(true);
};
const handleReport = () => {
setmodalReportVisible(true);
} }
// Đóng modal "Giao cho tôi" // Đóng modal "Giao cho tôi"
const handleCloseDeliverToMeModal = () => { const handleCloseDeliverToMeModal = () => {
setModalDeliverToMeVisible(false); setModalDeliverToMeVisible(false);
...@@ -401,16 +408,8 @@ const ListWork = props => { ...@@ -401,16 +408,8 @@ const ListWork = props => {
// ==================== ACTION HANDLERS ==================== // ==================== 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) // 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) => { const handleReportAction = () => {
console.log(`Thực hiện hành động ${action} cho công việc:`, item.id); setmodalReportVisible(true);
// 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;
}
}; };
// Xử lý các hành động phê duyệt (phê duyệt, yêu cầu chỉnh sửa) // 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 => { ...@@ -585,13 +584,21 @@ const ListWork = props => {
{key: ROLE.SUPERVISOR, label: 'Đang giám sát'}, {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 // Xử lý submit yêu cầu báo cáo
console.log('Report data:', reportData); console.log('Report data:', reportData);
setShowModal(false); setModalRequestReportVisible(false);
// TODO: Gọi API để gửi yêu cầu báo cáo // TODO: Gọi API để gửi yêu cầu báo cáo
}; };
const handleSubmitReport = () => {
setModalRequestReportVisible(false);
};
const handleCloseModalReport = () =>{
setmodalReportVisible(false);
}
const handleCloseModalRequestReport = () => { const handleCloseModalRequestReport = () => {
setModalRequestReportVisible(false); setModalRequestReportVisible(false);
}; };
...@@ -612,6 +619,7 @@ const ListWork = props => { ...@@ -612,6 +619,7 @@ const ListWork = props => {
modalRequestReport={modalRequestReportVisible} modalRequestReport={modalRequestReportVisible}
modalDeliverToMeVisible={modalDeliverToMeVisible} modalDeliverToMeVisible={modalDeliverToMeVisible}
modalMonitoringVisible={modalMonitoringVisible} modalMonitoringVisible={modalMonitoringVisible}
modalReport={modalReportVisible}
tabView={tabView} tabView={tabView}
currentTabKey={currentTabKey} currentTabKey={currentTabKey}
shouldShowFAB={shouldShowFAB()} shouldShowFAB={shouldShowFAB()}
...@@ -619,11 +627,14 @@ const ListWork = props => { ...@@ -619,11 +627,14 @@ const ListWork = props => {
onFilterChange={handleFilterChange} onFilterChange={handleFilterChange}
onAddWork={handleAddWork} onAddWork={handleAddWork}
onOpenModalRequestReport={handleRequestReport} onOpenModalRequestReport={handleRequestReport}
onOpenModalReport={handleReport}
onSaveDeliverToMeWork={handleSaveDeliverToMeWork} onSaveDeliverToMeWork={handleSaveDeliverToMeWork}
onSaveMonitoringWork={handleSaveMonitoringWork} onSaveMonitoringWork={handleSaveMonitoringWork}
onSaveSumbitRequestReport={handleSubmitRequestReport}
onSaveSumbitReport={handleSubmitReport} onSaveSumbitReport={handleSubmitReport}
onCloseDeliverToMeModal={handleCloseDeliverToMeModal} onCloseDeliverToMeModal={handleCloseDeliverToMeModal}
onCloseRequestReport={handleCloseModalRequestReport} onCloseRequestReport={handleCloseModalRequestReport}
onCloseModalReport={handleCloseModalReport}
onCloseMonitoringModal={handleCloseMonitoringModal} onCloseMonitoringModal={handleCloseMonitoringModal}
onViewDetailDeliverToMe={handleViewDetailDeliverToMe} onViewDetailDeliverToMe={handleViewDetailDeliverToMe}
onReportAction={handleReportAction} onReportAction={handleReportAction}
......
...@@ -19,6 +19,7 @@ import AddMonitoringModal from './modal_add_monitoring/index'; ...@@ -19,6 +19,7 @@ import AddMonitoringModal from './modal_add_monitoring/index';
import Button from '../../components/Button'; import Button from '../../components/Button';
import {ROLE} from '../../actions/actionTypes'; import {ROLE} from '../../actions/actionTypes';
import ModalRequestReport from './monitoring/modal_request_report'; import ModalRequestReport from './monitoring/modal_request_report';
import WorkReportModal from './deliver_to_me/detail/modal_add_report';
const ListWorkView = props => { const ListWorkView = props => {
const { const {
...@@ -28,6 +29,7 @@ const ListWorkView = props => { ...@@ -28,6 +29,7 @@ const ListWorkView = props => {
modalDeliverToMeVisible, modalDeliverToMeVisible,
modalMonitoringVisible, modalMonitoringVisible,
modalRequestReport, modalRequestReport,
modalReport,
tabView, tabView,
currentTabKey, currentTabKey,
...@@ -37,6 +39,7 @@ const ListWorkView = props => { ...@@ -37,6 +39,7 @@ const ListWorkView = props => {
onSaveDeliverToMeWork, onSaveDeliverToMeWork,
onSaveMonitoringWork, onSaveMonitoringWork,
onSaveSumbitReport, onSaveSumbitReport,
onSaveSumbitRequestReport,
onCloseDeliverToMeModal, onCloseDeliverToMeModal,
onCloseMonitoringModal, onCloseMonitoringModal,
onViewDetailDeliverToMe, onViewDetailDeliverToMe,
...@@ -45,7 +48,9 @@ const ListWorkView = props => { ...@@ -45,7 +48,9 @@ const ListWorkView = props => {
getStatusColor, getStatusColor,
getButtonsForStatus, getButtonsForStatus,
onCloseRequestReport, onCloseRequestReport,
onCloseModalReport,
onOpenModalRequestReport, onOpenModalRequestReport,
onOpenModalReport,
} = props; } = props;
const renderTabView = () => { const renderTabView = () => {
...@@ -74,10 +79,13 @@ const ListWorkView = props => { ...@@ -74,10 +79,13 @@ const ListWorkView = props => {
title={button.title} title={button.title}
onPress={() => { onPress={() => {
if (button.action === 'detail') { if (button.action === 'detail') {
// Conditional navigation for "Chi tiết" button onViewDetailDeliverToMe(item); //Navigate
onViewDetailDeliverToMe(item);
} else if (button.action === 'requestReport') { } 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 { } else {
onReportAction(item, button.action); onReportAction(item, button.action);
} }
...@@ -223,6 +231,19 @@ const ListWorkView = props => { ...@@ -223,6 +231,19 @@ const ListWorkView = props => {
onSubmitReport={onSaveSumbitReport} onSubmitReport={onSaveSumbitReport}
workData={dataList} workData={dataList}
/> />
<WorkReportModal
visible={modalReport}
onClose={onCloseModalReport}
onSubmit={onSaveSumbitReport}
/>
{/* <EditReportModal
visible={showEditReportModal}
onClose={() => setShowEditReportModal(false)}
onSubmit={handleEditReportSubmit}
initialContent=""
/> */}
</View> </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