@neutron.co.id/operasional-interfaces 1.8.0 → 1.8.1

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.
package/build/index.cjs CHANGED
@@ -15,6 +15,13 @@ const code = require("@neon.id/utils/code");
15
15
  const vue$1 = require("@urql/vue");
16
16
  const dateFns = require("date-fns");
17
17
  const vCalendar = require("v-calendar");
18
+ const dayjs = require("dayjs/esm/index.js");
19
+ require("dayjs/esm/locale/en.js");
20
+ require("dayjs/esm/locale/id.js");
21
+ const advancedFormat = require("dayjs/esm/plugin/advancedFormat/index.js");
22
+ const durationPlugin = require("dayjs/esm/plugin/duration/index.js");
23
+ const isoWeek = require("dayjs/esm/plugin/isoWeek/index.js");
24
+ const relativeTimePlugin = require("dayjs/esm/plugin/relativeTime/index.js");
18
25
  const tempatModels = require("@neutron.co.id/tempat-models");
19
26
  const core = require("@vueuse/core");
20
27
  const office = require("@neon.id/office");
@@ -22,6 +29,7 @@ const pinia = require("pinia");
22
29
  const vueRouter = require("vue-router");
23
30
  const component = require("@neon.id/utils/component");
24
31
  const Scanner = require("qr-scanner");
32
+ const mitt = require("mitt");
25
33
  const personaliaModels = require("@neutron.co.id/personalia-models");
26
34
  const catatInterfaces = require("@neon.id/catat-interfaces");
27
35
  const _hoisted_1$m = { class: "xxx-button" };
@@ -404,221 +412,17 @@ const _export_sfc = (sfc, props) => {
404
412
  return target;
405
413
  };
406
414
  const OperasionalIdentitas = /* @__PURE__ */ _export_sfc(_sfc_main$S, [["__scopeId", "data-v-355c8370"]]);
