@neutron.co.id/operasional-interfaces 1.9.6 → 1.10.0

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
@@ -203,13 +203,13 @@ class DateUtil {
203
203
  }
204
204
  }
205
205
  const _withScopeId$3 = (n) => (vue.pushScopeId("data-v-805321b9"), n = n(), vue.popScopeId(), n);
206
- const _hoisted_1$o = {
206
+ const _hoisted_1$p = {
207
207
  key: 0,
208
208
  class: "input-loading"
209
209
  };
210
- const _hoisted_2$h = /* @__PURE__ */ _withScopeId$3(() => /* @__PURE__ */ vue.createElementVNode("div", { class: "loading placeholder-block placeholder-wave" }, null, -1));
211
- const _hoisted_3$8 = [
212
- _hoisted_2$h
210
+ const _hoisted_2$i = /* @__PURE__ */ _withScopeId$3(() => /* @__PURE__ */ vue.createElementVNode("div", { class: "loading placeholder-block placeholder-wave" }, null, -1));
211
+ const _hoisted_3$9 = [
212
+ _hoisted_2$i
213
213
  ];
214
214
  const _sfc_main$10 = /* @__PURE__ */ vue.defineComponent({
215
215
  __name: "NeonTime",
@@ -245,7 +245,7 @@ const _sfc_main$10 = /* @__PURE__ */ vue.defineComponent({
245
245
  return vue.openBlock(), vue.createElementBlock("div", {
246
246
  class: vue.normalizeClass(["neon-time", { "is-disabled": __props.isDisabled }])
247
247
  }, [
248
- __props.isLoading ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$o, _hoisted_3$8)) : (vue.openBlock(), vue.createBlock(vue.unref(vCalendar.DatePicker), vue.mergeProps({
248
+ __props.isLoading ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$p, _hoisted_3$9)) : (vue.openBlock(), vue.createBlock(vue.unref(vCalendar.DatePicker), vue.mergeProps({
249
249
  key: 1,
250
250
  "model-value": internalValue.value
251
251
  }, {
@@ -274,10 +274,10 @@ const _export_sfc = (sfc, props) => {
274
274
  return target;
275
275
  };
276
276
  const NeonTime = /* @__PURE__ */ _export_sfc(_sfc_main$10, [["__scopeId", "data-v-805321b9"]]);
277
- const _hoisted_1$n = { class: "flex flex-wrap" };
278
- const _hoisted_2$g = { class: "mt-2" };
279
- const _hoisted_3$7 = { class: "mt-2" };
280
- const _hoisted_4$5 = {
277
+ const _hoisted_1$o = { class: "flex flex-wrap" };
278
+ const _hoisted_2$h = { class: "mt-2" };
279
+ const _hoisted_3$8 = { class: "mt-2" };
280
+ const _hoisted_4$6 = {
281
281
  key: 3,
282
282
  class: "grid gap-2 sm:grid-cols-2"
283
283
  };
@@ -385,8 +385,8 @@ const _sfc_main$$ = /* @__PURE__ */ vue.defineComponent({
385
385
  onSubmit: vue.unref(saveOne)
386
386
  }, {
387
387
  default: vue.withCtx(() => [
388
- vue.createElementVNode("div", _hoisted_1$n, [
389
- vue.createElementVNode("div", _hoisted_2$g, [
388
+ vue.createElementVNode("div", _hoisted_1$o, [
389
+ vue.createElementVNode("div", _hoisted_2$h, [
390
390
  vue.createVNode(vue.unref(form.NeonField), null, {
391
391
  input: vue.withCtx(() => [
392
392
  vue.createVNode(vue.unref(interfaces.NeonButton), {
@@ -406,7 +406,7 @@ const _sfc_main$$ = /* @__PURE__ */ vue.defineComponent({
406
406
  })
407
407
  ]),
408
408
  vue.createTextVNode("    "),
409
- vue.createElementVNode("div", _hoisted_3$7, [
409
+ vue.createElementVNode("div", _hoisted_3$8, [
410
410
  vue.createVNode(vue.unref(form.NeonField), null, {
411
411
  input: vue.withCtx(() => [
412
412
  vue.createVNode(vue.unref(interfaces.NeonButton), {
@@ -473,7 +473,7 @@ const _sfc_main$$ = /* @__PURE__ */ vue.defineComponent({
473
473
  modelValue: vue.unref(values).submittedAt,
474
474
  "onUpdate:modelValue": _cache[4] || (_cache[4] = ($event) => vue.unref(values).submittedAt = $event)
475
475
  }, vue.unref(fields).submittedAt, { "is-disabled": "" }), null, 16, ["modelValue"])) : vue.createCommentVNode("", true),
476
- vue.unref(values).type == "homeEarly" ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_4$5, [
476
+ vue.unref(values).type == "homeEarly" ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_4$6, [
477
477
  vue.createVNode(vue.unref(form.NeonField), vue.mergeProps({
478
478
  modelValue: vue.unref(values).startedAt,
479
479
  "onUpdate:modelValue": _cache[6] || (_cache[6] = ($event) => vue.unref(values).startedAt = $event)
@@ -619,8 +619,8 @@ const _sfc_main$$ = /* @__PURE__ */ vue.defineComponent({
619
619
  });
620
620
  const AttendanceManager_vue_vue_type_style_index_0_scoped_643cca03_lang = "";
621
621
  const AttendanceManager = /* @__PURE__ */ _export_sfc(_sfc_main$$, [["__scopeId", "data-v-643cca03"]]);
622
- const _hoisted_1$m = { class: "grid gap-2 sm:grid-cols-2" };
623
- const _hoisted_2$f = { class: "text-right text-fg-subdued text-sm" };
622
+ const _hoisted_1$n = { class: "grid gap-2 sm:grid-cols-2" };
623
+ const _hoisted_2$g = { class: "text-right text-fg-subdued text-sm" };
624
624
  const _sfc_main$_ = /* @__PURE__ */ vue.defineComponent({
625
625
  __name: "AttendanceSingle",
626
626
  setup(__props) {
@@ -732,7 +732,7 @@ const _sfc_main$_ = /* @__PURE__ */ vue.defineComponent({
732
732
  modelValue: vue.unref(values).submittedAt,
733
733
  "onUpdate:modelValue": _cache[5] || (_cache[5] = ($event) => vue.unref(values).submittedAt = $event)
734
734
  }, vue.unref(fields).submittedAt), null, 16, ["modelValue"]),
735
- vue.createElementVNode("div", _hoisted_1$m, [
735
+ vue.createElementVNode("div", _hoisted_1$n, [
736
736
  vue.createVNode(vue.unref(form.NeonField), vue.mergeProps({
737
737
  modelValue: vue.unref(values).startedAt,
738
738
  "onUpdate:modelValue": _cache[7] || (_cache[7] = ($event) => vue.unref(values).startedAt = $event)
@@ -770,7 +770,7 @@ const _sfc_main$_ = /* @__PURE__ */ vue.defineComponent({
770
770
  "is-loading": vue.unref(isLoading),
771
771
  class: "mt-2"
772
772
  }, null, 8, ["modelValue", "is-loading"]),
773
- vue.createElementVNode("div", _hoisted_2$f, vue.toDisplayString(duration.value), 1)
773
+ vue.createElementVNode("div", _hoisted_2$g, vue.toDisplayString(duration.value), 1)
774
774
  ]),
775
775
  _: 1
776
776
  }, 16, ["modelValue"])
@@ -792,13 +792,13 @@ const _sfc_main$_ = /* @__PURE__ */ vue.defineComponent({
792
792
  });
793
793
  const AttendanceSingle_vue_vue_type_style_index_0_scoped_0c3c6187_lang = "";
794
794
  const AttendanceSingle = /* @__PURE__ */ _export_sfc(_sfc_main$_, [["__scopeId", "data-v-0c3c6187"]]);
795
- const _hoisted_1$l = {
795
+ const _hoisted_1$m = {
796
796
  key: 1,
797
797
  class: "flex flex-wrap"
798
798
  };
799
- const _hoisted_2$e = { class: "mt-2" };
800
- const _hoisted_3$6 = { class: "mt-2" };
801
- const _hoisted_4$4 = {
799
+ const _hoisted_2$f = { class: "mt-2" };
800
+ const _hoisted_3$7 = { class: "mt-2" };
801
+ const _hoisted_4$5 = {
802
802
  key: 5,
803
803
  class: "grid gap-2 sm:grid-cols-2"
804
804
  };
@@ -936,8 +936,8 @@ const _sfc_main$Z = /* @__PURE__ */ vue.defineComponent({
936
936
  description: "Untuk hari ini kamu sudah ada absensi yang diajukan, silahkan cari absensi yang telah diajukan dan ajukan kembali untuk pergantiannya.",
937
937
  color: "#F7CF6D"
938
938
  })) : vue.createCommentVNode("", true),
939
- !vue.unref(isNew) && conflictAtt.value == false ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$l, [
940
- vue.createElementVNode("div", _hoisted_2$e, [
939
+ !vue.unref(isNew) && conflictAtt.value == false ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$m, [
940
+ vue.createElementVNode("div", _hoisted_2$f, [
941
941
  vue.createVNode(vue.unref(form.NeonField), null, {
942
942
  input: vue.withCtx(() => [
943
943
  vue.createVNode(vue.unref(interfaces.NeonButton), {
@@ -957,7 +957,7 @@ const _sfc_main$Z = /* @__PURE__ */ vue.defineComponent({
957
957
  })
958
958
  ]),
959
959
  vue.createTextVNode("    "),
960
- vue.createElementVNode("div", _hoisted_3$6, [
960
+ vue.createElementVNode("div", _hoisted_3$7, [
961
961
  vue.createVNode(vue.unref(form.NeonField), null, {
962
962
  input: vue.withCtx(() => [
963
963
  vue.createVNode(vue.unref(interfaces.NeonButton), {
@@ -1026,7 +1026,7 @@ const _sfc_main$Z = /* @__PURE__ */ vue.defineComponent({
1026
1026
  modelValue: vue.unref(values).submittedAt,
1027
1027
  "onUpdate:modelValue": _cache[4] || (_cache[4] = ($event) => vue.unref(values).submittedAt = $event)
1028
1028
  }, vue.unref(fields).submittedAt, { "is-disabled": "" }), null, 16, ["modelValue"])) : vue.createCommentVNode("", true),
1029
- vue.unref(values).type == "homeEarly" ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_4$4, [
1029
+ vue.unref(values).type == "homeEarly" ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_4$5, [
1030
1030
  vue.createVNode(vue.unref(form.NeonField), vue.mergeProps({
1031
1031
  modelValue: vue.unref(values).startedAt,
1032
1032
  "onUpdate:modelValue": _cache[6] || (_cache[6] = ($event) => vue.unref(values).startedAt = $event)
@@ -1178,10 +1178,10 @@ const _sfc_main$Z = /* @__PURE__ */ vue.defineComponent({
1178
1178
  });
1179
1179
  const AttendanceStaff_vue_vue_type_style_index_0_scoped_8a21c329_lang = "";
1180
1180
  const AttendanceStaff = /* @__PURE__ */ _export_sfc(_sfc_main$Z, [["__scopeId", "data-v-8a21c329"]]);
1181
- const _hoisted_1$k = { class: "flex flex-wrap" };
1182
- const _hoisted_2$d = { class: "mt-2" };
1183
- const _hoisted_3$5 = { class: "mt-2" };
1184
- const _hoisted_4$3 = {
1181
+ const _hoisted_1$l = { class: "flex flex-wrap" };
1182
+ const _hoisted_2$e = { class: "mt-2" };
1183
+ const _hoisted_3$6 = { class: "mt-2" };
1184
+ const _hoisted_4$4 = {
1185
1185
  key: 3,
1186
1186
  class: "grid gap-2 sm:grid-cols-2"
1187
1187
  };
@@ -1289,8 +1289,8 @@ const _sfc_main$Y = /* @__PURE__ */ vue.defineComponent({
1289
1289
  onSubmit: vue.unref(saveOne)
1290
1290
  }, {
1291
1291
  default: vue.withCtx(() => [
1292
- vue.createElementVNode("div", _hoisted_1$k, [
1293
- vue.createElementVNode("div", _hoisted_2$d, [
1292
+ vue.createElementVNode("div", _hoisted_1$l, [
1293
+ vue.createElementVNode("div", _hoisted_2$e, [
1294
1294
  vue.createVNode(vue.unref(form.NeonField), null, {
1295
1295
  input: vue.withCtx(() => [
1296
1296
  vue.createVNode(vue.unref(interfaces.NeonButton), {
@@ -1310,7 +1310,7 @@ const _sfc_main$Y = /* @__PURE__ */ vue.defineComponent({
1310
1310
  })
1311
1311
  ]),
1312
1312
  vue.createTextVNode("    "),
1313
- vue.createElementVNode("div", _hoisted_3$5, [
1313
+ vue.createElementVNode("div", _hoisted_3$6, [
1314
1314
  vue.createVNode(vue.unref(form.NeonField), null, {
1315
1315
  input: vue.withCtx(() => [
1316
1316
  vue.createVNode(vue.unref(interfaces.NeonButton), {
@@ -1371,7 +1371,7 @@ const _sfc_main$Y = /* @__PURE__ */ vue.defineComponent({
1371
1371
  modelValue: vue.unref(values).submittedAt,
1372
1372
  "onUpdate:modelValue": _cache[3] || (_cache[3] = ($event) => vue.unref(values).submittedAt = $event)
1373
1373
  }, vue.unref(fields).submittedAt, { "is-disabled": "" }), null, 16, ["modelValue"])) : vue.createCommentVNode("", true),
1374
- vue.unref(values).type == "homeEarly" ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_4$3, [
1374
+ vue.unref(values).type == "homeEarly" ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_4$4, [
1375
1375
  vue.createVNode(vue.unref(form.NeonField), vue.mergeProps({
1376
1376
  modelValue: vue.unref(values).startedAt,
1377
1377
  "onUpdate:modelValue": _cache[5] || (_cache[5] = ($event) => vue.unref(values).startedAt = $event)
@@ -1518,11 +1518,11 @@ const _sfc_main$Y = /* @__PURE__ */ vue.defineComponent({
1518
1518
  const AttendanceSupervisor_vue_vue_type_style_index_0_scoped_07f6564f_lang = "";
1519
1519
  const AttendanceSupervisor = /* @__PURE__ */ _export_sfc(_sfc_main$Y, [["__scopeId", "data-v-07f6564f"]]);
1520
1520
  const CheckInModel = tempatModels.models.CheckInModel;
1521
- const _withScopeId$2 = (n) => (vue.pushScopeId("data-v-8637aebc"), n = n(), vue.popScopeId(), n);
1522
- const _hoisted_1$j = { id: "view-checkIns" };
1523
- const _hoisted_2$c = { class: "summary" };
1524
- const _hoisted_3$4 = { class: "wrapper" };
1525
- const _hoisted_4$2 = { class: "header" };
1521
+ const _withScopeId$2 = (n) => (vue.pushScopeId("data-v-094d5b21"), n = n(), vue.popScopeId(), n);
1522
+ const _hoisted_1$k = { id: "view-checkIns" };
1523
+ const _hoisted_2$d = { class: "summary" };
1524
+ const _hoisted_3$5 = { class: "wrapper" };
1525
+ const _hoisted_4$3 = { class: "header" };
1526
1526
  const _hoisted_5$1 = /* @__PURE__ */ _withScopeId$2(() => /* @__PURE__ */ vue.createElementVNode("div", { class: "start" }, [
1527
1527
  /* @__PURE__ */ vue.createElementVNode("div", { class: "title" }, "➡️ Presensi"),
1528
1528
  /* @__PURE__ */ vue.createElementVNode("div", { class: "description" }, "Daftar presensi hari ini.")
@@ -1542,6 +1542,7 @@ const _sfc_main$X = /* @__PURE__ */ vue.defineComponent({
1542
1542
  const { staff } = useOperasional();
1543
1543
  const attendanceStore = useAttendanceStore();
1544
1544
  const { isAsking, isScanning, isEntering, isScanError, isScanned, type } = pinia.storeToRefs(attendanceStore);
1545
+ const { coords } = core.useGeolocation();
1545
1546
  const toast = interfaces.useToastStore();
1546
1547
  const id = vue.ref("new");
1547
1548
  const isCheckpoint = vue.ref(false);
@@ -1614,7 +1615,13 @@ const _sfc_main$X = /* @__PURE__ */ vue.defineComponent({
1614
1615
  }
1615
1616
  async function onPresenceHome() {
1616
1617
  var _a;
1617
- await checkInStaff(null, "home", (_a = staff.value) == null ? void 0 : _a.id);
1618
+ await checkInStaff(
1619
+ null,
1620
+ "home",
1621
+ (_a = staff.value) == null ? void 0 : _a.id,
1622
+ coords.value.latitude.toString(),
1623
+ coords.value.longitude.toString()
1624
+ );
1618
1625
  setTimeout(() => {
1619
1626
  router.go(0);
1620
1627
  }, 500);
@@ -1625,9 +1632,15 @@ const _sfc_main$X = /* @__PURE__ */ vue.defineComponent({
1625
1632
  }
1626
1633
  async function onScanned(data) {
1627
1634
  var _a;
1628
- id.value = await checkInStaff(data, type.value, (_a = staff.value) == null ? void 0 : _a.id);
1635
+ id.value = await checkInStaff(
1636
+ data,
1637
+ type.value,
1638
+ (_a = staff.value) == null ? void 0 : _a.id,
1639
+ coords.value.latitude.toString(),
1640
+ coords.value.longitude.toString()
1641
+ );
1629
1642
  }
1630
- async function checkInStaff(qrKey, type2, staffId) {
1643
+ async function checkInStaff(qrKey, type2, staffId, latitude, longitude) {
1631
1644
  var _a;
1632
1645
  const toastId = "neu:personalia:staff:checkIn";
1633
1646
  let checkInId;
@@ -1640,7 +1653,9 @@ const _sfc_main$X = /* @__PURE__ */ vue.defineComponent({
1640
1653
  staffId,
1641
1654
  key: qrKey,
1642
1655
  type: type2,
1643
- branchId: (_a = staff.value) == null ? void 0 : _a.branchId
1656
+ branchId: (_a = staff.value) == null ? void 0 : _a.branchId,
1657
+ latitude,
1658
+ longitude
1644
1659
  }
1645
1660
  }).toPromise();
1646
1661
  const data = resp.data.executeCheckIn.output;
@@ -1685,14 +1700,14 @@ const _sfc_main$X = /* @__PURE__ */ vue.defineComponent({
1685
1700
  return (_ctx, _cache) => {
1686
1701
  const _component_CheckInSingleExternalView = vue.resolveComponent("CheckInSingleExternalView");
1687
1702
  const _component_CheckInCollection = vue.resolveComponent("CheckInCollection");
1688
- return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$j, [
1703
+ return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$k, [
1689
1704
  vue.createVNode(vue.unref(office.OfficeContent), {
1690
1705
  icon: "barcode-read",
1691
1706
  title: "Presensi",
1692
1707
  "is-expanded": ""
1693
1708
  }, {
1694
1709
  "header-detail": vue.withCtx(() => [
1695
- vue.createElementVNode("div", _hoisted_2$c, [
1710
+ vue.createElementVNode("div", _hoisted_2$d, [
1696
1711
  vue.createVNode(vue.unref(interfaces.NeonSlider), {
1697
1712
  "per-view": 2,
1698
1713
  gap: 16,
@@ -1725,7 +1740,6 @@ const _sfc_main$X = /* @__PURE__ */ vue.defineComponent({
1725
1740
  default: vue.withCtx(() => [
1726
1741
  vue.createVNode(vue.unref(interfaces.NeonStat), {
1727
1742
  label: "Checkpoint",
1728
- icon: "barcode-read",
1729
1743
  onClick: onPresenceCheckpoint
1730
1744
  }, {
1731
1745
  default: vue.withCtx(() => [
@@ -1755,7 +1769,6 @@ const _sfc_main$X = /* @__PURE__ */ vue.defineComponent({
1755
1769
  default: vue.withCtx(() => [
1756
1770
  vue.createVNode(vue.unref(interfaces.NeonStat), {
1757
1771
  label: "Pulang",
1758
- icon: "barcode-read",
1759
1772
  onClick: onPresenceHome
1760
1773
  }, {
1761
1774
  default: vue.withCtx(() => [
@@ -1825,7 +1838,7 @@ const _sfc_main$X = /* @__PURE__ */ vue.defineComponent({
1825
1838
  ])
1826
1839
  ]),
1827
1840
  default: vue.withCtx(() => [
1828
- vue.createElementVNode("div", _hoisted_3$4, [
1841
+ vue.createElementVNode("div", _hoisted_3$5, [
1829
1842
  vue.createVNode(vue.unref(context.NeonCollectionContext), {
1830
1843
  definition: "neu:tempat:checkIn",
1831
1844
  scope: "_checkIns",
@@ -1840,7 +1853,7 @@ const _sfc_main$X = /* @__PURE__ */ vue.defineComponent({
1840
1853
  "is-main": ""
1841
1854
  }, {
1842
1855
  default: vue.withCtx(() => [
1843
- vue.createElementVNode("div", _hoisted_4$2, [
1856
+ vue.createElementVNode("div", _hoisted_4$3, [
1844
1857
  _hoisted_5$1,
1845
1858
  vue.createElementVNode("div", _hoisted_6, [
1846
1859
  vue.createVNode(vue.unref(office.OfficeCollectionQuery), { displays: ["table"] }, {
@@ -1863,9 +1876,9 @@ const _sfc_main$X = /* @__PURE__ */ vue.defineComponent({
1863
1876
  };
1864
1877
  }
1865
1878
  });
1866
- const CheckInPresenceCollection_vue_vue_type_style_index_0_scoped_8637aebc_lang = "";
1867
- const CheckInPresenceCollection = /* @__PURE__ */ _export_sfc(_sfc_main$X, [["__scopeId", "data-v-8637aebc"]]);
1868
- const _hoisted_1$i = { class: "grid gap-4 sm:grid-cols-2" };
1879
+ const CheckInPresenceCollection_vue_vue_type_style_index_0_scoped_094d5b21_lang = "";
1880
+ const CheckInPresenceCollection = /* @__PURE__ */ _export_sfc(_sfc_main$X, [["__scopeId", "data-v-094d5b21"]]);
1881
+ const _hoisted_1$j = { class: "grid gap-4 sm:grid-cols-2" };
1869
1882
  const _sfc_main$W = /* @__PURE__ */ vue.defineComponent({
1870
1883
  __name: "CheckInSingle",
1871
1884
  setup(__props) {
@@ -1924,7 +1937,7 @@ const _sfc_main$W = /* @__PURE__ */ vue.defineComponent({
1924
1937
  field: vue.unref(fields).building,
1925
1938
  "is-disabled": ""
1926
1939
  }, null, 8, ["modelValue", "field"]),
1927
- vue.createElementVNode("div", _hoisted_1$i, [
1940
+ vue.createElementVNode("div", _hoisted_1$j, [
1928
1941
  vue.createVNode(vue.unref(form.NeonField), vue.mergeProps({
1929
1942
  modelValue: vue.unref(values).type,
1930
1943
  "onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => vue.unref(values).type = $event)
@@ -1961,7 +1974,7 @@ const _sfc_main$W = /* @__PURE__ */ vue.defineComponent({
1961
1974
  });
1962
1975
  const CheckInSingle_vue_vue_type_style_index_0_scoped_e56842b0_lang = "";
1963
1976
  const CheckInSingle = /* @__PURE__ */ _export_sfc(_sfc_main$W, [["__scopeId", "data-v-e56842b0"]]);
1964
- const _hoisted_1$h = { class: "grid gap-4 sm:grid-cols-2" };
1977
+ const _hoisted_1$i = { class: "grid gap-4 sm:grid-cols-2" };
1965
1978
  const _sfc_main$V = /* @__PURE__ */ vue.defineComponent({
1966
1979
  __name: "CheckInExternal",
1967
1980
  setup(__props) {
@@ -2028,7 +2041,7 @@ const _sfc_main$V = /* @__PURE__ */ vue.defineComponent({
2028
2041
  field: vue.unref(fields).building,
2029
2042
  "is-disabled": vue.unref(values).type === "checkin" || vue.unref(values).type === "checkout" || vue.unref(values).type === "out"
2030
2043
  }, null, 8, ["modelValue", "field", "is-disabled"])) : vue.createCommentVNode("", true),
2031
- vue.createElementVNode("div", _hoisted_1$h, [
2044
+ vue.createElementVNode("div", _hoisted_1$i, [
2032
2045
  vue.createVNode(vue.unref(form.NeonField), vue.mergeProps({
2033
2046
  modelValue: vue.unref(values).type,
2034
2047
  "onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => vue.unref(values).type = $event)
@@ -2072,8 +2085,8 @@ const _sfc_main$V = /* @__PURE__ */ vue.defineComponent({
2072
2085
  const CheckInExternal_vue_vue_type_style_index_0_scoped_aeda12b0_lang = "";
2073
2086
  const CheckInExternal = /* @__PURE__ */ _export_sfc(_sfc_main$V, [["__scopeId", "data-v-aeda12b0"]]);
2074
2087
  const _withScopeId$1 = (n) => (vue.pushScopeId("data-v-d6ac1ebc"), n = n(), vue.popScopeId(), n);
2075
- const _hoisted_1$g = /* @__PURE__ */ _withScopeId$1(() => /* @__PURE__ */ vue.createElementVNode("h4", { align: "center" }, "Aktifkan kamera untuk scan QR Code", -1));
2076
- const _hoisted_2$b = /* @__PURE__ */ _withScopeId$1(() => /* @__PURE__ */ vue.createElementVNode("p", { align: "center" }, [
2088
+ const _hoisted_1$h = /* @__PURE__ */ _withScopeId$1(() => /* @__PURE__ */ vue.createElementVNode("h4", { align: "center" }, "Aktifkan kamera untuk scan QR Code", -1));
2089
+ const _hoisted_2$c = /* @__PURE__ */ _withScopeId$1(() => /* @__PURE__ */ vue.createElementVNode("p", { align: "center" }, [
2077
2090
  /* @__PURE__ */ vue.createTextVNode(' Neutron Kantor membutuhkan akses ke kamera. Dengan klik "'),
2078
2091
  /* @__PURE__ */ vue.createElementVNode("b", null, "Saya Setuju"),
2079
2092
  /* @__PURE__ */ vue.createTextVNode('", kamu telah menyetujui syarat dan ketentuan yang berlaku. ')
@@ -2103,8 +2116,8 @@ const _sfc_main$U = /* @__PURE__ */ vue.defineComponent({
2103
2116
  onClose: _cache[0] || (_cache[0] = ($event) => _ctx.$emit("close"))
2104
2117
  }, {
2105
2118
  default: vue.withCtx(() => [
2106
- _hoisted_1$g,
2107
- _hoisted_2$b,
2119
+ _hoisted_1$h,
2120
+ _hoisted_2$c,
2108
2121
  vue.createVNode(vue.unref(interfaces.NeonButton), {
2109
2122
  "is-full": "",
2110
2123
  size: "md",
@@ -2129,7 +2142,7 @@ const _sfc_main$U = /* @__PURE__ */ vue.defineComponent({
2129
2142
  });
2130
2143
  const CheckInAccess_vue_vue_type_style_index_0_scoped_d6ac1ebc_lang = "";
2131
2144
  const CheckInAccess = /* @__PURE__ */ _export_sfc(_sfc_main$U, [["__scopeId", "data-v-d6ac1ebc"]]);
2132
- const _hoisted_1$f = { class: "buttons" };
2145
+ const _hoisted_1$g = { class: "buttons" };
2133
2146
  const _sfc_main$T = /* @__PURE__ */ vue.defineComponent({
2134
2147
  __name: "CheckInScanError",
2135
2148
  setup(__props) {
@@ -2143,7 +2156,7 @@ const _sfc_main$T = /* @__PURE__ */ vue.defineComponent({
2143
2156
  default: vue.withCtx(() => [
2144
2157
  vue.createVNode(vue.unref(interfaces.NeonSheet), null, {
2145
2158
  footer: vue.withCtx(() => [
2146
- vue.createElementVNode("div", _hoisted_1$f, [
2159
+ vue.createElementVNode("div", _hoisted_1$g, [
2147
2160
  vue.createVNode(vue.unref(interfaces.NeonButton), {
2148
2161
  "is-full": "",
2149
2162
  "is-rounded": "",
@@ -2175,10 +2188,10 @@ const _sfc_main$T = /* @__PURE__ */ vue.defineComponent({
2175
2188
  }
2176
2189
  });
2177
2190
  const _withScopeId = (n) => (vue.pushScopeId("data-v-dc535804"), n = n(), vue.popScopeId(), n);
2178
- const _hoisted_1$e = /* @__PURE__ */ _withScopeId(() => /* @__PURE__ */ vue.createElementVNode("div", { class: "invalid-message" }, "Invalid Code!", -1));
2179
- const _hoisted_2$a = /* @__PURE__ */ _withScopeId(() => /* @__PURE__ */ vue.createElementVNode("div", null, null, -1));
2180
- const _hoisted_3$3 = ["onClick"];
2181
- const _hoisted_4$1 = { class: "mr-2 text-sm" };
2191
+ const _hoisted_1$f = /* @__PURE__ */ _withScopeId(() => /* @__PURE__ */ vue.createElementVNode("div", { class: "invalid-message" }, "Invalid Code!", -1));
2192
+ const _hoisted_2$b = /* @__PURE__ */ _withScopeId(() => /* @__PURE__ */ vue.createElementVNode("div", null, null, -1));
2193
+ const _hoisted_3$4 = ["onClick"];
2194
+ const _hoisted_4$2 = { class: "mr-2 text-sm" };
2182
2195
  const _sfc_main$S = /* @__PURE__ */ vue.defineComponent({
2183
2196
  __name: "CheckInScanner",
2184
2197
  emits: ["start", "stop", "scanned", "close"],
@@ -2315,20 +2328,20 @@ const _sfc_main$S = /* @__PURE__ */ vue.defineComponent({
2315
2328
  class: "inner",
2316
2329
  onClick: switchCamera
2317
2330
  }, [
2318
- _hoisted_1$e,
2319
- _hoisted_2$a,
2331
+ _hoisted_1$f,
2332
+ _hoisted_2$b,
2320
2333
  vue.createElementVNode("div", {
2321
2334
  class: "button-switch",
2322
2335
  onClick: vue.withModifiers(switchCamera, ["stop"])
2323
2336
  }, [
2324
- vue.createElementVNode("div", _hoisted_4$1, vue.toDisplayString(currentCamera.value), 1),
2337
+ vue.createElementVNode("div", _hoisted_4$2, vue.toDisplayString(currentCamera.value), 1),
2325
2338
  vue.createVNode(vue.unref(interfaces.NeonButton), {
2326
2339
  "icon-left": "arrows-repeat",
2327
2340
  "is-squared": "",
2328
2341
  size: "sm",
2329
2342
  "is-disabled": !canSwitch.value
2330
2343
  }, null, 8, ["is-disabled"])
2331
- ], 8, _hoisted_3$3)
2344
+ ], 8, _hoisted_3$4)
2332
2345
  ])
2333
2346
  ], 2)
2334
2347
  ]),
@@ -2342,7 +2355,7 @@ const _sfc_main$S = /* @__PURE__ */ vue.defineComponent({
2342
2355
  });
2343
2356
  const CheckInScanner_vue_vue_type_style_index_0_scoped_dc535804_lang = "";
2344
2357
  const CheckInScanner = /* @__PURE__ */ _export_sfc(_sfc_main$S, [["__scopeId", "data-v-dc535804"]]);
2345
- const _hoisted_1$d = /* @__PURE__ */ vue.createElementVNode("h3", { align: "center" }, "Presensi Berhasil!", -1);
2358
+ const _hoisted_1$e = /* @__PURE__ */ vue.createElementVNode("h3", { align: "center" }, "Presensi Berhasil!", -1);
2346
2359
  const _sfc_main$R = /* @__PURE__ */ vue.defineComponent({
2347
2360
  __name: "CheckInScanSuccess",
2348
2361
  emits: ["close"],
@@ -2363,7 +2376,7 @@ const _sfc_main$R = /* @__PURE__ */ vue.defineComponent({
2363
2376
  onClose: _cache[0] || (_cache[0] = ($event) => _ctx.$emit("close"))
2364
2377
  }, {
2365
2378
  default: vue.withCtx(() => [
2366
- _hoisted_1$d
2379
+ _hoisted_1$e
2367
2380
  ]),
2368
2381
  _: 1
2369
2382
  })
@@ -2390,7 +2403,7 @@ const _sfc_main$Q = /* @__PURE__ */ vue.defineComponent({
2390
2403
  };
2391
2404
  }
2392
2405
  });
2393
- const _hoisted_1$c = { class: "grid gap-4 sm:grid-cols-2" };
2406
+ const _hoisted_1$d = { class: "grid gap-4 sm:grid-cols-2" };
2394
2407
  const _sfc_main$P = /* @__PURE__ */ vue.defineComponent({
2395
2408
  __name: "CheckInSupervisor",
2396
2409
  setup(__props) {
@@ -2458,7 +2471,7 @@ const _sfc_main$P = /* @__PURE__ */ vue.defineComponent({
2458
2471
  field: vue.unref(fields).building,
2459
2472
  "is-disabled": vue.unref(values).type === "checkin" || vue.unref(values).type === "checkout" || vue.unref(values).type === "out"
2460
2473
  }, null, 8, ["modelValue", "field", "is-disabled"])) : vue.createCommentVNode("", true),
2461
- vue.createElementVNode("div", _hoisted_1$c, [
2474
+ vue.createElementVNode("div", _hoisted_1$d, [
2462
2475
  vue.createVNode(vue.unref(form.NeonField), vue.mergeProps({
2463
2476
  modelValue: vue.unref(values).type,
2464
2477
  "onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => vue.unref(values).type = $event)
@@ -2501,8 +2514,8 @@ const _sfc_main$P = /* @__PURE__ */ vue.defineComponent({
2501
2514
  });
2502
2515
  const CheckInSupervisor_vue_vue_type_style_index_0_scoped_551b53ec_lang = "";
2503
2516
  const CheckInSupervisor = /* @__PURE__ */ _export_sfc(_sfc_main$P, [["__scopeId", "data-v-551b53ec"]]);
2504
- const _hoisted_1$b = { class: "operasional-identitas" };
2505
- const _hoisted_2$9 = {
2517
+ const _hoisted_1$c = { class: "operasional-identitas" };
2518
+ const _hoisted_2$a = {
2506
2519
  key: 2,
2507
2520
  class: "section"
2508
2521
  };
@@ -2765,7 +2778,7 @@ const _sfc_main$O = /* @__PURE__ */ vue.defineComponent({
2765
2778
  candidateId.value = null;
2766
2779
  }
2767
2780
  return (_ctx, _cache) => {
2768
- return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$b, [
2781
+ return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$c, [
2769
2782
  state.value === "connect" ? (vue.openBlock(), vue.createBlock(vue.unref(identitasInterfaces.IdentitasConnect), {
2770
2783
  key: 0,
2771
2784
  user: user.value,
@@ -2815,7 +2828,7 @@ const _sfc_main$O = /* @__PURE__ */ vue.defineComponent({
2815
2828
  }),
2816
2829
  _: 1
2817
2830
  }, 8, ["initial-values", "is-loading", "errors"])) : vue.createCommentVNode("", true),
2818
- user.value && onDelegate ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_2$9, [
2831
+ user.value && onDelegate ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_2$a, [
2819
2832
  vue.createVNode(vue.unref(interfaces.NeonDivider), {
2820
2833
  "is-dashed": "",
2821
2834
  label: "Delegasi",
@@ -3329,7 +3342,7 @@ const _sfc_main$J = /* @__PURE__ */ vue.defineComponent({
3329
3342
  });
3330
3343
  const PlanTypeSingle_vue_vue_type_style_index_0_scoped_7690175d_lang = "";
3331
3344
  const PlanTypeSingle = /* @__PURE__ */ _export_sfc(_sfc_main$J, [["__scopeId", "data-v-7690175d"]]);
3332
- const _hoisted_1$a = { class: "flex flex-wrap" };
3345
+ const _hoisted_1$b = { class: "flex flex-wrap" };
3333
3346
  const _sfc_main$I = /* @__PURE__ */ vue.defineComponent({
3334
3347
  ...{ name: "ProgressButton" },
3335
3348
  __name: "ProgressButton",
@@ -3345,7 +3358,7 @@ const _sfc_main$I = /* @__PURE__ */ vue.defineComponent({
3345
3358
  router.push("/penugasan/yesterday-progresses/new");
3346
3359
  };
3347
3360
  return (_ctx, _cache) => {
3348
- return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$a, [
3361
+ return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$b, [
3349
3362
  vue.createVNode(vue.unref(interfaces.NeonButton), {
3350
3363
  "is-rounded": true,
3351
3364
  size: "sm",
@@ -3376,7 +3389,7 @@ const _sfc_main$I = /* @__PURE__ */ vue.defineComponent({
3376
3389
  };
3377
3390
  }
3378
3391
  });
3379
- const _hoisted_1$9 = { class: "flex flex-wrap" };
3392
+ const _hoisted_1$a = { class: "flex flex-wrap" };
3380
3393
  const _sfc_main$H = /* @__PURE__ */ vue.defineComponent({
3381
3394
  ...{ name: "ProgressNoteButton" },
3382
3395
  __name: "ProgressNoteButton",
@@ -3386,7 +3399,7 @@ const _sfc_main$H = /* @__PURE__ */ vue.defineComponent({
3386
3399
  router.push("/penugasan/notes/new");
3387
3400
  };
3388
3401
  return (_ctx, _cache) => {
3389
- return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$9, [
3402
+ return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$a, [
3390
3403
  vue.createVNode(vue.unref(interfaces.NeonButton), {
3391
3404
  "is-rounded": true,
3392
3405
  size: "sm",
@@ -3491,8 +3504,8 @@ const _sfc_main$F = /* @__PURE__ */ vue.defineComponent({
3491
3504
  });
3492
3505
  const ProgressCollection_vue_vue_type_style_index_0_scoped_73139a91_lang = "";
3493
3506
  const ProgressCollection = /* @__PURE__ */ _export_sfc(_sfc_main$F, [["__scopeId", "data-v-73139a91"]]);
3494
- const _hoisted_1$8 = { class: "grid gap-2 sm:grid-cols-2" };
3495
- const _hoisted_2$8 = { class: "text-right text-fg-subdued text-sm" };
3507
+ const _hoisted_1$9 = { class: "grid gap-2 sm:grid-cols-2" };
3508
+ const _hoisted_2$9 = { class: "text-right text-fg-subdued text-sm" };
3496
3509
  const _sfc_main$E = /* @__PURE__ */ vue.defineComponent({
3497
3510
  __name: "ProgressSingle",
3498
3511
  setup(__props) {
@@ -3511,32 +3524,8 @@ const _sfc_main$E = /* @__PURE__ */ vue.defineComponent({
3511
3524
  saveOne,
3512
3525
  discardChanges
3513
3526
  } = context.useSingle();
3514
- const responsibilityOptions = vue.computed(() => {
3515
- var _a2, _b;
3516
- return {
3517
- filter: [
3518
- {
3519
- handle: "condition",
3520
- operator: "eq",
3521
- value: "active"
3522
- },
3523
- {
3524
- $or: [
3525
- {
3526
- handle: "staffWorkIds",
3527
- operator: "in",
3528
- value: (_a2 = staff.value) == null ? void 0 : _a2.id
3529
- },
3530
- {
3531
- handle: "staffSuperviseIds",
3532
- operator: "in",
3533
- value: (_b = staff.value) == null ? void 0 : _b.id
3534
- }
3535
- ]
3536
- }
3537
- ]
3538
- };
3539
- });
3527
+ context.usePermit();
3528
+ const path = vueRouter.useRoute().path;
3540
3529
  const key = vue.ref(0);
3541
3530
  const diff = vue.computed(() => {
3542
3531
  return DateUtil.day(values.value.endedAt).diff(values.value.startedAt);
@@ -3561,19 +3550,35 @@ const _sfc_main$E = /* @__PURE__ */ vue.defineComponent({
3561
3550
  const sekarang = DateUtil.day(/* @__PURE__ */ new Date());
3562
3551
  const besok = sekarang;
3563
3552
  const staffId = ((_a = staff.value) == null ? void 0 : _a.id) || "";
3553
+ vue.watch(
3554
+ isNew,
3555
+ (isNew2) => {
3556
+ var _a2;
3557
+ if (!isNew2)
3558
+ return;
3559
+ values.value.staffIds = [staffId];
3560
+ values.value.staffs = [
3561
+ {
3562
+ id: staffId,
3563
+ flag: (_a2 = staff.value) == null ? void 0 : _a2.flag
3564
+ }
3565
+ ];
3566
+ },
3567
+ {
3568
+ immediate: true
3569
+ }
3570
+ );
3564
3571
  vue.watch(isNew, setDefaultValues, { immediate: true });
3565
3572
  async function setDefaultValues() {
3566
- var _a2;
3567
3573
  if (!isNew.value)
3568
3574
  return;
3569
3575
  await promise.PromiseUtil.wait(500);
3570
3576
  const defaultValues = {
3571
- staffIds: [staffId],
3572
- staffs: [{ id: staffId, flag: (_a2 = staff.value) == null ? void 0 : _a2.flag }],
3573
3577
  startedAt: besok.second(0).millisecond(0).toISOString(),
3574
3578
  endedAt: besok.add(90, "m").toISOString()
3575
3579
  };
3576
- values.value = defaultValues;
3580
+ values.value.startedAt = defaultValues.startedAt;
3581
+ values.value.endedAt = defaultValues.endedAt;
3577
3582
  }
3578
3583
  const submissionOptions = vue.computed(() => {
3579
3584
  return {
@@ -3591,6 +3596,46 @@ const _sfc_main$E = /* @__PURE__ */ vue.defineComponent({
3591
3596
  ]
3592
3597
  };
3593
3598
  });
3599
+ const taskOptions = vue.computed(() => {
3600
+ var _a2, _b;
3601
+ return query.Query.define({
3602
+ filter: [
3603
+ {
3604
+ estimatedStartDate: {
3605
+ $lte: values.value.startedAt
3606
+ },
3607
+ estimatedEndDate: {
3608
+ $gte: values.value.startedAt
3609
+ }
3610
+ },
3611
+ {
3612
+ $or: [
3613
+ {
3614
+ handle: "givingAssignmentIds",
3615
+ operator: "in",
3616
+ value: (_a2 = staff.value) == null ? void 0 : _a2.id
3617
+ },
3618
+ {
3619
+ handle: "doingAssignmentIds",
3620
+ operator: "in",
3621
+ value: (_b = staff.value) == null ? void 0 : _b.id
3622
+ }
3623
+ ]
3624
+ },
3625
+ {
3626
+ completedDate: {
3627
+ $eq: null
3628
+ }
3629
+ },
3630
+ {
3631
+ canceledDate: {
3632
+ $eq: null
3633
+ }
3634
+ }
3635
+ ],
3636
+ sort: [{ handle: "estimatedStartDate", direction: "ascending" }]
3637
+ });
3638
+ });
3594
3639
  return (_ctx, _cache) => {
3595
3640
  return vue.openBlock(), vue.createBlock(vue.unref(context.NeonSingle), { class: "neu-progress-single" }, {
3596
3641
  default: vue.withCtx(() => [
@@ -3611,112 +3656,145 @@ const _sfc_main$E = /* @__PURE__ */ vue.defineComponent({
3611
3656
  onCancel: vue.unref(discardChanges),
3612
3657
  onSubmit: vue.unref(saveOne)
3613
3658
  }, {
3614
- default: vue.withCtx(() => [
3615
- vue.createVNode(vue.unref(form.NeonFields), { md: "grid-cols-2" }, {
3616
- default: vue.withCtx(() => [
3617
- (vue.openBlock(), vue.createBlock(vue.unref(form.NeonField), vue.mergeProps({
3618
- key: key.value,
3619
- "model-value": vue.unref(values).startedAt
3659
+ default: vue.withCtx(() => {
3660
+ var _a2, _b;
3661
+ return [
3662
+ vue.createVNode(vue.unref(form.NeonFields), { md: "grid-cols-2" }, {
3663
+ default: vue.withCtx(() => [
3664
+ (vue.openBlock(), vue.createBlock(vue.unref(form.NeonField), vue.mergeProps({
3665
+ key: key.value,
3666
+ "model-value": vue.unref(values).startedAt
3667
+ }, {
3668
+ handle: "startedAt",
3669
+ name: "Tanggal",
3670
+ type: "date",
3671
+ input: "date2",
3672
+ options: {
3673
+ note: "Tanggal progress."
3674
+ }
3675
+ }, { "onUpdate:modelValue": onStartedAtUpdate }), null, 16, ["model-value"])),
3676
+ vue.createVNode(vue.unref(form.NeonField), vue.mergeProps({
3677
+ modelValue: vue.unref(values).detail,
3678
+ "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => vue.unref(values).detail = $event)
3679
+ }, vue.unref(fields).detail), null, 16, ["modelValue"])
3680
+ ]),
3681
+ _: 1
3682
+ }),
3683
+ vue.createElementVNode("div", _hoisted_1$9, [
3684
+ vue.createVNode(vue.unref(form.NeonField), vue.mergeProps({
3685
+ modelValue: vue.unref(values).startedAt,
3686
+ "onUpdate:modelValue": _cache[2] || (_cache[2] = ($event) => vue.unref(values).startedAt = $event)
3620
3687
  }, {
3621
3688
  handle: "startedAt",
3622
- name: "Tanggal",
3623
- type: "date",
3624
- input: "date2",
3689
+ name: "Mulai",
3625
3690
  options: {
3626
- note: "Tanggal progress."
3691
+ note: "Jam mulai."
3627
3692
  }
3628
- }, { "onUpdate:modelValue": onStartedAtUpdate }), null, 16, ["model-value"])),
3693
+ }), {
3694
+ input: vue.withCtx(() => [
3695
+ vue.createVNode(vue.unref(NeonTime), {
3696
+ modelValue: vue.unref(values).startedAt,
3697
+ "onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => vue.unref(values).startedAt = $event),
3698
+ "is-loading": vue.unref(isLoading),
3699
+ class: "mt-2"
3700
+ }, null, 8, ["modelValue", "is-loading"])
3701
+ ]),
3702
+ _: 1
3703
+ }, 16, ["modelValue"]),
3629
3704
  vue.createVNode(vue.unref(form.NeonField), vue.mergeProps({
3630
- modelValue: vue.unref(values).detail,
3631
- "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => vue.unref(values).detail = $event)
3632
- }, vue.unref(fields).detail), null, 16, ["modelValue"])
3705
+ modelValue: vue.unref(values).endedAt,
3706
+ "onUpdate:modelValue": _cache[4] || (_cache[4] = ($event) => vue.unref(values).endedAt = $event)
3707
+ }, {
3708
+ handle: "endedAt",
3709
+ name: "Selesai",
3710
+ options: {
3711
+ note: "Jam selesai."
3712
+ }
3713
+ }), {
3714
+ input: vue.withCtx(() => [
3715
+ vue.createVNode(vue.unref(NeonTime), {
3716
+ modelValue: vue.unref(values).endedAt,
3717
+ "onUpdate:modelValue": _cache[3] || (_cache[3] = ($event) => vue.unref(values).endedAt = $event),
3718
+ "is-loading": vue.unref(isLoading),
3719
+ class: "mt-2"
3720
+ }, null, 8, ["modelValue", "is-loading"]),
3721
+ vue.createElementVNode("div", _hoisted_2$9, vue.toDisplayString(duration.value), 1)
3722
+ ]),
3723
+ _: 1
3724
+ }, 16, ["modelValue"])
3633
3725
  ]),
3634
- _: 1
3635
- }),
3636
- vue.createElementVNode("div", _hoisted_1$8, [
3726
+ vue.createVNode(vue.unref(office.OfficeRelation), {
3727
+ modelValue: vue.unref(values),
3728
+ "onUpdate:modelValue": _cache[5] || (_cache[5] = ($event) => vue.isRef(values) ? values.value = $event : null),
3729
+ field: vue.unref(fields).staffs
3730
+ }, null, 8, ["modelValue", "field"]),
3637
3731
  vue.createVNode(vue.unref(form.NeonField), vue.mergeProps({
3638
- modelValue: vue.unref(values).startedAt,
3639
- "onUpdate:modelValue": _cache[2] || (_cache[2] = ($event) => vue.unref(values).startedAt = $event)
3640
- }, {
3641
- handle: "startedAt",
3642
- name: "Mulai",
3643
- options: {
3644
- note: "Jam mulai."
3645
- }
3646
- }), {
3732
+ modelValue: vue.unref(values).isNotes,
3733
+ "onUpdate:modelValue": _cache[7] || (_cache[7] = ($event) => vue.unref(values).isNotes = $event)
3734
+ }, vue.unref(fields).isNotes), {
3647
3735
  input: vue.withCtx(() => [
3648
- vue.createVNode(vue.unref(NeonTime), {
3649
- modelValue: vue.unref(values).startedAt,
3650
- "onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => vue.unref(values).startedAt = $event),
3651
- "is-loading": vue.unref(isLoading),
3736
+ vue.createVNode(vue.unref(form.NeonCheck), {
3737
+ modelValue: vue.unref(values).isNotes,
3738
+ "onUpdate:modelValue": _cache[6] || (_cache[6] = ($event) => vue.unref(values).isNotes = $event),
3739
+ label: "Catatan",
3652
3740
  class: "mt-2"
3653
- }, null, 8, ["modelValue", "is-loading"])
3741
+ }, null, 8, ["modelValue"])
3654
3742
  ]),
3655
3743
  _: 1
3656
3744
  }, 16, ["modelValue"]),
3657
- vue.createVNode(vue.unref(form.NeonField), vue.mergeProps({
3658
- modelValue: vue.unref(values).endedAt,
3659
- "onUpdate:modelValue": _cache[4] || (_cache[4] = ($event) => vue.unref(values).endedAt = $event)
3660
- }, {
3661
- handle: "endedAt",
3662
- name: "Selesai",
3663
- options: {
3664
- note: "Jam selesai."
3665
- }
3666
- }), {
3667
- input: vue.withCtx(() => [
3668
- vue.createVNode(vue.unref(NeonTime), {
3669
- modelValue: vue.unref(values).endedAt,
3670
- "onUpdate:modelValue": _cache[3] || (_cache[3] = ($event) => vue.unref(values).endedAt = $event),
3671
- "is-loading": vue.unref(isLoading),
3672
- class: "mt-2"
3673
- }, null, 8, ["modelValue", "is-loading"]),
3674
- vue.createElementVNode("div", _hoisted_2$8, vue.toDisplayString(duration.value), 1)
3675
- ]),
3676
- _: 1
3677
- }, 16, ["modelValue"])
3678
- ]),
3679
- vue.createVNode(vue.unref(office.OfficeRelation), {
3680
- modelValue: vue.unref(values),
3681
- "onUpdate:modelValue": _cache[5] || (_cache[5] = ($event) => vue.isRef(values) ? values.value = $event : null),
3682
- field: vue.unref(fields).staffs
3683
- }, null, 8, ["modelValue", "field"]),
3684
- vue.createVNode(vue.unref(form.NeonField), vue.mergeProps({
3685
- modelValue: vue.unref(values).isNotes,
3686
- "onUpdate:modelValue": _cache[7] || (_cache[7] = ($event) => vue.unref(values).isNotes = $event)
3687
- }, vue.unref(fields).isNotes), {
3688
- input: vue.withCtx(() => [
3689
- vue.createVNode(vue.unref(form.NeonCheck), {
3690
- modelValue: vue.unref(values).isNotes,
3691
- "onUpdate:modelValue": _cache[6] || (_cache[6] = ($event) => vue.unref(values).isNotes = $event),
3692
- label: "Catatan",
3693
- class: "mt-2"
3694
- }, null, 8, ["modelValue"])
3695
- ]),
3696
- _: 1
3697
- }, 16, ["modelValue"]),
3698
- vue.createVNode(vue.unref(office.OfficeRelation), {
3699
- modelValue: vue.unref(values),
3700
- "onUpdate:modelValue": _cache[8] || (_cache[8] = ($event) => vue.isRef(values) ? values.value = $event : null),
3701
- field: vue.unref(fields).accessStaffs
3702
- }, null, 8, ["modelValue", "field"]),
3703
- vue.createVNode(vue.unref(interfaces.NeonDivider), {
3704
- "is-dashed": "",
3705
- label: "Referensi"
3706
- }),
3707
- vue.createVNode(vue.unref(office.OfficeRelation), {
3708
- modelValue: vue.unref(values),
3709
- "onUpdate:modelValue": _cache[9] || (_cache[9] = ($event) => vue.isRef(values) ? values.value = $event : null),
3710
- field: vue.unref(fields).responsibilities,
3711
- query: vue.unref(query.Query).define(responsibilityOptions.value)
3712
- }, null, 8, ["modelValue", "field", "query"]),
3713
- vue.createVNode(vue.unref(office.OfficeRelation), {
3714
- modelValue: vue.unref(values),
3715
- "onUpdate:modelValue": _cache[10] || (_cache[10] = ($event) => vue.isRef(values) ? values.value = $event : null),
3716
- field: vue.unref(fields).submissions,
3717
- query: vue.unref(query.Query).define(submissionOptions.value)
3718
- }, null, 8, ["modelValue", "field", "query"])
3719
- ]),
3745
+ vue.createVNode(vue.unref(office.OfficeRelation), {
3746
+ modelValue: vue.unref(values),
3747
+ "onUpdate:modelValue": _cache[8] || (_cache[8] = ($event) => vue.isRef(values) ? values.value = $event : null),
3748
+ field: vue.unref(fields).accessStaffs
3749
+ }, null, 8, ["modelValue", "field"]),
3750
+ vue.createVNode(vue.unref(interfaces.NeonDivider), {
3751
+ "is-dashed": "",
3752
+ label: "Referensi"
3753
+ }),
3754
+ vue.createVNode(vue.unref(office.OfficeRelation), {
3755
+ modelValue: vue.unref(values),
3756
+ "onUpdate:modelValue": _cache[9] || (_cache[9] = ($event) => vue.isRef(values) ? values.value = $event : null),
3757
+ field: vue.unref(fields).responsibilities,
3758
+ query: vue.unref(query.Query).define({
3759
+ filter: [
3760
+ {
3761
+ handle: "condition",
3762
+ operator: "eq",
3763
+ value: "active"
3764
+ },
3765
+ {
3766
+ $or: [
3767
+ {
3768
+ handle: "staffWorkIds",
3769
+ operator: "in",
3770
+ value: (_a2 = vue.unref(staff)) == null ? void 0 : _a2.id
3771
+ },
3772
+ {
3773
+ handle: "staffSuperviseIds",
3774
+ operator: "in",
3775
+ value: (_b = vue.unref(staff)) == null ? void 0 : _b.id
3776
+ }
3777
+ ]
3778
+ }
3779
+ ],
3780
+ sort: [{ handle: "title", direction: "ascending" }]
3781
+ })
3782
+ }, null, 8, ["modelValue", "field", "query"]),
3783
+ vue.createVNode(vue.unref(office.OfficeRelation), {
3784
+ modelValue: vue.unref(values),
3785
+ "onUpdate:modelValue": _cache[10] || (_cache[10] = ($event) => vue.isRef(values) ? values.value = $event : null),
3786
+ field: vue.unref(fields).submissions,
3787
+ query: vue.unref(query.Query).define(submissionOptions.value)
3788
+ }, null, 8, ["modelValue", "field", "query"]),
3789
+ vue.unref(path) !== "/pengawas/progresses" ? (vue.openBlock(), vue.createBlock(vue.unref(office.OfficeRelation), {
3790
+ key: 0,
3791
+ modelValue: vue.unref(values),
3792
+ "onUpdate:modelValue": _cache[11] || (_cache[11] = ($event) => vue.isRef(values) ? values.value = $event : null),
3793
+ field: vue.unref(fields).tasks,
3794
+ query: taskOptions.value
3795
+ }, null, 8, ["modelValue", "field", "query"])) : vue.createCommentVNode("", true)
3796
+ ];
3797
+ }),
3720
3798
  _: 1
3721
3799
  }, 8, ["initial-values", "is-loading", "is-changed", "onCancel", "onSubmit"])
3722
3800
  ]),
@@ -3732,10 +3810,10 @@ const _sfc_main$E = /* @__PURE__ */ vue.defineComponent({
3732
3810
  };
3733
3811
  }
3734
3812
  });
3735
- const ProgressSingle_vue_vue_type_style_index_0_scoped_1a87343f_lang = "";
3736
- const ProgressSingle = /* @__PURE__ */ _export_sfc(_sfc_main$E, [["__scopeId", "data-v-1a87343f"]]);
3737
- const _hoisted_1$7 = { class: "grid gap-2 sm:grid-cols-2" };
3738
- const _hoisted_2$7 = { class: "text-right text-fg-subdued text-sm" };
3813
+ const ProgressSingle_vue_vue_type_style_index_0_scoped_71539dd3_lang = "";
3814
+ const ProgressSingle = /* @__PURE__ */ _export_sfc(_sfc_main$E, [["__scopeId", "data-v-71539dd3"]]);
3815
+ const _hoisted_1$8 = { class: "grid gap-2 sm:grid-cols-2" };
3816
+ const _hoisted_2$8 = { class: "text-right text-fg-subdued text-sm" };
3739
3817
  const _sfc_main$D = /* @__PURE__ */ vue.defineComponent({
3740
3818
  __name: "ProgressTomorrow",
3741
3819
  setup(__props) {
@@ -3882,7 +3960,7 @@ const _sfc_main$D = /* @__PURE__ */ vue.defineComponent({
3882
3960
  ]),
3883
3961
  _: 1
3884
3962
  }),
3885
- vue.createElementVNode("div", _hoisted_1$7, [
3963
+ vue.createElementVNode("div", _hoisted_1$8, [
3886
3964
  vue.createVNode(vue.unref(form.NeonField), vue.mergeProps({
3887
3965
  modelValue: vue.unref(values).startedAt,
3888
3966
  "onUpdate:modelValue": _cache[2] || (_cache[2] = ($event) => vue.unref(values).startedAt = $event)
@@ -3920,7 +3998,7 @@ const _sfc_main$D = /* @__PURE__ */ vue.defineComponent({
3920
3998
  "is-loading": vue.unref(isLoading),
3921
3999
  class: "mt-2"
3922
4000
  }, null, 8, ["modelValue", "is-loading"]),
3923
- vue.createElementVNode("div", _hoisted_2$7, vue.toDisplayString(duration.value), 1)
4001
+ vue.createElementVNode("div", _hoisted_2$8, vue.toDisplayString(duration.value), 1)
3924
4002
  ]),
3925
4003
  _: 1
3926
4004
  }, 16, ["modelValue"])
@@ -3983,8 +4061,8 @@ const _sfc_main$D = /* @__PURE__ */ vue.defineComponent({
3983
4061
  });
3984
4062
  const ProgressTomorrow_vue_vue_type_style_index_0_scoped_6cdcef51_lang = "";
3985
4063
  const ProgressTomorrow = /* @__PURE__ */ _export_sfc(_sfc_main$D, [["__scopeId", "data-v-6cdcef51"]]);
3986
- const _hoisted_1$6 = { class: "grid gap-2 sm:grid-cols-2" };
3987
- const _hoisted_2$6 = { class: "text-right text-fg-subdued text-sm" };
4064
+ const _hoisted_1$7 = { class: "grid gap-2 sm:grid-cols-2" };
4065
+ const _hoisted_2$7 = { class: "text-right text-fg-subdued text-sm" };
3988
4066
  const _sfc_main$C = /* @__PURE__ */ vue.defineComponent({
3989
4067
  __name: "ProgressYesterday",
3990
4068
  setup(__props) {
@@ -4131,7 +4209,7 @@ const _sfc_main$C = /* @__PURE__ */ vue.defineComponent({
4131
4209
  ]),
4132
4210
  _: 1
4133
4211
  }),
4134
- vue.createElementVNode("div", _hoisted_1$6, [
4212
+ vue.createElementVNode("div", _hoisted_1$7, [
4135
4213
  vue.createVNode(vue.unref(form.NeonField), vue.mergeProps({
4136
4214
  modelValue: vue.unref(values).startedAt,
4137
4215
  "onUpdate:modelValue": _cache[2] || (_cache[2] = ($event) => vue.unref(values).startedAt = $event)
@@ -4169,7 +4247,7 @@ const _sfc_main$C = /* @__PURE__ */ vue.defineComponent({
4169
4247
  "is-loading": vue.unref(isLoading),
4170
4248
  class: "mt-2"
4171
4249
  }, null, 8, ["modelValue", "is-loading"]),
4172
- vue.createElementVNode("div", _hoisted_2$6, vue.toDisplayString(duration.value), 1)
4250
+ vue.createElementVNode("div", _hoisted_2$7, vue.toDisplayString(duration.value), 1)
4173
4251
  ]),
4174
4252
  _: 1
4175
4253
  }, 16, ["modelValue"])
@@ -5644,8 +5722,8 @@ const _sfc_main$l = /* @__PURE__ */ vue.defineComponent({
5644
5722
  };
5645
5723
  }
5646
5724
  });
5647
- const _hoisted_1$5 = { class: "grid gap-4 sm:grid-cols-[3fr_1fr]" };
5648
- const _hoisted_2$5 = { class: "grid gap-4 sm:grid-cols-2" };
5725
+ const _hoisted_1$6 = { class: "grid gap-4 sm:grid-cols-[3fr_1fr]" };
5726
+ const _hoisted_2$6 = { class: "grid gap-4 sm:grid-cols-2" };
5649
5727
  const _sfc_main$k = /* @__PURE__ */ vue.defineComponent({
5650
5728
  __name: "StaffSingle",
5651
5729
  setup(__props) {
@@ -5683,7 +5761,7 @@ const _sfc_main$k = /* @__PURE__ */ vue.defineComponent({
5683
5761
  onSubmit: vue.unref(saveOne)
5684
5762
  }, {
5685
5763
  default: vue.withCtx(() => [
5686
- vue.createElementVNode("div", _hoisted_1$5, [
5764
+ vue.createElementVNode("div", _hoisted_1$6, [
5687
5765
  vue.createVNode(vue.unref(form.NeonField), vue.mergeProps({
5688
5766
  modelValue: vue.unref(values).name,
5689
5767
  "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => vue.unref(values).name = $event)
@@ -5693,7 +5771,7 @@ const _sfc_main$k = /* @__PURE__ */ vue.defineComponent({
5693
5771
  "onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => vue.unref(values).nik = $event)
5694
5772
  }, vue.unref(fields).nik), null, 16, ["modelValue"])
5695
5773
  ]),
5696
- vue.createElementVNode("div", _hoisted_2$5, [
5774
+ vue.createElementVNode("div", _hoisted_2$6, [
5697
5775
  vue.createVNode(vue.unref(form.NeonField), vue.mergeProps({
5698
5776
  modelValue: vue.unref(values).birthPlace,
5699
5777
  "onUpdate:modelValue": _cache[2] || (_cache[2] = ($event) => vue.unref(values).birthPlace = $event)
@@ -5703,13 +5781,17 @@ const _sfc_main$k = /* @__PURE__ */ vue.defineComponent({
5703
5781
  "onUpdate:modelValue": _cache[3] || (_cache[3] = ($event) => vue.unref(values).birthDate = $event)
5704
5782
  }, vue.unref(fields).birthDate), null, 16, ["modelValue"])
5705
5783
  ]),
5784
+ vue.createVNode(vue.unref(form.NeonField), vue.mergeProps({
5785
+ modelValue: vue.unref(values).status,
5786
+ "onUpdate:modelValue": _cache[4] || (_cache[4] = ($event) => vue.unref(values).status = $event)
5787
+ }, vue.unref(fields).status), null, 16, ["modelValue"]),
5706
5788
  vue.createVNode(vue.unref(form.NeonField), vue.mergeProps({
5707
5789
  modelValue: vue.unref(values).image,
5708
- "onUpdate:modelValue": _cache[4] || (_cache[4] = ($event) => vue.unref(values).image = $event)
5790
+ "onUpdate:modelValue": _cache[5] || (_cache[5] = ($event) => vue.unref(values).image = $event)
5709
5791
  }, vue.unref(fields).image), null, 16, ["modelValue"]),
5710
5792
  vue.createVNode(vue.unref(form.NeonField), vue.mergeProps({
5711
5793
  modelValue: vue.unref(values).note,
5712
- "onUpdate:modelValue": _cache[5] || (_cache[5] = ($event) => vue.unref(values).note = $event)
5794
+ "onUpdate:modelValue": _cache[6] || (_cache[6] = ($event) => vue.unref(values).note = $event)
5713
5795
  }, vue.unref(fields).note), null, 16, ["modelValue"])
5714
5796
  ]),
5715
5797
  _: 1
@@ -5745,13 +5827,13 @@ const _sfc_main$k = /* @__PURE__ */ vue.defineComponent({
5745
5827
  default: vue.withCtx(() => [
5746
5828
  vue.createVNode(vue.unref(office.OfficeRelation), {
5747
5829
  modelValue: vue.unref(values),
5748
- "onUpdate:modelValue": _cache[6] || (_cache[6] = ($event) => vue.isRef(values) ? values.value = $event : null),
5830
+ "onUpdate:modelValue": _cache[7] || (_cache[7] = ($event) => vue.isRef(values) ? values.value = $event : null),
5749
5831
  field: vue.unref(fields).branch,
5750
5832
  fragment: { id: 1, display: 1, name: 1 }
5751
5833
  }, null, 8, ["modelValue", "field"]),
5752
5834
  vue.createVNode(vue.unref(office.OfficeRelation), {
5753
5835
  modelValue: vue.unref(values),
5754
- "onUpdate:modelValue": _cache[7] || (_cache[7] = ($event) => vue.isRef(values) ? values.value = $event : null),
5836
+ "onUpdate:modelValue": _cache[8] || (_cache[8] = ($event) => vue.isRef(values) ? values.value = $event : null),
5755
5837
  field: vue.unref(fields).branches,
5756
5838
  fragment: { id: 1, display: 1, name: 1 }
5757
5839
  }, null, 8, ["modelValue", "field"])
@@ -5770,10 +5852,10 @@ const _sfc_main$k = /* @__PURE__ */ vue.defineComponent({
5770
5852
  };
5771
5853
  }
5772
5854
  });
5773
- const StaffSingle_vue_vue_type_style_index_0_scoped_0cf4cd99_lang = "";
5774
- const StaffSingle = /* @__PURE__ */ _export_sfc(_sfc_main$k, [["__scopeId", "data-v-0cf4cd99"]]);
5775
- const _hoisted_1$4 = { class: "grid gap-4 sm:grid-cols-[3fr_1fr]" };
5776
- const _hoisted_2$4 = { class: "grid gap-4 sm:grid-cols-2" };
5855
+ const StaffSingle_vue_vue_type_style_index_0_scoped_9b47f55c_lang = "";
5856
+ const StaffSingle = /* @__PURE__ */ _export_sfc(_sfc_main$k, [["__scopeId", "data-v-9b47f55c"]]);
5857
+ const _hoisted_1$5 = { class: "grid gap-4 sm:grid-cols-[3fr_1fr]" };
5858
+ const _hoisted_2$5 = { class: "grid gap-4 sm:grid-cols-2" };
5777
5859
  const _sfc_main$j = /* @__PURE__ */ vue.defineComponent({
5778
5860
  __name: "StaffOperasional",
5779
5861
  setup(__props) {
@@ -5811,7 +5893,7 @@ const _sfc_main$j = /* @__PURE__ */ vue.defineComponent({
5811
5893
  onSubmit: vue.unref(saveOne)
5812
5894
  }, {
5813
5895
  default: vue.withCtx(() => [
5814
- vue.createElementVNode("div", _hoisted_1$4, [
5896
+ vue.createElementVNode("div", _hoisted_1$5, [
5815
5897
  vue.createVNode(vue.unref(form.NeonField), vue.mergeProps({
5816
5898
  modelValue: vue.unref(values).name,
5817
5899
  "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => vue.unref(values).name = $event)
@@ -5821,7 +5903,7 @@ const _sfc_main$j = /* @__PURE__ */ vue.defineComponent({
5821
5903
  "onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => vue.unref(values).nik = $event)
5822
5904
  }, vue.unref(fields).nik), null, 16, ["modelValue"])
5823
5905
  ]),
5824
- vue.createElementVNode("div", _hoisted_2$4, [
5906
+ vue.createElementVNode("div", _hoisted_2$5, [
5825
5907
  vue.createVNode(vue.unref(form.NeonField), vue.mergeProps({
5826
5908
  modelValue: vue.unref(values).birthPlace,
5827
5909
  "onUpdate:modelValue": _cache[2] || (_cache[2] = ($event) => vue.unref(values).birthPlace = $event)
@@ -5831,13 +5913,17 @@ const _sfc_main$j = /* @__PURE__ */ vue.defineComponent({
5831
5913
  "onUpdate:modelValue": _cache[3] || (_cache[3] = ($event) => vue.unref(values).birthDate = $event)
5832
5914
  }, vue.unref(fields).birthDate), null, 16, ["modelValue"])
5833
5915
  ]),
5916
+ vue.createVNode(vue.unref(form.NeonField), vue.mergeProps({
5917
+ modelValue: vue.unref(values).status,
5918
+ "onUpdate:modelValue": _cache[4] || (_cache[4] = ($event) => vue.unref(values).status = $event)
5919
+ }, vue.unref(fields).status), null, 16, ["modelValue"]),
5834
5920
  vue.createVNode(vue.unref(form.NeonField), vue.mergeProps({
5835
5921
  modelValue: vue.unref(values).image,
5836
- "onUpdate:modelValue": _cache[4] || (_cache[4] = ($event) => vue.unref(values).image = $event)
5922
+ "onUpdate:modelValue": _cache[5] || (_cache[5] = ($event) => vue.unref(values).image = $event)
5837
5923
  }, vue.unref(fields).image), null, 16, ["modelValue"]),
5838
5924
  vue.createVNode(vue.unref(form.NeonField), vue.mergeProps({
5839
5925
  modelValue: vue.unref(values).note,
5840
- "onUpdate:modelValue": _cache[5] || (_cache[5] = ($event) => vue.unref(values).note = $event)
5926
+ "onUpdate:modelValue": _cache[6] || (_cache[6] = ($event) => vue.unref(values).note = $event)
5841
5927
  }, vue.unref(fields).note), null, 16, ["modelValue"])
5842
5928
  ]),
5843
5929
  _: 1
@@ -5873,13 +5959,13 @@ const _sfc_main$j = /* @__PURE__ */ vue.defineComponent({
5873
5959
  default: vue.withCtx(() => [
5874
5960
  vue.createVNode(vue.unref(office.OfficeRelation), {
5875
5961
  modelValue: vue.unref(values),
5876
- "onUpdate:modelValue": _cache[6] || (_cache[6] = ($event) => vue.isRef(values) ? values.value = $event : null),
5962
+ "onUpdate:modelValue": _cache[7] || (_cache[7] = ($event) => vue.isRef(values) ? values.value = $event : null),
5877
5963
  field: vue.unref(fields).branch,
5878
5964
  fragment: { id: 1, display: 1, name: 1 }
5879
5965
  }, null, 8, ["modelValue", "field"]),
5880
5966
  vue.createVNode(vue.unref(office.OfficeRelation), {
5881
5967
  modelValue: vue.unref(values),
5882
- "onUpdate:modelValue": _cache[7] || (_cache[7] = ($event) => vue.isRef(values) ? values.value = $event : null),
5968
+ "onUpdate:modelValue": _cache[8] || (_cache[8] = ($event) => vue.isRef(values) ? values.value = $event : null),
5883
5969
  field: vue.unref(fields).branches,
5884
5970
  fragment: { id: 1, display: 1, name: 1 }
5885
5971
  }, null, 8, ["modelValue", "field"])
@@ -5920,8 +6006,8 @@ const _sfc_main$j = /* @__PURE__ */ vue.defineComponent({
5920
6006
  };
5921
6007
  }
5922
6008
  });
5923
- const StaffOperasional_vue_vue_type_style_index_0_scoped_c62cf70a_lang = "";
5924
- const StaffOperasional = /* @__PURE__ */ _export_sfc(_sfc_main$j, [["__scopeId", "data-v-c62cf70a"]]);
6009
+ const StaffOperasional_vue_vue_type_style_index_0_scoped_c1a371ec_lang = "";
6010
+ const StaffOperasional = /* @__PURE__ */ _export_sfc(_sfc_main$j, [["__scopeId", "data-v-c1a371ec"]]);
5925
6011
  const _sfc_main$i = /* @__PURE__ */ vue.defineComponent({
5926
6012
  __name: "StaffIdentity",
5927
6013
  setup(__props) {
@@ -6026,6 +6112,7 @@ const _sfc_main$i = /* @__PURE__ */ vue.defineComponent({
6026
6112
  },
6027
6113
  // END OPERASIONAL
6028
6114
  { id: "63e1734b78ae4f8388b1b313", name: "Cabang Pendidikan" },
6115
+ { id: "64e6e0669103ea42a4f7d4d0", name: "Cabang KBM" },
6029
6116
  // { id: '6309c2aae64a1324b8663d96', name: 'Admin Pendidikan' },
6030
6117
  { id: "643f6c0bd760fc7b529d4a5d", name: "Pengelola Pengajar" },
6031
6118
  // Keuangan
@@ -6078,6 +6165,40 @@ const _sfc_main$i = /* @__PURE__ */ vue.defineComponent({
6078
6165
  {
6079
6166
  id: "6454a6c2d760fc7b529d4f4f",
6080
6167
  name: "Karyawan Marketing Cabang"
6168
+ },
6169
+ // INVENTORI
6170
+ {
6171
+ id: "64e7f2089103ea42a4f7d512",
6172
+ name: "Cabang Inventori"
6173
+ },
6174
+ {
6175
+ id: "64e7f3629103ea42a4f7d535",
6176
+ name: "Cabang Outlet"
6177
+ },
6178
+ {
6179
+ id: "64e7f3c39103ea42a4f7d552",
6180
+ name: "Pengadaan Inventori"
6181
+ },
6182
+ {
6183
+ id: "64e7f4309103ea42a4f7d579",
6184
+ name: "Pengawasan Pengadaan Inventori"
6185
+ },
6186
+ {
6187
+ id: "64e7f46d9103ea42a4f7d596",
6188
+ name: "Cabang Pengadaan"
6189
+ },
6190
+ {
6191
+ id: "64e817419103ea42a4f7d5bd",
6192
+ name: "Pengelola Resep"
6193
+ },
6194
+ {
6195
+ id: "64e9aa869103ea42a4f7d6a9",
6196
+ name: "Pengawas Inventori"
6197
+ },
6198
+ // Sentral
6199
+ {
6200
+ id: "650917b39103ea42a4f7e189",
6201
+ name: "Pengelola Export"
6081
6202
  }
6082
6203
  ],
6083
6204
  errors: errors.value,
@@ -6356,25 +6477,21 @@ const _sfc_main$e = /* @__PURE__ */ vue.defineComponent({
6356
6477
  };
6357
6478
  });
6358
6479
  const staffId = ((_a = staff.value) == null ? void 0 : _a.id) || "";
6359
- vue.watch(
6360
- isNew,
6361
- (isNew2) => {
6362
- var _a2;
6363
- if (!isNew2)
6364
- return;
6365
- values.value.preparedAt = (/* @__PURE__ */ new Date()).toISOString();
6366
- values.value.submissionStaffIds = [staffId];
6367
- values.value.submissionStaffs = [
6368
- {
6369
- id: staffId,
6370
- flag: (_a2 = staff.value) == null ? void 0 : _a2.flag
6371
- }
6372
- ];
6373
- },
6374
- {
6375
- immediate: true
6376
- }
6377
- );
6480
+ vue.watch(isNew, setDefaultValues, { immediate: true });
6481
+ async function setDefaultValues() {
6482
+ var _a2;
6483
+ if (!isNew.value)
6484
+ return;
6485
+ await promise.PromiseUtil.wait(500);
6486
+ const defaultValues = {
6487
+ submissionStaffIds: [staffId],
6488
+ submissionStaffs: [{ id: staffId, flag: (_a2 = staff.value) == null ? void 0 : _a2.flag }],
6489
+ preparedAt: (/* @__PURE__ */ new Date()).toISOString()
6490
+ };
6491
+ values.value.submissionStaffIds = defaultValues.submissionStaffIds;
6492
+ values.value.submissionStaffs = defaultValues.submissionStaffs;
6493
+ values.value.preparedAt = defaultValues.preparedAt;
6494
+ }
6378
6495
  const syncRaise = async () => {
6379
6496
  await executeOne("raiseSubmission", { submissionId: id.value });
6380
6497
  await syncOne();
@@ -6547,8 +6664,8 @@ const _sfc_main$e = /* @__PURE__ */ vue.defineComponent({
6547
6664
  };
6548
6665
  }
6549
6666
  });
6550
- const SubmissionStaff_vue_vue_type_style_index_0_scoped_db426ce1_lang = "";
6551
- const SubmissionStaff = /* @__PURE__ */ _export_sfc(_sfc_main$e, [["__scopeId", "data-v-db426ce1"]]);
6667
+ const SubmissionStaff_vue_vue_type_style_index_0_scoped_21c19bac_lang = "";
6668
+ const SubmissionStaff = /* @__PURE__ */ _export_sfc(_sfc_main$e, [["__scopeId", "data-v-21c19bac"]]);
6552
6669
  const _sfc_main$d = /* @__PURE__ */ vue.defineComponent({
6553
6670
  __name: "SubmissionFollowUp",
6554
6671
  setup(__props) {
@@ -6700,10 +6817,10 @@ const _sfc_main$d = /* @__PURE__ */ vue.defineComponent({
6700
6817
  });
6701
6818
  const SubmissionFollowUp_vue_vue_type_style_index_0_scoped_3f0580bf_lang = "";
6702
6819
  const SubmissionFollowUp = /* @__PURE__ */ _export_sfc(_sfc_main$d, [["__scopeId", "data-v-3f0580bf"]]);
6703
- const _hoisted_1$3 = { class: "flex flex-wrap" };
6704
- const _hoisted_2$3 = { class: "mt-2" };
6705
- const _hoisted_3$2 = { class: "mt-2" };
6706
- const _hoisted_4 = { class: "mt-2" };
6820
+ const _hoisted_1$4 = { class: "flex flex-wrap" };
6821
+ const _hoisted_2$4 = { class: "mt-2" };
6822
+ const _hoisted_3$3 = { class: "mt-2" };
6823
+ const _hoisted_4$1 = { class: "mt-2" };
6707
6824
  const _hoisted_5 = { class: "mt-2" };
6708
6825
  const _sfc_main$c = /* @__PURE__ */ vue.defineComponent({
6709
6826
  __name: "SubmissionAudit",
@@ -6749,25 +6866,21 @@ const _sfc_main$c = /* @__PURE__ */ vue.defineComponent({
6749
6866
  };
6750
6867
  });
6751
6868
  const staffId = ((_a = staff.value) == null ? void 0 : _a.id) || "";
6752
- vue.watch(
6753
- isNew,
6754
- (isNew2) => {
6755
- var _a2;
6756
- if (!isNew2)
6757
- return;
6758
- values.value.preparedAt = (/* @__PURE__ */ new Date()).toISOString();
6759
- values.value.submissionStaffIds = [staffId];
6760
- values.value.submissionStaffs = [
6761
- {
6762
- id: staffId,
6763
- flag: (_a2 = staff.value) == null ? void 0 : _a2.flag
6764
- }
6765
- ];
6766
- },
6767
- {
6768
- immediate: true
6769
- }
6770
- );
6869
+ vue.watch(isNew, setDefaultValues, { immediate: true });
6870
+ async function setDefaultValues() {
6871
+ var _a2;
6872
+ if (!isNew.value)
6873
+ return;
6874
+ await promise.PromiseUtil.wait(500);
6875
+ const defaultValues = {
6876
+ submissionStaffIds: [staffId],
6877
+ submissionStaffs: [{ id: staffId, flag: (_a2 = staff.value) == null ? void 0 : _a2.flag }],
6878
+ preparedAt: (/* @__PURE__ */ new Date()).toISOString()
6879
+ };
6880
+ values.value.submissionStaffIds = defaultValues.submissionStaffIds;
6881
+ values.value.submissionStaffs = defaultValues.submissionStaffs;
6882
+ values.value.preparedAt = defaultValues.preparedAt;
6883
+ }
6771
6884
  const syncResolved = async () => {
6772
6885
  await executeOne("resolvedSubmission", { submissionId: id.value });
6773
6886
  await syncOne();
@@ -6805,8 +6918,8 @@ const _sfc_main$c = /* @__PURE__ */ vue.defineComponent({
6805
6918
  onSubmit: vue.unref(saveOne)
6806
6919
  }, {
6807
6920
  default: vue.withCtx(() => [
6808
- vue.createElementVNode("div", _hoisted_1$3, [
6809
- vue.createElementVNode("div", _hoisted_2$3, [
6921
+ vue.createElementVNode("div", _hoisted_1$4, [
6922
+ vue.createElementVNode("div", _hoisted_2$4, [
6810
6923
  vue.unref(isReady) ? (vue.openBlock(), vue.createBlock(vue.unref(form.NeonField), { key: 0 }, {
6811
6924
  input: vue.withCtx(() => [
6812
6925
  vue.createVNode(vue.unref(interfaces.NeonButton), {
@@ -6826,7 +6939,7 @@ const _sfc_main$c = /* @__PURE__ */ vue.defineComponent({
6826
6939
  })) : vue.createCommentVNode("", true)
6827
6940
  ]),
6828
6941
  vue.createTextVNode("    "),
6829
- vue.createElementVNode("div", _hoisted_3$2, [
6942
+ vue.createElementVNode("div", _hoisted_3$3, [
6830
6943
  vue.unref(isReady) ? (vue.openBlock(), vue.createBlock(vue.unref(form.NeonField), { key: 0 }, {
6831
6944
  input: vue.withCtx(() => [
6832
6945
  vue.createVNode(vue.unref(interfaces.NeonButton), {
@@ -6846,7 +6959,7 @@ const _sfc_main$c = /* @__PURE__ */ vue.defineComponent({
6846
6959
  })) : vue.createCommentVNode("", true)
6847
6960
  ]),
6848
6961
  vue.createTextVNode("    "),
6849
- vue.createElementVNode("div", _hoisted_4, [
6962
+ vue.createElementVNode("div", _hoisted_4$1, [
6850
6963
  vue.unref(isReady) ? (vue.openBlock(), vue.createBlock(vue.unref(form.NeonField), { key: 0 }, {
6851
6964
  input: vue.withCtx(() => [
6852
6965
  vue.createVNode(vue.unref(interfaces.NeonButton), {
@@ -7053,11 +7166,11 @@ const _sfc_main$c = /* @__PURE__ */ vue.defineComponent({
7053
7166
  };
7054
7167
  }
7055
7168
  });
7056
- const SubmissionAudit_vue_vue_type_style_index_0_scoped_a32c1b8b_lang = "";
7057
- const SubmissionAudit = /* @__PURE__ */ _export_sfc(_sfc_main$c, [["__scopeId", "data-v-a32c1b8b"]]);
7058
- const _hoisted_1$2 = { class: "flex flex-wrap" };
7059
- const _hoisted_2$2 = { class: "mt-2" };
7060
- const _hoisted_3$1 = { class: "mt-2" };
7169
+ const SubmissionAudit_vue_vue_type_style_index_0_scoped_c6a38aff_lang = "";
7170
+ const SubmissionAudit = /* @__PURE__ */ _export_sfc(_sfc_main$c, [["__scopeId", "data-v-c6a38aff"]]);
7171
+ const _hoisted_1$3 = { class: "flex flex-wrap" };
7172
+ const _hoisted_2$3 = { class: "mt-2" };
7173
+ const _hoisted_3$2 = { class: "mt-2" };
7061
7174
  const _sfc_main$b = /* @__PURE__ */ vue.defineComponent({
7062
7175
  __name: "SubmissionDecision",
7063
7176
  setup(__props) {
@@ -7102,25 +7215,21 @@ const _sfc_main$b = /* @__PURE__ */ vue.defineComponent({
7102
7215
  };
7103
7216
  });
7104
7217
  const staffId = ((_a = staff.value) == null ? void 0 : _a.id) || "";
7105
- vue.watch(
7106
- isNew,
7107
- (isNew2) => {
7108
- var _a2;
7109
- if (!isNew2)
7110
- return;
7111
- values.value.preparedAt = (/* @__PURE__ */ new Date()).toISOString();
7112
- values.value.submissionStaffIds = [staffId];
7113
- values.value.submissionStaffs = [
7114
- {
7115
- id: staffId,
7116
- flag: (_a2 = staff.value) == null ? void 0 : _a2.flag
7117
- }
7118
- ];
7119
- },
7120
- {
7121
- immediate: true
7122
- }
7123
- );
7218
+ vue.watch(isNew, setDefaultValues, { immediate: true });
7219
+ async function setDefaultValues() {
7220
+ var _a2;
7221
+ if (!isNew.value)
7222
+ return;
7223
+ await promise.PromiseUtil.wait(500);
7224
+ const defaultValues = {
7225
+ submissionStaffIds: [staffId],
7226
+ submissionStaffs: [{ id: staffId, flag: (_a2 = staff.value) == null ? void 0 : _a2.flag }],
7227
+ preparedAt: (/* @__PURE__ */ new Date()).toISOString()
7228
+ };
7229
+ values.value.submissionStaffIds = defaultValues.submissionStaffIds;
7230
+ values.value.submissionStaffs = defaultValues.submissionStaffs;
7231
+ values.value.preparedAt = defaultValues.preparedAt;
7232
+ }
7124
7233
  const syncDelay = async () => {
7125
7234
  var _a2;
7126
7235
  await executeOne("delaySubmission", {
@@ -7158,8 +7267,8 @@ const _sfc_main$b = /* @__PURE__ */ vue.defineComponent({
7158
7267
  onSubmit: vue.unref(saveOne)
7159
7268
  }, {
7160
7269
  default: vue.withCtx(() => [
7161
- vue.createElementVNode("div", _hoisted_1$2, [
7162
- vue.createElementVNode("div", _hoisted_2$2, [
7270
+ vue.createElementVNode("div", _hoisted_1$3, [
7271
+ vue.createElementVNode("div", _hoisted_2$3, [
7163
7272
  vue.unref(isReady) ? (vue.openBlock(), vue.createBlock(vue.unref(form.NeonField), { key: 0 }, {
7164
7273
  input: vue.withCtx(() => {
7165
7274
  var _a2, _b;
@@ -7182,7 +7291,7 @@ const _sfc_main$b = /* @__PURE__ */ vue.defineComponent({
7182
7291
  })) : vue.createCommentVNode("", true)
7183
7292
  ]),
7184
7293
  vue.createTextVNode("    "),
7185
- vue.createElementVNode("div", _hoisted_3$1, [
7294
+ vue.createElementVNode("div", _hoisted_3$2, [
7186
7295
  vue.unref(isReady) ? (vue.openBlock(), vue.createBlock(vue.unref(form.NeonField), { key: 0 }, {
7187
7296
  input: vue.withCtx(() => {
7188
7297
  var _a2, _b;
@@ -7372,11 +7481,11 @@ const _sfc_main$b = /* @__PURE__ */ vue.defineComponent({
7372
7481
  };
7373
7482
  }
7374
7483
  });
7375
- const SubmissionDecision_vue_vue_type_style_index_0_scoped_71f86b97_lang = "";
7376
- const SubmissionDecision = /* @__PURE__ */ _export_sfc(_sfc_main$b, [["__scopeId", "data-v-71f86b97"]]);
7377
- const _hoisted_1$1 = { class: "flex flex-wrap" };
7378
- const _hoisted_2$1 = { class: "mt-2" };
7379
- const _hoisted_3 = { class: "mt-2" };
7484
+ const SubmissionDecision_vue_vue_type_style_index_0_scoped_eb7ec311_lang = "";
7485
+ const SubmissionDecision = /* @__PURE__ */ _export_sfc(_sfc_main$b, [["__scopeId", "data-v-eb7ec311"]]);
7486
+ const _hoisted_1$2 = { class: "flex flex-wrap" };
7487
+ const _hoisted_2$2 = { class: "mt-2" };
7488
+ const _hoisted_3$1 = { class: "mt-2" };
7380
7489
  const _sfc_main$a = /* @__PURE__ */ vue.defineComponent({
7381
7490
  __name: "SubmissionWaitingDecision",
7382
7491
  setup(__props) {
@@ -7421,25 +7530,21 @@ const _sfc_main$a = /* @__PURE__ */ vue.defineComponent({
7421
7530
  };
7422
7531
  });
7423
7532
  const staffId = ((_a = staff.value) == null ? void 0 : _a.id) || "";
7424
- vue.watch(
7425
- isNew,
7426
- (isNew2) => {
7427
- var _a2;
7428
- if (!isNew2)
7429
- return;
7430
- values.value.preparedAt = (/* @__PURE__ */ new Date()).toISOString();
7431
- values.value.submissionStaffIds = [staffId];
7432
- values.value.submissionStaffs = [
7433
- {
7434
- id: staffId,
7435
- flag: (_a2 = staff.value) == null ? void 0 : _a2.flag
7436
- }
7437
- ];
7438
- },
7439
- {
7440
- immediate: true
7441
- }
7442
- );
7533
+ vue.watch(isNew, setDefaultValues, { immediate: true });
7534
+ async function setDefaultValues() {
7535
+ var _a2;
7536
+ if (!isNew.value)
7537
+ return;
7538
+ await promise.PromiseUtil.wait(500);
7539
+ const defaultValues = {
7540
+ submissionStaffIds: [staffId],
7541
+ submissionStaffs: [{ id: staffId, flag: (_a2 = staff.value) == null ? void 0 : _a2.flag }],
7542
+ preparedAt: (/* @__PURE__ */ new Date()).toISOString()
7543
+ };
7544
+ values.value.submissionStaffIds = defaultValues.submissionStaffIds;
7545
+ values.value.submissionStaffs = defaultValues.submissionStaffs;
7546
+ values.value.preparedAt = defaultValues.preparedAt;
7547
+ }
7443
7548
  const syncDelay = async () => {
7444
7549
  var _a2;
7445
7550
  await executeOne("delaySubmission", {
@@ -7479,8 +7584,8 @@ const _sfc_main$a = /* @__PURE__ */ vue.defineComponent({
7479
7584
  onSubmit: vue.unref(saveOne)
7480
7585
  }, {
7481
7586
  default: vue.withCtx(() => [
7482
- vue.createElementVNode("div", _hoisted_1$1, [
7483
- vue.createElementVNode("div", _hoisted_2$1, [
7587
+ vue.createElementVNode("div", _hoisted_1$2, [
7588
+ vue.createElementVNode("div", _hoisted_2$2, [
7484
7589
  vue.unref(isReady) ? (vue.openBlock(), vue.createBlock(vue.unref(form.NeonField), { key: 0 }, {
7485
7590
  input: vue.withCtx(() => {
7486
7591
  var _a2, _b;
@@ -7503,7 +7608,7 @@ const _sfc_main$a = /* @__PURE__ */ vue.defineComponent({
7503
7608
  })) : vue.createCommentVNode("", true)
7504
7609
  ]),
7505
7610
  vue.createTextVNode("    "),
7506
- vue.createElementVNode("div", _hoisted_3, [
7611
+ vue.createElementVNode("div", _hoisted_3$1, [
7507
7612
  vue.unref(isReady) ? (vue.openBlock(), vue.createBlock(vue.unref(form.NeonField), { key: 0 }, {
7508
7613
  input: vue.withCtx(() => {
7509
7614
  var _a2, _b;
@@ -7651,8 +7756,8 @@ const _sfc_main$a = /* @__PURE__ */ vue.defineComponent({
7651
7756
  };
7652
7757
  }
7653
7758
  });
7654
- const SubmissionWaitingDecision_vue_vue_type_style_index_0_scoped_dee14451_lang = "";
7655
- const SubmissionWaitingDecision = /* @__PURE__ */ _export_sfc(_sfc_main$a, [["__scopeId", "data-v-dee14451"]]);
7759
+ const SubmissionWaitingDecision_vue_vue_type_style_index_0_scoped_1c4b359e_lang = "";
7760
+ const SubmissionWaitingDecision = /* @__PURE__ */ _export_sfc(_sfc_main$a, [["__scopeId", "data-v-1c4b359e"]]);
7656
7761
  const _sfc_main$9 = /* @__PURE__ */ vue.defineComponent({
7657
7762
  __name: "SubmissionSupervisor",
7658
7763
  setup(__props) {
@@ -8199,8 +8304,8 @@ const _sfc_main$4 = /* @__PURE__ */ vue.defineComponent({
8199
8304
  const TargetBranch_vue_vue_type_style_index_0_scoped_6a5a6e80_lang = "";
8200
8305
  const TargetBranch = /* @__PURE__ */ _export_sfc(_sfc_main$4, [["__scopeId", "data-v-6a5a6e80"]]);
8201
8306
  const TaskModel = personaliaModels.models.TaskModel;
8202
- const _hoisted_1 = { key: 0 };
8203
- const _hoisted_2 = { key: 1 };
8307
+ const _hoisted_1$1 = { key: 0 };
8308
+ const _hoisted_2$1 = { key: 1 };
8204
8309
  const _sfc_main$3 = /* @__PURE__ */ vue.defineComponent({
8205
8310
  ...{ name: "TaskWorkButton" },
8206
8311
  __name: "TaskWorkButton",
@@ -8291,7 +8396,7 @@ const _sfc_main$3 = /* @__PURE__ */ vue.defineComponent({
8291
8396
  };
8292
8397
  return (_ctx, _cache) => {
8293
8398
  return vue.openBlock(), vue.createElementBlock(vue.Fragment, null, [
8294
- onHandleTaskWork.value.onStartTaskWorking ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1, [
8399
+ onHandleTaskWork.value.onStartTaskWorking ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$1, [
8295
8400
  vue.createVNode(vue.unref(interfaces.NeonButton), {
8296
8401
  "is-rounded": true,
8297
8402
  size: "sm",
@@ -8301,7 +8406,7 @@ const _sfc_main$3 = /* @__PURE__ */ vue.defineComponent({
8301
8406
  onClick: onClickHandlerStartTaskWork
8302
8407
  })
8303
8408
  ])) : vue.createCommentVNode("", true),
8304
- onHandleTaskWork.value.onFinishedTaskWorking ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_2, [
8409
+ onHandleTaskWork.value.onFinishedTaskWorking ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_2$1, [
8305
8410
  vue.createVNode(vue.unref(interfaces.NeonButton), {
8306
8411
  "is-rounded": true,
8307
8412
  size: "sm",
@@ -8331,9 +8436,14 @@ const _sfc_main$2 = /* @__PURE__ */ vue.defineComponent({
8331
8436
  };
8332
8437
  }
8333
8438
  });
8439
+ const _hoisted_1 = { class: "flex flex-wrap gap-2" };
8440
+ const _hoisted_2 = { class: "mt-2" };
8441
+ const _hoisted_3 = { class: "mt-2" };
8442
+ const _hoisted_4 = { class: "mt-2" };
8334
8443
  const _sfc_main$1 = /* @__PURE__ */ vue.defineComponent({
8335
8444
  __name: "TaskSingle",
8336
8445
  setup(__props) {
8446
+ var _a;
8337
8447
  const {
8338
8448
  fields,
8339
8449
  id,
@@ -8345,12 +8455,87 @@ const _sfc_main$1 = /* @__PURE__ */ vue.defineComponent({
8345
8455
  isReady,
8346
8456
  isMain,
8347
8457
  saveOne,
8348
- discardChanges
8458
+ discardChanges,
8459
+ syncOne,
8460
+ executeOne
8349
8461
  } = context.useSingle();
8350
- function onChangeDateUpdate(date) {
8351
- values.value.estimatedStartDate = date == null ? void 0 : date.start.toISOString();
8352
- values.value.estimatedEndDate = date == null ? void 0 : date.end.toISOString();
8462
+ const { staff } = useOperasional();
8463
+ const staffId = ((_a = staff.value) == null ? void 0 : _a.id) || "";
8464
+ vue.watch(isNew, setDefaultValues, { immediate: true });
8465
+ async function setDefaultValues() {
8466
+ var _a2, _b;
8467
+ if (!isNew.value)
8468
+ return;
8469
+ await promise.PromiseUtil.wait(500);
8470
+ const defaultValues = {
8471
+ doingAssignmentIds: [staffId],
8472
+ doingAssignments: [{ id: staffId, flag: (_a2 = staff.value) == null ? void 0 : _a2.flag }],
8473
+ givingAssignmentIds: [staffId],
8474
+ giveAssignments: [{ id: staffId, flag: (_b = staff.value) == null ? void 0 : _b.flag }]
8475
+ };
8476
+ values.value.doingAssignmentIds = defaultValues.doingAssignmentIds;
8477
+ values.value.doingAssignments = defaultValues.doingAssignments;
8478
+ values.value.givingAssignmentIds = defaultValues.givingAssignmentIds;
8479
+ values.value.giveAssignments = defaultValues.giveAssignments;
8353
8480
  }
8481
+ const submissionOptions = vue.computed(() => {
8482
+ return {
8483
+ filter: [
8484
+ {
8485
+ handle: "status",
8486
+ operator: "in",
8487
+ value: ["approved", "monitored"]
8488
+ },
8489
+ {
8490
+ $or: [
8491
+ {
8492
+ handle: "followUpStaffIds",
8493
+ operator: "in",
8494
+ value: values.value.doingAssignmentIds
8495
+ },
8496
+ {
8497
+ handle: "submissionStaffIds",
8498
+ operator: "in",
8499
+ value: values.value.doingAssignmentIds
8500
+ }
8501
+ ]
8502
+ }
8503
+ ]
8504
+ };
8505
+ });
8506
+ const isDeleted = vue.ref(false);
8507
+ const syncDeleteTask = async () => {
8508
+ const resp = await executeOne("deleteTask", {
8509
+ taskId: id.value,
8510
+ doingAssignmentIds: values.value.doingAssignmentIds,
8511
+ givingAssignmentIds: values.value.givingAssignmentIds
8512
+ });
8513
+ const isSameName = resp.data.executeTask.output.isSameName;
8514
+ if (isSameName === true) {
8515
+ isDeleted.value = false;
8516
+ window.location.href = "/personalia/tasks";
8517
+ } else {
8518
+ isDeleted.value = true;
8519
+ }
8520
+ };
8521
+ const syncDoing = async () => {
8522
+ await executeOne("doingTask", {
8523
+ taskId: id.value
8524
+ });
8525
+ await syncOne();
8526
+ };
8527
+ const syncCompleted = async () => {
8528
+ await executeOne("completedTask", {
8529
+ taskId: id.value
8530
+ });
8531
+ await syncOne();
8532
+ };
8533
+ const syncCanceled = async () => {
8534
+ await executeOne("canceledTask", {
8535
+ taskId: id.value
8536
+ });
8537
+ await syncOne();
8538
+ };
8354
8539
  return (_ctx, _cache) => {
8355
8540
  return vue.openBlock(), vue.createBlock(vue.unref(context.NeonSingle), { class: "neu-task-single" }, {
8356
8541
  default: vue.withCtx(() => [
@@ -8372,162 +8557,216 @@ const _sfc_main$1 = /* @__PURE__ */ vue.defineComponent({
8372
8557
  onSubmit: vue.unref(saveOne)
8373
8558
  }, {
8374
8559
  default: vue.withCtx(() => [
8375
- vue.createVNode(vue.unref(form.NeonField), vue.mergeProps({
8376
- modelValue: vue.unref(values).taskName,
8377
- "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => vue.unref(values).taskName = $event)
8378
- }, vue.unref(fields).taskName), null, 16, ["modelValue"]),
8379
- vue.createVNode(vue.unref(form.NeonFields), { md: "grid gap-4" }, {
8380
- default: vue.withCtx(() => [
8381
- vue.createVNode(vue.unref(form.NeonField), vue.mergeProps({
8382
- modelValue: vue.unref(values).internalServiceDescription,
8383
- "onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => vue.unref(values).internalServiceDescription = $event)
8384
- }, vue.unref(fields).internalServiceDescription), null, 16, ["modelValue"])
8385
- ]),
8386
- _: 1
8387
- }),
8388
- vue.createVNode(vue.unref(form.NeonFields), { md: "grid gap-4" }, {
8389
- default: vue.withCtx(() => [
8390
- vue.createVNode(vue.unref(form.NeonField), vue.mergeProps({
8391
- modelValue: vue.unref(values).externalServiceDescription,
8392
- "onUpdate:modelValue": _cache[2] || (_cache[2] = ($event) => vue.unref(values).externalServiceDescription = $event)
8393
- }, vue.unref(fields).externalServiceDescription), null, 16, ["modelValue"])
8394
- ]),
8395
- _: 1
8396
- }),
8397
- vue.createVNode(vue.unref(office.OfficeRelation), {
8398
- modelValue: vue.unref(values),
8399
- "onUpdate:modelValue": _cache[3] || (_cache[3] = ($event) => vue.isRef(values) ? values.value = $event : null),
8400
- field: vue.unref(fields).branches,
8401
- fragment: { id: 1, display: 1, name: 1 }
8402
- }, null, 8, ["modelValue", "field"]),
8403
- vue.createVNode(vue.unref(form.NeonFields), { md: "grid gap-4 sm:grid-cols-2" }, {
8404
- default: vue.withCtx(() => [
8405
- vue.createVNode(vue.unref(office.OfficeRelation), {
8406
- modelValue: vue.unref(values),
8407
- "onUpdate:modelValue": _cache[4] || (_cache[4] = ($event) => vue.isRef(values) ? values.value = $event : null),
8408
- field: vue.unref(fields).giveAssignments
8409
- }, null, 8, ["modelValue", "field"]),
8410
- vue.createVNode(vue.unref(office.OfficeRelation), {
8411
- modelValue: vue.unref(values),
8412
- "onUpdate:modelValue": _cache[5] || (_cache[5] = ($event) => vue.isRef(values) ? values.value = $event : null),
8413
- field: vue.unref(fields).supervisingAssignments
8414
- }, null, 8, ["modelValue", "field"])
8415
- ]),
8416
- _: 1
8417
- }),
8418
- vue.createVNode(vue.unref(form.NeonFields), { md: "grid gap-3 sm:grid-cols-2" }, {
8419
- default: vue.withCtx(() => [
8420
- vue.createVNode(vue.unref(office.OfficeRelation), {
8421
- modelValue: vue.unref(values),
8422
- "onUpdate:modelValue": _cache[6] || (_cache[6] = ($event) => vue.isRef(values) ? values.value = $event : null),
8423
- field: vue.unref(fields).doingAssignments
8424
- }, null, 8, ["modelValue", "field"]),
8425
- vue.createVNode(vue.unref(office.OfficeRelation), {
8426
- modelValue: vue.unref(values),
8427
- "onUpdate:modelValue": _cache[7] || (_cache[7] = ($event) => vue.isRef(values) ? values.value = $event : null),
8428
- field: vue.unref(fields).helpAssignments
8429
- }, null, 8, ["modelValue", "field"])
8560
+ isDeleted.value == true ? (vue.openBlock(), vue.createBlock(vue.unref(interfaces.NeonAlert), {
8561
+ key: 0,
8562
+ icon: "circle-info",
8563
+ label: "Akses hapus ditahan.",
8564
+ description: "Tidak dapat menghapus tugas ini, karena bukan anda yang membuat tugas ini.",
8565
+ color: "#F7CF6D"
8566
+ })) : vue.createCommentVNode("", true),
8567
+ vue.createElementVNode("div", _hoisted_1, [
8568
+ vue.createElementVNode("div", _hoisted_2, [
8569
+ vue.unref(isReady) ? (vue.openBlock(), vue.createBlock(vue.unref(form.NeonField), { key: 0 }, {
8570
+ input: vue.withCtx(() => [
8571
+ vue.createVNode(vue.unref(interfaces.NeonButton), {
8572
+ size: "md",
8573
+ color: "success",
8574
+ "icon-left": "check",
8575
+ "is-disabled": vue.unref(isNew) || vue.unref(isChanged),
8576
+ onClick: syncCompleted
8577
+ }, {
8578
+ default: vue.withCtx(() => [
8579
+ vue.createTextVNode("Selesai")
8580
+ ]),
8581
+ _: 1
8582
+ }, 8, ["is-disabled"])
8583
+ ]),
8584
+ _: 1
8585
+ })) : vue.createCommentVNode("", true)
8430
8586
  ]),
8431
- _: 1
8432
- }),
8433
- vue.createVNode(vue.unref(form.NeonFields), { md: "grid gap-4" }, {
8434
- default: vue.withCtx(() => [
8435
- vue.createVNode(vue.unref(form.NeonField), {
8436
- "model-value": {
8437
- start: new Date(vue.unref(values).estimatedStartDate || ""),
8438
- end: new Date(vue.unref(values).estimatedEndDate || "")
8439
- },
8440
- name: "Est. Mulai - Selesai",
8441
- note: "Tanggal tugas dimulai dan selesai",
8442
- input: "date-range",
8443
- type: "date-range",
8444
- "is-alone": "",
8445
- "onUpdate:modelValue": onChangeDateUpdate
8446
- }, null, 8, ["model-value"])
8587
+ vue.createElementVNode("div", _hoisted_3, [
8588
+ vue.unref(isReady) ? (vue.openBlock(), vue.createBlock(vue.unref(form.NeonField), { key: 0 }, {
8589
+ input: vue.withCtx(() => [
8590
+ vue.createVNode(vue.unref(interfaces.NeonButton), {
8591
+ size: "md",
8592
+ color: "warning",
8593
+ "icon-left": "check",
8594
+ "is-disabled": vue.unref(isNew) || vue.unref(isChanged),
8595
+ onClick: syncCanceled
8596
+ }, {
8597
+ default: vue.withCtx(() => [
8598
+ vue.createTextVNode("Batal")
8599
+ ]),
8600
+ _: 1
8601
+ }, 8, ["is-disabled"])
8602
+ ]),
8603
+ _: 1
8604
+ })) : vue.createCommentVNode("", true)
8447
8605
  ]),
8448
- _: 1
8449
- }),
8450
- vue.createVNode(vue.unref(form.NeonFields), { md: "grid gap-4 sm:grid-cols-2" }, {
8606
+ vue.createElementVNode("div", _hoisted_4, [
8607
+ vue.unref(isReady) ? (vue.openBlock(), vue.createBlock(vue.unref(form.NeonField), { key: 0 }, {
8608
+ input: vue.withCtx(() => [
8609
+ vue.createVNode(vue.unref(interfaces.NeonButton), {
8610
+ size: "md",
8611
+ color: "info",
8612
+ "icon-left": "check",
8613
+ "is-disabled": vue.unref(isNew) || vue.unref(isChanged),
8614
+ onClick: syncDoing
8615
+ }, {
8616
+ default: vue.withCtx(() => [
8617
+ vue.createTextVNode("Kerjakan")
8618
+ ]),
8619
+ _: 1
8620
+ }, 8, ["is-disabled"])
8621
+ ]),
8622
+ _: 1
8623
+ })) : vue.createCommentVNode("", true)
8624
+ ])
8625
+ ]),
8626
+ vue.createVNode(vue.unref(form.NeonFields), { md: "grid-cols-2" }, {
8451
8627
  default: vue.withCtx(() => [
8452
8628
  vue.createVNode(vue.unref(form.NeonField), vue.mergeProps({
8453
- modelValue: vue.unref(values).estimatedHourDoingAssignment,
8454
- "onUpdate:modelValue": _cache[8] || (_cache[8] = ($event) => vue.unref(values).estimatedHourDoingAssignment = $event)
8455
- }, vue.unref(fields).estimatedHourDoingAssignment), null, 16, ["modelValue"]),
8629
+ modelValue: vue.unref(values).percentStatus,
8630
+ "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => vue.unref(values).percentStatus = $event)
8631
+ }, vue.unref(fields).percentStatus, {
8632
+ "is-disabled": vue.unref(values).canceledDate !== null || vue.unref(values).completedDate !== null
8633
+ }), null, 16, ["modelValue", "is-disabled"]),
8456
8634
  vue.createVNode(vue.unref(form.NeonField), vue.mergeProps({
8457
- modelValue: vue.unref(values).estimatedHourCommunicationAssignment,
8458
- "onUpdate:modelValue": _cache[9] || (_cache[9] = ($event) => vue.unref(values).estimatedHourCommunicationAssignment = $event)
8459
- }, vue.unref(fields).estimatedHourCommunicationAssignment), null, 16, ["modelValue"])
8635
+ modelValue: vue.unref(values).taskName,
8636
+ "onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => vue.unref(values).taskName = $event)
8637
+ }, vue.unref(fields).taskName), null, 16, ["modelValue"])
8460
8638
  ]),
8461
8639
  _: 1
8462
8640
  }),
8463
- vue.createVNode(vue.unref(form.NeonFields), { md: "grid gap-4 sm:grid-cols-2" }, {
8641
+ vue.createVNode(vue.unref(form.NeonField), vue.mergeProps({
8642
+ modelValue: vue.unref(values).detail,
8643
+ "onUpdate:modelValue": _cache[2] || (_cache[2] = ($event) => vue.unref(values).detail = $event)
8644
+ }, vue.unref(fields).detail), null, 16, ["modelValue"]),
8645
+ vue.createVNode(vue.unref(form.NeonFields), { md: "grid-cols-2" }, {
8464
8646
  default: vue.withCtx(() => [
8465
8647
  vue.createVNode(vue.unref(form.NeonField), vue.mergeProps({
8466
- modelValue: vue.unref(values).estimatedHourCognitiveAssignment,
8467
- "onUpdate:modelValue": _cache[10] || (_cache[10] = ($event) => vue.unref(values).estimatedHourCognitiveAssignment = $event)
8468
- }, vue.unref(fields).estimatedHourCognitiveAssignment), null, 16, ["modelValue"]),
8469
- vue.createVNode(vue.unref(form.NeonField), vue.mergeProps({
8470
- modelValue: vue.unref(values).estimatedHourCreativeAssignment,
8471
- "onUpdate:modelValue": _cache[11] || (_cache[11] = ($event) => vue.unref(values).estimatedHourCreativeAssignment = $event)
8472
- }, vue.unref(fields).estimatedHourCreativeAssignment), null, 16, ["modelValue"])
8473
- ]),
8474
- _: 1
8475
- }),
8476
- vue.createVNode(vue.unref(form.NeonFields), { md: "grid gap-4" }, {
8477
- default: vue.withCtx(() => [
8648
+ modelValue: vue.unref(values).estimatedStartDate,
8649
+ "onUpdate:modelValue": _cache[3] || (_cache[3] = ($event) => vue.unref(values).estimatedStartDate = $event)
8650
+ }, vue.unref(fields).estimatedStartDate), null, 16, ["modelValue"]),
8478
8651
  vue.createVNode(vue.unref(form.NeonField), vue.mergeProps({
8479
- modelValue: vue.unref(values).estimatedHourByDay,
8480
- "onUpdate:modelValue": _cache[12] || (_cache[12] = ($event) => vue.unref(values).estimatedHourByDay = $event)
8481
- }, vue.unref(fields).estimatedHourByDay, { "is-disabled": "" }), null, 16, ["modelValue"])
8652
+ modelValue: vue.unref(values).estimatedEndDate,
8653
+ "onUpdate:modelValue": _cache[4] || (_cache[4] = ($event) => vue.unref(values).estimatedEndDate = $event)
8654
+ }, vue.unref(fields).estimatedEndDate), null, 16, ["modelValue"])
8482
8655
  ]),
8483
8656
  _: 1
8484
8657
  }),
8485
- vue.createVNode(vue.unref(form.NeonFields), { md: "grid gap-4" }, {
8486
- default: vue.withCtx(() => [
8487
- vue.createVNode(vue.unref(form.NeonField), vue.mergeProps({
8488
- modelValue: vue.unref(values).priority,
8489
- "onUpdate:modelValue": _cache[13] || (_cache[13] = ($event) => vue.unref(values).priority = $event)
8490
- }, vue.unref(fields).priority), null, 16, ["modelValue"])
8491
- ]),
8492
- _: 1
8658
+ vue.createVNode(vue.unref(form.NeonField), vue.mergeProps({
8659
+ modelValue: vue.unref(values).estimatedHour,
8660
+ "onUpdate:modelValue": _cache[5] || (_cache[5] = ($event) => vue.unref(values).estimatedHour = $event)
8661
+ }, vue.unref(fields).estimatedHour), null, 16, ["modelValue"]),
8662
+ vue.createVNode(vue.unref(office.OfficeRelation), {
8663
+ modelValue: vue.unref(values),
8664
+ "onUpdate:modelValue": _cache[6] || (_cache[6] = ($event) => vue.isRef(values) ? values.value = $event : null),
8665
+ field: vue.unref(fields).doingAssignments,
8666
+ "is-disabled": ""
8667
+ }, null, 8, ["modelValue", "field"]),
8668
+ vue.createVNode(vue.unref(office.OfficeRelation), {
8669
+ modelValue: vue.unref(values),
8670
+ "onUpdate:modelValue": _cache[7] || (_cache[7] = ($event) => vue.isRef(values) ? values.value = $event : null),
8671
+ field: vue.unref(fields).giveAssignments,
8672
+ "is-disabled": ""
8673
+ }, null, 8, ["modelValue", "field"]),
8674
+ vue.createVNode(vue.unref(office.OfficeRelation), {
8675
+ modelValue: vue.unref(values),
8676
+ "onUpdate:modelValue": _cache[8] || (_cache[8] = ($event) => vue.isRef(values) ? values.value = $event : null),
8677
+ field: vue.unref(fields).helpAssignments
8678
+ }, null, 8, ["modelValue", "field"]),
8679
+ vue.createVNode(vue.unref(interfaces.NeonDivider), {
8680
+ label: "Referensi",
8681
+ "is-dashed": ""
8493
8682
  }),
8494
- vue.createVNode(vue.unref(form.NeonFields), { md: "grid gap-4" }, {
8495
- default: vue.withCtx(() => [
8496
- vue.createVNode(vue.unref(form.NeonField), vue.mergeProps({
8497
- modelValue: vue.unref(values).status,
8498
- "onUpdate:modelValue": _cache[14] || (_cache[14] = ($event) => vue.unref(values).status = $event)
8499
- }, vue.unref(fields).status, { "is-disabled": "" }), null, 16, ["modelValue"])
8500
- ]),
8501
- _: 1
8683
+ vue.createVNode(vue.unref(office.OfficeRelation), {
8684
+ modelValue: vue.unref(values),
8685
+ "onUpdate:modelValue": _cache[9] || (_cache[9] = ($event) => vue.isRef(values) ? values.value = $event : null),
8686
+ field: vue.unref(fields).submissions,
8687
+ query: vue.unref(query.Query).define(submissionOptions.value)
8688
+ }, null, 8, ["modelValue", "field", "query"]),
8689
+ vue.createVNode(vue.unref(interfaces.NeonDivider), {
8690
+ label: "Keterangan",
8691
+ "is-dashed": ""
8502
8692
  }),
8503
- vue.createVNode(vue.unref(form.NeonFields), { md: "grid gap-4 sm:grid-cols-2" }, {
8693
+ vue.createVNode(vue.unref(form.NeonFields), { md: "grid-cols-2" }, {
8504
8694
  default: vue.withCtx(() => [
8505
8695
  vue.createVNode(vue.unref(form.NeonField), vue.mergeProps({
8506
- modelValue: vue.unref(values).estimatedRealizedAssignmentStart,
8507
- "onUpdate:modelValue": _cache[15] || (_cache[15] = ($event) => vue.unref(values).estimatedRealizedAssignmentStart = $event)
8508
- }, vue.unref(fields).estimatedRealizedAssignmentStart), null, 16, ["modelValue"]),
8696
+ modelValue: vue.unref(values).completedDate,
8697
+ "onUpdate:modelValue": _cache[10] || (_cache[10] = ($event) => vue.unref(values).completedDate = $event)
8698
+ }, vue.unref(fields).completedDate, { "is-disabled": "" }), null, 16, ["modelValue"]),
8509
8699
  vue.createVNode(vue.unref(form.NeonField), vue.mergeProps({
8510
- modelValue: vue.unref(values).estimatedRealizedAssignmentEnd,
8511
- "onUpdate:modelValue": _cache[16] || (_cache[16] = ($event) => vue.unref(values).estimatedRealizedAssignmentEnd = $event)
8512
- }, vue.unref(fields).estimatedRealizedAssignmentEnd), null, 16, ["modelValue"])
8700
+ modelValue: vue.unref(values).canceledDate,
8701
+ "onUpdate:modelValue": _cache[11] || (_cache[11] = ($event) => vue.unref(values).canceledDate = $event)
8702
+ }, vue.unref(fields).canceledDate, { "is-disabled": "" }), null, 16, ["modelValue"])
8513
8703
  ]),
8514
8704
  _: 1
8515
8705
  }),
8516
- vue.createVNode(vue.unref(form.NeonFields), { md: "grid gap-4" }, {
8517
- default: vue.withCtx(() => [
8518
- vue.createVNode(vue.unref(form.NeonField), vue.mergeProps({
8519
- modelValue: vue.unref(values).resultAssignment,
8520
- "onUpdate:modelValue": _cache[17] || (_cache[17] = ($event) => vue.unref(values).resultAssignment = $event)
8521
- }, vue.unref(fields).resultAssignment), null, 16, ["modelValue"])
8706
+ vue.unref(isReady) ? (vue.openBlock(), vue.createBlock(vue.unref(form.NeonField), { key: 1 }, {
8707
+ input: vue.withCtx(() => [
8708
+ vue.createVNode(vue.unref(interfaces.NeonButton), {
8709
+ size: "md",
8710
+ color: "danger",
8711
+ "icon-left": "trash",
8712
+ "is-disabled": vue.unref(isNew) || vue.unref(isChanged),
8713
+ onClick: syncDeleteTask
8714
+ }, {
8715
+ default: vue.withCtx(() => [
8716
+ vue.createTextVNode("Hapus")
8717
+ ]),
8718
+ _: 1
8719
+ }, 8, ["is-disabled"])
8522
8720
  ]),
8523
8721
  _: 1
8524
- })
8722
+ })) : vue.createCommentVNode("", true)
8525
8723
  ]),
8526
8724
  _: 1
8527
8725
  }, 8, ["initial-values", "is-loading", "is-changed", "onCancel", "onSubmit"])
8528
8726
  ]),
8529
8727
  _: 1
8530
- })
8728
+ }),
8729
+ !vue.unref(isNew) ? (vue.openBlock(), vue.createBlock(vue.unref(office.OfficeTab), {
8730
+ key: 0,
8731
+ handle: "progress",
8732
+ icon: "info-circle",
8733
+ title: "Progress"
8734
+ }, {
8735
+ default: vue.withCtx(() => {
8736
+ var _a2;
8737
+ return [
8738
+ vue.createVNode(vue.unref(office.OfficeCollectionRelated), {
8739
+ definition: "neu:personalia:progress",
8740
+ title: "Progress",
8741
+ description: "Progress dari tugas ini.",
8742
+ query: vue.unref(query.Query).define({
8743
+ filter: [
8744
+ {
8745
+ taskIds: vue.unref(id)
8746
+ }
8747
+ ],
8748
+ sort: {
8749
+ handle: "startedAt",
8750
+ direction: "descending"
8751
+ }
8752
+ }),
8753
+ "is-ready": vue.unref(isReady),
8754
+ columns: ["display", "startedAt", "endedAt"],
8755
+ sorts: ["startedAt", "createdAt", "updatedAt"],
8756
+ "initial-values": {
8757
+ taskIds: vue.unref(id),
8758
+ tasks: vue.unref(values),
8759
+ submissionIds: vue.unref(values).submissionIds,
8760
+ submissions: vue.unref(values).submissions,
8761
+ staffIds: (_a2 = vue.unref(staff)) == null ? void 0 : _a2.id,
8762
+ staffs: vue.unref(staff)
8763
+ },
8764
+ peeks: ["modal"]
8765
+ }, null, 8, ["query", "is-ready", "initial-values"])
8766
+ ];
8767
+ }),
8768
+ _: 1
8769
+ })) : vue.createCommentVNode("", true)
8531
8770
  ]),
8532
8771
  _: 1
8533
8772
  }, 8, ["use-url"])