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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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$7 = [
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$7)) : (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$6 = { 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$6, [
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$5 = ["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$5)
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$4 = { 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$4, [
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$3 = { 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$3, [
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$2 = { 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$2, [
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,8 @@ 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" };
6725
6327
  const _sfc_main$6 = /* @__PURE__ */ vue.defineComponent({
6726
6328
  __name: "ProgressSingle",
6727
6329
  setup(__props) {
@@ -6769,11 +6371,11 @@ const _sfc_main$6 = /* @__PURE__ */ vue.defineComponent({
6769
6371
  const diff = vue.computed(() => {
6770
6372
  return DateUtil.day(values.value.endedAt).diff(values.value.startedAt);
6771
6373
  });
6772
- const duration2 = vue.computed(() => {
6374
+ const duration = vue.computed(() => {
6773
6375
  if (isNaN(diff.value))
6774
6376
  return "-";
6775
- const duration22 = DateUtil.day.duration(diff.value);
6776
- return duration22.format("HH [jam] mm [menit]");
6377
+ const duration2 = DateUtil.day.duration(diff.value);
6378
+ return duration2.format("HH [jam] mm [menit]");
6777
6379
  });
6778
6380
  function onStartedAtUpdate(date) {
6779
6381
  if (!date)
@@ -6786,7 +6388,7 @@ const _sfc_main$6 = /* @__PURE__ */ vue.defineComponent({
6786
6388
  values.value.startedAt = startedAt.toISOString();
6787
6389
  values.value.endedAt = endedAt.toISOString();
6788
6390
  }
6789
- const sekarang = dayjs(/* @__PURE__ */ new Date());
6391
+ const sekarang = DateUtil.day(/* @__PURE__ */ new Date());
6790
6392
  const besok = sekarang;
6791
6393
  vue.watch(
6792
6394
  isNew,
@@ -6946,7 +6548,7 @@ const _sfc_main$6 = /* @__PURE__ */ vue.defineComponent({
6946
6548
  vue.createElementVNode(
6947
6549
  "div",
6948
6550
  _hoisted_2$5,
6949
- vue.toDisplayString(duration2.value),
6551
+ vue.toDisplayString(duration.value),
6950
6552
  1
6951
6553
  /* TEXT */
6952
6554
  )
@@ -7008,12 +6610,6 @@ const _sfc_main$6 = /* @__PURE__ */ vue.defineComponent({
7008
6610
  title: "Catatan"
7009
6611
  }, {
7010
6612
  default: vue.withCtx(({ isTouched }) => [
7011
- vue.createElementVNode("div", _hoisted_3$3, [
7012
- vue.createVNode(vue.unref(catatInterfaces.CatatPaperSegments), {
7013
- display: display2.value,
7014
- "onUpdate:display": _cache[10] || (_cache[10] = ($event) => display2.value = $event)
7015
- }, null, 8, ["display"])
7016
- ]),
7017
6613
  vue.createVNode(vue.unref(catatInterfaces.CatatPaperPad), vue.mergeProps({
7018
6614
  applicationId: vue.unref(appStore).appId,
7019
6615
  object: `${objectDef.value}:office`,
@@ -7035,8 +6631,8 @@ const _sfc_main$6 = /* @__PURE__ */ vue.defineComponent({
7035
6631
  };
7036
6632
  }
7037
6633
  });
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"]]);
6634
+ const ProgressSingle_vue_vue_type_style_index_0_scoped_6569a1bb_lang = "";
6635
+ const ProgressSingle = /* @__PURE__ */ _export_sfc(_sfc_main$6, [["__scopeId", "data-v-6569a1bb"]]);
7040
6636
  const _hoisted_1$4 = { class: "grid gap-2 sm:grid-cols-2" };
7041
6637
  const _hoisted_2$4 = { class: "text-right text-fg-subdued text-sm" };
7042
6638
  const _sfc_main$5 = /* @__PURE__ */ vue.defineComponent({
@@ -7086,11 +6682,11 @@ const _sfc_main$5 = /* @__PURE__ */ vue.defineComponent({
7086
6682
  const diff = vue.computed(() => {
7087
6683
  return DateUtil.day(values.value.endedAt).diff(values.value.startedAt);
7088
6684
  });
7089
- const duration2 = vue.computed(() => {
6685
+ const duration = vue.computed(() => {
7090
6686
  if (isNaN(diff.value))
7091
6687
  return "-";
7092
- const duration22 = DateUtil.day.duration(diff.value);
7093
- return duration22.format("HH [jam] mm [menit]");
6688
+ const duration2 = DateUtil.day.duration(diff.value);
6689
+ return duration2.format("HH [jam] mm [menit]");
7094
6690
  });
7095
6691
  function onStartedAtUpdate(date) {
7096
6692
  if (!date)
@@ -7103,7 +6699,7 @@ const _sfc_main$5 = /* @__PURE__ */ vue.defineComponent({
7103
6699
  values.value.startedAt = startedAt.toISOString();
7104
6700
  values.value.endedAt = endedAt.toISOString();
7105
6701
  }
7106
- const sekarang = dayjs(/* @__PURE__ */ new Date());
6702
+ const sekarang = DateUtil.day(/* @__PURE__ */ new Date());
7107
6703
  const besok = sekarang.add(1, "day");
7108
6704
  vue.watch(
7109
6705
  isNew,
@@ -7221,7 +6817,7 @@ const _sfc_main$5 = /* @__PURE__ */ vue.defineComponent({
7221
6817
  vue.createElementVNode(
7222
6818
  "div",
7223
6819
  _hoisted_2$4,
7224
- vue.toDisplayString(duration2.value),
6820
+ vue.toDisplayString(duration.value),
7225
6821
  1
7226
6822
  /* TEXT */
7227
6823
  )
@@ -7271,8 +6867,8 @@ const _sfc_main$5 = /* @__PURE__ */ vue.defineComponent({
7271
6867
  };
7272
6868
  }
7273
6869
  });
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"]]);
6870
+ const ProgressTomorrow_vue_vue_type_style_index_0_scoped_9a139943_lang = "";
6871
+ const ProgressTomorrow = /* @__PURE__ */ _export_sfc(_sfc_main$5, [["__scopeId", "data-v-9a139943"]]);
7276
6872
  const _hoisted_1$3 = { class: "grid gap-2 sm:grid-cols-2" };
7277
6873
  const _hoisted_2$3 = { class: "text-right text-fg-subdued text-sm" };
7278
6874
  const _sfc_main$4 = /* @__PURE__ */ vue.defineComponent({
@@ -7322,11 +6918,11 @@ const _sfc_main$4 = /* @__PURE__ */ vue.defineComponent({
7322
6918
  const diff = vue.computed(() => {
7323
6919
  return DateUtil.day(values.value.endedAt).diff(values.value.startedAt);
7324
6920
  });
7325
- const duration2 = vue.computed(() => {
6921
+ const duration = vue.computed(() => {
7326
6922
  if (isNaN(diff.value))
7327
6923
  return "-";
7328
- const duration22 = DateUtil.day.duration(diff.value);
7329
- return duration22.format("HH [jam] mm [menit]");
6924
+ const duration2 = DateUtil.day.duration(diff.value);
6925
+ return duration2.format("HH [jam] mm [menit]");
7330
6926
  });
7331
6927
  function onStartedAtUpdate(date) {
7332
6928
  if (!date)
@@ -7339,7 +6935,7 @@ const _sfc_main$4 = /* @__PURE__ */ vue.defineComponent({
7339
6935
  values.value.startedAt = startedAt.toISOString();
7340
6936
  values.value.endedAt = endedAt.toISOString();
7341
6937
  }
7342
- const sekarang = dayjs(/* @__PURE__ */ new Date());
6938
+ const sekarang = DateUtil.day(/* @__PURE__ */ new Date());
7343
6939
  const besok = sekarang.add(-1, "day");
7344
6940
  vue.watch(
7345
6941
  isNew,
@@ -7457,7 +7053,7 @@ const _sfc_main$4 = /* @__PURE__ */ vue.defineComponent({
7457
7053
  vue.createElementVNode(
7458
7054
  "div",
7459
7055
  _hoisted_2$3,
7460
- vue.toDisplayString(duration2.value),
7056
+ vue.toDisplayString(duration.value),
7461
7057
  1
7462
7058
  /* TEXT */
7463
7059
  )
@@ -7511,8 +7107,8 @@ const _sfc_main$4 = /* @__PURE__ */ vue.defineComponent({
7511
7107
  };
7512
7108
  }
7513
7109
  });
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"]]);
7110
+ const ProgressYesterday_vue_vue_type_style_index_0_scoped_3bad8bb9_lang = "";
7111
+ const ProgressYesterday = /* @__PURE__ */ _export_sfc(_sfc_main$4, [["__scopeId", "data-v-3bad8bb9"]]);
7516
7112
  const AttendanceModel = personaliaModels.models.AttendanceModel;
7517
7113
  const _sfc_main$3 = /* @__PURE__ */ vue.defineComponent({
7518
7114
  ...{
@@ -7534,10 +7130,6 @@ const _sfc_main$3 = /* @__PURE__ */ vue.defineComponent({
7534
7130
  });
7535
7131
  const _hoisted_1$2 = { class: "grid gap-2 sm:grid-cols-2" };
7536
7132
  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
7133
  const _sfc_main$2 = /* @__PURE__ */ vue.defineComponent({
7542
7134
  __name: "AttendanceSingle",
7543
7135
  setup(__props) {
@@ -7555,57 +7147,33 @@ const _sfc_main$2 = /* @__PURE__ */ vue.defineComponent({
7555
7147
  discardChanges,
7556
7148
  syncOne
7557
7149
  } = context.useSingle();
7558
- const keyHomeAt = vue.ref(0);
7559
- const diffHomeAt = vue.computed(() => {
7560
- return DateUtil.day(values.value.earlyAt).diff(values.value.homeAt);
7561
- });
7562
- const durationHomeAt = vue.computed(() => {
7563
- if (isNaN(diffHomeAt.value))
7564
- return "-";
7565
- const duration2 = DateUtil.day.duration(diffHomeAt.value);
7566
- return duration2.format("HH [jam] mm [menit]");
7567
- });
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);
7150
+ const key = vue.ref(0);
7151
+ const diff = vue.computed(() => {
7152
+ return DateUtil.day(values.value.endedAt).diff(values.value.startedAt);
7579
7153
  });
7580
- const durationComeAt = vue.computed(() => {
7581
- if (isNaN(diffComeAt.value))
7154
+ const duration = vue.computed(() => {
7155
+ if (isNaN(diff.value))
7582
7156
  return "-";
7583
- const duration2 = DateUtil.day.duration(diffComeAt.value);
7157
+ const duration2 = DateUtil.day.duration(diff.value);
7584
7158
  return duration2.format("HH [jam] mm [menit]");
7585
7159
  });
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);
7160
+ const reverseDiff = vue.computed(() => {
7161
+ return DateUtil.day(values.value.startedAt).diff(values.value.endedAt);
7597
7162
  });
7598
- const durationStartedAt = vue.computed(() => {
7599
- if (isNaN(diffStartedAt.value))
7163
+ vue.computed(() => {
7164
+ if (isNaN(reverseDiff.value))
7600
7165
  return "-";
7601
- const duration2 = DateUtil.day.duration(diffStartedAt.value);
7166
+ const duration2 = DateUtil.day.duration(reverseDiff.value);
7602
7167
  return duration2.format("HH [jam] mm [menit]");
7603
7168
  });
7604
7169
  function onStartedAtUpdate(date) {
7605
7170
  if (!date)
7606
7171
  return;
7607
- const startedAt = DateUtil.day(date);
7608
- const endedAt = DateUtil.day(date);
7172
+ const currentEndedendedAt = DateUtil.day(values.value.endedAt);
7173
+ let startedAt = DateUtil.day(date);
7174
+ let endedAt = DateUtil.day(date);
7175
+ startedAt = startedAt.second(0).millisecond(0);
7176
+ endedAt = endedAt.hour(currentEndedendedAt.hour()).minute(currentEndedendedAt.minute()).second(0).millisecond(0);
7609
7177
  values.value.startedAt = startedAt.toISOString();
7610
7178
  values.value.endedAt = endedAt.toISOString();
7611
7179
  }
@@ -7630,8 +7198,6 @@ const _sfc_main$2 = /* @__PURE__ */ vue.defineComponent({
7630
7198
  onSubmit: vue.unref(saveOne)
7631
7199
  }, {
7632
7200
  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
7201
  vue.createVNode(vue.unref(form.NeonField), vue.mergeProps({
7636
7202
  modelValue: vue.unref(values).status,
7637
7203
  "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => vue.unref(values).status = $event)
@@ -7641,23 +7207,31 @@ const _sfc_main$2 = /* @__PURE__ */ vue.defineComponent({
7641
7207
  "onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => vue.isRef(values) ? values.value = $event : null),
7642
7208
  field: vue.unref(fields).submitStaff
7643
7209
  }, 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"]),
7210
+ (vue.openBlock(), vue.createBlock(vue.unref(form.NeonField), vue.mergeProps({
7211
+ key: key.value,
7212
+ "model-value": vue.unref(values).startedAt
7213
+ }, {
7214
+ handle: "startedAt",
7215
+ name: "Tanggal",
7216
+ type: "date",
7217
+ input: "date2",
7218
+ options: {
7219
+ note: "Tanggal absensi."
7220
+ }
7221
+ }, { "onUpdate:modelValue": onStartedAtUpdate }), null, 16, ["model-value"])),
7648
7222
  vue.createVNode(vue.unref(form.NeonField), vue.mergeProps({
7649
7223
  modelValue: vue.unref(values).type,
7650
- "onUpdate:modelValue": _cache[3] || (_cache[3] = ($event) => vue.unref(values).type = $event)
7224
+ "onUpdate:modelValue": _cache[2] || (_cache[2] = ($event) => vue.unref(values).type = $event)
7651
7225
  }, vue.unref(fields).type), null, 16, ["modelValue"]),
7652
7226
  vue.createVNode(vue.unref(office.OfficeRelation), {
7653
7227
  modelValue: vue.unref(values),
7654
- "onUpdate:modelValue": _cache[4] || (_cache[4] = ($event) => vue.isRef(values) ? values.value = $event : null),
7228
+ "onUpdate:modelValue": _cache[3] || (_cache[3] = ($event) => vue.isRef(values) ? values.value = $event : null),
7655
7229
  field: vue.unref(fields).decideStaff
7656
7230
  }, null, 8, ["modelValue", "field"]),
7657
7231
  vue.unref(isNew) || vue.unref(isReady) ? (vue.openBlock(), vue.createBlock(vue.unref(form.NeonField), vue.mergeProps({
7658
7232
  key: 0,
7659
7233
  modelValue: vue.unref(values).notes,
7660
- "onUpdate:modelValue": _cache[5] || (_cache[5] = ($event) => vue.unref(values).notes = $event)
7234
+ "onUpdate:modelValue": _cache[4] || (_cache[4] = ($event) => vue.unref(values).notes = $event)
7661
7235
  }, vue.unref(fields).notes), null, 16, ["modelValue"])) : vue.createCommentVNode("v-if", true),
7662
7236
  vue.createVNode(vue.unref(interfaces.NeonDivider), {
7663
7237
  "is-dashed": "",
@@ -7665,153 +7239,12 @@ const _sfc_main$2 = /* @__PURE__ */ vue.defineComponent({
7665
7239
  }),
7666
7240
  vue.createVNode(vue.unref(form.NeonField), vue.mergeProps({
7667
7241
  modelValue: vue.unref(values).submittedAt,
7668
- "onUpdate:modelValue": _cache[6] || (_cache[6] = ($event) => vue.unref(values).submittedAt = $event)
7242
+ "onUpdate:modelValue": _cache[5] || (_cache[5] = ($event) => vue.unref(values).submittedAt = $event)
7669
7243
  }, 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
7244
  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
7245
  vue.createVNode(vue.unref(form.NeonField), vue.mergeProps({
7813
7246
  modelValue: vue.unref(values).startedAt,
7814
- "onUpdate:modelValue": _cache[16] || (_cache[16] = ($event) => vue.unref(values).startedAt = $event)
7247
+ "onUpdate:modelValue": _cache[7] || (_cache[7] = ($event) => vue.unref(values).startedAt = $event)
7815
7248
  }, {
7816
7249
  handle: "startedAt",
7817
7250
  name: "Mulai",
@@ -7822,7 +7255,7 @@ const _sfc_main$2 = /* @__PURE__ */ vue.defineComponent({
7822
7255
  input: vue.withCtx(() => [
7823
7256
  vue.createVNode(vue.unref(NeonTime), {
7824
7257
  modelValue: vue.unref(values).startedAt,
7825
- "onUpdate:modelValue": _cache[15] || (_cache[15] = ($event) => vue.unref(values).startedAt = $event),
7258
+ "onUpdate:modelValue": _cache[6] || (_cache[6] = ($event) => vue.unref(values).startedAt = $event),
7826
7259
  "is-loading": vue.unref(isLoading),
7827
7260
  class: "mt-2"
7828
7261
  }, null, 8, ["modelValue", "is-loading"])
@@ -7832,7 +7265,7 @@ const _sfc_main$2 = /* @__PURE__ */ vue.defineComponent({
7832
7265
  }, 16, ["modelValue"]),
7833
7266
  vue.createVNode(vue.unref(form.NeonField), vue.mergeProps({
7834
7267
  modelValue: vue.unref(values).endedAt,
7835
- "onUpdate:modelValue": _cache[18] || (_cache[18] = ($event) => vue.unref(values).endedAt = $event)
7268
+ "onUpdate:modelValue": _cache[9] || (_cache[9] = ($event) => vue.unref(values).endedAt = $event)
7836
7269
  }, {
7837
7270
  handle: "endedAt",
7838
7271
  name: "Selesai",
@@ -7843,14 +7276,14 @@ const _sfc_main$2 = /* @__PURE__ */ vue.defineComponent({
7843
7276
  input: vue.withCtx(() => [
7844
7277
  vue.createVNode(vue.unref(NeonTime), {
7845
7278
  modelValue: vue.unref(values).endedAt,
7846
- "onUpdate:modelValue": _cache[17] || (_cache[17] = ($event) => vue.unref(values).endedAt = $event),
7279
+ "onUpdate:modelValue": _cache[8] || (_cache[8] = ($event) => vue.unref(values).endedAt = $event),
7847
7280
  "is-loading": vue.unref(isLoading),
7848
7281
  class: "mt-2"
7849
7282
  }, null, 8, ["modelValue", "is-loading"]),
7850
7283
  vue.createElementVNode(
7851
7284
  "div",
7852
- _hoisted_6$2,
7853
- vue.toDisplayString(durationStartedAt.value),
7285
+ _hoisted_2$2,
7286
+ vue.toDisplayString(duration.value),
7854
7287
  1
7855
7288
  /* TEXT */
7856
7289
  )
@@ -7878,26 +7311,26 @@ const _sfc_main$2 = /* @__PURE__ */ vue.defineComponent({
7878
7311
  };
7879
7312
  }
7880
7313
  });
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"]]);
7314
+ const AttendanceSingle_vue_vue_type_style_index_0_scoped_0c3c6187_lang = "";
7315
+ const AttendanceSingle = /* @__PURE__ */ _export_sfc(_sfc_main$2, [["__scopeId", "data-v-0c3c6187"]]);
7883
7316
  const _hoisted_1$1 = {
7884
- key: 0,
7317
+ key: 1,
7885
7318
  class: "flex flex-wrap"
7886
7319
  };
7887
7320
  const _hoisted_2$1 = { class: "mt-2" };
7888
7321
  const _hoisted_3$1 = { class: "mt-2" };
7889
7322
  const _hoisted_4$1 = {
7890
- key: 8,
7323
+ key: 5,
7891
7324
  class: "grid gap-2 sm:grid-cols-2"
7892
7325
  };
7893
7326
  const _hoisted_5$1 = { class: "text-right text-fg-subdued text-sm" };
7894
7327
  const _hoisted_6$1 = {
7895
- key: 9,
7328
+ key: 6,
7896
7329
  class: "grid gap-2 sm:grid-cols-2"
7897
7330
  };
7898
7331
  const _hoisted_7$1 = { class: "text-right text-fg-subdued text-sm" };
7899
7332
  const _hoisted_8$1 = {
7900
- key: 10,
7333
+ key: 7,
7901
7334
  class: "grid gap-2 sm:grid-cols-2"
7902
7335
  };
7903
7336
  const _hoisted_9$1 = { class: "text-right text-fg-subdued text-sm" };
@@ -7920,62 +7353,27 @@ const _sfc_main$1 = /* @__PURE__ */ vue.defineComponent({
7920
7353
  syncOne,
7921
7354
  executeOne
7922
7355
  } = 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(() => {
7356
+ const key = vue.ref(0);
7357
+ const diff = vue.computed(() => {
7963
7358
  return DateUtil.day(values.value.endedAt).diff(values.value.startedAt);
7964
7359
  });
7965
- const durationStartedAt = vue.computed(() => {
7966
- if (isNaN(diffStartedAt.value))
7360
+ const duration = vue.computed(() => {
7361
+ if (isNaN(diff.value))
7967
7362
  return "-";
7968
- const duration2 = DateUtil.day.duration(diffStartedAt.value);
7363
+ const duration2 = DateUtil.day.duration(diff.value);
7969
7364
  return duration2.format("HH [jam] mm [menit]");
7970
7365
  });
7971
7366
  function onStartedAtUpdate(date) {
7972
7367
  if (!date)
7973
7368
  return;
7974
- const startedAt = DateUtil.day(date);
7975
- const endedAt = DateUtil.day(date);
7369
+ const currentEndedendedAt = DateUtil.day(values.value.endedAt);
7370
+ let startedAt = DateUtil.day(date);
7371
+ let endedAt = DateUtil.day(date);
7372
+ startedAt = startedAt.second(0).millisecond(0);
7373
+ endedAt = endedAt.hour(currentEndedendedAt.hour()).minute(currentEndedendedAt.minute()).second(0).millisecond(0);
7976
7374
  values.value.startedAt = startedAt.toISOString();
7977
7375
  values.value.endedAt = endedAt.toISOString();
7978
- values.value.attendanceAt = startedAt.toISOString();
7376
+ conflictAtt.value = false;
7979
7377
  }
7980
7378
  const { staff } = useOperasional();
7981
7379
  const staffId = ((_a = staff.value) == null ? void 0 : _a.id) || "";
@@ -7999,6 +7397,26 @@ const _sfc_main$1 = /* @__PURE__ */ vue.defineComponent({
7999
7397
  await executeOne("changeAttendance", { attendanceId: id.value });
8000
7398
  await syncOne();
8001
7399
  };
7400
+ const conflictAtt = vue.ref(false);
7401
+ async function conflictAttendance() {
7402
+ var _a2;
7403
+ const resp = await executeOne("checkAttendance", {
7404
+ staffId: (_a2 = staff.value) == null ? void 0 : _a2.id,
7405
+ startedAt: values.value.startedAt
7406
+ });
7407
+ const countAtt = resp.data.executeAttendance.output.countAttendance;
7408
+ if (values.value.startedAt) {
7409
+ if (countAtt > 1) {
7410
+ conflictAtt.value = true;
7411
+ } else {
7412
+ await submitAbsensi();
7413
+ await syncOne();
7414
+ conflictAtt.value = false;
7415
+ }
7416
+ } else {
7417
+ conflictAtt.value = true;
7418
+ }
7419
+ }
8002
7420
  return (_ctx, _cache) => {
8003
7421
  return vue.openBlock(), vue.createBlock(vue.unref(context.NeonSingle), { class: "neu-attendance-single" }, {
8004
7422
  default: vue.withCtx(() => [
@@ -8020,8 +7438,14 @@ const _sfc_main$1 = /* @__PURE__ */ vue.defineComponent({
8020
7438
  onSubmit: vue.unref(saveOne)
8021
7439
  }, {
8022
7440
  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, [
7441
+ conflictAtt.value == true ? (vue.openBlock(), vue.createBlock(vue.unref(interfaces.NeonAlert), {
7442
+ key: 0,
7443
+ icon: "circle-info",
7444
+ label: "Sudah ada Absensi!. ",
7445
+ description: "Untuk hari ini kamu sudah ada absensi yang diajukan, silahkan cari absensi yang telah diajukan dan ajukan kembali untuk pergantiannya.",
7446
+ color: "#F7CF6D"
7447
+ })) : vue.createCommentVNode("v-if", true),
7448
+ !vue.unref(isNew) && conflictAtt.value == false ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$1, [
8025
7449
  vue.createElementVNode("div", _hoisted_2$1, [
8026
7450
  vue.createVNode(vue.unref(form.NeonField), null, {
8027
7451
  input: vue.withCtx(() => [
@@ -8030,7 +7454,7 @@ const _sfc_main$1 = /* @__PURE__ */ vue.defineComponent({
8030
7454
  color: "success",
8031
7455
  "icon-left": "up-from-line",
8032
7456
  "is-disabled": vue.unref(values).status == "notApproved" || vue.unref(values).status == "approved",
8033
- onClick: submitAbsensi
7457
+ onClick: conflictAttendance
8034
7458
  }, {
8035
7459
  default: vue.withCtx(() => [
8036
7460
  vue.createTextVNode("Ajukan")
@@ -8051,7 +7475,7 @@ const _sfc_main$1 = /* @__PURE__ */ vue.defineComponent({
8051
7475
  size: "md",
8052
7476
  color: "warning",
8053
7477
  "icon-left": "arrows-retweet",
8054
- "is-disabled": vue.unref(values).status == "approved" || vue.unref(values).status == "draft",
7478
+ "is-disabled": vue.unref(values).status == "notApproved" || vue.unref(values).status == "draft",
8055
7479
  onClick: changeAbsensi
8056
7480
  }, {
8057
7481
  default: vue.withCtx(() => [
@@ -8072,32 +7496,8 @@ const _sfc_main$1 = /* @__PURE__ */ vue.defineComponent({
8072
7496
  field: vue.unref(fields).submitStaff,
8073
7497
  "is-disabled": ""
8074
7498
  }, 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,
7499
+ (vue.openBlock(), vue.createBlock(vue.unref(form.NeonField), vue.mergeProps({
7500
+ key: key.value,
8101
7501
  "model-value": vue.unref(values).startedAt
8102
7502
  }, {
8103
7503
  handle: "startedAt",
@@ -8110,57 +7510,41 @@ const _sfc_main$1 = /* @__PURE__ */ vue.defineComponent({
8110
7510
  }, {
8111
7511
  "is-disabled": vue.unref(values).status == "notApproved" || vue.unref(values).status == "approved",
8112
7512
  "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),
7513
+ }), null, 16, ["model-value", "is-disabled"])),
8130
7514
  vue.createVNode(vue.unref(form.NeonField), vue.mergeProps({
8131
7515
  modelValue: vue.unref(values).type,
8132
- "onUpdate:modelValue": _cache[2] || (_cache[2] = ($event) => vue.unref(values).type = $event)
7516
+ "onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => vue.unref(values).type = $event)
8133
7517
  }, vue.unref(fields).type, {
8134
7518
  "is-disabled": vue.unref(values).status == "notApproved" || vue.unref(values).status == "approved"
8135
7519
  }), null, 16, ["modelValue", "is-disabled"]),
8136
7520
  vue.createVNode(vue.unref(office.OfficeRelation), {
8137
7521
  modelValue: vue.unref(values),
8138
- "onUpdate:modelValue": _cache[3] || (_cache[3] = ($event) => vue.isRef(values) ? values.value = $event : null),
7522
+ "onUpdate:modelValue": _cache[2] || (_cache[2] = ($event) => vue.isRef(values) ? values.value = $event : null),
8139
7523
  field: vue.unref(fields).decideStaff,
8140
7524
  "is-disabled": vue.unref(values).status == "notApproved" || vue.unref(values).status == "approved"
8141
7525
  }, null, 8, ["modelValue", "field", "is-disabled"]),
8142
7526
  vue.unref(isNew) || vue.unref(isReady) ? (vue.openBlock(), vue.createBlock(vue.unref(form.NeonField), vue.mergeProps({
8143
- key: 5,
7527
+ key: 2,
8144
7528
  modelValue: vue.unref(values).notes,
8145
- "onUpdate:modelValue": _cache[4] || (_cache[4] = ($event) => vue.unref(values).notes = $event)
7529
+ "onUpdate:modelValue": _cache[3] || (_cache[3] = ($event) => vue.unref(values).notes = $event)
8146
7530
  }, vue.unref(fields).notes), null, 16, ["modelValue"])) : vue.createCommentVNode("v-if", true),
8147
7531
  vue.unref(values).type ? (vue.openBlock(), vue.createBlock(vue.unref(interfaces.NeonDivider), {
8148
- key: 6,
7532
+ key: 3,
8149
7533
  "is-dashed": "",
8150
7534
  label: "Keterangan"
8151
7535
  })) : vue.createCommentVNode("v-if", true),
8152
7536
  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,
7537
+ key: 4,
8154
7538
  modelValue: vue.unref(values).submittedAt,
8155
- "onUpdate:modelValue": _cache[5] || (_cache[5] = ($event) => vue.unref(values).submittedAt = $event)
7539
+ "onUpdate:modelValue": _cache[4] || (_cache[4] = ($event) => vue.unref(values).submittedAt = $event)
8156
7540
  }, vue.unref(fields).submittedAt, { "is-disabled": "" }), null, 16, ["modelValue"])) : vue.createCommentVNode("v-if", true),
8157
7541
  vue.createCommentVNode(" EARLY GO HOME "),
8158
7542
  vue.unref(values).type == "homeEarly" ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_4$1, [
8159
7543
  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)
7544
+ modelValue: vue.unref(values).startedAt,
7545
+ "onUpdate:modelValue": _cache[6] || (_cache[6] = ($event) => vue.unref(values).startedAt = $event)
8162
7546
  }, {
8163
- handle: "homeAt",
7547
+ handle: "startedAt",
8164
7548
  name: "Jam Pulang Kerja",
8165
7549
  options: {
8166
7550
  note: "Jam pulang kerja."
@@ -8168,8 +7552,8 @@ const _sfc_main$1 = /* @__PURE__ */ vue.defineComponent({
8168
7552
  }), {
8169
7553
  input: vue.withCtx(() => [
8170
7554
  vue.createVNode(vue.unref(NeonTime), {
8171
- modelValue: vue.unref(values).homeAt,
8172
- "onUpdate:modelValue": _cache[6] || (_cache[6] = ($event) => vue.unref(values).homeAt = $event),
7555
+ modelValue: vue.unref(values).startedAt,
7556
+ "onUpdate:modelValue": _cache[5] || (_cache[5] = ($event) => vue.unref(values).startedAt = $event),
8173
7557
  "is-loading": vue.unref(isLoading),
8174
7558
  class: "mt-2"
8175
7559
  }, null, 8, ["modelValue", "is-loading"])
@@ -8178,10 +7562,10 @@ const _sfc_main$1 = /* @__PURE__ */ vue.defineComponent({
8178
7562
  /* STABLE */
8179
7563
  }, 16, ["modelValue"]),
8180
7564
  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)
7565
+ modelValue: vue.unref(values).endedAt,
7566
+ "onUpdate:modelValue": _cache[8] || (_cache[8] = ($event) => vue.unref(values).endedAt = $event)
8183
7567
  }, {
8184
- handle: "earlyAt",
7568
+ handle: "endedAt",
8185
7569
  name: "Jam Pulang Lebih Awal",
8186
7570
  options: {
8187
7571
  note: "Jam pulang lebih awal."
@@ -8189,15 +7573,15 @@ const _sfc_main$1 = /* @__PURE__ */ vue.defineComponent({
8189
7573
  }), {
8190
7574
  input: vue.withCtx(() => [
8191
7575
  vue.createVNode(vue.unref(NeonTime), {
8192
- modelValue: vue.unref(values).earlyAt,
8193
- "onUpdate:modelValue": _cache[8] || (_cache[8] = ($event) => vue.unref(values).earlyAt = $event),
7576
+ modelValue: vue.unref(values).endedAt,
7577
+ "onUpdate:modelValue": _cache[7] || (_cache[7] = ($event) => vue.unref(values).endedAt = $event),
8194
7578
  "is-loading": vue.unref(isLoading),
8195
7579
  class: "mt-2"
8196
7580
  }, null, 8, ["modelValue", "is-loading"]),
8197
7581
  vue.createElementVNode(
8198
7582
  "div",
8199
7583
  _hoisted_5$1,
8200
- vue.toDisplayString(durationHomeAt.value),
7584
+ vue.toDisplayString(duration.value),
8201
7585
  1
8202
7586
  /* TEXT */
8203
7587
  )
@@ -8209,10 +7593,10 @@ const _sfc_main$1 = /* @__PURE__ */ vue.defineComponent({
8209
7593
  vue.createCommentVNode(" COME TOO LATE "),
8210
7594
  vue.unref(values).type == "comeLate" ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_6$1, [
8211
7595
  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)
7596
+ modelValue: vue.unref(values).startedAt,
7597
+ "onUpdate:modelValue": _cache[10] || (_cache[10] = ($event) => vue.unref(values).startedAt = $event)
8214
7598
  }, {
8215
- handle: "comeAt",
7599
+ handle: "startedAt",
8216
7600
  name: "Jam Datang",
8217
7601
  options: {
8218
7602
  note: "Jam Datang kerja."
@@ -8220,8 +7604,8 @@ const _sfc_main$1 = /* @__PURE__ */ vue.defineComponent({
8220
7604
  }), {
8221
7605
  input: vue.withCtx(() => [
8222
7606
  vue.createVNode(vue.unref(NeonTime), {
8223
- modelValue: vue.unref(values).comeAt,
8224
- "onUpdate:modelValue": _cache[10] || (_cache[10] = ($event) => vue.unref(values).comeAt = $event),
7607
+ modelValue: vue.unref(values).startedAt,
7608
+ "onUpdate:modelValue": _cache[9] || (_cache[9] = ($event) => vue.unref(values).startedAt = $event),
8225
7609
  "is-loading": vue.unref(isLoading),
8226
7610
  class: "mt-2"
8227
7611
  }, null, 8, ["modelValue", "is-loading"])
@@ -8230,10 +7614,10 @@ const _sfc_main$1 = /* @__PURE__ */ vue.defineComponent({
8230
7614
  /* STABLE */
8231
7615
  }, 16, ["modelValue"]),
8232
7616
  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)
7617
+ modelValue: vue.unref(values).endedAt,
7618
+ "onUpdate:modelValue": _cache[12] || (_cache[12] = ($event) => vue.unref(values).endedAt = $event)
8235
7619
  }, {
8236
- handle: "lateAt",
7620
+ handle: "endedAt",
8237
7621
  name: "Jam Datang Terlambat",
8238
7622
  options: {
8239
7623
  note: "Jam datang terlambat."
@@ -8241,15 +7625,15 @@ const _sfc_main$1 = /* @__PURE__ */ vue.defineComponent({
8241
7625
  }), {
8242
7626
  input: vue.withCtx(() => [
8243
7627
  vue.createVNode(vue.unref(NeonTime), {
8244
- modelValue: vue.unref(values).lateAt,
8245
- "onUpdate:modelValue": _cache[12] || (_cache[12] = ($event) => vue.unref(values).lateAt = $event),
7628
+ modelValue: vue.unref(values).endedAt,
7629
+ "onUpdate:modelValue": _cache[11] || (_cache[11] = ($event) => vue.unref(values).endedAt = $event),
8246
7630
  "is-loading": vue.unref(isLoading),
8247
7631
  class: "mt-2"
8248
7632
  }, null, 8, ["modelValue", "is-loading"]),
8249
7633
  vue.createElementVNode(
8250
7634
  "div",
8251
7635
  _hoisted_7$1,
8252
- vue.toDisplayString(durationComeAt.value),
7636
+ vue.toDisplayString(duration.value),
8253
7637
  1
8254
7638
  /* TEXT */
8255
7639
  )
@@ -8262,7 +7646,7 @@ const _sfc_main$1 = /* @__PURE__ */ vue.defineComponent({
8262
7646
  vue.unref(values).type == "timeout" ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_8$1, [
8263
7647
  vue.createVNode(vue.unref(form.NeonField), vue.mergeProps({
8264
7648
  modelValue: vue.unref(values).startedAt,
8265
- "onUpdate:modelValue": _cache[15] || (_cache[15] = ($event) => vue.unref(values).startedAt = $event)
7649
+ "onUpdate:modelValue": _cache[14] || (_cache[14] = ($event) => vue.unref(values).startedAt = $event)
8266
7650
  }, {
8267
7651
  handle: "startedAt",
8268
7652
  name: "Mulai",
@@ -8273,7 +7657,7 @@ const _sfc_main$1 = /* @__PURE__ */ vue.defineComponent({
8273
7657
  input: vue.withCtx(() => [
8274
7658
  vue.createVNode(vue.unref(NeonTime), {
8275
7659
  modelValue: vue.unref(values).startedAt,
8276
- "onUpdate:modelValue": _cache[14] || (_cache[14] = ($event) => vue.unref(values).startedAt = $event),
7660
+ "onUpdate:modelValue": _cache[13] || (_cache[13] = ($event) => vue.unref(values).startedAt = $event),
8277
7661
  "is-loading": vue.unref(isLoading),
8278
7662
  class: "mt-2"
8279
7663
  }, null, 8, ["modelValue", "is-loading"])
@@ -8283,7 +7667,7 @@ const _sfc_main$1 = /* @__PURE__ */ vue.defineComponent({
8283
7667
  }, 16, ["modelValue"]),
8284
7668
  vue.createVNode(vue.unref(form.NeonField), vue.mergeProps({
8285
7669
  modelValue: vue.unref(values).endedAt,
8286
- "onUpdate:modelValue": _cache[17] || (_cache[17] = ($event) => vue.unref(values).endedAt = $event)
7670
+ "onUpdate:modelValue": _cache[16] || (_cache[16] = ($event) => vue.unref(values).endedAt = $event)
8287
7671
  }, {
8288
7672
  handle: "endedAt",
8289
7673
  name: "Selesai",
@@ -8294,14 +7678,14 @@ const _sfc_main$1 = /* @__PURE__ */ vue.defineComponent({
8294
7678
  input: vue.withCtx(() => [
8295
7679
  vue.createVNode(vue.unref(NeonTime), {
8296
7680
  modelValue: vue.unref(values).endedAt,
8297
- "onUpdate:modelValue": _cache[16] || (_cache[16] = ($event) => vue.unref(values).endedAt = $event),
7681
+ "onUpdate:modelValue": _cache[15] || (_cache[15] = ($event) => vue.unref(values).endedAt = $event),
8298
7682
  "is-loading": vue.unref(isLoading),
8299
7683
  class: "mt-2"
8300
7684
  }, null, 8, ["modelValue", "is-loading"]),
8301
7685
  vue.createElementVNode(
8302
7686
  "div",
8303
7687
  _hoisted_9$1,
8304
- vue.toDisplayString(durationStartedAt.value),
7688
+ vue.toDisplayString(duration.value),
8305
7689
  1
8306
7690
  /* TEXT */
8307
7691
  )
@@ -8329,23 +7713,23 @@ const _sfc_main$1 = /* @__PURE__ */ vue.defineComponent({
8329
7713
  };
8330
7714
  }
8331
7715
  });
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"]]);
7716
+ const AttendanceStaff_vue_vue_type_style_index_0_scoped_724535b0_lang = "";
7717
+ const AttendanceStaff = /* @__PURE__ */ _export_sfc(_sfc_main$1, [["__scopeId", "data-v-724535b0"]]);
8334
7718
  const _hoisted_1 = { class: "flex flex-wrap" };
8335
7719
  const _hoisted_2 = { class: "mt-2" };
8336
7720
  const _hoisted_3 = { class: "mt-2" };
8337
7721
  const _hoisted_4 = {
8338
- key: 7,
7722
+ key: 3,
8339
7723
  class: "grid gap-2 sm:grid-cols-2"
8340
7724
  };
8341
7725
  const _hoisted_5 = { class: "text-right text-fg-subdued text-sm" };
8342
7726
  const _hoisted_6 = {
8343
- key: 8,
7727
+ key: 4,
8344
7728
  class: "grid gap-2 sm:grid-cols-2"
8345
7729
  };
8346
7730
  const _hoisted_7 = { class: "text-right text-fg-subdued text-sm" };
8347
7731
  const _hoisted_8 = {
8348
- key: 9,
7732
+ key: 5,
8349
7733
  class: "grid gap-2 sm:grid-cols-2"
8350
7734
  };
8351
7735
  const _hoisted_9 = { class: "text-right text-fg-subdued text-sm" };
@@ -8368,57 +7752,33 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
8368
7752
  syncOne,
8369
7753
  executeOne
8370
7754
  } = 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);
7755
+ const key = vue.ref(0);
7756
+ const diff = vue.computed(() => {
7757
+ return DateUtil.day(values.value.endedAt).diff(values.value.startedAt);
8392
7758
  });
8393
- const durationComeAt = vue.computed(() => {
8394
- if (isNaN(diffComeAt.value))
7759
+ const duration = vue.computed(() => {
7760
+ if (isNaN(diff.value))
8395
7761
  return "-";
8396
- const duration2 = DateUtil.day.duration(diffComeAt.value);
7762
+ const duration2 = DateUtil.day.duration(diff.value);
8397
7763
  return duration2.format("HH [jam] mm [menit]");
8398
7764
  });
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);
7765
+ const reverseDiff = vue.computed(() => {
7766
+ return DateUtil.day(values.value.startedAt).diff(values.value.endedAt);
8410
7767
  });
8411
- const durationStartedAt = vue.computed(() => {
8412
- if (isNaN(diffStartedAt.value))
7768
+ const reverseDuration = vue.computed(() => {
7769
+ if (isNaN(reverseDiff.value))
8413
7770
  return "-";
8414
- const duration2 = DateUtil.day.duration(diffStartedAt.value);
7771
+ const duration2 = DateUtil.day.duration(reverseDiff.value);
8415
7772
  return duration2.format("HH [jam] mm [menit]");
8416
7773
  });
8417
7774
  function onStartedAtUpdate(date) {
8418
7775
  if (!date)
8419
7776
  return;
8420
- const startedAt = DateUtil.day(date);
8421
- const endedAt = DateUtil.day(date);
7777
+ const currentEndedendedAt = DateUtil.day(values.value.endedAt);
7778
+ let startedAt = DateUtil.day(date);
7779
+ let endedAt = DateUtil.day(date);
7780
+ startedAt = startedAt.second(0).millisecond(0);
7781
+ endedAt = endedAt.hour(currentEndedendedAt.hour()).minute(currentEndedendedAt.minute()).second(0).millisecond(0);
8422
7782
  values.value.startedAt = startedAt.toISOString();
8423
7783
  values.value.endedAt = endedAt.toISOString();
8424
7784
  }
@@ -8516,32 +7876,8 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
8516
7876
  field: vue.unref(fields).submitStaff,
8517
7877
  "is-disabled": ""
8518
7878
  }, 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,
7879
+ (vue.openBlock(), vue.createBlock(vue.unref(form.NeonField), vue.mergeProps({
7880
+ key: key.value,
8545
7881
  "model-value": vue.unref(values).startedAt
8546
7882
  }, {
8547
7883
  handle: "startedAt",
@@ -8554,57 +7890,41 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
8554
7890
  }, {
8555
7891
  "is-disabled": vue.unref(values).status == "approved",
8556
7892
  "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),
7893
+ }), null, 16, ["model-value", "is-disabled"])),
8574
7894
  vue.createVNode(vue.unref(form.NeonField), vue.mergeProps({
8575
7895
  modelValue: vue.unref(values).type,
8576
- "onUpdate:modelValue": _cache[2] || (_cache[2] = ($event) => vue.unref(values).type = $event)
7896
+ "onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => vue.unref(values).type = $event)
8577
7897
  }, vue.unref(fields).type, {
8578
7898
  "is-disabled": vue.unref(values).status == "approved"
8579
7899
  }), null, 16, ["modelValue", "is-disabled"]),
8580
7900
  vue.createVNode(vue.unref(office.OfficeRelation), {
8581
7901
  modelValue: vue.unref(values),
8582
- "onUpdate:modelValue": _cache[3] || (_cache[3] = ($event) => vue.isRef(values) ? values.value = $event : null),
7902
+ "onUpdate:modelValue": _cache[2] || (_cache[2] = ($event) => vue.isRef(values) ? values.value = $event : null),
8583
7903
  field: vue.unref(fields).decideStaff,
8584
7904
  "is-disabled": vue.unref(values).status == "approved"
8585
7905
  }, null, 8, ["modelValue", "field", "is-disabled"]),
8586
7906
  vue.unref(isNew) || vue.unref(isReady) ? (vue.openBlock(), vue.createBlock(vue.unref(form.NeonField), vue.mergeProps({
8587
- key: 4,
7907
+ key: 0,
8588
7908
  modelValue: vue.unref(values).notes,
8589
- "onUpdate:modelValue": _cache[4] || (_cache[4] = ($event) => vue.unref(values).notes = $event)
7909
+ "onUpdate:modelValue": _cache[3] || (_cache[3] = ($event) => vue.unref(values).notes = $event)
8590
7910
  }, vue.unref(fields).notes), null, 16, ["modelValue"])) : vue.createCommentVNode("v-if", true),
8591
7911
  vue.unref(values).type ? (vue.openBlock(), vue.createBlock(vue.unref(interfaces.NeonDivider), {
8592
- key: 5,
7912
+ key: 1,
8593
7913
  "is-dashed": "",
8594
7914
  label: "Keterangan"
8595
7915
  })) : vue.createCommentVNode("v-if", true),
8596
7916
  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,
7917
+ key: 2,
8598
7918
  modelValue: vue.unref(values).submittedAt,
8599
- "onUpdate:modelValue": _cache[5] || (_cache[5] = ($event) => vue.unref(values).submittedAt = $event)
7919
+ "onUpdate:modelValue": _cache[4] || (_cache[4] = ($event) => vue.unref(values).submittedAt = $event)
8600
7920
  }, vue.unref(fields).submittedAt, { "is-disabled": "" }), null, 16, ["modelValue"])) : vue.createCommentVNode("v-if", true),
8601
7921
  vue.createCommentVNode(" EARLY GO HOME "),
8602
7922
  vue.unref(values).type == "homeEarly" ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_4, [
8603
7923
  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)
7924
+ modelValue: vue.unref(values).startedAt,
7925
+ "onUpdate:modelValue": _cache[6] || (_cache[6] = ($event) => vue.unref(values).startedAt = $event)
8606
7926
  }, {
8607
- handle: "homeAt",
7927
+ handle: "startedAt",
8608
7928
  name: "Jam Pulang Kerja",
8609
7929
  options: {
8610
7930
  note: "Jam pulang kerja."
@@ -8612,8 +7932,8 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
8612
7932
  }), {
8613
7933
  input: vue.withCtx(() => [
8614
7934
  vue.createVNode(vue.unref(NeonTime), {
8615
- modelValue: vue.unref(values).homeAt,
8616
- "onUpdate:modelValue": _cache[6] || (_cache[6] = ($event) => vue.unref(values).homeAt = $event),
7935
+ modelValue: vue.unref(values).startedAt,
7936
+ "onUpdate:modelValue": _cache[5] || (_cache[5] = ($event) => vue.unref(values).startedAt = $event),
8617
7937
  "is-loading": vue.unref(isLoading),
8618
7938
  class: "mt-2"
8619
7939
  }, null, 8, ["modelValue", "is-loading"])
@@ -8622,10 +7942,10 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
8622
7942
  /* STABLE */
8623
7943
  }, 16, ["modelValue"]),
8624
7944
  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)
7945
+ modelValue: vue.unref(values).endedAt,
7946
+ "onUpdate:modelValue": _cache[8] || (_cache[8] = ($event) => vue.unref(values).endedAt = $event)
8627
7947
  }, {
8628
- handle: "earlyAt",
7948
+ handle: "endedAt",
8629
7949
  name: "Jam Pulang Lebih Awal",
8630
7950
  options: {
8631
7951
  note: "Jam pulang lebih awal."
@@ -8633,15 +7953,15 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
8633
7953
  }), {
8634
7954
  input: vue.withCtx(() => [
8635
7955
  vue.createVNode(vue.unref(NeonTime), {
8636
- modelValue: vue.unref(values).earlyAt,
8637
- "onUpdate:modelValue": _cache[8] || (_cache[8] = ($event) => vue.unref(values).earlyAt = $event),
7956
+ modelValue: vue.unref(values).endedAt,
7957
+ "onUpdate:modelValue": _cache[7] || (_cache[7] = ($event) => vue.unref(values).endedAt = $event),
8638
7958
  "is-loading": vue.unref(isLoading),
8639
7959
  class: "mt-2"
8640
7960
  }, null, 8, ["modelValue", "is-loading"]),
8641
7961
  vue.createElementVNode(
8642
7962
  "div",
8643
7963
  _hoisted_5,
8644
- vue.toDisplayString(durationHomeAt.value),
7964
+ vue.toDisplayString(reverseDuration.value),
8645
7965
  1
8646
7966
  /* TEXT */
8647
7967
  )
@@ -8653,10 +7973,10 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
8653
7973
  vue.createCommentVNode(" COME TOO LATE "),
8654
7974
  vue.unref(values).type == "comeLate" ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_6, [
8655
7975
  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)
7976
+ modelValue: vue.unref(values).startedAt,
7977
+ "onUpdate:modelValue": _cache[10] || (_cache[10] = ($event) => vue.unref(values).startedAt = $event)
8658
7978
  }, {
8659
- handle: "comeAt",
7979
+ handle: "startedAt",
8660
7980
  name: "Jam Datang",
8661
7981
  options: {
8662
7982
  note: "Jam Datang kerja."
@@ -8664,8 +7984,8 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
8664
7984
  }), {
8665
7985
  input: vue.withCtx(() => [
8666
7986
  vue.createVNode(vue.unref(NeonTime), {
8667
- modelValue: vue.unref(values).comeAt,
8668
- "onUpdate:modelValue": _cache[10] || (_cache[10] = ($event) => vue.unref(values).comeAt = $event),
7987
+ modelValue: vue.unref(values).startedAt,
7988
+ "onUpdate:modelValue": _cache[9] || (_cache[9] = ($event) => vue.unref(values).startedAt = $event),
8669
7989
  "is-loading": vue.unref(isLoading),
8670
7990
  class: "mt-2"
8671
7991
  }, null, 8, ["modelValue", "is-loading"])
@@ -8674,10 +7994,10 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
8674
7994
  /* STABLE */
8675
7995
  }, 16, ["modelValue"]),
8676
7996
  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)
7997
+ modelValue: vue.unref(values).endedAt,
7998
+ "onUpdate:modelValue": _cache[12] || (_cache[12] = ($event) => vue.unref(values).endedAt = $event)
8679
7999
  }, {
8680
- handle: "lateAt",
8000
+ handle: "endedAt",
8681
8001
  name: "Jam Datang Terlambat",
8682
8002
  options: {
8683
8003
  note: "Jam datang terlambat."
@@ -8685,15 +8005,15 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
8685
8005
  }), {
8686
8006
  input: vue.withCtx(() => [
8687
8007
  vue.createVNode(vue.unref(NeonTime), {
8688
- modelValue: vue.unref(values).lateAt,
8689
- "onUpdate:modelValue": _cache[12] || (_cache[12] = ($event) => vue.unref(values).lateAt = $event),
8008
+ modelValue: vue.unref(values).endedAt,
8009
+ "onUpdate:modelValue": _cache[11] || (_cache[11] = ($event) => vue.unref(values).endedAt = $event),
8690
8010
  "is-loading": vue.unref(isLoading),
8691
8011
  class: "mt-2"
8692
8012
  }, null, 8, ["modelValue", "is-loading"]),
8693
8013
  vue.createElementVNode(
8694
8014
  "div",
8695
8015
  _hoisted_7,
8696
- vue.toDisplayString(durationComeAt.value),
8016
+ vue.toDisplayString(duration.value),
8697
8017
  1
8698
8018
  /* TEXT */
8699
8019
  )
@@ -8706,7 +8026,7 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
8706
8026
  vue.unref(values).type == "timeout" ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_8, [
8707
8027
  vue.createVNode(vue.unref(form.NeonField), vue.mergeProps({
8708
8028
  modelValue: vue.unref(values).startedAt,
8709
- "onUpdate:modelValue": _cache[15] || (_cache[15] = ($event) => vue.unref(values).startedAt = $event)
8029
+ "onUpdate:modelValue": _cache[14] || (_cache[14] = ($event) => vue.unref(values).startedAt = $event)
8710
8030
  }, {
8711
8031
  handle: "startedAt",
8712
8032
  name: "Mulai",
@@ -8717,7 +8037,7 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
8717
8037
  input: vue.withCtx(() => [
8718
8038
  vue.createVNode(vue.unref(NeonTime), {
8719
8039
  modelValue: vue.unref(values).startedAt,
8720
- "onUpdate:modelValue": _cache[14] || (_cache[14] = ($event) => vue.unref(values).startedAt = $event),
8040
+ "onUpdate:modelValue": _cache[13] || (_cache[13] = ($event) => vue.unref(values).startedAt = $event),
8721
8041
  "is-loading": vue.unref(isLoading),
8722
8042
  class: "mt-2"
8723
8043
  }, null, 8, ["modelValue", "is-loading"])
@@ -8727,7 +8047,7 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
8727
8047
  }, 16, ["modelValue"]),
8728
8048
  vue.createVNode(vue.unref(form.NeonField), vue.mergeProps({
8729
8049
  modelValue: vue.unref(values).endedAt,
8730
- "onUpdate:modelValue": _cache[17] || (_cache[17] = ($event) => vue.unref(values).endedAt = $event)
8050
+ "onUpdate:modelValue": _cache[16] || (_cache[16] = ($event) => vue.unref(values).endedAt = $event)
8731
8051
  }, {
8732
8052
  handle: "endedAt",
8733
8053
  name: "Selesai",
@@ -8738,14 +8058,14 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
8738
8058
  input: vue.withCtx(() => [
8739
8059
  vue.createVNode(vue.unref(NeonTime), {
8740
8060
  modelValue: vue.unref(values).endedAt,
8741
- "onUpdate:modelValue": _cache[16] || (_cache[16] = ($event) => vue.unref(values).endedAt = $event),
8061
+ "onUpdate:modelValue": _cache[15] || (_cache[15] = ($event) => vue.unref(values).endedAt = $event),
8742
8062
  "is-loading": vue.unref(isLoading),
8743
8063
  class: "mt-2"
8744
8064
  }, null, 8, ["modelValue", "is-loading"]),
8745
8065
  vue.createElementVNode(
8746
8066
  "div",
8747
8067
  _hoisted_9,
8748
- vue.toDisplayString(durationStartedAt.value),
8068
+ vue.toDisplayString(duration.value),
8749
8069
  1
8750
8070
  /* TEXT */
8751
8071
  )
@@ -8773,8 +8093,8 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
8773
8093
  };
8774
8094
  }
8775
8095
  });
8776
- const AttendanceManager_vue_vue_type_style_index_0_scoped_eb6a78b6_lang = "";
8777
- const AttendanceManager = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-eb6a78b6"]]);
8096
+ const AttendanceManager_vue_vue_type_style_index_0_scoped_643cca03_lang = "";
8097
+ const AttendanceManager = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-643cca03"]]);
8778
8098
  const components = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
8779
8099
  __proto__: null,
8780
8100
  AttendanceCollection: _sfc_main$3,