407
- var commonjsGlobal = typeof globalThis !== "undefined" ? globalThis : typeof window !== "undefined" ? window : typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : {};
408
- function getDefaultExportFromCjs(x) {
409
- return x && x.__esModule && Object.prototype.hasOwnProperty.call(x, "default") ? x["default"] : x;
415
+ dayjs.extend(durationPlugin);
416
+ dayjs.extend(relativeTimePlugin);
417
+ dayjs.extend(advancedFormat);
418
+ dayjs.extend(isoWeek);
419
+ dayjs.locale("id");
420
+ class DateUtil {
421
+ static get day() {
422
+ return dayjs;
423
+ }
410
424
  }
411
- var dayjs_min = { exports: {} };
412
- (function(module2, exports2) {
413
- !function(t, e) {
414
- module2.exports = e();
415
- }(commonjsGlobal, function() {
416
- var t = 1e3, e = 6e4, n = 36e5, r = "millisecond", i = "second", s = "minute", u = "hour", a = "day", o = "week", f = "month", h = "quarter", c = "year", d = "date", l = "Invalid Date", $ = /^(\d{4})[-/]?(\d{1,2})?[-/]?(\d{0,2})[Tt\s]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?[.:]?(\d+)?$/, y = /\[([^\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g, M = { name: "en", weekdays: "Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"), months: "January_February_March_April_May_June_July_August_September_October_November_December".split("_"), ordinal: function(t2) {
417
- var e2 = ["th", "st", "nd", "rd"], n2 = t2 % 100;
418
- return "[" + t2 + (e2[(n2 - 20) % 10] || e2[n2] || e2[0]) + "]";
419
- } }, m = function(t2, e2, n2) {
420
- var r2 = String(t2);
421
- return !r2 || r2.length >= e2 ? t2 : "" + Array(e2 + 1 - r2.length).join(n2) + t2;
422
- }, v = { s: m, z: function(t2) {
423
- var e2 = -t2.utcOffset(), n2 = Math.abs(e2), r2 = Math.floor(n2 / 60), i2 = n2 % 60;
424
- return (e2 <= 0 ? "+" : "-") + m(r2, 2, "0") + ":" + m(i2, 2, "0");
425
- }, m: function t2(e2, n2) {
426
- if (e2.date() < n2.date())
427
- return -t2(n2, e2);
428
- var r2 = 12 * (n2.year() - e2.year()) + (n2.month() - e2.month()), i2 = e2.clone().add(r2, f), s2 = n2 - i2 < 0, u2 = e2.clone().add(r2 + (s2 ? -1 : 1), f);
429
- return +(-(r2 + (n2 - i2) / (s2 ? i2 - u2 : u2 - i2)) || 0);
430
- }, a: function(t2) {
431
- return t2 < 0 ? Math.ceil(t2) || 0 : Math.floor(t2);
432
- }, p: function(t2) {
433
- return { M: f, y: c, w: o, d: a, D: d, h: u, m: s, s: i, ms: r, Q: h }[t2] || String(t2 || "").toLowerCase().replace(/s$/, "");
434
- }, u: function(t2) {
435
- return void 0 === t2;
436
- } }, g = "en", D = {};
437
- D[g] = M;
438
- var p = function(t2) {
439
- return t2 instanceof _;
440
- }, S = function t2(e2, n2, r2) {
441
- var i2;
442
- if (!e2)
443
- return g;
444
- if ("string" == typeof e2) {
445
- var s2 = e2.toLowerCase();
446
- D[s2] && (i2 = s2), n2 && (D[s2] = n2, i2 = s2);
447
- var u2 = e2.split("-");
448
- if (!i2 && u2.length > 1)
449
- return t2(u2[0]);
450
- } else {
451
- var a2 = e2.name;
452
- D[a2] = e2, i2 = a2;
453
- }
454
- return !r2 && i2 && (g = i2), i2 || !r2 && g;
455
- }, w = function(t2, e2) {
456
- if (p(t2))
457
- return t2.clone();
458
- var n2 = "object" == typeof e2 ? e2 : {};
459
- return n2.date = t2, n2.args = arguments, new _(n2);
460
- }, O = v;
461
- O.l = S, O.i = p, O.w = function(t2, e2) {
462
- return w(t2, { locale: e2.$L, utc: e2.$u, x: e2.$x, $offset: e2.$offset });
463
- };
464
- var _ = function() {
465
- function M2(t2) {
466
- this.$L = S(t2.locale, null, true), this.parse(t2);
467
- }
468
- var m2 = M2.prototype;
469
- return m2.parse = function(t2) {
470
- this.$d = function(t3) {
471
- var e2 = t3.date, n2 = t3.utc;
472
- if (null === e2)
473
- return /* @__PURE__ */ new Date(NaN);
474
- if (O.u(e2))
475
- return /* @__PURE__ */ new Date();
476
- if (e2 instanceof Date)
477
- return new Date(e2);
478
- if ("string" == typeof e2 && !/Z$/i.test(e2)) {
479
- var r2 = e2.match($);
480
- if (r2) {
481
- var i2 = r2[2] - 1 || 0, s2 = (r2[7] || "0").substring(0, 3);
482
- return n2 ? new Date(Date.UTC(r2[1], i2, r2[3] || 1, r2[4] || 0, r2[5] || 0, r2[6] || 0, s2)) : new Date(r2[1], i2, r2[3] || 1, r2[4] || 0, r2[5] || 0, r2[6] || 0, s2);
483
- }
484
- }
485
- return new Date(e2);
486
- }(t2), this.$x = t2.x || {}, this.init();
487
- }, m2.init = function() {
488
- var t2 = this.$d;
489
- this.$y = t2.getFullYear(), this.$M = t2.getMonth(), this.$D = t2.getDate(), this.$W = t2.getDay(), this.$H = t2.getHours(), this.$m = t2.getMinutes(), this.$s = t2.getSeconds(), this.$ms = t2.getMilliseconds();
490
- }, m2.$utils = function() {
491
- return O;
492
- }, m2.isValid = function() {
493
- return !(this.$d.toString() === l);
494
- }, m2.isSame = function(t2, e2) {
495
- var n2 = w(t2);
496
- return this.startOf(e2) <= n2 && n2 <= this.endOf(e2);
497
- }, m2.isAfter = function(t2, e2) {
498
- return w(t2) < this.startOf(e2);
499
- }, m2.isBefore = function(t2, e2) {
500
- return this.endOf(e2) < w(t2);
501
- }, m2.$g = function(t2, e2, n2) {
502
- return O.u(t2) ? this[e2] : this.set(n2, t2);
503
- }, m2.unix = function() {
504
- return Math.floor(this.valueOf() / 1e3);
505
- }, m2.valueOf = function() {
506
- return this.$d.getTime();
507
- }, m2.startOf = function(t2, e2) {
508
- var n2 = this, r2 = !!O.u(e2) || e2, h2 = O.p(t2), l2 = function(t3, e3) {
509
- var i2 = O.w(n2.$u ? Date.UTC(n2.$y, e3, t3) : new Date(n2.$y, e3, t3), n2);
510
- return r2 ? i2 : i2.endOf(a);
511
- }, $2 = function(t3, e3) {
512
- return O.w(n2.toDate()[t3].apply(n2.toDate("s"), (r2 ? [0, 0, 0, 0] : [23, 59, 59, 999]).slice(e3)), n2);
513
- }, y2 = this.$W, M3 = this.$M, m3 = this.$D, v2 = "set" + (this.$u ? "UTC" : "");
514
- switch (h2) {
515
- case c:
516
- return r2 ? l2(1, 0) : l2(31, 11);
517
- case f:
518
- return r2 ? l2(1, M3) : l2(0, M3 + 1);
519
- case o:
520
- var g2 = this.$locale().weekStart || 0, D2 = (y2 < g2 ? y2 + 7 : y2) - g2;
521
- return l2(r2 ? m3 - D2 : m3 + (6 - D2), M3);
522
- case a:
523
- case d:
524
- return $2(v2 + "Hours", 0);
525
- case u:
526
- return $2(v2 + "Minutes", 1);
527
- case s:
528
- return $2(v2 + "Seconds", 2);
529
- case i:
530
- return $2(v2 + "Milliseconds", 3);
531
- default:
532
- return this.clone();
533
- }
534
- }, m2.endOf = function(t2) {
535
- return this.startOf(t2, false);
536
- }, m2.$set = function(t2, e2) {
537
- var n2, o2 = O.p(t2), h2 = "set" + (this.$u ? "UTC" : ""), l2 = (n2 = {}, n2[a] = h2 + "Date", n2[d] = h2 + "Date", n2[f] = h2 + "Month", n2[c] = h2 + "FullYear", n2[u] = h2 + "Hours", n2[s] = h2 + "Minutes", n2[i] = h2 + "Seconds", n2[r] = h2 + "Milliseconds", n2)[o2], $2 = o2 === a ? this.$D + (e2 - this.$W) : e2;
538
- if (o2 === f || o2 === c) {
539
- var y2 = this.clone().set(d, 1);
540
- y2.$d[l2]($2), y2.init(), this.$d = y2.set(d, Math.min(this.$D, y2.daysInMonth())).$d;
541
- } else
542
- l2 && this.$d[l2]($2);
543
- return this.init(), this;
544
- }, m2.set = function(t2, e2) {
545
- return this.clone().$set(t2, e2);
546
- }, m2.get = function(t2) {
547
- return this[O.p(t2)]();
548
- }, m2.add = function(r2, h2) {
549
- var d2, l2 = this;
550
- r2 = Number(r2);
551
- var $2 = O.p(h2), y2 = function(t2) {
552
- var e2 = w(l2);
553
- return O.w(e2.date(e2.date() + Math.round(t2 * r2)), l2);
554
- };
555
- if ($2 === f)
556
- return this.set(f, this.$M + r2);
557
- if ($2 === c)
558
- return this.set(c, this.$y + r2);
559
- if ($2 === a)
560
- return y2(1);
561
- if ($2 === o)
562
- return y2(7);
563
- var M3 = (d2 = {}, d2[s] = e, d2[u] = n, d2[i] = t, d2)[$2] || 1, m3 = this.$d.getTime() + r2 * M3;
564
- return O.w(m3, this);
565
- }, m2.subtract = function(t2, e2) {
566
- return this.add(-1 * t2, e2);
567
- }, m2.format = function(t2) {
568
- var e2 = this, n2 = this.$locale();
569
- if (!this.isValid())
570
- return n2.invalidDate || l;
571
- var r2 = t2 || "YYYY-MM-DDTHH:mm:ssZ", i2 = O.z(this), s2 = this.$H, u2 = this.$m, a2 = this.$M, o2 = n2.weekdays, f2 = n2.months, h2 = function(t3, n3, i3, s3) {
572
- return t3 && (t3[n3] || t3(e2, r2)) || i3[n3].slice(0, s3);
573
- }, c2 = function(t3) {
574
- return O.s(s2 % 12 || 12, t3, "0");
575
- }, d2 = n2.meridiem || function(t3, e3, n3) {
576
- var r3 = t3 < 12 ? "AM" : "PM";
577
- return n3 ? r3.toLowerCase() : r3;
578
- }, $2 = { YY: String(this.$y).slice(-2), YYYY: O.s(this.$y, 4, "0"), M: a2 + 1, MM: O.s(a2 + 1, 2, "0"), MMM: h2(n2.monthsShort, a2, f2, 3), MMMM: h2(f2, a2), D: this.$D, DD: O.s(this.$D, 2, "0"), d: String(this.$W), dd: h2(n2.weekdaysMin, this.$W, o2, 2), ddd: h2(n2.weekdaysShort, this.$W, o2, 3), dddd: o2[this.$W], H: String(s2), HH: O.s(s2, 2, "0"), h: c2(1), hh: c2(2), a: d2(s2, u2, true), A: d2(s2, u2, false), m: String(u2), mm: O.s(u2, 2, "0"), s: String(this.$s), ss: O.s(this.$s, 2, "0"), SSS: O.s(this.$ms, 3, "0"), Z: i2 };
579
- return r2.replace(y, function(t3, e3) {
580
- return e3 || $2[t3] || i2.replace(":", "");
581
- });
582
- }, m2.utcOffset = function() {
583
- return 15 * -Math.round(this.$d.getTimezoneOffset() / 15);
584
- }, m2.diff = function(r2, d2, l2) {
585
- var $2, y2 = O.p(d2), M3 = w(r2), m3 = (M3.utcOffset() - this.utcOffset()) * e, v2 = this - M3, g2 = O.m(this, M3);
586
- return g2 = ($2 = {}, $2[c] = g2 / 12, $2[f] = g2, $2[h] = g2 / 3, $2[o] = (v2 - m3) / 6048e5, $2[a] = (v2 - m3) / 864e5, $2[u] = v2 / n, $2[s] = v2 / e, $2[i] = v2 / t, $2)[y2] || v2, l2 ? g2 : O.a(g2);
587
- }, m2.daysInMonth = function() {
588
- return this.endOf(f).$D;
589
- }, m2.$locale = function() {
590
- return D[this.$L];
591
- }, m2.locale = function(t2, e2) {
592
- if (!t2)
593
- return this.$L;
594
- var n2 = this.clone(), r2 = S(t2, e2, true);
595
- return r2 && (n2.$L = r2), n2;
596
- }, m2.clone = function() {
597
- return O.w(this.$d, this);
598
- }, m2.toDate = function() {
599
- return new Date(this.valueOf());
600
- }, m2.toJSON = function() {
601
- return this.isValid() ? this.toISOString() : null;
602
- }, m2.toISOString = function() {
603
- return this.$d.toISOString();
604
- }, m2.toString = function() {
605
- return this.$d.toUTCString();
606
- }, M2;
607
- }(), T = _.prototype;
608
- return w.prototype = T, [["$ms", r], ["$s", i], ["$m", s], ["$H", u], ["$W", a], ["$M", f], ["$y", c], ["$D", d]].forEach(function(t2) {
609
- T[t2[1]] = function(e2) {
610
- return this.$g(e2, t2[0], t2[1]);
611
- };
612
- }), w.extend = function(t2, e2) {
613
- return t2.$i || (t2(e2, _, w), t2.$i = true), w;
614
- }, w.locale = S, w.isDayjs = p, w.unix = function(t2) {
615
- return w(1e3 * t2);
616
- }, w.en = D[g], w.Ls = D, w.p = {}, w;
617
- });
618
- })(dayjs_min);
619
- var dayjs_minExports = dayjs_min.exports;
620
- const dayjs = /* @__PURE__ */ getDefaultExportFromCjs(dayjs_minExports);
621
- const _withScopeId$3 = (n) => (vue.pushScopeId("data-v-3cf0c9ae"), n = n(), vue.popScopeId(), n);
425
+ const _withScopeId$3 = (n) => (vue.pushScopeId("data-v-805321b9"), n = n(), vue.popScopeId(), n);
622
426
  const _hoisted_1$k = {
623
427
  key: 0,
624
428
  class: "input-loading"
@@ -630,7 +434,7 @@ const _hoisted_2$f = /* @__PURE__ */ _withScopeId$3(() => /* @__PURE__ */ vue.cr
630
434
  -1
631
435
  /* HOISTED */
632
436
  ));
633
- const _hoisted_3$9 = [
437
+ const _hoisted_3$8 = [
634
438
  _hoisted_2$f
635
439
  ];
636
440
  const _sfc_main$R = /* @__PURE__ */ vue.defineComponent({
@@ -653,13 +457,13 @@ const _sfc_main$R = /* @__PURE__ */ vue.defineComponent({
653
457
  setup(__props, { emit }) {
654
458
  const props = __props;
655
459
  const internalValue = vue.computed(() => {
656
- const newDate = dayjs(props.modelValue || void 0);
460
+ const newDate = DateUtil.day(props.modelValue || void 0);
657
461
  return newDate.second(0).millisecond(0).toISOString();
658
462
  });
659
463
  function onUpdate(newValue) {
660
464
  if (props.isDisabled)
661
465
  return;
662
- let newDate = dayjs(newValue);
466
+ let newDate = DateUtil.day(newValue);
663
467
  newDate = newDate.second(0).millisecond(0);
664
468
  emit("update:modelValue", newDate.toISOString());
665
469
  }
@@ -670,7 +474,7 @@ const _sfc_main$R = /* @__PURE__ */ vue.defineComponent({
670
474
  class: vue.normalizeClass(["neon-time", { "is-disabled": __props.isDisabled }])
671
475
  },
672
476
  [
673
- __props.isLoading ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$k, _hoisted_3$9)) : (vue.openBlock(), vue.createBlock(vue.unref(vCalendar.DatePicker), vue.mergeProps({
477
+ __props.isLoading ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$k, _hoisted_3$8)) : (vue.openBlock(), vue.createBlock(vue.unref(vCalendar.DatePicker), vue.mergeProps({
674
478
  key: 1,
675
479
  "model-value": internalValue.value
676
480
  }, {
@@ -692,9 +496,9 @@ const _sfc_main$R = /* @__PURE__ */ vue.defineComponent({
692
496
  };
693
497
  }
694
498
  });
695
- const NeonTime_vue_vue_type_style_index_0_scoped_3cf0c9ae_lang = "";
499
+ const NeonTime_vue_vue_type_style_index_0_scoped_805321b9_lang = "";
696
500
  const NeonTime_vue_vue_type_style_index_1_lang = "";
697
- const NeonTime = /* @__PURE__ */ _export_sfc(_sfc_main$R, [["__scopeId", "data-v-3cf0c9ae"]]);
501
+ const NeonTime = /* @__PURE__ */ _export_sfc(_sfc_main$R, [["__scopeId", "data-v-805321b9"]]);
698
502
  const CheckInModel = tempatModels.models.CheckInModel;
699
503
  const useOperasionalStore = pinia.defineStore("neu:operasional", () => {
700
504
  const isLoading = vue.ref(false);
@@ -818,29 +622,13 @@ function withOperasional() {
818
622
  store.setStaff(items[0]);
819
623
  }
820
624
  }
821
- function mitt(n) {
822
- return { all: n = n || /* @__PURE__ */ new Map(), on: function(t, e) {
823
- var i = n.get(t);
824
- i ? i.push(e) : n.set(t, [e]);
825
- }, off: function(t, e) {
826
- var i = n.get(t);
827
- i && (e ? i.splice(i.indexOf(e) >>> 0, 1) : n.set(t, []));
828
- }, emit: function(t, e) {
829
- var i = n.get(t);
830
- i && i.slice().map(function(n2) {
831
- n2(e);
832
- }), (i = n.get("*")) && i.slice().map(function(n2) {
833
- n2(t, e);
834
- });
835
- } };
836
- }
837
625
  const bus = mitt();
838
626
  const _withScopeId$2 = (n) => (vue.pushScopeId("data-v-ee60c24a"), n = n(), vue.popScopeId(), n);
839
627
  const _hoisted_1$j = { id: "view-checkIns" };
840
628
  const _hoisted_2$e = { class: "summary" };
841
- const _hoisted_3$8 = { class: "wrapper" };
842
- const _hoisted_4$5 = { class: "header" };
843
- const _hoisted_5$4 = /* @__PURE__ */ _withScopeId$2(() => /* @__PURE__ */ vue.createElementVNode(
629
+ const _hoisted_3$7 = { class: "wrapper" };
630
+ const _hoisted_4$4 = { class: "header" };
631
+ const _hoisted_5$3 = /* @__PURE__ */ _withScopeId$2(() => /* @__PURE__ */ vue.createElementVNode(
844
632
  "div",
845
633
  { class: "start" },
846
634
  [
@@ -850,7 +638,7 @@ const _hoisted_5$4 = /* @__PURE__ */ _withScopeId$2(() => /* @__PURE__ */ vue.cr
850
638
  -1
851
639
  /* HOISTED */
852
640
  ));
853
- const _hoisted_6$3 = { class: "end" };
641
+ const _hoisted_6$2 = { class: "end" };
854
642
  const _sfc_main$Q = /* @__PURE__ */ vue.defineComponent({
855
643
  ...{
856
644
  name: "CheckInPresenceCollection"
@@ -1161,7 +949,7 @@ const _sfc_main$Q = /* @__PURE__ */ vue.defineComponent({
1161
949
  ])
1162
950
  ]),
1163
951
  default: vue.withCtx(() => [
1164
- vue.createElementVNode("div", _hoisted_3$8, [
952
+ vue.createElementVNode("div", _hoisted_3$7, [
1165
953
  vue.createVNode(vue.unref(context.NeonCollectionContext), {
1166
954
  definition: "neu:tempat:checkIn",
1167
955
  scope: "_checkIns",
@@ -1176,9 +964,9 @@ const _sfc_main$Q = /* @__PURE__ */ vue.defineComponent({
1176
964
  "is-main": ""
1177
965
  }, {
1178
966
  default: vue.withCtx(() => [
1179
- vue.createElementVNode("div", _hoisted_4$5, [
1180
- _hoisted_5$4,
1181
- vue.createElementVNode("div", _hoisted_6$3, [
967
+ vue.createElementVNode("div", _hoisted_4$4, [
968
+ _hoisted_5$3,
969
+ vue.createElementVNode("div", _hoisted_6$2, [
1182
970
  vue.createVNode(vue.unref(office.OfficeCollectionQuery), { displays: ["table"] }, {
1183
971
  default: vue.withCtx(() => [
1184
972
  vue.createVNode(vue.unref(office.OfficeCollectionOperation), { "is-main": "" })
@@ -1556,8 +1344,8 @@ const _hoisted_2$c = /* @__PURE__ */ _withScopeId(() => /* @__PURE__ */ vue.crea
1556
1344
  -1
1557
1345
  /* HOISTED */
1558
1346
  ));
1559
- const _hoisted_3$7 = ["onClick"];
1560
- const _hoisted_4$4 = { class: "mr-2 text-sm" };
1347
+ const _hoisted_3$6 = ["onClick"];
1348
+ const _hoisted_4$3 = { class: "mr-2 text-sm" };
1561
1349
  const _sfc_main$L = /* @__PURE__ */ vue.defineComponent({
1562
1350
  __name: "CheckInScanner",
1563
1351
  emits: ["start", "stop", "scanned", "close"],
@@ -1711,7 +1499,7 @@ const _sfc_main$L = /* @__PURE__ */ vue.defineComponent({
1711
1499
  }, [
1712
1500
  vue.createElementVNode(
1713
1501
  "div",
1714
- _hoisted_4$4,
1502
+ _hoisted_4$3,
1715
1503
  vue.toDisplayString(currentCamera.value),
1716
1504
  1
1717
1505
  /* TEXT */
@@ -1722,7 +1510,7 @@ const _sfc_main$L = /* @__PURE__ */ vue.defineComponent({
1722
1510
  size: "sm",
1723
1511
  "is-disabled": !canSwitch.value
1724
1512
  }, null, 8, ["is-disabled"])
1725
- ], 8, _hoisted_3$7)
1513
+ ], 8, _hoisted_3$6)
1726
1514
  ])
1727
1515
  ],
1728
1516
  2
@@ -4119,9 +3907,9 @@ const SubmissionFollowUp_vue_vue_type_style_index_0_scoped_6fd14e52_lang = "";
4119
3907
  const SubmissionFollowUp = /* @__PURE__ */ _export_sfc(_sfc_main$r, [["__scopeId", "data-v-6fd14e52"]]);
4120
3908
  const _hoisted_1$9 = { class: "flex flex-wrap" };
4121
3909
  const _hoisted_2$8 = { class: "mt-2" };
4122
- const _hoisted_3$6 = { class: "mt-2" };
4123
- const _hoisted_4$3 = { class: "mt-2" };
4124
- const _hoisted_5$3 = { class: "mt-2" };
3910
+ const _hoisted_3$5 = { class: "mt-2" };
3911
+ const _hoisted_4$2 = { class: "mt-2" };
3912
+ const _hoisted_5$2 = { class: "mt-2" };
4125
3913
  const _sfc_main$q = /* @__PURE__ */ vue.defineComponent({
4126
3914
  __name: "SubmissionAudit",
4127
3915
  setup(__props) {
@@ -4249,7 +4037,7 @@ const _sfc_main$q = /* @__PURE__ */ vue.defineComponent({
4249
4037
  })) : vue.createCommentVNode("v-if", true)
4250
4038
  ]),
4251
4039
  vue.createTextVNode("    "),
4252
- vue.createElementVNode("div", _hoisted_3$6, [
4040
+ vue.createElementVNode("div", _hoisted_3$5, [
4253
4041
  vue.unref(isReady) ? (vue.openBlock(), vue.createBlock(vue.unref(form.NeonField), { key: 0 }, {
4254
4042
  input: vue.withCtx(() => [
4255
4043
  vue.createVNode(vue.unref(interfaces.NeonButton), {
@@ -4271,7 +4059,7 @@ const _sfc_main$q = /* @__PURE__ */ vue.defineComponent({
4271
4059
  })) : vue.createCommentVNode("v-if", true)
4272
4060
  ]),
4273
4061
  vue.createTextVNode("    "),
4274
- vue.createElementVNode("div", _hoisted_4$3, [
4062
+ vue.createElementVNode("div", _hoisted_4$2, [
4275
4063
  vue.unref(isReady) ? (vue.openBlock(), vue.createBlock(vue.unref(form.NeonField), { key: 0 }, {
4276
4064
  input: vue.withCtx(() => [
4277
4065
  vue.createVNode(vue.unref(interfaces.NeonButton), {
@@ -4293,7 +4081,7 @@ const _sfc_main$q = /* @__PURE__ */ vue.defineComponent({
4293
4081
  })) : vue.createCommentVNode("v-if", true)
4294
4082
  ]),
4295
4083
  vue.createTextVNode("    "),
4296
- vue.createElementVNode("div", _hoisted_5$3, [
4084
+ vue.createElementVNode("div", _hoisted_5$2, [
4297
4085
  vue.unref(isReady) ? (vue.openBlock(), vue.createBlock(vue.unref(form.NeonField), { key: 0 }, {
4298
4086
  input: vue.withCtx(() => [
4299
4087
  vue.createVNode(vue.unref(interfaces.NeonButton), {
@@ -4474,7 +4262,7 @@ const SubmissionAudit_vue_vue_type_style_index_0_scoped_7ee6c6b9_lang = "";
4474
4262
  const SubmissionAudit = /* @__PURE__ */ _export_sfc(_sfc_main$q, [["__scopeId", "data-v-7ee6c6b9"]]);
4475
4263
  const _hoisted_1$8 = { class: "flex flex-wrap" };
4476
4264
  const _hoisted_2$7 = { class: "mt-2" };
4477
- const _hoisted_3$5 = { class: "mt-2" };
4265
+ const _hoisted_3$4 = { class: "mt-2" };
4478
4266
  const _sfc_main$p = /* @__PURE__ */ vue.defineComponent({
4479
4267
  __name: "SubmissionDecision",
4480
4268
  setup(__props) {
@@ -4605,7 +4393,7 @@ const _sfc_main$p = /* @__PURE__ */ vue.defineComponent({
4605
4393
  })) : vue.createCommentVNode("v-if", true)
4606
4394
  ]),
4607
4395
  vue.createTextVNode("    "),
4608
- vue.createElementVNode("div", _hoisted_3$5, [
4396
+ vue.createElementVNode("div", _hoisted_3$4, [
4609
4397
  vue.unref(isReady) ? (vue.openBlock(), vue.createBlock(vue.unref(form.NeonField), { key: 0 }, {
4610
4398
  input: vue.withCtx(() => {
4611
4399
  var _a2, _b;
@@ -4789,7 +4577,7 @@ const SubmissionDecision_vue_vue_type_style_index_0_scoped_ec347ac5_lang = "";
4789
4577
  const SubmissionDecision = /* @__PURE__ */ _export_sfc(_sfc_main$p, [["__scopeId", "data-v-ec347ac5"]]);
4790
4578
  const _hoisted_1$7 = { class: "flex flex-wrap" };
4791
4579
  const _hoisted_2$6 = { class: "mt-2" };
4792
- const _hoisted_3$4 = { class: "mt-2" };
4580
+ const _hoisted_3$3 = { class: "mt-2" };
4793
4581
  const _sfc_main$o = /* @__PURE__ */ vue.defineComponent({
4794
4582
  __name: "SubmissionWaitingDecision",
4795
4583
  setup(__props) {
@@ -4922,7 +4710,7 @@ const _sfc_main$o = /* @__PURE__ */ vue.defineComponent({
4922
4710
  })) : vue.createCommentVNode("v-if", true)
4923
4711
  ]),
4924
4712
  vue.createTextVNode("    "),
4925
- vue.createElementVNode("div", _hoisted_3$4, [
4713
+ vue.createElementVNode("div", _hoisted_3$3, [
4926
4714
  vue.unref(isReady) ? (vue.openBlock(), vue.createBlock(vue.unref(form.NeonField), { key: 0 }, {
4927
4715
  input: vue.withCtx(() => {
4928
4716
  var _a2, _b;
@@ -6534,194 +6322,9 @@ const _sfc_main$7 = /* @__PURE__ */ vue.defineComponent({
6534
6322
  });
6535
6323
  const ProgressCollection_vue_vue_type_style_index_0_scoped_2634660f_lang = "";
6536
6324
  const ProgressCollection = /* @__PURE__ */ _export_sfc(_sfc_main$7, [["__scopeId", "data-v-2634660f"]]);
6537
- var duration = { exports: {} };
6538
- (function(module2, exports2) {
6539
- !function(t, s) {
6540
- module2.exports = s();
6541
- }(commonjsGlobal, function() {
6542
- var t, s, n = 1e3, i = 6e4, e = 36e5, r = 864e5, o = /\[([^\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g, u = 31536e6, h = 2592e6, a = /^(-|\+)?P(?:([-+]?[0-9,.]*)Y)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)W)?(?:([-+]?[0-9,.]*)D)?(?:T(?:([-+]?[0-9,.]*)H)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)S)?)?$/, d = { years: u, months: h, days: r, hours: e, minutes: i, seconds: n, milliseconds: 1, weeks: 6048e5 }, c = function(t2) {
6543
- return t2 instanceof g;
6544
- }, f = function(t2, s2, n2) {
6545
- return new g(t2, n2, s2.$l);
6546
- }, l = function(t2) {
6547
- return s.p(t2) + "s";
6548
- }, m = function(t2) {
6549
- return t2 < 0;
6550
- }, $ = function(t2) {
6551
- return m(t2) ? Math.ceil(t2) : Math.floor(t2);
6552
- }, y = function(t2) {
6553
- return Math.abs(t2);
6554
- }, v = function(t2, s2) {
6555
- return t2 ? m(t2) ? { negative: true, format: "" + y(t2) + s2 } : { negative: false, format: "" + t2 + s2 } : { negative: false, format: "" };
6556
- }, g = function() {
6557
- function m2(t2, s2, n2) {
6558
- var i2 = this;
6559
- if (this.$d = {}, this.$l = n2, void 0 === t2 && (this.$ms = 0, this.parseFromMilliseconds()), s2)
6560
- return f(t2 * d[l(s2)], this);
6561
- if ("number" == typeof t2)
6562
- return this.$ms = t2, this.parseFromMilliseconds(), this;
6563
- if ("object" == typeof t2)
6564
- return Object.keys(t2).forEach(function(s3) {
6565
- i2.$d[l(s3)] = t2[s3];
6566
- }), this.calMilliseconds(), this;
6567
- if ("string" == typeof t2) {
6568
- var e2 = t2.match(a);
6569
- if (e2) {
6570
- var r2 = e2.slice(2).map(function(t3) {
6571
- return null != t3 ? Number(t3) : 0;
6572
- });
6573
- return this.$d.years = r2[0], this.$d.months = r2[1], this.$d.weeks = r2[2], this.$d.days = r2[3], this.$d.hours = r2[4], this.$d.minutes = r2[5], this.$d.seconds = r2[6], this.calMilliseconds(), this;
6574
- }
6575
- }
6576
- return this;
6577
- }
6578
- var y2 = m2.prototype;
6579
- return y2.calMilliseconds = function() {
6580
- var t2 = this;
6581
- this.$ms = Object.keys(this.$d).reduce(function(s2, n2) {
6582
- return s2 + (t2.$d[n2] || 0) * d[n2];
6583
- }, 0);
6584
- }, y2.parseFromMilliseconds = function() {
6585
- var t2 = this.$ms;
6586
- this.$d.years = $(t2 / u), t2 %= u, this.$d.months = $(t2 / h), t2 %= h, this.$d.days = $(t2 / r), t2 %= r, this.$d.hours = $(t2 / e), t2 %= e, this.$d.minutes = $(t2 / i), t2 %= i, this.$d.seconds = $(t2 / n), t2 %= n, this.$d.milliseconds = t2;
6587
- }, y2.toISOString = function() {
6588
- var t2 = v(this.$d.years, "Y"), s2 = v(this.$d.months, "M"), n2 = +this.$d.days || 0;
6589
- this.$d.weeks && (n2 += 7 * this.$d.weeks);
6590
- var i2 = v(n2, "D"), e2 = v(this.$d.hours, "H"), r2 = v(this.$d.minutes, "M"), o2 = this.$d.seconds || 0;
6591
- this.$d.milliseconds && (o2 += this.$d.milliseconds / 1e3);
6592
- var u2 = v(o2, "S"), h2 = t2.negative || s2.negative || i2.negative || e2.negative || r2.negative || u2.negative, a2 = e2.format || r2.format || u2.format ? "T" : "", d2 = (h2 ? "-" : "") + "P" + t2.format + s2.format + i2.format + a2 + e2.format + r2.format + u2.format;
6593
- return "P" === d2 || "-P" === d2 ? "P0D" : d2;
6594
- }, y2.toJSON = function() {
6595
- return this.toISOString();
6596
- }, y2.format = function(t2) {
6597
- var n2 = t2 || "YYYY-MM-DDTHH:mm:ss", i2 = { Y: this.$d.years, YY: s.s(this.$d.years, 2, "0"), YYYY: s.s(this.$d.years, 4, "0"), M: this.$d.months, MM: s.s(this.$d.months, 2, "0"), D: this.$d.days, DD: s.s(this.$d.days, 2, "0"), H: this.$d.hours, HH: s.s(this.$d.hours, 2, "0"), m: this.$d.minutes, mm: s.s(this.$d.minutes, 2, "0"), s: this.$d.seconds, ss: s.s(this.$d.seconds, 2, "0"), SSS: s.s(this.$d.milliseconds, 3, "0") };
6598
- return n2.replace(o, function(t3, s2) {
6599
- return s2 || String(i2[t3]);
6600
- });
6601
- }, y2.as = function(t2) {
6602
- return this.$ms / d[l(t2)];
6603
- }, y2.get = function(t2) {
6604
- var s2 = this.$ms, n2 = l(t2);
6605
- return "milliseconds" === n2 ? s2 %= 1e3 : s2 = "weeks" === n2 ? $(s2 / d[n2]) : this.$d[n2], 0 === s2 ? 0 : s2;
6606
- }, y2.add = function(t2, s2, n2) {
6607
- var i2;
6608
- return i2 = s2 ? t2 * d[l(s2)] : c(t2) ? t2.$ms : f(t2, this).$ms, f(this.$ms + i2 * (n2 ? -1 : 1), this);
6609
- }, y2.subtract = function(t2, s2) {
6610
- return this.add(t2, s2, true);
6611
- }, y2.locale = function(t2) {
6612
- var s2 = this.clone();
6613
- return s2.$l = t2, s2;
6614
- }, y2.clone = function() {
6615
- return f(this.$ms, this);
6616
- }, y2.humanize = function(s2) {
6617
- return t().add(this.$ms, "ms").locale(this.$l).fromNow(!s2);
6618
- }, y2.valueOf = function() {
6619
- return this.asMilliseconds();
6620
- }, y2.milliseconds = function() {
6621
- return this.get("milliseconds");
6622
- }, y2.asMilliseconds = function() {
6623
- return this.as("milliseconds");
6624
- }, y2.seconds = function() {
6625
- return this.get("seconds");
6626
- }, y2.asSeconds = function() {
6627
- return this.as("seconds");
6628
- }, y2.minutes = function() {
6629
- return this.get("minutes");
6630
- }, y2.asMinutes = function() {
6631
- return this.as("minutes");
6632
- }, y2.hours = function() {
6633
- return this.get("hours");
6634
- }, y2.asHours = function() {
6635
- return this.as("hours");
6636
- }, y2.days = function() {
6637
- return this.get("days");
6638
- }, y2.asDays = function() {
6639
- return this.as("days");
6640
- }, y2.weeks = function() {
6641
- return this.get("weeks");
6642
- }, y2.asWeeks = function() {
6643
- return this.as("weeks");
6644
- }, y2.months = function() {
6645
- return this.get("months");
6646
- }, y2.asMonths = function() {
6647
- return this.as("months");
6648
- }, y2.years = function() {
6649
- return this.get("years");
6650
- }, y2.asYears = function() {
6651
- return this.as("years");
6652
- }, m2;
6653
- }();
6654
- return function(n2, i2, e2) {
6655
- t = e2, s = e2().$utils(), e2.duration = function(t2, s2) {
6656
- var n3 = e2.locale();
6657
- return f(t2, { $l: n3 }, s2);
6658
- }, e2.isDuration = c;
6659
- var r2 = i2.prototype.add, o2 = i2.prototype.subtract;
6660
- i2.prototype.add = function(t2, s2) {
6661
- return c(t2) && (t2 = t2.asMilliseconds()), r2.bind(this)(t2, s2);
6662
- }, i2.prototype.subtract = function(t2, s2) {
6663
- return c(t2) && (t2 = t2.asMilliseconds()), o2.bind(this)(t2, s2);
6664
- };
6665
- };
6666
- });
6667
- })(duration);
6668
- var durationExports = duration.exports;
6669
- const durationPlugin = /* @__PURE__ */ getDefaultExportFromCjs(durationExports);
6670
- var relativeTime = { exports: {} };
6671
- (function(module2, exports2) {
6672
- !function(r, e) {
6673
- module2.exports = e();
6674
- }(commonjsGlobal, function() {
6675
- return function(r, e, t) {
6676
- r = r || {};
6677
- var n = e.prototype, o = { future: "in %s", past: "%s ago", s: "a few seconds", m: "a minute", mm: "%d minutes", h: "an hour", hh: "%d hours", d: "a day", dd: "%d days", M: "a month", MM: "%d months", y: "a year", yy: "%d years" };
6678
- function i(r2, e2, t2, o2) {
6679
- return n.fromToBase(r2, e2, t2, o2);
6680
- }
6681
- t.en.relativeTime = o, n.fromToBase = function(e2, n2, i2, d2, u) {
6682
- for (var f, a, s, l = i2.$locale().relativeTime || o, h = r.thresholds || [{ l: "s", r: 44, d: "second" }, { l: "m", r: 89 }, { l: "mm", r: 44, d: "minute" }, { l: "h", r: 89 }, { l: "hh", r: 21, d: "hour" }, { l: "d", r: 35 }, { l: "dd", r: 25, d: "day" }, { l: "M", r: 45 }, { l: "MM", r: 10, d: "month" }, { l: "y", r: 17 }, { l: "yy", d: "year" }], m = h.length, c = 0; c < m; c += 1) {
6683
- var y = h[c];
6684
- y.d && (f = d2 ? t(e2).diff(i2, y.d, true) : i2.diff(e2, y.d, true));
6685
- var p = (r.rounding || Math.round)(Math.abs(f));
6686
- if (s = f > 0, p <= y.r || !y.r) {
6687
- p <= 1 && c > 0 && (y = h[c - 1]);
6688
- var v = l[y.l];
6689
- u && (p = u("" + p)), a = "string" == typeof v ? v.replace("%d", p) : v(p, n2, y.l, s);
6690
- break;
6691
- }
6692
- }
6693
- if (n2)
6694
- return a;
6695
- var M = s ? l.future : l.past;
6696
- return "function" == typeof M ? M(a) : M.replace("%s", a);
6697
- }, n.to = function(r2, e2) {
6698
- return i(r2, e2, this, true);
6699
- }, n.from = function(r2, e2) {
6700
- return i(r2, e2, this);
6701
- };
6702
- var d = function(r2) {
6703
- return r2.$u ? t.utc() : t();
6704
- };
6705
- n.toNow = function(r2) {
6706
- return this.to(d(this), r2);
6707
- }, n.fromNow = function(r2) {
6708
- return this.from(d(this), r2);
6709
- };
6710
- };
6711
- });
6712
- })(relativeTime);
6713
- var relativeTimeExports = relativeTime.exports;
6714
- const relativeTimePlugin = /* @__PURE__ */ getDefaultExportFromCjs(relativeTimeExports);
6715
- dayjs.extend(durationPlugin);
6716
- dayjs.extend(relativeTimePlugin);
6717
- class DateUtil {
6718
- static get day() {
6719
- return dayjs;
6720
- }
6721
- }
6722
6325
  const _hoisted_1$5 = { class: "grid gap-2 sm:grid-cols-2" };
6723
6326
  const _hoisted_2$5 = { class: "text-right text-fg-subdued text-sm" };
6724
- const _hoisted_3$3 = { class: "segments" };
6327
+ const _hoisted_3$2 = { class: "segments" };
6725
6328
  const _sfc_main$6 = /* @__PURE__ */ vue.defineComponent({
6726
6329
  __name: "ProgressSingle",
6727
6330
  setup(__props) {
@@ -6769,11 +6372,11 @@ const _sfc_main$6 = /* @__PURE__ */ vue.defineComponent({
6769
6372
  const diff = vue.computed(() => {
6770
6373
  return DateUtil.day(values.value.endedAt).diff(values.value.startedAt);
6771
6374
  });
6772
- const duration2 = vue.computed(() => {
6375
+ const duration = vue.computed(() => {
6773
6376
  if (isNaN(diff.value))
6774
6377
  return "-";
6775
- const duration22 = DateUtil.day.duration(diff.value);
6776
- return duration22.format("HH [jam] mm [menit]");
6378
+ const duration2 = DateUtil.day.duration(diff.value);
6379
+ return duration2.format("HH [jam] mm [menit]");
6777
6380
  });
6778
6381
  function onStartedAtUpdate(date) {
6779
6382
  if (!date)
@@ -6786,7 +6389,7 @@ const _sfc_main$6 = /* @__PURE__ */ vue.defineComponent({
6786
6389
  values.value.startedAt = startedAt.toISOString();
6787
6390
  values.value.endedAt = endedAt.toISOString();
6788
6391
  }
6789
- const sekarang = dayjs(/* @__PURE__ */ new Date());
6392
+ const sekarang = DateUtil.day(/* @__PURE__ */ new Date());
6790
6393
  const besok = sekarang;
6791
6394
  vue.watch(
6792
6395
  isNew,
@@ -6946,7 +6549,7 @@ const _sfc_main$6 = /* @__PURE__ */ vue.defineComponent({
6946
6549
  vue.createElementVNode(
6947
6550
  "div",
6948
6551
  _hoisted_2$5,
6949
- vue.toDisplayString(duration2.value),
6552
+ vue.toDisplayString(duration.value),
6950
6553
  1
6951
6554
  /* TEXT */
6952
6555
  )
@@ -7008,7 +6611,7 @@ const _sfc_main$6 = /* @__PURE__ */ vue.defineComponent({
7008
6611
  title: "Catatan"
7009
6612
  }, {
7010
6613
  default: vue.withCtx(({ isTouched }) => [
7011
- vue.createElementVNode("div", _hoisted_3$3, [
6614
+ vue.createElementVNode("div", _hoisted_3$2, [
7012
6615
  vue.createVNode(vue.unref(catatInterfaces.CatatPaperSegments), {
7013
6616
  display: display2.value,
7014
6617
  "onUpdate:display": _cache[10] || (_cache[10] = ($event) => display2.value = $event)
@@ -7035,8 +6638,8 @@ const _sfc_main$6 = /* @__PURE__ */ vue.defineComponent({
7035
6638
  };
7036
6639
  }
7037
6640
  });
7038
- const ProgressSingle_vue_vue_type_style_index_0_scoped_8354411e_lang = "";
7039
- const ProgressSingle = /* @__PURE__ */ _export_sfc(_sfc_main$6, [["__scopeId", "data-v-8354411e"]]);
6641
+ const ProgressSingle_vue_vue_type_style_index_0_scoped_e7bbc154_lang = "";
6642
+ const ProgressSingle = /* @__PURE__ */ _export_sfc(_sfc_main$6, [["__scopeId", "data-v-e7bbc154"]]);
7040
6643
  const _hoisted_1$4 = { class: "grid gap-2 sm:grid-cols-2" };
7041
6644
  const _hoisted_2$4 = { class: "text-right text-fg-subdued text-sm" };
7042
6645
  const _sfc_main$5 = /* @__PURE__ */ vue.defineComponent({
@@ -7086,11 +6689,11 @@ const _sfc_main$5 = /* @__PURE__ */ vue.defineComponent({
7086
6689
  const diff = vue.computed(() => {
7087
6690
  return DateUtil.day(values.value.endedAt).diff(values.value.startedAt);
7088
6691
  });
7089
- const duration2 = vue.computed(() => {
6692
+ const duration = vue.computed(() => {
7090
6693
  if (isNaN(diff.value))
7091
6694
  return "-";
7092
- const duration22 = DateUtil.day.duration(diff.value);
7093
- return duration22.format("HH [jam] mm [menit]");
6695
+ const duration2 = DateUtil.day.duration(diff.value);
6696
+ return duration2.format("HH [jam] mm [menit]");
7094
6697
  });
7095
6698
  function onStartedAtUpdate(date) {
7096
6699
  if (!date)
@@ -7103,7 +6706,7 @@ const _sfc_main$5 = /* @__PURE__ */ vue.defineComponent({
7103
6706
  values.value.startedAt = startedAt.toISOString();
7104
6707
  values.value.endedAt = endedAt.toISOString();
7105
6708
  }
7106
- const sekarang = dayjs(/* @__PURE__ */ new Date());
6709
+ const sekarang = DateUtil.day(/* @__PURE__ */ new Date());
7107
6710
  const besok = sekarang.add(1, "day");
7108
6711
  vue.watch(
7109
6712
  isNew,
@@ -7221,7 +6824,7 @@ const _sfc_main$5 = /* @__PURE__ */ vue.defineComponent({
7221
6824
  vue.createElementVNode(
7222
6825
  "div",
7223
6826
  _hoisted_2$4,
7224
- vue.toDisplayString(duration2.value),
6827
+ vue.toDisplayString(duration.value),
7225
6828
  1
7226
6829
  /* TEXT */
7227
6830
  )
@@ -7271,8 +6874,8 @@ const _sfc_main$5 = /* @__PURE__ */ vue.defineComponent({
7271
6874
  };
7272
6875
  }
7273
6876
  });
7274
- const ProgressTomorrow_vue_vue_type_style_index_0_scoped_a2784c89_lang = "";
7275
- const ProgressTomorrow = /* @__PURE__ */ _export_sfc(_sfc_main$5, [["__scopeId", "data-v-a2784c89"]]);
6877
+ const ProgressTomorrow_vue_vue_type_style_index_0_scoped_9a139943_lang = "";
6878
+ const ProgressTomorrow = /* @__PURE__ */ _export_sfc(_sfc_main$5, [["__scopeId", "data-v-9a139943"]]);
7276
6879
  const _hoisted_1$3 = { class: "grid gap-2 sm:grid-cols-2" };
7277
6880
  const _hoisted_2$3 = { class: "text-right text-fg-subdued text-sm" };
7278
6881
  const _sfc_main$4 = /* @__PURE__ */ vue.defineComponent({
@@ -7322,11 +6925,11 @@ const _sfc_main$4 = /* @__PURE__ */ vue.defineComponent({
7322
6925
  const diff = vue.computed(() => {
7323
6926
  return DateUtil.day(values.value.endedAt).diff(values.value.startedAt);
7324
6927
  });
7325
- const duration2 = vue.computed(() => {
6928
+ const duration = vue.computed(() => {
7326
6929
  if (isNaN(diff.value))
7327
6930
  return "-";
7328
- const duration22 = DateUtil.day.duration(diff.value);
7329
- return duration22.format("HH [jam] mm [menit]");
6931
+ const duration2 = DateUtil.day.duration(diff.value);
6932
+ return duration2.format("HH [jam] mm [menit]");
7330
6933
  });
7331
6934
  function onStartedAtUpdate(date) {
7332
6935
  if (!date)
@@ -7339,7 +6942,7 @@ const _sfc_main$4 = /* @__PURE__ */ vue.defineComponent({
7339
6942
  values.value.startedAt = startedAt.toISOString();
7340
6943
  values.value.endedAt = endedAt.toISOString();
7341
6944
  }
7342
- const sekarang = dayjs(/* @__PURE__ */ new Date());
6945
+ const sekarang = DateUtil.day(/* @__PURE__ */ new Date());
7343
6946
  const besok = sekarang.add(-1, "day");
7344
6947
  vue.watch(
7345
6948
  isNew,
@@ -7457,7 +7060,7 @@ const _sfc_main$4 = /* @__PURE__ */ vue.defineComponent({
7457
7060
  vue.createElementVNode(
7458
7061
  "div",
7459
7062
  _hoisted_2$3,
7460
- vue.toDisplayString(duration2.value),
7063
+ vue.toDisplayString(duration.value),
7461
7064
  1
7462
7065
  /* TEXT */
7463
7066
  )
@@ -7511,8 +7114,8 @@ const _sfc_main$4 = /* @__PURE__ */ vue.defineComponent({
7511
7114
  };
7512
7115
  }
7513
7116
  });
7514
- const ProgressYesterday_vue_vue_type_style_index_0_scoped_e2e0ccca_lang = "";
7515
- const ProgressYesterday = /* @__PURE__ */ _export_sfc(_sfc_main$4, [["__scopeId", "data-v-e2e0ccca"]]);
7117
+ const ProgressYesterday_vue_vue_type_style_index_0_scoped_3bad8bb9_lang = "";
7118
+ const ProgressYesterday = /* @__PURE__ */ _export_sfc(_sfc_main$4, [["__scopeId", "data-v-3bad8bb9"]]);
7516
7119
  const AttendanceModel = personaliaModels.models.AttendanceModel;
7517
7120
  const _sfc_main$3 = /* @__PURE__ */ vue.defineComponent({
7518
7121
  ...{
@@ -7534,10 +7137,6 @@ const _sfc_main$3 = /* @__PURE__ */ vue.defineComponent({
7534
7137
  });
7535
7138
  const _hoisted_1$2 = { class: "grid gap-2 sm:grid-cols-2" };
7536
7139
  const _hoisted_2$2 = { class: "text-right text-fg-subdued text-sm" };
7537
- const _hoisted_3$2 = { class: "grid gap-2 sm:grid-cols-2" };
7538
- const _hoisted_4$2 = { class: "text-right text-fg-subdued text-sm" };
7539
- const _hoisted_5$2 = { class: "grid gap-2 sm:grid-cols-2" };
7540
- const _hoisted_6$2 = { class: "text-right text-fg-subdued text-sm" };
7541
7140
  const _sfc_main$2 = /* @__PURE__ */ vue.defineComponent({
7542
7141
  __name: "AttendanceSingle",
7543
7142
  setup(__props) {
@@ -7555,57 +7154,33 @@ const _sfc_main$2 = /* @__PURE__ */ vue.defineComponent({
7555
7154
  discardChanges,
7556
7155
  syncOne
7557
7156
  } = context.useSingle();
7558
- const keyHomeAt = vue.ref(0);
7559
- const diffHomeAt = vue.computed(() => {
7560
- return DateUtil.day(values.value.earlyAt).diff(values.value.homeAt);
7157
+ const key = vue.ref(0);
7158
+ const diff = vue.computed(() => {
7159
+ return DateUtil.day(values.value.endedAt).diff(values.value.startedAt);
7561
7160
  });
7562
- const durationHomeAt = vue.computed(() => {
7563
- if (isNaN(diffHomeAt.value))
7161
+ const duration = vue.computed(() => {
7162
+ if (isNaN(diff.value))
7564
7163
  return "-";
7565
- const duration2 = DateUtil.day.duration(diffHomeAt.value);
7164
+ const duration2 = DateUtil.day.duration(diff.value);
7566
7165
  return duration2.format("HH [jam] mm [menit]");
7567
7166
  });
7568
- function onHomeAtUpdate(date) {
7569
- if (!date)
7570
- return;
7571
- const earlyAt = DateUtil.day(date);
7572
- const homeAt = DateUtil.day(date);
7573
- values.value.earlyAt = earlyAt.toISOString();
7574
- values.value.homeAt = homeAt.toISOString();
7575
- }
7576
- const keyComeAt = vue.ref(0);
7577
- const diffComeAt = vue.computed(() => {
7578
- return DateUtil.day(values.value.lateAt).diff(values.value.comeAt);
7167
+ const reverseDiff = vue.computed(() => {
7168
+ return DateUtil.day(values.value.startedAt).diff(values.value.endedAt);
7579
7169
  });
7580
- const durationComeAt = vue.computed(() => {
7581
- if (isNaN(diffComeAt.value))
7170
+ vue.computed(() => {
7171
+ if (isNaN(reverseDiff.value))
7582
7172
  return "-";
7583
- const duration2 = DateUtil.day.duration(diffComeAt.value);
7584
- return duration2.format("HH [jam] mm [menit]");
7585
- });
7586
- function onComeAtUpdate(date) {
7587
- if (!date)
7588
- return;
7589
- const comeAt = DateUtil.day(date);
7590
- const lateAt = DateUtil.day(date);
7591
- values.value.comeAt = comeAt.toISOString();
7592
- values.value.lateAt = lateAt.toISOString();
7593
- }
7594
- const keyStartedAt = vue.ref(0);
7595
- const diffStartedAt = vue.computed(() => {
7596
- return DateUtil.day(values.value.endedAt).diff(values.value.startedAt);
7597
- });
7598
- const durationStartedAt = vue.computed(() => {
7599
- if (isNaN(diffStartedAt.value))
7600
- return "-";
7601
- const duration2 = DateUtil.day.duration(diffStartedAt.value);
7173
+ const duration2 = DateUtil.day.duration(reverseDiff.value);
7602
7174
  return duration2.format("HH [jam] mm [menit]");
7603
7175
  });
7604
7176
  function onStartedAtUpdate(date) {
7605
7177
  if (!date)
7606
7178
  return;
7607
- const startedAt = DateUtil.day(date);
7608
- const endedAt = DateUtil.day(date);
7179
+ const currentEndedendedAt = DateUtil.day(values.value.endedAt);
7180
+ let startedAt = DateUtil.day(date);
7181
+ let endedAt = DateUtil.day(date);
7182
+ startedAt = startedAt.second(0).millisecond(0);
7183
+ endedAt = endedAt.hour(currentEndedendedAt.hour()).minute(currentEndedendedAt.minute()).second(0).millisecond(0);
7609
7184
  values.value.startedAt = startedAt.toISOString();
7610
7185
  values.value.endedAt = endedAt.toISOString();
7611
7186
  }
@@ -7630,8 +7205,6 @@ const _sfc_main$2 = /* @__PURE__ */ vue.defineComponent({
7630
7205
  onSubmit: vue.unref(saveOne)
7631
7206
  }, {
7632
7207
  default: vue.withCtx(() => [
7633
- vue.createCommentVNode(' <NeonAlert\n icon="circle-info"\n label="Sudah ada Absensi!. "\n description="Untuk hari ini kamu sudah ada absensi yang diajukan, silahkan cari absensi yang telah diajukan dan ajukan kembali untuk pergantiannya."\n color="#F7CF6D"\n /> '),
7634
- vue.createCommentVNode(' <div class="flex flex-wrap">\n <div class="mt-2">\n <NeonField>\n <template #input>\n <NeonButton\n size="md"\n color="success"\n icon-left="up-from-line"\n @click="syncOne"\n >Ajukan</NeonButton\n >\n </template>\n </NeonField>\n </div>\n &nbsp;&nbsp;\n <div class="mt-2">\n <NeonField>\n <template #input>\n <NeonButton\n size="md"\n color="warning"\n icon-left="arrows-retweet"\n @click="syncOne"\n >Ganti</NeonButton\n >\n </template>\n </NeonField>\n </div>\n </div> '),
7635
7208
  vue.createVNode(vue.unref(form.NeonField), vue.mergeProps({
7636
7209
  modelValue: vue.unref(values).status,
7637
7210
  "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => vue.unref(values).status = $event)
@@ -7641,23 +7214,31 @@ const _sfc_main$2 = /* @__PURE__ */ vue.defineComponent({
7641
7214
  "onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => vue.isRef(values) ? values.value = $event : null),
7642
7215
  field: vue.unref(fields).submitStaff
7643
7216
  }, null, 8, ["modelValue", "field"]),
7644
- vue.createVNode(vue.unref(form.NeonField), vue.mergeProps({
7645
- modelValue: vue.unref(values).attendanceAt,
7646
- "onUpdate:modelValue": _cache[2] || (_cache[2] = ($event) => vue.unref(values).attendanceAt = $event)
7647
- }, vue.unref(fields).attendanceAt), null, 16, ["modelValue"]),
7217
+ (vue.openBlock(), vue.createBlock(vue.unref(form.NeonField), vue.mergeProps({
7218
+ key: key.value,
7219
+ "model-value": vue.unref(values).startedAt
7220
+ }, {
7221
+ handle: "startedAt",
7222
+ name: "Tanggal",
7223
+ type: "date",
7224
+ input: "date2",
7225
+ options: {
7226
+ note: "Tanggal absensi."
7227
+ }
7228
+ }, { "onUpdate:modelValue": onStartedAtUpdate }), null, 16, ["model-value"])),
7648
7229
  vue.createVNode(vue.unref(form.NeonField), vue.mergeProps({
7649
7230
  modelValue: vue.unref(values).type,
7650
- "onUpdate:modelValue": _cache[3] || (_cache[3] = ($event) => vue.unref(values).type = $event)
7231
+ "onUpdate:modelValue": _cache[2] || (_cache[2] = ($event) => vue.unref(values).type = $event)
7651
7232
  }, vue.unref(fields).type), null, 16, ["modelValue"]),
7652
7233
  vue.createVNode(vue.unref(office.OfficeRelation), {
7653
7234
  modelValue: vue.unref(values),
7654
- "onUpdate:modelValue": _cache[4] || (_cache[4] = ($event) => vue.isRef(values) ? values.value = $event : null),
7235
+ "onUpdate:modelValue": _cache[3] || (_cache[3] = ($event) => vue.isRef(values) ? values.value = $event : null),
7655
7236
  field: vue.unref(fields).decideStaff
7656
7237
  }, null, 8, ["modelValue", "field"]),
7657
7238
  vue.unref(isNew) || vue.unref(isReady) ? (vue.openBlock(), vue.createBlock(vue.unref(form.NeonField), vue.mergeProps({
7658
7239
  key: 0,
7659
7240
  modelValue: vue.unref(values).notes,
7660
- "onUpdate:modelValue": _cache[5] || (_cache[5] = ($event) => vue.unref(values).notes = $event)
7241
+ "onUpdate:modelValue": _cache[4] || (_cache[4] = ($event) => vue.unref(values).notes = $event)
7661
7242
  }, vue.unref(fields).notes), null, 16, ["modelValue"])) : vue.createCommentVNode("v-if", true),
7662
7243
  vue.createVNode(vue.unref(interfaces.NeonDivider), {
7663
7244
  "is-dashed": "",
@@ -7665,153 +7246,12 @@ const _sfc_main$2 = /* @__PURE__ */ vue.defineComponent({
7665
7246
  }),
7666
7247
  vue.createVNode(vue.unref(form.NeonField), vue.mergeProps({
7667
7248
  modelValue: vue.unref(values).submittedAt,
7668
- "onUpdate:modelValue": _cache[6] || (_cache[6] = ($event) => vue.unref(values).submittedAt = $event)
7249
+ "onUpdate:modelValue": _cache[5] || (_cache[5] = ($event) => vue.unref(values).submittedAt = $event)
7669
7250
  }, vue.unref(fields).submittedAt), null, 16, ["modelValue"]),
7670
- vue.createCommentVNode(" EARLY GO HOME "),
7671
- (vue.openBlock(), vue.createBlock(vue.unref(form.NeonField), vue.mergeProps({
7672
- key: keyHomeAt.value,
7673
- "model-value": vue.unref(values).homeAt
7674
- }, {
7675
- handle: "homeAt",
7676
- name: "Tanggal",
7677
- type: "date",
7678
- input: "date2",
7679
- options: {
7680
- note: "Tanggal absensi."
7681
- }
7682
- }, { "onUpdate:modelValue": onHomeAtUpdate }), null, 16, ["model-value"])),
7683
7251
  vue.createElementVNode("div", _hoisted_1$2, [
7684
- vue.createVNode(vue.unref(form.NeonField), vue.mergeProps({
7685
- modelValue: vue.unref(values).homeAt,
7686
- "onUpdate:modelValue": _cache[8] || (_cache[8] = ($event) => vue.unref(values).homeAt = $event)
7687
- }, {
7688
- handle: "homeAt",
7689
- name: "Jam Pulang Kerja",
7690
- options: {
7691
- note: "Jam pulang kerja."
7692
- }
7693
- }), {
7694
- input: vue.withCtx(() => [
7695
- vue.createVNode(vue.unref(NeonTime), {
7696
- modelValue: vue.unref(values).homeAt,
7697
- "onUpdate:modelValue": _cache[7] || (_cache[7] = ($event) => vue.unref(values).homeAt = $event),
7698
- "is-loading": vue.unref(isLoading),
7699
- class: "mt-2"
7700
- }, null, 8, ["modelValue", "is-loading"])
7701
- ]),
7702
- _: 1
7703
- /* STABLE */
7704
- }, 16, ["modelValue"]),
7705
- vue.createVNode(vue.unref(form.NeonField), vue.mergeProps({
7706
- modelValue: vue.unref(values).earlyAt,
7707
- "onUpdate:modelValue": _cache[10] || (_cache[10] = ($event) => vue.unref(values).earlyAt = $event)
7708
- }, {
7709
- handle: "earlyAt",
7710
- name: "Jam Pulang Lebih Awal",
7711
- options: {
7712
- note: "Jam pulang lebih awal."
7713
- }
7714
- }), {
7715
- input: vue.withCtx(() => [
7716
- vue.createVNode(vue.unref(NeonTime), {
7717
- modelValue: vue.unref(values).earlyAt,
7718
- "onUpdate:modelValue": _cache[9] || (_cache[9] = ($event) => vue.unref(values).earlyAt = $event),
7719
- "is-loading": vue.unref(isLoading),
7720
- class: "mt-2"
7721
- }, null, 8, ["modelValue", "is-loading"]),
7722
- vue.createElementVNode(
7723
- "div",
7724
- _hoisted_2$2,
7725
- vue.toDisplayString(durationHomeAt.value),
7726
- 1
7727
- /* TEXT */
7728
- )
7729
- ]),
7730
- _: 1
7731
- /* STABLE */
7732
- }, 16, ["modelValue"])
7733
- ]),
7734
- vue.createCommentVNode(" COME TOO LATE "),
7735
- (vue.openBlock(), vue.createBlock(vue.unref(form.NeonField), vue.mergeProps({
7736
- key: keyComeAt.value,
7737
- "model-value": vue.unref(values).comeAt
7738
- }, {
7739
- handle: "comeAt",
7740
- name: "Tanggal",
7741
- type: "date",
7742
- input: "date2",
7743
- options: {
7744
- note: "Tanggal absensi."
7745
- }
7746
- }, { "onUpdate:modelValue": onComeAtUpdate }), null, 16, ["model-value"])),
7747
- vue.createElementVNode("div", _hoisted_3$2, [
7748
- vue.createVNode(vue.unref(form.NeonField), vue.mergeProps({
7749
- modelValue: vue.unref(values).comeAt,
7750
- "onUpdate:modelValue": _cache[12] || (_cache[12] = ($event) => vue.unref(values).comeAt = $event)
7751
- }, {
7752
- handle: "comeAt",
7753
- name: "Jam Datang",
7754
- options: {
7755
- note: "Jam Datang kerja."
7756
- }
7757
- }), {
7758
- input: vue.withCtx(() => [
7759
- vue.createVNode(vue.unref(NeonTime), {
7760
- modelValue: vue.unref(values).comeAt,
7761
- "onUpdate:modelValue": _cache[11] || (_cache[11] = ($event) => vue.unref(values).comeAt = $event),
7762
- "is-loading": vue.unref(isLoading),
7763
- class: "mt-2"
7764
- }, null, 8, ["modelValue", "is-loading"])
7765
- ]),
7766
- _: 1
7767
- /* STABLE */
7768
- }, 16, ["modelValue"]),
7769
- vue.createVNode(vue.unref(form.NeonField), vue.mergeProps({
7770
- modelValue: vue.unref(values).lateAt,
7771
- "onUpdate:modelValue": _cache[14] || (_cache[14] = ($event) => vue.unref(values).lateAt = $event)
7772
- }, {
7773
- handle: "lateAt",
7774
- name: "Jam Datang Terlambat",
7775
- options: {
7776
- note: "Jam datang terlambat."
7777
- }
7778
- }), {
7779
- input: vue.withCtx(() => [
7780
- vue.createVNode(vue.unref(NeonTime), {
7781
- modelValue: vue.unref(values).lateAt,
7782
- "onUpdate:modelValue": _cache[13] || (_cache[13] = ($event) => vue.unref(values).lateAt = $event),
7783
- "is-loading": vue.unref(isLoading),
7784
- class: "mt-2"
7785
- }, null, 8, ["modelValue", "is-loading"]),
7786
- vue.createElementVNode(
7787
- "div",
7788
- _hoisted_4$2,
7789
- vue.toDisplayString(durationComeAt.value),
7790
- 1
7791
- /* TEXT */
7792
- )
7793
- ]),
7794
- _: 1
7795
- /* STABLE */
7796
- }, 16, ["modelValue"])
7797
- ]),
7798
- vue.createCommentVNode(" TIMEOUT "),
7799
- (vue.openBlock(), vue.createBlock(vue.unref(form.NeonField), vue.mergeProps({
7800
- key: keyStartedAt.value,
7801
- "model-value": vue.unref(values).startedAt
7802
- }, {
7803
- handle: "startedAt",
7804
- name: "Tanggal",
7805
- type: "date",
7806
- input: "date2",
7807
- options: {
7808
- note: "Tanggal absensi."
7809
- }
7810
- }, { "onUpdate:modelValue": onStartedAtUpdate }), null, 16, ["model-value"])),
7811
- vue.createElementVNode("div", _hoisted_5$2, [
7812
7252
  vue.createVNode(vue.unref(form.NeonField), vue.mergeProps({
7813
7253
  modelValue: vue.unref(values).startedAt,
7814
- "onUpdate:modelValue": _cache[16] || (_cache[16] = ($event) => vue.unref(values).startedAt = $event)
7254
+ "onUpdate:modelValue": _cache[7] || (_cache[7] = ($event) => vue.unref(values).startedAt = $event)
7815
7255
  }, {
7816
7256
  handle: "startedAt",
7817
7257
  name: "Mulai",
@@ -7822,7 +7262,7 @@ const _sfc_main$2 = /* @__PURE__ */ vue.defineComponent({
7822
7262
  input: vue.withCtx(() => [
7823
7263
  vue.createVNode(vue.unref(NeonTime), {
7824
7264
  modelValue: vue.unref(values).startedAt,
7825
- "onUpdate:modelValue": _cache[15] || (_cache[15] = ($event) => vue.unref(values).startedAt = $event),
7265
+ "onUpdate:modelValue": _cache[6] || (_cache[6] = ($event) => vue.unref(values).startedAt = $event),
7826
7266
  "is-loading": vue.unref(isLoading),
7827
7267
  class: "mt-2"
7828
7268
  }, null, 8, ["modelValue", "is-loading"])
@@ -7832,7 +7272,7 @@ const _sfc_main$2 = /* @__PURE__ */ vue.defineComponent({
7832
7272
  }, 16, ["modelValue"]),
7833
7273
  vue.createVNode(vue.unref(form.NeonField), vue.mergeProps({
7834
7274
  modelValue: vue.unref(values).endedAt,
7835
- "onUpdate:modelValue": _cache[18] || (_cache[18] = ($event) => vue.unref(values).endedAt = $event)
7275
+ "onUpdate:modelValue": _cache[9] || (_cache[9] = ($event) => vue.unref(values).endedAt = $event)
7836
7276
  }, {
7837
7277
  handle: "endedAt",
7838
7278
  name: "Selesai",
@@ -7843,14 +7283,14 @@ const _sfc_main$2 = /* @__PURE__ */ vue.defineComponent({
7843
7283
  input: vue.withCtx(() => [
7844
7284
  vue.createVNode(vue.unref(NeonTime), {
7845
7285
  modelValue: vue.unref(values).endedAt,
7846
- "onUpdate:modelValue": _cache[17] || (_cache[17] = ($event) => vue.unref(values).endedAt = $event),
7286
+ "onUpdate:modelValue": _cache[8] || (_cache[8] = ($event) => vue.unref(values).endedAt = $event),
7847
7287
  "is-loading": vue.unref(isLoading),
7848
7288
  class: "mt-2"
7849
7289
  }, null, 8, ["modelValue", "is-loading"]),
7850
7290
  vue.createElementVNode(
7851
7291
  "div",
7852
- _hoisted_6$2,
7853
- vue.toDisplayString(durationStartedAt.value),
7292
+ _hoisted_2$2,
7293
+ vue.toDisplayString(duration.value),
7854
7294
  1
7855
7295
  /* TEXT */
7856
7296
  )
@@ -7878,26 +7318,26 @@ const _sfc_main$2 = /* @__PURE__ */ vue.defineComponent({
7878
7318
  };
7879
7319
  }
7880
7320
  });
7881
- const AttendanceSingle_vue_vue_type_style_index_0_scoped_f2d3d252_lang = "";
7882
- const AttendanceSingle = /* @__PURE__ */ _export_sfc(_sfc_main$2, [["__scopeId", "data-v-f2d3d252"]]);
7321
+ const AttendanceSingle_vue_vue_type_style_index_0_scoped_0c3c6187_lang = "";
7322
+ const AttendanceSingle = /* @__PURE__ */ _export_sfc(_sfc_main$2, [["__scopeId", "data-v-0c3c6187"]]);
7883
7323
  const _hoisted_1$1 = {
7884
- key: 0,
7324
+ key: 1,
7885
7325
  class: "flex flex-wrap"
7886
7326
  };
7887
7327
  const _hoisted_2$1 = { class: "mt-2" };
7888
7328
  const _hoisted_3$1 = { class: "mt-2" };
7889
7329
  const _hoisted_4$1 = {
7890
- key: 8,
7330
+ key: 5,
7891
7331
  class: "grid gap-2 sm:grid-cols-2"
7892
7332
  };
7893
7333
  const _hoisted_5$1 = { class: "text-right text-fg-subdued text-sm" };
7894
7334
  const _hoisted_6$1 = {
7895
- key: 9,
7335
+ key: 6,
7896
7336
  class: "grid gap-2 sm:grid-cols-2"
7897
7337
  };
7898
7338
  const _hoisted_7$1 = { class: "text-right text-fg-subdued text-sm" };
7899
7339
  const _hoisted_8$1 = {
7900
- key: 10,
7340
+ key: 7,
7901
7341
  class: "grid gap-2 sm:grid-cols-2"
7902
7342
  };
7903
7343
  const _hoisted_9$1 = { class: "text-right text-fg-subdued text-sm" };
@@ -7920,62 +7360,27 @@ const _sfc_main$1 = /* @__PURE__ */ vue.defineComponent({
7920
7360
  syncOne,
7921
7361
  executeOne
7922
7362
  } = context.useSingle();
7923
- const keyHomeAt = vue.ref(0);
7924
- const diffHomeAt = vue.computed(() => {
7925
- return DateUtil.day(values.value.earlyAt).diff(values.value.homeAt);
7926
- });
7927
- const durationHomeAt = vue.computed(() => {
7928
- if (isNaN(diffHomeAt.value))
7929
- return "-";
7930
- const duration2 = DateUtil.day.duration(diffHomeAt.value);
7931
- return duration2.format("HH [jam] mm [menit]");
7932
- });
7933
- function onHomeAtUpdate(date) {
7934
- if (!date)
7935
- return;
7936
- const earlyAt = DateUtil.day(date);
7937
- const homeAt = DateUtil.day(date);
7938
- values.value.earlyAt = earlyAt.toISOString();
7939
- values.value.homeAt = homeAt.toISOString();
7940
- values.value.attendanceAt = earlyAt.toISOString();
7941
- }
7942
- const keyComeAt = vue.ref(0);
7943
- const diffComeAt = vue.computed(() => {
7944
- return DateUtil.day(values.value.lateAt).diff(values.value.comeAt);
7945
- });
7946
- const durationComeAt = vue.computed(() => {
7947
- if (isNaN(diffComeAt.value))
7948
- return "-";
7949
- const duration2 = DateUtil.day.duration(diffComeAt.value);
7950
- return duration2.format("HH [jam] mm [menit]");
7951
- });
7952
- function onComeAtUpdate(date) {
7953
- if (!date)
7954
- return;
7955
- const comeAt = DateUtil.day(date);
7956
- const lateAt = DateUtil.day(date);
7957
- values.value.comeAt = comeAt.toISOString();
7958
- values.value.lateAt = lateAt.toISOString();
7959
- values.value.attendanceAt = comeAt.toISOString();
7960
- }
7961
- const keyStartedAt = vue.ref(0);
7962
- const diffStartedAt = vue.computed(() => {
7363
+ const key = vue.ref(0);
7364
+ const diff = vue.computed(() => {
7963
7365
  return DateUtil.day(values.value.endedAt).diff(values.value.startedAt);
7964
7366
  });
7965
- const durationStartedAt = vue.computed(() => {
7966
- if (isNaN(diffStartedAt.value))
7367
+ const duration = vue.computed(() => {
7368
+ if (isNaN(diff.value))
7967
7369
  return "-";
7968
- const duration2 = DateUtil.day.duration(diffStartedAt.value);
7370
+ const duration2 = DateUtil.day.duration(diff.value);
7969
7371
  return duration2.format("HH [jam] mm [menit]");
7970
7372
  });
7971
7373
  function onStartedAtUpdate(date) {
7972
7374
  if (!date)
7973
7375
  return;
7974
- const startedAt = DateUtil.day(date);
7975
- const endedAt = DateUtil.day(date);
7376
+ const currentEndedendedAt = DateUtil.day(values.value.endedAt);
7377
+ let startedAt = DateUtil.day(date);
7378
+ let endedAt = DateUtil.day(date);
7379
+ startedAt = startedAt.second(0).millisecond(0);
7380
+ endedAt = endedAt.hour(currentEndedendedAt.hour()).minute(currentEndedendedAt.minute()).second(0).millisecond(0);
7976
7381
  values.value.startedAt = startedAt.toISOString();
7977
7382
  values.value.endedAt = endedAt.toISOString();
7978
- values.value.attendanceAt = startedAt.toISOString();
7383
+ conflictAtt.value = false;
7979
7384
  }
7980
7385
  const { staff } = useOperasional();
7981
7386
  const staffId = ((_a = staff.value) == null ? void 0 : _a.id) || "";
@@ -7999,6 +7404,26 @@ const _sfc_main$1 = /* @__PURE__ */ vue.defineComponent({
7999
7404
  await executeOne("changeAttendance", { attendanceId: id.value });
8000
7405
  await syncOne();
8001
7406
  };
7407
+ const conflictAtt = vue.ref(false);
7408
+ async function conflictAttendance() {
7409
+ var _a2;
7410
+ const resp = await executeOne("checkAttendance", {
7411
+ staffId: (_a2 = staff.value) == null ? void 0 : _a2.id,
7412
+ startedAt: values.value.startedAt
7413
+ });
7414
+ const countAtt = resp.data.executeAttendance.output.countAttendance;
7415
+ if (values.value.startedAt) {
7416
+ if (countAtt > 1) {
7417
+ conflictAtt.value = true;
7418
+ } else {
7419
+ await submitAbsensi();
7420
+ await syncOne();
7421
+ conflictAtt.value = false;
7422
+ }
7423
+ } else {
7424
+ conflictAtt.value = true;
7425
+ }
7426
+ }
8002
7427
  return (_ctx, _cache) => {
8003
7428
  return vue.openBlock(), vue.createBlock(vue.unref(context.NeonSingle), { class: "neu-attendance-single" }, {
8004
7429
  default: vue.withCtx(() => [
@@ -8020,8 +7445,14 @@ const _sfc_main$1 = /* @__PURE__ */ vue.defineComponent({
8020
7445
  onSubmit: vue.unref(saveOne)
8021
7446
  }, {
8022
7447
  default: vue.withCtx(() => [
8023
- vue.createCommentVNode(' <NeonAlert\n icon="circle-info"\n label="Sudah ada Absensi!. "\n description="Untuk hari ini kamu sudah ada absensi yang diajukan, silahkan cari absensi yang telah diajukan dan ajukan kembali untuk pergantiannya."\n color="#F7CF6D"\n /> '),
8024
- !vue.unref(isNew) ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$1, [
7448
+ conflictAtt.value == true ? (vue.openBlock(), vue.createBlock(vue.unref(interfaces.NeonAlert), {
7449
+ key: 0,
7450
+ icon: "circle-info",
7451
+ label: "Sudah ada Absensi!. ",
7452
+ description: "Untuk hari ini kamu sudah ada absensi yang diajukan, silahkan cari absensi yang telah diajukan dan ajukan kembali untuk pergantiannya.",
7453
+ color: "#F7CF6D"
7454
+ })) : vue.createCommentVNode("v-if", true),
7455
+ !vue.unref(isNew) && conflictAtt.value == false ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$1, [
8025
7456
  vue.createElementVNode("div", _hoisted_2$1, [
8026
7457
  vue.createVNode(vue.unref(form.NeonField), null, {
8027
7458
  input: vue.withCtx(() => [
@@ -8030,7 +7461,7 @@ const _sfc_main$1 = /* @__PURE__ */ vue.defineComponent({
8030
7461
  color: "success",
8031
7462
  "icon-left": "up-from-line",
8032
7463
  "is-disabled": vue.unref(values).status == "notApproved" || vue.unref(values).status == "approved",
8033
- onClick: submitAbsensi
7464
+ onClick: conflictAttendance
8034
7465
  }, {
8035
7466
  default: vue.withCtx(() => [
8036
7467
  vue.createTextVNode("Ajukan")
@@ -8051,7 +7482,7 @@ const _sfc_main$1 = /* @__PURE__ */ vue.defineComponent({
8051
7482
  size: "md",
8052
7483
  color: "warning",
8053
7484
  "icon-left": "arrows-retweet",
8054
- "is-disabled": vue.unref(values).status == "approved" || vue.unref(values).status == "draft",
7485
+ "is-disabled": vue.unref(values).status == "notApproved" || vue.unref(values).status == "draft",
8055
7486
  onClick: changeAbsensi
8056
7487
  }, {
8057
7488
  default: vue.withCtx(() => [
@@ -8072,32 +7503,8 @@ const _sfc_main$1 = /* @__PURE__ */ vue.defineComponent({
8072
7503
  field: vue.unref(fields).submitStaff,
8073
7504
  "is-disabled": ""
8074
7505
  }, null, 8, ["modelValue", "field"]),
8075
- vue.unref(values).type == null || 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({
8076
- key: 1,
8077
- modelValue: vue.unref(values).attendanceAt,
8078
- "onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => vue.unref(values).attendanceAt = $event)
8079
- }, vue.unref(fields).attendanceAt, {
8080
- "is-disabled": vue.unref(values).status == "notApproved" || vue.unref(values).status == "approved"
8081
- }), null, 16, ["modelValue", "is-disabled"])) : vue.createCommentVNode("v-if", true),
8082
- vue.createCommentVNode(" EARLY GO HOME "),
8083
- vue.unref(values).type == "homeEarly" ? (vue.openBlock(), vue.createBlock(vue.unref(form.NeonField), vue.mergeProps({
8084
- key: keyHomeAt.value,
8085
- "model-value": vue.unref(values).homeAt
8086
- }, {
8087
- handle: "homeAt",
8088
- name: "Tanggal",
8089
- type: "date",
8090
- input: "date2",
8091
- options: {
8092
- note: "Tanggal absensi."
8093
- }
8094
- }, {
8095
- "is-disabled": vue.unref(values).status == "notApproved" || vue.unref(values).status == "approved",
8096
- "onUpdate:modelValue": onHomeAtUpdate
8097
- }), null, 16, ["model-value", "is-disabled"])) : vue.createCommentVNode("v-if", true),
8098
- vue.createCommentVNode(" TIMEOUT "),
8099
- vue.unref(values).type == "timeout" ? (vue.openBlock(), vue.createBlock(vue.unref(form.NeonField), vue.mergeProps({
8100
- key: keyStartedAt.value,
7506
+ (vue.openBlock(), vue.createBlock(vue.unref(form.NeonField), vue.mergeProps({
7507
+ key: key.value,
8101
7508
  "model-value": vue.unref(values).startedAt
8102
7509
  }, {
8103
7510
  handle: "startedAt",
@@ -8110,57 +7517,41 @@ const _sfc_main$1 = /* @__PURE__ */ vue.defineComponent({
8110
7517
  }, {
8111
7518
  "is-disabled": vue.unref(values).status == "notApproved" || vue.unref(values).status == "approved",
8112
7519
  "onUpdate:modelValue": onStartedAtUpdate
8113
- }), null, 16, ["model-value", "is-disabled"])) : vue.createCommentVNode("v-if", true),
8114
- vue.createCommentVNode(" COME TOO LATE "),
8115
- vue.unref(values).type == "comeLate" ? (vue.openBlock(), vue.createBlock(vue.unref(form.NeonField), vue.mergeProps({
8116
- key: keyComeAt.value,
8117
- "model-value": vue.unref(values).comeAt
8118
- }, {
8119
- handle: "comeAt",
8120
- name: "Tanggal",
8121
- type: "date",
8122
- input: "date2",
8123
- options: {
8124
- note: "Tanggal absensi."
8125
- }
8126
- }, {
8127
- "is-disabled": vue.unref(values).status == "notApproved" || vue.unref(values).status == "approved",
8128
- "onUpdate:modelValue": onComeAtUpdate
8129
- }), null, 16, ["model-value", "is-disabled"])) : vue.createCommentVNode("v-if", true),
7520
+ }), null, 16, ["model-value", "is-disabled"])),
8130
7521
  vue.createVNode(vue.unref(form.NeonField), vue.mergeProps({
8131
7522
  modelValue: vue.unref(values).type,
8132
- "onUpdate:modelValue": _cache[2] || (_cache[2] = ($event) => vue.unref(values).type = $event)
7523
+ "onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => vue.unref(values).type = $event)
8133
7524
  }, vue.unref(fields).type, {
8134
7525
  "is-disabled": vue.unref(values).status == "notApproved" || vue.unref(values).status == "approved"
8135
7526
  }), null, 16, ["modelValue", "is-disabled"]),
8136
7527
  vue.createVNode(vue.unref(office.OfficeRelation), {
8137
7528
  modelValue: vue.unref(values),
8138
- "onUpdate:modelValue": _cache[3] || (_cache[3] = ($event) => vue.isRef(values) ? values.value = $event : null),
7529
+ "onUpdate:modelValue": _cache[2] || (_cache[2] = ($event) => vue.isRef(values) ? values.value = $event : null),
8139
7530
  field: vue.unref(fields).decideStaff,
8140
7531
  "is-disabled": vue.unref(values).status == "notApproved" || vue.unref(values).status == "approved"
8141
7532
  }, null, 8, ["modelValue", "field", "is-disabled"]),
8142
7533
  vue.unref(isNew) || vue.unref(isReady) ? (vue.openBlock(), vue.createBlock(vue.unref(form.NeonField), vue.mergeProps({
8143
- key: 5,
7534
+ key: 2,
8144
7535
  modelValue: vue.unref(values).notes,
8145
- "onUpdate:modelValue": _cache[4] || (_cache[4] = ($event) => vue.unref(values).notes = $event)
7536
+ "onUpdate:modelValue": _cache[3] || (_cache[3] = ($event) => vue.unref(values).notes = $event)
8146
7537
  }, vue.unref(fields).notes), null, 16, ["modelValue"])) : vue.createCommentVNode("v-if", true),
8147
7538
  vue.unref(values).type ? (vue.openBlock(), vue.createBlock(vue.unref(interfaces.NeonDivider), {
8148
- key: 6,
7539
+ key: 3,
8149
7540
  "is-dashed": "",
8150
7541
  label: "Keterangan"
8151
7542
  })) : vue.createCommentVNode("v-if", true),
8152
7543
  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({
8153
- key: 7,
7544
+ key: 4,
8154
7545
  modelValue: vue.unref(values).submittedAt,
8155
- "onUpdate:modelValue": _cache[5] || (_cache[5] = ($event) => vue.unref(values).submittedAt = $event)
7546
+ "onUpdate:modelValue": _cache[4] || (_cache[4] = ($event) => vue.unref(values).submittedAt = $event)
8156
7547
  }, vue.unref(fields).submittedAt, { "is-disabled": "" }), null, 16, ["modelValue"])) : vue.createCommentVNode("v-if", true),
8157
7548
  vue.createCommentVNode(" EARLY GO HOME "),
8158
7549
  vue.unref(values).type == "homeEarly" ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_4$1, [
8159
7550
  vue.createVNode(vue.unref(form.NeonField), vue.mergeProps({
8160
- modelValue: vue.unref(values).homeAt,
8161
- "onUpdate:modelValue": _cache[7] || (_cache[7] = ($event) => vue.unref(values).homeAt = $event)
7551
+ modelValue: vue.unref(values).startedAt,
7552
+ "onUpdate:modelValue": _cache[6] || (_cache[6] = ($event) => vue.unref(values).startedAt = $event)
8162
7553
  }, {
8163
- handle: "homeAt",
7554
+ handle: "startedAt",
8164
7555
  name: "Jam Pulang Kerja",
8165
7556
  options: {
8166
7557
  note: "Jam pulang kerja."
@@ -8168,8 +7559,8 @@ const _sfc_main$1 = /* @__PURE__ */ vue.defineComponent({
8168
7559
  }), {
8169
7560
  input: vue.withCtx(() => [
8170
7561
  vue.createVNode(vue.unref(NeonTime), {
8171
- modelValue: vue.unref(values).homeAt,
8172
- "onUpdate:modelValue": _cache[6] || (_cache[6] = ($event) => vue.unref(values).homeAt = $event),
7562
+ modelValue: vue.unref(values).startedAt,
7563
+ "onUpdate:modelValue": _cache[5] || (_cache[5] = ($event) => vue.unref(values).startedAt = $event),
8173
7564
  "is-loading": vue.unref(isLoading),
8174
7565
  class: "mt-2"
8175
7566
  }, null, 8, ["modelValue", "is-loading"])
@@ -8178,10 +7569,10 @@ const _sfc_main$1 = /* @__PURE__ */ vue.defineComponent({
8178
7569
  /* STABLE */
8179
7570
  }, 16, ["modelValue"]),
8180
7571
  vue.createVNode(vue.unref(form.NeonField), vue.mergeProps({
8181
- modelValue: vue.unref(values).earlyAt,
8182
- "onUpdate:modelValue": _cache[9] || (_cache[9] = ($event) => vue.unref(values).earlyAt = $event)
7572
+ modelValue: vue.unref(values).endedAt,
7573
+ "onUpdate:modelValue": _cache[8] || (_cache[8] = ($event) => vue.unref(values).endedAt = $event)
8183
7574
  }, {
8184
- handle: "earlyAt",
7575
+ handle: "endedAt",
8185
7576
  name: "Jam Pulang Lebih Awal",
8186
7577
  options: {
8187
7578
  note: "Jam pulang lebih awal."
@@ -8189,15 +7580,15 @@ const _sfc_main$1 = /* @__PURE__ */ vue.defineComponent({
8189
7580
  }), {
8190
7581
  input: vue.withCtx(() => [
8191
7582
  vue.createVNode(vue.unref(NeonTime), {
8192
- modelValue: vue.unref(values).earlyAt,
8193
- "onUpdate:modelValue": _cache[8] || (_cache[8] = ($event) => vue.unref(values).earlyAt = $event),
7583
+ modelValue: vue.unref(values).endedAt,
7584
+ "onUpdate:modelValue": _cache[7] || (_cache[7] = ($event) => vue.unref(values).endedAt = $event),
8194
7585
  "is-loading": vue.unref(isLoading),
8195
7586
  class: "mt-2"
8196
7587
  }, null, 8, ["modelValue", "is-loading"]),
8197
7588
  vue.createElementVNode(
8198
7589
  "div",
8199
7590
  _hoisted_5$1,
8200
- vue.toDisplayString(durationHomeAt.value),
7591
+ vue.toDisplayString(duration.value),
8201
7592
  1
8202
7593
  /* TEXT */
8203
7594
  )
@@ -8209,10 +7600,10 @@ const _sfc_main$1 = /* @__PURE__ */ vue.defineComponent({
8209
7600
  vue.createCommentVNode(" COME TOO LATE "),
8210
7601
  vue.unref(values).type == "comeLate" ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_6$1, [
8211
7602
  vue.createVNode(vue.unref(form.NeonField), vue.mergeProps({
8212
- modelValue: vue.unref(values).comeAt,
8213
- "onUpdate:modelValue": _cache[11] || (_cache[11] = ($event) => vue.unref(values).comeAt = $event)
7603
+ modelValue: vue.unref(values).startedAt,
7604
+ "onUpdate:modelValue": _cache[10] || (_cache[10] = ($event) => vue.unref(values).startedAt = $event)
8214
7605
  }, {
8215
- handle: "comeAt",
7606
+ handle: "startedAt",
8216
7607
  name: "Jam Datang",
8217
7608
  options: {
8218
7609
  note: "Jam Datang kerja."
@@ -8220,8 +7611,8 @@ const _sfc_main$1 = /* @__PURE__ */ vue.defineComponent({
8220
7611
  }), {
8221
7612
  input: vue.withCtx(() => [
8222
7613
  vue.createVNode(vue.unref(NeonTime), {
8223
- modelValue: vue.unref(values).comeAt,
8224
- "onUpdate:modelValue": _cache[10] || (_cache[10] = ($event) => vue.unref(values).comeAt = $event),
7614
+ modelValue: vue.unref(values).startedAt,
7615
+ "onUpdate:modelValue": _cache[9] || (_cache[9] = ($event) => vue.unref(values).startedAt = $event),
8225
7616
  "is-loading": vue.unref(isLoading),
8226
7617
  class: "mt-2"
8227
7618
  }, null, 8, ["modelValue", "is-loading"])
@@ -8230,10 +7621,10 @@ const _sfc_main$1 = /* @__PURE__ */ vue.defineComponent({
8230
7621
  /* STABLE */
8231
7622
  }, 16, ["modelValue"]),
8232
7623
  vue.createVNode(vue.unref(form.NeonField), vue.mergeProps({
8233
- modelValue: vue.unref(values).lateAt,
8234
- "onUpdate:modelValue": _cache[13] || (_cache[13] = ($event) => vue.unref(values).lateAt = $event)
7624
+ modelValue: vue.unref(values).endedAt,
7625
+ "onUpdate:modelValue": _cache[12] || (_cache[12] = ($event) => vue.unref(values).endedAt = $event)
8235
7626
  }, {
8236
- handle: "lateAt",
7627
+ handle: "endedAt",
8237
7628
  name: "Jam Datang Terlambat",
8238
7629
  options: {
8239
7630
  note: "Jam datang terlambat."
@@ -8241,15 +7632,15 @@ const _sfc_main$1 = /* @__PURE__ */ vue.defineComponent({
8241
7632
  }), {
8242
7633
  input: vue.withCtx(() => [
8243
7634
  vue.createVNode(vue.unref(NeonTime), {
8244
- modelValue: vue.unref(values).lateAt,
8245
- "onUpdate:modelValue": _cache[12] || (_cache[12] = ($event) => vue.unref(values).lateAt = $event),
7635
+ modelValue: vue.unref(values).endedAt,
7636
+ "onUpdate:modelValue": _cache[11] || (_cache[11] = ($event) => vue.unref(values).endedAt = $event),
8246
7637
  "is-loading": vue.unref(isLoading),
8247
7638
  class: "mt-2"
8248
7639
  }, null, 8, ["modelValue", "is-loading"]),
8249
7640
  vue.createElementVNode(
8250
7641
  "div",
8251
7642
  _hoisted_7$1,
8252
- vue.toDisplayString(durationComeAt.value),
7643
+ vue.toDisplayString(duration.value),
8253
7644
  1
8254
7645
  /* TEXT */
8255
7646
  )
@@ -8262,7 +7653,7 @@ const _sfc_main$1 = /* @__PURE__ */ vue.defineComponent({
8262
7653
  vue.unref(values).type == "timeout" ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_8$1, [
8263
7654
  vue.createVNode(vue.unref(form.NeonField), vue.mergeProps({
8264
7655
  modelValue: vue.unref(values).startedAt,
8265
- "onUpdate:modelValue": _cache[15] || (_cache[15] = ($event) => vue.unref(values).startedAt = $event)
7656
+ "onUpdate:modelValue": _cache[14] || (_cache[14] = ($event) => vue.unref(values).startedAt = $event)
8266
7657
  }, {
8267
7658
  handle: "startedAt",
8268
7659
  name: "Mulai",
@@ -8273,7 +7664,7 @@ const _sfc_main$1 = /* @__PURE__ */ vue.defineComponent({
8273
7664
  input: vue.withCtx(() => [
8274
7665
  vue.createVNode(vue.unref(NeonTime), {
8275
7666
  modelValue: vue.unref(values).startedAt,
8276
- "onUpdate:modelValue": _cache[14] || (_cache[14] = ($event) => vue.unref(values).startedAt = $event),
7667
+ "onUpdate:modelValue": _cache[13] || (_cache[13] = ($event) => vue.unref(values).startedAt = $event),
8277
7668
  "is-loading": vue.unref(isLoading),
8278
7669
  class: "mt-2"
8279
7670
  }, null, 8, ["modelValue", "is-loading"])
@@ -8283,7 +7674,7 @@ const _sfc_main$1 = /* @__PURE__ */ vue.defineComponent({
8283
7674
  }, 16, ["modelValue"]),
8284
7675
  vue.createVNode(vue.unref(form.NeonField), vue.mergeProps({
8285
7676
  modelValue: vue.unref(values).endedAt,
8286
- "onUpdate:modelValue": _cache[17] || (_cache[17] = ($event) => vue.unref(values).endedAt = $event)
7677
+ "onUpdate:modelValue": _cache[16] || (_cache[16] = ($event) => vue.unref(values).endedAt = $event)
8287
7678
  }, {
8288
7679
  handle: "endedAt",
8289
7680
  name: "Selesai",
@@ -8294,14 +7685,14 @@ const _sfc_main$1 = /* @__PURE__ */ vue.defineComponent({
8294
7685
  input: vue.withCtx(() => [
8295
7686
  vue.createVNode(vue.unref(NeonTime), {
8296
7687
  modelValue: vue.unref(values).endedAt,
8297
- "onUpdate:modelValue": _cache[16] || (_cache[16] = ($event) => vue.unref(values).endedAt = $event),
7688
+ "onUpdate:modelValue": _cache[15] || (_cache[15] = ($event) => vue.unref(values).endedAt = $event),
8298
7689
  "is-loading": vue.unref(isLoading),
8299
7690
  class: "mt-2"
8300
7691
  }, null, 8, ["modelValue", "is-loading"]),
8301
7692
  vue.createElementVNode(
8302
7693
  "div",
8303
7694
  _hoisted_9$1,
8304
- vue.toDisplayString(durationStartedAt.value),
7695
+ vue.toDisplayString(duration.value),
8305
7696
  1
8306
7697
  /* TEXT */
8307
7698
  )
@@ -8329,23 +7720,23 @@ const _sfc_main$1 = /* @__PURE__ */ vue.defineComponent({
8329
7720
  };
8330
7721
  }
8331
7722
  });
8332
- const AttendanceStaff_vue_vue_type_style_index_0_scoped_922e86d6_lang = "";
8333
- const AttendanceStaff = /* @__PURE__ */ _export_sfc(_sfc_main$1, [["__scopeId", "data-v-922e86d6"]]);
7723
+ const AttendanceStaff_vue_vue_type_style_index_0_scoped_724535b0_lang = "";
7724
+ const AttendanceStaff = /* @__PURE__ */ _export_sfc(_sfc_main$1, [["__scopeId", "data-v-724535b0"]]);
8334
7725
  const _hoisted_1 = { class: "flex flex-wrap" };
8335
7726
  const _hoisted_2 = { class: "mt-2" };
8336
7727
  const _hoisted_3 = { class: "mt-2" };
8337
7728
  const _hoisted_4 = {
8338
- key: 7,
7729
+ key: 3,
8339
7730
  class: "grid gap-2 sm:grid-cols-2"
8340
7731
  };
8341
7732
  const _hoisted_5 = { class: "text-right text-fg-subdued text-sm" };
8342
7733
  const _hoisted_6 = {
8343
- key: 8,
7734
+ key: 4,
8344
7735
  class: "grid gap-2 sm:grid-cols-2"
8345
7736
  };
8346
7737
  const _hoisted_7 = { class: "text-right text-fg-subdued text-sm" };
8347
7738
  const _hoisted_8 = {
8348
- key: 9,
7739
+ key: 5,
8349
7740
  class: "grid gap-2 sm:grid-cols-2"
8350
7741
  };
8351
7742
  const _hoisted_9 = { class: "text-right text-fg-subdued text-sm" };
@@ -8368,57 +7759,33 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
8368
7759
  syncOne,
8369
7760
  executeOne
8370
7761
  } = context.useSingle();
8371
- const keyHomeAt = vue.ref(0);
8372
- const diffHomeAt = vue.computed(() => {
8373
- return DateUtil.day(values.value.earlyAt).diff(values.value.homeAt);
8374
- });
8375
- const durationHomeAt = vue.computed(() => {
8376
- if (isNaN(diffHomeAt.value))
8377
- return "-";
8378
- const duration2 = DateUtil.day.duration(diffHomeAt.value);
8379
- return duration2.format("HH [jam] mm [menit]");
8380
- });
8381
- function onHomeAtUpdate(date) {
8382
- if (!date)
8383
- return;
8384
- const earlyAt = DateUtil.day(date);
8385
- const homeAt = DateUtil.day(date);
8386
- values.value.earlyAt = earlyAt.toISOString();
8387
- values.value.homeAt = homeAt.toISOString();
8388
- }
8389
- const keyComeAt = vue.ref(0);
8390
- const diffComeAt = vue.computed(() => {
8391
- return DateUtil.day(values.value.lateAt).diff(values.value.comeAt);
7762
+ const key = vue.ref(0);
7763
+ const diff = vue.computed(() => {
7764
+ return DateUtil.day(values.value.endedAt).diff(values.value.startedAt);
8392
7765
  });
8393
- const durationComeAt = vue.computed(() => {
8394
- if (isNaN(diffComeAt.value))
7766
+ const duration = vue.computed(() => {
7767
+ if (isNaN(diff.value))
8395
7768
  return "-";
8396
- const duration2 = DateUtil.day.duration(diffComeAt.value);
7769
+ const duration2 = DateUtil.day.duration(diff.value);
8397
7770
  return duration2.format("HH [jam] mm [menit]");
8398
7771
  });
8399
- function onComeAtUpdate(date) {
8400
- if (!date)
8401
- return;
8402
- const comeAt = DateUtil.day(date);
8403
- const lateAt = DateUtil.day(date);
8404
- values.value.comeAt = comeAt.toISOString();
8405
- values.value.lateAt = lateAt.toISOString();
8406
- }
8407
- const keyStartedAt = vue.ref(0);
8408
- const diffStartedAt = vue.computed(() => {
8409
- return DateUtil.day(values.value.endedAt).diff(values.value.startedAt);
7772
+ const reverseDiff = vue.computed(() => {
7773
+ return DateUtil.day(values.value.startedAt).diff(values.value.endedAt);
8410
7774
  });
8411
- const durationStartedAt = vue.computed(() => {
8412
- if (isNaN(diffStartedAt.value))
7775
+ const reverseDuration = vue.computed(() => {
7776
+ if (isNaN(reverseDiff.value))
8413
7777
  return "-";
8414
- const duration2 = DateUtil.day.duration(diffStartedAt.value);
7778
+ const duration2 = DateUtil.day.duration(reverseDiff.value);
8415
7779
  return duration2.format("HH [jam] mm [menit]");
8416
7780
  });
8417
7781
  function onStartedAtUpdate(date) {
8418
7782
  if (!date)
8419
7783
  return;
8420
- const startedAt = DateUtil.day(date);
8421
- const endedAt = DateUtil.day(date);
7784
+ const currentEndedendedAt = DateUtil.day(values.value.endedAt);
7785
+ let startedAt = DateUtil.day(date);
7786
+ let endedAt = DateUtil.day(date);
7787
+ startedAt = startedAt.second(0).millisecond(0);
7788
+ endedAt = endedAt.hour(currentEndedendedAt.hour()).minute(currentEndedendedAt.minute()).second(0).millisecond(0);
8422
7789
  values.value.startedAt = startedAt.toISOString();
8423
7790
  values.value.endedAt = endedAt.toISOString();
8424
7791
  }
@@ -8516,32 +7883,8 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
8516
7883
  field: vue.unref(fields).submitStaff,
8517
7884
  "is-disabled": ""
8518
7885
  }, null, 8, ["modelValue", "field"]),
8519
- 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({
8520
- key: 0,
8521
- modelValue: vue.unref(values).attendanceAt,
8522
- "onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => vue.unref(values).attendanceAt = $event)
8523
- }, vue.unref(fields).attendanceAt, {
8524
- "is-disabled": vue.unref(values).status == "approved"
8525
- }), null, 16, ["modelValue", "is-disabled"])) : vue.createCommentVNode("v-if", true),
8526
- vue.createCommentVNode(" EARLY GO HOME "),
8527
- vue.unref(values).type == "homeEarly" ? (vue.openBlock(), vue.createBlock(vue.unref(form.NeonField), vue.mergeProps({
8528
- key: keyHomeAt.value,
8529
- "model-value": vue.unref(values).homeAt
8530
- }, {
8531
- handle: "homeAt",
8532
- name: "Tanggal",
8533
- type: "date",
8534
- input: "date2",
8535
- options: {
8536
- note: "Tanggal absensi."
8537
- }
8538
- }, {
8539
- "is-disabled": vue.unref(values).status == "approved",
8540
- "onUpdate:modelValue": onHomeAtUpdate
8541
- }), null, 16, ["model-value", "is-disabled"])) : vue.createCommentVNode("v-if", true),
8542
- vue.createCommentVNode(" TIMEOUT "),
8543
- vue.unref(values).type == "timeout" ? (vue.openBlock(), vue.createBlock(vue.unref(form.NeonField), vue.mergeProps({
8544
- key: keyStartedAt.value,
7886
+ (vue.openBlock(), vue.createBlock(vue.unref(form.NeonField), vue.mergeProps({
7887
+ key: key.value,
8545
7888
  "model-value": vue.unref(values).startedAt
8546
7889
  }, {
8547
7890
  handle: "startedAt",
@@ -8554,57 +7897,41 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
8554
7897
  }, {
8555
7898
  "is-disabled": vue.unref(values).status == "approved",
8556
7899
  "onUpdate:modelValue": onStartedAtUpdate
8557
- }), null, 16, ["model-value", "is-disabled"])) : vue.createCommentVNode("v-if", true),
8558
- vue.createCommentVNode(" COME TOO LATE "),
8559
- vue.unref(values).type == "comeLate" ? (vue.openBlock(), vue.createBlock(vue.unref(form.NeonField), vue.mergeProps({
8560
- key: keyComeAt.value,
8561
- "model-value": vue.unref(values).comeAt
8562
- }, {
8563
- handle: "comeAt",
8564
- name: "Tanggal",
8565
- type: "date",
8566
- input: "date2",
8567
- options: {
8568
- note: "Tanggal absensi."
8569
- }
8570
- }, {
8571
- "is-disabled": vue.unref(values).status == "approved",
8572
- "onUpdate:modelValue": onComeAtUpdate
8573
- }), null, 16, ["model-value", "is-disabled"])) : vue.createCommentVNode("v-if", true),
7900
+ }), null, 16, ["model-value", "is-disabled"])),
8574
7901
  vue.createVNode(vue.unref(form.NeonField), vue.mergeProps({
8575
7902
  modelValue: vue.unref(values).type,
8576
- "onUpdate:modelValue": _cache[2] || (_cache[2] = ($event) => vue.unref(values).type = $event)
7903
+ "onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => vue.unref(values).type = $event)
8577
7904
  }, vue.unref(fields).type, {
8578
7905
  "is-disabled": vue.unref(values).status == "approved"
8579
7906
  }), null, 16, ["modelValue", "is-disabled"]),
8580
7907
  vue.createVNode(vue.unref(office.OfficeRelation), {
8581
7908
  modelValue: vue.unref(values),
8582
- "onUpdate:modelValue": _cache[3] || (_cache[3] = ($event) => vue.isRef(values) ? values.value = $event : null),
7909
+ "onUpdate:modelValue": _cache[2] || (_cache[2] = ($event) => vue.isRef(values) ? values.value = $event : null),
8583
7910
  field: vue.unref(fields).decideStaff,
8584
7911
  "is-disabled": vue.unref(values).status == "approved"
8585
7912
  }, null, 8, ["modelValue", "field", "is-disabled"]),
8586
7913
  vue.unref(isNew) || vue.unref(isReady) ? (vue.openBlock(), vue.createBlock(vue.unref(form.NeonField), vue.mergeProps({
8587
- key: 4,
7914
+ key: 0,
8588
7915
  modelValue: vue.unref(values).notes,
8589
- "onUpdate:modelValue": _cache[4] || (_cache[4] = ($event) => vue.unref(values).notes = $event)
7916
+ "onUpdate:modelValue": _cache[3] || (_cache[3] = ($event) => vue.unref(values).notes = $event)
8590
7917
  }, vue.unref(fields).notes), null, 16, ["modelValue"])) : vue.createCommentVNode("v-if", true),
8591
7918
  vue.unref(values).type ? (vue.openBlock(), vue.createBlock(vue.unref(interfaces.NeonDivider), {
8592
- key: 5,
7919
+ key: 1,
8593
7920
  "is-dashed": "",
8594
7921
  label: "Keterangan"
8595
7922
  })) : vue.createCommentVNode("v-if", true),
8596
7923
  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({
8597
- key: 6,
7924
+ key: 2,
8598
7925
  modelValue: vue.unref(values).submittedAt,
8599
- "onUpdate:modelValue": _cache[5] || (_cache[5] = ($event) => vue.unref(values).submittedAt = $event)
7926
+ "onUpdate:modelValue": _cache[4] || (_cache[4] = ($event) => vue.unref(values).submittedAt = $event)
8600
7927
  }, vue.unref(fields).submittedAt, { "is-disabled": "" }), null, 16, ["modelValue"])) : vue.createCommentVNode("v-if", true),
8601
7928
  vue.createCommentVNode(" EARLY GO HOME "),
8602
7929
  vue.unref(values).type == "homeEarly" ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_4, [
8603
7930
  vue.createVNode(vue.unref(form.NeonField), vue.mergeProps({
8604
- modelValue: vue.unref(values).homeAt,
8605
- "onUpdate:modelValue": _cache[7] || (_cache[7] = ($event) => vue.unref(values).homeAt = $event)
7931
+ modelValue: vue.unref(values).startedAt,
7932
+ "onUpdate:modelValue": _cache[6] || (_cache[6] = ($event) => vue.unref(values).startedAt = $event)
8606
7933
  }, {
8607
- handle: "homeAt",
7934
+ handle: "startedAt",
8608
7935
  name: "Jam Pulang Kerja",
8609
7936
  options: {
8610
7937
  note: "Jam pulang kerja."
@@ -8612,8 +7939,8 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
8612
7939
  }), {
8613
7940
  input: vue.withCtx(() => [
8614
7941
  vue.createVNode(vue.unref(NeonTime), {
8615
- modelValue: vue.unref(values).homeAt,
8616
- "onUpdate:modelValue": _cache[6] || (_cache[6] = ($event) => vue.unref(values).homeAt = $event),
7942
+ modelValue: vue.unref(values).startedAt,
7943
+ "onUpdate:modelValue": _cache[5] || (_cache[5] = ($event) => vue.unref(values).startedAt = $event),
8617
7944
  "is-loading": vue.unref(isLoading),
8618
7945
  class: "mt-2"
8619
7946
  }, null, 8, ["modelValue", "is-loading"])
@@ -8622,10 +7949,10 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
8622
7949
  /* STABLE */
8623
7950
  }, 16, ["modelValue"]),
8624
7951
  vue.createVNode(vue.unref(form.NeonField), vue.mergeProps({
8625
- modelValue: vue.unref(values).earlyAt,
8626
- "onUpdate:modelValue": _cache[9] || (_cache[9] = ($event) => vue.unref(values).earlyAt = $event)
7952
+ modelValue: vue.unref(values).endedAt,
7953
+ "onUpdate:modelValue": _cache[8] || (_cache[8] = ($event) => vue.unref(values).endedAt = $event)
8627
7954
  }, {
8628
- handle: "earlyAt",
7955
+ handle: "endedAt",
8629
7956
  name: "Jam Pulang Lebih Awal",
8630
7957
  options: {
8631
7958
  note: "Jam pulang lebih awal."
@@ -8633,15 +7960,15 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
8633
7960
  }), {
8634
7961
  input: vue.withCtx(() => [
8635
7962
  vue.createVNode(vue.unref(NeonTime), {
8636
- modelValue: vue.unref(values).earlyAt,
8637
- "onUpdate:modelValue": _cache[8] || (_cache[8] = ($event) => vue.unref(values).earlyAt = $event),
7963
+ modelValue: vue.unref(values).endedAt,
7964
+ "onUpdate:modelValue": _cache[7] || (_cache[7] = ($event) => vue.unref(values).endedAt = $event),
8638
7965
  "is-loading": vue.unref(isLoading),
8639
7966
  class: "mt-2"
8640
7967
  }, null, 8, ["modelValue", "is-loading"]),
8641
7968
  vue.createElementVNode(
8642
7969
  "div",
8643
7970
  _hoisted_5,
8644
- vue.toDisplayString(durationHomeAt.value),
7971
+ vue.toDisplayString(reverseDuration.value),
8645
7972
  1
8646
7973
  /* TEXT */
8647
7974
  )
@@ -8653,10 +7980,10 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
8653
7980
  vue.createCommentVNode(" COME TOO LATE "),
8654
7981
  vue.unref(values).type == "comeLate" ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_6, [
8655
7982
  vue.createVNode(vue.unref(form.NeonField), vue.mergeProps({
8656
- modelValue: vue.unref(values).comeAt,
8657
- "onUpdate:modelValue": _cache[11] || (_cache[11] = ($event) => vue.unref(values).comeAt = $event)
7983
+ modelValue: vue.unref(values).startedAt,
7984
+ "onUpdate:modelValue": _cache[10] || (_cache[10] = ($event) => vue.unref(values).startedAt = $event)
8658
7985
  }, {
8659
- handle: "comeAt",
7986
+ handle: "startedAt",
8660
7987
  name: "Jam Datang",
8661
7988
  options: {
8662
7989
  note: "Jam Datang kerja."
@@ -8664,8 +7991,8 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
8664
7991
  }), {
8665
7992
  input: vue.withCtx(() => [
8666
7993
  vue.createVNode(vue.unref(NeonTime), {
8667
- modelValue: vue.unref(values).comeAt,
8668
- "onUpdate:modelValue": _cache[10] || (_cache[10] = ($event) => vue.unref(values).comeAt = $event),
7994
+ modelValue: vue.unref(values).startedAt,
7995
+ "onUpdate:modelValue": _cache[9] || (_cache[9] = ($event) => vue.unref(values).startedAt = $event),
8669
7996
  "is-loading": vue.unref(isLoading),
8670
7997
  class: "mt-2"
8671
7998
  }, null, 8, ["modelValue", "is-loading"])
@@ -8674,10 +8001,10 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
8674
8001
  /* STABLE */
8675
8002
  }, 16, ["modelValue"]),
8676
8003
  vue.createVNode(vue.unref(form.NeonField), vue.mergeProps({
8677
- modelValue: vue.unref(values).lateAt,
8678
- "onUpdate:modelValue": _cache[13] || (_cache[13] = ($event) => vue.unref(values).lateAt = $event)
8004
+ modelValue: vue.unref(values).endedAt,
8005
+ "onUpdate:modelValue": _cache[12] || (_cache[12] = ($event) => vue.unref(values).endedAt = $event)
8679
8006
  }, {
8680
- handle: "lateAt",
8007
+ handle: "endedAt",
8681
8008
  name: "Jam Datang Terlambat",
8682
8009
  options: {
8683
8010
  note: "Jam datang terlambat."
@@ -8685,15 +8012,15 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
8685
8012
  }), {
8686
8013
  input: vue.withCtx(() => [
8687
8014
  vue.createVNode(vue.unref(NeonTime), {
8688
- modelValue: vue.unref(values).lateAt,
8689
- "onUpdate:modelValue": _cache[12] || (_cache[12] = ($event) => vue.unref(values).lateAt = $event),
8015
+ modelValue: vue.unref(values).endedAt,
8016
+ "onUpdate:modelValue": _cache[11] || (_cache[11] = ($event) => vue.unref(values).endedAt = $event),
8690
8017
  "is-loading": vue.unref(isLoading),
8691
8018
  class: "mt-2"
8692
8019
  }, null, 8, ["modelValue", "is-loading"]),
8693
8020
  vue.createElementVNode(
8694
8021
  "div",
8695
8022
  _hoisted_7,
8696
- vue.toDisplayString(durationComeAt.value),
8023
+ vue.toDisplayString(duration.value),
8697
8024
  1
8698
8025
  /* TEXT */
8699
8026
  )
@@ -8706,7 +8033,7 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
8706
8033
  vue.unref(values).type == "timeout" ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_8, [
8707
8034
  vue.createVNode(vue.unref(form.NeonField), vue.mergeProps({
8708
8035
  modelValue: vue.unref(values).startedAt,
8709
- "onUpdate:modelValue": _cache[15] || (_cache[15] = ($event) => vue.unref(values).startedAt = $event)
8036
+ "onUpdate:modelValue": _cache[14] || (_cache[14] = ($event) => vue.unref(values).startedAt = $event)
8710
8037
  }, {
8711
8038
  handle: "startedAt",
8712
8039
  name: "Mulai",
@@ -8717,7 +8044,7 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
8717
8044
  input: vue.withCtx(() => [
8718
8045
  vue.createVNode(vue.unref(NeonTime), {
8719
8046
  modelValue: vue.unref(values).startedAt,
8720
- "onUpdate:modelValue": _cache[14] || (_cache[14] = ($event) => vue.unref(values).startedAt = $event),
8047
+ "onUpdate:modelValue": _cache[13] || (_cache[13] = ($event) => vue.unref(values).startedAt = $event),
8721
8048
  "is-loading": vue.unref(isLoading),
8722
8049
  class: "mt-2"
8723
8050
  }, null, 8, ["modelValue", "is-loading"])
@@ -8727,7 +8054,7 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
8727
8054
  }, 16, ["modelValue"]),
8728
8055
  vue.createVNode(vue.unref(form.NeonField), vue.mergeProps({
8729
8056
  modelValue: vue.unref(values).endedAt,
8730
- "onUpdate:modelValue": _cache[17] || (_cache[17] = ($event) => vue.unref(values).endedAt = $event)
8057
+ "onUpdate:modelValue": _cache[16] || (_cache[16] = ($event) => vue.unref(values).endedAt = $event)
8731
8058
  }, {
8732
8059
  handle: "endedAt",
8733
8060
  name: "Selesai",
@@ -8738,14 +8065,14 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
8738
8065
  input: vue.withCtx(() => [
8739
8066
  vue.createVNode(vue.unref(NeonTime), {
8740
8067
  modelValue: vue.unref(values).endedAt,
8741
- "onUpdate:modelValue": _cache[16] || (_cache[16] = ($event) => vue.unref(values).endedAt = $event),
8068
+ "onUpdate:modelValue": _cache[15] || (_cache[15] = ($event) => vue.unref(values).endedAt = $event),
8742
8069
  "is-loading": vue.unref(isLoading),
8743
8070
  class: "mt-2"
8744
8071
  }, null, 8, ["modelValue", "is-loading"]),
8745
8072
  vue.createElementVNode(
8746
8073
  "div",
8747
8074
  _hoisted_9,
8748
- vue.toDisplayString(durationStartedAt.value),
8075
+ vue.toDisplayString(duration.value),
8749
8076
  1
8750
8077
  /* TEXT */
8751
8078
  )
@@ -8773,8 +8100,8 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
8773
8100
  };
8774
8101
  }
8775
8102
  });
8776
- const AttendanceManager_vue_vue_type_style_index_0_scoped_eb6a78b6_lang = "";
8777
- const AttendanceManager = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-eb6a78b6"]]);
8103
+ const AttendanceManager_vue_vue_type_style_index_0_scoped_643cca03_lang = "";
8104
+ const AttendanceManager = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-643cca03"]]);
8778
8105
  const components = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
8779
8106
  __proto__: null,
8780
8107
  AttendanceCollection: _sfc_main$3,