@neutron.co.id/operasional-interfaces 1.8.3 → 1.8.5

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 (29) hide show
  1. package/build/index.cjs +1546 -378
  2. package/build/index.mjs +1546 -378
  3. package/build/style.css +41 -17
  4. package/build/types/components/attendance/attendance.types.d.ts +1 -1
  5. package/build/types/components/attendance/sheets/AttendanceSupervisor.vue.d.ts +2 -0
  6. package/build/types/components/attendance/sheets/index.d.ts +1 -0
  7. package/build/types/components/checkIn/checkIn.types.d.ts +1 -1
  8. package/build/types/components/checkIn/sheets/CheckInSupervisor.vue.d.ts +2 -0
  9. package/build/types/components/checkIn/sheets/index.d.ts +1 -0
  10. package/build/types/components/index.d.ts +1 -0
  11. package/build/types/components/progress/elements/ProgressNoteButton.vue.d.ts +2 -0
  12. package/build/types/components/progress/elements/index.d.ts +1 -0
  13. package/build/types/components/progress/progress.types.d.ts +1 -1
  14. package/build/types/components/progressAccess/index.d.ts +2 -0
  15. package/build/types/components/progressAccess/progressAccess.types.d.ts +2 -0
  16. package/build/types/components/progressAccess/sheets/ProgressAccessCollection.vue.d.ts +2 -0
  17. package/build/types/components/progressAccess/sheets/ProgressAccessSingle.vue.d.ts +2 -0
  18. package/build/types/components/progressAccess/sheets/ProgressAccessSupervisor.vue.d.ts +2 -0
  19. package/build/types/components/progressAccess/sheets/index.d.ts +3 -0
  20. package/build/types/components/responsibility/responsibility.types.d.ts +1 -1
  21. package/build/types/components/responsibility/sheets/ResponsibilitySupervisor.vue.d.ts +2 -0
  22. package/build/types/components/responsibility/sheets/index.d.ts +1 -0
  23. package/build/types/components/submission/sheets/SubmissionSupervisor.vue.d.ts +2 -0
  24. package/build/types/components/submission/sheets/index.d.ts +1 -0
  25. package/build/types/components/submission/submission.types.d.ts +1 -1
  26. package/build/types/gql/graphql.d.ts +304 -6
  27. package/build/types/providers/operasional/operasional.types.d.ts +3 -1
  28. package/build/types/providers/operasional/useOperasional.d.ts +2 -0
  29. package/package.json +6 -6
package/build/index.cjs CHANGED
@@ -32,8 +32,8 @@ const Scanner = require("qr-scanner");
32
32
  const mitt = require("mitt");
33
33
  const personaliaModels = require("@neutron.co.id/personalia-models");
34
34
  const catatInterfaces = require("@neon.id/catat-interfaces");
