@neutron.co.id/operasional-interfaces 1.14.0 → 1.14.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (449) hide show
  1. package/build/@mock/index.d.ts +3 -0
  2. package/build/@mock/mock.interfaces.d.ts +15 -0
  3. package/build/@mock/mock.office.d.ts +29 -0
  4. package/build/@mock/mock.operasional.d.ts +3 -0
  5. package/build/@office/common/NeonTime/NeonTime.vue +123 -0
  6. package/build/@office/common/NeonTime/index.d.ts +1 -0
  7. package/build/@office/common/NeonTime/index.mjs +1 -0
  8. package/build/@office/common/OperasionalIdentitas/OperasionalIdentitas.vue +405 -0
  9. package/build/@office/common/OperasionalIdentitas/index.d.ts +1 -0
  10. package/build/@office/common/OperasionalIdentitas/index.mjs +1 -0
  11. package/build/@office/common/index.d.ts +3 -0
  12. package/build/@office/common/index.mjs +3 -0
  13. package/build/@office/common/providers/index.d.ts +1 -0
  14. package/build/@office/common/providers/index.mjs +1 -0
  15. package/build/@office/common/providers/operasional/attendance.store.d.ts +15 -0
  16. package/build/@office/common/providers/operasional/attendance.store.mjs +55 -0
  17. package/build/@office/common/providers/operasional/bus.d.ts +7 -0
  18. package/build/@office/common/providers/operasional/bus.mjs +3 -0
  19. package/build/@office/common/providers/operasional/index.d.ts +6 -0
  20. package/build/@office/common/providers/operasional/index.mjs +6 -0
  21. package/build/@office/common/providers/operasional/operasional.store.d.ts +2 -0
  22. package/build/@office/common/providers/operasional/operasional.store.mjs +43 -0
  23. package/build/@office/common/providers/operasional/operasional.types.d.ts +13 -0
  24. package/build/@office/common/providers/operasional/operasional.types.mjs +0 -0
  25. package/build/@office/common/providers/operasional/useOperasional.d.ts +9 -0
  26. package/build/@office/common/providers/operasional/useOperasional.mjs +7 -0
  27. package/build/@office/common/providers/operasional/withOperasional.d.ts +2 -0
  28. package/build/@office/common/providers/operasional/withOperasional.mjs +72 -0
  29. package/build/@office/common/types/index.d.ts +3 -0
  30. package/build/@office/common/types/index.mjs +0 -0
  31. package/build/@office/common/types/type.utils.d.ts +7 -0
  32. package/build/@office/common/types/type.utils.mjs +0 -0
  33. package/build/@office/common/utils/date/index.d.ts +14 -0
  34. package/build/@office/common/utils/date/index.mjs +39 -0
  35. package/build/@office/common/utils/date/util.date.d.ts +20 -0
  36. package/build/@office/common/utils/date/util.date.mjs +39 -0
  37. package/build/@office/common/utils/index.d.ts +1 -0
  38. package/build/@office/common/utils/index.mjs +1 -0
  39. package/build/@office/common/utils/util.date.d.ts +5 -0
  40. package/build/@office/common/utils/util.date.mjs +17 -0
  41. package/build/@office/common/views/index.d.ts +1 -0
  42. package/build/@office/common/views/index.mjs +1 -0
  43. package/build/@office/config.d.ts +6 -0
  44. package/build/@office/config.mjs +99 -0
  45. package/build/@office/constant.d.ts +1 -0
  46. package/build/@office/constant.mjs +1 -0
  47. package/build/@office/exports.d.ts +3 -0
  48. package/build/@office/exports.mjs +3 -0
  49. package/build/@office/features/index.d.ts +1 -0
  50. package/build/@office/features/index.mjs +1 -0
  51. package/build/@office/index.d.ts +2 -0
  52. package/build/@office/index.mjs +2 -0
  53. package/build/@office/models/index.d.ts +1 -0
  54. package/build/@office/models/index.mjs +1 -0
  55. package/build/@office/models/personalia/attendance/AttendanceCollection/AttendanceCollection.stories.d.ts +7 -0
  56. package/build/@office/models/personalia/attendance/AttendanceCollection/AttendanceCollection.stories.mjs +40 -0
  57. package/build/@office/models/personalia/attendance/AttendanceCollection/AttendanceCollection.vue +75 -0
  58. package/build/@office/models/personalia/attendance/AttendanceCollection/index.d.ts +1 -0
  59. package/build/@office/models/personalia/attendance/AttendanceCollection/index.mjs +1 -0
  60. package/build/@office/models/personalia/attendance/AttendanceManager.vue +381 -0
  61. package/build/@office/models/personalia/attendance/AttendanceSingle/AttendanceSingle.stories.d.ts +8 -0
  62. package/build/@office/models/personalia/attendance/AttendanceSingle/AttendanceSingle.stories.mjs +47 -0
  63. package/build/@office/models/personalia/attendance/AttendanceSingle/AttendanceSingle.vue +166 -0
  64. package/build/@office/models/personalia/attendance/AttendanceSingle/index.d.ts +1 -0
  65. package/build/@office/models/personalia/attendance/AttendanceSingle/index.mjs +1 -0
  66. package/build/@office/models/personalia/attendance/AttendanceStaff.vue +540 -0
  67. package/build/@office/models/personalia/attendance/AttendanceSupervisor.vue +472 -0
  68. package/build/@office/models/personalia/attendance/index.d.ts +5 -0
  69. package/build/@office/models/personalia/attendance/index.mjs +5 -0
  70. package/build/@office/models/personalia/checkIn/CheckInAccess.vue +47 -0
  71. package/build/@office/models/personalia/checkIn/CheckInCollection/CheckInCollection.stories.d.ts +7 -0
  72. package/build/@office/models/personalia/checkIn/CheckInCollection/CheckInCollection.stories.mjs +36 -0
  73. package/build/@office/models/personalia/checkIn/CheckInCollection/CheckInCollection.vue +20 -0
  74. package/build/@office/models/personalia/checkIn/CheckInCollection/index.d.ts +1 -0
  75. package/build/@office/models/personalia/checkIn/CheckInCollection/index.mjs +1 -0
  76. package/build/@office/models/personalia/checkIn/CheckInExternal.vue +120 -0
  77. package/build/@office/models/personalia/checkIn/CheckInPresenceCollection.vue +393 -0
  78. package/build/@office/models/personalia/checkIn/CheckInScanError.vue +43 -0
  79. package/build/@office/models/personalia/checkIn/CheckInScanSuccess.vue +21 -0
  80. package/build/@office/models/personalia/checkIn/CheckInScanner.vue +219 -0
  81. package/build/@office/models/personalia/checkIn/CheckInSingle/CheckInSingle.stories.d.ts +8 -0
  82. package/build/@office/models/personalia/checkIn/CheckInSingle/CheckInSingle.stories.mjs +47 -0
  83. package/build/@office/models/personalia/checkIn/CheckInSingle/CheckInSingle.vue +79 -0
  84. package/build/@office/models/personalia/checkIn/CheckInSingle/index.d.ts +1 -0
  85. package/build/@office/models/personalia/checkIn/CheckInSingle/index.mjs +1 -0
  86. package/build/@office/models/personalia/checkIn/CheckInSupervisor.vue +122 -0
  87. package/build/@office/models/personalia/checkIn/index.d.ts +9 -0
  88. package/build/@office/models/personalia/checkIn/index.mjs +9 -0
  89. package/build/@office/models/personalia/index.d.ts +15 -0
  90. package/build/@office/models/personalia/index.mjs +15 -0
  91. package/build/@office/models/personalia/plan/PlanCollection/PlanCollection.stories.d.ts +7 -0
  92. package/build/@office/models/personalia/plan/PlanCollection/PlanCollection.stories.mjs +36 -0
  93. package/build/@office/models/personalia/plan/PlanCollection/PlanCollection.vue +22 -0
  94. package/build/@office/models/personalia/plan/PlanCollection/index.d.ts +1 -0
  95. package/build/@office/models/personalia/plan/PlanCollection/index.mjs +1 -0
  96. package/build/@office/models/personalia/plan/PlanSingle/PlanSingle.stories.d.ts +8 -0
  97. package/build/@office/models/personalia/plan/PlanSingle/PlanSingle.stories.mjs +47 -0
  98. package/build/@office/models/personalia/plan/PlanSingle/PlanSingle.vue +158 -0
  99. package/build/@office/models/personalia/plan/PlanSingle/index.d.ts +1 -0
  100. package/build/@office/models/personalia/plan/PlanSingle/index.mjs +1 -0
  101. package/build/@office/models/personalia/plan/PlanStaff.vue +138 -0
  102. package/build/@office/models/personalia/plan/index.d.ts +3 -0
  103. package/build/@office/models/personalia/plan/index.mjs +3 -0
  104. package/build/@office/models/personalia/planType/PlanTypeCollection/PlanTypeCollection.stories.d.ts +7 -0
  105. package/build/@office/models/personalia/planType/PlanTypeCollection/PlanTypeCollection.stories.mjs +36 -0
  106. package/build/@office/models/personalia/planType/PlanTypeCollection/PlanTypeCollection.vue +22 -0
  107. package/build/@office/models/personalia/planType/PlanTypeCollection/index.d.ts +1 -0
  108. package/build/@office/models/personalia/planType/PlanTypeCollection/index.mjs +1 -0
  109. package/build/@office/models/personalia/planType/PlanTypeSingle/PlanTypeSingle.stories.d.ts +8 -0
  110. package/build/@office/models/personalia/planType/PlanTypeSingle/PlanTypeSingle.stories.mjs +47 -0
  111. package/build/@office/models/personalia/planType/PlanTypeSingle/PlanTypeSingle.vue +111 -0
  112. package/build/@office/models/personalia/planType/PlanTypeSingle/index.d.ts +1 -0
  113. package/build/@office/models/personalia/planType/PlanTypeSingle/index.mjs +1 -0
  114. package/build/@office/models/personalia/planType/index.d.ts +2 -0
  115. package/build/@office/models/personalia/planType/index.mjs +2 -0
  116. package/build/@office/models/personalia/progress/ProgressCollection/ProgressCollection.stories.d.ts +7 -0
  117. package/build/@office/models/personalia/progress/ProgressCollection/ProgressCollection.stories.mjs +36 -0
  118. package/build/@office/models/personalia/progress/ProgressCollection/ProgressCollection.vue +74 -0
  119. package/build/@office/models/personalia/progress/ProgressCollection/index.d.ts +1 -0
  120. package/build/@office/models/personalia/progress/ProgressCollection/index.mjs +1 -0
  121. package/build/@office/models/personalia/progress/ProgressNote.vue +108 -0
  122. package/build/@office/models/personalia/progress/ProgressSingle/ProgressSingle.stories.d.ts +8 -0
  123. package/build/@office/models/personalia/progress/ProgressSingle/ProgressSingle.stories.mjs +47 -0
  124. package/build/@office/models/personalia/progress/ProgressSingle/ProgressSingle.vue +339 -0
  125. package/build/@office/models/personalia/progress/ProgressSingle/index.d.ts +1 -0
  126. package/build/@office/models/personalia/progress/ProgressSingle/index.mjs +1 -0
  127. package/build/@office/models/personalia/progress/ProgressTomorrow.vue +276 -0
  128. package/build/@office/models/personalia/progress/ProgressYesterday.vue +268 -0
  129. package/build/@office/models/personalia/progress/elements/ProgressButton.vue +51 -0
  130. package/build/@office/models/personalia/progress/elements/ProgressNoteButton.vue +27 -0
  131. package/build/@office/models/personalia/progress/elements/index.d.ts +2 -0
  132. package/build/@office/models/personalia/progress/elements/index.mjs +2 -0
  133. package/build/@office/models/personalia/progress/index.d.ts +6 -0
  134. package/build/@office/models/personalia/progress/index.mjs +6 -0
  135. package/build/@office/models/personalia/progress/sections/ProgressNoteTab/ProgressNoteTab.vue +43 -0
  136. package/build/@office/models/personalia/progress/sections/ProgressNoteTab/index.d.ts +1 -0
  137. package/build/@office/models/personalia/progress/sections/ProgressNoteTab/index.mjs +1 -0
  138. package/build/@office/models/personalia/progress/sections/index.d.ts +1 -0
  139. package/build/@office/models/personalia/progress/sections/index.mjs +1 -0
  140. package/build/@office/models/personalia/progressAccess/ProgressAccessCollection/ProgressAccessCollection.stories.d.ts +7 -0
  141. package/build/@office/models/personalia/progressAccess/ProgressAccessCollection/ProgressAccessCollection.stories.mjs +36 -0
  142. package/build/@office/models/personalia/progressAccess/ProgressAccessCollection/ProgressAccessCollection.vue +25 -0
  143. package/build/@office/models/personalia/progressAccess/ProgressAccessCollection/index.d.ts +1 -0
  144. package/build/@office/models/personalia/progressAccess/ProgressAccessCollection/index.mjs +1 -0
  145. package/build/@office/models/personalia/progressAccess/ProgressAccessSingle/ProgressAccessSingle.stories.d.ts +8 -0
  146. package/build/@office/models/personalia/progressAccess/ProgressAccessSingle/ProgressAccessSingle.stories.mjs +47 -0
  147. package/build/@office/models/personalia/progressAccess/ProgressAccessSingle/ProgressAccessSingle.vue +47 -0
  148. package/build/@office/models/personalia/progressAccess/ProgressAccessSingle/index.d.ts +1 -0
  149. package/build/@office/models/personalia/progressAccess/ProgressAccessSingle/index.mjs +1 -0
  150. package/build/@office/models/personalia/progressAccess/ProgressAccessSupervisor.vue +47 -0
  151. package/build/@office/models/personalia/progressAccess/index.d.ts +3 -0
  152. package/build/@office/models/personalia/progressAccess/index.mjs +3 -0
  153. package/build/@office/models/personalia/responsibility/ResponsibilityCollection/ResponsibilityCollection.stories.d.ts +7 -0
  154. package/build/@office/models/personalia/responsibility/ResponsibilityCollection/ResponsibilityCollection.stories.mjs +36 -0
  155. package/build/@office/models/personalia/responsibility/ResponsibilityCollection/ResponsibilityCollection.vue +25 -0
  156. package/build/@office/models/personalia/responsibility/ResponsibilityCollection/index.d.ts +1 -0
  157. package/build/@office/models/personalia/responsibility/ResponsibilityCollection/index.mjs +1 -0
  158. package/build/@office/models/personalia/responsibility/ResponsibilitySingle/ResponsibilitySingle.stories.d.ts +8 -0
  159. package/build/@office/models/personalia/responsibility/ResponsibilitySingle/ResponsibilitySingle.stories.mjs +47 -0
  160. package/build/@office/models/personalia/responsibility/ResponsibilitySingle/ResponsibilitySingle.vue +217 -0
  161. package/build/@office/models/personalia/responsibility/ResponsibilitySingle/index.d.ts +1 -0
  162. package/build/@office/models/personalia/responsibility/ResponsibilitySingle/index.mjs +1 -0
  163. package/build/@office/models/personalia/responsibility/ResponsibilityStaff.vue +173 -0
  164. package/build/@office/models/personalia/responsibility/ResponsibilitySupervisor.vue +173 -0
  165. package/build/@office/models/personalia/responsibility/index.d.ts +4 -0
  166. package/build/@office/models/personalia/responsibility/index.mjs +4 -0
  167. package/build/@office/models/personalia/responsibilityType/ResponsibilityTypeCollection/ResponsibilityTypeCollection.stories.d.ts +7 -0
  168. package/build/@office/models/personalia/responsibilityType/ResponsibilityTypeCollection/ResponsibilityTypeCollection.stories.mjs +36 -0
  169. package/build/@office/models/personalia/responsibilityType/ResponsibilityTypeCollection/ResponsibilityTypeCollection.vue +25 -0
  170. package/build/@office/models/personalia/responsibilityType/ResponsibilityTypeCollection/index.d.ts +1 -0
  171. package/build/@office/models/personalia/responsibilityType/ResponsibilityTypeCollection/index.mjs +1 -0
  172. package/build/@office/models/personalia/responsibilityType/ResponsibilityTypeSingle/ResponsibilityTypeSingle.stories.d.ts +8 -0
  173. package/build/@office/models/personalia/responsibilityType/ResponsibilityTypeSingle/ResponsibilityTypeSingle.stories.mjs +47 -0
  174. package/build/@office/models/personalia/responsibilityType/ResponsibilityTypeSingle/ResponsibilityTypeSingle.vue +51 -0
  175. package/build/@office/models/personalia/responsibilityType/ResponsibilityTypeSingle/index.d.ts +1 -0
  176. package/build/@office/models/personalia/responsibilityType/ResponsibilityTypeSingle/index.mjs +1 -0
  177. package/build/@office/models/personalia/responsibilityType/index.d.ts +2 -0
  178. package/build/@office/models/personalia/responsibilityType/index.mjs +2 -0
  179. package/build/@office/models/personalia/situation/SituationCollection/SituationCollection.stories.d.ts +7 -0
  180. package/build/@office/models/personalia/situation/SituationCollection/SituationCollection.stories.mjs +36 -0
  181. package/build/@office/models/personalia/situation/SituationCollection/SituationCollection.vue +23 -0
  182. package/build/@office/models/personalia/situation/SituationCollection/index.d.ts +1 -0
  183. package/build/@office/models/personalia/situation/SituationCollection/index.mjs +1 -0
  184. package/build/@office/models/personalia/situation/SituationSingle/SituationSingle.stories.d.ts +8 -0
  185. package/build/@office/models/personalia/situation/SituationSingle/SituationSingle.stories.mjs +47 -0
  186. package/build/@office/models/personalia/situation/SituationSingle/SituationSingle.vue +82 -0
  187. package/build/@office/models/personalia/situation/SituationSingle/index.d.ts +1 -0
  188. package/build/@office/models/personalia/situation/SituationSingle/index.mjs +1 -0
  189. package/build/@office/models/personalia/situation/SituationSupportive.vue +98 -0
  190. package/build/@office/models/personalia/situation/SituationWork.vue +137 -0
  191. package/build/@office/models/personalia/situation/index.d.ts +4 -0
  192. package/build/@office/models/personalia/situation/index.mjs +4 -0
  193. package/build/@office/models/personalia/situationType/SituationTypeCollection/SituationTypeCollection.stories.d.ts +7 -0
  194. package/build/@office/models/personalia/situationType/SituationTypeCollection/SituationTypeCollection.stories.mjs +36 -0
  195. package/build/@office/models/personalia/situationType/SituationTypeCollection/SituationTypeCollection.vue +23 -0
  196. package/build/@office/models/personalia/situationType/SituationTypeCollection/index.d.ts +1 -0
  197. package/build/@office/models/personalia/situationType/SituationTypeCollection/index.mjs +1 -0
  198. package/build/@office/models/personalia/situationType/SituationTypeSingle/SituationSingle.stories.d.ts +8 -0
  199. package/build/@office/models/personalia/situationType/SituationTypeSingle/SituationSingle.stories.mjs +47 -0
  200. package/build/@office/models/personalia/situationType/SituationTypeSingle/SituationTypeSingle.vue +48 -0
  201. package/build/@office/models/personalia/situationType/SituationTypeSingle/index.d.ts +1 -0
  202. package/build/@office/models/personalia/situationType/SituationTypeSingle/index.mjs +1 -0
  203. package/build/@office/models/personalia/situationType/index.d.ts +2 -0
  204. package/build/@office/models/personalia/situationType/index.mjs +2 -0
  205. package/build/@office/models/personalia/staff/StaffAccess.vue +195 -0
  206. package/build/@office/models/personalia/staff/StaffCollection/StaffCollection.stories.d.ts +7 -0
  207. package/build/@office/models/personalia/staff/StaffCollection/StaffCollection.stories.mjs +36 -0
  208. package/build/@office/models/personalia/staff/StaffCollection/StaffCollection.vue +22 -0
  209. package/build/@office/models/personalia/staff/StaffCollection/index.d.ts +1 -0
  210. package/build/@office/models/personalia/staff/StaffCollection/index.mjs +1 -0
  211. package/build/@office/models/personalia/staff/StaffIdentity.vue +253 -0
  212. package/build/@office/models/personalia/staff/StaffOperasional.vue +187 -0
  213. package/build/@office/models/personalia/staff/StaffSingle/StaffSingle.stories.d.ts +8 -0
  214. package/build/@office/models/personalia/staff/StaffSingle/StaffSingle.stories.mjs +47 -0
  215. package/build/@office/models/personalia/staff/StaffSingle/StaffSingle.vue +188 -0
  216. package/build/@office/models/personalia/staff/StaffSingle/index.d.ts +1 -0
  217. package/build/@office/models/personalia/staff/StaffSingle/index.mjs +1 -0
  218. package/build/@office/models/personalia/staff/index.d.ts +5 -0
  219. package/build/@office/models/personalia/staff/index.mjs +5 -0
  220. package/build/@office/models/personalia/submission/SubmissionAudit.vue +624 -0
  221. package/build/@office/models/personalia/submission/SubmissionCollection/SubmissionCollection.stories.d.ts +7 -0
  222. package/build/@office/models/personalia/submission/SubmissionCollection/SubmissionCollection.stories.mjs +36 -0
  223. package/build/@office/models/personalia/submission/SubmissionCollection/SubmissionCollection.vue +25 -0
  224. package/build/@office/models/personalia/submission/SubmissionCollection/index.d.ts +1 -0
  225. package/build/@office/models/personalia/submission/SubmissionCollection/index.mjs +1 -0
  226. package/build/@office/models/personalia/submission/SubmissionDecision.vue +554 -0
  227. package/build/@office/models/personalia/submission/SubmissionFollowUp.vue +241 -0
  228. package/build/@office/models/personalia/submission/SubmissionSingle/SubmissionSingle.stories.d.ts +8 -0
  229. package/build/@office/models/personalia/submission/SubmissionSingle/SubmissionSingle.stories.mjs +47 -0
  230. package/build/@office/models/personalia/submission/SubmissionSingle/SubmissionSingle.vue +218 -0
  231. package/build/@office/models/personalia/submission/SubmissionSingle/index.d.ts +1 -0
  232. package/build/@office/models/personalia/submission/SubmissionSingle/index.mjs +1 -0
  233. package/build/@office/models/personalia/submission/SubmissionStaff.vue +495 -0
  234. package/build/@office/models/personalia/submission/SubmissionSupervisor.vue +241 -0
  235. package/build/@office/models/personalia/submission/SubmissionWaitingDecision.vue +505 -0
  236. package/build/@office/models/personalia/submission/index.d.ts +8 -0
  237. package/build/@office/models/personalia/submission/index.mjs +8 -0
  238. package/build/@office/models/personalia/submission/sections/SubmissionDetailTab/SubmissionDetailTab.vue +53 -0
  239. package/build/@office/models/personalia/submission/sections/SubmissionDetailTab/index.d.ts +1 -0
  240. package/build/@office/models/personalia/submission/sections/SubmissionDetailTab/index.mjs +1 -0
  241. package/build/@office/models/personalia/submission/sections/SubmissionDocumentTab/SubmissionDocumentTab.vue +57 -0
  242. package/build/@office/models/personalia/submission/sections/SubmissionDocumentTab/index.d.ts +1 -0
  243. package/build/@office/models/personalia/submission/sections/SubmissionDocumentTab/index.mjs +1 -0
  244. package/build/@office/models/personalia/submission/sections/index.d.ts +2 -0
  245. package/build/@office/models/personalia/submission/sections/index.mjs +2 -0
  246. package/build/@office/models/personalia/submissionType/SubmissionTypeCollection/SubmissionTypeCollection.stories.d.ts +7 -0
  247. package/build/@office/models/personalia/submissionType/SubmissionTypeCollection/SubmissionTypeCollection.stories.mjs +36 -0
  248. package/build/@office/models/personalia/submissionType/SubmissionTypeCollection/SubmissionTypeCollection.vue +25 -0
  249. package/build/@office/models/personalia/submissionType/SubmissionTypeCollection/index.d.ts +1 -0
  250. package/build/@office/models/personalia/submissionType/SubmissionTypeCollection/index.mjs +1 -0
  251. package/build/@office/models/personalia/submissionType/SubmissionTypeSingle/SubmissionTypeSingle.stories.d.ts +8 -0
  252. package/build/@office/models/personalia/submissionType/SubmissionTypeSingle/SubmissionTypeSingle.stories.mjs +47 -0
  253. package/build/@office/models/personalia/submissionType/SubmissionTypeSingle/SubmissionTypeSingle.vue +48 -0
  254. package/build/@office/models/personalia/submissionType/SubmissionTypeSingle/index.d.ts +1 -0
  255. package/build/@office/models/personalia/submissionType/SubmissionTypeSingle/index.mjs +1 -0
  256. package/build/@office/models/personalia/submissionType/index.d.ts +2 -0
  257. package/build/@office/models/personalia/submissionType/index.mjs +2 -0
  258. package/build/@office/models/personalia/target/TargetBranch.vue +131 -0
  259. package/build/@office/models/personalia/target/TargetCollection/TargetCollection.stories.d.ts +7 -0
  260. package/build/@office/models/personalia/target/TargetCollection/TargetCollection.stories.mjs +36 -0
  261. package/build/@office/models/personalia/target/TargetCollection/TargetCollection.vue +22 -0
  262. package/build/@office/models/personalia/target/TargetCollection/index.d.ts +1 -0
  263. package/build/@office/models/personalia/target/TargetCollection/index.mjs +1 -0
  264. package/build/@office/models/personalia/target/TargetSingle/TargetSingle.stories.d.ts +8 -0
  265. package/build/@office/models/personalia/target/TargetSingle/TargetSingle.stories.mjs +47 -0
  266. package/build/@office/models/personalia/target/TargetSingle/TargetSingle.vue +131 -0
  267. package/build/@office/models/personalia/target/TargetSingle/index.d.ts +1 -0
  268. package/build/@office/models/personalia/target/TargetSingle/index.mjs +1 -0
  269. package/build/@office/models/personalia/target/index.d.ts +3 -0
  270. package/build/@office/models/personalia/target/index.mjs +3 -0
  271. package/build/@office/models/personalia/task/TaskCollection/TaskCollection.stories.d.ts +7 -0
  272. package/build/@office/models/personalia/task/TaskCollection/TaskCollection.stories.mjs +36 -0
  273. package/build/@office/models/personalia/task/TaskCollection/TaskCollection.vue +20 -0
  274. package/build/@office/models/personalia/task/TaskCollection/index.d.ts +1 -0
  275. package/build/@office/models/personalia/task/TaskCollection/index.mjs +1 -0
  276. package/build/@office/models/personalia/task/TaskSingle/TaskSingle.stories.d.ts +8 -0
  277. package/build/@office/models/personalia/task/TaskSingle/TaskSingle.stories.mjs +47 -0
  278. package/build/@office/models/personalia/task/TaskSingle/TaskSingle.vue +337 -0
  279. package/build/@office/models/personalia/task/TaskSingle/index.d.ts +1 -0
  280. package/build/@office/models/personalia/task/TaskSingle/index.mjs +1 -0
  281. package/build/@office/models/personalia/task/TaskWork.vue +186 -0
  282. package/build/@office/models/personalia/task/elements/TaskWorkButton.vue +157 -0
  283. package/build/@office/models/personalia/task/elements/index.d.ts +1 -0
  284. package/build/@office/models/personalia/task/elements/index.mjs +1 -0
  285. package/build/@office/models/personalia/task/index.d.ts +4 -0
  286. package/build/@office/models/personalia/task/index.mjs +4 -0
  287. package/build/@office/plugin.d.ts +3 -0
  288. package/build/@office/plugin.mjs +12 -0
  289. package/build/@package/@office/common/NeonTime/NeonTime.vue.d.ts +37 -0
  290. package/build/@package/@office/common/NeonTime/index.d.ts +1 -0
  291. package/build/@package/@office/common/OperasionalIdentitas/OperasionalIdentitas.vue.d.ts +106 -0
  292. package/build/@package/@office/common/OperasionalIdentitas/index.d.ts +1 -0
  293. package/build/@package/@office/common/index.d.ts +3 -0
  294. package/build/@package/@office/common/providers/index.d.ts +1 -0
  295. package/build/@package/@office/common/providers/operasional/attendance.store.d.ts +15 -0
  296. package/build/@package/@office/common/providers/operasional/bus.d.ts +7 -0
  297. package/build/@package/@office/common/providers/operasional/index.d.ts +6 -0
  298. package/build/@package/@office/common/providers/operasional/operasional.store.d.ts +2 -0
  299. package/build/@package/@office/common/providers/operasional/operasional.types.d.ts +13 -0
  300. package/build/@package/@office/common/providers/operasional/useOperasional.d.ts +9 -0
  301. package/build/@package/@office/common/providers/operasional/withOperasional.d.ts +2 -0
  302. package/build/@package/@office/common/types/type.utils.d.ts +7 -0
  303. package/build/@package/@office/common/utils/index.d.ts +1 -0
  304. package/build/@package/@office/common/utils/util.date.d.ts +6 -0
  305. package/build/@package/@office/config.d.ts +6 -0
  306. package/build/@package/@office/exports.d.ts +3 -0
  307. package/build/@package/@office/features/index.d.ts +1 -0
  308. package/build/@package/@office/index.d.ts +2 -0
  309. package/build/@package/@office/models/index.d.ts +1 -0
  310. package/build/@package/@office/models/personalia/attendance/AttendanceCollection/AttendanceCollection.vue.d.ts +43 -0
  311. package/build/@package/@office/models/personalia/attendance/AttendanceCollection/index.d.ts +1 -0
  312. package/build/@package/@office/models/personalia/attendance/AttendanceManager.vue.d.ts +2 -0
  313. package/build/@package/@office/models/personalia/attendance/AttendanceSingle/AttendanceSingle.vue.d.ts +2 -0
  314. package/build/@package/@office/models/personalia/attendance/AttendanceSingle/index.d.ts +1 -0
  315. package/build/@package/@office/models/personalia/attendance/AttendanceStaff.vue.d.ts +2 -0
  316. package/build/@package/@office/models/personalia/attendance/AttendanceSupervisor.vue.d.ts +2 -0
  317. package/build/@package/@office/models/personalia/attendance/index.d.ts +5 -0
  318. package/build/@package/@office/models/personalia/checkIn/CheckInAccess.vue.d.ts +6 -0
  319. package/build/@package/@office/models/personalia/checkIn/CheckInCollection/CheckInCollection.vue.d.ts +2 -0
  320. package/build/@package/@office/models/personalia/checkIn/CheckInCollection/index.d.ts +1 -0
  321. package/build/@package/@office/models/personalia/checkIn/CheckInExternal.vue.d.ts +2 -0
  322. package/build/@package/@office/models/personalia/checkIn/CheckInPresenceCollection.vue.d.ts +2 -0
  323. package/build/@package/@office/models/personalia/checkIn/CheckInScanError.vue.d.ts +2 -0
  324. package/build/@package/@office/models/personalia/checkIn/CheckInScanSuccess.vue.d.ts +6 -0
  325. package/build/@package/@office/models/personalia/checkIn/CheckInScanner.vue.d.ts +12 -0
  326. package/build/@package/@office/models/personalia/checkIn/CheckInSingle/CheckInSingle.vue.d.ts +2 -0
  327. package/build/@package/@office/models/personalia/checkIn/CheckInSingle/index.d.ts +1 -0
  328. package/build/@package/@office/models/personalia/checkIn/CheckInSupervisor.vue.d.ts +2 -0
  329. package/build/@package/@office/models/personalia/checkIn/index.d.ts +9 -0
  330. package/build/@package/@office/models/personalia/index.d.ts +15 -0
  331. package/build/@package/@office/models/personalia/plan/PlanCollection/PlanCollection.vue.d.ts +2 -0
  332. package/build/@package/@office/models/personalia/plan/PlanCollection/index.d.ts +1 -0
  333. package/build/@package/@office/models/personalia/plan/PlanSingle/PlanSingle.vue.d.ts +2 -0
  334. package/build/@package/@office/models/personalia/plan/PlanSingle/index.d.ts +1 -0
  335. package/build/@package/@office/models/personalia/plan/PlanStaff.vue.d.ts +2 -0
  336. package/build/@package/@office/models/personalia/plan/index.d.ts +3 -0
  337. package/build/@package/@office/models/personalia/planType/PlanTypeCollection/PlanTypeCollection.vue.d.ts +2 -0
  338. package/build/@package/@office/models/personalia/planType/PlanTypeCollection/index.d.ts +1 -0
  339. package/build/@package/@office/models/personalia/planType/PlanTypeSingle/PlanTypeSingle.vue.d.ts +2 -0
  340. package/build/@package/@office/models/personalia/planType/PlanTypeSingle/index.d.ts +1 -0
  341. package/build/@package/@office/models/personalia/planType/index.d.ts +2 -0
  342. package/build/@package/@office/models/personalia/progress/ProgressCollection/ProgressCollection.vue.d.ts +43 -0
  343. package/build/@package/@office/models/personalia/progress/ProgressCollection/index.d.ts +1 -0
  344. package/build/@package/@office/models/personalia/progress/ProgressNote.vue.d.ts +2 -0
  345. package/build/@package/@office/models/personalia/progress/ProgressSingle/ProgressSingle.vue.d.ts +2 -0
  346. package/build/@package/@office/models/personalia/progress/ProgressSingle/index.d.ts +1 -0
  347. package/build/@package/@office/models/personalia/progress/ProgressTomorrow.vue.d.ts +2 -0
  348. package/build/@package/@office/models/personalia/progress/ProgressYesterday.vue.d.ts +2 -0
  349. package/build/@package/@office/models/personalia/progress/elements/ProgressButton.vue.d.ts +2 -0
  350. package/build/@package/@office/models/personalia/progress/elements/ProgressNoteButton.vue.d.ts +2 -0
  351. package/build/@package/@office/models/personalia/progress/elements/index.d.ts +2 -0
  352. package/build/@package/@office/models/personalia/progress/index.d.ts +6 -0
  353. package/build/@package/@office/models/personalia/progress/sections/ProgressNoteTab/ProgressNoteTab.vue.d.ts +2 -0
  354. package/build/@package/@office/models/personalia/progress/sections/ProgressNoteTab/index.d.ts +1 -0
  355. package/build/@package/@office/models/personalia/progress/sections/index.d.ts +1 -0
  356. package/build/@package/@office/models/personalia/progressAccess/ProgressAccessCollection/ProgressAccessCollection.vue.d.ts +2 -0
  357. package/build/@package/@office/models/personalia/progressAccess/ProgressAccessCollection/index.d.ts +1 -0
  358. package/build/@package/@office/models/personalia/progressAccess/ProgressAccessSingle/ProgressAccessSingle.vue.d.ts +2 -0
  359. package/build/@package/@office/models/personalia/progressAccess/ProgressAccessSingle/index.d.ts +1 -0
  360. package/build/@package/@office/models/personalia/progressAccess/ProgressAccessSupervisor.vue.d.ts +2 -0
  361. package/build/@package/@office/models/personalia/progressAccess/index.d.ts +3 -0
  362. package/build/@package/@office/models/personalia/responsibility/ResponsibilityCollection/ResponsibilityCollection.vue.d.ts +2 -0
  363. package/build/@package/@office/models/personalia/responsibility/ResponsibilityCollection/index.d.ts +1 -0
  364. package/build/@package/@office/models/personalia/responsibility/ResponsibilitySingle/ResponsibilitySingle.vue.d.ts +2 -0
  365. package/build/@package/@office/models/personalia/responsibility/ResponsibilitySingle/index.d.ts +1 -0
  366. package/build/@package/@office/models/personalia/responsibility/ResponsibilityStaff.vue.d.ts +2 -0
  367. package/build/@package/@office/models/personalia/responsibility/ResponsibilitySupervisor.vue.d.ts +2 -0
  368. package/build/@package/@office/models/personalia/responsibility/index.d.ts +4 -0
  369. package/build/@package/@office/models/personalia/responsibilityType/ResponsibilityTypeCollection/ResponsibilityTypeCollection.vue.d.ts +2 -0
  370. package/build/@package/@office/models/personalia/responsibilityType/ResponsibilityTypeCollection/index.d.ts +1 -0
  371. package/build/@package/@office/models/personalia/responsibilityType/ResponsibilityTypeSingle/ResponsibilityTypeSingle.vue.d.ts +2 -0
  372. package/build/@package/@office/models/personalia/responsibilityType/ResponsibilityTypeSingle/index.d.ts +1 -0
  373. package/build/@package/@office/models/personalia/responsibilityType/index.d.ts +2 -0
  374. package/build/@package/@office/models/personalia/situation/SituationCollection/SituationCollection.vue.d.ts +2 -0
  375. package/build/@package/@office/models/personalia/situation/SituationCollection/index.d.ts +1 -0
  376. package/build/@package/@office/models/personalia/situation/SituationSingle/SituationSingle.vue.d.ts +2 -0
  377. package/build/@package/@office/models/personalia/situation/SituationSingle/index.d.ts +1 -0
  378. package/build/@package/@office/models/personalia/situation/SituationSupportive.vue.d.ts +2 -0
  379. package/build/@package/@office/models/personalia/situation/SituationWork.vue.d.ts +2 -0
  380. package/build/@package/@office/models/personalia/situation/index.d.ts +4 -0
  381. package/build/@package/@office/models/personalia/situationType/SituationTypeCollection/SituationTypeCollection.vue.d.ts +2 -0
  382. package/build/@package/@office/models/personalia/situationType/SituationTypeCollection/index.d.ts +1 -0
  383. package/build/@package/@office/models/personalia/situationType/SituationTypeSingle/SituationTypeSingle.vue.d.ts +2 -0
  384. package/build/@package/@office/models/personalia/situationType/SituationTypeSingle/index.d.ts +1 -0
  385. package/build/@package/@office/models/personalia/situationType/index.d.ts +2 -0
  386. package/build/@package/@office/models/personalia/staff/StaffAccess.vue.d.ts +2 -0
  387. package/build/@package/@office/models/personalia/staff/StaffCollection/StaffCollection.vue.d.ts +2 -0
  388. package/build/@package/@office/models/personalia/staff/StaffCollection/index.d.ts +1 -0
  389. package/build/@package/@office/models/personalia/staff/StaffIdentity.vue.d.ts +2 -0
  390. package/build/@package/@office/models/personalia/staff/StaffOperasional.vue.d.ts +2 -0
  391. package/build/@package/@office/models/personalia/staff/StaffSingle/StaffSingle.vue.d.ts +2 -0
  392. package/build/@package/@office/models/personalia/staff/StaffSingle/index.d.ts +1 -0
  393. package/build/@package/@office/models/personalia/staff/index.d.ts +5 -0
  394. package/build/@package/@office/models/personalia/submission/SubmissionAudit.vue.d.ts +2 -0
  395. package/build/@package/@office/models/personalia/submission/SubmissionCollection/SubmissionCollection.vue.d.ts +2 -0
  396. package/build/@package/@office/models/personalia/submission/SubmissionCollection/index.d.ts +1 -0
  397. package/build/@package/@office/models/personalia/submission/SubmissionDecision.vue.d.ts +2 -0
  398. package/build/@package/@office/models/personalia/submission/SubmissionFollowUp.vue.d.ts +2 -0
  399. package/build/@package/@office/models/personalia/submission/SubmissionSingle/SubmissionSingle.vue.d.ts +2 -0
  400. package/build/@package/@office/models/personalia/submission/SubmissionSingle/index.d.ts +1 -0
  401. package/build/@package/@office/models/personalia/submission/SubmissionStaff.vue.d.ts +2 -0
  402. package/build/@package/@office/models/personalia/submission/SubmissionSupervisor.vue.d.ts +2 -0
  403. package/build/@package/@office/models/personalia/submission/SubmissionWaitingDecision.vue.d.ts +2 -0
  404. package/build/@package/@office/models/personalia/submission/index.d.ts +8 -0
  405. package/build/@package/@office/models/personalia/submission/sections/SubmissionDetailTab/SubmissionDetailTab.vue.d.ts +2 -0
  406. package/build/@package/@office/models/personalia/submission/sections/SubmissionDetailTab/index.d.ts +1 -0
  407. package/build/@package/@office/models/personalia/submission/sections/SubmissionDocumentTab/SubmissionDocumentTab.vue.d.ts +24 -0
  408. package/build/@package/@office/models/personalia/submission/sections/SubmissionDocumentTab/index.d.ts +1 -0
  409. package/build/@package/@office/models/personalia/submission/sections/index.d.ts +2 -0
  410. package/build/@package/@office/models/personalia/submissionType/SubmissionTypeCollection/SubmissionTypeCollection.vue.d.ts +2 -0
  411. package/build/@package/@office/models/personalia/submissionType/SubmissionTypeCollection/index.d.ts +1 -0
  412. package/build/@package/@office/models/personalia/submissionType/SubmissionTypeSingle/SubmissionTypeSingle.vue.d.ts +2 -0
  413. package/build/@package/@office/models/personalia/submissionType/SubmissionTypeSingle/index.d.ts +1 -0
  414. package/build/@package/@office/models/personalia/submissionType/index.d.ts +2 -0
  415. package/build/@package/@office/models/personalia/target/TargetBranch.vue.d.ts +2 -0
  416. package/build/@package/@office/models/personalia/target/TargetCollection/TargetCollection.vue.d.ts +2 -0
  417. package/build/@package/@office/models/personalia/target/TargetCollection/index.d.ts +1 -0
  418. package/build/@package/@office/models/personalia/target/TargetSingle/TargetSingle.vue.d.ts +2 -0
  419. package/build/@package/@office/models/personalia/target/TargetSingle/index.d.ts +1 -0
  420. package/build/@package/@office/models/personalia/target/index.d.ts +3 -0
  421. package/build/@package/@office/models/personalia/task/TaskCollection/TaskCollection.vue.d.ts +2 -0
  422. package/build/@package/@office/models/personalia/task/TaskCollection/index.d.ts +1 -0
  423. package/build/@package/@office/models/personalia/task/TaskSingle/TaskSingle.vue.d.ts +2 -0
  424. package/build/@package/@office/models/personalia/task/TaskSingle/index.d.ts +1 -0
  425. package/build/@package/@office/models/personalia/task/TaskWork.vue.d.ts +2 -0
  426. package/build/@package/@office/models/personalia/task/elements/TaskWorkButton.vue.d.ts +2 -0
  427. package/build/@package/@office/models/personalia/task/elements/index.d.ts +1 -0
  428. package/build/@package/@office/models/personalia/task/index.d.ts +4 -0
  429. package/build/@package/@office/plugin.d.ts +3 -0
  430. package/build/@package/index.d.ts +1 -0
  431. package/build/index.cjs +1 -0
  432. package/build/index.d.ts +1 -0
  433. package/build/index.mjs +1 -0
  434. package/build/mock/index.cjs +23367 -0
  435. package/build/mock/index.mjs +23350 -0
  436. package/build/mock/qr-scanner-worker.min-Bu8FMiXO.mjs +101 -0
  437. package/build/mock/qr-scanner-worker.min-DyvREpyM.js +101 -0
  438. package/build/mock/style.css +378 -0
  439. package/build/module.json +12 -0
  440. package/build/nuxt.cjs +5 -0
  441. package/build/nuxt.d.mts +36 -0
  442. package/build/nuxt.d.ts +36 -0
  443. package/build/nuxt.json +12 -0
  444. package/build/nuxt.mjs +250 -0
  445. package/build/runtime/plugins/plugin.operasional.d.ts +2 -0
  446. package/build/runtime/plugins/plugin.operasional.js +7 -0
  447. package/build/types.d.mts +19 -0
  448. package/build/types.d.ts +19 -0
  449. package/package.json +2 -2
