pelaporan.js 5.1 KB

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