import Moment from 'moment';
import React from 'react';
import {
Image,
SafeAreaView,
ScrollView,
TouchableOpacity,
View,
} from 'react-native';
import FastImage from 'react-native-fast-image';
import PieChart from 'react-native-pie-chart';
import AppText from '../../../components/AppText';
import ButtonComponent from '../../../components/ButtonComponent';
import SelectDropdownComponent from '../../../components/Select';
import config from '../../../config';
import {GifType, IMAGES} from '../../../values/images';
import styles from '../style';
import RequestLeavesDays from './subViews/RequestLeavesDays';
import commonStyles from '../../../styles/commonStyles';
const sliceColorRight = ['#6dc9ee', '#d9f4ff'];
const selectDataDropDown = [
{label: 'Tất cả', value: 'Tất cả'},
{label: 'Chưa duyệt', value: 'Chưa duyệt'},
{label: 'Đã duyệt', value: 'Đã duyệt'},
{label: 'Đã từ chối', value: 'Đã từ chối'},
];
const DataChartLeavesRestDays = React.memo(
({dataChart = []}) => {
return (
{dataChart?.length > 0 &&
dataChart.map((item, index) => {
return (
{item.name}
{`${item.from} / ${item.to}`}
Ngày
Phép đã nghỉ
Phép còn lại
);
})}
);
},
function areEqual(prevProps, nextProps) {
return prevProps.dataChart === nextProps.dataChart;
},
);
const AddNewLeavesSection = React.memo(props => {
const {onOpenRequestLeavesModal, navigateToConfirmDate, navigateToOverTime} =
props;
return (
Nghỉ phép của bạn:
YÊU CẦU NGHỈ PHÉP
Liên kết nhanh:{' '}
Xác nhận ngày công
{/*
Tăng ca của tôi
*/}
);
});
const ApproveRequestLeavesDays = React.memo(
props => {
const {
onChangeSelectFilter,
approveRequestLeavesDaysList = [],
userInfo,
onOpenDetailModal,
} = props;
return (
Duyệt yêu cầu nghỉ phép
{approveRequestLeavesDaysList.length > 0 &&
userInfo &&
approveRequestLeavesDaysList[0].approver_id === userInfo.id &&
approveRequestLeavesDaysList.map((item, index) => (
onOpenDetailModal(item)}>
{item?.extend_creator_full_name?.length > 18
? item.extend_creator_full_name.slice(0, 18) + '...'
: item.extend_creator_full_name}
{Moment(item.start).format('DD/MM/YYYY')}
{item?.extend_category_name}
{`${item?.extend_taken_days} ngày`}
))}
{/* {leaveList?.length > 0 && !isDisableLoadMore.approveReqBtn && (
)} */}
);
},
function areEqual(prevProps, nextProps) {
return (
prevProps.approveRequestLeavesDaysList === nextProps.approveRequestLeaves
);
},
);
const LeavesRequest = React.memo(
props => {
const {leaveRequestList, onRefreshLeaveList, onOpenDetailModal} = props;
return (
Nghỉ phép của tôi:
{leaveRequestList.length === 0 && (
Bạn chưa có ngày nghỉ nào! Vui lòng chọn “Yêu cầu nghỉ phép” ở bên
trên nhé!
)}
{leaveRequestList &&
leaveRequestList.map((item, index) => (
onOpenDetailModal(item, true)}
key={index}>
{item.extend_category_name}
{Moment(item.start).format('DD/MM/YYYY')}
{item.reason}
{`${item.extend_taken_days} ngày`}
))}
{/* {leaveList && leaveList.length > 0 && !isDisableLoadMore.leaveBtn && (
)} */}
);
},
function areEqual(prevProps, nextProps) {
return prevProps.leaveRequestList === nextProps.leaveRequestList;
},
);
const OnLeaveMainView = ({
navigateToConfirmDate,
navigateToOverTime,
dataChart,
onRefreshLeaveList,
onOpenDetailModal,
onOpenRequestLeavesModal,
approveRequestLeavesDaysProps,
leaveRequestList,
leavesDaysModal,
leaveRequestModalProps,
}) => {
return (
{/* Approve leave request */}
{leavesDaysModal?.visible && (
)}
);
};
export default OnLeaveMainView;