upd: task division

>
> Deskripsi:
> - list task divisi
> - pencarian task divisi
> - detail task divisi
> - update status tugas task divisi
> - detail tugas task divisi
> - edit tugas task divisi
> - hapus tugas task divisi
> - hapus file task divisi
> - hapus member
> - tambah tugas task divisi
> - check file task divisi
> - tambah file task divisi
> - edit task divisi
> - cancel task divisi
> - tambah member task divisi
>
> No Issues
This commit is contained in:
amel
2025-05-26 17:40:10 +08:00
parent 84f4aab36e
commit bc74be122d
16 changed files with 1507 additions and 364 deletions

View File

@@ -468,3 +468,85 @@ export const apiGetCalendarHistory = async ({ user, search, division }: { user:
const response = await api.get(`mobile/calendar/history?user=${user}&search=${search}&division=${division}`);
return response.data;
};
export const apiGetTask = async ({ user, status, search, division }: { user: string, status: string, search: string, division: string }) => {
const response = await api.get(`mobile/task?user=${user}&status=${status}&division=${division}&search=${search}`);
return response.data;
};
export const apiGetTaskOne = async ({ user, cat, id }: { user: string, cat: 'data' | 'progress' | 'task' | 'file' | 'member', id: string }) => {
const response = await api.get(`mobile/task/${id}?user=${user}&cat=${cat}`);
return response.data;
};
export const apiUpdateStatusTaskDivision = async (data: { user: string, status: number, idProject: string }, id: string) => {
const response = await api.put(`mobile/task/detail/${id}`, data)
return response.data
};
export const apiGetTaskTugas = async ({ user, id }: { user: string, id: string }) => {
const response = await api.get(`mobile/task/detail/${id}?user=${user}`);
return response.data;
};
export const apiEditTaskTugas = async ({ data, id }: { data: { title: string, dateStart: string, user: string, dateEnd: string }, id: string }) => {
const response = await api.post(`/mobile/task/detail/${id}`, data)
return response.data;
};
export const apiDeleteTaskTugas = async (data: { user: string, idProject: string }, id: string) => {
const response = await api.delete(`mobile/task/detail/${id}`, { data })
return response.data
};
export const apiDeleteFileTask = async (data: { user: string }, id: string) => {
const response = await api.delete(`/mobile/task/file/${id}`, { data })
return response.data;
};
export const apiDeleteTaskMember = async (data: { user: string, idUser: string }, id: string) => {
const response = await api.delete(`mobile/task/${id}/member`, { data })
return response.data
};
export const apiCreateTaskTugas = async ({ data, id }: { data: { title: string, dateStart: string, user: string, dateEnd: string, idDivision: string }, id: string }) => {
const response = await api.post(`/mobile/task/${id}`, data)
return response.data;
};
export const apiCheckFileTask = async ({ data, id }: { data: FormData, id: string }) => {
const response = await api.put(`/mobile/task/file/${id}`, data,
{
headers: {
'Content-Type': 'multipart/form-data',
},
}
)
return response.data;
};
export const apiAddFileTask = async ({ data, id }: { data: FormData, id: string }) => {
const response = await api.post(`/mobile/task/file/${id}`, data,
{
headers: {
'Content-Type': 'multipart/form-data',
},
}
)
return response.data;
};
export const apiEditTask = async (data: { title: string, user: string }, id: string) => {
const response = await api.put(`/mobile/task/${id}`, data)
return response.data;
};
export const apiCancelTask = async (data: { user: string, reason: string }, id: string) => {
const response = await api.delete(`mobile/task/${id}`, { data })
return response.data
};
export const apiAddMemberTask = async ({ data, id }: { data: { user: string, member: any[], idDivision: string }, id: string }) => {
const response = await api.post(`/mobile/task/${id}/member`, data)
return response.data;
};

View File

@@ -13,6 +13,7 @@ import memberUpdate from './memberSlice';
import positionUpdate from './positionSlice';
import projectUpdate from './projectUpdate';
import taskCreate from './taskCreate';
import taskUpdate from './taskUpdate';
import userReducer from './userSlice';
const store = configureStore({
@@ -32,6 +33,7 @@ const store = configureStore({
divisionUpdate: divisionUpdate,
discussionUpdate: discussionUpdate,
calendarUpdate: calendarUpdate,
taskUpdate: taskUpdate,
}
});

20
lib/taskUpdate.ts Normal file
View File

@@ -0,0 +1,20 @@
import { createSlice } from '@reduxjs/toolkit';
const taskUpdate = createSlice({
name: 'taskUpdate',
initialState: {
data: false,
progress: false,
task: false,
file: false,
member: false
},
reducers: {
setUpdateTask: (state, action) => {
return action.payload;
},
},
});
export const { setUpdateTask } = taskUpdate.actions;
export default taskUpdate.reducer;