@@ -0,0 +1,381 @@
1
+ <script setup lang="ts">
2
+ import { NeonSingle, useSingle } from '@neon.id/context'
3
+ import { NeonField, NeonForm } from '@neon.id/form'
4
+ import { NeonButton, NeonDivider } from '@neon.id/interfaces'
5
+ import { OfficeRelation, OfficeTab, OfficeTabs } from '@neon.id/office'
6
+ import { computed, ref, watch } from 'vue'
7
+ import { PromiseUtil } from '@neon.id/utils/promise'
8
+ import type {
9
+ TPersonaliaAttendanceModel,
10
+ Schema,
11
+ } from '@neutron.co.id/personalia-models'
12
+ import { DateUtil } from '../../..//common/utils/util.date'
13
+ import { useOperasional, NeonTime } from '../../../common'
14
+
15
+ const {
16
+ fields,
17
+ id,
18
+ initialValues,
19
+ values,
20
+ isLoading,
21
+ isChanged,
22
+ isReady,
23
+ isMain,
24
+ isNew,
25
+ saveOne,
26
+ discardChanges,
27
+ syncOne,
28
+ executeOne,
29
+ } = useSingle<Schema.Attendance, TPersonaliaAttendanceModel>()
30
+
31
+ const key = ref(0)
32
+ const diff = computed(() => {
33
+ return DateUtil.day(values.value.endedAt).diff(values.value.startedAt)
34
+ })
35
+
36
+ const duration = computed(() => {
37
+ if (isNaN(diff.value)) return '-'
38
+ const duration = DateUtil.day.duration(diff.value)
39
+ return duration.format('HH [jam] mm [menit]')
40
+ })
41
+
42
+ const reverseDiff = computed(() => {
43
+ return DateUtil.day(values.value.startedAt).diff(values.value.endedAt)
44
+ })
45
+ const reverseDuration = computed(() => {
46
+ if (isNaN(reverseDiff.value)) return '-'
47
+ const duration = DateUtil.day.duration(reverseDiff.value)
48
+ return duration.format('HH [jam] mm [menit]')
49
+ })
50
+
51
+ function setDefaultSchedule() {
52
+ const today = DateUtil.day()
53
+ const startedAt = today.second(0).millisecond(0)
54
+ const endedAt = startedAt.add(90, 'minute')
55
+
56
+ key.value++
57
+ }
58
+
59
+ function onStartedAtUpdate(date: any) {
60
+ if (!date) return
61
+
62
+ const currentEndedendedAt = DateUtil.day(values.value.endedAt)
63
+ let startedAt = DateUtil.day(date)
64
+ let endedAt = DateUtil.day(date)
65
+
66
+ startedAt = startedAt.second(0).millisecond(0)
67
+ endedAt = endedAt
68
+ .hour(currentEndedendedAt.hour())
69
+ .minute(currentEndedendedAt.minute())
70
+ .second(0)
71
+ .millisecond(0)
72
+
73
+ values.value.startedAt = startedAt.toISOString()
74
+ values.value.endedAt = endedAt.toISOString()
75
+ }
76
+
77
+ // OTHER
78
+
79
+ const { staff } = useOperasional()
80
+ const staffId = staff.value?.id || ''
81
+
82
+ watch(isNew, setDefaultValues, { immediate: true })
83
+
84
+ async function setDefaultValues() {
85
+ if (!isNew.value) return
86
+ await PromiseUtil.wait(500)
87
+
88
+ const defaultValues = {
89
+ submitStaffId: staffId,
90
+ submitStaff: staff.value,
91
+ } satisfies Schema.Attendance
92
+
93
+ values.value.submitStaffId = defaultValues.submitStaffId
94
+ values.value.submitStaff = defaultValues.submitStaff
95
+ }
96
+
97
+ const approvedAbsensi = async () => {
98
+ await executeOne('approvedAttendance', { attendanceId: id.value })
99
+ await syncOne()
100
+ }
101
+
102
+ const deleteAbsensi = async () => {
103
+ await executeOne('deleteAttendance', { attendanceId: id.value })
104
+ await syncOne()
105
+ window.location.href = '/penugasan/manager-attendances'
106
+ }
107
+ const rejectedAbsensi = async () => {
108
+ await executeOne('rejectedAttendance', { attendanceId: id.value })
109
+ await syncOne()
110
+ }
111
+ </script>
112
+
113
+ <template>
114
+ <NeonSingle class="neu-attendance-single">
115
+ <OfficeTabs :use-url="isMain">
116
+ <OfficeTab handle="info" icon="circle-info" title="Info">
117
+ <NeonForm
118
+ handle="info"
119
+ :initial-values="initialValues"
120
+ :is-loading="isLoading"
121
+ :is-changed="isChanged"
122
+ use-unsaved
123
+ @cancel="discardChanges"
124
+ @submit="saveOne"
125
+ >
126
+ <div class="flex flex-wrap">
127
+ <div class="mt-2">
128
+ <NeonField>
129
+ <template #input>
130
+ <NeonButton
131
+ size="md"
132
+ color="success"
133
+ icon-left="x"
134
+ :is-disabled="
135
+ values.status == 'approved' || values.status == 'rejected'
136
+ "
137
+ @click="rejectedAbsensi"
138
+ >Ditolak</NeonButton
139
+ >
140
+ </template>
141
+ </NeonField>
142
+ </div>
143
+ &nbsp;&nbsp;
144
+ <div class="mt-2">
145
+ <NeonField>
146
+ <template #input>
147
+ <NeonButton
148
+ size="md"
149
+ color="warning"
150
+ icon-left="trash-can"
151
+ @click="deleteAbsensi"
152
+ >Dihapus</NeonButton
153
+ >
154
+ </template>
155
+ </NeonField>
156
+ </div>
157
+ </div>
158
+
159
+ <OfficeRelation
160
+ v-model="values"
161
+ :field="fields.submitStaff"
162
+ is-disabled
163
+ />
164
+
165
+ <NeonField
166
+ :key="key"
167
+ :model-value="values.startedAt"
168
+ v-bind="{
169
+ handle: 'startedAt',
170
+ name: 'Tanggal',
171
+ type: 'date',
172
+ input: 'date2',
173
+ options: {
174
+ note: 'Tanggal absensi.',
175
+ },
176
+ }"
177
+ :is-disabled="
178
+ values.status == 'approved' || values.status == 'rejected'
179
+ "
180
+ @update:model-value="onStartedAtUpdate"
181
+ />
182
+
183
+ <NeonField
184
+ v-model="values.type"
185
+ v-bind="fields.type"
186
+ :is-disabled="
187
+ values.status == 'approved' || values.status == 'rejected'
188
+ "
189
+ />
190
+
191
+ <OfficeRelation
192
+ v-model="values"
193
+ :field="fields.decideStaff"
194
+ :is-disabled="
195
+ values.status == 'approved' || values.status == 'rejected'
196
+ "
197
+ />
198
+
199
+ <OfficeRelation
200
+ v-if="values.type == 'leave'"
201
+ v-model="values"
202
+ :field="fields.delegateStaffs"
203
+ :is-disabled="
204
+ values.status == 'approved' || values.status == 'rejected'
205
+ "
206
+ />
207
+
208
+ <NeonField
209
+ v-if="isNew || isReady"
210
+ v-model="values.notes"
211
+ v-bind="fields.notes"
212
+ />
213
+
214
+ <NeonDivider v-if="values.type" is-dashed label="Keterangan" />
215
+
216
+ <NeonField
217
+ v-if="
218
+ values.type == 'dayOff' ||
219
+ values.type == 'sick' ||
220
+ values.type == 'permission' ||
221
+ values.type == 'leave'
222
+ "
223
+ v-model="values.submittedAt"
224
+ v-bind="fields.submittedAt"
225
+ is-disabled
226
+ />
227
+
228
+ <!-- EARLY GO HOME -->
229
+ <div
230
+ v-if="values.type == 'homeEarly'"
231
+ class="grid gap-2 sm:grid-cols-2"
232
+ >
233
+ <NeonField
234
+ v-model="values.startedAt"
235
+ v-bind="{
236
+ handle: 'startedAt',
237
+ name: 'Jam Pulang Kerja',
238
+ options: {
239
+ note: 'Jam pulang kerja.',
240
+ },
241
+ }"
242
+ >
243
+ <template #input>
244
+ <NeonTime
245
+ v-model="values.startedAt"
246
+ :is-loading="isLoading"
247
+ class="mt-2"
248
+ />
249
+ </template>
250
+ </NeonField>
251
+
252
+ <NeonField
253
+ v-model="values.endedAt"
254
+ v-bind="{
255
+ handle: 'endedAt',
256
+ name: 'Jam Pulang Lebih Awal',
257
+ options: {
258
+ note: 'Jam pulang lebih awal.',
259
+ },
260
+ }"
261
+ >
262
+ <template #input>
263
+ <NeonTime
264
+ v-model="values.endedAt"
265
+ :is-loading="isLoading"
266
+ class="mt-2"
267
+ />
268
+
269
+ <div class="text-right text-fg-subdued text-sm">
270
+ {{ reverseDuration }}
271
+ </div>
272
+ </template>
273
+ </NeonField>
274
+ </div>
275
+
276
+ <!-- COME TOO LATE -->
277
+ <div
278
+ v-if="values.type == 'comeLate'"
279
+ class="grid gap-2 sm:grid-cols-2"
280
+ >
281
+ <NeonField
282
+ v-model="values.startedAt"
283
+ v-bind="{
284
+ handle: 'startedAt',
285
+ name: 'Jam Datang',
286
+ options: {
287
+ note: 'Jam Datang kerja.',
288
+ },
289
+ }"
290
+ >
291
+ <template #input>
292
+ <NeonTime
293
+ v-model="values.startedAt"
294
+ :is-loading="isLoading"
295
+ class="mt-2"
296
+ />
297
+ </template>
298
+ </NeonField>
299
+
300
+ <NeonField
301
+ v-model="values.endedAt"
302
+ v-bind="{
303
+ handle: 'endedAt',
304
+ name: 'Jam Datang Terlambat',
305
+ options: {
306
+ note: 'Jam datang terlambat.',
307
+ },
308
+ }"
309
+ >
310
+ <template #input>
311
+ <NeonTime
312
+ v-model="values.endedAt"
313
+ :is-loading="isLoading"
314
+ class="mt-2"
315
+ />
316
+
317
+ <div class="text-right text-fg-subdued text-sm">
318
+ {{ duration }}
319
+ </div>
320
+ </template>
321
+ </NeonField>
322
+ </div>
323
+
324
+ <!-- TIMEOUT -->
325
+ <div
326
+ v-if="values.type == 'timeout'"
327
+ class="grid gap-2 sm:grid-cols-2"
328
+ >
329
+ <NeonField
330
+ v-model="values.startedAt"
331
+ v-bind="{
332
+ handle: 'startedAt',
333
+ name: 'Mulai',
334
+ options: {
335
+ note: 'Jam mulai.',
336
+ },
337
+ }"
338
+ >
339
+ <template #input>
340
+ <NeonTime
341
+ v-model="values.startedAt"
342
+ :is-loading="isLoading"
343
+ class="mt-2"
344
+ />
345
+ </template>
346
+ </NeonField>
347
+
348
+ <NeonField
349
+ v-model="values.endedAt"
350
+ v-bind="{
351
+ handle: 'endedAt',
352
+ name: 'Selesai',
353
+ options: {
354
+ note: 'Jam selesai.',
355
+ },
356
+ }"
357
+ >
358
+ <template #input>
359
+ <NeonTime
360
+ v-model="values.endedAt"
361
+ :is-loading="isLoading"
362
+ class="mt-2"
363
+ />
364
+
365
+ <div class="text-right text-fg-subdued text-sm">
366
+ {{ duration }}
367
+ </div>
368
+ </template>
369
+ </NeonField>
370
+ </div>
371
+ </NeonForm>
372
+ </OfficeTab>
373
+ </OfficeTabs>
374
+ </NeonSingle>
375
+ </template>
376
+
377
+ <style scoped>
378
+ .neu-attendance-single {
379
+ @apply block;
380
+ }
381
+ </style>
@@ -0,0 +1,8 @@
1
+ import type { Meta } from '@storybook/vue3';
2
+ import AttendanceSingle from './AttendanceSingle.vue';
3
+ declare const _default: Meta<typeof AttendanceSingle>;
4
+ export default _default;
5
+ export declare const New: import("@storybook/csf").StoryAnnotations<import("@storybook/vue3").VueRenderer, {}, {}>;
6
+ export declare const Existing: import("@storybook/csf").StoryAnnotations<import("@storybook/vue3").VueRenderer, {}, {}>;
7
+ export declare const Content: import("@storybook/csf").StoryAnnotations<import("@storybook/vue3").VueRenderer, {}, {}>;
8
+ export declare const $DefaultView: any;
@@ -0,0 +1,47 @@
1
+ import { StoryUtil } from "@neon.id/story/helpers";
2
+ import { AttendanceModel } from "@neutron.co.id/personalia-models";
3
+ import { AttendanceSingleView } from "@neutron.co.id/operasional-modules";
4
+ import AttendanceSingle from "./AttendanceSingle.vue";
5
+ import { decorateSingle, viewSingle, wrapSingle } from "@mock";
6
+ export default {
7
+ title: "Office/Attendance/Single",
8
+ tags: [],
9
+ component: AttendanceSingle,
10
+ parameters: StoryUtil.parameters({
11
+ description: "`AttendanceSingle`",
12
+ layout: "fullscreen",
13
+ controls: { exclude: ["colors"] },
14
+ backgrounds: { default: "light" }
15
+ })
16
+ };
17
+ export const New = StoryUtil.story({
18
+ description: "New.",
19
+ decorators: decorateSingle({
20
+ model: AttendanceModel
21
+ })
22
+ });
23
+ export const Existing = StoryUtil.story({
24
+ description: "Existing.",
25
+ args: { id: "" },
26
+ decorators: decorateSingle({
27
+ model: AttendanceModel
28
+ // id: '___',
29
+ })
30
+ });
31
+ export const Content = StoryUtil.story({
32
+ description: "Inside content.",
33
+ render: wrapSingle(AttendanceSingle),
34
+ args: { id: "" },
35
+ decorators: decorateSingle({
36
+ model: AttendanceModel
37
+ // id: '___',
38
+ })
39
+ });
40
+ export const $DefaultView = viewSingle({
41
+ description: "Default view.",
42
+ component: AttendanceSingleView,
43
+ props: {
44
+ // id: '___',
45
+ overrides: {}
46
+ }
47
+ });
@@ -0,0 +1,166 @@
1
+ <script setup lang="ts">
2
+ import { NeonSingle, useSingle } from '@neon.id/context'
3
+ import { NeonField, NeonForm } from '@neon.id/form'
4
+ import { NeonDivider } from '@neon.id/interfaces'
5
+ import { OfficeRelation, OfficeTab, OfficeTabs } from '@neon.id/office'
6
+ import { computed, ref } from 'vue'
7
+ import type {
8
+ TPersonaliaAttendanceModel,
9
+ Schema,
10
+ } from '@neutron.co.id/personalia-models'
11
+ import { NeonTime } from '../../../../common'
12
+ import { DateUtil } from '../../../../common/utils/util.date'
13
+
14
+ const {
15
+ fields,
16
+ initialValues,
17
+ values,
18
+ isLoading,
19
+ isChanged,
20
+ isReady,
21
+ isMain,
22
+ isNew,
23
+ saveOne,
24
+ discardChanges,
25
+ } = useSingle<Schema.Attendance, TPersonaliaAttendanceModel>()
26
+
27
+ const key = ref(0)
28
+ const diff = computed(() => {
29
+ return DateUtil.day(values.value.endedAt).diff(values.value.startedAt)
30
+ })
31
+
32
+ const duration = computed(() => {
33
+ if (isNaN(diff.value)) return '-'
34
+ const duration = DateUtil.day.duration(diff.value)
35
+ return duration.format('HH [jam] mm [menit]')
36
+ })
37
+
38
+ const reverseDiff = computed(() => {
39
+ return DateUtil.day(values.value.startedAt).diff(values.value.endedAt)
40
+ })
41
+
42
+ function onStartedAtUpdate(date: any) {
43
+ if (!date) return
44
+
45
+ const currentEndedendedAt = DateUtil.day(values.value.endedAt)
46
+ let startedAt = DateUtil.day(date)
47
+ let endedAt = DateUtil.day(date)
48
+
49
+ startedAt = startedAt.second(0).millisecond(0)
50
+ endedAt = endedAt
51
+ .hour(currentEndedendedAt.hour())
52
+ .minute(currentEndedendedAt.minute())
53
+ .second(0)
54
+ .millisecond(0)
55
+
56
+ values.value.startedAt = startedAt.toISOString()
57
+ values.value.endedAt = endedAt.toISOString()
58
+ }
59
+ </script>
60
+
61
+ <template>
62
+ <NeonSingle class="neu-attendance-single">
63
+ <OfficeTabs :use-url="isMain">
64
+ <OfficeTab handle="info" icon="circle-info" title="Info">
65
+ <NeonForm
66
+ handle="info"
67
+ :initial-values="initialValues"
68
+ :is-loading="isLoading"
69
+ :is-changed="isChanged"
70
+ use-unsaved
71
+ @cancel="discardChanges"
72
+ @submit="saveOne"
73
+ >
74
+ <NeonField v-model="values.status" v-bind="fields.status" />
75
+
76
+ <OfficeRelation v-model="values" :field="fields.submitStaff" />
77
+
78
+ <NeonField
79
+ :key="key"
80
+ :model-value="values.startedAt"
81
+ v-bind="{
82
+ handle: 'startedAt',
83
+ name: 'Tanggal',
84
+ type: 'date',
85
+ input: 'date2',
86
+ options: {
87
+ note: 'Tanggal absensi.',
88
+ },
89
+ }"
90
+ @update:model-value="onStartedAtUpdate"
91
+ />
92
+
93
+ <NeonField v-model="values.type" v-bind="fields.type" />
94
+
95
+ <OfficeRelation v-model="values" :field="fields.decideStaff" />
96
+
97
+ <OfficeRelation
98
+ v-if="values.type == 'leave'"
99
+ v-model="values"
100
+ :field="fields.delegateStaffs"
101
+ />
102
+
103
+ <NeonField
104
+ v-if="isNew || isReady"
105
+ v-model="values.notes"
106
+ v-bind="fields.notes"
107
+ />
108
+
109
+ <NeonDivider is-dashed label="Keterangan" />
110
+
111
+ <NeonField v-model="values.submittedAt" v-bind="fields.submittedAt" />
112
+
113
+ <div class="grid gap-2 sm:grid-cols-2">
114
+ <NeonField
115
+ v-model="values.startedAt"
116
+ v-bind="{
117
+ handle: 'startedAt',
118
+ name: 'Mulai',
119
+ options: {
120
+ note: 'Jam mulai.',
121
+ },
122
+ }"
123
+ >
124
+ <template #input>
125
+ <NeonTime
126
+ v-model="values.startedAt"
127
+ :is-loading="isLoading"
128
+ class="mt-2"
129
+ />
130
+ </template>
131
+ </NeonField>
132
+
133
+ <NeonField
134
+ v-model="values.endedAt"
135
+ v-bind="{
136
+ handle: 'endedAt',
137
+ name: 'Selesai',
138
+ options: {
139
+ note: 'Jam selesai.',
140
+ },
141
+ }"
142
+ >
143
+ <template #input>
144
+ <NeonTime
145
+ v-model="values.endedAt"
146
+ :is-loading="isLoading"
147
+ class="mt-2"
148
+ />
149
+
150
+ <div class="text-right text-fg-subdued text-sm">
151
+ {{ duration }}
152
+ </div>
153
+ </template>
154
+ </NeonField>
155
+ </div>
156
+ </NeonForm>
157
+ </OfficeTab>
158
+ </OfficeTabs>
159
+ </NeonSingle>
160
+ </template>
161
+
162
+ <style scoped>
163
+ .neu-attendance-single {
164
+ @apply block;
165
+ }
166
+ </style>
@@ -0,0 +1 @@
1
+ export { default as AttendanceSingle } from './AttendanceSingle.vue';
@@ -0,0 +1 @@
1
+ export { default as AttendanceSingle } from "./AttendanceSingle.vue";