pelaporan.js 5.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198
  1. import { get, post, del, put } from "../config/request";
  2. import axiosAPI from "../config/axios";
  3. import { createLog } from "./log";
  4. export const getPelaporan = async (token, query = {}) => {
  5. try {
  6. let url = "/laporan";
  7. if (query != null) {
  8. const { jadwal, evaluasi, pt_id, delegasi, aktif, sanksi, all } = query;
  9. url += "?";
  10. const parseURL = [];
  11. if (jadwal) {
  12. parseURL.push(`jadwal=true`);
  13. } else if (evaluasi) {
  14. parseURL.push(`evaluasi=true`);
  15. } else if (sanksi) {
  16. parseURL.push(`sanksi=true`);
  17. }
  18. if (all) {
  19. parseURL.push(`all=true`);
  20. }
  21. if (delegasi) {
  22. parseURL.push(`delegasi=true`);
  23. }
  24. if (pt_id) {
  25. parseURL.push(`pt_id=${pt_id}`);
  26. }
  27. if (aktif === false) {
  28. parseURL.push(`aktif=false`);
  29. }
  30. url += parseURL.join("&");
  31. }
  32. const res = await axiosAPI.get(url, { headers: { Authorization: token } });
  33. return res.data;
  34. } catch (error) {
  35. console.log("error", error);
  36. return false;
  37. }
  38. };
  39. export const getOneLaporan = async (token, id, query = {}) => {
  40. try {
  41. let url = `/laporan/${id}`;
  42. if (query != null) {
  43. const { aktif, all } = query;
  44. url += "?";
  45. const parseURL = [];
  46. if (all) {
  47. parseURL.push(`all=true`);
  48. }
  49. if (aktif === false) {
  50. parseURL.push(`aktif=false`);
  51. }
  52. url += parseURL.join("&");
  53. }
  54. const res = await axiosAPI.get(url, { headers: { Authorization: token } });
  55. return res.data;
  56. } catch (error) {
  57. console.log("error", error);
  58. return false;
  59. }
  60. };
  61. export const getPelaporanPublic = async ({ number, noHp }) => {
  62. try {
  63. const res = await get(`/pelaporan/public?number=${number}&noHp=${noHp}`);
  64. return res.data;
  65. } catch (error) {
  66. console.log("error", error.response.data);
  67. return false;
  68. }
  69. };
  70. export const createPelaporan = async (token, data) => {
  71. const res = await axiosAPI.post("/laporan/create", data, { headers: { Authorization: token } });
  72. await createLog(token, { aktivitas: "Berhasil Membuat pelaporan" });
  73. return res.data;
  74. };
  75. // export const createLaporanPublic = async (data) => {
  76. // try {
  77. // const res = await axiosAPI.post("/public/laporan/create", data);
  78. // return res.data;
  79. // } catch (error) {
  80. // console.log("error", error.response.data);
  81. // return false;
  82. // }
  83. // };
  84. export const createLaporanPublic = async (token, data) => {
  85. try {
  86. const res = await axiosAPI.post("/public/laporan/create", data, { headers: { Authorization: token } });
  87. return res.data;
  88. } catch (error) {
  89. console.log("error", error.response.data);
  90. return false;
  91. }
  92. };
  93. // export const addStatus = async ({ number, ptId }, data) => {
  94. // try {
  95. // const res = await post(`/pelaporan/status/add?number=${number}&ptId=${ptId}`, data);
  96. // return res.data;
  97. // } catch (error) {
  98. // console.log("error", error);
  99. // return false;
  100. // }
  101. // };
  102. export const updateLaporan = async (token, id, data) => {
  103. try {
  104. const res = await axiosAPI.put(`/laporan/update/${id}`, data, { headers: { Authorization: token } });
  105. if (data.aktif === "false") await createLog(token, { aktivitas: `Berhasil menutup laporan, id: ${id}` });
  106. await createLog(token, { aktivitas: `Berhasil mengubah data laporan, id: ${id}` });
  107. return res.data;
  108. } catch (error) {
  109. console.log("error", error.response.data);
  110. await createLog(token, { aktivitas: `Gagal mengubah data pelaporan, id: ${id}` });
  111. return false;
  112. }
  113. };
  114. export const jumlahLaporan = async (token) => {
  115. try {
  116. const res = await axiosAPI.get(`/laporan/jumlah`, { headers: { Authorization: token } });
  117. return res.data;
  118. } catch (error) {
  119. console.log("error", error.response.data);
  120. return false;
  121. }
  122. };
  123. export const getlaporanByPembina = async (token, idPembina, query = {}) => {
  124. try {
  125. let url = `/laporan/byPembina/${idPembina}`;
  126. if (query != null) {
  127. const { idPembina, penjadwalan, pemeriksaan, sanksi, keberatan, banding, perbaikan, cabutSanksi, aktif } = query;
  128. url += "?";
  129. const parseURL = [];
  130. if (idPembina) {
  131. parseURL.push(`idPembina=${idPembina}`);
  132. };
  133. if (penjadwalan) {
  134. parseURL.push(`penjadwalan=true`);
  135. };
  136. if (pemeriksaan) {
  137. parseURL.push(`pemeriksaan=true`);
  138. };
  139. if (sanksi) {
  140. parseURL.push(`sanksi=true`);
  141. };
  142. if (keberatan) {
  143. parseURL.push(`keberatan=true`);
  144. };
  145. if (banding) {
  146. parseURL.push(`banding=true`);
  147. };
  148. if (perbaikan) {
  149. parseURL.push(`perbaikan=true`);
  150. };
  151. if (cabutSanksi) {
  152. parseURL.push(`cabutSanksi=true`);
  153. };
  154. if (aktif === false) {
  155. parseURL.push(`aktif=false`);
  156. }
  157. url += parseURL.join("&");
  158. }
  159. const res = await axiosAPI.get(url, { headers: { Authorization: token } });
  160. return res.data;
  161. } catch (error) {
  162. console.log("error", error);
  163. return false;
  164. }
  165. };
  166. // export const activeLaporan = async ({ number, ptId }) => {
  167. // try {
  168. // const res = await put(`/pelaporan/active?number=${number}&ptId=${ptId}`);
  169. // return res.data;
  170. // } catch (error) {
  171. // console.log("error", error);
  172. // return false;
  173. // }
  174. // };
  175. // export const changeRoleData = async ({ number, ptId }, data) => {
  176. // try {
  177. // const res = await post(`/pelaporan/change-role-data?number=${number}&ptId=${ptId}`, data);
  178. // return res.data;
  179. // } catch (error) {
  180. // console.log("error", error);
  181. // return false;
  182. // }
  183. // };