35
- const _hoisted_1$m = { class: "xxx-button" };
36
- const _sfc_main$U = /* @__PURE__ */ vue.defineComponent({
35
+ const _hoisted_1$p = { class: "xxx-button" };
36
+ const _sfc_main$10 = /* @__PURE__ */ vue.defineComponent({
37
37
  ...{ name: "XxxButton" },
38
38
  __name: "XxxButton",
39
39
  props: {
@@ -44,18 +44,18 @@ const _sfc_main$U = /* @__PURE__ */ vue.defineComponent({
44
44
  },
45
45
  setup(__props) {
46
46
  return (_ctx, _cache) => {
47
- return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$m, [
47
+ return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$p, [
48
48
  vue.createVNode(vue.unref(interfaces.NeonButton), { label: "XXX" })
49
49
  ]);
50
50
  };
51
51
  }
52
52
  });
53
- const _hoisted_1$l = { class: "operasional-identitas" };
54
- const _hoisted_2$g = {
53
+ const _hoisted_1$o = { class: "operasional-identitas" };
54
+ const _hoisted_2$h = {
55
55
  key: 2,
56
56
  class: "section"
57
57
  };
58
- const _sfc_main$T = /* @__PURE__ */ vue.defineComponent({
58
+ const _sfc_main$$ = /* @__PURE__ */ vue.defineComponent({
59
59
  ...{ name: "OperasionalIdentitas" },
60
60
  __name: "OperasionalIdentitas",
61
61
  props: {
@@ -310,7 +310,7 @@ const _sfc_main$T = /* @__PURE__ */ vue.defineComponent({
310
310
  candidateId.value = null;
311
311
  }
312
312
  return (_ctx, _cache) => {
313
- return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$l, [
313
+ return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$o, [
314
314
  state.value === "connect" ? (vue.openBlock(), vue.createBlock(vue.unref(identitasInterfaces.IdentitasConnect), {
315
315
  key: 0,
316
316
  user: user.value,
@@ -362,7 +362,7 @@ const _sfc_main$T = /* @__PURE__ */ vue.defineComponent({
362
362
  _: 1
363
363
  /* STABLE */
364
364
  }, 8, ["initial-values", "is-loading", "errors"])) : vue.createCommentVNode("v-if", true),
365
- user.value && onDelegate ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_2$g, [
365
+ user.value && onDelegate ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_2$h, [
366
366
  vue.createVNode(vue.unref(interfaces.NeonDivider), {
367
367
  "is-dashed": "",
368
368
  label: "Delegasi",
@@ -411,7 +411,7 @@ const _export_sfc = (sfc, props) => {
411
411
  }
412
412
  return target;
413
413
  };
414
- const OperasionalIdentitas = /* @__PURE__ */ _export_sfc(_sfc_main$T, [["__scopeId", "data-v-355c8370"]]);
414
+ const OperasionalIdentitas = /* @__PURE__ */ _export_sfc(_sfc_main$$, [["__scopeId", "data-v-355c8370"]]);
415
415
  dayjs.extend(durationPlugin);
416
416
  dayjs.extend(relativeTimePlugin);
417
417
  dayjs.extend(advancedFormat);
@@ -423,21 +423,21 @@ class DateUtil {
423
423
  }
424
424
  }
425
425
  const _withScopeId$3 = (n) => (vue.pushScopeId("data-v-805321b9"), n = n(), vue.popScopeId(), n);
426
- const _hoisted_1$k = {
426
+ const _hoisted_1$n = {
427
427
  key: 0,
428
428
  class: "input-loading"
429
429
  };
430
- const _hoisted_2$f = /* @__PURE__ */ _withScopeId$3(() => /* @__PURE__ */ vue.createElementVNode(
430
+ const _hoisted_2$g = /* @__PURE__ */ _withScopeId$3(() => /* @__PURE__ */ vue.createElementVNode(
431
431
  "div",
432
432
  { class: "loading placeholder-block placeholder-wave" },
433
433
  null,
434
434
  -1
435
435
  /* HOISTED */
436
436
  ));
437
- const _hoisted_3$7 = [
438
- _hoisted_2$f
437
+ const _hoisted_3$8 = [
438
+ _hoisted_2$g
439
439
  ];
440
- const _sfc_main$S = /* @__PURE__ */ vue.defineComponent({
440
+ const _sfc_main$_ = /* @__PURE__ */ vue.defineComponent({
441
441
  __name: "NeonTime",
442
442
  props: {
443
443
  modelValue: {
@@ -474,7 +474,7 @@ const _sfc_main$S = /* @__PURE__ */ vue.defineComponent({
474
474
  class: vue.normalizeClass(["neon-time", { "is-disabled": __props.isDisabled }])
475
475
  },
476
476
  [
477
- __props.isLoading ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$k, _hoisted_3$7)) : (vue.openBlock(), vue.createBlock(vue.unref(vCalendar.DatePicker), vue.mergeProps({
477
+ __props.isLoading ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$n, _hoisted_3$8)) : (vue.openBlock(), vue.createBlock(vue.unref(vCalendar.DatePicker), vue.mergeProps({
478
478
  key: 1,
479
479
  "model-value": internalValue.value
480
480
  }, {
@@ -498,14 +498,16 @@ const _sfc_main$S = /* @__PURE__ */ vue.defineComponent({
498
498
  });
499
499
  const NeonTime_vue_vue_type_style_index_0_scoped_805321b9_lang = "";
500
500
  const NeonTime_vue_vue_type_style_index_1_lang = "";
501
- const NeonTime = /* @__PURE__ */ _export_sfc(_sfc_main$S, [["__scopeId", "data-v-805321b9"]]);
501
+ const NeonTime = /* @__PURE__ */ _export_sfc(_sfc_main$_, [["__scopeId", "data-v-805321b9"]]);
502
502
  const CheckInModel = tempatModels.models.CheckInModel;
503
503
  const useOperasionalStore = pinia.defineStore("neu:operasional", () => {
504
504
  const isLoading = vue.ref(false);
505
505
  const staff = vue.ref(null);
506
+ const accesses = vue.ref([]);
506
507
  return {
507
508
  isLoading,
508
509
  staff,
510
+ accesses,
509
511
  setStaff
510
512
  };
511
513
  function setStaff(data) {
@@ -577,11 +579,21 @@ function withOperasional() {
577
579
  const authStore = identitasInterfaces.useAuthStore();
578
580
  const { userId } = pinia.storeToRefs(authStore);
579
581
  const store = useOperasionalStore();
580
- const { isLoading, staff } = pinia.storeToRefs(store);
582
+ const { isLoading, staff, accesses } = pinia.storeToRefs(store);
583
+ const supervisedStaffIds = vue.computed(() => {
584
+ return accesses.value.reduce(
585
+ (ids, access) => {
586
+ return ids.concat(access.supervisedStaffIds || []);
587
+ },
588
+ []
589
+ );
590
+ });
581
591
  const { client: client2 } = vue$1.useClientHandle();
582
592
  const context$1 = {
583
593
  isLoading,
584
594
  staff,
595
+ accesses,
596
+ supervisedStaffIds,
585
597
  setStaff: store.setStaff,
586
598
  getStaff,
587
599
  init
@@ -608,7 +620,11 @@ function withOperasional() {
608
620
  userId: 1,
609
621
  branch: { id: 1, name: 1 },
610
622
  branches: { id: 1, name: 1 },
611
- note: 1
623
+ note: 1,
624
+ superviseStaffProgressAccesses: {
625
+ id: 1,
626
+ supervisedStaffIds: 1
627
+ }
612
628
  }),
613
629
  {
614
630
  filter: { userId: userId.value },
@@ -619,16 +635,18 @@ function withOperasional() {
619
635
  ).toPromise();
620
636
  const wrapper = (_a = resp.data) == null ? void 0 : _a[StaffModel$1.plural];
621
637
  const items = (wrapper == null ? void 0 : wrapper.items) || [];
622
- store.setStaff(items[0]);
638
+ const _staff = items[0];
639
+ staff.value = _staff;
640
+ accesses.value = _staff.superviseStaffProgressAccesses || [];
623
641
  }
624
642
  }
625
643
  const bus = mitt();
626
- const _withScopeId$2 = (n) => (vue.pushScopeId("data-v-ee60c24a"), n = n(), vue.popScopeId(), n);
627
- const _hoisted_1$j = { id: "view-checkIns" };
628
- const _hoisted_2$e = { class: "summary" };
629
- const _hoisted_3$6 = { class: "wrapper" };
630
- const _hoisted_4$4 = { class: "header" };
631
- const _hoisted_5$3 = /* @__PURE__ */ _withScopeId$2(() => /* @__PURE__ */ vue.createElementVNode(
644
+ const _withScopeId$2 = (n) => (vue.pushScopeId("data-v-8637aebc"), n = n(), vue.popScopeId(), n);
645
+ const _hoisted_1$m = { id: "view-checkIns" };
646
+ const _hoisted_2$f = { class: "summary" };
647
+ const _hoisted_3$7 = { class: "wrapper" };
648
+ const _hoisted_4$5 = { class: "header" };
649
+ const _hoisted_5$4 = /* @__PURE__ */ _withScopeId$2(() => /* @__PURE__ */ vue.createElementVNode(
632
650
  "div",
633
651
  { class: "start" },
634
652
  [
@@ -638,8 +656,8 @@ const _hoisted_5$3 = /* @__PURE__ */ _withScopeId$2(() => /* @__PURE__ */ vue.cr
638
656
  -1
639
657
  /* HOISTED */
640
658
  ));
641
- const _hoisted_6$2 = { class: "end" };
642
- const _sfc_main$R = /* @__PURE__ */ vue.defineComponent({
659
+ const _hoisted_6$3 = { class: "end" };
660
+ const _sfc_main$Z = /* @__PURE__ */ vue.defineComponent({
643
661
  ...{
644
662
  name: "CheckInPresenceCollection"
645
663
  },
@@ -739,6 +757,7 @@ const _sfc_main$R = /* @__PURE__ */ vue.defineComponent({
739
757
  id.value = await checkInStaff(data, type.value, (_a = staff.value) == null ? void 0 : _a.id);
740
758
  }
741
759
  async function checkInStaff(qrKey, type2, staffId) {
760
+ var _a;
742
761
  const toastId = "neu:personalia:staff:checkIn";
743
762
  let checkInId;
744
763
  console.log("bangunan...", qrKey);
@@ -749,7 +768,8 @@ const _sfc_main$R = /* @__PURE__ */ vue.defineComponent({
749
768
  userId: userId.value,
750
769
  staffId,
751
770
  key: qrKey,
752
- type: type2
771
+ type: type2,
772
+ branchId: (_a = staff.value) == null ? void 0 : _a.branchId
753
773
  }
754
774
  }).toPromise();
755
775
  const data = resp.data.executeCheckIn.output;
@@ -794,14 +814,14 @@ const _sfc_main$R = /* @__PURE__ */ vue.defineComponent({
794
814
  return (_ctx, _cache) => {
795
815
  const _component_CheckInSingleExternalView = vue.resolveComponent("CheckInSingleExternalView");
796
816
  const _component_CheckInCollection = vue.resolveComponent("CheckInCollection");
797
- return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$j, [
817
+ return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$m, [
798
818
  vue.createVNode(vue.unref(office.OfficeContent), {
799
819
  icon: "barcode-read",
800
820
  title: "Presensi",
801
821
  "is-expanded": ""
802
822
  }, {
803
823
  "header-detail": vue.withCtx(() => [
804
- vue.createElementVNode("div", _hoisted_2$e, [
824
+ vue.createElementVNode("div", _hoisted_2$f, [
805
825
  vue.createVNode(vue.unref(interfaces.NeonSlider), {
806
826
  "per-view": 2,
807
827
  gap: 16,
@@ -949,7 +969,7 @@ const _sfc_main$R = /* @__PURE__ */ vue.defineComponent({
949
969
  ])
950
970
  ]),
951
971
  default: vue.withCtx(() => [
952
- vue.createElementVNode("div", _hoisted_3$6, [
972
+ vue.createElementVNode("div", _hoisted_3$7, [
953
973
  vue.createVNode(vue.unref(context.NeonCollectionContext), {
954
974
  definition: "neu:tempat:checkIn",
955
975
  scope: "_checkIns",
@@ -964,9 +984,9 @@ const _sfc_main$R = /* @__PURE__ */ vue.defineComponent({
964
984
  "is-main": ""
965
985
  }, {
966
986
  default: vue.withCtx(() => [
967
- vue.createElementVNode("div", _hoisted_4$4, [
968
- _hoisted_5$3,
969
- vue.createElementVNode("div", _hoisted_6$2, [
987
+ vue.createElementVNode("div", _hoisted_4$5, [
988
+ _hoisted_5$4,
989
+ vue.createElementVNode("div", _hoisted_6$3, [
970
990
  vue.createVNode(vue.unref(office.OfficeCollectionQuery), { displays: ["table"] }, {
971
991
  default: vue.withCtx(() => [
972
992
  vue.createVNode(vue.unref(office.OfficeCollectionOperation), { "is-main": "" })
@@ -991,10 +1011,10 @@ const _sfc_main$R = /* @__PURE__ */ vue.defineComponent({
991
1011
  };
992
1012
  }
993
1013
  });
994
- const CheckInPresenceCollection_vue_vue_type_style_index_0_scoped_ee60c24a_lang = "";
995
- const CheckInPresenceCollection = /* @__PURE__ */ _export_sfc(_sfc_main$R, [["__scopeId", "data-v-ee60c24a"]]);
996
- const _hoisted_1$i = { class: "grid gap-4 sm:grid-cols-2" };
997
- const _sfc_main$Q = /* @__PURE__ */ vue.defineComponent({
1014
+ const CheckInPresenceCollection_vue_vue_type_style_index_0_scoped_8637aebc_lang = "";
1015
+ const CheckInPresenceCollection = /* @__PURE__ */ _export_sfc(_sfc_main$Z, [["__scopeId", "data-v-8637aebc"]]);
1016
+ const _hoisted_1$l = { class: "grid gap-4 sm:grid-cols-2" };
1017
+ const _sfc_main$Y = /* @__PURE__ */ vue.defineComponent({
998
1018
  __name: "CheckInSingle",
999
1019
  setup(__props) {
1000
1020
  const {
@@ -1052,7 +1072,7 @@ const _sfc_main$Q = /* @__PURE__ */ vue.defineComponent({
1052
1072
  field: vue.unref(fields).building,
1053
1073
  "is-disabled": ""
1054
1074
  }, null, 8, ["modelValue", "field"]),
1055
- vue.createElementVNode("div", _hoisted_1$i, [
1075
+ vue.createElementVNode("div", _hoisted_1$l, [
1056
1076
  vue.createVNode(vue.unref(form.NeonField), vue.mergeProps({
1057
1077
  modelValue: vue.unref(values).type,
1058
1078
  "onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => vue.unref(values).type = $event)
@@ -1092,9 +1112,9 @@ const _sfc_main$Q = /* @__PURE__ */ vue.defineComponent({
1092
1112
  }
1093
1113
  });
1094
1114
  const CheckInSingle_vue_vue_type_style_index_0_scoped_2e2803fb_lang = "";
1095
- const CheckInSingle = /* @__PURE__ */ _export_sfc(_sfc_main$Q, [["__scopeId", "data-v-2e2803fb"]]);
1096
- const _hoisted_1$h = { class: "grid gap-4 sm:grid-cols-2" };
1097
- const _sfc_main$P = /* @__PURE__ */ vue.defineComponent({
1115
+ const CheckInSingle = /* @__PURE__ */ _export_sfc(_sfc_main$Y, [["__scopeId", "data-v-2e2803fb"]]);
1116
+ const _hoisted_1$k = { class: "grid gap-4 sm:grid-cols-2" };
1117
+ const _sfc_main$X = /* @__PURE__ */ vue.defineComponent({
1098
1118
  __name: "CheckInExternal",
1099
1119
  setup(__props) {
1100
1120
  const {
@@ -1159,15 +1179,16 @@ const _sfc_main$P = /* @__PURE__ */ vue.defineComponent({
1159
1179
  modelValue: vue.unref(values),
1160
1180
  "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => vue.isRef(values) ? values.value = $event : null),
1161
1181
  field: vue.unref(fields).building,
1162
- "is-disabled": vue.unref(values).type === "checkin" || vue.unref(values).type === "checkout"
1182
+ "is-disabled": vue.unref(values).type === "checkin" || vue.unref(values).type === "checkout" || vue.unref(values).type === "out"
1163
1183
  }, null, 8, ["modelValue", "field", "is-disabled"])) : vue.createCommentVNode("v-if", true),
1164
- vue.createElementVNode("div", _hoisted_1$h, [
1184
+ vue.createElementVNode("div", _hoisted_1$k, [
1165
1185
  vue.createVNode(vue.unref(form.NeonField), vue.mergeProps({
1166
1186
  modelValue: vue.unref(values).type,
1167
1187
  "onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => vue.unref(values).type = $event)
1168
1188
  }, vue.unref(fields).type, {
1169
- "is-disabled": !vue.unref(permit).isAny(["neu:cabangOperasional", "neu:admin"])
1189
+ "is-disabled": vue.unref(values).type === "checkin" || vue.unref(values).type === "checkout" || vue.unref(values).type === "out" || vue.unref(values).type === "checkpoint"
1170
1190
  }), null, 16, ["modelValue", "is-disabled"]),
1191
+ vue.createCommentVNode(" !permit.isAny(['neu:cabangOperasional', 'neu:admin']) "),
1171
1192
  vue.createVNode(vue.unref(form.NeonField), vue.mergeProps({
1172
1193
  modelValue: vue.unref(values).checkInAt,
1173
1194
  "onUpdate:modelValue": _cache[2] || (_cache[2] = ($event) => vue.unref(values).checkInAt = $event)
@@ -1206,17 +1227,17 @@ const _sfc_main$P = /* @__PURE__ */ vue.defineComponent({
1206
1227
  };
1207
1228
  }
1208
1229
  });
1209
- const CheckInExternal_vue_vue_type_style_index_0_scoped_dcdbc71a_lang = "";
1210
- const CheckInExternal = /* @__PURE__ */ _export_sfc(_sfc_main$P, [["__scopeId", "data-v-dcdbc71a"]]);
1230
+ const CheckInExternal_vue_vue_type_style_index_0_scoped_a269bce2_lang = "";
1231
+ const CheckInExternal = /* @__PURE__ */ _export_sfc(_sfc_main$X, [["__scopeId", "data-v-a269bce2"]]);
1211
1232
  const _withScopeId$1 = (n) => (vue.pushScopeId("data-v-d23b6de5"), n = n(), vue.popScopeId(), n);
1212
- const _hoisted_1$g = /* @__PURE__ */ _withScopeId$1(() => /* @__PURE__ */ vue.createElementVNode(
1233
+ const _hoisted_1$j = /* @__PURE__ */ _withScopeId$1(() => /* @__PURE__ */ vue.createElementVNode(
1213
1234
  "h4",
1214
1235
  { align: "center" },
1215
1236
  "Aktifkan kamera untuk scan QR Code",
1216
1237
  -1
1217
1238
  /* HOISTED */
1218
1239
  ));
1219
- const _hoisted_2$d = /* @__PURE__ */ _withScopeId$1(() => /* @__PURE__ */ vue.createElementVNode(
1240
+ const _hoisted_2$e = /* @__PURE__ */ _withScopeId$1(() => /* @__PURE__ */ vue.createElementVNode(
1220
1241
  "p",
1221
1242
  { align: "center" },
1222
1243
  [
@@ -1227,7 +1248,7 @@ const _hoisted_2$d = /* @__PURE__ */ _withScopeId$1(() => /* @__PURE__ */ vue.cr
1227
1248
  -1
1228
1249
  /* HOISTED */
1229
1250
  ));
1230
- const _sfc_main$O = /* @__PURE__ */ vue.defineComponent({
1251
+ const _sfc_main$W = /* @__PURE__ */ vue.defineComponent({
1231
1252
  __name: "CheckInAccess",
1232
1253
  emits: ["close"],
1233
1254
  setup(__props) {
@@ -1252,8 +1273,8 @@ const _sfc_main$O = /* @__PURE__ */ vue.defineComponent({
1252
1273
  onClose: _cache[0] || (_cache[0] = ($event) => _ctx.$emit("close"))
1253
1274
  }, {
1254
1275
  default: vue.withCtx(() => [
1255
- _hoisted_1$g,
1256
- _hoisted_2$d,
1276
+ _hoisted_1$j,
1277
+ _hoisted_2$e,
1257
1278
  vue.createVNode(vue.unref(interfaces.NeonButton), {
1258
1279
  "is-full": "",
1259
1280
  size: "md",
@@ -1280,9 +1301,9 @@ const _sfc_main$O = /* @__PURE__ */ vue.defineComponent({
1280
1301
  }
1281
1302
  });
1282
1303
  const CheckInAccess_vue_vue_type_style_index_0_scoped_d23b6de5_lang = "";
1283
- const CheckInAccess = /* @__PURE__ */ _export_sfc(_sfc_main$O, [["__scopeId", "data-v-d23b6de5"]]);
1284
- const _hoisted_1$f = { class: "buttons" };
1285
- const _sfc_main$N = /* @__PURE__ */ vue.defineComponent({
1304
+ const CheckInAccess = /* @__PURE__ */ _export_sfc(_sfc_main$W, [["__scopeId", "data-v-d23b6de5"]]);
1305
+ const _hoisted_1$i = { class: "buttons" };
1306
+ const _sfc_main$V = /* @__PURE__ */ vue.defineComponent({
1286
1307
  __name: "CheckInScanError",
1287
1308
  setup(__props) {
1288
1309
  const attendanceStore = useAttendanceStore();
@@ -1295,7 +1316,7 @@ const _sfc_main$N = /* @__PURE__ */ vue.defineComponent({
1295
1316
  default: vue.withCtx(() => [
1296
1317
  vue.createVNode(vue.unref(interfaces.NeonSheet), null, {
1297
1318
  footer: vue.withCtx(() => [
1298
- vue.createElementVNode("div", _hoisted_1$f, [
1319
+ vue.createElementVNode("div", _hoisted_1$i, [
1299
1320
  vue.createVNode(vue.unref(interfaces.NeonButton), {
1300
1321
  "is-full": "",
1301
1322
  "is-rounded": "",
@@ -1330,23 +1351,23 @@ const _sfc_main$N = /* @__PURE__ */ vue.defineComponent({
1330
1351
  }
1331
1352
  });
1332
1353
  const _withScopeId = (n) => (vue.pushScopeId("data-v-ef426ef3"), n = n(), vue.popScopeId(), n);
1333
- const _hoisted_1$e = /* @__PURE__ */ _withScopeId(() => /* @__PURE__ */ vue.createElementVNode(
1354
+ const _hoisted_1$h = /* @__PURE__ */ _withScopeId(() => /* @__PURE__ */ vue.createElementVNode(
1334
1355
  "div",
1335
1356
  { class: "invalid-message" },
1336
1357
  "Invalid Code!",
1337
1358
  -1
1338
1359
  /* HOISTED */
1339
1360
  ));
1340
- const _hoisted_2$c = /* @__PURE__ */ _withScopeId(() => /* @__PURE__ */ vue.createElementVNode(
1361
+ const _hoisted_2$d = /* @__PURE__ */ _withScopeId(() => /* @__PURE__ */ vue.createElementVNode(
1341
1362
  "div",
1342
1363
  null,
1343
1364
  null,
1344
1365
  -1
1345
1366
  /* HOISTED */
1346
1367
  ));
1347
- const _hoisted_3$5 = ["onClick"];
1348
- const _hoisted_4$3 = { class: "mr-2 text-sm" };
1349
- const _sfc_main$M = /* @__PURE__ */ vue.defineComponent({
1368
+ const _hoisted_3$6 = ["onClick"];
1369
+ const _hoisted_4$4 = { class: "mr-2 text-sm" };
1370
+ const _sfc_main$U = /* @__PURE__ */ vue.defineComponent({
1350
1371
  __name: "CheckInScanner",
1351
1372
  emits: ["start", "stop", "scanned", "close"],
1352
1373
  setup(__props, { emit }) {
@@ -1491,15 +1512,15 @@ const _sfc_main$M = /* @__PURE__ */ vue.defineComponent({
1491
1512
  class: "inner",
1492
1513
  onClick: switchCamera
1493
1514
  }, [
1494
- _hoisted_1$e,
1495
- _hoisted_2$c,
1515
+ _hoisted_1$h,
1516
+ _hoisted_2$d,
1496
1517
  vue.createElementVNode("div", {
1497
1518
  class: "button-switch",
1498
1519
  onClick: vue.withModifiers(switchCamera, ["stop"])
1499
1520
  }, [
1500
1521
  vue.createElementVNode(
1501
1522
  "div",
1502
- _hoisted_4$3,
1523
+ _hoisted_4$4,
1503
1524
  vue.toDisplayString(currentCamera.value),
1504
1525
  1
1505
1526
  /* TEXT */
@@ -1510,7 +1531,7 @@ const _sfc_main$M = /* @__PURE__ */ vue.defineComponent({
1510
1531
  size: "sm",
1511
1532
  "is-disabled": !canSwitch.value
1512
1533
  }, null, 8, ["is-disabled"])
1513
- ], 8, _hoisted_3$5)
1534
+ ], 8, _hoisted_3$6)
1514
1535
  ])
1515
1536
  ],
1516
1537
  2
@@ -1528,15 +1549,15 @@ const _sfc_main$M = /* @__PURE__ */ vue.defineComponent({
1528
1549
  }
1529
1550
  });
1530
1551
  const CheckInScanner_vue_vue_type_style_index_0_scoped_ef426ef3_lang = "";
1531
- const CheckInScanner = /* @__PURE__ */ _export_sfc(_sfc_main$M, [["__scopeId", "data-v-ef426ef3"]]);
1532
- const _hoisted_1$d = /* @__PURE__ */ vue.createElementVNode(
1552
+ const CheckInScanner = /* @__PURE__ */ _export_sfc(_sfc_main$U, [["__scopeId", "data-v-ef426ef3"]]);
1553
+ const _hoisted_1$g = /* @__PURE__ */ vue.createElementVNode(
1533
1554
  "h3",
1534
1555
  { align: "center" },
1535
1556
  "Presensi Berhasil!",
1536
1557
  -1
1537
1558
  /* HOISTED */
1538
1559
  );
1539
- const _sfc_main$L = /* @__PURE__ */ vue.defineComponent({
1560
+ const _sfc_main$T = /* @__PURE__ */ vue.defineComponent({
1540
1561
  __name: "CheckInScanSuccess",
1541
1562
  emits: ["close"],
1542
1563
  setup(__props) {
@@ -1556,7 +1577,7 @@ const _sfc_main$L = /* @__PURE__ */ vue.defineComponent({
1556
1577
  onClose: _cache[0] || (_cache[0] = ($event) => _ctx.$emit("close"))
1557
1578
  }, {
1558
1579
  default: vue.withCtx(() => [
1559
- _hoisted_1$d
1580
+ _hoisted_1$g
1560
1581
  ]),
1561
1582
  _: 1
1562
1583
  /* STABLE */
@@ -1568,7 +1589,7 @@ const _sfc_main$L = /* @__PURE__ */ vue.defineComponent({
1568
1589
  };
1569
1590
  }
1570
1591
  });
1571
- const _sfc_main$K = /* @__PURE__ */ vue.defineComponent({
1592
+ const _sfc_main$S = /* @__PURE__ */ vue.defineComponent({
1572
1593
  ...{
1573
1594
  name: "CheckInCollection"
1574
1595
  },
@@ -1586,8 +1607,124 @@ const _sfc_main$K = /* @__PURE__ */ vue.defineComponent({
1586
1607
  };
1587
1608
  }
1588
1609
  });
1610
+ const _hoisted_1$f = { class: "grid gap-4 sm:grid-cols-2" };
1611
+ const _sfc_main$R = /* @__PURE__ */ vue.defineComponent({
1612
+ __name: "CheckInSupervisor",
1613
+ setup(__props) {
1614
+ const {
1615
+ fields,
1616
+ id,
1617
+ initialValues,
1618
+ values,
1619
+ isLoading,
1620
+ isChanged,
1621
+ isReady,
1622
+ isMain,
1623
+ isNew,
1624
+ saveOne,
1625
+ discardChanges,
1626
+ getOne
1627
+ } = context.useSingle();
1628
+ const route = vueRouter.useRoute();
1629
+ const permit = context.usePermit();
1630
+ const { staff } = useOperasional();
1631
+ const isOperasional = vue.computed(() => {
1632
+ var _a;
1633
+ return (_a = route.name) == null ? void 0 : _a.includes("rapor");
1634
+ });
1635
+ vue.onMounted(() => {
1636
+ var _a, _b, _c;
1637
+ console.log("idnya?", id.value);
1638
+ if (id.value === "new" && isOperasional) {
1639
+ values.value.staffId = (_a = staff.value) == null ? void 0 : _a.id;
1640
+ values.value.staff = {
1641
+ id: (_b = staff.value) == null ? void 0 : _b.id,
1642
+ display: (_c = staff.value) == null ? void 0 : _c.display
1643
+ };
1644
+ values.value.checkInAt = (/* @__PURE__ */ new Date()).toISOString();
1645
+ values.value.type = "checkpoint";
1646
+ } else {
1647
+ values.value.checkInAt = (/* @__PURE__ */ new Date()).toISOString();
1648
+ }
1649
+ });
1650
+ return (_ctx, _cache) => {
1651
+ return vue.openBlock(), vue.createBlock(vue.unref(context.NeonSingle), { class: "neu-checkIn-single" }, {
1652
+ default: vue.withCtx(() => [
1653
+ vue.createVNode(vue.unref(office.OfficeTabs), { "use-url": vue.unref(isMain) }, {
1654
+ default: vue.withCtx(() => [
1655
+ vue.createVNode(vue.unref(office.OfficeTab), {
1656
+ handle: "info",
1657
+ icon: "circle-info",
1658
+ title: "Info"
1659
+ }, {
1660
+ default: vue.withCtx(() => [
1661
+ vue.createVNode(vue.unref(form.NeonForm), {
1662
+ handle: "info",
1663
+ "initial-values": vue.unref(initialValues),
1664
+ "is-loading": vue.unref(isLoading),
1665
+ "is-changed": vue.unref(isChanged),
1666
+ "use-unsaved": "",
1667
+ onCancel: vue.unref(discardChanges),
1668
+ onSubmit: vue.unref(saveOne)
1669
+ }, {
1670
+ default: vue.withCtx(() => [
1671
+ vue.unref(values).type === "in" || vue.unref(values).type === "out" || vue.unref(values).type === "checkin" || vue.unref(values).type === "checkout" ? (vue.openBlock(), vue.createBlock(vue.unref(office.OfficeRelation), {
1672
+ key: 0,
1673
+ modelValue: vue.unref(values),
1674
+ "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => vue.isRef(values) ? values.value = $event : null),
1675
+ field: vue.unref(fields).building,
1676
+ "is-disabled": vue.unref(values).type === "checkin" || vue.unref(values).type === "checkout" || vue.unref(values).type === "out"
1677
+ }, null, 8, ["modelValue", "field", "is-disabled"])) : vue.createCommentVNode("v-if", true),
1678
+ vue.createElementVNode("div", _hoisted_1$f, [
1679
+ vue.createVNode(vue.unref(form.NeonField), vue.mergeProps({
1680
+ modelValue: vue.unref(values).type,
1681
+ "onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => vue.unref(values).type = $event)
1682
+ }, vue.unref(fields).type, {
1683
+ "is-disabled": vue.unref(values).type === "checkin" || vue.unref(values).type === "checkout" || vue.unref(values).type === "out" || vue.unref(values).type === "checkpoint"
1684
+ }), null, 16, ["modelValue", "is-disabled"]),
1685
+ vue.createCommentVNode(" !permit.isAny(['neu:cabangOperasional', 'neu:admin']) "),
1686
+ vue.createVNode(vue.unref(form.NeonField), vue.mergeProps({
1687
+ modelValue: vue.unref(values).checkInAt,
1688
+ "onUpdate:modelValue": _cache[2] || (_cache[2] = ($event) => vue.unref(values).checkInAt = $event)
1689
+ }, vue.unref(fields).checkInAt, { "is-disabled": "" }), null, 16, ["modelValue"])
1690
+ ]),
1691
+ vue.createVNode(vue.unref(office.OfficeRelation), {
1692
+ modelValue: vue.unref(values),
1693
+ "onUpdate:modelValue": _cache[3] || (_cache[3] = ($event) => vue.isRef(values) ? values.value = $event : null),
1694
+ field: vue.unref(fields).staff,
1695
+ "is-disabled": !vue.unref(permit).isAny([
1696
+ "neu:cabangOperasional",
1697
+ "neu:admin",
1698
+ "neu:karyawan"
1699
+ ])
1700
+ }, null, 8, ["modelValue", "field", "is-disabled"]),
1701
+ vue.createVNode(vue.unref(form.NeonField), vue.mergeProps({
1702
+ modelValue: vue.unref(values).note,
1703
+ "onUpdate:modelValue": _cache[4] || (_cache[4] = ($event) => vue.unref(values).note = $event)
1704
+ }, vue.unref(fields).note), null, 16, ["modelValue"])
1705
+ ]),
1706
+ _: 1
1707
+ /* STABLE */
1708
+ }, 8, ["initial-values", "is-loading", "is-changed", "onCancel", "onSubmit"])
1709
+ ]),
1710
+ _: 1
1711
+ /* STABLE */
1712
+ })
1713
+ ]),
1714
+ _: 1
1715
+ /* STABLE */
1716
+ }, 8, ["use-url"])
1717
+ ]),
1718
+ _: 1
1719
+ /* STABLE */
1720
+ });
1721
+ };
1722
+ }
1723
+ });
1724
+ const CheckInSupervisor_vue_vue_type_style_index_0_scoped_235231fa_lang = "";
1725
+ const CheckInSupervisor = /* @__PURE__ */ _export_sfc(_sfc_main$R, [["__scopeId", "data-v-235231fa"]]);
1589
1726
  const StaffModel = personaliaModels.models.StaffModel;
1590
- const _sfc_main$J = /* @__PURE__ */ vue.defineComponent({
1727
+ const _sfc_main$Q = /* @__PURE__ */ vue.defineComponent({
1591
1728
  ...{
1592
1729
  name: "StaffCollection"
1593
1730
  },
@@ -1605,9 +1742,9 @@ const _sfc_main$J = /* @__PURE__ */ vue.defineComponent({
1605
1742
  };
1606
1743
  }
1607
1744
  });
1608
- const _hoisted_1$c = { class: "grid gap-4 sm:grid-cols-[3fr_1fr]" };
1609
- const _hoisted_2$b = { class: "grid gap-4 sm:grid-cols-2" };
1610
- const _sfc_main$I = /* @__PURE__ */ vue.defineComponent({
1745
+ const _hoisted_1$e = { class: "grid gap-4 sm:grid-cols-[3fr_1fr]" };
1746
+ const _hoisted_2$c = { class: "grid gap-4 sm:grid-cols-2" };
1747
+ const _sfc_main$P = /* @__PURE__ */ vue.defineComponent({
1611
1748
  __name: "StaffSingle",
1612
1749
  setup(__props) {
1613
1750
  const {
@@ -1644,7 +1781,7 @@ const _sfc_main$I = /* @__PURE__ */ vue.defineComponent({
1644
1781
  onSubmit: vue.unref(saveOne)
1645
1782
  }, {
1646
1783
  default: vue.withCtx(() => [
1647
- vue.createElementVNode("div", _hoisted_1$c, [
1784
+ vue.createElementVNode("div", _hoisted_1$e, [
1648
1785
  vue.createVNode(vue.unref(form.NeonField), vue.mergeProps({
1649
1786
  modelValue: vue.unref(values).name,
1650
1787
  "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => vue.unref(values).name = $event)
@@ -1654,7 +1791,7 @@ const _sfc_main$I = /* @__PURE__ */ vue.defineComponent({
1654
1791
  "onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => vue.unref(values).nik = $event)
1655
1792
  }, vue.unref(fields).nik), null, 16, ["modelValue"])
1656
1793
  ]),
1657
- vue.createElementVNode("div", _hoisted_2$b, [
1794
+ vue.createElementVNode("div", _hoisted_2$c, [
1658
1795
  vue.createVNode(vue.unref(form.NeonField), vue.mergeProps({
1659
1796
  modelValue: vue.unref(values).birthPlace,
1660
1797
  "onUpdate:modelValue": _cache[2] || (_cache[2] = ($event) => vue.unref(values).birthPlace = $event)
@@ -1687,7 +1824,7 @@ const _sfc_main$I = /* @__PURE__ */ vue.defineComponent({
1687
1824
  title: "Identitas"
1688
1825
  }, {
1689
1826
  default: vue.withCtx(() => [
1690
- vue.createVNode(vue.unref(_sfc_main$G))
1827
+ vue.createVNode(vue.unref(_sfc_main$N))
1691
1828
  ]),
1692
1829
  _: 1
1693
1830
  /* STABLE */
@@ -1758,10 +1895,10 @@ const _sfc_main$I = /* @__PURE__ */ vue.defineComponent({
1758
1895
  }
1759
1896
  });
1760
1897
  const StaffSingle_vue_vue_type_style_index_0_scoped_0cf4cd99_lang = "";
1761
- const StaffSingle = /* @__PURE__ */ _export_sfc(_sfc_main$I, [["__scopeId", "data-v-0cf4cd99"]]);
1762
- const _hoisted_1$b = { class: "grid gap-4 sm:grid-cols-[3fr_1fr]" };
1763
- const _hoisted_2$a = { class: "grid gap-4 sm:grid-cols-2" };
1764
- const _sfc_main$H = /* @__PURE__ */ vue.defineComponent({
1898
+ const StaffSingle = /* @__PURE__ */ _export_sfc(_sfc_main$P, [["__scopeId", "data-v-0cf4cd99"]]);
1899
+ const _hoisted_1$d = { class: "grid gap-4 sm:grid-cols-[3fr_1fr]" };
1900
+ const _hoisted_2$b = { class: "grid gap-4 sm:grid-cols-2" };
1901
+ const _sfc_main$O = /* @__PURE__ */ vue.defineComponent({
1765
1902
  __name: "StaffOperasional",
1766
1903
  setup(__props) {
1767
1904
  const {
@@ -1798,7 +1935,7 @@ const _sfc_main$H = /* @__PURE__ */ vue.defineComponent({
1798
1935
  onSubmit: vue.unref(saveOne)
1799
1936
  }, {
1800
1937
  default: vue.withCtx(() => [
1801
- vue.createElementVNode("div", _hoisted_1$b, [
1938
+ vue.createElementVNode("div", _hoisted_1$d, [
1802
1939
  vue.createVNode(vue.unref(form.NeonField), vue.mergeProps({
1803
1940
  modelValue: vue.unref(values).name,
1804
1941
  "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => vue.unref(values).name = $event)
@@ -1808,7 +1945,7 @@ const _sfc_main$H = /* @__PURE__ */ vue.defineComponent({
1808
1945
  "onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => vue.unref(values).nik = $event)
1809
1946
  }, vue.unref(fields).nik), null, 16, ["modelValue"])
1810
1947
  ]),
1811
- vue.createElementVNode("div", _hoisted_2$a, [
1948
+ vue.createElementVNode("div", _hoisted_2$b, [
1812
1949
  vue.createVNode(vue.unref(form.NeonField), vue.mergeProps({
1813
1950
  modelValue: vue.unref(values).birthPlace,
1814
1951
  "onUpdate:modelValue": _cache[2] || (_cache[2] = ($event) => vue.unref(values).birthPlace = $event)
@@ -1841,7 +1978,7 @@ const _sfc_main$H = /* @__PURE__ */ vue.defineComponent({
1841
1978
  title: "Identitas"
1842
1979
  }, {
1843
1980
  default: vue.withCtx(() => [
1844
- vue.createVNode(vue.unref(_sfc_main$G))
1981
+ vue.createVNode(vue.unref(_sfc_main$N))
1845
1982
  ]),
1846
1983
  _: 1
1847
1984
  /* STABLE */
@@ -1919,8 +2056,8 @@ const _sfc_main$H = /* @__PURE__ */ vue.defineComponent({
1919
2056
  }
1920
2057
  });
1921
2058
  const StaffOperasional_vue_vue_type_style_index_0_scoped_c62cf70a_lang = "";
1922
- const StaffOperasional = /* @__PURE__ */ _export_sfc(_sfc_main$H, [["__scopeId", "data-v-c62cf70a"]]);
1923
- const _sfc_main$G = /* @__PURE__ */ vue.defineComponent({
2059
+ const StaffOperasional = /* @__PURE__ */ _export_sfc(_sfc_main$O, [["__scopeId", "data-v-c62cf70a"]]);
2060
+ const _sfc_main$N = /* @__PURE__ */ vue.defineComponent({
1924
2061
  __name: "StaffIdentity",
1925
2062
  setup(__props) {
1926
2063
  const { values, saveOne, executeOne, syncOne } = context.useSingle();
@@ -2005,6 +2142,24 @@ const _sfc_main$G = /* @__PURE__ */ vue.defineComponent({
2005
2142
  { id: "6309c3c2e64a1324b8663dab", name: "Karyawan" },
2006
2143
  { id: "646a42976af710fe3618af9a", name: "Pengawas Pengajuan" },
2007
2144
  { id: "646a43106af710fe3618afca", name: "Pengambil Keputusan" },
2145
+ // OPERASIONAL
2146
+ {
2147
+ id: "64a686ba3fe0bb481faa0f8b",
2148
+ name: "Pengelola SDM"
2149
+ },
2150
+ {
2151
+ id: "64a687823fe0bb481faa0fba",
2152
+ name: "Penanggungjawab Cabang"
2153
+ },
2154
+ {
2155
+ id: "64a687b93fe0bb481faa0fd6",
2156
+ name: "Pengawas SDM"
2157
+ },
2158
+ {
2159
+ id: "64a687ed3fe0bb481faa0ff2",
2160
+ name: "Pengelola Absensi"
2161
+ },
2162
+ // END OPERASIONAL
2008
2163
  { id: "63e1734b78ae4f8388b1b313", name: "Cabang Pendidikan" },
2009
2164
  // { id: '6309c2aae64a1324b8663d96', name: 'Admin Pendidikan' },
2010
2165
  { id: "643f6c0bd760fc7b529d4a5d", name: "Pengelola Pengajar" },
@@ -2076,7 +2231,7 @@ const _sfc_main$G = /* @__PURE__ */ vue.defineComponent({
2076
2231
  }
2077
2232
  });
2078
2233
  const SituationModel = personaliaModels.models.SituationModel;
2079
- const _sfc_main$F = /* @__PURE__ */ vue.defineComponent({
2234
+ const _sfc_main$M = /* @__PURE__ */ vue.defineComponent({
2080
2235
  ...{ name: "SituationCollection" },
2081
2236
  __name: "SituationCollection",
2082
2237
  setup(__props) {
@@ -2092,7 +2247,7 @@ const _sfc_main$F = /* @__PURE__ */ vue.defineComponent({
2092
2247
  };
2093
2248
  }
2094
2249
  });
2095
- const _sfc_main$E = /* @__PURE__ */ vue.defineComponent({
2250
+ const _sfc_main$L = /* @__PURE__ */ vue.defineComponent({
2096
2251
  __name: "SituationSingle",
2097
2252
  setup(__props) {
2098
2253
  const {
@@ -2230,7 +2385,7 @@ const _sfc_main$E = /* @__PURE__ */ vue.defineComponent({
2230
2385
  };
2231
2386
  }
2232
2387
  });
2233
- const _sfc_main$D = /* @__PURE__ */ vue.defineComponent({
2388
+ const _sfc_main$K = /* @__PURE__ */ vue.defineComponent({
2234
2389
  __name: "SituationWork",
2235
2390
  setup(__props) {
2236
2391
  const {
@@ -2411,7 +2566,7 @@ const _sfc_main$D = /* @__PURE__ */ vue.defineComponent({
2411
2566
  };
2412
2567
  }
2413
2568
  });
2414
- const _sfc_main$C = /* @__PURE__ */ vue.defineComponent({
2569
+ const _sfc_main$J = /* @__PURE__ */ vue.defineComponent({
2415
2570
  ...{ name: "SituationSupportive" },
2416
2571
  __name: "SituationSupportive",
2417
2572
  setup(__props) {
@@ -2550,7 +2705,7 @@ const _sfc_main$C = /* @__PURE__ */ vue.defineComponent({
2550
2705
  }
2551
2706
  });
2552
2707
  const SituationTypeModel = personaliaModels.models.SituationTypeModel;
2553
- const _sfc_main$B = /* @__PURE__ */ vue.defineComponent({
2708
+ const _sfc_main$I = /* @__PURE__ */ vue.defineComponent({
2554
2709
  ...{ name: "SituationTypeCollection" },
2555
2710
  __name: "SituationTypeCollection",
2556
2711
  setup(__props) {
@@ -2566,7 +2721,7 @@ const _sfc_main$B = /* @__PURE__ */ vue.defineComponent({
2566
2721
  };
2567
2722
  }
2568
2723
  });
2569
- const _sfc_main$A = /* @__PURE__ */ vue.defineComponent({
2724
+ const _sfc_main$H = /* @__PURE__ */ vue.defineComponent({
2570
2725
  __name: "SituationTypeSingle",
2571
2726
  setup(__props) {
2572
2727
  const {
@@ -2639,9 +2794,9 @@ const _sfc_main$A = /* @__PURE__ */ vue.defineComponent({
2639
2794
  }
2640
2795
  });
2641
2796
  const TaskModel = personaliaModels.models.TaskModel;
2642
- const _hoisted_1$a = { key: 0 };
2643
- const _hoisted_2$9 = { key: 1 };
2644
- const _sfc_main$z = /* @__PURE__ */ vue.defineComponent({
2797
+ const _hoisted_1$c = { key: 0 };
2798
+ const _hoisted_2$a = { key: 1 };
2799
+ const _sfc_main$G = /* @__PURE__ */ vue.defineComponent({
2645
2800
  ...{ name: "TaskWorkButton" },
2646
2801
  __name: "TaskWorkButton",
2647
2802
  setup(__props) {
@@ -2734,7 +2889,7 @@ const _sfc_main$z = /* @__PURE__ */ vue.defineComponent({
2734
2889
  vue.Fragment,
2735
2890
  null,
2736
2891
  [
2737
- onHandleTaskWork.value.onStartTaskWorking ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$a, [
2892
+ onHandleTaskWork.value.onStartTaskWorking ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$c, [
2738
2893
  vue.createVNode(vue.unref(interfaces.NeonButton), {
2739
2894
  "is-rounded": true,
2740
2895
  size: "sm",
@@ -2744,7 +2899,7 @@ const _sfc_main$z = /* @__PURE__ */ vue.defineComponent({
2744
2899
  onClick: onClickHandlerStartTaskWork
2745
2900
  })
2746
2901
  ])) : vue.createCommentVNode("v-if", true),
2747
- onHandleTaskWork.value.onFinishedTaskWorking ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_2$9, [
2902
+ onHandleTaskWork.value.onFinishedTaskWorking ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_2$a, [
2748
2903
  vue.createVNode(vue.unref(interfaces.NeonButton), {
2749
2904
  "is-rounded": true,
2750
2905
  size: "sm",
@@ -2762,7 +2917,7 @@ const _sfc_main$z = /* @__PURE__ */ vue.defineComponent({
2762
2917
  };
2763
2918
  }
2764
2919
  });
2765
- const _sfc_main$y = /* @__PURE__ */ vue.defineComponent({
2920
+ const _sfc_main$F = /* @__PURE__ */ vue.defineComponent({
2766
2921
  ...{ name: "TaskCollection" },
2767
2922
  __name: "TaskCollection",
2768
2923
  setup(__props) {
@@ -2778,7 +2933,7 @@ const _sfc_main$y = /* @__PURE__ */ vue.defineComponent({
2778
2933
  };
2779
2934
  }
2780
2935
  });
2781
- const _sfc_main$x = /* @__PURE__ */ vue.defineComponent({
2936
+ const _sfc_main$E = /* @__PURE__ */ vue.defineComponent({
2782
2937
  __name: "TaskSingle",
2783
2938
  setup(__props) {
2784
2939
  const {
@@ -3001,7 +3156,7 @@ const _sfc_main$x = /* @__PURE__ */ vue.defineComponent({
3001
3156
  };
3002
3157
  }
3003
3158
  });
3004
- const _sfc_main$w = /* @__PURE__ */ vue.defineComponent({
3159
+ const _sfc_main$D = /* @__PURE__ */ vue.defineComponent({
3005
3160
  __name: "TaskWork",
3006
3161
  setup(__props) {
3007
3162
  const {
@@ -3224,7 +3379,7 @@ const _sfc_main$w = /* @__PURE__ */ vue.defineComponent({
3224
3379
  }
3225
3380
  });
3226
3381
  const SubmissionModel = personaliaModels.models.SubmissionModel;
3227
- const _sfc_main$v = /* @__PURE__ */ vue.defineComponent({
3382
+ const _sfc_main$C = /* @__PURE__ */ vue.defineComponent({
3228
3383
  ...{
3229
3384
  name: "SubmissionCollection"
3230
3385
  },
@@ -3242,7 +3397,7 @@ const _sfc_main$v = /* @__PURE__ */ vue.defineComponent({
3242
3397
  };
3243
3398
  }
3244
3399
  });
3245
- const _sfc_main$u = /* @__PURE__ */ vue.defineComponent({
3400
+ const _sfc_main$B = /* @__PURE__ */ vue.defineComponent({
3246
3401
  __name: "SubmissionSingle",
3247
3402
  setup(__props) {
3248
3403
  const {
@@ -3440,8 +3595,8 @@ const _sfc_main$u = /* @__PURE__ */ vue.defineComponent({
3440
3595
  }
3441
3596
  });
3442
3597
  const SubmissionSingle_vue_vue_type_style_index_0_scoped_db121b49_lang = "";
3443
- const SubmissionSingle = /* @__PURE__ */ _export_sfc(_sfc_main$u, [["__scopeId", "data-v-db121b49"]]);
3444
- const _sfc_main$t = /* @__PURE__ */ vue.defineComponent({
3598
+ const SubmissionSingle = /* @__PURE__ */ _export_sfc(_sfc_main$B, [["__scopeId", "data-v-db121b49"]]);
3599
+ const _sfc_main$A = /* @__PURE__ */ vue.defineComponent({
3445
3600
  __name: "SubmissionStaff",
3446
3601
  setup(__props) {
3447
3602
  var _a;
@@ -3725,8 +3880,8 @@ const _sfc_main$t = /* @__PURE__ */ vue.defineComponent({
3725
3880
  }
3726
3881
  });
3727
3882
  const SubmissionStaff_vue_vue_type_style_index_0_scoped_c971a3c0_lang = "";
3728
- const SubmissionStaff = /* @__PURE__ */ _export_sfc(_sfc_main$t, [["__scopeId", "data-v-c971a3c0"]]);
3729
- const _sfc_main$s = /* @__PURE__ */ vue.defineComponent({
3883
+ const SubmissionStaff = /* @__PURE__ */ _export_sfc(_sfc_main$A, [["__scopeId", "data-v-c971a3c0"]]);
3884
+ const _sfc_main$z = /* @__PURE__ */ vue.defineComponent({
3730
3885
  __name: "SubmissionFollowUp",
3731
3886
  setup(__props) {
3732
3887
  const {
@@ -3918,13 +4073,13 @@ const _sfc_main$s = /* @__PURE__ */ vue.defineComponent({
3918
4073
  }
3919
4074
  });
3920
4075
  const SubmissionFollowUp_vue_vue_type_style_index_0_scoped_890dfdf2_lang = "";
3921
- const SubmissionFollowUp = /* @__PURE__ */ _export_sfc(_sfc_main$s, [["__scopeId", "data-v-890dfdf2"]]);
3922
- const _hoisted_1$9 = { class: "flex flex-wrap" };
3923
- const _hoisted_2$8 = { class: "mt-2" };
3924
- const _hoisted_3$4 = { class: "mt-2" };
3925
- const _hoisted_4$2 = { class: "mt-2" };
3926
- const _hoisted_5$2 = { class: "mt-2" };
3927
- const _sfc_main$r = /* @__PURE__ */ vue.defineComponent({
4076
+ const SubmissionFollowUp = /* @__PURE__ */ _export_sfc(_sfc_main$z, [["__scopeId", "data-v-890dfdf2"]]);
4077
+ const _hoisted_1$b = { class: "flex flex-wrap" };
4078
+ const _hoisted_2$9 = { class: "mt-2" };
4079
+ const _hoisted_3$5 = { class: "mt-2" };
4080
+ const _hoisted_4$3 = { class: "mt-2" };
4081
+ const _hoisted_5$3 = { class: "mt-2" };
4082
+ const _sfc_main$y = /* @__PURE__ */ vue.defineComponent({
3928
4083
  __name: "SubmissionAudit",
3929
4084
  setup(__props) {
3930
4085
  var _a;
@@ -4028,8 +4183,8 @@ const _sfc_main$r = /* @__PURE__ */ vue.defineComponent({
4028
4183
  onSubmit: vue.unref(saveOne)
4029
4184
  }, {
4030
4185
  default: vue.withCtx(() => [
4031
- vue.createElementVNode("div", _hoisted_1$9, [
4032
- vue.createElementVNode("div", _hoisted_2$8, [
4186
+ vue.createElementVNode("div", _hoisted_1$b, [
4187
+ vue.createElementVNode("div", _hoisted_2$9, [
4033
4188
  vue.unref(isReady) ? (vue.openBlock(), vue.createBlock(vue.unref(form.NeonField), { key: 0 }, {
4034
4189
  input: vue.withCtx(() => [
4035
4190
  vue.createVNode(vue.unref(interfaces.NeonButton), {
@@ -4051,7 +4206,7 @@ const _sfc_main$r = /* @__PURE__ */ vue.defineComponent({
4051
4206
  })) : vue.createCommentVNode("v-if", true)
4052
4207
  ]),
4053
4208
  vue.createTextVNode("    "),
4054
- vue.createElementVNode("div", _hoisted_3$4, [
4209
+ vue.createElementVNode("div", _hoisted_3$5, [
4055
4210
  vue.unref(isReady) ? (vue.openBlock(), vue.createBlock(vue.unref(form.NeonField), { key: 0 }, {
4056
4211
  input: vue.withCtx(() => [
4057
4212
  vue.createVNode(vue.unref(interfaces.NeonButton), {
@@ -4073,7 +4228,7 @@ const _sfc_main$r = /* @__PURE__ */ vue.defineComponent({
4073
4228
  })) : vue.createCommentVNode("v-if", true)
4074
4229
  ]),
4075
4230
  vue.createTextVNode("    "),
4076
- vue.createElementVNode("div", _hoisted_4$2, [
4231
+ vue.createElementVNode("div", _hoisted_4$3, [
4077
4232
  vue.unref(isReady) ? (vue.openBlock(), vue.createBlock(vue.unref(form.NeonField), { key: 0 }, {
4078
4233
  input: vue.withCtx(() => [
4079
4234
  vue.createVNode(vue.unref(interfaces.NeonButton), {
@@ -4095,7 +4250,7 @@ const _sfc_main$r = /* @__PURE__ */ vue.defineComponent({
4095
4250
  })) : vue.createCommentVNode("v-if", true)
4096
4251
  ]),
4097
4252
  vue.createTextVNode("    "),
4098
- vue.createElementVNode("div", _hoisted_5$2, [
4253
+ vue.createElementVNode("div", _hoisted_5$3, [
4099
4254
  vue.unref(isReady) ? (vue.openBlock(), vue.createBlock(vue.unref(form.NeonField), { key: 0 }, {
4100
4255
  input: vue.withCtx(() => [
4101
4256
  vue.createVNode(vue.unref(interfaces.NeonButton), {
@@ -4296,7 +4451,14 @@ const _sfc_main$r = /* @__PURE__ */ vue.defineComponent({
4296
4451
  }
4297
4452
  }),
4298
4453
  "is-ready": vue.unref(isReady),
4299
- columns: ["startedAt", "endedAt", "staff", "detail"],
4454
+ columns: [
4455
+ "startedAt",
4456
+ "endedAt",
4457
+ "detail",
4458
+ "staffs",
4459
+ "virtualIsNotes",
4460
+ "accessStaffs"
4461
+ ],
4300
4462
  sorts: ["startedAt", "startedAt", "createdAt", "updatedAt"],
4301
4463
  filters: ["staff"],
4302
4464
  "initial-values": {
@@ -4320,12 +4482,12 @@ const _sfc_main$r = /* @__PURE__ */ vue.defineComponent({
4320
4482
  };
4321
4483
  }
4322
4484
  });
4323
- const SubmissionAudit_vue_vue_type_style_index_0_scoped_cf1bf231_lang = "";
4324
- const SubmissionAudit = /* @__PURE__ */ _export_sfc(_sfc_main$r, [["__scopeId", "data-v-cf1bf231"]]);
4325
- const _hoisted_1$8 = { class: "flex flex-wrap" };
4326
- const _hoisted_2$7 = { class: "mt-2" };
4327
- const _hoisted_3$3 = { class: "mt-2" };
4328
- const _sfc_main$q = /* @__PURE__ */ vue.defineComponent({
4485
+ const SubmissionAudit_vue_vue_type_style_index_0_scoped_0478202c_lang = "";
4486
+ const SubmissionAudit = /* @__PURE__ */ _export_sfc(_sfc_main$y, [["__scopeId", "data-v-0478202c"]]);
4487
+ const _hoisted_1$a = { class: "flex flex-wrap" };
4488
+ const _hoisted_2$8 = { class: "mt-2" };
4489
+ const _hoisted_3$4 = { class: "mt-2" };
4490
+ const _sfc_main$x = /* @__PURE__ */ vue.defineComponent({
4329
4491
  __name: "SubmissionDecision",
4330
4492
  setup(__props) {
4331
4493
  var _a;
@@ -4429,8 +4591,8 @@ const _sfc_main$q = /* @__PURE__ */ vue.defineComponent({
4429
4591
  onSubmit: vue.unref(saveOne)
4430
4592
  }, {
4431
4593
  default: vue.withCtx(() => [
4432
- vue.createElementVNode("div", _hoisted_1$8, [
4433
- vue.createElementVNode("div", _hoisted_2$7, [
4594
+ vue.createElementVNode("div", _hoisted_1$a, [
4595
+ vue.createElementVNode("div", _hoisted_2$8, [
4434
4596
  vue.unref(isReady) ? (vue.openBlock(), vue.createBlock(vue.unref(form.NeonField), { key: 0 }, {
4435
4597
  input: vue.withCtx(() => {
4436
4598
  var _a2, _b;
@@ -4455,7 +4617,7 @@ const _sfc_main$q = /* @__PURE__ */ vue.defineComponent({
4455
4617
  })) : vue.createCommentVNode("v-if", true)
4456
4618
  ]),
4457
4619
  vue.createTextVNode("    "),
4458
- vue.createElementVNode("div", _hoisted_3$3, [
4620
+ vue.createElementVNode("div", _hoisted_3$4, [
4459
4621
  vue.unref(isReady) ? (vue.openBlock(), vue.createBlock(vue.unref(form.NeonField), { key: 0 }, {
4460
4622
  input: vue.withCtx(() => {
4461
4623
  var _a2, _b;
@@ -4661,7 +4823,14 @@ const _sfc_main$q = /* @__PURE__ */ vue.defineComponent({
4661
4823
  }
4662
4824
  }),
4663
4825
  "is-ready": vue.unref(isReady),
4664
- columns: ["startedAt", "endedAt", "staff", "detail"],
4826
+ columns: [
4827
+ "startedAt",
4828
+ "endedAt",
4829
+ "detail",
4830
+ "staffs",
4831
+ "virtualIsNotes",
4832
+ "accessStaffs"
4833
+ ],
4665
4834
  sorts: ["startedAt", "startedAt", "createdAt", "updatedAt"],
4666
4835
  filters: ["staff"],
4667
4836
  "initial-values": {
@@ -4685,12 +4854,12 @@ const _sfc_main$q = /* @__PURE__ */ vue.defineComponent({
4685
4854
  };
4686
4855
  }
4687
4856
  });
4688
- const SubmissionDecision_vue_vue_type_style_index_0_scoped_754ce2a4_lang = "";
4689
- const SubmissionDecision = /* @__PURE__ */ _export_sfc(_sfc_main$q, [["__scopeId", "data-v-754ce2a4"]]);
4690
- const _hoisted_1$7 = { class: "flex flex-wrap" };
4691
- const _hoisted_2$6 = { class: "mt-2" };
4692
- const _hoisted_3$2 = { class: "mt-2" };
4693
- const _sfc_main$p = /* @__PURE__ */ vue.defineComponent({
4857
+ const SubmissionDecision_vue_vue_type_style_index_0_scoped_59b0701c_lang = "";
4858
+ const SubmissionDecision = /* @__PURE__ */ _export_sfc(_sfc_main$x, [["__scopeId", "data-v-59b0701c"]]);
4859
+ const _hoisted_1$9 = { class: "flex flex-wrap" };
4860
+ const _hoisted_2$7 = { class: "mt-2" };
4861
+ const _hoisted_3$3 = { class: "mt-2" };
4862
+ const _sfc_main$w = /* @__PURE__ */ vue.defineComponent({
4694
4863
  __name: "SubmissionWaitingDecision",
4695
4864
  setup(__props) {
4696
4865
  var _a;
@@ -4796,8 +4965,8 @@ const _sfc_main$p = /* @__PURE__ */ vue.defineComponent({
4796
4965
  onSubmit: vue.unref(saveOne)
4797
4966
  }, {
4798
4967
  default: vue.withCtx(() => [
4799
- vue.createElementVNode("div", _hoisted_1$7, [
4800
- vue.createElementVNode("div", _hoisted_2$6, [
4968
+ vue.createElementVNode("div", _hoisted_1$9, [
4969
+ vue.createElementVNode("div", _hoisted_2$7, [
4801
4970
  vue.unref(isReady) ? (vue.openBlock(), vue.createBlock(vue.unref(form.NeonField), { key: 0 }, {
4802
4971
  input: vue.withCtx(() => {
4803
4972
  var _a2, _b;
@@ -4822,7 +4991,7 @@ const _sfc_main$p = /* @__PURE__ */ vue.defineComponent({
4822
4991
  })) : vue.createCommentVNode("v-if", true)
4823
4992
  ]),
4824
4993
  vue.createTextVNode("    "),
4825
- vue.createElementVNode("div", _hoisted_3$2, [
4994
+ vue.createElementVNode("div", _hoisted_3$3, [
4826
4995
  vue.unref(isReady) ? (vue.openBlock(), vue.createBlock(vue.unref(form.NeonField), { key: 0 }, {
4827
4996
  input: vue.withCtx(() => {
4828
4997
  var _a2, _b;
@@ -5016,28 +5185,9 @@ const _sfc_main$p = /* @__PURE__ */ vue.defineComponent({
5016
5185
  }
5017
5186
  });
5018
5187
  const SubmissionWaitingDecision_vue_vue_type_style_index_0_scoped_1f81ee74_lang = "";
5019
- const SubmissionWaitingDecision = /* @__PURE__ */ _export_sfc(_sfc_main$p, [["__scopeId", "data-v-1f81ee74"]]);
5020
- const SubmissionTypeModel = personaliaModels.models.SubmissionTypeModel;
5021
- const _sfc_main$o = /* @__PURE__ */ vue.defineComponent({
5022
- ...{
5023
- name: "SubmissionTypeCollection"
5024
- },
5025
- __name: "SubmissionTypeCollection",
5026
- setup(__props) {
5027
- context.useCollection();
5028
- return (_ctx, _cache) => {
5029
- return vue.openBlock(), vue.createBlock(vue.unref(context.NeonCollection), { class: "neu-submission-type-collection" }, {
5030
- default: vue.withCtx(() => [
5031
- vue.createVNode(vue.unref(office.OfficeCollectionTable))
5032
- ]),
5033
- _: 1
5034
- /* STABLE */
5035
- });
5036
- };
5037
- }
5038
- });
5039
- const _sfc_main$n = /* @__PURE__ */ vue.defineComponent({
5040
- __name: "SubmissionTypeSingle",
5188
+ const SubmissionWaitingDecision = /* @__PURE__ */ _export_sfc(_sfc_main$w, [["__scopeId", "data-v-1f81ee74"]]);
5189
+ const _sfc_main$v = /* @__PURE__ */ vue.defineComponent({
5190
+ __name: "SubmissionSupervisor",
5041
5191
  setup(__props) {
5042
5192
  const {
5043
5193
  fields,
@@ -5049,11 +5199,17 @@ const _sfc_main$n = /* @__PURE__ */ vue.defineComponent({
5049
5199
  isReady,
5050
5200
  isMain,
5051
5201
  isNew,
5202
+ syncOne,
5052
5203
  saveOne,
5053
- discardChanges
5204
+ discardChanges,
5205
+ executeOne
5054
5206
  } = context.useSingle();
5207
+ const appStore = context.useAppStore();
5208
+ const objectDef = vue.computed(
5209
+ () => `neu:operasional:submission:${id.value}`
5210
+ );
5055
5211
  return (_ctx, _cache) => {
5056
- return vue.openBlock(), vue.createBlock(vue.unref(context.NeonSingle), { class: "neu-submission-type-single" }, {
5212
+ return vue.openBlock(), vue.createBlock(vue.unref(context.NeonSingle), { class: "neu-submission-single" }, {
5057
5213
  default: vue.withCtx(() => [
5058
5214
  vue.createVNode(vue.unref(office.OfficeTabs), { "use-url": vue.unref(isMain) }, {
5059
5215
  default: vue.withCtx(() => [
@@ -5074,20 +5230,226 @@ const _sfc_main$n = /* @__PURE__ */ vue.defineComponent({
5074
5230
  }, {
5075
5231
  default: vue.withCtx(() => [
5076
5232
  vue.createVNode(vue.unref(form.NeonField), vue.mergeProps({
5077
- modelValue: vue.unref(values).name,
5078
- "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => vue.unref(values).name = $event)
5079
- }, vue.unref(fields).name), null, 16, ["modelValue"]),
5080
- vue.createVNode(vue.unref(office.OfficeRelation), {
5081
- modelValue: vue.unref(values),
5082
- "onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => vue.isRef(values) ? values.value = $event : null),
5083
- field: vue.unref(fields).branches
5084
- }, null, 8, ["modelValue", "field"])
5085
- ]),
5086
- _: 1
5087
- /* STABLE */
5088
- }, 8, ["initial-values", "is-loading", "is-changed", "onCancel", "onSubmit"])
5089
- ]),
5090
- _: 1
5233
+ modelValue: vue.unref(values).title,
5234
+ "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => vue.unref(values).title = $event)
5235
+ }, vue.unref(fields).title, { "is-disabled": "" }), null, 16, ["modelValue"]),
5236
+ vue.createVNode(vue.unref(form.NeonFields), { md: "grid-cols-2" }, {
5237
+ default: vue.withCtx(() => [
5238
+ vue.createVNode(vue.unref(office.OfficeRelation), {
5239
+ modelValue: vue.unref(values),
5240
+ "onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => vue.isRef(values) ? values.value = $event : null),
5241
+ field: vue.unref(fields).branches,
5242
+ "is-disabled": ""
5243
+ }, null, 8, ["modelValue", "field"]),
5244
+ vue.createVNode(vue.unref(office.OfficeRelation), {
5245
+ modelValue: vue.unref(values),
5246
+ "onUpdate:modelValue": _cache[2] || (_cache[2] = ($event) => vue.isRef(values) ? values.value = $event : null),
5247
+ field: vue.unref(fields).type,
5248
+ "is-disabled": ""
5249
+ }, null, 8, ["modelValue", "field"])
5250
+ ]),
5251
+ _: 1
5252
+ /* STABLE */
5253
+ }),
5254
+ vue.createVNode(vue.unref(form.NeonFields), { md: "grid-cols-2" }, {
5255
+ default: vue.withCtx(() => [
5256
+ vue.createVNode(vue.unref(office.OfficeRelation), {
5257
+ modelValue: vue.unref(values),
5258
+ "onUpdate:modelValue": _cache[3] || (_cache[3] = ($event) => vue.isRef(values) ? values.value = $event : null),
5259
+ field: vue.unref(fields).submissionStaffs,
5260
+ "is-disabled": ""
5261
+ }, null, 8, ["modelValue", "field"]),
5262
+ vue.createVNode(vue.unref(office.OfficeRelation), {
5263
+ modelValue: vue.unref(values),
5264
+ "onUpdate:modelValue": _cache[4] || (_cache[4] = ($event) => vue.isRef(values) ? values.value = $event : null),
5265
+ field: vue.unref(fields).raiseStaffs,
5266
+ "is-disabled": ""
5267
+ }, null, 8, ["modelValue", "field"])
5268
+ ]),
5269
+ _: 1
5270
+ /* STABLE */
5271
+ }),
5272
+ vue.createVNode(vue.unref(form.NeonFields), { md: "grid-cols-2" }, {
5273
+ default: vue.withCtx(() => [
5274
+ vue.createVNode(vue.unref(office.OfficeRelation), {
5275
+ modelValue: vue.unref(values),
5276
+ "onUpdate:modelValue": _cache[5] || (_cache[5] = ($event) => vue.isRef(values) ? values.value = $event : null),
5277
+ field: vue.unref(fields).decideStaffs,
5278
+ "is-disabled": ""
5279
+ }, null, 8, ["modelValue", "field"]),
5280
+ vue.createVNode(vue.unref(office.OfficeRelation), {
5281
+ modelValue: vue.unref(values),
5282
+ "onUpdate:modelValue": _cache[6] || (_cache[6] = ($event) => vue.isRef(values) ? values.value = $event : null),
5283
+ field: vue.unref(fields).followUpStaffs
5284
+ }, null, 8, ["modelValue", "field"])
5285
+ ]),
5286
+ _: 1
5287
+ /* STABLE */
5288
+ }),
5289
+ vue.createCommentVNode(' <NeonField\n v-model="values.specifications"\n v-bind="fields.specifications"\n is-disabled\n /> '),
5290
+ vue.createVNode(vue.unref(form.NeonField), vue.mergeProps({
5291
+ modelValue: vue.unref(values).updatedAt,
5292
+ "onUpdate:modelValue": _cache[7] || (_cache[7] = ($event) => vue.unref(values).updatedAt = $event)
5293
+ }, {
5294
+ handle: "updatedAt",
5295
+ name: "Tanggal Diupdate",
5296
+ type: "date",
5297
+ input: "date2",
5298
+ options: {
5299
+ note: "Tanggal pengajuan diupdate."
5300
+ }
5301
+ }, { "is-disabled": "" }), null, 16, ["modelValue"]),
5302
+ vue.createVNode(vue.unref(interfaces.NeonDivider), {
5303
+ "is-dashed": "",
5304
+ label: "Spesifikasi"
5305
+ }),
5306
+ vue.createVNode(vue.unref(form.NeonField), vue.mergeProps({
5307
+ modelValue: vue.unref(values).nominal,
5308
+ "onUpdate:modelValue": _cache[8] || (_cache[8] = ($event) => vue.unref(values).nominal = $event)
5309
+ }, vue.unref(fields).nominal, { "is-disabled": "" }), null, 16, ["modelValue"]),
5310
+ vue.createVNode(vue.unref(form.NeonField), vue.mergeProps({
5311
+ modelValue: vue.unref(values).workingHours,
5312
+ "onUpdate:modelValue": _cache[9] || (_cache[9] = ($event) => vue.unref(values).workingHours = $event)
5313
+ }, vue.unref(fields).workingHours, { "is-disabled": "" }), null, 16, ["modelValue"]),
5314
+ vue.createVNode(vue.unref(interfaces.NeonDivider), {
5315
+ "is-dashed": "",
5316
+ label: "Keputusan"
5317
+ }),
5318
+ vue.createVNode(vue.unref(form.NeonFields), { md: "grid-cols-2" }, {
5319
+ default: vue.withCtx(() => [
5320
+ vue.createVNode(vue.unref(office.OfficeRelation), {
5321
+ modelValue: vue.unref(values),
5322
+ "onUpdate:modelValue": _cache[10] || (_cache[10] = ($event) => vue.isRef(values) ? values.value = $event : null),
5323
+ field: vue.unref(fields).delayStaffs,
5324
+ "is-disabled": ""
5325
+ }, null, 8, ["modelValue", "field"]),
5326
+ vue.createVNode(vue.unref(office.OfficeRelation), {
5327
+ modelValue: vue.unref(values),
5328
+ "onUpdate:modelValue": _cache[11] || (_cache[11] = ($event) => vue.isRef(values) ? values.value = $event : null),
5329
+ field: vue.unref(fields).agreedStaffs,
5330
+ "is-disabled": ""
5331
+ }, null, 8, ["modelValue", "field"])
5332
+ ]),
5333
+ _: 1
5334
+ /* STABLE */
5335
+ })
5336
+ ]),
5337
+ _: 1
5338
+ /* STABLE */
5339
+ }, 8, ["initial-values", "is-loading", "is-changed", "onCancel", "onSubmit"])
5340
+ ]),
5341
+ _: 1
5342
+ /* STABLE */
5343
+ }),
5344
+ vue.createCommentVNode(" DOKUMEN "),
5345
+ !vue.unref(isNew) ? (vue.openBlock(), vue.createBlock(vue.unref(office.OfficeTab), {
5346
+ key: 0,
5347
+ handle: "dokumen",
5348
+ icon: "circle-info",
5349
+ title: "Dokumen"
5350
+ }, {
5351
+ default: vue.withCtx(({ isTouched }) => [
5352
+ vue.createVNode(
5353
+ vue.unref(catatInterfaces.CatatSketchPad),
5354
+ vue.normalizeProps(vue.guardReactiveProps({
5355
+ applicationId: vue.unref(appStore).appId,
5356
+ object: `${objectDef.value}:office`,
5357
+ isReady: vue.unref(isReady) && isTouched,
5358
+ isLoading: vue.unref(isLoading),
5359
+ isReadonly: true
5360
+ })),
5361
+ null,
5362
+ 16
5363
+ /* FULL_PROPS */
5364
+ )
5365
+ ]),
5366
+ _: 1
5367
+ /* STABLE */
5368
+ })) : vue.createCommentVNode("v-if", true)
5369
+ ]),
5370
+ _: 1
5371
+ /* STABLE */
5372
+ }, 8, ["use-url"])
5373
+ ]),
5374
+ _: 1
5375
+ /* STABLE */
5376
+ });
5377
+ };
5378
+ }
5379
+ });
5380
+ const SubmissionSupervisor_vue_vue_type_style_index_0_scoped_201be0ad_lang = "";
5381
+ const SubmissionSupervisor = /* @__PURE__ */ _export_sfc(_sfc_main$v, [["__scopeId", "data-v-201be0ad"]]);
5382
+ const SubmissionTypeModel = personaliaModels.models.SubmissionTypeModel;
5383
+ const _sfc_main$u = /* @__PURE__ */ vue.defineComponent({
5384
+ ...{
5385
+ name: "SubmissionTypeCollection"
5386
+ },
5387
+ __name: "SubmissionTypeCollection",
5388
+ setup(__props) {
5389
+ context.useCollection();
5390
+ return (_ctx, _cache) => {
5391
+ return vue.openBlock(), vue.createBlock(vue.unref(context.NeonCollection), { class: "neu-submission-type-collection" }, {
5392
+ default: vue.withCtx(() => [
5393
+ vue.createVNode(vue.unref(office.OfficeCollectionTable))
5394
+ ]),
5395
+ _: 1
5396
+ /* STABLE */
5397
+ });
5398
+ };
5399
+ }
5400
+ });
5401
+ const _sfc_main$t = /* @__PURE__ */ vue.defineComponent({
5402
+ __name: "SubmissionTypeSingle",
5403
+ setup(__props) {
5404
+ const {
5405
+ fields,
5406
+ id,
5407
+ initialValues,
5408
+ values,
5409
+ isLoading,
5410
+ isChanged,
5411
+ isReady,
5412
+ isMain,
5413
+ isNew,
5414
+ saveOne,
5415
+ discardChanges
5416
+ } = context.useSingle();
5417
+ return (_ctx, _cache) => {
5418
+ return vue.openBlock(), vue.createBlock(vue.unref(context.NeonSingle), { class: "neu-submission-type-single" }, {
5419
+ default: vue.withCtx(() => [
5420
+ vue.createVNode(vue.unref(office.OfficeTabs), { "use-url": vue.unref(isMain) }, {
5421
+ default: vue.withCtx(() => [
5422
+ vue.createVNode(vue.unref(office.OfficeTab), {
5423
+ handle: "info",
5424
+ icon: "circle-info",
5425
+ title: "Info"
5426
+ }, {
5427
+ default: vue.withCtx(() => [
5428
+ vue.createVNode(vue.unref(form.NeonForm), {
5429
+ handle: "info",
5430
+ "initial-values": vue.unref(initialValues),
5431
+ "is-loading": vue.unref(isLoading),
5432
+ "is-changed": vue.unref(isChanged),
5433
+ "use-unsaved": "",
5434
+ onCancel: vue.unref(discardChanges),
5435
+ onSubmit: vue.unref(saveOne)
5436
+ }, {
5437
+ default: vue.withCtx(() => [
5438
+ vue.createVNode(vue.unref(form.NeonField), vue.mergeProps({
5439
+ modelValue: vue.unref(values).name,
5440
+ "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => vue.unref(values).name = $event)
5441
+ }, vue.unref(fields).name), null, 16, ["modelValue"]),
5442
+ vue.createVNode(vue.unref(office.OfficeRelation), {
5443
+ modelValue: vue.unref(values),
5444
+ "onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => vue.isRef(values) ? values.value = $event : null),
5445
+ field: vue.unref(fields).branches
5446
+ }, null, 8, ["modelValue", "field"])
5447
+ ]),
5448
+ _: 1
5449
+ /* STABLE */
5450
+ }, 8, ["initial-values", "is-loading", "is-changed", "onCancel", "onSubmit"])
5451
+ ]),
5452
+ _: 1
5091
5453
  /* STABLE */
5092
5454
  })
5093
5455
  ]),
@@ -5102,9 +5464,9 @@ const _sfc_main$n = /* @__PURE__ */ vue.defineComponent({
5102
5464
  }
5103
5465
  });
5104
5466
  const SubmissionTypeSingle_vue_vue_type_style_index_0_scoped_2b7e18ba_lang = "";
5105
- const SubmissionTypeSingle = /* @__PURE__ */ _export_sfc(_sfc_main$n, [["__scopeId", "data-v-2b7e18ba"]]);
5467
+ const SubmissionTypeSingle = /* @__PURE__ */ _export_sfc(_sfc_main$t, [["__scopeId", "data-v-2b7e18ba"]]);
5106
5468
  const ResponsibilityTypeModel = personaliaModels.models.ResponsibilityTypeModel;
5107
- const _sfc_main$m = /* @__PURE__ */ vue.defineComponent({
5469
+ const _sfc_main$s = /* @__PURE__ */ vue.defineComponent({
5108
5470
  ...{
5109
5471
  name: "ResponsibilityTypeCollection"
5110
5472
  },
@@ -5122,7 +5484,7 @@ const _sfc_main$m = /* @__PURE__ */ vue.defineComponent({
5122
5484
  };
5123
5485
  }
5124
5486
  });
5125
- const _sfc_main$l = /* @__PURE__ */ vue.defineComponent({
5487
+ const _sfc_main$r = /* @__PURE__ */ vue.defineComponent({
5126
5488
  __name: "ResponsibilityTypeSingle",
5127
5489
  setup(__props) {
5128
5490
  const {
@@ -5188,9 +5550,9 @@ const _sfc_main$l = /* @__PURE__ */ vue.defineComponent({
5188
5550
  }
5189
5551
  });
5190
5552
  const ResponsibilityTypeSingle_vue_vue_type_style_index_0_scoped_3df9fac1_lang = "";
5191
- const ResponsibilityTypeSingle = /* @__PURE__ */ _export_sfc(_sfc_main$l, [["__scopeId", "data-v-3df9fac1"]]);
5553
+ const ResponsibilityTypeSingle = /* @__PURE__ */ _export_sfc(_sfc_main$r, [["__scopeId", "data-v-3df9fac1"]]);
5192
5554
  const ResponsibilityModel = personaliaModels.models.ResponsibilityModel;
5193
- const _sfc_main$k = /* @__PURE__ */ vue.defineComponent({
5555
+ const _sfc_main$q = /* @__PURE__ */ vue.defineComponent({
5194
5556
  ...{
5195
5557
  name: "ResponsibilityCollection"
5196
5558
  },
@@ -5208,7 +5570,7 @@ const _sfc_main$k = /* @__PURE__ */ vue.defineComponent({
5208
5570
  };
5209
5571
  }
5210
5572
  });
5211
- const _sfc_main$j = /* @__PURE__ */ vue.defineComponent({
5573
+ const _sfc_main$p = /* @__PURE__ */ vue.defineComponent({
5212
5574
  __name: "ResponsibilitySingle",
5213
5575
  setup(__props) {
5214
5576
  const {
@@ -5236,6 +5598,29 @@ const _sfc_main$j = /* @__PURE__ */ vue.defineComponent({
5236
5598
  ]
5237
5599
  };
5238
5600
  });
5601
+ const branchOptions = vue.computed(() => {
5602
+ var _a;
5603
+ return {
5604
+ filter: [
5605
+ {
5606
+ handle: "_id",
5607
+ operator: "in",
5608
+ value: (_a = staff.value) == null ? void 0 : _a.branchIds
5609
+ }
5610
+ ]
5611
+ };
5612
+ });
5613
+ const staffWorkOptions = vue.computed(() => {
5614
+ return {
5615
+ filter: [
5616
+ {
5617
+ handle: "branchIds",
5618
+ operator: "in",
5619
+ value: values.value.branchId
5620
+ }
5621
+ ]
5622
+ };
5623
+ });
5239
5624
  return (_ctx, _cache) => {
5240
5625
  return vue.openBlock(), vue.createBlock(vue.unref(context.NeonSingle), { class: "neu-responsibility-single" }, {
5241
5626
  default: vue.withCtx(() => [
@@ -5274,8 +5659,9 @@ const _sfc_main$j = /* @__PURE__ */ vue.defineComponent({
5274
5659
  vue.createVNode(vue.unref(office.OfficeRelation), {
5275
5660
  modelValue: vue.unref(values),
5276
5661
  "onUpdate:modelValue": _cache[3] || (_cache[3] = ($event) => vue.isRef(values) ? values.value = $event : null),
5277
- field: vue.unref(fields).branch
5278
- }, null, 8, ["modelValue", "field"]),
5662
+ field: vue.unref(fields).branch,
5663
+ query: vue.unref(query.Query).define(branchOptions.value)
5664
+ }, null, 8, ["modelValue", "field", "query"]),
5279
5665
  vue.createVNode(vue.unref(office.OfficeRelation), {
5280
5666
  modelValue: vue.unref(values),
5281
5667
  "onUpdate:modelValue": _cache[4] || (_cache[4] = ($event) => vue.isRef(values) ? values.value = $event : null),
@@ -5291,8 +5677,9 @@ const _sfc_main$j = /* @__PURE__ */ vue.defineComponent({
5291
5677
  vue.createVNode(vue.unref(office.OfficeRelation), {
5292
5678
  modelValue: vue.unref(values),
5293
5679
  "onUpdate:modelValue": _cache[5] || (_cache[5] = ($event) => vue.isRef(values) ? values.value = $event : null),
5294
- field: vue.unref(fields).staffWorks
5295
- }, null, 8, ["modelValue", "field"]),
5680
+ field: vue.unref(fields).staffWorks,
5681
+ query: vue.unref(query.Query).define(staffWorkOptions.value)
5682
+ }, null, 8, ["modelValue", "field", "query"]),
5296
5683
  vue.createVNode(vue.unref(office.OfficeRelation), {
5297
5684
  modelValue: vue.unref(values),
5298
5685
  "onUpdate:modelValue": _cache[6] || (_cache[6] = ($event) => vue.isRef(values) ? values.value = $event : null),
@@ -5346,7 +5733,14 @@ const _sfc_main$j = /* @__PURE__ */ vue.defineComponent({
5346
5733
  }
5347
5734
  }),
5348
5735
  "is-ready": vue.unref(isReady),
5349
- columns: ["startedAt", "endedAt", "staff", "detail"],
5736
+ columns: [
5737
+ "startedAt",
5738
+ "endedAt",
5739
+ "detail",
5740
+ "staffs",
5741
+ "virtualIsNotes",
5742
+ "accessStaffs"
5743
+ ],
5350
5744
  sorts: ["startedAt", "createdAt", "updatedAt"],
5351
5745
  "initial-values": {
5352
5746
  responsibilityIds: vue.unref(id),
@@ -5371,9 +5765,9 @@ const _sfc_main$j = /* @__PURE__ */ vue.defineComponent({
5371
5765
  };
5372
5766
  }
5373
5767
  });
5374
- const ResponsibilitySingle_vue_vue_type_style_index_0_scoped_774b00b2_lang = "";
5375
- const ResponsibilitySingle = /* @__PURE__ */ _export_sfc(_sfc_main$j, [["__scopeId", "data-v-774b00b2"]]);
5376
- const _sfc_main$i = /* @__PURE__ */ vue.defineComponent({
5768
+ const ResponsibilitySingle_vue_vue_type_style_index_0_scoped_9eded4a7_lang = "";
5769
+ const ResponsibilitySingle = /* @__PURE__ */ _export_sfc(_sfc_main$p, [["__scopeId", "data-v-9eded4a7"]]);
5770
+ const _sfc_main$o = /* @__PURE__ */ vue.defineComponent({
5377
5771
  __name: "ResponsibilityStaff",
5378
5772
  setup(__props) {
5379
5773
  const {
@@ -5503,7 +5897,14 @@ const _sfc_main$i = /* @__PURE__ */ vue.defineComponent({
5503
5897
  }
5504
5898
  }),
5505
5899
  "is-ready": vue.unref(isReady),
5506
- columns: ["startedAt", "endedAt", "staff", "detail"],
5900
+ columns: [
5901
+ "startedAt",
5902
+ "endedAt",
5903
+ "detail",
5904
+ "staffs",
5905
+ "virtualIsNotes",
5906
+ "accessStaffs"
5907
+ ],
5507
5908
  sorts: ["startedAt", "createdAt", "updatedAt"],
5508
5909
  "initial-values": {
5509
5910
  responsibilityIds: vue.unref(id),
@@ -5528,10 +5929,174 @@ const _sfc_main$i = /* @__PURE__ */ vue.defineComponent({
5528
5929
  };
5529
5930
  }
5530
5931
  });
5531
- const ResponsibilityStaff_vue_vue_type_style_index_0_scoped_8c4d64ad_lang = "";
5532
- const ResponsibilityStaff = /* @__PURE__ */ _export_sfc(_sfc_main$i, [["__scopeId", "data-v-8c4d64ad"]]);
5533
- const TargetModel = personaliaModels.models.TargetModel;
5534
- const _sfc_main$h = /* @__PURE__ */ vue.defineComponent({
5932
+ const ResponsibilityStaff_vue_vue_type_style_index_0_scoped_a1ec66a6_lang = "";
5933
+ const ResponsibilityStaff = /* @__PURE__ */ _export_sfc(_sfc_main$o, [["__scopeId", "data-v-a1ec66a6"]]);
5934
+ const _sfc_main$n = /* @__PURE__ */ vue.defineComponent({
5935
+ __name: "ResponsibilitySupervisor",
5936
+ setup(__props) {
5937
+ const {
5938
+ fields,
5939
+ id,
5940
+ initialValues,
5941
+ values,
5942
+ isLoading,
5943
+ isChanged,
5944
+ isReady,
5945
+ isMain,
5946
+ isNew,
5947
+ saveOne,
5948
+ discardChanges
5949
+ } = context.useSingle();
5950
+ const { staff } = useOperasional();
5951
+ return (_ctx, _cache) => {
5952
+ return vue.openBlock(), vue.createBlock(vue.unref(context.NeonSingle), { class: "neu-responsibility-single" }, {
5953
+ default: vue.withCtx(() => [
5954
+ vue.createVNode(vue.unref(office.OfficeTabs), { "use-url": vue.unref(isMain) }, {
5955
+ default: vue.withCtx(() => [
5956
+ vue.createVNode(vue.unref(office.OfficeTab), {
5957
+ handle: "info",
5958
+ icon: "circle-info",
5959
+ title: "Info"
5960
+ }, {
5961
+ default: vue.withCtx(() => [
5962
+ vue.createVNode(vue.unref(form.NeonForm), {
5963
+ handle: "info",
5964
+ "initial-values": vue.unref(initialValues),
5965
+ "is-loading": vue.unref(isLoading),
5966
+ "is-changed": vue.unref(isChanged),
5967
+ "use-unsaved": "",
5968
+ onCancel: vue.unref(discardChanges),
5969
+ onSubmit: vue.unref(saveOne)
5970
+ }, {
5971
+ default: vue.withCtx(() => [
5972
+ vue.createVNode(vue.unref(form.NeonField), vue.mergeProps({
5973
+ modelValue: vue.unref(values).condition,
5974
+ "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => vue.unref(values).condition = $event)
5975
+ }, vue.unref(fields).condition, { "is-disabled": "" }), null, 16, ["modelValue"]),
5976
+ vue.createVNode(vue.unref(form.NeonField), vue.mergeProps({
5977
+ modelValue: vue.unref(values).title,
5978
+ "onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => vue.unref(values).title = $event)
5979
+ }, vue.unref(fields).title, { "is-disabled": "" }), null, 16, ["modelValue"]),
5980
+ vue.createVNode(vue.unref(form.NeonField), vue.mergeProps({
5981
+ modelValue: vue.unref(values).score,
5982
+ "onUpdate:modelValue": _cache[2] || (_cache[2] = ($event) => vue.unref(values).score = $event)
5983
+ }, vue.unref(fields).score), null, 16, ["modelValue"]),
5984
+ vue.createVNode(vue.unref(form.NeonFields), { md: "grid-cols-2" }, {
5985
+ default: vue.withCtx(() => [
5986
+ vue.createVNode(vue.unref(office.OfficeRelation), {
5987
+ modelValue: vue.unref(values),
5988
+ "onUpdate:modelValue": _cache[3] || (_cache[3] = ($event) => vue.isRef(values) ? values.value = $event : null),
5989
+ field: vue.unref(fields).branch,
5990
+ "is-disabled": ""
5991
+ }, null, 8, ["modelValue", "field"]),
5992
+ vue.createVNode(vue.unref(office.OfficeRelation), {
5993
+ modelValue: vue.unref(values),
5994
+ "onUpdate:modelValue": _cache[4] || (_cache[4] = ($event) => vue.isRef(values) ? values.value = $event : null),
5995
+ field: vue.unref(fields).responsibilityType,
5996
+ "is-disabled": ""
5997
+ }, null, 8, ["modelValue", "field"])
5998
+ ]),
5999
+ _: 1
6000
+ /* STABLE */
6001
+ }),
6002
+ vue.createVNode(vue.unref(form.NeonFields), { md: "grid-cols-2" }, {
6003
+ default: vue.withCtx(() => [
6004
+ vue.createVNode(vue.unref(office.OfficeRelation), {
6005
+ modelValue: vue.unref(values),
6006
+ "onUpdate:modelValue": _cache[5] || (_cache[5] = ($event) => vue.isRef(values) ? values.value = $event : null),
6007
+ field: vue.unref(fields).staffWorks,
6008
+ "is-disabled": ""
6009
+ }, null, 8, ["modelValue", "field"]),
6010
+ vue.createVNode(vue.unref(office.OfficeRelation), {
6011
+ modelValue: vue.unref(values),
6012
+ "onUpdate:modelValue": _cache[6] || (_cache[6] = ($event) => vue.isRef(values) ? values.value = $event : null),
6013
+ field: vue.unref(fields).staffSupervises,
6014
+ "is-disabled": ""
6015
+ }, null, 8, ["modelValue", "field"])
6016
+ ]),
6017
+ _: 1
6018
+ /* STABLE */
6019
+ }),
6020
+ vue.unref(isReady) || vue.unref(isNew) ? (vue.openBlock(), vue.createBlock(vue.unref(form.NeonField), vue.mergeProps({
6021
+ key: 0,
6022
+ modelValue: vue.unref(values).detail,
6023
+ "onUpdate:modelValue": _cache[7] || (_cache[7] = ($event) => vue.unref(values).detail = $event)
6024
+ }, vue.unref(fields).detail, { "is-disabled": "" }), null, 16, ["modelValue"])) : vue.createCommentVNode("v-if", true),
6025
+ vue.unref(isReady) || vue.unref(isNew) ? (vue.openBlock(), vue.createBlock(vue.unref(form.NeonField), vue.mergeProps({
6026
+ key: 1,
6027
+ modelValue: vue.unref(values).result,
6028
+ "onUpdate:modelValue": _cache[8] || (_cache[8] = ($event) => vue.unref(values).result = $event)
6029
+ }, vue.unref(fields).result), null, 16, ["modelValue"])) : vue.createCommentVNode("v-if", true)
6030
+ ]),
6031
+ _: 1
6032
+ /* STABLE */
6033
+ }, 8, ["initial-values", "is-loading", "is-changed", "onCancel", "onSubmit"])
6034
+ ]),
6035
+ _: 1
6036
+ /* STABLE */
6037
+ }),
6038
+ vue.createCommentVNode(" PROGRESS "),
6039
+ !vue.unref(isNew) ? (vue.openBlock(), vue.createBlock(vue.unref(office.OfficeTab), {
6040
+ key: 0,
6041
+ handle: "progress",
6042
+ icon: "info-circle",
6043
+ title: "Progress"
6044
+ }, {
6045
+ default: vue.withCtx(() => {
6046
+ var _a;
6047
+ return [
6048
+ vue.createVNode(vue.unref(office.OfficeCollectionRelated), {
6049
+ definition: "neu:personalia:progress",
6050
+ title: "Progress",
6051
+ description: "Progress dari tanggungjawab.",
6052
+ query: vue.unref(query.Query).define({
6053
+ filter: [
6054
+ {
6055
+ responsibilityIds: vue.unref(id)
6056
+ }
6057
+ ],
6058
+ sort: {
6059
+ handle: "startedAt",
6060
+ direction: "descending"
6061
+ }
6062
+ }),
6063
+ "is-ready": vue.unref(isReady),
6064
+ columns: [
6065
+ "startedAt",
6066
+ "endedAt",
6067
+ "detail",
6068
+ "staffs",
6069
+ "virtualIsNotes",
6070
+ "accessStaffs"
6071
+ ],
6072
+ sorts: ["startedAt", "createdAt", "updatedAt"],
6073
+ "initial-values": {
6074
+ responsibilityIds: vue.unref(id),
6075
+ responsibilities: vue.unref(values),
6076
+ staffIds: (_a = vue.unref(staff)) == null ? void 0 : _a.id,
6077
+ staffs: vue.unref(staff)
6078
+ }
6079
+ }, null, 8, ["query", "is-ready", "initial-values"])
6080
+ ];
6081
+ }),
6082
+ _: 1
6083
+ /* STABLE */
6084
+ })) : vue.createCommentVNode("v-if", true)
6085
+ ]),
6086
+ _: 1
6087
+ /* STABLE */
6088
+ }, 8, ["use-url"])
6089
+ ]),
6090
+ _: 1
6091
+ /* STABLE */
6092
+ });
6093
+ };
6094
+ }
6095
+ });
6096
+ const ResponsibilitySupervisor_vue_vue_type_style_index_0_scoped_63e476fd_lang = "";
6097
+ const ResponsibilitySupervisor = /* @__PURE__ */ _export_sfc(_sfc_main$n, [["__scopeId", "data-v-63e476fd"]]);
6098
+ const TargetModel = personaliaModels.models.TargetModel;
6099
+ const _sfc_main$m = /* @__PURE__ */ vue.defineComponent({
5535
6100
  ...{
5536
6101
  name: "TargetCollection"
5537
6102
  },
@@ -5549,7 +6114,7 @@ const _sfc_main$h = /* @__PURE__ */ vue.defineComponent({
5549
6114
  };
5550
6115
  }
5551
6116
  });
5552
- const _sfc_main$g = /* @__PURE__ */ vue.defineComponent({
6117
+ const _sfc_main$l = /* @__PURE__ */ vue.defineComponent({
5553
6118
  __name: "TargetSingle",
5554
6119
  setup(__props) {
5555
6120
  const {
@@ -5702,8 +6267,8 @@ const _sfc_main$g = /* @__PURE__ */ vue.defineComponent({
5702
6267
  }
5703
6268
  });
5704
6269
  const TargetSingle_vue_vue_type_style_index_0_scoped_c12b8df8_lang = "";
5705
- const TargetSingle = /* @__PURE__ */ _export_sfc(_sfc_main$g, [["__scopeId", "data-v-c12b8df8"]]);
5706
- const _sfc_main$f = /* @__PURE__ */ vue.defineComponent({
6270
+ const TargetSingle = /* @__PURE__ */ _export_sfc(_sfc_main$l, [["__scopeId", "data-v-c12b8df8"]]);
6271
+ const _sfc_main$k = /* @__PURE__ */ vue.defineComponent({
5707
6272
  __name: "TargetBranch",
5708
6273
  setup(__props) {
5709
6274
  const {
@@ -5856,9 +6421,9 @@ const _sfc_main$f = /* @__PURE__ */ vue.defineComponent({
5856
6421
  }
5857
6422
  });
5858
6423
  const TargetBranch_vue_vue_type_style_index_0_scoped_6a5a6e80_lang = "";
5859
- const TargetBranch = /* @__PURE__ */ _export_sfc(_sfc_main$f, [["__scopeId", "data-v-6a5a6e80"]]);
6424
+ const TargetBranch = /* @__PURE__ */ _export_sfc(_sfc_main$k, [["__scopeId", "data-v-6a5a6e80"]]);
5860
6425
  const PlanTypeModel = personaliaModels.models.PlanTypeModel;
5861
- const _sfc_main$e = /* @__PURE__ */ vue.defineComponent({
6426
+ const _sfc_main$j = /* @__PURE__ */ vue.defineComponent({
5862
6427
  ...{
5863
6428
  name: "PlanTypeCollection"
5864
6429
  },
@@ -5876,7 +6441,7 @@ const _sfc_main$e = /* @__PURE__ */ vue.defineComponent({
5876
6441
  };
5877
6442
  }
5878
6443
  });
5879
- const _sfc_main$d = /* @__PURE__ */ vue.defineComponent({
6444
+ const _sfc_main$i = /* @__PURE__ */ vue.defineComponent({
5880
6445
  __name: "PlanTypeSingle",
5881
6446
  setup(__props) {
5882
6447
  const {
@@ -5997,9 +6562,9 @@ const _sfc_main$d = /* @__PURE__ */ vue.defineComponent({
5997
6562
  }
5998
6563
  });
5999
6564
  const PlanTypeSingle_vue_vue_type_style_index_0_scoped_80d2e1d3_lang = "";
6000
- const PlanTypeSingle = /* @__PURE__ */ _export_sfc(_sfc_main$d, [["__scopeId", "data-v-80d2e1d3"]]);
6565
+ const PlanTypeSingle = /* @__PURE__ */ _export_sfc(_sfc_main$i, [["__scopeId", "data-v-80d2e1d3"]]);
6001
6566
  const PlanModel = personaliaModels.models.PlanModel;
6002
- const _sfc_main$c = /* @__PURE__ */ vue.defineComponent({
6567
+ const _sfc_main$h = /* @__PURE__ */ vue.defineComponent({
6003
6568
  ...{
6004
6569
  name: "PlanCollection"
6005
6570
  },
@@ -6017,7 +6582,7 @@ const _sfc_main$c = /* @__PURE__ */ vue.defineComponent({
6017
6582
  };
6018
6583
  }
6019
6584
  });
6020
- const _sfc_main$b = /* @__PURE__ */ vue.defineComponent({
6585
+ const _sfc_main$g = /* @__PURE__ */ vue.defineComponent({
6021
6586
  __name: "PlanSingle",
6022
6587
  setup(__props) {
6023
6588
  const {
@@ -6169,7 +6734,14 @@ const _sfc_main$b = /* @__PURE__ */ vue.defineComponent({
6169
6734
  }
6170
6735
  }),
6171
6736
  "is-ready": vue.unref(isReady),
6172
- columns: ["startedAt", "endedAt", "staff", "detail"],
6737
+ columns: [
6738
+ "startedAt",
6739
+ "endedAt",
6740
+ "detail",
6741
+ "staffs",
6742
+ "virtualIsNotes",
6743
+ "accessStaffs"
6744
+ ],
6173
6745
  sorts: ["startedAt", "startedAt", "createdAt", "updatedAt"],
6174
6746
  filters: ["staff"],
6175
6747
  "initial-values": {
@@ -6192,9 +6764,9 @@ const _sfc_main$b = /* @__PURE__ */ vue.defineComponent({
6192
6764
  };
6193
6765
  }
6194
6766
  });
6195
- const PlanSingle_vue_vue_type_style_index_0_scoped_b3d29aa4_lang = "";
6196
- const PlanSingle = /* @__PURE__ */ _export_sfc(_sfc_main$b, [["__scopeId", "data-v-b3d29aa4"]]);
6197
- const _sfc_main$a = /* @__PURE__ */ vue.defineComponent({
6767
+ const PlanSingle_vue_vue_type_style_index_0_scoped_a39127c2_lang = "";
6768
+ const PlanSingle = /* @__PURE__ */ _export_sfc(_sfc_main$g, [["__scopeId", "data-v-a39127c2"]]);
6769
+ const _sfc_main$f = /* @__PURE__ */ vue.defineComponent({
6198
6770
  __name: "PlanStaff",
6199
6771
  setup(__props) {
6200
6772
  const {
@@ -6346,10 +6918,10 @@ const _sfc_main$a = /* @__PURE__ */ vue.defineComponent({
6346
6918
  }
6347
6919
  });
6348
6920
  const PlanStaff_vue_vue_type_style_index_0_scoped_aa8de6da_lang = "";
6349
- const PlanStaff = /* @__PURE__ */ _export_sfc(_sfc_main$a, [["__scopeId", "data-v-aa8de6da"]]);
6921
+ const PlanStaff = /* @__PURE__ */ _export_sfc(_sfc_main$f, [["__scopeId", "data-v-aa8de6da"]]);
6350
6922
  const ProgressModel = personaliaModels.models.ProgressModel;
6351
- const _hoisted_1$6 = { class: "flex flex-wrap" };
6352
- const _sfc_main$9 = /* @__PURE__ */ vue.defineComponent({
6923
+ const _hoisted_1$8 = { class: "flex flex-wrap" };
6924
+ const _sfc_main$e = /* @__PURE__ */ vue.defineComponent({
6353
6925
  ...{ name: "ProgressButton" },
6354
6926
  __name: "ProgressButton",
6355
6927
  setup(__props) {
@@ -6364,7 +6936,7 @@ const _sfc_main$9 = /* @__PURE__ */ vue.defineComponent({
6364
6936
  router.push("/penugasan/yesterday-progresses/new");
6365
6937
  };
6366
6938
  return (_ctx, _cache) => {
6367
- return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$6, [
6939
+ return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$8, [
6368
6940
  vue.createVNode(vue.unref(interfaces.NeonButton), {
6369
6941
  "is-rounded": true,
6370
6942
  size: "sm",
@@ -6395,7 +6967,30 @@ const _sfc_main$9 = /* @__PURE__ */ vue.defineComponent({
6395
6967
  };
6396
6968
  }
6397
6969
  });
6398
- const _sfc_main$8 = /* @__PURE__ */ vue.defineComponent({
6970
+ const _hoisted_1$7 = { class: "flex flex-wrap" };
6971
+ const _sfc_main$d = /* @__PURE__ */ vue.defineComponent({
6972
+ ...{ name: "ProgressNoteButton" },
6973
+ __name: "ProgressNoteButton",
6974
+ setup(__props) {
6975
+ const router = vueRouter.useRouter();
6976
+ const noteClick = () => {
6977
+ router.push("/penugasan/notes/new");
6978
+ };
6979
+ return (_ctx, _cache) => {
6980
+ return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$7, [
6981
+ vue.createVNode(vue.unref(interfaces.NeonButton), {
6982
+ "is-rounded": true,
6983
+ size: "sm",
6984
+ color: "dark",
6985
+ "icon-left": "plus",
6986
+ label: "Catatan",
6987
+ onClick: noteClick
6988
+ })
6989
+ ]);
6990
+ };
6991
+ }
6992
+ });
6993
+ const _sfc_main$c = /* @__PURE__ */ vue.defineComponent({
6399
6994
  ...{
6400
6995
  name: "ProgressCollection"
6401
6996
  },
@@ -6458,10 +7053,10 @@ const _sfc_main$8 = /* @__PURE__ */ vue.defineComponent({
6458
7053
  }
6459
7054
  });
6460
7055
  const ProgressCollection_vue_vue_type_style_index_0_scoped_2634660f_lang = "";
6461
- const ProgressCollection = /* @__PURE__ */ _export_sfc(_sfc_main$8, [["__scopeId", "data-v-2634660f"]]);
6462
- const _hoisted_1$5 = { class: "grid gap-2 sm:grid-cols-2" };
6463
- const _hoisted_2$5 = { class: "text-right text-fg-subdued text-sm" };
6464
- const _sfc_main$7 = /* @__PURE__ */ vue.defineComponent({
7056
+ const ProgressCollection = /* @__PURE__ */ _export_sfc(_sfc_main$c, [["__scopeId", "data-v-2634660f"]]);
7057
+ const _hoisted_1$6 = { class: "grid gap-2 sm:grid-cols-2" };
7058
+ const _hoisted_2$6 = { class: "text-right text-fg-subdued text-sm" };
7059
+ const _sfc_main$b = /* @__PURE__ */ vue.defineComponent({
6465
7060
  __name: "ProgressSingle",
6466
7061
  setup(__props) {
6467
7062
  var _a;
@@ -6613,7 +7208,7 @@ const _sfc_main$7 = /* @__PURE__ */ vue.defineComponent({
6613
7208
  _: 1
6614
7209
  /* STABLE */
6615
7210
  }),
6616
- vue.createElementVNode("div", _hoisted_1$5, [
7211
+ vue.createElementVNode("div", _hoisted_1$6, [
6617
7212
  vue.createVNode(vue.unref(form.NeonField), vue.mergeProps({
6618
7213
  modelValue: vue.unref(values).startedAt,
6619
7214
  "onUpdate:modelValue": _cache[2] || (_cache[2] = ($event) => vue.unref(values).startedAt = $event)
@@ -6654,7 +7249,7 @@ const _sfc_main$7 = /* @__PURE__ */ vue.defineComponent({
6654
7249
  }, null, 8, ["modelValue", "is-loading"]),
6655
7250
  vue.createElementVNode(
6656
7251
  "div",
6657
- _hoisted_2$5,
7252
+ _hoisted_2$6,
6658
7253
  vue.toDisplayString(duration.value),
6659
7254
  1
6660
7255
  /* TEXT */
@@ -6744,10 +7339,10 @@ const _sfc_main$7 = /* @__PURE__ */ vue.defineComponent({
6744
7339
  }
6745
7340
  });
6746
7341
  const ProgressSingle_vue_vue_type_style_index_0_scoped_ca99d46c_lang = "";
6747
- const ProgressSingle = /* @__PURE__ */ _export_sfc(_sfc_main$7, [["__scopeId", "data-v-ca99d46c"]]);
6748
- const _hoisted_1$4 = { class: "grid gap-2 sm:grid-cols-2" };
6749
- const _hoisted_2$4 = { class: "text-right text-fg-subdued text-sm" };
6750
- const _sfc_main$6 = /* @__PURE__ */ vue.defineComponent({
7342
+ const ProgressSingle = /* @__PURE__ */ _export_sfc(_sfc_main$b, [["__scopeId", "data-v-ca99d46c"]]);
7343
+ const _hoisted_1$5 = { class: "grid gap-2 sm:grid-cols-2" };
7344
+ const _hoisted_2$5 = { class: "text-right text-fg-subdued text-sm" };
7345
+ const _sfc_main$a = /* @__PURE__ */ vue.defineComponent({
6751
7346
  __name: "ProgressTomorrow",
6752
7347
  setup(__props) {
6753
7348
  var _a;
@@ -6899,7 +7494,7 @@ const _sfc_main$6 = /* @__PURE__ */ vue.defineComponent({
6899
7494
  _: 1
6900
7495
  /* STABLE */
6901
7496
  }),
6902
- vue.createElementVNode("div", _hoisted_1$4, [
7497
+ vue.createElementVNode("div", _hoisted_1$5, [
6903
7498
  vue.createVNode(vue.unref(form.NeonField), vue.mergeProps({
6904
7499
  modelValue: vue.unref(values).startedAt,
6905
7500
  "onUpdate:modelValue": _cache[2] || (_cache[2] = ($event) => vue.unref(values).startedAt = $event)
@@ -6940,7 +7535,7 @@ const _sfc_main$6 = /* @__PURE__ */ vue.defineComponent({
6940
7535
  }, null, 8, ["modelValue", "is-loading"]),
6941
7536
  vue.createElementVNode(
6942
7537
  "div",
6943
- _hoisted_2$4,
7538
+ _hoisted_2$5,
6944
7539
  vue.toDisplayString(duration.value),
6945
7540
  1
6946
7541
  /* TEXT */
@@ -7030,10 +7625,10 @@ const _sfc_main$6 = /* @__PURE__ */ vue.defineComponent({
7030
7625
  }
7031
7626
  });
7032
7627
  const ProgressTomorrow_vue_vue_type_style_index_0_scoped_41302f2e_lang = "";
7033
- const ProgressTomorrow = /* @__PURE__ */ _export_sfc(_sfc_main$6, [["__scopeId", "data-v-41302f2e"]]);
7034
- const _hoisted_1$3 = { class: "grid gap-2 sm:grid-cols-2" };
7035
- const _hoisted_2$3 = { class: "text-right text-fg-subdued text-sm" };
7036
- const _sfc_main$5 = /* @__PURE__ */ vue.defineComponent({
7628
+ const ProgressTomorrow = /* @__PURE__ */ _export_sfc(_sfc_main$a, [["__scopeId", "data-v-41302f2e"]]);
7629
+ const _hoisted_1$4 = { class: "grid gap-2 sm:grid-cols-2" };
7630
+ const _hoisted_2$4 = { class: "text-right text-fg-subdued text-sm" };
7631
+ const _sfc_main$9 = /* @__PURE__ */ vue.defineComponent({
7037
7632
  __name: "ProgressYesterday",
7038
7633
  setup(__props) {
7039
7634
  var _a;
@@ -7185,7 +7780,7 @@ const _sfc_main$5 = /* @__PURE__ */ vue.defineComponent({
7185
7780
  _: 1
7186
7781
  /* STABLE */
7187
7782
  }),
7188
- vue.createElementVNode("div", _hoisted_1$3, [
7783
+ vue.createElementVNode("div", _hoisted_1$4, [
7189
7784
  vue.createVNode(vue.unref(form.NeonField), vue.mergeProps({
7190
7785
  modelValue: vue.unref(values).startedAt,
7191
7786
  "onUpdate:modelValue": _cache[2] || (_cache[2] = ($event) => vue.unref(values).startedAt = $event)
@@ -7226,7 +7821,7 @@ const _sfc_main$5 = /* @__PURE__ */ vue.defineComponent({
7226
7821
  }, null, 8, ["modelValue", "is-loading"]),
7227
7822
  vue.createElementVNode(
7228
7823
  "div",
7229
- _hoisted_2$3,
7824
+ _hoisted_2$4,
7230
7825
  vue.toDisplayString(duration.value),
7231
7826
  1
7232
7827
  /* TEXT */
@@ -7316,8 +7911,8 @@ const _sfc_main$5 = /* @__PURE__ */ vue.defineComponent({
7316
7911
  }
7317
7912
  });
7318
7913
  const ProgressYesterday_vue_vue_type_style_index_0_scoped_78de8f41_lang = "";
7319
- const ProgressYesterday = /* @__PURE__ */ _export_sfc(_sfc_main$5, [["__scopeId", "data-v-78de8f41"]]);
7320
- const _sfc_main$4 = /* @__PURE__ */ vue.defineComponent({
7914
+ const ProgressYesterday = /* @__PURE__ */ _export_sfc(_sfc_main$9, [["__scopeId", "data-v-78de8f41"]]);
7915
+ const _sfc_main$8 = /* @__PURE__ */ vue.defineComponent({
7321
7916
  __name: "ProgressNote",
7322
7917
  setup(__props) {
7323
7918
  var _a;
@@ -7476,9 +8071,9 @@ const _sfc_main$4 = /* @__PURE__ */ vue.defineComponent({
7476
8071
  }
7477
8072
  });
7478
8073
  const ProgressNote_vue_vue_type_style_index_0_scoped_cee18889_lang = "";
7479
- const ProgressNote = /* @__PURE__ */ _export_sfc(_sfc_main$4, [["__scopeId", "data-v-cee18889"]]);
8074
+ const ProgressNote = /* @__PURE__ */ _export_sfc(_sfc_main$8, [["__scopeId", "data-v-cee18889"]]);
7480
8075
  const AttendanceModel = personaliaModels.models.AttendanceModel;
7481
- const _sfc_main$3 = /* @__PURE__ */ vue.defineComponent({
8076
+ const _sfc_main$7 = /* @__PURE__ */ vue.defineComponent({
7482
8077
  ...{
7483
8078
  name: "AttendanceCollection"
7484
8079
  },
@@ -7496,9 +8091,9 @@ const _sfc_main$3 = /* @__PURE__ */ vue.defineComponent({
7496
8091
  };
7497
8092
  }
7498
8093
  });
7499
- const _hoisted_1$2 = { class: "grid gap-2 sm:grid-cols-2" };
7500
- const _hoisted_2$2 = { class: "text-right text-fg-subdued text-sm" };
7501
- const _sfc_main$2 = /* @__PURE__ */ vue.defineComponent({
8094
+ const _hoisted_1$3 = { class: "grid gap-2 sm:grid-cols-2" };
8095
+ const _hoisted_2$3 = { class: "text-right text-fg-subdued text-sm" };
8096
+ const _sfc_main$6 = /* @__PURE__ */ vue.defineComponent({
7502
8097
  __name: "AttendanceSingle",
7503
8098
  setup(__props) {
7504
8099
  const {
@@ -7609,7 +8204,7 @@ const _sfc_main$2 = /* @__PURE__ */ vue.defineComponent({
7609
8204
  modelValue: vue.unref(values).submittedAt,
7610
8205
  "onUpdate:modelValue": _cache[5] || (_cache[5] = ($event) => vue.unref(values).submittedAt = $event)
7611
8206
  }, vue.unref(fields).submittedAt), null, 16, ["modelValue"]),
7612
- vue.createElementVNode("div", _hoisted_1$2, [
8207
+ vue.createElementVNode("div", _hoisted_1$3, [
7613
8208
  vue.createVNode(vue.unref(form.NeonField), vue.mergeProps({
7614
8209
  modelValue: vue.unref(values).startedAt,
7615
8210
  "onUpdate:modelValue": _cache[7] || (_cache[7] = ($event) => vue.unref(values).startedAt = $event)
@@ -7650,7 +8245,7 @@ const _sfc_main$2 = /* @__PURE__ */ vue.defineComponent({
7650
8245
  }, null, 8, ["modelValue", "is-loading"]),
7651
8246
  vue.createElementVNode(
7652
8247
  "div",
7653
- _hoisted_2$2,
8248
+ _hoisted_2$3,
7654
8249
  vue.toDisplayString(duration.value),
7655
8250
  1
7656
8251
  /* TEXT */
@@ -7680,30 +8275,448 @@ const _sfc_main$2 = /* @__PURE__ */ vue.defineComponent({
7680
8275
  }
7681
8276
  });
7682
8277
  const AttendanceSingle_vue_vue_type_style_index_0_scoped_0c3c6187_lang = "";
7683
- const AttendanceSingle = /* @__PURE__ */ _export_sfc(_sfc_main$2, [["__scopeId", "data-v-0c3c6187"]]);
7684
- const _hoisted_1$1 = {
8278
+ const AttendanceSingle = /* @__PURE__ */ _export_sfc(_sfc_main$6, [["__scopeId", "data-v-0c3c6187"]]);
8279
+ const _hoisted_1$2 = {
7685
8280
  key: 1,
7686
8281
  class: "flex flex-wrap"
7687
8282
  };
7688
- const _hoisted_2$1 = { class: "mt-2" };
7689
- const _hoisted_3$1 = { class: "mt-2" };
7690
- const _hoisted_4$1 = {
8283
+ const _hoisted_2$2 = { class: "mt-2" };
8284
+ const _hoisted_3$2 = { class: "mt-2" };
8285
+ const _hoisted_4$2 = {
7691
8286
  key: 5,
7692
8287
  class: "grid gap-2 sm:grid-cols-2"
7693
8288
  };
7694
- const _hoisted_5$1 = { class: "text-right text-fg-subdued text-sm" };
7695
- const _hoisted_6$1 = {
8289
+ const _hoisted_5$2 = { class: "text-right text-fg-subdued text-sm" };
8290
+ const _hoisted_6$2 = {
7696
8291
  key: 6,
7697
8292
  class: "grid gap-2 sm:grid-cols-2"
7698
8293
  };
8294
+ const _hoisted_7$2 = { class: "text-right text-fg-subdued text-sm" };
8295
+ const _hoisted_8$2 = {
8296
+ key: 7,
8297
+ class: "grid gap-2 sm:grid-cols-2"
8298
+ };
8299
+ const _hoisted_9$2 = { class: "text-right text-fg-subdued text-sm" };
8300
+ const _sfc_main$5 = /* @__PURE__ */ vue.defineComponent({
8301
+ __name: "AttendanceStaff",
8302
+ setup(__props) {
8303
+ var _a;
8304
+ const {
8305
+ fields,
8306
+ id,
8307
+ initialValues,
8308
+ values,
8309
+ isLoading,
8310
+ isChanged,
8311
+ isReady,
8312
+ isMain,
8313
+ isNew,
8314
+ saveOne,
8315
+ discardChanges,
8316
+ syncOne,
8317
+ executeOne
8318
+ } = context.useSingle();
8319
+ const key = vue.ref(0);
8320
+ const diff = vue.computed(() => {
8321
+ return DateUtil.day(values.value.endedAt).diff(values.value.startedAt);
8322
+ });
8323
+ const duration = vue.computed(() => {
8324
+ if (isNaN(diff.value))
8325
+ return "-";
8326
+ const duration2 = DateUtil.day.duration(diff.value);
8327
+ return duration2.format("HH [jam] mm [menit]");
8328
+ });
8329
+ function onStartedAtUpdate(date) {
8330
+ if (!date)
8331
+ return;
8332
+ const currentEndedendedAt = DateUtil.day(values.value.endedAt);
8333
+ let startedAt = DateUtil.day(date);
8334
+ let endedAt = DateUtil.day(date);
8335
+ startedAt = startedAt.second(0).millisecond(0);
8336
+ endedAt = endedAt.hour(currentEndedendedAt.hour()).minute(currentEndedendedAt.minute()).second(0).millisecond(0);
8337
+ values.value.startedAt = startedAt.toISOString();
8338
+ values.value.endedAt = endedAt.toISOString();
8339
+ conflictAtt.value = false;
8340
+ }
8341
+ const { staff } = useOperasional();
8342
+ const staffId = ((_a = staff.value) == null ? void 0 : _a.id) || "";
8343
+ vue.watch(
8344
+ isNew,
8345
+ (isNew2) => {
8346
+ if (!isNew2)
8347
+ return;
8348
+ values.value.submitStaffId = staffId;
8349
+ values.value.submitStaff = staff.value;
8350
+ },
8351
+ {
8352
+ immediate: true
8353
+ }
8354
+ );
8355
+ const submitAbsensi = async () => {
8356
+ await executeOne("submitAttendance", { attendanceId: id.value });
8357
+ await syncOne();
8358
+ };
8359
+ const changeAbsensi = async () => {
8360
+ await executeOne("changeAttendance", { attendanceId: id.value });
8361
+ await syncOne();
8362
+ };
8363
+ const conflictAtt = vue.ref(false);
8364
+ async function conflictAttendance() {
8365
+ var _a2;
8366
+ const resp = await executeOne("checkAttendance", {
8367
+ staffId: (_a2 = staff.value) == null ? void 0 : _a2.id,
8368
+ startedAt: values.value.startedAt
8369
+ });
8370
+ const countAtt = resp.data.executeAttendance.output.countAttendance;
8371
+ if (values.value.startedAt) {
8372
+ if (countAtt > 1) {
8373
+ conflictAtt.value = true;
8374
+ } else {
8375
+ await submitAbsensi();
8376
+ await syncOne();
8377
+ conflictAtt.value = false;
8378
+ }
8379
+ } else {
8380
+ conflictAtt.value = true;
8381
+ }
8382
+ }
8383
+ const staffOptions = vue.computed(() => {
8384
+ var _a2;
8385
+ return {
8386
+ filter: [
8387
+ {
8388
+ handle: "_id",
8389
+ operator: "nin",
8390
+ value: (_a2 = staff.value) == null ? void 0 : _a2.id
8391
+ }
8392
+ ]
8393
+ };
8394
+ });
8395
+ return (_ctx, _cache) => {
8396
+ return vue.openBlock(), vue.createBlock(vue.unref(context.NeonSingle), { class: "neu-attendance-single" }, {
8397
+ default: vue.withCtx(() => [
8398
+ vue.createVNode(vue.unref(office.OfficeTabs), { "use-url": vue.unref(isMain) }, {
8399
+ default: vue.withCtx(() => [
8400
+ vue.createVNode(vue.unref(office.OfficeTab), {
8401
+ handle: "info",
8402
+ icon: "circle-info",
8403
+ title: "Info"
8404
+ }, {
8405
+ default: vue.withCtx(() => [
8406
+ vue.createVNode(vue.unref(form.NeonForm), {
8407
+ handle: "info",
8408
+ "initial-values": vue.unref(initialValues),
8409
+ "is-loading": vue.unref(isLoading),
8410
+ "is-changed": vue.unref(isChanged),
8411
+ "use-unsaved": "",
8412
+ onCancel: vue.unref(discardChanges),
8413
+ onSubmit: vue.unref(saveOne)
8414
+ }, {
8415
+ default: vue.withCtx(() => [
8416
+ conflictAtt.value == true ? (vue.openBlock(), vue.createBlock(vue.unref(interfaces.NeonAlert), {
8417
+ key: 0,
8418
+ icon: "circle-info",
8419
+ label: "Sudah ada Absensi!. ",
8420
+ description: "Untuk hari ini kamu sudah ada absensi yang diajukan, silahkan cari absensi yang telah diajukan dan ajukan kembali untuk pergantiannya.",
8421
+ color: "#F7CF6D"
8422
+ })) : vue.createCommentVNode("v-if", true),
8423
+ !vue.unref(isNew) && conflictAtt.value == false ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$2, [
8424
+ vue.createElementVNode("div", _hoisted_2$2, [
8425
+ vue.createVNode(vue.unref(form.NeonField), null, {
8426
+ input: vue.withCtx(() => [
8427
+ vue.createVNode(vue.unref(interfaces.NeonButton), {
8428
+ size: "md",
8429
+ color: "success",
8430
+ "icon-left": "up-from-line",
8431
+ "is-disabled": vue.unref(values).status == "notApproved" || vue.unref(values).status == "approved",
8432
+ onClick: conflictAttendance
8433
+ }, {
8434
+ default: vue.withCtx(() => [
8435
+ vue.createTextVNode("Ajukan")
8436
+ ]),
8437
+ _: 1
8438
+ /* STABLE */
8439
+ }, 8, ["is-disabled"])
8440
+ ]),
8441
+ _: 1
8442
+ /* STABLE */
8443
+ })
8444
+ ]),
8445
+ vue.createTextVNode("    "),
8446
+ vue.createElementVNode("div", _hoisted_3$2, [
8447
+ vue.createVNode(vue.unref(form.NeonField), null, {
8448
+ input: vue.withCtx(() => [
8449
+ vue.createVNode(vue.unref(interfaces.NeonButton), {
8450
+ size: "md",
8451
+ color: "warning",
8452
+ "icon-left": "arrows-retweet",
8453
+ "is-disabled": vue.unref(values).status == "notApproved" || vue.unref(values).status == "draft",
8454
+ onClick: changeAbsensi
8455
+ }, {
8456
+ default: vue.withCtx(() => [
8457
+ vue.createTextVNode("Ganti")
8458
+ ]),
8459
+ _: 1
8460
+ /* STABLE */
8461
+ }, 8, ["is-disabled"])
8462
+ ]),
8463
+ _: 1
8464
+ /* STABLE */
8465
+ })
8466
+ ])
8467
+ ])) : vue.createCommentVNode("v-if", true),
8468
+ vue.createVNode(vue.unref(office.OfficeRelation), {
8469
+ modelValue: vue.unref(values),
8470
+ "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => vue.isRef(values) ? values.value = $event : null),
8471
+ field: vue.unref(fields).submitStaff,
8472
+ "is-disabled": ""
8473
+ }, null, 8, ["modelValue", "field"]),
8474
+ (vue.openBlock(), vue.createBlock(vue.unref(form.NeonField), vue.mergeProps({
8475
+ key: key.value,
8476
+ "model-value": vue.unref(values).startedAt
8477
+ }, {
8478
+ handle: "startedAt",
8479
+ name: "Tanggal",
8480
+ type: "date",
8481
+ input: "date2",
8482
+ options: {
8483
+ note: "Tanggal absensi."
8484
+ }
8485
+ }, {
8486
+ "is-disabled": vue.unref(values).status == "notApproved" || vue.unref(values).status == "approved",
8487
+ "onUpdate:modelValue": onStartedAtUpdate
8488
+ }), null, 16, ["model-value", "is-disabled"])),
8489
+ vue.createVNode(vue.unref(form.NeonField), vue.mergeProps({
8490
+ modelValue: vue.unref(values).type,
8491
+ "onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => vue.unref(values).type = $event)
8492
+ }, vue.unref(fields).type, {
8493
+ "is-disabled": vue.unref(values).status == "notApproved" || vue.unref(values).status == "approved"
8494
+ }), null, 16, ["modelValue", "is-disabled"]),
8495
+ vue.createVNode(vue.unref(office.OfficeRelation), {
8496
+ modelValue: vue.unref(values),
8497
+ "onUpdate:modelValue": _cache[2] || (_cache[2] = ($event) => vue.isRef(values) ? values.value = $event : null),
8498
+ field: vue.unref(fields).decideStaff,
8499
+ query: vue.unref(query.Query).define(staffOptions.value),
8500
+ "is-disabled": vue.unref(values).status == "notApproved" || vue.unref(values).status == "approved"
8501
+ }, null, 8, ["modelValue", "field", "query", "is-disabled"]),
8502
+ vue.unref(isNew) || vue.unref(isReady) ? (vue.openBlock(), vue.createBlock(vue.unref(form.NeonField), vue.mergeProps({
8503
+ key: 2,
8504
+ modelValue: vue.unref(values).notes,
8505
+ "onUpdate:modelValue": _cache[3] || (_cache[3] = ($event) => vue.unref(values).notes = $event)
8506
+ }, vue.unref(fields).notes), null, 16, ["modelValue"])) : vue.createCommentVNode("v-if", true),
8507
+ vue.unref(values).type ? (vue.openBlock(), vue.createBlock(vue.unref(interfaces.NeonDivider), {
8508
+ key: 3,
8509
+ "is-dashed": "",
8510
+ label: "Keterangan"
8511
+ })) : vue.createCommentVNode("v-if", true),
8512
+ vue.unref(values).type == "dayOff" || vue.unref(values).type == "sick" || vue.unref(values).type == "permission" || vue.unref(values).type == "leave" ? (vue.openBlock(), vue.createBlock(vue.unref(form.NeonField), vue.mergeProps({
8513
+ key: 4,
8514
+ modelValue: vue.unref(values).submittedAt,
8515
+ "onUpdate:modelValue": _cache[4] || (_cache[4] = ($event) => vue.unref(values).submittedAt = $event)
8516
+ }, vue.unref(fields).submittedAt, { "is-disabled": "" }), null, 16, ["modelValue"])) : vue.createCommentVNode("v-if", true),
8517
+ vue.createCommentVNode(" EARLY GO HOME "),
8518
+ vue.unref(values).type == "homeEarly" ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_4$2, [
8519
+ vue.createVNode(vue.unref(form.NeonField), vue.mergeProps({
8520
+ modelValue: vue.unref(values).startedAt,
8521
+ "onUpdate:modelValue": _cache[6] || (_cache[6] = ($event) => vue.unref(values).startedAt = $event)
8522
+ }, {
8523
+ handle: "startedAt",
8524
+ name: "Jam Pulang Kerja",
8525
+ options: {
8526
+ note: "Jam pulang kerja."
8527
+ }
8528
+ }), {
8529
+ input: vue.withCtx(() => [
8530
+ vue.createVNode(vue.unref(NeonTime), {
8531
+ modelValue: vue.unref(values).startedAt,
8532
+ "onUpdate:modelValue": _cache[5] || (_cache[5] = ($event) => vue.unref(values).startedAt = $event),
8533
+ "is-loading": vue.unref(isLoading),
8534
+ class: "mt-2",
8535
+ "is-disabled": vue.unref(values).status == "notApproved" || vue.unref(values).status == "approved"
8536
+ }, null, 8, ["modelValue", "is-loading", "is-disabled"])
8537
+ ]),
8538
+ _: 1
8539
+ /* STABLE */
8540
+ }, 16, ["modelValue"]),
8541
+ vue.createVNode(vue.unref(form.NeonField), vue.mergeProps({
8542
+ modelValue: vue.unref(values).endedAt,
8543
+ "onUpdate:modelValue": _cache[8] || (_cache[8] = ($event) => vue.unref(values).endedAt = $event)
8544
+ }, {
8545
+ handle: "endedAt",
8546
+ name: "Jam Pulang Lebih Awal",
8547
+ options: {
8548
+ note: "Jam pulang lebih awal."
8549
+ }
8550
+ }), {
8551
+ input: vue.withCtx(() => [
8552
+ vue.createVNode(vue.unref(NeonTime), {
8553
+ modelValue: vue.unref(values).endedAt,
8554
+ "onUpdate:modelValue": _cache[7] || (_cache[7] = ($event) => vue.unref(values).endedAt = $event),
8555
+ "is-loading": vue.unref(isLoading),
8556
+ class: "mt-2",
8557
+ "is-disabled": vue.unref(values).status == "notApproved" || vue.unref(values).status == "approved"
8558
+ }, null, 8, ["modelValue", "is-loading", "is-disabled"]),
8559
+ vue.createElementVNode(
8560
+ "div",
8561
+ _hoisted_5$2,
8562
+ vue.toDisplayString(duration.value),
8563
+ 1
8564
+ /* TEXT */
8565
+ )
8566
+ ]),
8567
+ _: 1
8568
+ /* STABLE */
8569
+ }, 16, ["modelValue"])
8570
+ ])) : vue.createCommentVNode("v-if", true),
8571
+ vue.createCommentVNode(" COME TOO LATE "),
8572
+ vue.unref(values).type == "comeLate" ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_6$2, [
8573
+ vue.createVNode(vue.unref(form.NeonField), vue.mergeProps({
8574
+ modelValue: vue.unref(values).startedAt,
8575
+ "onUpdate:modelValue": _cache[10] || (_cache[10] = ($event) => vue.unref(values).startedAt = $event)
8576
+ }, {
8577
+ handle: "startedAt",
8578
+ name: "Jam Datang",
8579
+ options: {
8580
+ note: "Jam Datang kerja."
8581
+ }
8582
+ }), {
8583
+ input: vue.withCtx(() => [
8584
+ vue.createVNode(vue.unref(NeonTime), {
8585
+ modelValue: vue.unref(values).startedAt,
8586
+ "onUpdate:modelValue": _cache[9] || (_cache[9] = ($event) => vue.unref(values).startedAt = $event),
8587
+ "is-loading": vue.unref(isLoading),
8588
+ class: "mt-2",
8589
+ "is-disabled": vue.unref(values).status == "notApproved" || vue.unref(values).status == "approved"
8590
+ }, null, 8, ["modelValue", "is-loading", "is-disabled"])
8591
+ ]),
8592
+ _: 1
8593
+ /* STABLE */
8594
+ }, 16, ["modelValue"]),
8595
+ vue.createVNode(vue.unref(form.NeonField), vue.mergeProps({
8596
+ modelValue: vue.unref(values).endedAt,
8597
+ "onUpdate:modelValue": _cache[12] || (_cache[12] = ($event) => vue.unref(values).endedAt = $event)
8598
+ }, {
8599
+ handle: "endedAt",
8600
+ name: "Jam Datang Terlambat",
8601
+ options: {
8602
+ note: "Jam datang terlambat."
8603
+ }
8604
+ }), {
8605
+ input: vue.withCtx(() => [
8606
+ vue.createVNode(vue.unref(NeonTime), {
8607
+ modelValue: vue.unref(values).endedAt,
8608
+ "onUpdate:modelValue": _cache[11] || (_cache[11] = ($event) => vue.unref(values).endedAt = $event),
8609
+ "is-loading": vue.unref(isLoading),
8610
+ class: "mt-2",
8611
+ "is-disabled": vue.unref(values).status == "notApproved" || vue.unref(values).status == "approved"
8612
+ }, null, 8, ["modelValue", "is-loading", "is-disabled"]),
8613
+ vue.createElementVNode(
8614
+ "div",
8615
+ _hoisted_7$2,
8616
+ vue.toDisplayString(duration.value),
8617
+ 1
8618
+ /* TEXT */
8619
+ )
8620
+ ]),
8621
+ _: 1
8622
+ /* STABLE */
8623
+ }, 16, ["modelValue"])
8624
+ ])) : vue.createCommentVNode("v-if", true),
8625
+ vue.createCommentVNode(" TIMEOUT "),
8626
+ vue.unref(values).type == "timeout" ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_8$2, [
8627
+ vue.createVNode(vue.unref(form.NeonField), vue.mergeProps({
8628
+ modelValue: vue.unref(values).startedAt,
8629
+ "onUpdate:modelValue": _cache[14] || (_cache[14] = ($event) => vue.unref(values).startedAt = $event)
8630
+ }, {
8631
+ handle: "startedAt",
8632
+ name: "Mulai",
8633
+ options: {
8634
+ note: "Jam mulai."
8635
+ }
8636
+ }), {
8637
+ input: vue.withCtx(() => [
8638
+ vue.createVNode(vue.unref(NeonTime), {
8639
+ modelValue: vue.unref(values).startedAt,
8640
+ "onUpdate:modelValue": _cache[13] || (_cache[13] = ($event) => vue.unref(values).startedAt = $event),
8641
+ "is-loading": vue.unref(isLoading),
8642
+ class: "mt-2",
8643
+ "is-disabled": vue.unref(values).status == "notApproved" || vue.unref(values).status == "approved"
8644
+ }, null, 8, ["modelValue", "is-loading", "is-disabled"])
8645
+ ]),
8646
+ _: 1
8647
+ /* STABLE */
8648
+ }, 16, ["modelValue"]),
8649
+ vue.createVNode(vue.unref(form.NeonField), vue.mergeProps({
8650
+ modelValue: vue.unref(values).endedAt,
8651
+ "onUpdate:modelValue": _cache[16] || (_cache[16] = ($event) => vue.unref(values).endedAt = $event)
8652
+ }, {
8653
+ handle: "endedAt",
8654
+ name: "Selesai",
8655
+ options: {
8656
+ note: "Jam selesai."
8657
+ }
8658
+ }), {
8659
+ input: vue.withCtx(() => [
8660
+ vue.createVNode(vue.unref(NeonTime), {
8661
+ modelValue: vue.unref(values).endedAt,
8662
+ "onUpdate:modelValue": _cache[15] || (_cache[15] = ($event) => vue.unref(values).endedAt = $event),
8663
+ "is-loading": vue.unref(isLoading),
8664
+ class: "mt-2",
8665
+ "is-disabled": vue.unref(values).status == "notApproved" || vue.unref(values).status == "approved"
8666
+ }, null, 8, ["modelValue", "is-loading", "is-disabled"]),
8667
+ vue.createElementVNode(
8668
+ "div",
8669
+ _hoisted_9$2,
8670
+ vue.toDisplayString(duration.value),
8671
+ 1
8672
+ /* TEXT */
8673
+ )
8674
+ ]),
8675
+ _: 1
8676
+ /* STABLE */
8677
+ }, 16, ["modelValue"])
8678
+ ])) : vue.createCommentVNode("v-if", true)
8679
+ ]),
8680
+ _: 1
8681
+ /* STABLE */
8682
+ }, 8, ["initial-values", "is-loading", "is-changed", "onCancel", "onSubmit"])
8683
+ ]),
8684
+ _: 1
8685
+ /* STABLE */
8686
+ })
8687
+ ]),
8688
+ _: 1
8689
+ /* STABLE */
8690
+ }, 8, ["use-url"])
8691
+ ]),
8692
+ _: 1
8693
+ /* STABLE */
8694
+ });
8695
+ };
8696
+ }
8697
+ });
8698
+ const AttendanceStaff_vue_vue_type_style_index_0_scoped_a86e895b_lang = "";
8699
+ const AttendanceStaff = /* @__PURE__ */ _export_sfc(_sfc_main$5, [["__scopeId", "data-v-a86e895b"]]);
8700
+ const _hoisted_1$1 = { class: "flex flex-wrap" };
8701
+ const _hoisted_2$1 = { class: "mt-2" };
8702
+ const _hoisted_3$1 = { class: "mt-2" };
8703
+ const _hoisted_4$1 = {
8704
+ key: 3,
8705
+ class: "grid gap-2 sm:grid-cols-2"
8706
+ };
8707
+ const _hoisted_5$1 = { class: "text-right text-fg-subdued text-sm" };
8708
+ const _hoisted_6$1 = {
8709
+ key: 4,
8710
+ class: "grid gap-2 sm:grid-cols-2"
8711
+ };
7699
8712
  const _hoisted_7$1 = { class: "text-right text-fg-subdued text-sm" };
7700
8713
  const _hoisted_8$1 = {
7701
- key: 7,
8714
+ key: 5,
7702
8715
  class: "grid gap-2 sm:grid-cols-2"
7703
8716
  };
7704
8717
  const _hoisted_9$1 = { class: "text-right text-fg-subdued text-sm" };
7705
- const _sfc_main$1 = /* @__PURE__ */ vue.defineComponent({
7706
- __name: "AttendanceStaff",
8718
+ const _sfc_main$4 = /* @__PURE__ */ vue.defineComponent({
8719
+ __name: "AttendanceManager",
7707
8720
  setup(__props) {
7708
8721
  var _a;
7709
8722
  const {
@@ -7731,6 +8744,15 @@ const _sfc_main$1 = /* @__PURE__ */ vue.defineComponent({
7731
8744
  const duration2 = DateUtil.day.duration(diff.value);
7732
8745
  return duration2.format("HH [jam] mm [menit]");
7733
8746
  });
8747
+ const reverseDiff = vue.computed(() => {
8748
+ return DateUtil.day(values.value.startedAt).diff(values.value.endedAt);
8749
+ });
8750
+ const reverseDuration = vue.computed(() => {
8751
+ if (isNaN(reverseDiff.value))
8752
+ return "-";
8753
+ const duration2 = DateUtil.day.duration(reverseDiff.value);
8754
+ return duration2.format("HH [jam] mm [menit]");
8755
+ });
7734
8756
  function onStartedAtUpdate(date) {
7735
8757
  if (!date)
7736
8758
  return;
@@ -7741,7 +8763,6 @@ const _sfc_main$1 = /* @__PURE__ */ vue.defineComponent({
7741
8763
  endedAt = endedAt.hour(currentEndedendedAt.hour()).minute(currentEndedendedAt.minute()).second(0).millisecond(0);
7742
8764
  values.value.startedAt = startedAt.toISOString();
7743
8765
  values.value.endedAt = endedAt.toISOString();
7744
- conflictAtt.value = false;
7745
8766
  }
7746
8767
  const { staff } = useOperasional();
7747
8768
  const staffId = ((_a = staff.value) == null ? void 0 : _a.id) || "";
@@ -7757,34 +8778,15 @@ const _sfc_main$1 = /* @__PURE__ */ vue.defineComponent({
7757
8778
  immediate: true
7758
8779
  }
7759
8780
  );
7760
- const submitAbsensi = async () => {
7761
- await executeOne("submitAttendance", { attendanceId: id.value });
8781
+ const approvedAbsensi = async () => {
8782
+ await executeOne("approvedAttendance", { attendanceId: id.value });
7762
8783
  await syncOne();
7763
8784
  };
7764
- const changeAbsensi = async () => {
7765
- await executeOne("changeAttendance", { attendanceId: id.value });
8785
+ const deleteAbsensi = async () => {
8786
+ await executeOne("deleteAttendance", { attendanceId: id.value });
7766
8787
  await syncOne();
8788
+ window.location.href = "/penugasan/manager-attendances";
7767
8789
  };
7768
- const conflictAtt = vue.ref(false);
7769
- async function conflictAttendance() {
7770
- var _a2;
7771
- const resp = await executeOne("checkAttendance", {
7772
- staffId: (_a2 = staff.value) == null ? void 0 : _a2.id,
7773
- startedAt: values.value.startedAt
7774
- });
7775
- const countAtt = resp.data.executeAttendance.output.countAttendance;
7776
- if (values.value.startedAt) {
7777
- if (countAtt > 1) {
7778
- conflictAtt.value = true;
7779
- } else {
7780
- await submitAbsensi();
7781
- await syncOne();
7782
- conflictAtt.value = false;
7783
- }
7784
- } else {
7785
- conflictAtt.value = true;
7786
- }
7787
- }
7788
8790
  return (_ctx, _cache) => {
7789
8791
  return vue.openBlock(), vue.createBlock(vue.unref(context.NeonSingle), { class: "neu-attendance-single" }, {
7790
8792
  default: vue.withCtx(() => [
@@ -7806,26 +8808,19 @@ const _sfc_main$1 = /* @__PURE__ */ vue.defineComponent({
7806
8808
  onSubmit: vue.unref(saveOne)
7807
8809
  }, {
7808
8810
  default: vue.withCtx(() => [
7809
- conflictAtt.value == true ? (vue.openBlock(), vue.createBlock(vue.unref(interfaces.NeonAlert), {
7810
- key: 0,
7811
- icon: "circle-info",
7812
- label: "Sudah ada Absensi!. ",
7813
- description: "Untuk hari ini kamu sudah ada absensi yang diajukan, silahkan cari absensi yang telah diajukan dan ajukan kembali untuk pergantiannya.",
7814
- color: "#F7CF6D"
7815
- })) : vue.createCommentVNode("v-if", true),
7816
- !vue.unref(isNew) && conflictAtt.value == false ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$1, [
8811
+ vue.createElementVNode("div", _hoisted_1$1, [
7817
8812
  vue.createElementVNode("div", _hoisted_2$1, [
7818
8813
  vue.createVNode(vue.unref(form.NeonField), null, {
7819
8814
  input: vue.withCtx(() => [
7820
8815
  vue.createVNode(vue.unref(interfaces.NeonButton), {
7821
8816
  size: "md",
7822
8817
  color: "success",
7823
- "icon-left": "up-from-line",
7824
- "is-disabled": vue.unref(values).status == "notApproved" || vue.unref(values).status == "approved",
7825
- onClick: conflictAttendance
8818
+ "icon-left": "check",
8819
+ "is-disabled": vue.unref(values).status == "approved",
8820
+ onClick: approvedAbsensi
7826
8821
  }, {
7827
8822
  default: vue.withCtx(() => [
7828
- vue.createTextVNode("Ajukan")
8823
+ vue.createTextVNode("Disetujui")
7829
8824
  ]),
7830
8825
  _: 1
7831
8826
  /* STABLE */
@@ -7841,23 +8836,22 @@ const _sfc_main$1 = /* @__PURE__ */ vue.defineComponent({
7841
8836
  input: vue.withCtx(() => [
7842
8837
  vue.createVNode(vue.unref(interfaces.NeonButton), {
7843
8838
  size: "md",
7844
- color: "warning",
7845
- "icon-left": "arrows-retweet",
7846
- "is-disabled": vue.unref(values).status == "notApproved" || vue.unref(values).status == "draft",
7847
- onClick: changeAbsensi
8839
+ color: "danger",
8840
+ "icon-left": "trash-can",
8841
+ onClick: deleteAbsensi
7848
8842
  }, {
7849
8843
  default: vue.withCtx(() => [
7850
- vue.createTextVNode("Ganti")
8844
+ vue.createTextVNode("Dihapus")
7851
8845
  ]),
7852
8846
  _: 1
7853
8847
  /* STABLE */
7854
- }, 8, ["is-disabled"])
8848
+ })
7855
8849
  ]),
7856
8850
  _: 1
7857
8851
  /* STABLE */
7858
8852
  })
7859
8853
  ])
7860
- ])) : vue.createCommentVNode("v-if", true),
8854
+ ]),
7861
8855
  vue.createVNode(vue.unref(office.OfficeRelation), {
7862
8856
  modelValue: vue.unref(values),
7863
8857
  "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => vue.isRef(values) ? values.value = $event : null),
@@ -7876,33 +8870,33 @@ const _sfc_main$1 = /* @__PURE__ */ vue.defineComponent({
7876
8870
  note: "Tanggal absensi."
7877
8871
  }
7878
8872
  }, {
7879
- "is-disabled": vue.unref(values).status == "notApproved" || vue.unref(values).status == "approved",
8873
+ "is-disabled": vue.unref(values).status == "approved",
7880
8874
  "onUpdate:modelValue": onStartedAtUpdate
7881
8875
  }), null, 16, ["model-value", "is-disabled"])),
7882
8876
  vue.createVNode(vue.unref(form.NeonField), vue.mergeProps({
7883
8877
  modelValue: vue.unref(values).type,
7884
8878
  "onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => vue.unref(values).type = $event)
7885
8879
  }, vue.unref(fields).type, {
7886
- "is-disabled": vue.unref(values).status == "notApproved" || vue.unref(values).status == "approved"
8880
+ "is-disabled": vue.unref(values).status == "approved"
7887
8881
  }), null, 16, ["modelValue", "is-disabled"]),
7888
8882
  vue.createVNode(vue.unref(office.OfficeRelation), {
7889
8883
  modelValue: vue.unref(values),
7890
8884
  "onUpdate:modelValue": _cache[2] || (_cache[2] = ($event) => vue.isRef(values) ? values.value = $event : null),
7891
8885
  field: vue.unref(fields).decideStaff,
7892
- "is-disabled": vue.unref(values).status == "notApproved" || vue.unref(values).status == "approved"
8886
+ "is-disabled": vue.unref(values).status == "approved"
7893
8887
  }, null, 8, ["modelValue", "field", "is-disabled"]),
7894
8888
  vue.unref(isNew) || vue.unref(isReady) ? (vue.openBlock(), vue.createBlock(vue.unref(form.NeonField), vue.mergeProps({
7895
- key: 2,
8889
+ key: 0,
7896
8890
  modelValue: vue.unref(values).notes,
7897
8891
  "onUpdate:modelValue": _cache[3] || (_cache[3] = ($event) => vue.unref(values).notes = $event)
7898
8892
  }, vue.unref(fields).notes), null, 16, ["modelValue"])) : vue.createCommentVNode("v-if", true),
7899
8893
  vue.unref(values).type ? (vue.openBlock(), vue.createBlock(vue.unref(interfaces.NeonDivider), {
7900
- key: 3,
8894
+ key: 1,
7901
8895
  "is-dashed": "",
7902
8896
  label: "Keterangan"
7903
8897
  })) : vue.createCommentVNode("v-if", true),
7904
8898
  vue.unref(values).type == "dayOff" || vue.unref(values).type == "sick" || vue.unref(values).type == "permission" || vue.unref(values).type == "leave" ? (vue.openBlock(), vue.createBlock(vue.unref(form.NeonField), vue.mergeProps({
7905
- key: 4,
8899
+ key: 2,
7906
8900
  modelValue: vue.unref(values).submittedAt,
7907
8901
  "onUpdate:modelValue": _cache[4] || (_cache[4] = ($event) => vue.unref(values).submittedAt = $event)
7908
8902
  }, vue.unref(fields).submittedAt, { "is-disabled": "" }), null, 16, ["modelValue"])) : vue.createCommentVNode("v-if", true),
@@ -7949,7 +8943,7 @@ const _sfc_main$1 = /* @__PURE__ */ vue.defineComponent({
7949
8943
  vue.createElementVNode(
7950
8944
  "div",
7951
8945
  _hoisted_5$1,
7952
- vue.toDisplayString(duration.value),
8946
+ vue.toDisplayString(reverseDuration.value),
7953
8947
  1
7954
8948
  /* TEXT */
7955
8949
  )
@@ -8081,8 +9075,8 @@ const _sfc_main$1 = /* @__PURE__ */ vue.defineComponent({
8081
9075
  };
8082
9076
  }
8083
9077
  });
8084
- const AttendanceStaff_vue_vue_type_style_index_0_scoped_724535b0_lang = "";
8085
- const AttendanceStaff = /* @__PURE__ */ _export_sfc(_sfc_main$1, [["__scopeId", "data-v-724535b0"]]);
9078
+ const AttendanceManager_vue_vue_type_style_index_0_scoped_643cca03_lang = "";
9079
+ const AttendanceManager = /* @__PURE__ */ _export_sfc(_sfc_main$4, [["__scopeId", "data-v-643cca03"]]);
8086
9080
  const _hoisted_1 = { class: "flex flex-wrap" };
8087
9081
  const _hoisted_2 = { class: "mt-2" };
8088
9082
  const _hoisted_3 = { class: "mt-2" };
@@ -8101,8 +9095,8 @@ const _hoisted_8 = {
8101
9095
  class: "grid gap-2 sm:grid-cols-2"
8102
9096
  };
8103
9097
  const _hoisted_9 = { class: "text-right text-fg-subdued text-sm" };
8104
- const _sfc_main = /* @__PURE__ */ vue.defineComponent({
8105
- __name: "AttendanceManager",
9098
+ const _sfc_main$3 = /* @__PURE__ */ vue.defineComponent({
9099
+ __name: "AttendanceSupervisor",
8106
9100
  setup(__props) {
8107
9101
  var _a;
8108
9102
  const {
@@ -8171,7 +9165,7 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
8171
9165
  const deleteAbsensi = async () => {
8172
9166
  await executeOne("deleteAttendance", { attendanceId: id.value });
8173
9167
  await syncOne();
8174
- window.location.href = "/penugasan/manager-attendances";
9168
+ window.location.href = "/pengawas/attendances";
8175
9169
  };
8176
9170
  return (_ctx, _cache) => {
8177
9171
  return vue.openBlock(), vue.createBlock(vue.unref(context.NeonSingle), { class: "neu-attendance-single" }, {
@@ -8265,16 +9259,15 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
8265
9259
  }, vue.unref(fields).type, {
8266
9260
  "is-disabled": vue.unref(values).status == "approved"
8267
9261
  }), null, 16, ["modelValue", "is-disabled"]),
8268
- vue.createVNode(vue.unref(office.OfficeRelation), {
8269
- modelValue: vue.unref(values),
8270
- "onUpdate:modelValue": _cache[2] || (_cache[2] = ($event) => vue.isRef(values) ? values.value = $event : null),
8271
- field: vue.unref(fields).decideStaff,
8272
- "is-disabled": vue.unref(values).status == "approved"
8273
- }, null, 8, ["modelValue", "field", "is-disabled"]),
9262
+ vue.createCommentVNode(` <OfficeRelation
9263
+ v-model="values"
9264
+ :field="fields.decideStaff"
9265
+ :is-disabled="values.status == 'approved'"
9266
+ /> `),
8274
9267
  vue.unref(isNew) || vue.unref(isReady) ? (vue.openBlock(), vue.createBlock(vue.unref(form.NeonField), vue.mergeProps({
8275
9268
  key: 0,
8276
9269
  modelValue: vue.unref(values).notes,
8277
- "onUpdate:modelValue": _cache[3] || (_cache[3] = ($event) => vue.unref(values).notes = $event)
9270
+ "onUpdate:modelValue": _cache[2] || (_cache[2] = ($event) => vue.unref(values).notes = $event)
8278
9271
  }, vue.unref(fields).notes), null, 16, ["modelValue"])) : vue.createCommentVNode("v-if", true),
8279
9272
  vue.unref(values).type ? (vue.openBlock(), vue.createBlock(vue.unref(interfaces.NeonDivider), {
8280
9273
  key: 1,
@@ -8284,13 +9277,13 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
8284
9277
  vue.unref(values).type == "dayOff" || vue.unref(values).type == "sick" || vue.unref(values).type == "permission" || vue.unref(values).type == "leave" ? (vue.openBlock(), vue.createBlock(vue.unref(form.NeonField), vue.mergeProps({
8285
9278
  key: 2,
8286
9279
  modelValue: vue.unref(values).submittedAt,
8287
- "onUpdate:modelValue": _cache[4] || (_cache[4] = ($event) => vue.unref(values).submittedAt = $event)
9280
+ "onUpdate:modelValue": _cache[3] || (_cache[3] = ($event) => vue.unref(values).submittedAt = $event)
8288
9281
  }, vue.unref(fields).submittedAt, { "is-disabled": "" }), null, 16, ["modelValue"])) : vue.createCommentVNode("v-if", true),
8289
9282
  vue.createCommentVNode(" EARLY GO HOME "),
8290
9283
  vue.unref(values).type == "homeEarly" ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_4, [
8291
9284
  vue.createVNode(vue.unref(form.NeonField), vue.mergeProps({
8292
9285
  modelValue: vue.unref(values).startedAt,
8293
- "onUpdate:modelValue": _cache[6] || (_cache[6] = ($event) => vue.unref(values).startedAt = $event)
9286
+ "onUpdate:modelValue": _cache[5] || (_cache[5] = ($event) => vue.unref(values).startedAt = $event)
8294
9287
  }, {
8295
9288
  handle: "startedAt",
8296
9289
  name: "Jam Pulang Kerja",
@@ -8301,7 +9294,7 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
8301
9294
  input: vue.withCtx(() => [
8302
9295
  vue.createVNode(vue.unref(NeonTime), {
8303
9296
  modelValue: vue.unref(values).startedAt,
8304
- "onUpdate:modelValue": _cache[5] || (_cache[5] = ($event) => vue.unref(values).startedAt = $event),
9297
+ "onUpdate:modelValue": _cache[4] || (_cache[4] = ($event) => vue.unref(values).startedAt = $event),
8305
9298
  "is-loading": vue.unref(isLoading),
8306
9299
  class: "mt-2"
8307
9300
  }, null, 8, ["modelValue", "is-loading"])
@@ -8311,7 +9304,7 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
8311
9304
  }, 16, ["modelValue"]),
8312
9305
  vue.createVNode(vue.unref(form.NeonField), vue.mergeProps({
8313
9306
  modelValue: vue.unref(values).endedAt,
8314
- "onUpdate:modelValue": _cache[8] || (_cache[8] = ($event) => vue.unref(values).endedAt = $event)
9307
+ "onUpdate:modelValue": _cache[7] || (_cache[7] = ($event) => vue.unref(values).endedAt = $event)
8315
9308
  }, {
8316
9309
  handle: "endedAt",
8317
9310
  name: "Jam Pulang Lebih Awal",
@@ -8322,7 +9315,7 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
8322
9315
  input: vue.withCtx(() => [
8323
9316
  vue.createVNode(vue.unref(NeonTime), {
8324
9317
  modelValue: vue.unref(values).endedAt,
8325
- "onUpdate:modelValue": _cache[7] || (_cache[7] = ($event) => vue.unref(values).endedAt = $event),
9318
+ "onUpdate:modelValue": _cache[6] || (_cache[6] = ($event) => vue.unref(values).endedAt = $event),
8326
9319
  "is-loading": vue.unref(isLoading),
8327
9320
  class: "mt-2"
8328
9321
  }, null, 8, ["modelValue", "is-loading"]),
@@ -8342,7 +9335,7 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
8342
9335
  vue.unref(values).type == "comeLate" ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_6, [
8343
9336
  vue.createVNode(vue.unref(form.NeonField), vue.mergeProps({
8344
9337
  modelValue: vue.unref(values).startedAt,
8345
- "onUpdate:modelValue": _cache[10] || (_cache[10] = ($event) => vue.unref(values).startedAt = $event)
9338
+ "onUpdate:modelValue": _cache[9] || (_cache[9] = ($event) => vue.unref(values).startedAt = $event)
8346
9339
  }, {
8347
9340
  handle: "startedAt",
8348
9341
  name: "Jam Datang",
@@ -8353,7 +9346,7 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
8353
9346
  input: vue.withCtx(() => [
8354
9347
  vue.createVNode(vue.unref(NeonTime), {
8355
9348
  modelValue: vue.unref(values).startedAt,
8356
- "onUpdate:modelValue": _cache[9] || (_cache[9] = ($event) => vue.unref(values).startedAt = $event),
9349
+ "onUpdate:modelValue": _cache[8] || (_cache[8] = ($event) => vue.unref(values).startedAt = $event),
8357
9350
  "is-loading": vue.unref(isLoading),
8358
9351
  class: "mt-2"
8359
9352
  }, null, 8, ["modelValue", "is-loading"])
@@ -8363,7 +9356,7 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
8363
9356
  }, 16, ["modelValue"]),
8364
9357
  vue.createVNode(vue.unref(form.NeonField), vue.mergeProps({
8365
9358
  modelValue: vue.unref(values).endedAt,
8366
- "onUpdate:modelValue": _cache[12] || (_cache[12] = ($event) => vue.unref(values).endedAt = $event)
9359
+ "onUpdate:modelValue": _cache[11] || (_cache[11] = ($event) => vue.unref(values).endedAt = $event)
8367
9360
  }, {
8368
9361
  handle: "endedAt",
8369
9362
  name: "Jam Datang Terlambat",
@@ -8374,7 +9367,7 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
8374
9367
  input: vue.withCtx(() => [
8375
9368
  vue.createVNode(vue.unref(NeonTime), {
8376
9369
  modelValue: vue.unref(values).endedAt,
8377
- "onUpdate:modelValue": _cache[11] || (_cache[11] = ($event) => vue.unref(values).endedAt = $event),
9370
+ "onUpdate:modelValue": _cache[10] || (_cache[10] = ($event) => vue.unref(values).endedAt = $event),
8378
9371
  "is-loading": vue.unref(isLoading),
8379
9372
  class: "mt-2"
8380
9373
  }, null, 8, ["modelValue", "is-loading"]),
@@ -8394,7 +9387,7 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
8394
9387
  vue.unref(values).type == "timeout" ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_8, [
8395
9388
  vue.createVNode(vue.unref(form.NeonField), vue.mergeProps({
8396
9389
  modelValue: vue.unref(values).startedAt,
8397
- "onUpdate:modelValue": _cache[14] || (_cache[14] = ($event) => vue.unref(values).startedAt = $event)
9390
+ "onUpdate:modelValue": _cache[13] || (_cache[13] = ($event) => vue.unref(values).startedAt = $event)
8398
9391
  }, {
8399
9392
  handle: "startedAt",
8400
9393
  name: "Mulai",
@@ -8405,7 +9398,7 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
8405
9398
  input: vue.withCtx(() => [
8406
9399
  vue.createVNode(vue.unref(NeonTime), {
8407
9400
  modelValue: vue.unref(values).startedAt,
8408
- "onUpdate:modelValue": _cache[13] || (_cache[13] = ($event) => vue.unref(values).startedAt = $event),
9401
+ "onUpdate:modelValue": _cache[12] || (_cache[12] = ($event) => vue.unref(values).startedAt = $event),
8409
9402
  "is-loading": vue.unref(isLoading),
8410
9403
  class: "mt-2"
8411
9404
  }, null, 8, ["modelValue", "is-loading"])
@@ -8415,7 +9408,7 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
8415
9408
  }, 16, ["modelValue"]),
8416
9409
  vue.createVNode(vue.unref(form.NeonField), vue.mergeProps({
8417
9410
  modelValue: vue.unref(values).endedAt,
8418
- "onUpdate:modelValue": _cache[16] || (_cache[16] = ($event) => vue.unref(values).endedAt = $event)
9411
+ "onUpdate:modelValue": _cache[15] || (_cache[15] = ($event) => vue.unref(values).endedAt = $event)
8419
9412
  }, {
8420
9413
  handle: "endedAt",
8421
9414
  name: "Selesai",
@@ -8426,7 +9419,7 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
8426
9419
  input: vue.withCtx(() => [
8427
9420
  vue.createVNode(vue.unref(NeonTime), {
8428
9421
  modelValue: vue.unref(values).endedAt,
8429
- "onUpdate:modelValue": _cache[15] || (_cache[15] = ($event) => vue.unref(values).endedAt = $event),
9422
+ "onUpdate:modelValue": _cache[14] || (_cache[14] = ($event) => vue.unref(values).endedAt = $event),
8430
9423
  "is-loading": vue.unref(isLoading),
8431
9424
  class: "mt-2"
8432
9425
  }, null, 8, ["modelValue", "is-loading"]),
@@ -8461,81 +9454,247 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
8461
9454
  };
8462
9455
  }
8463
9456
  });
8464
- const AttendanceManager_vue_vue_type_style_index_0_scoped_643cca03_lang = "";
8465
- const AttendanceManager = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-643cca03"]]);
9457
+ const AttendanceSupervisor_vue_vue_type_style_index_0_scoped_3b3cd9ef_lang = "";
9458
+ const AttendanceSupervisor = /* @__PURE__ */ _export_sfc(_sfc_main$3, [["__scopeId", "data-v-3b3cd9ef"]]);
9459
+ const ProgressAccessModel = personaliaModels.models.ProgressAccessModel;
9460
+ const _sfc_main$2 = /* @__PURE__ */ vue.defineComponent({
9461
+ ...{
9462
+ name: "ProgressAccessCollection"
9463
+ },
9464
+ __name: "ProgressAccessCollection",
9465
+ setup(__props) {
9466
+ context.useCollection();
9467
+ return (_ctx, _cache) => {
9468
+ return vue.openBlock(), vue.createBlock(vue.unref(context.NeonCollection), { class: "neu-progress-access-collection" }, {
9469
+ default: vue.withCtx(() => [
9470
+ vue.createVNode(vue.unref(office.OfficeCollectionTable))
9471
+ ]),
9472
+ _: 1
9473
+ /* STABLE */
9474
+ });
9475
+ };
9476
+ }
9477
+ });
9478
+ const _sfc_main$1 = /* @__PURE__ */ vue.defineComponent({
9479
+ __name: "ProgressAccessSingle",
9480
+ setup(__props) {
9481
+ const {
9482
+ fields,
9483
+ id,
9484
+ initialValues,
9485
+ values,
9486
+ isLoading,
9487
+ isChanged,
9488
+ isReady,
9489
+ isMain,
9490
+ isNew,
9491
+ saveOne,
9492
+ discardChanges
9493
+ } = context.useSingle();
9494
+ return (_ctx, _cache) => {
9495
+ return vue.openBlock(), vue.createBlock(vue.unref(context.NeonSingle), { class: "neu-progress-access-single" }, {
9496
+ default: vue.withCtx(() => [
9497
+ vue.createVNode(vue.unref(office.OfficeTabs), { "use-url": vue.unref(isMain) }, {
9498
+ default: vue.withCtx(() => [
9499
+ vue.createVNode(vue.unref(office.OfficeTab), {
9500
+ handle: "info",
9501
+ icon: "circle-info",
9502
+ title: "Info"
9503
+ }, {
9504
+ default: vue.withCtx(() => [
9505
+ vue.createVNode(vue.unref(form.NeonForm), {
9506
+ handle: "info",
9507
+ "initial-values": vue.unref(initialValues),
9508
+ "is-loading": vue.unref(isLoading),
9509
+ "is-changed": vue.unref(isChanged),
9510
+ "use-unsaved": "",
9511
+ onCancel: vue.unref(discardChanges),
9512
+ onSubmit: vue.unref(saveOne)
9513
+ }, {
9514
+ default: vue.withCtx(() => [
9515
+ vue.createVNode(vue.unref(office.OfficeRelation), {
9516
+ modelValue: vue.unref(values),
9517
+ "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => vue.isRef(values) ? values.value = $event : null),
9518
+ field: vue.unref(fields).superviseStaff
9519
+ }, null, 8, ["modelValue", "field"]),
9520
+ vue.createVNode(vue.unref(office.OfficeRelation), {
9521
+ modelValue: vue.unref(values),
9522
+ "onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => vue.isRef(values) ? values.value = $event : null),
9523
+ field: vue.unref(fields).supervisedStaffs
9524
+ }, null, 8, ["modelValue", "field"])
9525
+ ]),
9526
+ _: 1
9527
+ /* STABLE */
9528
+ }, 8, ["initial-values", "is-loading", "is-changed", "onCancel", "onSubmit"])
9529
+ ]),
9530
+ _: 1
9531
+ /* STABLE */
9532
+ })
9533
+ ]),
9534
+ _: 1
9535
+ /* STABLE */
9536
+ }, 8, ["use-url"])
9537
+ ]),
9538
+ _: 1
9539
+ /* STABLE */
9540
+ });
9541
+ };
9542
+ }
9543
+ });
9544
+ const ProgressAccessSingle_vue_vue_type_style_index_0_scoped_60f0e0da_lang = "";
9545
+ const ProgressAccessSingle = /* @__PURE__ */ _export_sfc(_sfc_main$1, [["__scopeId", "data-v-60f0e0da"]]);
9546
+ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
9547
+ __name: "ProgressAccessSupervisor",
9548
+ setup(__props) {
9549
+ const {
9550
+ fields,
9551
+ id,
9552
+ initialValues,
9553
+ values,
9554
+ isLoading,
9555
+ isChanged,
9556
+ isReady,
9557
+ isMain,
9558
+ isNew,
9559
+ saveOne,
9560
+ discardChanges
9561
+ } = context.useSingle();
9562
+ return (_ctx, _cache) => {
9563
+ return vue.openBlock(), vue.createBlock(vue.unref(context.NeonSingle), { class: "neu-progress-access-single" }, {
9564
+ default: vue.withCtx(() => [
9565
+ vue.createVNode(vue.unref(office.OfficeTabs), { "use-url": vue.unref(isMain) }, {
9566
+ default: vue.withCtx(() => [
9567
+ vue.createVNode(vue.unref(office.OfficeTab), {
9568
+ handle: "info",
9569
+ icon: "circle-info",
9570
+ title: "Info"
9571
+ }, {
9572
+ default: vue.withCtx(() => [
9573
+ vue.createVNode(vue.unref(form.NeonForm), {
9574
+ handle: "info",
9575
+ "initial-values": vue.unref(initialValues),
9576
+ "is-loading": vue.unref(isLoading),
9577
+ "is-changed": vue.unref(isChanged),
9578
+ "use-unsaved": "",
9579
+ onCancel: vue.unref(discardChanges),
9580
+ onSubmit: vue.unref(saveOne)
9581
+ }, {
9582
+ default: vue.withCtx(() => [
9583
+ vue.createVNode(vue.unref(office.OfficeRelation), {
9584
+ modelValue: vue.unref(values),
9585
+ "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => vue.isRef(values) ? values.value = $event : null),
9586
+ field: vue.unref(fields).superviseStaff,
9587
+ "is-disabled": ""
9588
+ }, null, 8, ["modelValue", "field"]),
9589
+ vue.createVNode(vue.unref(office.OfficeRelation), {
9590
+ modelValue: vue.unref(values),
9591
+ "onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => vue.isRef(values) ? values.value = $event : null),
9592
+ field: vue.unref(fields).supervisedStaffs,
9593
+ "is-disabled": ""
9594
+ }, null, 8, ["modelValue", "field"])
9595
+ ]),
9596
+ _: 1
9597
+ /* STABLE */
9598
+ }, 8, ["initial-values", "is-loading", "is-changed", "onCancel", "onSubmit"])
9599
+ ]),
9600
+ _: 1
9601
+ /* STABLE */
9602
+ })
9603
+ ]),
9604
+ _: 1
9605
+ /* STABLE */
9606
+ }, 8, ["use-url"])
9607
+ ]),
9608
+ _: 1
9609
+ /* STABLE */
9610
+ });
9611
+ };
9612
+ }
9613
+ });
9614
+ const ProgressAccessSupervisor_vue_vue_type_style_index_0_scoped_54eff340_lang = "";
9615
+ const ProgressAccessSupervisor = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-54eff340"]]);
8466
9616
  const components = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
8467
9617
  __proto__: null,
8468
- AttendanceCollection: _sfc_main$3,
9618
+ AttendanceCollection: _sfc_main$7,
8469
9619
  AttendanceManager,
8470
9620
  AttendanceModel,
8471
9621
  AttendanceSingle,
8472
9622
  AttendanceStaff,
9623
+ AttendanceSupervisor,
8473
9624
  CheckInAccess,
8474
- CheckInCollection: _sfc_main$K,
9625
+ CheckInCollection: _sfc_main$S,
8475
9626
  CheckInExternal,
8476
9627
  CheckInModel,
8477
9628
  CheckInPresenceCollection,
8478
- CheckInScanError: _sfc_main$N,
8479
- CheckInScanSuccess: _sfc_main$L,
9629
+ CheckInScanError: _sfc_main$V,
9630
+ CheckInScanSuccess: _sfc_main$T,
8480
9631
  CheckInScanner,
8481
9632
  CheckInSingle,
9633
+ CheckInSupervisor,
8482
9634
  NeonTime,
8483
9635
  OperasionalIdentitas,
8484
- PlanCollection: _sfc_main$c,
9636
+ PlanCollection: _sfc_main$h,
8485
9637
  PlanModel,
8486
9638
  PlanSingle,
8487
9639
  PlanStaff,
8488
- PlanTypeCollection: _sfc_main$e,
9640
+ PlanTypeCollection: _sfc_main$j,
8489
9641
  PlanTypeModel,
8490
9642
  PlanTypeSingle,
8491
- ProgressButton: _sfc_main$9,
9643
+ ProgressAccessCollection: _sfc_main$2,
9644
+ ProgressAccessModel,
9645
+ ProgressAccessSingle,
9646
+ ProgressAccessSupervisor,
9647
+ ProgressButton: _sfc_main$e,
8492
9648
  ProgressCollection,
8493
9649
  ProgressModel,
8494
9650
  ProgressNote,
9651
+ ProgressNoteButton: _sfc_main$d,
8495
9652
  ProgressSingle,
8496
9653
  ProgressTomorrow,
8497
9654
  ProgressYesterday,
8498
- ResponsibilityCollection: _sfc_main$k,
9655
+ ResponsibilityCollection: _sfc_main$q,
8499
9656
  ResponsibilityModel,
8500
9657
  ResponsibilitySingle,
8501
9658
  ResponsibilityStaff,
8502
- ResponsibilityTypeCollection: _sfc_main$m,
9659
+ ResponsibilitySupervisor,
9660
+ ResponsibilityTypeCollection: _sfc_main$s,
8503
9661
  ResponsibilityTypeModel,
8504
9662
  ResponsibilityTypeSingle,
8505
- SituationCollection: _sfc_main$F,
9663
+ SituationCollection: _sfc_main$M,
8506
9664
  SituationModel,
8507
- SituationSingle: _sfc_main$E,
8508
- SituationSupportive: _sfc_main$C,
8509
- SituationTypeCollection: _sfc_main$B,
9665
+ SituationSingle: _sfc_main$L,
9666
+ SituationSupportive: _sfc_main$J,
9667
+ SituationTypeCollection: _sfc_main$I,
8510
9668
  SituationTypeModel,
8511
- SituationTypeSingle: _sfc_main$A,
8512
- SituationWork: _sfc_main$D,
8513
- StaffCollection: _sfc_main$J,
8514
- StaffIdentity: _sfc_main$G,
9669
+ SituationTypeSingle: _sfc_main$H,
9670
+ SituationWork: _sfc_main$K,
9671
+ StaffCollection: _sfc_main$Q,
9672
+ StaffIdentity: _sfc_main$N,
8515
9673
  StaffModel,
8516
9674
  StaffOperasional,
8517
9675
  StaffSingle,
8518
9676
  SubmissionAudit,
8519
- SubmissionCollection: _sfc_main$v,
9677
+ SubmissionCollection: _sfc_main$C,
8520
9678
  SubmissionDecision,
8521
9679
  SubmissionFollowUp,
8522
9680
  SubmissionModel,
8523
9681
  SubmissionSingle,
8524
9682
  SubmissionStaff,
8525
- SubmissionTypeCollection: _sfc_main$o,
9683
+ SubmissionSupervisor,
9684
+ SubmissionTypeCollection: _sfc_main$u,
8526
9685
  SubmissionTypeModel,
8527
9686
  SubmissionTypeSingle,
8528
9687
  SubmissionWaitingDecision,
8529
9688
  TargetBranch,
8530
- TargetCollection: _sfc_main$h,
9689
+ TargetCollection: _sfc_main$m,
8531
9690
  TargetModel,
8532
9691
  TargetSingle,
8533
- TaskCollection: _sfc_main$y,
9692
+ TaskCollection: _sfc_main$F,
8534
9693
  TaskModel,
8535
- TaskSingle: _sfc_main$x,
8536
- TaskWork: _sfc_main$w,
8537
- TaskWorkButton: _sfc_main$z,
8538
- XxxButton: _sfc_main$U
9694
+ TaskSingle: _sfc_main$E,
9695
+ TaskWork: _sfc_main$D,
9696
+ TaskWorkButton: _sfc_main$G,
9697
+ XxxButton: _sfc_main$10
8539
9698
  }, Symbol.toStringTag, { value: "Module" }));
8540
9699
  function registerComponents(app) {
8541
9700
  Object.entries(components).forEach(([name, component2]) => {
@@ -8550,80 +9709,89 @@ const OperasionalInterfacesPlugin = {
8550
9709
  registerComponents(app);
8551
9710
  }
8552
9711
  };
8553
- exports.AttendanceCollection = _sfc_main$3;
9712
+ exports.AttendanceCollection = _sfc_main$7;
8554
9713
  exports.AttendanceManager = AttendanceManager;
8555
9714
  exports.AttendanceModel = AttendanceModel;
8556
9715
  exports.AttendanceSingle = AttendanceSingle;
8557
9716
  exports.AttendanceStaff = AttendanceStaff;
9717
+ exports.AttendanceSupervisor = AttendanceSupervisor;
8558
9718
  exports.CheckInAccess = CheckInAccess;
8559
- exports.CheckInCollection = _sfc_main$K;
9719
+ exports.CheckInCollection = _sfc_main$S;
8560
9720
  exports.CheckInExternal = CheckInExternal;
8561
9721
  exports.CheckInModel = CheckInModel;
8562
9722
  exports.CheckInPresenceCollection = CheckInPresenceCollection;
8563
- exports.CheckInScanError = _sfc_main$N;
8564
- exports.CheckInScanSuccess = _sfc_main$L;
9723
+ exports.CheckInScanError = _sfc_main$V;
9724
+ exports.CheckInScanSuccess = _sfc_main$T;
8565
9725
  exports.CheckInScanner = CheckInScanner;
8566
9726
  exports.CheckInSingle = CheckInSingle;
9727
+ exports.CheckInSupervisor = CheckInSupervisor;
8567
9728
  exports.NOperasional = operasional_types;
8568
9729
  exports.NeonTime = NeonTime;
8569
9730
  exports.OperasionalIdentitas = OperasionalIdentitas;
8570
9731
  exports.OperasionalInterfacesPlugin = OperasionalInterfacesPlugin;
8571
- exports.PlanCollection = _sfc_main$c;
9732
+ exports.PlanCollection = _sfc_main$h;
8572
9733
  exports.PlanModel = PlanModel;
8573
9734
  exports.PlanSingle = PlanSingle;
8574
9735
  exports.PlanStaff = PlanStaff;
8575
- exports.PlanTypeCollection = _sfc_main$e;
9736
+ exports.PlanTypeCollection = _sfc_main$j;
8576
9737
  exports.PlanTypeModel = PlanTypeModel;
8577
9738
  exports.PlanTypeSingle = PlanTypeSingle;
8578
- exports.ProgressButton = _sfc_main$9;
9739
+ exports.ProgressAccessCollection = _sfc_main$2;
9740
+ exports.ProgressAccessModel = ProgressAccessModel;
9741
+ exports.ProgressAccessSingle = ProgressAccessSingle;
9742
+ exports.ProgressAccessSupervisor = ProgressAccessSupervisor;
9743
+ exports.ProgressButton = _sfc_main$e;
8579
9744
  exports.ProgressCollection = ProgressCollection;
8580
9745
  exports.ProgressModel = ProgressModel;
8581
9746
  exports.ProgressNote = ProgressNote;
9747
+ exports.ProgressNoteButton = _sfc_main$d;
8582
9748
  exports.ProgressSingle = ProgressSingle;
8583
9749
  exports.ProgressTomorrow = ProgressTomorrow;
8584
9750
  exports.ProgressYesterday = ProgressYesterday;
8585
- exports.ResponsibilityCollection = _sfc_main$k;
9751
+ exports.ResponsibilityCollection = _sfc_main$q;
8586
9752
  exports.ResponsibilityModel = ResponsibilityModel;
8587
9753
  exports.ResponsibilitySingle = ResponsibilitySingle;
8588
9754
  exports.ResponsibilityStaff = ResponsibilityStaff;
8589
- exports.ResponsibilityTypeCollection = _sfc_main$m;
9755
+ exports.ResponsibilitySupervisor = ResponsibilitySupervisor;
9756
+ exports.ResponsibilityTypeCollection = _sfc_main$s;
8590
9757
  exports.ResponsibilityTypeModel = ResponsibilityTypeModel;
8591
9758
  exports.ResponsibilityTypeSingle = ResponsibilityTypeSingle;
8592
9759
  exports.Schema = graphql;
8593
- exports.SituationCollection = _sfc_main$F;
9760
+ exports.SituationCollection = _sfc_main$M;
8594
9761
  exports.SituationModel = SituationModel;
8595
- exports.SituationSingle = _sfc_main$E;
8596
- exports.SituationSupportive = _sfc_main$C;
8597
- exports.SituationTypeCollection = _sfc_main$B;
9762
+ exports.SituationSingle = _sfc_main$L;
9763
+ exports.SituationSupportive = _sfc_main$J;
9764
+ exports.SituationTypeCollection = _sfc_main$I;
8598
9765
  exports.SituationTypeModel = SituationTypeModel;
8599
- exports.SituationTypeSingle = _sfc_main$A;
8600
- exports.SituationWork = _sfc_main$D;
8601
- exports.StaffCollection = _sfc_main$J;
8602
- exports.StaffIdentity = _sfc_main$G;
9766
+ exports.SituationTypeSingle = _sfc_main$H;
9767
+ exports.SituationWork = _sfc_main$K;
9768
+ exports.StaffCollection = _sfc_main$Q;
9769
+ exports.StaffIdentity = _sfc_main$N;
8603
9770
  exports.StaffModel = StaffModel;
8604
9771
  exports.StaffOperasional = StaffOperasional;
8605
9772
  exports.StaffSingle = StaffSingle;
8606
9773
  exports.SubmissionAudit = SubmissionAudit;
8607
- exports.SubmissionCollection = _sfc_main$v;
9774
+ exports.SubmissionCollection = _sfc_main$C;
8608
9775
  exports.SubmissionDecision = SubmissionDecision;
8609
9776
  exports.SubmissionFollowUp = SubmissionFollowUp;
8610
9777
  exports.SubmissionModel = SubmissionModel;
8611
9778
  exports.SubmissionSingle = SubmissionSingle;
8612
9779
  exports.SubmissionStaff = SubmissionStaff;
8613
- exports.SubmissionTypeCollection = _sfc_main$o;
9780
+ exports.SubmissionSupervisor = SubmissionSupervisor;
9781
+ exports.SubmissionTypeCollection = _sfc_main$u;
8614
9782
  exports.SubmissionTypeModel = SubmissionTypeModel;
8615
9783
  exports.SubmissionTypeSingle = SubmissionTypeSingle;
8616
9784
  exports.SubmissionWaitingDecision = SubmissionWaitingDecision;
8617
9785
  exports.TargetBranch = TargetBranch;
8618
- exports.TargetCollection = _sfc_main$h;
9786
+ exports.TargetCollection = _sfc_main$m;
8619
9787
  exports.TargetModel = TargetModel;
8620
9788
  exports.TargetSingle = TargetSingle;
8621
- exports.TaskCollection = _sfc_main$y;
9789
+ exports.TaskCollection = _sfc_main$F;
8622
9790
  exports.TaskModel = TaskModel;
8623
- exports.TaskSingle = _sfc_main$x;
8624
- exports.TaskWork = _sfc_main$w;
8625
- exports.TaskWorkButton = _sfc_main$z;
8626
- exports.XxxButton = _sfc_main$U;
9791
+ exports.TaskSingle = _sfc_main$E;
9792
+ exports.TaskWork = _sfc_main$D;
9793
+ exports.TaskWorkButton = _sfc_main$G;
9794
+ exports.XxxButton = _sfc_main$10;
8627
9795
  exports.bus = bus;
8628
9796
  exports.useAttendanceStore = useAttendanceStore;
8629
9797
  exports.useOperasional = useOperasional;