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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -11594,10 +11594,22 @@ const useOperasionalStore = pinia.defineStore("neu:operasional", () => {
11594
11594
  const isLoading = vue.ref(false);
11595
11595
  const staff = vue.ref(null);
11596
11596
  const accesses = vue.ref([]);
11597
+ const supervisedStaffIds = vue.computed(() => {
11598
+ if (Array.isArray(accesses.value)) {
11599
+ return accesses.value.reduce(
11600
+ (ids, access) => {
11601
+ return ids.concat(access.supervisedStaffIds || []);
11602
+ },
11603
+ []
11604
+ );
11605
+ }
11606
+ return [];
11607
+ });
11597
11608
  return {
11598
11609
  isLoading,
11599
11610
  staff,
11600
11611
  accesses,
11612
+ supervisedStaffIds,
11601
11613
  setStaff,
11602
11614
  getStaff,
11603
11615
  getAllStoreValue
@@ -11608,9 +11620,14 @@ const useOperasionalStore = pinia.defineStore("neu:operasional", () => {
11608
11620
  function getStaff() {
11609
11621
  return staff.value;
11610
11622
  }
11623
+ function getAccesses() {
11624
+ return accesses.value;
11625
+ }
11611
11626
  function getAllStoreValue() {
11612
11627
  return {
11613
- staff: getStaff()
11628
+ staff: getStaff(),
11629
+ supervisedStaffIds: getAccesses(),
11630
+ accesses: getAccesses()
11614
11631
  };
11615
11632
  }
11616
11633
  });
@@ -11716,7 +11733,7 @@ const _sfc_main$11 = /* @__PURE__ */ vue.defineComponent({
11716
11733
  function transformItem(item) {
11717
11734
  return {
11718
11735
  ...item,
11719
- eventColor: item.type === "dayOff" ? "#FAE3DF" : item.type === "sick" ? "#D7E4EE" : item.type === "permission" ? "#FAEDCC" : item.type === "leave" ? "#DEECDC" : item.type === "homeEarly" ? "#EEF2FF" : item.type === "comeLate" ? "#F1F5FF" : item.type === "homeEarly" ? "#FDF2F8" : "base"
11736
+ eventColor: item.status === "rejected" ? "danger" : item.status === "notApproved" ? "warning" : item.status === "approved" ? "success" : "base"
11720
11737
  };
11721
11738
  }
11722
11739
  function onCalendarPeriodUpdate(period) {
@@ -12343,6 +12360,8 @@ const _sfc_main$_ = /* @__PURE__ */ vue.defineComponent({
12343
12360
  executeOne
12344
12361
  } = context.useSingle();
12345
12362
  const key = vue.ref(0);
12363
+ const responseState = vue.ref();
12364
+ const toast = interfaces.useToastStore();
12346
12365
  const diff = vue.computed(() => {
12347
12366
  return DateUtil.day(values.value.endedAt).diff(values.value.startedAt);
12348
12367
  });
@@ -12415,7 +12434,44 @@ const _sfc_main$_ = /* @__PURE__ */ vue.defineComponent({
12415
12434
  ]
12416
12435
  };
12417
12436
  });
12437
+ const { client } = vue$1.useClientHandle();
12438
+ function getNotified() {
12439
+ if (responseState.value === "attendanceGenerated") {
12440
+ toast.push({
12441
+ id: "generate:attendance",
12442
+ content: "Successfully generated attendance.",
12443
+ color: "success"
12444
+ });
12445
+ }
12446
+ }
12447
+ async function generateAttendance() {
12448
+ var _a2, _b;
12449
+ const responseGenerateAttendance = await client.mutation(context.GraphUtil.executeOne(personaliaModels.AttendanceModel, {}), {
12450
+ action: "generateAttendance",
12451
+ input: {
12452
+ attendanceId: values.value.id,
12453
+ // Attendance input.
12454
+ status: values.value.status,
12455
+ submitStaffId: values.value.submitStaffId,
12456
+ type: values.value.type,
12457
+ decideStaffId: values.value.decideStaffId,
12458
+ notes: values.value.notes,
12459
+ submittedAt: values.value.submittedAt,
12460
+ startedAt: values.value.startedAt,
12461
+ endedAt: values.value.endedAt
12462
+ }
12463
+ }).toPromise();
12464
+ const wrapper = (_a2 = responseGenerateAttendance.data) == null ? void 0 : _a2.executeAttendance;
12465
+ responseState.value = (_b = wrapper == null ? void 0 : wrapper.info) == null ? void 0 : _b.state;
12466
+ }
12467
+ console.log("decideStaffId", values.value.decideStaffId);
12468
+ async function generate() {
12469
+ await generateAttendance();
12470
+ await getNotified();
12471
+ await syncOne();
12472
+ }
12418
12473
  return (_ctx, _cache) => {
12474
+ const _component_NeonFields = vue.resolveComponent("NeonFields");
12419
12475
  return vue.openBlock(), vue.createBlock(vue.unref(context.NeonSingle), { class: "neu-attendance-single" }, {
12420
12476
  default: vue.withCtx(() => [
12421
12477
  vue.createVNode(vue.unref(office$1.OfficeTabs), { "use-url": vue.unref(isMain) }, {
@@ -12509,15 +12565,49 @@ const _sfc_main$_ = /* @__PURE__ */ vue.defineComponent({
12509
12565
  "is-disabled": vue.unref(values).status == "notApproved" || vue.unref(values).status == "approved" || vue.unref(values).status == "rejected",
12510
12566
  "onUpdate:modelValue": onStartedAtUpdate
12511
12567
  }), null, 16, ["model-value", "is-disabled"])),
12568
+ vue.createVNode(vue.unref(interfaces.NeonDivider), {
12569
+ "is-dashed": "",
12570
+ label: "Tanggal ini digunakan hanya untuk Generate Absensi",
12571
+ class: "divider"
12572
+ }),
12573
+ vue.createVNode(_component_NeonFields, { md: "grid-cols-3" }, {
12574
+ default: vue.withCtx(() => [
12575
+ vue.createVNode(vue.unref(form.NeonField), vue.mergeProps({
12576
+ modelValue: vue.unref(values).startedAt,
12577
+ "onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => vue.unref(values).startedAt = $event)
12578
+ }, vue.unref(fields).startedAt, {
12579
+ "is-disabled": vue.unref(values).status == "approved" || vue.unref(values).isGenerate === true
12580
+ }), null, 16, ["modelValue", "is-disabled"]),
12581
+ vue.createVNode(vue.unref(form.NeonField), vue.mergeProps({
12582
+ modelValue: vue.unref(values).endedAt,
12583
+ "onUpdate:modelValue": _cache[2] || (_cache[2] = ($event) => vue.unref(values).endedAt = $event)
12584
+ }, vue.unref(fields).endedAt, {
12585
+ "is-disabled": vue.unref(values).status == "approved" || vue.unref(values).isGenerate === true
12586
+ }), null, 16, ["modelValue", "is-disabled"]),
12587
+ vue.createVNode(vue.unref(interfaces.NeonButton), {
12588
+ "icon-left": "bolt",
12589
+ label: "Generate",
12590
+ color: "success",
12591
+ class: "mt-12",
12592
+ size: "xs",
12593
+ "is-loading": vue.unref(isLoading),
12594
+ "is-disabled": vue.unref(values).status !== "approved" || vue.unref(values).isGenerate === true,
12595
+ "is-rounded": "",
12596
+ onClick: generate
12597
+ }, null, 8, ["is-loading", "is-disabled"])
12598
+ ]),
12599
+ _: 1
12600
+ /* STABLE */
12601
+ }),
12512
12602
  vue.createVNode(vue.unref(form.NeonField), vue.mergeProps({
12513
12603
  modelValue: vue.unref(values).type,
12514
- "onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => vue.unref(values).type = $event)
12604
+ "onUpdate:modelValue": _cache[3] || (_cache[3] = ($event) => vue.unref(values).type = $event)
12515
12605
  }, vue.unref(fields).type, {
12516
12606
  "is-disabled": vue.unref(values).status == "notApproved" || vue.unref(values).status == "approved" || vue.unref(values).status == "rejected"
12517
12607
  }), null, 16, ["modelValue", "is-disabled"]),
12518
12608
  vue.createVNode(vue.unref(office$1.OfficeRelation), {
12519
12609
  modelValue: vue.unref(values),
12520
- "onUpdate:modelValue": _cache[2] || (_cache[2] = ($event) => vue.isRef(values) ? values.value = $event : null),
12610
+ "onUpdate:modelValue": _cache[4] || (_cache[4] = ($event) => vue.isRef(values) ? values.value = $event : null),
12521
12611
  field: vue.unref(fields).decideStaff,
12522
12612
  query: vue.unref(query.Query).define(staffOptions.value),
12523
12613
  "is-disabled": vue.unref(values).status == "notApproved" || vue.unref(values).status == "approved" || vue.unref(values).status == "rejected"
@@ -12525,14 +12615,14 @@ const _sfc_main$_ = /* @__PURE__ */ vue.defineComponent({
12525
12615
  vue.unref(values).type == "leave" ? (vue.openBlock(), vue.createBlock(vue.unref(office$1.OfficeRelation), {
12526
12616
  key: 2,
12527
12617
  modelValue: vue.unref(values),
12528
- "onUpdate:modelValue": _cache[3] || (_cache[3] = ($event) => vue.isRef(values) ? values.value = $event : null),
12618
+ "onUpdate:modelValue": _cache[5] || (_cache[5] = ($event) => vue.isRef(values) ? values.value = $event : null),
12529
12619
  field: vue.unref(fields).delegateStaffs,
12530
12620
  "is-disabled": vue.unref(values).status == "notApproved" || vue.unref(values).status == "approved" || vue.unref(values).status == "rejected"
12531
12621
  }, null, 8, ["modelValue", "field", "is-disabled"])) : vue.createCommentVNode("v-if", true),
12532
12622
  vue.unref(isNew) || vue.unref(isReady) ? (vue.openBlock(), vue.createBlock(vue.unref(form.NeonField), vue.mergeProps({
12533
12623
  key: 3,
12534
12624
  modelValue: vue.unref(values).notes,
12535
- "onUpdate:modelValue": _cache[4] || (_cache[4] = ($event) => vue.unref(values).notes = $event)
12625
+ "onUpdate:modelValue": _cache[6] || (_cache[6] = ($event) => vue.unref(values).notes = $event)
12536
12626
  }, vue.unref(fields).notes), null, 16, ["modelValue"])) : vue.createCommentVNode("v-if", true),
12537
12627
  vue.unref(values).type ? (vue.openBlock(), vue.createBlock(vue.unref(interfaces.NeonDivider), {
12538
12628
  key: 4,
@@ -12542,13 +12632,13 @@ const _sfc_main$_ = /* @__PURE__ */ vue.defineComponent({
12542
12632
  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({
12543
12633
  key: 5,
12544
12634
  modelValue: vue.unref(values).submittedAt,
12545
- "onUpdate:modelValue": _cache[5] || (_cache[5] = ($event) => vue.unref(values).submittedAt = $event)
12635
+ "onUpdate:modelValue": _cache[7] || (_cache[7] = ($event) => vue.unref(values).submittedAt = $event)
12546
12636
  }, vue.unref(fields).submittedAt, { "is-disabled": "" }), null, 16, ["modelValue"])) : vue.createCommentVNode("v-if", true),
12547
12637
  vue.createCommentVNode(" EARLY GO HOME "),
12548
12638
  vue.unref(values).type == "homeEarly" ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_4$a, [
12549
12639
  vue.createVNode(vue.unref(form.NeonField), vue.mergeProps({
12550
12640
  modelValue: vue.unref(values).startedAt,
12551
- "onUpdate:modelValue": _cache[7] || (_cache[7] = ($event) => vue.unref(values).startedAt = $event)
12641
+ "onUpdate:modelValue": _cache[9] || (_cache[9] = ($event) => vue.unref(values).startedAt = $event)
12552
12642
  }, {
12553
12643
  handle: "startedAt",
12554
12644
  name: "Jam Pulang Kerja",
@@ -12559,7 +12649,7 @@ const _sfc_main$_ = /* @__PURE__ */ vue.defineComponent({
12559
12649
  input: vue.withCtx(() => [
12560
12650
  vue.createVNode(vue.unref(NeonTime), {
12561
12651
  modelValue: vue.unref(values).startedAt,
12562
- "onUpdate:modelValue": _cache[6] || (_cache[6] = ($event) => vue.unref(values).startedAt = $event),
12652
+ "onUpdate:modelValue": _cache[8] || (_cache[8] = ($event) => vue.unref(values).startedAt = $event),
12563
12653
  "is-loading": vue.unref(isLoading),
12564
12654
  class: "mt-2",
12565
12655
  "is-disabled": vue.unref(values).status == "notApproved" || vue.unref(values).status == "approved" || vue.unref(values).status == "rejected"
@@ -12570,7 +12660,7 @@ const _sfc_main$_ = /* @__PURE__ */ vue.defineComponent({
12570
12660
  }, 16, ["modelValue"]),
12571
12661
  vue.createVNode(vue.unref(form.NeonField), vue.mergeProps({
12572
12662
  modelValue: vue.unref(values).endedAt,
12573
- "onUpdate:modelValue": _cache[9] || (_cache[9] = ($event) => vue.unref(values).endedAt = $event)
12663
+ "onUpdate:modelValue": _cache[11] || (_cache[11] = ($event) => vue.unref(values).endedAt = $event)
12574
12664
  }, {
12575
12665
  handle: "endedAt",
12576
12666
  name: "Jam Pulang Lebih Awal",
@@ -12581,7 +12671,7 @@ const _sfc_main$_ = /* @__PURE__ */ vue.defineComponent({
12581
12671
  input: vue.withCtx(() => [
12582
12672
  vue.createVNode(vue.unref(NeonTime), {
12583
12673
  modelValue: vue.unref(values).endedAt,
12584
- "onUpdate:modelValue": _cache[8] || (_cache[8] = ($event) => vue.unref(values).endedAt = $event),
12674
+ "onUpdate:modelValue": _cache[10] || (_cache[10] = ($event) => vue.unref(values).endedAt = $event),
12585
12675
  "is-loading": vue.unref(isLoading),
12586
12676
  class: "mt-2",
12587
12677
  "is-disabled": vue.unref(values).status == "notApproved" || vue.unref(values).status == "approved" || vue.unref(values).status == "rejected"
@@ -12602,7 +12692,7 @@ const _sfc_main$_ = /* @__PURE__ */ vue.defineComponent({
12602
12692
  vue.unref(values).type == "comeLate" ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_6$9, [
12603
12693
  vue.createVNode(vue.unref(form.NeonField), vue.mergeProps({
12604
12694
  modelValue: vue.unref(values).startedAt,
12605
- "onUpdate:modelValue": _cache[11] || (_cache[11] = ($event) => vue.unref(values).startedAt = $event)
12695
+ "onUpdate:modelValue": _cache[13] || (_cache[13] = ($event) => vue.unref(values).startedAt = $event)
12606
12696
  }, {
12607
12697
  handle: "startedAt",
12608
12698
  name: "Jam Datang",
@@ -12613,7 +12703,7 @@ const _sfc_main$_ = /* @__PURE__ */ vue.defineComponent({
12613
12703
  input: vue.withCtx(() => [
12614
12704
  vue.createVNode(vue.unref(NeonTime), {
12615
12705
  modelValue: vue.unref(values).startedAt,
12616
- "onUpdate:modelValue": _cache[10] || (_cache[10] = ($event) => vue.unref(values).startedAt = $event),
12706
+ "onUpdate:modelValue": _cache[12] || (_cache[12] = ($event) => vue.unref(values).startedAt = $event),
12617
12707
  "is-loading": vue.unref(isLoading),
12618
12708
  class: "mt-2",
12619
12709
  "is-disabled": vue.unref(values).status == "notApproved" || vue.unref(values).status == "approved" || vue.unref(values).status == "rejected"
@@ -12624,7 +12714,7 @@ const _sfc_main$_ = /* @__PURE__ */ vue.defineComponent({
12624
12714
  }, 16, ["modelValue"]),
12625
12715
  vue.createVNode(vue.unref(form.NeonField), vue.mergeProps({
12626
12716
  modelValue: vue.unref(values).endedAt,
12627
- "onUpdate:modelValue": _cache[13] || (_cache[13] = ($event) => vue.unref(values).endedAt = $event)
12717
+ "onUpdate:modelValue": _cache[15] || (_cache[15] = ($event) => vue.unref(values).endedAt = $event)
12628
12718
  }, {
12629
12719
  handle: "endedAt",
12630
12720
  name: "Jam Datang Terlambat",
@@ -12635,7 +12725,7 @@ const _sfc_main$_ = /* @__PURE__ */ vue.defineComponent({
12635
12725
  input: vue.withCtx(() => [
12636
12726
  vue.createVNode(vue.unref(NeonTime), {
12637
12727
  modelValue: vue.unref(values).endedAt,
12638
- "onUpdate:modelValue": _cache[12] || (_cache[12] = ($event) => vue.unref(values).endedAt = $event),
12728
+ "onUpdate:modelValue": _cache[14] || (_cache[14] = ($event) => vue.unref(values).endedAt = $event),
12639
12729
  "is-loading": vue.unref(isLoading),
12640
12730
  class: "mt-2",
12641
12731
  "is-disabled": vue.unref(values).status == "notApproved" || vue.unref(values).status == "approved" || vue.unref(values).status == "rejected"
@@ -12656,7 +12746,7 @@ const _sfc_main$_ = /* @__PURE__ */ vue.defineComponent({
12656
12746
  vue.unref(values).type == "timeout" ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_8$8, [
12657
12747
  vue.createVNode(vue.unref(form.NeonField), vue.mergeProps({
12658
12748
  modelValue: vue.unref(values).startedAt,
12659
- "onUpdate:modelValue": _cache[15] || (_cache[15] = ($event) => vue.unref(values).startedAt = $event)
12749
+ "onUpdate:modelValue": _cache[17] || (_cache[17] = ($event) => vue.unref(values).startedAt = $event)
12660
12750
  }, {
12661
12751
  handle: "startedAt",
12662
12752
  name: "Mulai",
@@ -12667,7 +12757,7 @@ const _sfc_main$_ = /* @__PURE__ */ vue.defineComponent({
12667
12757
  input: vue.withCtx(() => [
12668
12758
  vue.createVNode(vue.unref(NeonTime), {
12669
12759
  modelValue: vue.unref(values).startedAt,
12670
- "onUpdate:modelValue": _cache[14] || (_cache[14] = ($event) => vue.unref(values).startedAt = $event),
12760
+ "onUpdate:modelValue": _cache[16] || (_cache[16] = ($event) => vue.unref(values).startedAt = $event),
12671
12761
  "is-loading": vue.unref(isLoading),
12672
12762
  class: "mt-2",
12673
12763
  "is-disabled": vue.unref(values).status == "notApproved" || vue.unref(values).status == "approved" || vue.unref(values).status == "rejected"
@@ -12678,7 +12768,7 @@ const _sfc_main$_ = /* @__PURE__ */ vue.defineComponent({
12678
12768
  }, 16, ["modelValue"]),
12679
12769
  vue.createVNode(vue.unref(form.NeonField), vue.mergeProps({
12680
12770
  modelValue: vue.unref(values).endedAt,
12681
- "onUpdate:modelValue": _cache[17] || (_cache[17] = ($event) => vue.unref(values).endedAt = $event)
12771
+ "onUpdate:modelValue": _cache[19] || (_cache[19] = ($event) => vue.unref(values).endedAt = $event)
12682
12772
  }, {
12683
12773
  handle: "endedAt",
12684
12774
  name: "Selesai",
@@ -12689,7 +12779,7 @@ const _sfc_main$_ = /* @__PURE__ */ vue.defineComponent({
12689
12779
  input: vue.withCtx(() => [
12690
12780
  vue.createVNode(vue.unref(NeonTime), {
12691
12781
  modelValue: vue.unref(values).endedAt,
12692
- "onUpdate:modelValue": _cache[16] || (_cache[16] = ($event) => vue.unref(values).endedAt = $event),
12782
+ "onUpdate:modelValue": _cache[18] || (_cache[18] = ($event) => vue.unref(values).endedAt = $event),
12693
12783
  "is-loading": vue.unref(isLoading),
12694
12784
  class: "mt-2",
12695
12785
  "is-disabled": vue.unref(values).status == "notApproved" || vue.unref(values).status == "approved" || vue.unref(values).status == "rejected"
@@ -12725,7 +12815,7 @@ const _sfc_main$_ = /* @__PURE__ */ vue.defineComponent({
12725
12815
  };
12726
12816
  }
12727
12817
  });
12728
- const AttendanceStaff = /* @__PURE__ */ _export_sfc$1(_sfc_main$_, [["__scopeId", "data-v-e3bc93f1"]]);
12818
+ const AttendanceStaff = /* @__PURE__ */ _export_sfc$1(_sfc_main$_, [["__scopeId", "data-v-7951838f"]]);
12729
12819
  const _hoisted_1$p = { class: "flex flex-wrap" };
12730
12820
  const _hoisted_2$i = { class: "mt-2" };
12731
12821
  const _hoisted_3$a = { class: "mt-2" };
@@ -12791,6 +12881,8 @@ const _sfc_main$Z = /* @__PURE__ */ vue.defineComponent({
12791
12881
  values.value.startedAt = startedAt.toISOString();
12792
12882
  values.value.endedAt = endedAt.toISOString();
12793
12883
  }
12884
+ const responseState = vue.ref();
12885
+ const toast = interfaces.useToastStore();
12794
12886
  const { staff } = useOperasional();
12795
12887
  const staffId = ((_a = staff.value) == null ? void 0 : _a.id) || "";
12796
12888
  vue.watch(isNew, setDefaultValues, { immediate: true });
@@ -12817,7 +12909,43 @@ const _sfc_main$Z = /* @__PURE__ */ vue.defineComponent({
12817
12909
  await executeOne("rejectedAttendance", { attendanceId: id.value });
12818
12910
  await syncOne();
12819
12911
  };
12912
+ const { client } = vue$1.useClientHandle();
12913
+ function getNotified() {
12914
+ if (responseState.value === "attendanceGenerated") {
12915
+ toast.push({
12916
+ id: "generate:attendance",
12917
+ content: "Successfully generated attendance.",
12918
+ color: "success"
12919
+ });
12920
+ }
12921
+ }
12922
+ async function generateAttendance() {
12923
+ var _a2, _b;
12924
+ const responseGenerateAttendance = await client.mutation(context.GraphUtil.executeOne(personaliaModels.AttendanceModel, {}), {
12925
+ action: "generateAttendance",
12926
+ input: {
12927
+ attendanceId: values.value.id,
12928
+ // Attendance input.
12929
+ status: values.value.status,
12930
+ submitStaffId: values.value.submitStaffId,
12931
+ type: values.value.type,
12932
+ decideStaffId: values.value.decideStaffId,
12933
+ notes: values.value.notes,
12934
+ submittedAt: values.value.submittedAt,
12935
+ startedAt: values.value.startedAt,
12936
+ endedAt: values.value.endedAt
12937
+ }
12938
+ }).toPromise();
12939
+ const wrapper = (_a2 = responseGenerateAttendance.data) == null ? void 0 : _a2.executeAttendance;
12940
+ responseState.value = (_b = wrapper == null ? void 0 : wrapper.info) == null ? void 0 : _b.state;
12941
+ }
12942
+ async function generate() {
12943
+ await generateAttendance();
12944
+ await getNotified();
12945
+ await syncOne();
12946
+ }
12820
12947
  return (_ctx, _cache) => {
12948
+ const _component_NeonFields = vue.resolveComponent("NeonFields");
12821
12949
  return vue.openBlock(), vue.createBlock(vue.unref(context.NeonSingle), { class: "neu-attendance-single" }, {
12822
12950
  default: vue.withCtx(() => [
12823
12951
  vue.createVNode(vue.unref(office$1.OfficeTabs), { "use-url": vue.unref(isMain) }, {
@@ -12925,9 +13053,42 @@ const _sfc_main$Z = /* @__PURE__ */ vue.defineComponent({
12925
13053
  "is-disabled": vue.unref(values).status == "approved" || vue.unref(values).status == "rejected",
12926
13054
  "onUpdate:modelValue": onStartedAtUpdate
12927
13055
  }), null, 16, ["model-value", "is-disabled"])),
13056
+ vue.createVNode(vue.unref(interfaces.NeonDivider), {
13057
+ label: "Tanggal ini digunakan hanya untuk Generate Absensi",
13058
+ class: "divider"
13059
+ }),
13060
+ vue.createVNode(_component_NeonFields, { md: "grid-cols-3" }, {
13061
+ default: vue.withCtx(() => [
13062
+ vue.createVNode(vue.unref(form.NeonField), vue.mergeProps({
13063
+ modelValue: vue.unref(values).startedAt,
13064
+ "onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => vue.unref(values).startedAt = $event)
13065
+ }, vue.unref(fields).startedAt, {
13066
+ "is-disabled": vue.unref(values).isGenerate === true
13067
+ }), null, 16, ["modelValue", "is-disabled"]),
13068
+ vue.createVNode(vue.unref(form.NeonField), vue.mergeProps({
13069
+ modelValue: vue.unref(values).endedAt,
13070
+ "onUpdate:modelValue": _cache[2] || (_cache[2] = ($event) => vue.unref(values).endedAt = $event)
13071
+ }, vue.unref(fields).endedAt, {
13072
+ "is-disabled": vue.unref(values).isGenerate === true
13073
+ }), null, 16, ["modelValue", "is-disabled"]),
13074
+ vue.createVNode(vue.unref(interfaces.NeonButton), {
13075
+ "icon-left": "bolt",
13076
+ label: "Generate",
13077
+ color: "success",
13078
+ class: "mt-12",
13079
+ size: "xs",
13080
+ "is-loading": vue.unref(isLoading),
13081
+ "is-disabled": vue.unref(values).status !== "approved" || vue.unref(values).isGenerate === true,
13082
+ "is-rounded": "",
13083
+ onClick: generate
13084
+ }, null, 8, ["is-loading", "is-disabled"])
13085
+ ]),
13086
+ _: 1
13087
+ /* STABLE */
13088
+ }),
12928
13089
  vue.createVNode(vue.unref(form.NeonField), vue.mergeProps({
12929
13090
  modelValue: vue.unref(values).type,
12930
- "onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => vue.unref(values).type = $event)
13091
+ "onUpdate:modelValue": _cache[3] || (_cache[3] = ($event) => vue.unref(values).type = $event)
12931
13092
  }, vue.unref(fields).type, {
12932
13093
  "is-disabled": vue.unref(values).status == "approved" || vue.unref(values).status == "rejected"
12933
13094
  }), null, 16, ["modelValue", "is-disabled"]),
@@ -12941,14 +13102,14 @@ const _sfc_main$Z = /* @__PURE__ */ vue.defineComponent({
12941
13102
  vue.unref(values).type == "leave" ? (vue.openBlock(), vue.createBlock(vue.unref(office$1.OfficeRelation), {
12942
13103
  key: 0,
12943
13104
  modelValue: vue.unref(values),
12944
- "onUpdate:modelValue": _cache[2] || (_cache[2] = ($event) => vue.isRef(values) ? values.value = $event : null),
13105
+ "onUpdate:modelValue": _cache[4] || (_cache[4] = ($event) => vue.isRef(values) ? values.value = $event : null),
12945
13106
  field: vue.unref(fields).delegateStaffs,
12946
13107
  "is-disabled": vue.unref(values).status == "approved" || vue.unref(values).status == "rejected"
12947
13108
  }, null, 8, ["modelValue", "field", "is-disabled"])) : vue.createCommentVNode("v-if", true),
12948
13109
  vue.unref(isNew) || vue.unref(isReady) ? (vue.openBlock(), vue.createBlock(vue.unref(form.NeonField), vue.mergeProps({
12949
13110
  key: 1,
12950
13111
  modelValue: vue.unref(values).notes,
12951
- "onUpdate:modelValue": _cache[3] || (_cache[3] = ($event) => vue.unref(values).notes = $event)
13112
+ "onUpdate:modelValue": _cache[5] || (_cache[5] = ($event) => vue.unref(values).notes = $event)
12952
13113
  }, vue.unref(fields).notes), null, 16, ["modelValue"])) : vue.createCommentVNode("v-if", true),
12953
13114
  vue.unref(values).type ? (vue.openBlock(), vue.createBlock(vue.unref(interfaces.NeonDivider), {
12954
13115
  key: 2,
@@ -12958,13 +13119,13 @@ const _sfc_main$Z = /* @__PURE__ */ vue.defineComponent({
12958
13119
  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({
12959
13120
  key: 3,
12960
13121
  modelValue: vue.unref(values).submittedAt,
12961
- "onUpdate:modelValue": _cache[4] || (_cache[4] = ($event) => vue.unref(values).submittedAt = $event)
13122
+ "onUpdate:modelValue": _cache[6] || (_cache[6] = ($event) => vue.unref(values).submittedAt = $event)
12962
13123
  }, vue.unref(fields).submittedAt, { "is-disabled": "" }), null, 16, ["modelValue"])) : vue.createCommentVNode("v-if", true),
12963
13124
  vue.createCommentVNode(" EARLY GO HOME "),
12964
13125
  vue.unref(values).type == "homeEarly" ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_5$8, [
12965
13126
  vue.createVNode(vue.unref(form.NeonField), vue.mergeProps({
12966
13127
  modelValue: vue.unref(values).startedAt,
12967
- "onUpdate:modelValue": _cache[6] || (_cache[6] = ($event) => vue.unref(values).startedAt = $event)
13128
+ "onUpdate:modelValue": _cache[8] || (_cache[8] = ($event) => vue.unref(values).startedAt = $event)
12968
13129
  }, {
12969
13130
  handle: "startedAt",
12970
13131
  name: "Jam Pulang Kerja",
@@ -12975,7 +13136,7 @@ const _sfc_main$Z = /* @__PURE__ */ vue.defineComponent({
12975
13136
  input: vue.withCtx(() => [
12976
13137
  vue.createVNode(vue.unref(NeonTime), {
12977
13138
  modelValue: vue.unref(values).startedAt,
12978
- "onUpdate:modelValue": _cache[5] || (_cache[5] = ($event) => vue.unref(values).startedAt = $event),
13139
+ "onUpdate:modelValue": _cache[7] || (_cache[7] = ($event) => vue.unref(values).startedAt = $event),
12979
13140
  "is-loading": vue.unref(isLoading),
12980
13141
  class: "mt-2"
12981
13142
  }, null, 8, ["modelValue", "is-loading"])
@@ -12985,7 +13146,7 @@ const _sfc_main$Z = /* @__PURE__ */ vue.defineComponent({
12985
13146
  }, 16, ["modelValue"]),
12986
13147
  vue.createVNode(vue.unref(form.NeonField), vue.mergeProps({
12987
13148
  modelValue: vue.unref(values).endedAt,
12988
- "onUpdate:modelValue": _cache[8] || (_cache[8] = ($event) => vue.unref(values).endedAt = $event)
13149
+ "onUpdate:modelValue": _cache[10] || (_cache[10] = ($event) => vue.unref(values).endedAt = $event)
12989
13150
  }, {
12990
13151
  handle: "endedAt",
12991
13152
  name: "Jam Pulang Lebih Awal",
@@ -12996,7 +13157,7 @@ const _sfc_main$Z = /* @__PURE__ */ vue.defineComponent({
12996
13157
  input: vue.withCtx(() => [
12997
13158
  vue.createVNode(vue.unref(NeonTime), {
12998
13159
  modelValue: vue.unref(values).endedAt,
12999
- "onUpdate:modelValue": _cache[7] || (_cache[7] = ($event) => vue.unref(values).endedAt = $event),
13160
+ "onUpdate:modelValue": _cache[9] || (_cache[9] = ($event) => vue.unref(values).endedAt = $event),
13000
13161
  "is-loading": vue.unref(isLoading),
13001
13162
  class: "mt-2"
13002
13163
  }, null, 8, ["modelValue", "is-loading"]),
@@ -13016,7 +13177,7 @@ const _sfc_main$Z = /* @__PURE__ */ vue.defineComponent({
13016
13177
  vue.unref(values).type == "comeLate" ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_7$7, [
13017
13178
  vue.createVNode(vue.unref(form.NeonField), vue.mergeProps({
13018
13179
  modelValue: vue.unref(values).startedAt,
13019
- "onUpdate:modelValue": _cache[10] || (_cache[10] = ($event) => vue.unref(values).startedAt = $event)
13180
+ "onUpdate:modelValue": _cache[12] || (_cache[12] = ($event) => vue.unref(values).startedAt = $event)
13020
13181
  }, {
13021
13182
  handle: "startedAt",
13022
13183
  name: "Jam Datang",
@@ -13027,7 +13188,7 @@ const _sfc_main$Z = /* @__PURE__ */ vue.defineComponent({
13027
13188
  input: vue.withCtx(() => [
13028
13189
  vue.createVNode(vue.unref(NeonTime), {
13029
13190
  modelValue: vue.unref(values).startedAt,
13030
- "onUpdate:modelValue": _cache[9] || (_cache[9] = ($event) => vue.unref(values).startedAt = $event),
13191
+ "onUpdate:modelValue": _cache[11] || (_cache[11] = ($event) => vue.unref(values).startedAt = $event),
13031
13192
  "is-loading": vue.unref(isLoading),
13032
13193
  class: "mt-2"
13033
13194
  }, null, 8, ["modelValue", "is-loading"])
@@ -13037,7 +13198,7 @@ const _sfc_main$Z = /* @__PURE__ */ vue.defineComponent({
13037
13198
  }, 16, ["modelValue"]),
13038
13199
  vue.createVNode(vue.unref(form.NeonField), vue.mergeProps({
13039
13200
  modelValue: vue.unref(values).endedAt,
13040
- "onUpdate:modelValue": _cache[12] || (_cache[12] = ($event) => vue.unref(values).endedAt = $event)
13201
+ "onUpdate:modelValue": _cache[14] || (_cache[14] = ($event) => vue.unref(values).endedAt = $event)
13041
13202
  }, {
13042
13203
  handle: "endedAt",
13043
13204
  name: "Jam Datang Terlambat",
@@ -13048,7 +13209,7 @@ const _sfc_main$Z = /* @__PURE__ */ vue.defineComponent({
13048
13209
  input: vue.withCtx(() => [
13049
13210
  vue.createVNode(vue.unref(NeonTime), {
13050
13211
  modelValue: vue.unref(values).endedAt,
13051
- "onUpdate:modelValue": _cache[11] || (_cache[11] = ($event) => vue.unref(values).endedAt = $event),
13212
+ "onUpdate:modelValue": _cache[13] || (_cache[13] = ($event) => vue.unref(values).endedAt = $event),
13052
13213
  "is-loading": vue.unref(isLoading),
13053
13214
  class: "mt-2"
13054
13215
  }, null, 8, ["modelValue", "is-loading"]),
@@ -13068,7 +13229,7 @@ const _sfc_main$Z = /* @__PURE__ */ vue.defineComponent({
13068
13229
  vue.unref(values).type == "timeout" ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_9$7, [
13069
13230
  vue.createVNode(vue.unref(form.NeonField), vue.mergeProps({
13070
13231
  modelValue: vue.unref(values).startedAt,
13071
- "onUpdate:modelValue": _cache[14] || (_cache[14] = ($event) => vue.unref(values).startedAt = $event)
13232
+ "onUpdate:modelValue": _cache[16] || (_cache[16] = ($event) => vue.unref(values).startedAt = $event)
13072
13233
  }, {
13073
13234
  handle: "startedAt",
13074
13235
  name: "Mulai",
@@ -13079,7 +13240,7 @@ const _sfc_main$Z = /* @__PURE__ */ vue.defineComponent({
13079
13240
  input: vue.withCtx(() => [
13080
13241
  vue.createVNode(vue.unref(NeonTime), {
13081
13242
  modelValue: vue.unref(values).startedAt,
13082
- "onUpdate:modelValue": _cache[13] || (_cache[13] = ($event) => vue.unref(values).startedAt = $event),
13243
+ "onUpdate:modelValue": _cache[15] || (_cache[15] = ($event) => vue.unref(values).startedAt = $event),
13083
13244
  "is-loading": vue.unref(isLoading),
13084
13245
  class: "mt-2"
13085
13246
  }, null, 8, ["modelValue", "is-loading"])
@@ -13089,7 +13250,7 @@ const _sfc_main$Z = /* @__PURE__ */ vue.defineComponent({
13089
13250
  }, 16, ["modelValue"]),
13090
13251
  vue.createVNode(vue.unref(form.NeonField), vue.mergeProps({
13091
13252
  modelValue: vue.unref(values).endedAt,
13092
- "onUpdate:modelValue": _cache[16] || (_cache[16] = ($event) => vue.unref(values).endedAt = $event)
13253
+ "onUpdate:modelValue": _cache[18] || (_cache[18] = ($event) => vue.unref(values).endedAt = $event)
13093
13254
  }, {
13094
13255
  handle: "endedAt",
13095
13256
  name: "Selesai",
@@ -13100,7 +13261,7 @@ const _sfc_main$Z = /* @__PURE__ */ vue.defineComponent({
13100
13261
  input: vue.withCtx(() => [
13101
13262
  vue.createVNode(vue.unref(NeonTime), {
13102
13263
  modelValue: vue.unref(values).endedAt,
13103
- "onUpdate:modelValue": _cache[15] || (_cache[15] = ($event) => vue.unref(values).endedAt = $event),
13264
+ "onUpdate:modelValue": _cache[17] || (_cache[17] = ($event) => vue.unref(values).endedAt = $event),
13104
13265
  "is-loading": vue.unref(isLoading),
13105
13266
  class: "mt-2"
13106
13267
  }, null, 8, ["modelValue", "is-loading"]),
@@ -13135,7 +13296,7 @@ const _sfc_main$Z = /* @__PURE__ */ vue.defineComponent({
13135
13296
  };
13136
13297
  }
13137
13298
  });
13138
- const AttendanceSupervisor = /* @__PURE__ */ _export_sfc$1(_sfc_main$Z, [["__scopeId", "data-v-3bccc33c"]]);
13299
+ const AttendanceSupervisor = /* @__PURE__ */ _export_sfc$1(_sfc_main$Z, [["__scopeId", "data-v-ff0ad0fa"]]);
13139
13300
  const _withScopeId$2 = (n) => (vue.pushScopeId("data-v-c329f979"), n = n(), vue.popScopeId(), n);
13140
13301
  const _hoisted_1$o = { id: "view-checkIns" };
13141
13302
  const _hoisted_2$h = { class: "summary" };
@@ -16391,14 +16552,12 @@ const _sfc_main$C = /* @__PURE__ */ vue.defineComponent({
16391
16552
  vue.createVNode(vue.unref(office$1.OfficeRelation), {
16392
16553
  modelValue: vue.unref(values),
16393
16554
  "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => vue.isRef(values) ? values.value = $event : null),
16394
- field: vue.unref(fields).superviseStaff,
16395
- "is-disabled": ""
16555
+ field: vue.unref(fields).superviseStaff
16396
16556
  }, null, 8, ["modelValue", "field"]),
16397
16557
  vue.createVNode(vue.unref(office$1.OfficeRelation), {
16398
16558
  modelValue: vue.unref(values),
16399
16559
  "onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => vue.isRef(values) ? values.value = $event : null),
16400
- field: vue.unref(fields).supervisedStaffs,
16401
- "is-disabled": ""
16560
+ field: vue.unref(fields).supervisedStaffs
16402
16561
  }, null, 8, ["modelValue", "field"])
16403
16562
  ]),
16404
16563
  _: 1
@@ -16419,7 +16578,7 @@ const _sfc_main$C = /* @__PURE__ */ vue.defineComponent({
16419
16578
  };
16420
16579
  }
16421
16580
  });
16422
- const ProgressAccessSupervisor = /* @__PURE__ */ _export_sfc$1(_sfc_main$C, [["__scopeId", "data-v-8f52f710"]]);
16581
+ const ProgressAccessSupervisor = /* @__PURE__ */ _export_sfc$1(_sfc_main$C, [["__scopeId", "data-v-2ca10028"]]);
16423
16582
  const _sfc_main$B = /* @__PURE__ */ vue.defineComponent({
16424
16583
  ...{
16425
16584
  name: "ProgressAccessCollection"
@@ -23082,7 +23241,7 @@ const config = helpers.OfficeInterfaces.define({
23082
23241
  // Progress Access
23083
23242
  "ProgressAccessCollection",
23084
23243
  "ProgressAccessSingle",
23085
- "ProgressSupervisor",
23244
+ "ProgressAccessSupervisor",
23086
23245
  // Responsibility
23087
23246
  "ResponsibilityCollection",
23088
23247
  "ResponsibilitySingle",