@neutron.co.id/operasional-interfaces 1.9.7 → 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-7782d75c"), 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,
@@ -1823,7 +1838,7 @@ const _sfc_main$X = /* @__PURE__ */ vue.defineComponent({
1823
1838
  ])
1824
1839
  ]),
1825
1840
  default: vue.withCtx(() => [
1826
- vue.createElementVNode("div", _hoisted_3$4, [
1841
+ vue.createElementVNode("div", _hoisted_3$5, [
1827
1842
  vue.createVNode(vue.unref(context.NeonCollectionContext), {
1828
1843
  definition: "neu:tempat:checkIn",
1829
1844
  scope: "_checkIns",
@@ -1838,7 +1853,7 @@ const _sfc_main$X = /* @__PURE__ */ vue.defineComponent({
1838
1853
  "is-main": ""
1839
1854
  }, {
1840
1855
  default: vue.withCtx(() => [
1841
- vue.createElementVNode("div", _hoisted_4$2, [
1856
+ vue.createElementVNode("div", _hoisted_4$3, [
1842
1857
  _hoisted_5$1,
1843
1858
  vue.createElementVNode("div", _hoisted_6, [
1844
1859
  vue.createVNode(vue.unref(office.OfficeCollectionQuery), { displays: ["table"] }, {
@@ -1861,9 +1876,9 @@ const _sfc_main$X = /* @__PURE__ */ vue.defineComponent({
1861
1876
  };
1862
1877
  }
1863
1878
  });
1864
- const CheckInPresenceCollection_vue_vue_type_style_index_0_scoped_7782d75c_lang = "";
1865
- const CheckInPresenceCollection = /* @__PURE__ */ _export_sfc(_sfc_main$X, [["__scopeId", "data-v-7782d75c"]]);
1866
- 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" };
1867
1882
  const _sfc_main$W = /* @__PURE__ */ vue.defineComponent({
1868
1883
  __name: "CheckInSingle",
1869
1884
  setup(__props) {
@@ -1922,7 +1937,7 @@ const _sfc_main$W = /* @__PURE__ */ vue.defineComponent({
1922
1937
  field: vue.unref(fields).building,
1923
1938
  "is-disabled": ""
1924
1939
  }, null, 8, ["modelValue", "field"]),
1925
- vue.createElementVNode("div", _hoisted_1$i, [
1940
+ vue.createElementVNode("div", _hoisted_1$j, [
1926
1941
  vue.createVNode(vue.unref(form.NeonField), vue.mergeProps({
1927
1942
  modelValue: vue.unref(values).type,
1928
1943
  "onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => vue.unref(values).type = $event)
@@ -1959,7 +1974,7 @@ const _sfc_main$W = /* @__PURE__ */ vue.defineComponent({
1959
1974
  });
1960
1975
  const CheckInSingle_vue_vue_type_style_index_0_scoped_e56842b0_lang = "";
1961
1976
  const CheckInSingle = /* @__PURE__ */ _export_sfc(_sfc_main$W, [["__scopeId", "data-v-e56842b0"]]);
1962
- 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" };
1963
1978
  const _sfc_main$V = /* @__PURE__ */ vue.defineComponent({
1964
1979
  __name: "CheckInExternal",
1965
1980
  setup(__props) {
@@ -2026,7 +2041,7 @@ const _sfc_main$V = /* @__PURE__ */ vue.defineComponent({
2026
2041
  field: vue.unref(fields).building,
2027
2042
  "is-disabled": vue.unref(values).type === "checkin" || vue.unref(values).type === "checkout" || vue.unref(values).type === "out"
2028
2043
  }, null, 8, ["modelValue", "field", "is-disabled"])) : vue.createCommentVNode("", true),
2029
- vue.createElementVNode("div", _hoisted_1$h, [
2044
+ vue.createElementVNode("div", _hoisted_1$i, [
2030
2045
  vue.createVNode(vue.unref(form.NeonField), vue.mergeProps({
2031
2046
  modelValue: vue.unref(values).type,
2032
2047
  "onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => vue.unref(values).type = $event)
@@ -2070,8 +2085,8 @@ const _sfc_main$V = /* @__PURE__ */ vue.defineComponent({
2070
2085
  const CheckInExternal_vue_vue_type_style_index_0_scoped_aeda12b0_lang = "";
2071
2086
  const CheckInExternal = /* @__PURE__ */ _export_sfc(_sfc_main$V, [["__scopeId", "data-v-aeda12b0"]]);
2072
2087
  const _withScopeId$1 = (n) => (vue.pushScopeId("data-v-d6ac1ebc"), n = n(), vue.popScopeId(), n);
2073
- const _hoisted_1$g = /* @__PURE__ */ _withScopeId$1(() => /* @__PURE__ */ vue.createElementVNode("h4", { align: "center" }, "Aktifkan kamera untuk scan QR Code", -1));
2074
- 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" }, [
2075
2090
  /* @__PURE__ */ vue.createTextVNode(' Neutron Kantor membutuhkan akses ke kamera. Dengan klik "'),
2076
2091
  /* @__PURE__ */ vue.createElementVNode("b", null, "Saya Setuju"),
2077
2092
  /* @__PURE__ */ vue.createTextVNode('", kamu telah menyetujui syarat dan ketentuan yang berlaku. ')
@@ -2101,8 +2116,8 @@ const _sfc_main$U = /* @__PURE__ */ vue.defineComponent({
2101
2116
  onClose: _cache[0] || (_cache[0] = ($event) => _ctx.$emit("close"))
2102
2117
  }, {
2103
2118
  default: vue.withCtx(() => [
2104
- _hoisted_1$g,
2105
- _hoisted_2$b,
2119
+ _hoisted_1$h,
2120
+ _hoisted_2$c,
2106
2121
  vue.createVNode(vue.unref(interfaces.NeonButton), {
2107
2122
  "is-full": "",
2108
2123
  size: "md",
@@ -2127,7 +2142,7 @@ const _sfc_main$U = /* @__PURE__ */ vue.defineComponent({
2127
2142
  });
2128
2143
  const CheckInAccess_vue_vue_type_style_index_0_scoped_d6ac1ebc_lang = "";
2129
2144
  const CheckInAccess = /* @__PURE__ */ _export_sfc(_sfc_main$U, [["__scopeId", "data-v-d6ac1ebc"]]);
2130
- const _hoisted_1$f = { class: "buttons" };
2145
+ const _hoisted_1$g = { class: "buttons" };
2131
2146
  const _sfc_main$T = /* @__PURE__ */ vue.defineComponent({
2132
2147
  __name: "CheckInScanError",
2133
2148
  setup(__props) {
@@ -2141,7 +2156,7 @@ const _sfc_main$T = /* @__PURE__ */ vue.defineComponent({
2141
2156
  default: vue.withCtx(() => [
2142
2157
  vue.createVNode(vue.unref(interfaces.NeonSheet), null, {
2143
2158
  footer: vue.withCtx(() => [
2144
- vue.createElementVNode("div", _hoisted_1$f, [
2159
+ vue.createElementVNode("div", _hoisted_1$g, [
2145
2160
  vue.createVNode(vue.unref(interfaces.NeonButton), {
2146
2161
  "is-full": "",
2147
2162
  "is-rounded": "",
@@ -2173,10 +2188,10 @@ const _sfc_main$T = /* @__PURE__ */ vue.defineComponent({
2173
2188
  }
2174
2189
  });
2175
2190
  const _withScopeId = (n) => (vue.pushScopeId("data-v-dc535804"), n = n(), vue.popScopeId(), n);
2176
- const _hoisted_1$e = /* @__PURE__ */ _withScopeId(() => /* @__PURE__ */ vue.createElementVNode("div", { class: "invalid-message" }, "Invalid Code!", -1));
2177
- const _hoisted_2$a = /* @__PURE__ */ _withScopeId(() => /* @__PURE__ */ vue.createElementVNode("div", null, null, -1));
2178
- const _hoisted_3$3 = ["onClick"];
2179
- 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" };
2180
2195
  const _sfc_main$S = /* @__PURE__ */ vue.defineComponent({
2181
2196
  __name: "CheckInScanner",
2182
2197
  emits: ["start", "stop", "scanned", "close"],
@@ -2313,20 +2328,20 @@ const _sfc_main$S = /* @__PURE__ */ vue.defineComponent({
2313
2328
  class: "inner",
2314
2329
  onClick: switchCamera
2315
2330
  }, [
2316
- _hoisted_1$e,
2317
- _hoisted_2$a,
2331
+ _hoisted_1$f,
2332
+ _hoisted_2$b,
2318
2333
  vue.createElementVNode("div", {
2319
2334
  class: "button-switch",
2320
2335
  onClick: vue.withModifiers(switchCamera, ["stop"])
2321
2336
  }, [
2322
- vue.createElementVNode("div", _hoisted_4$1, vue.toDisplayString(currentCamera.value), 1),
2337
+ vue.createElementVNode("div", _hoisted_4$2, vue.toDisplayString(currentCamera.value), 1),
2323
2338
  vue.createVNode(vue.unref(interfaces.NeonButton), {
2324
2339
  "icon-left": "arrows-repeat",
2325
2340
  "is-squared": "",
2326
2341
  size: "sm",
2327
2342
  "is-disabled": !canSwitch.value
2328
2343
  }, null, 8, ["is-disabled"])
2329
- ], 8, _hoisted_3$3)
2344
+ ], 8, _hoisted_3$4)
2330
2345
  ])
2331
2346
  ], 2)
2332
2347
  ]),
@@ -2340,7 +2355,7 @@ const _sfc_main$S = /* @__PURE__ */ vue.defineComponent({
2340
2355
  });
2341
2356
  const CheckInScanner_vue_vue_type_style_index_0_scoped_dc535804_lang = "";
2342
2357
  const CheckInScanner = /* @__PURE__ */ _export_sfc(_sfc_main$S, [["__scopeId", "data-v-dc535804"]]);
2343
- 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);
2344
2359
  const _sfc_main$R = /* @__PURE__ */ vue.defineComponent({
2345
2360
  __name: "CheckInScanSuccess",
2346
2361
  emits: ["close"],
@@ -2361,7 +2376,7 @@ const _sfc_main$R = /* @__PURE__ */ vue.defineComponent({
2361
2376
  onClose: _cache[0] || (_cache[0] = ($event) => _ctx.$emit("close"))
2362
2377
  }, {
2363
2378
  default: vue.withCtx(() => [
2364
- _hoisted_1$d
2379
+ _hoisted_1$e
2365
2380
  ]),
2366
2381
  _: 1
2367
2382
  })
@@ -2388,7 +2403,7 @@ const _sfc_main$Q = /* @__PURE__ */ vue.defineComponent({
2388
2403
  };
2389
2404
  }
2390
2405
  });
2391
- 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" };
2392
2407
  const _sfc_main$P = /* @__PURE__ */ vue.defineComponent({
2393
2408
  __name: "CheckInSupervisor",
2394
2409
  setup(__props) {
@@ -2456,7 +2471,7 @@ const _sfc_main$P = /* @__PURE__ */ vue.defineComponent({
2456
2471
  field: vue.unref(fields).building,
2457
2472
  "is-disabled": vue.unref(values).type === "checkin" || vue.unref(values).type === "checkout" || vue.unref(values).type === "out"
2458
2473
  }, null, 8, ["modelValue", "field", "is-disabled"])) : vue.createCommentVNode("", true),
2459
- vue.createElementVNode("div", _hoisted_1$c, [
2474
+ vue.createElementVNode("div", _hoisted_1$d, [
2460
2475
  vue.createVNode(vue.unref(form.NeonField), vue.mergeProps({
2461
2476
  modelValue: vue.unref(values).type,
2462
2477
  "onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => vue.unref(values).type = $event)
@@ -2499,8 +2514,8 @@ const _sfc_main$P = /* @__PURE__ */ vue.defineComponent({
2499
2514
  });
2500
2515
  const CheckInSupervisor_vue_vue_type_style_index_0_scoped_551b53ec_lang = "";
2501
2516
  const CheckInSupervisor = /* @__PURE__ */ _export_sfc(_sfc_main$P, [["__scopeId", "data-v-551b53ec"]]);
2502
- const _hoisted_1$b = { class: "operasional-identitas" };
2503
- const _hoisted_2$9 = {
2517
+ const _hoisted_1$c = { class: "operasional-identitas" };
2518
+ const _hoisted_2$a = {
2504
2519
  key: 2,
2505
2520
  class: "section"
2506
2521
  };
@@ -2763,7 +2778,7 @@ const _sfc_main$O = /* @__PURE__ */ vue.defineComponent({
2763
2778
  candidateId.value = null;
2764
2779
  }
2765
2780
  return (_ctx, _cache) => {
2766
- return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$b, [
2781
+ return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$c, [
2767
2782
  state.value === "connect" ? (vue.openBlock(), vue.createBlock(vue.unref(identitasInterfaces.IdentitasConnect), {
2768
2783
  key: 0,
2769
2784
  user: user.value,
@@ -2813,7 +2828,7 @@ const _sfc_main$O = /* @__PURE__ */ vue.defineComponent({
2813
2828
  }),
2814
2829
  _: 1
2815
2830
  }, 8, ["initial-values", "is-loading", "errors"])) : vue.createCommentVNode("", true),
2816
- user.value && onDelegate ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_2$9, [
2831
+ user.value && onDelegate ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_2$a, [
2817
2832
  vue.createVNode(vue.unref(interfaces.NeonDivider), {
2818
2833
  "is-dashed": "",
2819
2834
  label: "Delegasi",
@@ -3327,7 +3342,7 @@ const _sfc_main$J = /* @__PURE__ */ vue.defineComponent({
3327
3342
  });
3328
3343
  const PlanTypeSingle_vue_vue_type_style_index_0_scoped_7690175d_lang = "";
3329
3344
  const PlanTypeSingle = /* @__PURE__ */ _export_sfc(_sfc_main$J, [["__scopeId", "data-v-7690175d"]]);
3330
- const _hoisted_1$a = { class: "flex flex-wrap" };
3345
+ const _hoisted_1$b = { class: "flex flex-wrap" };
3331
3346
  const _sfc_main$I = /* @__PURE__ */ vue.defineComponent({
3332
3347
  ...{ name: "ProgressButton" },
3333
3348
  __name: "ProgressButton",
@@ -3343,7 +3358,7 @@ const _sfc_main$I = /* @__PURE__ */ vue.defineComponent({
3343
3358
  router.push("/penugasan/yesterday-progresses/new");
3344
3359
  };
3345
3360
  return (_ctx, _cache) => {
3346
- return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$a, [
3361
+ return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$b, [
3347
3362
  vue.createVNode(vue.unref(interfaces.NeonButton), {
3348
3363
  "is-rounded": true,
3349
3364
  size: "sm",
@@ -3374,7 +3389,7 @@ const _sfc_main$I = /* @__PURE__ */ vue.defineComponent({
3374
3389
  };
3375
3390
  }
3376
3391
  });
3377
- const _hoisted_1$9 = { class: "flex flex-wrap" };
3392
+ const _hoisted_1$a = { class: "flex flex-wrap" };
3378
3393
  const _sfc_main$H = /* @__PURE__ */ vue.defineComponent({
3379
3394
  ...{ name: "ProgressNoteButton" },
3380
3395
  __name: "ProgressNoteButton",
@@ -3384,7 +3399,7 @@ const _sfc_main$H = /* @__PURE__ */ vue.defineComponent({
3384
3399
  router.push("/penugasan/notes/new");
3385
3400
  };
3386
3401
  return (_ctx, _cache) => {
3387
- return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$9, [
3402
+ return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$a, [
3388
3403
  vue.createVNode(vue.unref(interfaces.NeonButton), {
3389
3404
  "is-rounded": true,
3390
3405
  size: "sm",
@@ -3489,8 +3504,8 @@ const _sfc_main$F = /* @__PURE__ */ vue.defineComponent({
3489
3504
  });
3490
3505
  const ProgressCollection_vue_vue_type_style_index_0_scoped_73139a91_lang = "";
3491
3506
  const ProgressCollection = /* @__PURE__ */ _export_sfc(_sfc_main$F, [["__scopeId", "data-v-73139a91"]]);
3492
- const _hoisted_1$8 = { class: "grid gap-2 sm:grid-cols-2" };
3493
- 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" };
3494
3509
  const _sfc_main$E = /* @__PURE__ */ vue.defineComponent({
3495
3510
  __name: "ProgressSingle",
3496
3511
  setup(__props) {
@@ -3509,32 +3524,8 @@ const _sfc_main$E = /* @__PURE__ */ vue.defineComponent({
3509
3524
  saveOne,
3510
3525
  discardChanges
3511
3526
  } = context.useSingle();
3512
- const responsibilityOptions = vue.computed(() => {
3513
- var _a2, _b;
3514
- return {
3515
- filter: [
3516
- {
3517
- handle: "condition",
3518
- operator: "eq",
3519
- value: "active"
3520
- },
3521
- {
3522
- $or: [
3523
- {
3524
- handle: "staffWorkIds",
3525
- operator: "in",
3526
- value: (_a2 = staff.value) == null ? void 0 : _a2.id
3527
- },
3528
- {
3529
- handle: "staffSuperviseIds",
3530
- operator: "in",
3531
- value: (_b = staff.value) == null ? void 0 : _b.id
3532
- }
3533
- ]
3534
- }
3535
- ]
3536
- };
3537
- });
3527
+ context.usePermit();
3528
+ const path = vueRouter.useRoute().path;
3538
3529
  const key = vue.ref(0);
3539
3530
  const diff = vue.computed(() => {
3540
3531
  return DateUtil.day(values.value.endedAt).diff(values.value.startedAt);
@@ -3559,19 +3550,35 @@ const _sfc_main$E = /* @__PURE__ */ vue.defineComponent({
3559
3550
  const sekarang = DateUtil.day(/* @__PURE__ */ new Date());
3560
3551
  const besok = sekarang;
3561
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
+ );
3562
3571
  vue.watch(isNew, setDefaultValues, { immediate: true });
3563
3572
  async function setDefaultValues() {
3564
- var _a2;
3565
3573
  if (!isNew.value)
3566
3574
  return;
3567
3575
  await promise.PromiseUtil.wait(500);
3568
3576
  const defaultValues = {
3569
- staffIds: [staffId],
3570
- staffs: [{ id: staffId, flag: (_a2 = staff.value) == null ? void 0 : _a2.flag }],
3571
3577
  startedAt: besok.second(0).millisecond(0).toISOString(),
3572
3578
  endedAt: besok.add(90, "m").toISOString()
3573
3579
  };
3574
- values.value = defaultValues;
3580
+ values.value.startedAt = defaultValues.startedAt;
3581
+ values.value.endedAt = defaultValues.endedAt;
3575
3582
  }
3576
3583
  const submissionOptions = vue.computed(() => {
3577
3584
  return {
@@ -3589,6 +3596,46 @@ const _sfc_main$E = /* @__PURE__ */ vue.defineComponent({
3589
3596
  ]
3590
3597
  };
3591
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
+ });
3592
3639
  return (_ctx, _cache) => {
3593
3640
  return vue.openBlock(), vue.createBlock(vue.unref(context.NeonSingle), { class: "neu-progress-single" }, {
3594
3641
  default: vue.withCtx(() => [
@@ -3609,112 +3656,145 @@ const _sfc_main$E = /* @__PURE__ */ vue.defineComponent({
3609
3656
  onCancel: vue.unref(discardChanges),
3610
3657
  onSubmit: vue.unref(saveOne)
3611
3658
  }, {
3612
- default: vue.withCtx(() => [
3613
- vue.createVNode(vue.unref(form.NeonFields), { md: "grid-cols-2" }, {
3614
- default: vue.withCtx(() => [
3615
- (vue.openBlock(), vue.createBlock(vue.unref(form.NeonField), vue.mergeProps({
3616
- key: key.value,
3617
- "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)
3618
3687
  }, {
3619
3688
  handle: "startedAt",
3620
- name: "Tanggal",
3621
- type: "date",
3622
- input: "date2",
3689
+ name: "Mulai",
3623
3690
  options: {
3624
- note: "Tanggal progress."
3691
+ note: "Jam mulai."
3625
3692
  }
3626
- }, { "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"]),
3627
3704
  vue.createVNode(vue.unref(form.NeonField), vue.mergeProps({
3628
- modelValue: vue.unref(values).detail,
3629
- "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => vue.unref(values).detail = $event)
3630
- }, 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"])
3631
3725
  ]),
3632
- _: 1
3633
- }),
3634
- 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"]),
3635
3731
  vue.createVNode(vue.unref(form.NeonField), vue.mergeProps({
3636
- modelValue: vue.unref(values).startedAt,
3637
- "onUpdate:modelValue": _cache[2] || (_cache[2] = ($event) => vue.unref(values).startedAt = $event)
3638
- }, {
3639
- handle: "startedAt",
3640
- name: "Mulai",
3641
- options: {
3642
- note: "Jam mulai."
3643
- }
3644
- }), {
3732
+ modelValue: vue.unref(values).isNotes,
3733
+ "onUpdate:modelValue": _cache[7] || (_cache[7] = ($event) => vue.unref(values).isNotes = $event)
3734
+ }, vue.unref(fields).isNotes), {
3645
3735
  input: vue.withCtx(() => [
3646
- vue.createVNode(vue.unref(NeonTime), {
3647
- modelValue: vue.unref(values).startedAt,
3648
- "onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => vue.unref(values).startedAt = $event),
3649
- "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",
3650
3740
  class: "mt-2"
3651
- }, null, 8, ["modelValue", "is-loading"])
3741
+ }, null, 8, ["modelValue"])
3652
3742
  ]),
3653
3743
  _: 1
3654
3744
  }, 16, ["modelValue"]),
3655
- vue.createVNode(vue.unref(form.NeonField), vue.mergeProps({
3656
- modelValue: vue.unref(values).endedAt,
3657
- "onUpdate:modelValue": _cache[4] || (_cache[4] = ($event) => vue.unref(values).endedAt = $event)
3658
- }, {
3659
- handle: "endedAt",
3660
- name: "Selesai",
3661
- options: {
3662
- note: "Jam selesai."
3663
- }
3664
- }), {
3665
- input: vue.withCtx(() => [
3666
- vue.createVNode(vue.unref(NeonTime), {
3667
- modelValue: vue.unref(values).endedAt,
3668
- "onUpdate:modelValue": _cache[3] || (_cache[3] = ($event) => vue.unref(values).endedAt = $event),
3669
- "is-loading": vue.unref(isLoading),
3670
- class: "mt-2"
3671
- }, null, 8, ["modelValue", "is-loading"]),
3672
- vue.createElementVNode("div", _hoisted_2$8, vue.toDisplayString(duration.value), 1)
3673
- ]),
3674
- _: 1
3675
- }, 16, ["modelValue"])
3676
- ]),
3677
- vue.createVNode(vue.unref(office.OfficeRelation), {
3678
- modelValue: vue.unref(values),
3679
- "onUpdate:modelValue": _cache[5] || (_cache[5] = ($event) => vue.isRef(values) ? values.value = $event : null),
3680
- field: vue.unref(fields).staffs
3681
- }, null, 8, ["modelValue", "field"]),
3682
- vue.createVNode(vue.unref(form.NeonField), vue.mergeProps({
3683
- modelValue: vue.unref(values).isNotes,
3684
- "onUpdate:modelValue": _cache[7] || (_cache[7] = ($event) => vue.unref(values).isNotes = $event)
3685
- }, vue.unref(fields).isNotes), {
3686
- input: vue.withCtx(() => [
3687
- vue.createVNode(vue.unref(form.NeonCheck), {
3688
- modelValue: vue.unref(values).isNotes,
3689
- "onUpdate:modelValue": _cache[6] || (_cache[6] = ($event) => vue.unref(values).isNotes = $event),
3690
- label: "Catatan",
3691
- class: "mt-2"
3692
- }, null, 8, ["modelValue"])
3693
- ]),
3694
- _: 1
3695
- }, 16, ["modelValue"]),
3696
- vue.createVNode(vue.unref(office.OfficeRelation), {
3697
- modelValue: vue.unref(values),
3698
- "onUpdate:modelValue": _cache[8] || (_cache[8] = ($event) => vue.isRef(values) ? values.value = $event : null),
3699
- field: vue.unref(fields).accessStaffs
3700
- }, null, 8, ["modelValue", "field"]),
3701
- vue.createVNode(vue.unref(interfaces.NeonDivider), {
3702
- "is-dashed": "",
3703
- label: "Referensi"
3704
- }),
3705
- vue.createVNode(vue.unref(office.OfficeRelation), {
3706
- modelValue: vue.unref(values),
3707
- "onUpdate:modelValue": _cache[9] || (_cache[9] = ($event) => vue.isRef(values) ? values.value = $event : null),
3708
- field: vue.unref(fields).responsibilities,
3709
- query: vue.unref(query.Query).define(responsibilityOptions.value)
3710
- }, null, 8, ["modelValue", "field", "query"]),
3711
- vue.createVNode(vue.unref(office.OfficeRelation), {
3712
- modelValue: vue.unref(values),
3713
- "onUpdate:modelValue": _cache[10] || (_cache[10] = ($event) => vue.isRef(values) ? values.value = $event : null),
3714
- field: vue.unref(fields).submissions,
3715
- query: vue.unref(query.Query).define(submissionOptions.value)
3716
- }, null, 8, ["modelValue", "field", "query"])
3717
- ]),
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
+ }),
3718
3798
  _: 1
3719
3799
  }, 8, ["initial-values", "is-loading", "is-changed", "onCancel", "onSubmit"])
3720
3800
  ]),
@@ -3730,10 +3810,10 @@ const _sfc_main$E = /* @__PURE__ */ vue.defineComponent({
3730
3810
  };
3731
3811
  }
3732
3812
  });
3733
- const ProgressSingle_vue_vue_type_style_index_0_scoped_1a87343f_lang = "";
3734
- const ProgressSingle = /* @__PURE__ */ _export_sfc(_sfc_main$E, [["__scopeId", "data-v-1a87343f"]]);
3735
- const _hoisted_1$7 = { class: "grid gap-2 sm:grid-cols-2" };
3736
- 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" };
3737
3817
  const _sfc_main$D = /* @__PURE__ */ vue.defineComponent({
3738
3818
  __name: "ProgressTomorrow",
3739
3819
  setup(__props) {
@@ -3880,7 +3960,7 @@ const _sfc_main$D = /* @__PURE__ */ vue.defineComponent({
3880
3960
  ]),
3881
3961
  _: 1
3882
3962
  }),
3883
- vue.createElementVNode("div", _hoisted_1$7, [
3963
+ vue.createElementVNode("div", _hoisted_1$8, [
3884
3964
  vue.createVNode(vue.unref(form.NeonField), vue.mergeProps({
3885
3965
  modelValue: vue.unref(values).startedAt,
3886
3966
  "onUpdate:modelValue": _cache[2] || (_cache[2] = ($event) => vue.unref(values).startedAt = $event)
@@ -3918,7 +3998,7 @@ const _sfc_main$D = /* @__PURE__ */ vue.defineComponent({
3918
3998
  "is-loading": vue.unref(isLoading),
3919
3999
  class: "mt-2"
3920
4000
  }, null, 8, ["modelValue", "is-loading"]),
3921
- vue.createElementVNode("div", _hoisted_2$7, vue.toDisplayString(duration.value), 1)
4001
+ vue.createElementVNode("div", _hoisted_2$8, vue.toDisplayString(duration.value), 1)
3922
4002
  ]),
3923
4003
  _: 1
3924
4004
  }, 16, ["modelValue"])
@@ -3981,8 +4061,8 @@ const _sfc_main$D = /* @__PURE__ */ vue.defineComponent({
3981
4061
  });
3982
4062
  const ProgressTomorrow_vue_vue_type_style_index_0_scoped_6cdcef51_lang = "";
3983
4063
  const ProgressTomorrow = /* @__PURE__ */ _export_sfc(_sfc_main$D, [["__scopeId", "data-v-6cdcef51"]]);
3984
- const _hoisted_1$6 = { class: "grid gap-2 sm:grid-cols-2" };
3985
- 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" };
3986
4066
  const _sfc_main$C = /* @__PURE__ */ vue.defineComponent({
3987
4067
  __name: "ProgressYesterday",
3988
4068
  setup(__props) {
@@ -4129,7 +4209,7 @@ const _sfc_main$C = /* @__PURE__ */ vue.defineComponent({
4129
4209
  ]),
4130
4210
  _: 1
4131
4211
  }),
4132
- vue.createElementVNode("div", _hoisted_1$6, [
4212
+ vue.createElementVNode("div", _hoisted_1$7, [
4133
4213
  vue.createVNode(vue.unref(form.NeonField), vue.mergeProps({
4134
4214
  modelValue: vue.unref(values).startedAt,
4135
4215
  "onUpdate:modelValue": _cache[2] || (_cache[2] = ($event) => vue.unref(values).startedAt = $event)
@@ -4167,7 +4247,7 @@ const _sfc_main$C = /* @__PURE__ */ vue.defineComponent({
4167
4247
  "is-loading": vue.unref(isLoading),
4168
4248
  class: "mt-2"
4169
4249
  }, null, 8, ["modelValue", "is-loading"]),
4170
- vue.createElementVNode("div", _hoisted_2$6, vue.toDisplayString(duration.value), 1)
4250
+ vue.createElementVNode("div", _hoisted_2$7, vue.toDisplayString(duration.value), 1)
4171
4251
  ]),
4172
4252
  _: 1
4173
4253
  }, 16, ["modelValue"])
@@ -5642,8 +5722,8 @@ const _sfc_main$l = /* @__PURE__ */ vue.defineComponent({
5642
5722
  };
5643
5723
  }
5644
5724
  });
5645
- const _hoisted_1$5 = { class: "grid gap-4 sm:grid-cols-[3fr_1fr]" };
5646
- 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" };
5647
5727
  const _sfc_main$k = /* @__PURE__ */ vue.defineComponent({
5648
5728
  __name: "StaffSingle",
5649
5729
  setup(__props) {
@@ -5681,7 +5761,7 @@ const _sfc_main$k = /* @__PURE__ */ vue.defineComponent({
5681
5761
  onSubmit: vue.unref(saveOne)
5682
5762
  }, {
5683
5763
  default: vue.withCtx(() => [
5684
- vue.createElementVNode("div", _hoisted_1$5, [
5764
+ vue.createElementVNode("div", _hoisted_1$6, [
5685
5765
  vue.createVNode(vue.unref(form.NeonField), vue.mergeProps({
5686
5766
  modelValue: vue.unref(values).name,
5687
5767
  "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => vue.unref(values).name = $event)
@@ -5691,7 +5771,7 @@ const _sfc_main$k = /* @__PURE__ */ vue.defineComponent({
5691
5771
  "onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => vue.unref(values).nik = $event)
5692
5772
  }, vue.unref(fields).nik), null, 16, ["modelValue"])
5693
5773
  ]),
5694
- vue.createElementVNode("div", _hoisted_2$5, [
5774
+ vue.createElementVNode("div", _hoisted_2$6, [
5695
5775
  vue.createVNode(vue.unref(form.NeonField), vue.mergeProps({
5696
5776
  modelValue: vue.unref(values).birthPlace,
5697
5777
  "onUpdate:modelValue": _cache[2] || (_cache[2] = ($event) => vue.unref(values).birthPlace = $event)
@@ -5701,13 +5781,17 @@ const _sfc_main$k = /* @__PURE__ */ vue.defineComponent({
5701
5781
  "onUpdate:modelValue": _cache[3] || (_cache[3] = ($event) => vue.unref(values).birthDate = $event)
5702
5782
  }, vue.unref(fields).birthDate), null, 16, ["modelValue"])
5703
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"]),
5704
5788
  vue.createVNode(vue.unref(form.NeonField), vue.mergeProps({
5705
5789
  modelValue: vue.unref(values).image,
5706
- "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)
5707
5791
  }, vue.unref(fields).image), null, 16, ["modelValue"]),
5708
5792
  vue.createVNode(vue.unref(form.NeonField), vue.mergeProps({
5709
5793
  modelValue: vue.unref(values).note,
5710
- "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)
5711
5795
  }, vue.unref(fields).note), null, 16, ["modelValue"])
5712
5796
  ]),
5713
5797
  _: 1
@@ -5743,13 +5827,13 @@ const _sfc_main$k = /* @__PURE__ */ vue.defineComponent({
5743
5827
  default: vue.withCtx(() => [
5744
5828
  vue.createVNode(vue.unref(office.OfficeRelation), {
5745
5829
  modelValue: vue.unref(values),
5746
- "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),
5747
5831
  field: vue.unref(fields).branch,
5748
5832
  fragment: { id: 1, display: 1, name: 1 }
5749
5833
  }, null, 8, ["modelValue", "field"]),
5750
5834
  vue.createVNode(vue.unref(office.OfficeRelation), {
5751
5835
  modelValue: vue.unref(values),
5752
- "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),
5753
5837
  field: vue.unref(fields).branches,
5754
5838
  fragment: { id: 1, display: 1, name: 1 }
5755
5839
  }, null, 8, ["modelValue", "field"])
@@ -5768,10 +5852,10 @@ const _sfc_main$k = /* @__PURE__ */ vue.defineComponent({
5768
5852
  };
5769
5853
  }
5770
5854
  });
5771
- const StaffSingle_vue_vue_type_style_index_0_scoped_0cf4cd99_lang = "";
5772
- const StaffSingle = /* @__PURE__ */ _export_sfc(_sfc_main$k, [["__scopeId", "data-v-0cf4cd99"]]);
5773
- const _hoisted_1$4 = { class: "grid gap-4 sm:grid-cols-[3fr_1fr]" };
5774
- 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" };
5775
5859
  const _sfc_main$j = /* @__PURE__ */ vue.defineComponent({
5776
5860
  __name: "StaffOperasional",
5777
5861
  setup(__props) {
@@ -5809,7 +5893,7 @@ const _sfc_main$j = /* @__PURE__ */ vue.defineComponent({
5809
5893
  onSubmit: vue.unref(saveOne)
5810
5894
  }, {
5811
5895
  default: vue.withCtx(() => [
5812
- vue.createElementVNode("div", _hoisted_1$4, [
5896
+ vue.createElementVNode("div", _hoisted_1$5, [
5813
5897
  vue.createVNode(vue.unref(form.NeonField), vue.mergeProps({
5814
5898
  modelValue: vue.unref(values).name,
5815
5899
  "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => vue.unref(values).name = $event)
@@ -5819,7 +5903,7 @@ const _sfc_main$j = /* @__PURE__ */ vue.defineComponent({
5819
5903
  "onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => vue.unref(values).nik = $event)
5820
5904
  }, vue.unref(fields).nik), null, 16, ["modelValue"])
5821
5905
  ]),
5822
- vue.createElementVNode("div", _hoisted_2$4, [
5906
+ vue.createElementVNode("div", _hoisted_2$5, [
5823
5907
  vue.createVNode(vue.unref(form.NeonField), vue.mergeProps({
5824
5908
  modelValue: vue.unref(values).birthPlace,
5825
5909
  "onUpdate:modelValue": _cache[2] || (_cache[2] = ($event) => vue.unref(values).birthPlace = $event)
@@ -5829,13 +5913,17 @@ const _sfc_main$j = /* @__PURE__ */ vue.defineComponent({
5829
5913
  "onUpdate:modelValue": _cache[3] || (_cache[3] = ($event) => vue.unref(values).birthDate = $event)
5830
5914
  }, vue.unref(fields).birthDate), null, 16, ["modelValue"])
5831
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"]),
5832
5920
  vue.createVNode(vue.unref(form.NeonField), vue.mergeProps({
5833
5921
  modelValue: vue.unref(values).image,
5834
- "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)
5835
5923
  }, vue.unref(fields).image), null, 16, ["modelValue"]),
5836
5924
  vue.createVNode(vue.unref(form.NeonField), vue.mergeProps({
5837
5925
  modelValue: vue.unref(values).note,
5838
- "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)
5839
5927
  }, vue.unref(fields).note), null, 16, ["modelValue"])
5840
5928
  ]),
5841
5929
  _: 1
@@ -5871,13 +5959,13 @@ const _sfc_main$j = /* @__PURE__ */ vue.defineComponent({
5871
5959
  default: vue.withCtx(() => [
5872
5960
  vue.createVNode(vue.unref(office.OfficeRelation), {
5873
5961
  modelValue: vue.unref(values),
5874
- "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),
5875
5963
  field: vue.unref(fields).branch,
5876
5964
  fragment: { id: 1, display: 1, name: 1 }
5877
5965
  }, null, 8, ["modelValue", "field"]),
5878
5966
  vue.createVNode(vue.unref(office.OfficeRelation), {
5879
5967
  modelValue: vue.unref(values),
5880
- "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),
5881
5969
  field: vue.unref(fields).branches,
5882
5970
  fragment: { id: 1, display: 1, name: 1 }
5883
5971
  }, null, 8, ["modelValue", "field"])
@@ -5918,8 +6006,8 @@ const _sfc_main$j = /* @__PURE__ */ vue.defineComponent({
5918
6006
  };
5919
6007
  }
5920
6008
  });
5921
- const StaffOperasional_vue_vue_type_style_index_0_scoped_c62cf70a_lang = "";
5922
- 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"]]);
5923
6011
  const _sfc_main$i = /* @__PURE__ */ vue.defineComponent({
5924
6012
  __name: "StaffIdentity",
5925
6013
  setup(__props) {
@@ -6024,6 +6112,7 @@ const _sfc_main$i = /* @__PURE__ */ vue.defineComponent({
6024
6112
  },
6025
6113
  // END OPERASIONAL
6026
6114
  { id: "63e1734b78ae4f8388b1b313", name: "Cabang Pendidikan" },
6115
+ { id: "64e6e0669103ea42a4f7d4d0", name: "Cabang KBM" },
6027
6116
  // { id: '6309c2aae64a1324b8663d96', name: 'Admin Pendidikan' },
6028
6117
  { id: "643f6c0bd760fc7b529d4a5d", name: "Pengelola Pengajar" },
6029
6118
  // Keuangan
@@ -6076,7 +6165,41 @@ const _sfc_main$i = /* @__PURE__ */ vue.defineComponent({
6076
6165
  {
6077
6166
  id: "6454a6c2d760fc7b529d4f4f",
6078
6167
  name: "Karyawan Marketing Cabang"
6079
- }
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"
6202
+ }
6080
6203
  ],
6081
6204
  errors: errors.value,
6082
6205
  "on-choose": onChoose,
@@ -6354,25 +6477,21 @@ const _sfc_main$e = /* @__PURE__ */ vue.defineComponent({
6354
6477
  };
6355
6478
  });
6356
6479
  const staffId = ((_a = staff.value) == null ? void 0 : _a.id) || "";
6357
- vue.watch(
6358
- isNew,
6359
- (isNew2) => {
6360
- var _a2;
6361
- if (!isNew2)
6362
- return;
6363
- values.value.preparedAt = (/* @__PURE__ */ new Date()).toISOString();
6364
- values.value.submissionStaffIds = [staffId];
6365
- values.value.submissionStaffs = [
6366
- {
6367
- id: staffId,
6368
- flag: (_a2 = staff.value) == null ? void 0 : _a2.flag
6369
- }
6370
- ];
6371
- },
6372
- {
6373
- immediate: true
6374
- }
6375
- );
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
+ }
6376
6495
  const syncRaise = async () => {
6377
6496
  await executeOne("raiseSubmission", { submissionId: id.value });
6378
6497
  await syncOne();
@@ -6545,8 +6664,8 @@ const _sfc_main$e = /* @__PURE__ */ vue.defineComponent({
6545
6664
  };
6546
6665
  }
6547
6666
  });
6548
- const SubmissionStaff_vue_vue_type_style_index_0_scoped_db426ce1_lang = "";
6549
- 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"]]);
6550
6669
  const _sfc_main$d = /* @__PURE__ */ vue.defineComponent({
6551
6670
  __name: "SubmissionFollowUp",
6552
6671
  setup(__props) {
@@ -6698,10 +6817,10 @@ const _sfc_main$d = /* @__PURE__ */ vue.defineComponent({
6698
6817
  });
6699
6818
  const SubmissionFollowUp_vue_vue_type_style_index_0_scoped_3f0580bf_lang = "";
6700
6819
  const SubmissionFollowUp = /* @__PURE__ */ _export_sfc(_sfc_main$d, [["__scopeId", "data-v-3f0580bf"]]);
6701
- const _hoisted_1$3 = { class: "flex flex-wrap" };
6702
- const _hoisted_2$3 = { class: "mt-2" };
6703
- const _hoisted_3$2 = { class: "mt-2" };
6704
- 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" };
6705
6824
  const _hoisted_5 = { class: "mt-2" };
6706
6825
  const _sfc_main$c = /* @__PURE__ */ vue.defineComponent({
6707
6826
  __name: "SubmissionAudit",
@@ -6747,25 +6866,21 @@ const _sfc_main$c = /* @__PURE__ */ vue.defineComponent({
6747
6866
  };
6748
6867
  });
6749
6868
  const staffId = ((_a = staff.value) == null ? void 0 : _a.id) || "";
6750
- vue.watch(
6751
- isNew,
6752
- (isNew2) => {
6753
- var _a2;
6754
- if (!isNew2)
6755
- return;
6756
- values.value.preparedAt = (/* @__PURE__ */ new Date()).toISOString();
6757
- values.value.submissionStaffIds = [staffId];
6758
- values.value.submissionStaffs = [
6759
- {
6760
- id: staffId,
6761
- flag: (_a2 = staff.value) == null ? void 0 : _a2.flag
6762
- }
6763
- ];
6764
- },
6765
- {
6766
- immediate: true
6767
- }
6768
- );
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
+ }
6769
6884
  const syncResolved = async () => {
6770
6885
  await executeOne("resolvedSubmission", { submissionId: id.value });
6771
6886
  await syncOne();
@@ -6803,8 +6918,8 @@ const _sfc_main$c = /* @__PURE__ */ vue.defineComponent({
6803
6918
  onSubmit: vue.unref(saveOne)
6804
6919
  }, {
6805
6920
  default: vue.withCtx(() => [
6806
- vue.createElementVNode("div", _hoisted_1$3, [
6807
- vue.createElementVNode("div", _hoisted_2$3, [
6921
+ vue.createElementVNode("div", _hoisted_1$4, [
6922
+ vue.createElementVNode("div", _hoisted_2$4, [
6808
6923
  vue.unref(isReady) ? (vue.openBlock(), vue.createBlock(vue.unref(form.NeonField), { key: 0 }, {
6809
6924
  input: vue.withCtx(() => [
6810
6925
  vue.createVNode(vue.unref(interfaces.NeonButton), {
@@ -6824,7 +6939,7 @@ const _sfc_main$c = /* @__PURE__ */ vue.defineComponent({
6824
6939
  })) : vue.createCommentVNode("", true)
6825
6940
  ]),
6826
6941
  vue.createTextVNode("    "),
6827
- vue.createElementVNode("div", _hoisted_3$2, [
6942
+ vue.createElementVNode("div", _hoisted_3$3, [
6828
6943
  vue.unref(isReady) ? (vue.openBlock(), vue.createBlock(vue.unref(form.NeonField), { key: 0 }, {
6829
6944
  input: vue.withCtx(() => [
6830
6945
  vue.createVNode(vue.unref(interfaces.NeonButton), {
@@ -6844,7 +6959,7 @@ const _sfc_main$c = /* @__PURE__ */ vue.defineComponent({
6844
6959
  })) : vue.createCommentVNode("", true)
6845
6960
  ]),
6846
6961
  vue.createTextVNode("    "),
6847
- vue.createElementVNode("div", _hoisted_4, [
6962
+ vue.createElementVNode("div", _hoisted_4$1, [
6848
6963
  vue.unref(isReady) ? (vue.openBlock(), vue.createBlock(vue.unref(form.NeonField), { key: 0 }, {
6849
6964
  input: vue.withCtx(() => [
6850
6965
  vue.createVNode(vue.unref(interfaces.NeonButton), {
@@ -7051,11 +7166,11 @@ const _sfc_main$c = /* @__PURE__ */ vue.defineComponent({
7051
7166
  };
7052
7167
  }
7053
7168
  });
7054
- const SubmissionAudit_vue_vue_type_style_index_0_scoped_a32c1b8b_lang = "";
7055
- const SubmissionAudit = /* @__PURE__ */ _export_sfc(_sfc_main$c, [["__scopeId", "data-v-a32c1b8b"]]);
7056
- const _hoisted_1$2 = { class: "flex flex-wrap" };
7057
- const _hoisted_2$2 = { class: "mt-2" };
7058
- 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" };
7059
7174
  const _sfc_main$b = /* @__PURE__ */ vue.defineComponent({
7060
7175
  __name: "SubmissionDecision",
7061
7176
  setup(__props) {
@@ -7100,25 +7215,21 @@ const _sfc_main$b = /* @__PURE__ */ vue.defineComponent({
7100
7215
  };
7101
7216
  });
7102
7217
  const staffId = ((_a = staff.value) == null ? void 0 : _a.id) || "";
7103
- vue.watch(
7104
- isNew,
7105
- (isNew2) => {
7106
- var _a2;
7107
- if (!isNew2)
7108
- return;
7109
- values.value.preparedAt = (/* @__PURE__ */ new Date()).toISOString();
7110
- values.value.submissionStaffIds = [staffId];
7111
- values.value.submissionStaffs = [
7112
- {
7113
- id: staffId,
7114
- flag: (_a2 = staff.value) == null ? void 0 : _a2.flag
7115
- }
7116
- ];
7117
- },
7118
- {
7119
- immediate: true
7120
- }
7121
- );
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
+ }
7122
7233
  const syncDelay = async () => {
7123
7234
  var _a2;
7124
7235
  await executeOne("delaySubmission", {
@@ -7156,8 +7267,8 @@ const _sfc_main$b = /* @__PURE__ */ vue.defineComponent({
7156
7267
  onSubmit: vue.unref(saveOne)
7157
7268
  }, {
7158
7269
  default: vue.withCtx(() => [
7159
- vue.createElementVNode("div", _hoisted_1$2, [
7160
- vue.createElementVNode("div", _hoisted_2$2, [
7270
+ vue.createElementVNode("div", _hoisted_1$3, [
7271
+ vue.createElementVNode("div", _hoisted_2$3, [
7161
7272
  vue.unref(isReady) ? (vue.openBlock(), vue.createBlock(vue.unref(form.NeonField), { key: 0 }, {
7162
7273
  input: vue.withCtx(() => {
7163
7274
  var _a2, _b;
@@ -7180,7 +7291,7 @@ const _sfc_main$b = /* @__PURE__ */ vue.defineComponent({
7180
7291
  })) : vue.createCommentVNode("", true)
7181
7292
  ]),
7182
7293
  vue.createTextVNode("    "),
7183
- vue.createElementVNode("div", _hoisted_3$1, [
7294
+ vue.createElementVNode("div", _hoisted_3$2, [
7184
7295
  vue.unref(isReady) ? (vue.openBlock(), vue.createBlock(vue.unref(form.NeonField), { key: 0 }, {
7185
7296
  input: vue.withCtx(() => {
7186
7297
  var _a2, _b;
@@ -7370,11 +7481,11 @@ const _sfc_main$b = /* @__PURE__ */ vue.defineComponent({
7370
7481
  };
7371
7482
  }
7372
7483
  });
7373
- const SubmissionDecision_vue_vue_type_style_index_0_scoped_71f86b97_lang = "";
7374
- const SubmissionDecision = /* @__PURE__ */ _export_sfc(_sfc_main$b, [["__scopeId", "data-v-71f86b97"]]);
7375
- const _hoisted_1$1 = { class: "flex flex-wrap" };
7376
- const _hoisted_2$1 = { class: "mt-2" };
7377
- 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" };
7378
7489
  const _sfc_main$a = /* @__PURE__ */ vue.defineComponent({
7379
7490
  __name: "SubmissionWaitingDecision",
7380
7491
  setup(__props) {
@@ -7419,25 +7530,21 @@ const _sfc_main$a = /* @__PURE__ */ vue.defineComponent({
7419
7530
  };
7420
7531
  });
7421
7532
  const staffId = ((_a = staff.value) == null ? void 0 : _a.id) || "";
7422
- vue.watch(
7423
- isNew,
7424
- (isNew2) => {
7425
- var _a2;
7426
- if (!isNew2)
7427
- return;
7428
- values.value.preparedAt = (/* @__PURE__ */ new Date()).toISOString();
7429
- values.value.submissionStaffIds = [staffId];
7430
- values.value.submissionStaffs = [
7431
- {
7432
- id: staffId,
7433
- flag: (_a2 = staff.value) == null ? void 0 : _a2.flag
7434
- }
7435
- ];
7436
- },
7437
- {
7438
- immediate: true
7439
- }
7440
- );
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
+ }
7441
7548
  const syncDelay = async () => {
7442
7549
  var _a2;
7443
7550
  await executeOne("delaySubmission", {
@@ -7477,8 +7584,8 @@ const _sfc_main$a = /* @__PURE__ */ vue.defineComponent({
7477
7584
  onSubmit: vue.unref(saveOne)
7478
7585
  }, {
7479
7586
  default: vue.withCtx(() => [
7480
- vue.createElementVNode("div", _hoisted_1$1, [
7481
- vue.createElementVNode("div", _hoisted_2$1, [
7587
+ vue.createElementVNode("div", _hoisted_1$2, [
7588
+ vue.createElementVNode("div", _hoisted_2$2, [
7482
7589
  vue.unref(isReady) ? (vue.openBlock(), vue.createBlock(vue.unref(form.NeonField), { key: 0 }, {
7483
7590
  input: vue.withCtx(() => {
7484
7591
  var _a2, _b;
@@ -7501,7 +7608,7 @@ const _sfc_main$a = /* @__PURE__ */ vue.defineComponent({
7501
7608
  })) : vue.createCommentVNode("", true)
7502
7609
  ]),
7503
7610
  vue.createTextVNode("    "),
7504
- vue.createElementVNode("div", _hoisted_3, [
7611
+ vue.createElementVNode("div", _hoisted_3$1, [
7505
7612
  vue.unref(isReady) ? (vue.openBlock(), vue.createBlock(vue.unref(form.NeonField), { key: 0 }, {
7506
7613
  input: vue.withCtx(() => {
7507
7614
  var _a2, _b;
@@ -7649,8 +7756,8 @@ const _sfc_main$a = /* @__PURE__ */ vue.defineComponent({
7649
7756
  };
7650
7757
  }
7651
7758
  });
7652
- const SubmissionWaitingDecision_vue_vue_type_style_index_0_scoped_dee14451_lang = "";
7653
- 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"]]);
7654
7761
  const _sfc_main$9 = /* @__PURE__ */ vue.defineComponent({
7655
7762
  __name: "SubmissionSupervisor",
7656
7763
  setup(__props) {
@@ -8197,8 +8304,8 @@ const _sfc_main$4 = /* @__PURE__ */ vue.defineComponent({
8197
8304
  const TargetBranch_vue_vue_type_style_index_0_scoped_6a5a6e80_lang = "";
8198
8305
  const TargetBranch = /* @__PURE__ */ _export_sfc(_sfc_main$4, [["__scopeId", "data-v-6a5a6e80"]]);
8199
8306
  const TaskModel = personaliaModels.models.TaskModel;
8200
- const _hoisted_1 = { key: 0 };
8201
- const _hoisted_2 = { key: 1 };
8307
+ const _hoisted_1$1 = { key: 0 };
8308
+ const _hoisted_2$1 = { key: 1 };
8202
8309
  const _sfc_main$3 = /* @__PURE__ */ vue.defineComponent({
8203
8310
  ...{ name: "TaskWorkButton" },
8204
8311
  __name: "TaskWorkButton",
@@ -8289,7 +8396,7 @@ const _sfc_main$3 = /* @__PURE__ */ vue.defineComponent({
8289
8396
  };
8290
8397
  return (_ctx, _cache) => {
8291
8398
  return vue.openBlock(), vue.createElementBlock(vue.Fragment, null, [
8292
- onHandleTaskWork.value.onStartTaskWorking ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1, [
8399
+ onHandleTaskWork.value.onStartTaskWorking ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$1, [
8293
8400
  vue.createVNode(vue.unref(interfaces.NeonButton), {
8294
8401
  "is-rounded": true,
8295
8402
  size: "sm",
@@ -8299,7 +8406,7 @@ const _sfc_main$3 = /* @__PURE__ */ vue.defineComponent({
8299
8406
  onClick: onClickHandlerStartTaskWork
8300
8407
  })
8301
8408
  ])) : vue.createCommentVNode("", true),
8302
- onHandleTaskWork.value.onFinishedTaskWorking ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_2, [
8409
+ onHandleTaskWork.value.onFinishedTaskWorking ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_2$1, [
8303
8410
  vue.createVNode(vue.unref(interfaces.NeonButton), {
8304
8411
  "is-rounded": true,
8305
8412
  size: "sm",
@@ -8329,9 +8436,14 @@ const _sfc_main$2 = /* @__PURE__ */ vue.defineComponent({
8329
8436
  };
8330
8437
  }
8331
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" };
8332
8443
  const _sfc_main$1 = /* @__PURE__ */ vue.defineComponent({
8333
8444
  __name: "TaskSingle",
8334
8445
  setup(__props) {
8446
+ var _a;
8335
8447
  const {
8336
8448
  fields,
8337
8449
  id,
@@ -8343,12 +8455,87 @@ const _sfc_main$1 = /* @__PURE__ */ vue.defineComponent({
8343
8455
  isReady,
8344
8456
  isMain,
8345
8457
  saveOne,
8346
- discardChanges
8458
+ discardChanges,
8459
+ syncOne,
8460
+ executeOne
8347
8461
  } = context.useSingle();
8348
- function onChangeDateUpdate(date) {
8349
- values.value.estimatedStartDate = date == null ? void 0 : date.start.toISOString();
8350
- 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;
8351
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
+ };
8352
8539
  return (_ctx, _cache) => {
8353
8540
  return vue.openBlock(), vue.createBlock(vue.unref(context.NeonSingle), { class: "neu-task-single" }, {
8354
8541
  default: vue.withCtx(() => [
@@ -8370,162 +8557,216 @@ const _sfc_main$1 = /* @__PURE__ */ vue.defineComponent({
8370
8557
  onSubmit: vue.unref(saveOne)
8371
8558
  }, {
8372
8559
  default: vue.withCtx(() => [
8373
- vue.createVNode(vue.unref(form.NeonField), vue.mergeProps({
8374
- modelValue: vue.unref(values).taskName,
8375
- "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => vue.unref(values).taskName = $event)
8376
- }, vue.unref(fields).taskName), null, 16, ["modelValue"]),
8377
- vue.createVNode(vue.unref(form.NeonFields), { md: "grid gap-4" }, {
8378
- default: vue.withCtx(() => [
8379
- vue.createVNode(vue.unref(form.NeonField), vue.mergeProps({
8380
- modelValue: vue.unref(values).internalServiceDescription,
8381
- "onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => vue.unref(values).internalServiceDescription = $event)
8382
- }, vue.unref(fields).internalServiceDescription), null, 16, ["modelValue"])
8383
- ]),
8384
- _: 1
8385
- }),
8386
- vue.createVNode(vue.unref(form.NeonFields), { md: "grid gap-4" }, {
8387
- default: vue.withCtx(() => [
8388
- vue.createVNode(vue.unref(form.NeonField), vue.mergeProps({
8389
- modelValue: vue.unref(values).externalServiceDescription,
8390
- "onUpdate:modelValue": _cache[2] || (_cache[2] = ($event) => vue.unref(values).externalServiceDescription = $event)
8391
- }, vue.unref(fields).externalServiceDescription), null, 16, ["modelValue"])
8392
- ]),
8393
- _: 1
8394
- }),
8395
- vue.createVNode(vue.unref(office.OfficeRelation), {
8396
- modelValue: vue.unref(values),
8397
- "onUpdate:modelValue": _cache[3] || (_cache[3] = ($event) => vue.isRef(values) ? values.value = $event : null),
8398
- field: vue.unref(fields).branches,
8399
- fragment: { id: 1, display: 1, name: 1 }
8400
- }, null, 8, ["modelValue", "field"]),
8401
- vue.createVNode(vue.unref(form.NeonFields), { md: "grid gap-4 sm:grid-cols-2" }, {
8402
- default: vue.withCtx(() => [
8403
- vue.createVNode(vue.unref(office.OfficeRelation), {
8404
- modelValue: vue.unref(values),
8405
- "onUpdate:modelValue": _cache[4] || (_cache[4] = ($event) => vue.isRef(values) ? values.value = $event : null),
8406
- field: vue.unref(fields).giveAssignments
8407
- }, null, 8, ["modelValue", "field"]),
8408
- vue.createVNode(vue.unref(office.OfficeRelation), {
8409
- modelValue: vue.unref(values),
8410
- "onUpdate:modelValue": _cache[5] || (_cache[5] = ($event) => vue.isRef(values) ? values.value = $event : null),
8411
- field: vue.unref(fields).supervisingAssignments
8412
- }, null, 8, ["modelValue", "field"])
8413
- ]),
8414
- _: 1
8415
- }),
8416
- vue.createVNode(vue.unref(form.NeonFields), { md: "grid gap-3 sm:grid-cols-2" }, {
8417
- default: vue.withCtx(() => [
8418
- vue.createVNode(vue.unref(office.OfficeRelation), {
8419
- modelValue: vue.unref(values),
8420
- "onUpdate:modelValue": _cache[6] || (_cache[6] = ($event) => vue.isRef(values) ? values.value = $event : null),
8421
- field: vue.unref(fields).doingAssignments
8422
- }, null, 8, ["modelValue", "field"]),
8423
- vue.createVNode(vue.unref(office.OfficeRelation), {
8424
- modelValue: vue.unref(values),
8425
- "onUpdate:modelValue": _cache[7] || (_cache[7] = ($event) => vue.isRef(values) ? values.value = $event : null),
8426
- field: vue.unref(fields).helpAssignments
8427
- }, 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)
8428
8586
  ]),
8429
- _: 1
8430
- }),
8431
- vue.createVNode(vue.unref(form.NeonFields), { md: "grid gap-4" }, {
8432
- default: vue.withCtx(() => [
8433
- vue.createVNode(vue.unref(form.NeonField), {
8434
- "model-value": {
8435
- start: new Date(vue.unref(values).estimatedStartDate || ""),
8436
- end: new Date(vue.unref(values).estimatedEndDate || "")
8437
- },
8438
- name: "Est. Mulai - Selesai",
8439
- note: "Tanggal tugas dimulai dan selesai",
8440
- input: "date-range",
8441
- type: "date-range",
8442
- "is-alone": "",
8443
- "onUpdate:modelValue": onChangeDateUpdate
8444
- }, 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)
8445
8605
  ]),
8446
- _: 1
8447
- }),
8448
- 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" }, {
8449
8627
  default: vue.withCtx(() => [
8450
8628
  vue.createVNode(vue.unref(form.NeonField), vue.mergeProps({
8451
- modelValue: vue.unref(values).estimatedHourDoingAssignment,
8452
- "onUpdate:modelValue": _cache[8] || (_cache[8] = ($event) => vue.unref(values).estimatedHourDoingAssignment = $event)
8453
- }, 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"]),
8454
8634
  vue.createVNode(vue.unref(form.NeonField), vue.mergeProps({
8455
- modelValue: vue.unref(values).estimatedHourCommunicationAssignment,
8456
- "onUpdate:modelValue": _cache[9] || (_cache[9] = ($event) => vue.unref(values).estimatedHourCommunicationAssignment = $event)
8457
- }, 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"])
8458
8638
  ]),
8459
8639
  _: 1
8460
8640
  }),
8461
- 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" }, {
8462
8646
  default: vue.withCtx(() => [
8463
8647
  vue.createVNode(vue.unref(form.NeonField), vue.mergeProps({
8464
- modelValue: vue.unref(values).estimatedHourCognitiveAssignment,
8465
- "onUpdate:modelValue": _cache[10] || (_cache[10] = ($event) => vue.unref(values).estimatedHourCognitiveAssignment = $event)
8466
- }, vue.unref(fields).estimatedHourCognitiveAssignment), null, 16, ["modelValue"]),
8467
- vue.createVNode(vue.unref(form.NeonField), vue.mergeProps({
8468
- modelValue: vue.unref(values).estimatedHourCreativeAssignment,
8469
- "onUpdate:modelValue": _cache[11] || (_cache[11] = ($event) => vue.unref(values).estimatedHourCreativeAssignment = $event)
8470
- }, vue.unref(fields).estimatedHourCreativeAssignment), null, 16, ["modelValue"])
8471
- ]),
8472
- _: 1
8473
- }),
8474
- vue.createVNode(vue.unref(form.NeonFields), { md: "grid gap-4" }, {
8475
- 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"]),
8476
8651
  vue.createVNode(vue.unref(form.NeonField), vue.mergeProps({
8477
- modelValue: vue.unref(values).estimatedHourByDay,
8478
- "onUpdate:modelValue": _cache[12] || (_cache[12] = ($event) => vue.unref(values).estimatedHourByDay = $event)
8479
- }, 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"])
8480
8655
  ]),
8481
8656
  _: 1
8482
8657
  }),
8483
- vue.createVNode(vue.unref(form.NeonFields), { md: "grid gap-4" }, {
8484
- default: vue.withCtx(() => [
8485
- vue.createVNode(vue.unref(form.NeonField), vue.mergeProps({
8486
- modelValue: vue.unref(values).priority,
8487
- "onUpdate:modelValue": _cache[13] || (_cache[13] = ($event) => vue.unref(values).priority = $event)
8488
- }, vue.unref(fields).priority), null, 16, ["modelValue"])
8489
- ]),
8490
- _: 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": ""
8491
8682
  }),
8492
- vue.createVNode(vue.unref(form.NeonFields), { md: "grid gap-4" }, {
8493
- default: vue.withCtx(() => [
8494
- vue.createVNode(vue.unref(form.NeonField), vue.mergeProps({
8495
- modelValue: vue.unref(values).status,
8496
- "onUpdate:modelValue": _cache[14] || (_cache[14] = ($event) => vue.unref(values).status = $event)
8497
- }, vue.unref(fields).status, { "is-disabled": "" }), null, 16, ["modelValue"])
8498
- ]),
8499
- _: 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": ""
8500
8692
  }),
8501
- 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" }, {
8502
8694
  default: vue.withCtx(() => [
8503
8695
  vue.createVNode(vue.unref(form.NeonField), vue.mergeProps({
8504
- modelValue: vue.unref(values).estimatedRealizedAssignmentStart,
8505
- "onUpdate:modelValue": _cache[15] || (_cache[15] = ($event) => vue.unref(values).estimatedRealizedAssignmentStart = $event)
8506
- }, 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"]),
8507
8699
  vue.createVNode(vue.unref(form.NeonField), vue.mergeProps({
8508
- modelValue: vue.unref(values).estimatedRealizedAssignmentEnd,
8509
- "onUpdate:modelValue": _cache[16] || (_cache[16] = ($event) => vue.unref(values).estimatedRealizedAssignmentEnd = $event)
8510
- }, 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"])
8511
8703
  ]),
8512
8704
  _: 1
8513
8705
  }),
8514
- vue.createVNode(vue.unref(form.NeonFields), { md: "grid gap-4" }, {
8515
- default: vue.withCtx(() => [
8516
- vue.createVNode(vue.unref(form.NeonField), vue.mergeProps({
8517
- modelValue: vue.unref(values).resultAssignment,
8518
- "onUpdate:modelValue": _cache[17] || (_cache[17] = ($event) => vue.unref(values).resultAssignment = $event)
8519
- }, 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"])
8520
8720
  ]),
8521
8721
  _: 1
8522
- })
8722
+ })) : vue.createCommentVNode("", true)
8523
8723
  ]),
8524
8724
  _: 1
8525
8725
  }, 8, ["initial-values", "is-loading", "is-changed", "onCancel", "onSubmit"])
8526
8726
  ]),
8527
8727
  _: 1
8528
- })
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)
8529
8770
  ]),
8530
8771
  _: 1
8531
8772
  }, 8, ["use-url"])