fix shift plan url & activity filter

main
mpn 2024-03-11 12:24:41 +03:30
parent 9b9dfac9e8
commit 48ca5d9132
7 changed files with 4377 additions and 8 deletions

View File

@ -1,6 +1,7 @@
"use client";
import AppContext from "@ctx/AppContext";
import Avatar from "boring-avatars";
import BottomFilterActivities from "plugins/BottomSheet/BottomFilterActivities";
import Buttonbriz from "plugins/Buttonbriz/page";
import Input from "plugins/Input/page";
import React, { useContext, useRef, useState } from "react";
@ -47,6 +48,7 @@ const ActivityCard = ({ data }) => {
CTX.DoneActivity(data.id);
};
console.log("data", data);
return (
<div
className={` p-2 overflow-hidden ${
@ -78,6 +80,9 @@ const ActivityCard = ({ data }) => {
{data?.shiftTitle}
</div>
</div>
<div className=" w-fit relative text-[11px] rounded-full bg-gray-300 text-black px-2 h-fit">
{data?.userFullName}
</div>
</div>
</div>

4251
package-lock.json generated 100644

File diff suppressed because it is too large Load Diff

View File

@ -1,6 +1,6 @@
{
"name": "brizco",
"version": "0.2.3",
"version": "0.2.5",
"private": true,
"scripts": {
"dev": "next dev",

View File

@ -0,0 +1,75 @@
"use client";
import React, { useContext, useEffect, useRef, useState } from "react";
import { BottomSheet } from "react-spring-bottom-sheet";
import Input from "plugins/Input/page";
import AppContext from "@ctx/AppContext";
import SimpleReactValidator from "simple-react-validator";
import CheckBoxBriz from "plugins/CheckBoxBriz/page";
import Buttonbriz from "plugins/Buttonbriz/page";
import { toast } from "react-toastify";
import moment from "jalali-moment";
const BottomFilterActivities = (props) => {
const CTX = useContext(AppContext);
const [typeFilter, setTypeFilter] = useState(0);
const handleFilterActivity = (num) => {
setTypeFilter(num);
};
const handleChangeFilter = () => {
CTX.GetActivity(null, null, 0, typeFilter);
CTX.setBottomFilterActivitiesOpen(false);
};
return (
<BottomSheet
// onSpringStart={(e) => handleBottomSheetCreateRole(e)}
open={CTX.state.BottomFilterActivitiesOpen}
onDismiss={() => CTX.setBottomFilterActivitiesOpen(false)}
blocking={false}
>
<div className="text-center py-2 bg-primary-300 ">
<p className="mb-0 text-white relative top-[-5px]">فیلتر اکتیویتی</p>
</div>
<div className="bg-body-100 p-3 ">
<div
className={`rounded-xl border-[1px] border-gray-200 p-5 m-2 tr03 ${
typeFilter == 0 ? " bg-primary-100" : "bg-gray-100 "
}`}
onClick={() => handleFilterActivity(0)}
>
<p className="mb-0 text-right">اکتیویتی های امروز</p>
</div>
<div
className={`rounded-xl border-[1px] border-gray-200 p-5 m-2 tr03 ${
typeFilter == 1 ? " bg-primary-100" : "bg-gray-100 "
}`}
onClick={() => handleFilterActivity(1)}
>
<p className="mb-0 text-right">اکتیویتی های فردا</p>
</div>
<div
className={`rounded-xl border-[1px] border-gray-200 p-5 m-2 tr03 ${
typeFilter == 2 ? " bg-primary-100" : "bg-gray-100 "
}`}
onClick={() => handleFilterActivity(2)}
>
<p className="mb-0 text-right">اکتیویتی های هفته</p>
</div>
<Buttonbriz
title="اعمال فیلتر"
color="PRIMARY"
icon="CHECK"
buttonEvent={() => handleChangeFilter()}
/>
</div>
</BottomSheet>
);
};
export default BottomFilterActivities;

View File

@ -40,6 +40,8 @@ export default function RootLayout({ children }) {
useState(false);
const [BottomManageShiftOpen, setBottomManageShiftOpen] = useState(false);
const [BottomFilterActivitiesOpen, setBottomFilterActivitiesOpen] =
useState(false);
const [BottomSheetCreateRoutineOpen, setBottomSheetCreateRoutineOpen] =
useState(false);
const [BottomSheetCreateSectionOpen, setBottomSheetCreateSectionOpen] =
@ -1289,13 +1291,15 @@ export default function RootLayout({ children }) {
}
};
const GetActivity = async (date, shift, page) => {
const GetActivity = async (date, shift, page, dateQueryFilter) => {
setLoading(true);
try {
const data = await Chapar.get(
`${process.env.NEXT_PUBLIC_API_URL}/activity?page=${page}${
date ? `&selectedDate=${date}` : ""
}${shift ? `&selectedShift=${shift}` : ""}`,
}${shift ? `&selectedShift=${shift}` : ""}${
dateQueryFilter != null ? `&dateQueryFilter=${dateQueryFilter}` : ""
}`,
{
headers: {
@ -1631,6 +1635,7 @@ export default function RootLayout({ children }) {
shiftPlansData,
BottomSheetReportOpen,
reportDetail,
BottomFilterActivitiesOpen,
},
setBottomSheetCreateRoleOpen,
setBottomSheetCreateEmployeesOpen,
@ -1752,6 +1757,7 @@ export default function RootLayout({ children }) {
setReportDetail,
ReportShiftPlan,
ReportTask,
setBottomFilterActivitiesOpen,
}}
>
<html lang="en">

View File

@ -65,6 +65,8 @@ const Shifts = (props) => {
groupObjectsByPlanFor(shiftplansData);
}, [shiftplansData]);
console.log(shiftplans[0]?.data[0]?.users);
return (
<>
<div className="pb-20">
@ -164,11 +166,28 @@ const Shifts = (props) => {
{shiftPlansSelect == index && (
<>
{e.data.map((e) => (
<div className="ml-2 rounded-xl mt-3 p-2">
<p className="text-sm mb-0 text-gray-700 font-medium">
{" "}
{e.shiftTitle}
</p>
<div className="">
<div className="flex justify-between">
<div className="ml-2 rounded-xl mt-3 p-2">
<p className="text-sm mb-0 text-gray-700 font-medium">
{" "}
{e.shiftTitle}
</p>
</div>
</div>
<div className="flex flex-wrap">
{e.users.map((i) => (
<div className="flex bg-primary-100 p-1 rounded-full w-fit m-1">
<p className="mb-0 text-[12px] font-medium">
{i.positionName} :{" "}
</p>{" "}
<p className="mb-0 text-[12px] mr-1">
{i.userFullName}
</p>
</div>
))}
</div>
</div>
))}
</>

View File

@ -14,6 +14,8 @@ import HasPermission from "plugins/HasPermission/page";
import GoBack from "plugins/GoBack/page";
import InfiniteScroll from "react-infinite-scroll-component";
import Loading from "plugins/Loading/page";
import { useLongPress } from "@uidotdev/usehooks";
import BottomFilterActivities from "plugins/BottomSheet/BottomFilterActivities";
const page = () => {
const CTX = useContext(AppContext);
@ -63,6 +65,15 @@ const page = () => {
CTX.setBottomSheetReportOpen(true);
};
const attrs = useLongPress((e) => console.log(e), {
// onStart: (event) => setSubButtonAction(true),
onFinish: (event) => {
CTX.setBottomFilterActivitiesOpen(true);
},
// onCancel: (event) => setSubButtonAction(false),
threshold: 500,
});
console.log(activities.length);
return (
@ -126,6 +137,7 @@ const page = () => {
typeTask == 1 ? "bg-secondary-100" : ""
} `}
onClick={() => setTypeTask(1)}
{...attrs}
>
<p
className={`mb-0 text-center text-sm ${
@ -213,6 +225,7 @@ const page = () => {
</div>
<BottomSheetCreateRoutine />
<BottomFilterActivities />
</div>
);
};