@neutron.co.id/operasional-interfaces 1.17.5 → 1.17.6
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/@office/config.mjs +3 -0
- package/build/@office/models/personalia/attendance/AttendanceManager.vue +5 -5
- package/build/@office/models/personalia/attendance/AttendanceSingle/AttendanceSingle.vue +2 -1
- package/build/@office/models/personalia/attendanceType/AttendanceTypeCollection/AttendanceTypeCollection.vue +23 -0
- package/build/@office/models/personalia/attendanceType/AttendanceTypeCollection/AttendanceTypeTypeCollection.stories.d.ts +7 -0
- package/build/@office/models/personalia/attendanceType/AttendanceTypeCollection/AttendanceTypeTypeCollection.stories.mjs +40 -0
- package/build/@office/models/personalia/attendanceType/AttendanceTypeCollection/index.d.ts +1 -0
- package/build/@office/models/personalia/attendanceType/AttendanceTypeCollection/index.mjs +1 -0
- package/build/@office/models/personalia/attendanceType/AttendanceTypeSingle/AttendanceTypeSingle.stories.d.ts +8 -0
- package/build/@office/models/personalia/attendanceType/AttendanceTypeSingle/AttendanceTypeSingle.stories.mjs +47 -0
- package/build/@office/models/personalia/attendanceType/AttendanceTypeSingle/AttendanceTypeSingle.vue +96 -0
- package/build/@office/models/personalia/attendanceType/AttendanceTypeSingle/index.d.ts +1 -0
- package/build/@office/models/personalia/attendanceType/AttendanceTypeSingle/index.mjs +1 -0
- package/build/@office/models/personalia/attendanceType/index.d.ts +2 -0
- package/build/@office/models/personalia/attendanceType/index.mjs +2 -0
- package/build/@office/models/personalia/index.d.ts +1 -0
- package/build/@office/models/personalia/index.mjs +1 -0
- package/build/@package/@office/models/personalia/attendanceType/AttendanceTypeCollection/AttendanceTypeCollection.vue.d.ts +2 -0
- package/build/@package/@office/models/personalia/attendanceType/AttendanceTypeCollection/index.d.ts +1 -0
- package/build/@package/@office/models/personalia/attendanceType/AttendanceTypeSingle/AttendanceTypeSingle.vue.d.ts +2 -0
- package/build/@package/@office/models/personalia/attendanceType/AttendanceTypeSingle/index.d.ts +1 -0
- package/build/@package/@office/models/personalia/attendanceType/index.d.ts +2 -0
- package/build/@package/@office/models/personalia/index.d.ts +1 -0
- package/build/mock/index.cjs +177 -31
- package/build/mock/index.mjs +179 -33
- package/build/mock/style.css +6 -2
- package/build/module.json +1 -1
- package/build/nuxt.json +1 -1
- package/build/nuxt.mjs +3 -0
- package/package.json +6 -6
package/build/@office/config.mjs
CHANGED
|
@@ -13,6 +13,9 @@ export const config = OfficeInterfaces.define({
|
|
|
13
13
|
"AttendanceManager",
|
|
14
14
|
"AttendanceSupervisor",
|
|
15
15
|
"AttendanceDelegate",
|
|
16
|
+
// Attendance Type
|
|
17
|
+
"AttendanceTypeCollection",
|
|
18
|
+
"AttendanceTypeSingle",
|
|
16
19
|
// Check In
|
|
17
20
|
"CheckInCollection",
|
|
18
21
|
"CheckInSingle",
|
|
@@ -197,7 +197,7 @@ const rejectedAbsensi = async () => {
|
|
|
197
197
|
/>
|
|
198
198
|
|
|
199
199
|
<OfficeRelation
|
|
200
|
-
v-if="values.type
|
|
200
|
+
v-if="values.type === 'leave'"
|
|
201
201
|
v-model="values"
|
|
202
202
|
:field="fields.delegateStaffs"
|
|
203
203
|
:is-disabled="
|
|
@@ -215,10 +215,10 @@ const rejectedAbsensi = async () => {
|
|
|
215
215
|
|
|
216
216
|
<NeonField
|
|
217
217
|
v-if="
|
|
218
|
-
values.type
|
|
219
|
-
values.type
|
|
220
|
-
values.type
|
|
221
|
-
values.type
|
|
218
|
+
values.type === 'dayOff' ||
|
|
219
|
+
values.type === 'sick' ||
|
|
220
|
+
values.type === 'permission' ||
|
|
221
|
+
values.type === 'leave'
|
|
222
222
|
"
|
|
223
223
|
v-model="values.submittedAt"
|
|
224
224
|
v-bind="fields.submittedAt"
|
|
@@ -10,6 +10,7 @@ import type {
|
|
|
10
10
|
} from '@neutron.co.id/personalia-models'
|
|
11
11
|
import { NeonTime } from '../../../../common'
|
|
12
12
|
import { DateUtil } from '../../../../common/utils/util.date'
|
|
13
|
+
import { Query } from '@neon.id/query'
|
|
13
14
|
|
|
14
15
|
const {
|
|
15
16
|
fields,
|
|
@@ -90,7 +91,7 @@ function onStartedAtUpdate(date: any) {
|
|
|
90
91
|
@update:model-value="onStartedAtUpdate"
|
|
91
92
|
/>
|
|
92
93
|
|
|
93
|
-
<
|
|
94
|
+
<OfficeRelation v-model="values" :field="fields.type" />
|
|
94
95
|
|
|
95
96
|
<OfficeRelation v-model="values" :field="fields.decideStaff" />
|
|
96
97
|
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
<script setup lang="ts">
|
|
2
|
+
import { NeonCollection, useCollection } from '@neon.id/context'
|
|
3
|
+
import { OfficeCollectionTable } from '@neon.id/office'
|
|
4
|
+
import type {
|
|
5
|
+
Schema,
|
|
6
|
+
TPersonaliaAttendanceTypeModel,
|
|
7
|
+
} from '@neutron.co.id/personalia-models'
|
|
8
|
+
|
|
9
|
+
defineOptions({ name: 'AttendanceTypeCollection' })
|
|
10
|
+
|
|
11
|
+
const { resource, display, items, userQuery } = useCollection<
|
|
12
|
+
Schema.AttendanceType,
|
|
13
|
+
TPersonaliaAttendanceTypeModel
|
|
14
|
+
>()
|
|
15
|
+
</script>
|
|
16
|
+
|
|
17
|
+
<template>
|
|
18
|
+
<NeonCollection class="neu-attendance-type-collection">
|
|
19
|
+
<OfficeCollectionTable />
|
|
20
|
+
</NeonCollection>
|
|
21
|
+
</template>
|
|
22
|
+
|
|
23
|
+
<style scoped></style>
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { Meta } from '@storybook/vue3';
|
|
2
|
+
import AttendanceTypeCollection from './AttendanceTypeCollection.vue';
|
|
3
|
+
declare const _default: Meta<typeof AttendanceTypeCollection>;
|
|
4
|
+
export default _default;
|
|
5
|
+
export declare const Main: import("@storybook/csf").StoryAnnotations<import("@storybook/vue3").VueRenderer, {}, {}>;
|
|
6
|
+
export declare const InsideContent: import("@storybook/csf").StoryAnnotations<import("@storybook/vue3").VueRenderer, {}, {}>;
|
|
7
|
+
export declare const $DefaultView: any;
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import { decorateCollection, viewCollection, wrapCollection } from "@mock";
|
|
2
|
+
import { StoryUtil } from "@neon.id/story/helpers";
|
|
3
|
+
import { AttendanceTypeCollectionView } from "@neutron.co.id/operasional-modules";
|
|
4
|
+
import { AttendanceTypeModel } from "@neutron.co.id/personalia-models";
|
|
5
|
+
import { withOperasional } from "../../../../common/providers/index.mjs";
|
|
6
|
+
import AttendanceTypeCollection from "./AttendanceTypeCollection.vue";
|
|
7
|
+
export default {
|
|
8
|
+
title: "Office/AttendanceType/Collection",
|
|
9
|
+
tags: [],
|
|
10
|
+
component: AttendanceTypeCollection,
|
|
11
|
+
parameters: StoryUtil.parameters({
|
|
12
|
+
description: "`AttendanceTypeCollection`",
|
|
13
|
+
layout: "fullscreen",
|
|
14
|
+
controls: { exclude: ["colors"] },
|
|
15
|
+
backgrounds: { default: "light" }
|
|
16
|
+
})
|
|
17
|
+
};
|
|
18
|
+
export const Main = StoryUtil.story({
|
|
19
|
+
description: "Main.",
|
|
20
|
+
decorators: decorateCollection({
|
|
21
|
+
model: AttendanceTypeModel
|
|
22
|
+
})
|
|
23
|
+
});
|
|
24
|
+
export const InsideContent = StoryUtil.story({
|
|
25
|
+
description: "Inside content.",
|
|
26
|
+
render: wrapCollection(AttendanceTypeCollection),
|
|
27
|
+
decorators: decorateCollection({
|
|
28
|
+
model: AttendanceTypeModel
|
|
29
|
+
})
|
|
30
|
+
});
|
|
31
|
+
export const $DefaultView = viewCollection({
|
|
32
|
+
description: "Default view.",
|
|
33
|
+
component: AttendanceTypeCollectionView,
|
|
34
|
+
setup() {
|
|
35
|
+
withOperasional();
|
|
36
|
+
},
|
|
37
|
+
props: {
|
|
38
|
+
overrides: {}
|
|
39
|
+
}
|
|
40
|
+
});
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { default as AttendanceTypeCollection } from './AttendanceTypeCollection.vue';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { default as AttendanceTypeCollection } from "./AttendanceTypeCollection.vue";
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { Meta } from '@storybook/vue3';
|
|
2
|
+
import AttendanceTypeSingle from './AttendanceTypeSingle.vue';
|
|
3
|
+
declare const _default: Meta<typeof AttendanceTypeSingle>;
|
|
4
|
+
export default _default;
|
|
5
|
+
export declare const New: import("@storybook/csf").StoryAnnotations<import("@storybook/vue3").VueRenderer, {}, {}>;
|
|
6
|
+
export declare const Existing: import("@storybook/csf").StoryAnnotations<import("@storybook/vue3").VueRenderer, {}, {}>;
|
|
7
|
+
export declare const Content: import("@storybook/csf").StoryAnnotations<import("@storybook/vue3").VueRenderer, {}, {}>;
|
|
8
|
+
export declare const $DefaultView: any;
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import { StoryUtil } from "@neon.id/story/helpers";
|
|
2
|
+
import { AttendanceTypeModel } from "@neutron.co.id/personalia-models";
|
|
3
|
+
import { AttendanceTypeSingleView } from "@neutron.co.id/operasional-modules";
|
|
4
|
+
import AttendanceTypeSingle from "./AttendanceTypeSingle.vue";
|
|
5
|
+
import { decorateSingle, viewSingle, wrapSingle } from "@mock";
|
|
6
|
+
export default {
|
|
7
|
+
title: "Office/AttendanceType/Single",
|
|
8
|
+
tags: [],
|
|
9
|
+
component: AttendanceTypeSingle,
|
|
10
|
+
parameters: StoryUtil.parameters({
|
|
11
|
+
description: "`AttendanceTypeSingle`",
|
|
12
|
+
layout: "fullscreen",
|
|
13
|
+
controls: { exclude: ["colors"] },
|
|
14
|
+
backgrounds: { default: "light" }
|
|
15
|
+
})
|
|
16
|
+
};
|
|
17
|
+
export const New = StoryUtil.story({
|
|
18
|
+
description: "New.",
|
|
19
|
+
decorators: decorateSingle({
|
|
20
|
+
model: AttendanceTypeModel
|
|
21
|
+
})
|
|
22
|
+
});
|
|
23
|
+
export const Existing = StoryUtil.story({
|
|
24
|
+
description: "Existing.",
|
|
25
|
+
args: { id: "" },
|
|
26
|
+
decorators: decorateSingle({
|
|
27
|
+
model: AttendanceTypeModel
|
|
28
|
+
// id: '___',
|
|
29
|
+
})
|
|
30
|
+
});
|
|
31
|
+
export const Content = StoryUtil.story({
|
|
32
|
+
description: "Inside content.",
|
|
33
|
+
render: wrapSingle(AttendanceTypeSingle),
|
|
34
|
+
args: { id: "" },
|
|
35
|
+
decorators: decorateSingle({
|
|
36
|
+
model: AttendanceTypeModel
|
|
37
|
+
// id: '___',
|
|
38
|
+
})
|
|
39
|
+
});
|
|
40
|
+
export const $DefaultView = viewSingle({
|
|
41
|
+
description: "Default view.",
|
|
42
|
+
component: AttendanceTypeSingleView,
|
|
43
|
+
props: {
|
|
44
|
+
// id: '___',
|
|
45
|
+
overrides: {}
|
|
46
|
+
}
|
|
47
|
+
});
|
package/build/@office/models/personalia/attendanceType/AttendanceTypeSingle/AttendanceTypeSingle.vue
ADDED
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
<script setup lang="ts">
|
|
2
|
+
import { NeonSingle, useSingle } from '@neon.id/context'
|
|
3
|
+
import { NeonField, NeonForm, NeonCheck } from '@neon.id/form'
|
|
4
|
+
import { OfficeRelation, OfficeTab, OfficeTabs } from '@neon.id/office'
|
|
5
|
+
import { useToast } from '@neon.id/interfaces'
|
|
6
|
+
import type {
|
|
7
|
+
TPersonaliaAttendanceTypeModel,
|
|
8
|
+
Schema,
|
|
9
|
+
} from '@neutron.co.id/personalia-models'
|
|
10
|
+
|
|
11
|
+
const {
|
|
12
|
+
fields,
|
|
13
|
+
initialValues,
|
|
14
|
+
values,
|
|
15
|
+
isLoading,
|
|
16
|
+
isChanged,
|
|
17
|
+
isMain,
|
|
18
|
+
saveOne,
|
|
19
|
+
discardChanges,
|
|
20
|
+
} = useSingle<Schema.AttendanceType, TPersonaliaAttendanceTypeModel>()
|
|
21
|
+
|
|
22
|
+
const toast = useToast()
|
|
23
|
+
|
|
24
|
+
async function saveCheck() {
|
|
25
|
+
if (values.value.code === '') {
|
|
26
|
+
toast.push({
|
|
27
|
+
id: 'neu:attendance-type:code',
|
|
28
|
+
icon: 'warning',
|
|
29
|
+
content: 'Kode dari Tipe Absensi belum diisi!',
|
|
30
|
+
color: 'danger',
|
|
31
|
+
placement: 'bottom-right',
|
|
32
|
+
})
|
|
33
|
+
return
|
|
34
|
+
} else if (values.value.name !== '') {
|
|
35
|
+
await saveOne()
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
</script>
|
|
39
|
+
|
|
40
|
+
<template>
|
|
41
|
+
<NeonSingle class="neu-attendance-type-single">
|
|
42
|
+
<OfficeTabs :use-url="isMain">
|
|
43
|
+
<OfficeTab handle="info" icon="circle-info" title="Info">
|
|
44
|
+
<NeonForm
|
|
45
|
+
handle="info"
|
|
46
|
+
:initial-values="initialValues"
|
|
47
|
+
:is-loading="isLoading"
|
|
48
|
+
:is-changed="isChanged"
|
|
49
|
+
use-unsaved
|
|
50
|
+
@cancel="discardChanges"
|
|
51
|
+
@submit="saveCheck"
|
|
52
|
+
>
|
|
53
|
+
<NeonField v-model="values.name" v-bind="fields.name" />
|
|
54
|
+
<NeonField v-model="values.code" v-bind="fields.code" />
|
|
55
|
+
<NeonField v-model="values.leaveQuota" v-bind="fields.leaveQuota" />
|
|
56
|
+
<OfficeRelation v-model="values" :field="fields.branches" />
|
|
57
|
+
<NeonField
|
|
58
|
+
v-model="values.maxDurationDays"
|
|
59
|
+
v-bind="fields.maxDurationDays"
|
|
60
|
+
/>
|
|
61
|
+
<NeonField
|
|
62
|
+
v-model="values.showLeaveQuota"
|
|
63
|
+
v-bind="fields.showLeaveQuota"
|
|
64
|
+
>
|
|
65
|
+
<template #input>
|
|
66
|
+
<NeonCheck
|
|
67
|
+
v-model="values.showLeaveQuota"
|
|
68
|
+
label="Tampilkan"
|
|
69
|
+
class="mt-2"
|
|
70
|
+
/>
|
|
71
|
+
</template>
|
|
72
|
+
</NeonField>
|
|
73
|
+
<NeonField
|
|
74
|
+
v-model="values.showAttendanceType"
|
|
75
|
+
v-bind="fields.showAttendanceType"
|
|
76
|
+
>
|
|
77
|
+
<template #input>
|
|
78
|
+
<NeonCheck
|
|
79
|
+
v-model="values.showAttendanceType"
|
|
80
|
+
label="Tampilkan"
|
|
81
|
+
class="mt-2"
|
|
82
|
+
/>
|
|
83
|
+
</template>
|
|
84
|
+
</NeonField>
|
|
85
|
+
<NeonField v-model="values.description" v-bind="fields.description" />
|
|
86
|
+
</NeonForm>
|
|
87
|
+
</OfficeTab>
|
|
88
|
+
</OfficeTabs>
|
|
89
|
+
</NeonSingle>
|
|
90
|
+
</template>
|
|
91
|
+
|
|
92
|
+
<style scoped>
|
|
93
|
+
.neu-AttendanceType-single {
|
|
94
|
+
@apply block;
|
|
95
|
+
}
|
|
96
|
+
</style>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { default as AttendanceTypeSingle } from './AttendanceTypeSingle.vue';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { default as AttendanceTypeSingle } from "./AttendanceTypeSingle.vue";
|
package/build/@package/@office/models/personalia/attendanceType/AttendanceTypeCollection/index.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { default as AttendanceTypeCollection } from './AttendanceTypeCollection.vue';
|
package/build/@package/@office/models/personalia/attendanceType/AttendanceTypeSingle/index.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { default as AttendanceTypeSingle } from './AttendanceTypeSingle.vue';
|
package/build/mock/index.cjs
CHANGED
|
@@ -1515,7 +1515,7 @@ const _hoisted_2$q = {
|
|
|
1515
1515
|
key: 2,
|
|
1516
1516
|
class: "section"
|
|
1517
1517
|
};
|
|
1518
|
-
const _sfc_main$
|
|
1518
|
+
const _sfc_main$1o = /* @__PURE__ */ vue.defineComponent({
|
|
1519
1519
|
...{ name: "OperasionalIdentitas" },
|
|
1520
1520
|
__name: "OperasionalIdentitas",
|
|
1521
1521
|
props: {
|
|
@@ -1876,7 +1876,7 @@ const _export_sfc$1 = (sfc, props) => {
|
|
|
1876
1876
|
}
|
|
1877
1877
|
return target;
|
|
1878
1878
|
};
|
|
1879
|
-
const OperasionalIdentitas = /* @__PURE__ */ _export_sfc$1(_sfc_main$
|
|
1879
|
+
const OperasionalIdentitas = /* @__PURE__ */ _export_sfc$1(_sfc_main$1o, [["__scopeId", "data-v-0befc683"]]);
|
|
1880
1880
|
var top = "top";
|
|
1881
1881
|
var bottom = "bottom";
|
|
1882
1882
|
var right = "right";
|
|
@@ -11434,7 +11434,7 @@ const _sfc_main$1$1 = /* @__PURE__ */ vue.defineComponent({
|
|
|
11434
11434
|
};
|
|
11435
11435
|
}
|
|
11436
11436
|
});
|
|
11437
|
-
const _sfc_main$
|
|
11437
|
+
const _sfc_main$1n = vue.defineComponent({
|
|
11438
11438
|
inheritAttrs: false,
|
|
11439
11439
|
emits,
|
|
11440
11440
|
props: propsDef,
|
|
@@ -11453,7 +11453,7 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
11453
11453
|
vue.createVNode(_component_DatePickerPopover, vue.normalizeProps(vue.guardReactiveProps(_ctx.$attrs)), null, 16)
|
|
11454
11454
|
], 64)) : (vue.openBlock(), vue.createBlock(_component_DatePickerBase, vue.normalizeProps(vue.mergeProps({ key: 1 }, _ctx.$attrs)), null, 16));
|
|
11455
11455
|
}
|
|
11456
|
-
const DatePicker = /* @__PURE__ */ _export_sfc(_sfc_main$
|
|
11456
|
+
const DatePicker = /* @__PURE__ */ _export_sfc(_sfc_main$1n, [["render", _sfc_render]]);
|
|
11457
11457
|
dayjs.extend(durationPlugin);
|
|
11458
11458
|
dayjs.extend(relativeTimePlugin);
|
|
11459
11459
|
dayjs.extend(advancedFormat);
|
|
@@ -11481,7 +11481,7 @@ const _hoisted_2$o = /* @__PURE__ */ _withScopeId$4(() => /* @__PURE__ */ vue.cr
|
|
|
11481
11481
|
const _hoisted_3$f = [
|
|
11482
11482
|
_hoisted_2$o
|
|
11483
11483
|
];
|
|
11484
|
-
const _sfc_main$
|
|
11484
|
+
const _sfc_main$1m = /* @__PURE__ */ vue.defineComponent({
|
|
11485
11485
|
__name: "NeonTime",
|
|
11486
11486
|
props: {
|
|
11487
11487
|
modelValue: {
|
|
@@ -11540,7 +11540,7 @@ const _sfc_main$1k = /* @__PURE__ */ vue.defineComponent({
|
|
|
11540
11540
|
};
|
|
11541
11541
|
}
|
|
11542
11542
|
});
|
|
11543
|
-
const NeonTime = /* @__PURE__ */ _export_sfc$1(_sfc_main$
|
|
11543
|
+
const NeonTime = /* @__PURE__ */ _export_sfc$1(_sfc_main$1m, [["__scopeId", "data-v-af42e627"]]);
|
|
11544
11544
|
const useAttendanceStore = pinia.defineStore("neu:personalia:attendance", {
|
|
11545
11545
|
state: () => ({
|
|
11546
11546
|
isEntering: false,
|
|
@@ -12964,7 +12964,7 @@ const _hoisted_1$z = {
|
|
|
12964
12964
|
key: 0,
|
|
12965
12965
|
class: "office-single-sync"
|
|
12966
12966
|
};
|
|
12967
|
-
const _sfc_main$
|
|
12967
|
+
const _sfc_main$1l = /* @__PURE__ */ vue.defineComponent({
|
|
12968
12968
|
...{ name: "OfficeSingleSync" },
|
|
12969
12969
|
__name: "OfficeSingleSync",
|
|
12970
12970
|
setup(__props) {
|
|
@@ -13004,9 +13004,9 @@ const _sfc_main$1j = /* @__PURE__ */ vue.defineComponent({
|
|
|
13004
13004
|
};
|
|
13005
13005
|
}
|
|
13006
13006
|
});
|
|
13007
|
-
const OfficeSingleSync = /* @__PURE__ */ _export_sfc$1(_sfc_main$
|
|
13007
|
+
const OfficeSingleSync = /* @__PURE__ */ _export_sfc$1(_sfc_main$1l, [["__scopeId", "data-v-3dbc6c7d"]]);
|
|
13008
13008
|
const _hoisted_1$y = { class: "period-button" };
|
|
13009
|
-
const _sfc_main$
|
|
13009
|
+
const _sfc_main$1k = /* @__PURE__ */ vue.defineComponent({
|
|
13010
13010
|
...{ name: "PeriodButton" },
|
|
13011
13011
|
__name: "PeriodButton",
|
|
13012
13012
|
emits: ["update:period", "update:date", "sync"],
|
|
@@ -13054,9 +13054,9 @@ const _sfc_main$1i = /* @__PURE__ */ vue.defineComponent({
|
|
|
13054
13054
|
};
|
|
13055
13055
|
}
|
|
13056
13056
|
});
|
|
13057
|
-
const PeriodButton = /* @__PURE__ */ _export_sfc$1(_sfc_main$
|
|
13057
|
+
const PeriodButton = /* @__PURE__ */ _export_sfc$1(_sfc_main$1k, [["__scopeId", "data-v-5f2c3308"]]);
|
|
13058
13058
|
const _hoisted_1$x = { id: "grading-actions" };
|
|
13059
|
-
const _sfc_main$
|
|
13059
|
+
const _sfc_main$1j = /* @__PURE__ */ vue.defineComponent({
|
|
13060
13060
|
...{ name: "NeutronImportButton" },
|
|
13061
13061
|
__name: "NeutronImportButton",
|
|
13062
13062
|
setup(__props) {
|
|
@@ -13083,7 +13083,7 @@ const _sfc_main$1h = /* @__PURE__ */ vue.defineComponent({
|
|
|
13083
13083
|
};
|
|
13084
13084
|
}
|
|
13085
13085
|
});
|
|
13086
|
-
const _sfc_main$
|
|
13086
|
+
const _sfc_main$1i = /* @__PURE__ */ vue.defineComponent({
|
|
13087
13087
|
...{ name: "AttendanceCollection" },
|
|
13088
13088
|
__name: "AttendanceCollection",
|
|
13089
13089
|
props: {
|
|
@@ -13136,7 +13136,7 @@ const _sfc_main$1g = /* @__PURE__ */ vue.defineComponent({
|
|
|
13136
13136
|
});
|
|
13137
13137
|
const _hoisted_1$w = { class: "grid gap-2 sm:grid-cols-2" };
|
|
13138
13138
|
const _hoisted_2$n = { class: "text-right text-fg-subdued text-sm" };
|
|
13139
|
-
const _sfc_main$
|
|
13139
|
+
const _sfc_main$1h = /* @__PURE__ */ vue.defineComponent({
|
|
13140
13140
|
__name: "AttendanceSingle",
|
|
13141
13141
|
setup(__props) {
|
|
13142
13142
|
const {
|
|
@@ -13215,10 +13215,11 @@ const _sfc_main$1f = /* @__PURE__ */ vue.defineComponent({
|
|
|
13215
13215
|
note: "Tanggal absensi."
|
|
13216
13216
|
}
|
|
13217
13217
|
}, { "onUpdate:modelValue": onStartedAtUpdate }), null, 16, ["model-value"])),
|
|
13218
|
-
vue.createVNode(vue.unref(
|
|
13219
|
-
modelValue: vue.unref(values)
|
|
13220
|
-
"onUpdate:modelValue": _cache[2] || (_cache[2] = ($event) => vue.
|
|
13221
|
-
|
|
13218
|
+
vue.createVNode(vue.unref(office$1.OfficeRelation), {
|
|
13219
|
+
modelValue: vue.unref(values),
|
|
13220
|
+
"onUpdate:modelValue": _cache[2] || (_cache[2] = ($event) => vue.isRef(values) ? values.value = $event : null),
|
|
13221
|
+
field: vue.unref(fields).type
|
|
13222
|
+
}, null, 8, ["modelValue", "field"]),
|
|
13222
13223
|
vue.createVNode(vue.unref(office$1.OfficeRelation), {
|
|
13223
13224
|
modelValue: vue.unref(values),
|
|
13224
13225
|
"onUpdate:modelValue": _cache[3] || (_cache[3] = ($event) => vue.isRef(values) ? values.value = $event : null),
|
|
@@ -13313,7 +13314,7 @@ const _sfc_main$1f = /* @__PURE__ */ vue.defineComponent({
|
|
|
13313
13314
|
};
|
|
13314
13315
|
}
|
|
13315
13316
|
});
|
|
13316
|
-
const AttendanceSingle = /* @__PURE__ */ _export_sfc$1(_sfc_main$
|
|
13317
|
+
const AttendanceSingle = /* @__PURE__ */ _export_sfc$1(_sfc_main$1h, [["__scopeId", "data-v-0f0e0119"]]);
|
|
13317
13318
|
const _hoisted_1$v = { class: "flex flex-wrap" };
|
|
13318
13319
|
const _hoisted_2$m = { class: "mt-2" };
|
|
13319
13320
|
const _hoisted_3$e = { class: "mt-2" };
|
|
@@ -13332,7 +13333,7 @@ const _hoisted_8$9 = {
|
|
|
13332
13333
|
class: "grid gap-2 sm:grid-cols-2"
|
|
13333
13334
|
};
|
|
13334
13335
|
const _hoisted_9$9 = { class: "text-right text-fg-subdued text-sm" };
|
|
13335
|
-
const _sfc_main$
|
|
13336
|
+
const _sfc_main$1g = /* @__PURE__ */ vue.defineComponent({
|
|
13336
13337
|
__name: "AttendanceManager",
|
|
13337
13338
|
setup(__props) {
|
|
13338
13339
|
var _a;
|
|
@@ -13498,7 +13499,7 @@ const _sfc_main$1e = /* @__PURE__ */ vue.defineComponent({
|
|
|
13498
13499
|
field: vue.unref(fields).decideStaff,
|
|
13499
13500
|
"is-disabled": vue.unref(values).status == "approved" || vue.unref(values).status == "rejected"
|
|
13500
13501
|
}, null, 8, ["modelValue", "field", "is-disabled"]),
|
|
13501
|
-
vue.unref(values).type
|
|
13502
|
+
vue.unref(values).type === "leave" ? (vue.openBlock(), vue.createBlock(vue.unref(office$1.OfficeRelation), {
|
|
13502
13503
|
key: 0,
|
|
13503
13504
|
modelValue: vue.unref(values),
|
|
13504
13505
|
"onUpdate:modelValue": _cache[3] || (_cache[3] = ($event) => vue.isRef(values) ? values.value = $event : null),
|
|
@@ -13515,7 +13516,7 @@ const _sfc_main$1e = /* @__PURE__ */ vue.defineComponent({
|
|
|
13515
13516
|
"is-dashed": "",
|
|
13516
13517
|
label: "Keterangan"
|
|
13517
13518
|
})) : vue.createCommentVNode("v-if", true),
|
|
13518
|
-
vue.unref(values).type
|
|
13519
|
+
vue.unref(values).type === "dayOff" || vue.unref(values).type === "sick" || vue.unref(values).type === "permission" || vue.unref(values).type === "leave" ? (vue.openBlock(), vue.createBlock(vue.unref(form.NeonField), vue.mergeProps({
|
|
13519
13520
|
key: 3,
|
|
13520
13521
|
modelValue: vue.unref(values).submittedAt,
|
|
13521
13522
|
"onUpdate:modelValue": _cache[5] || (_cache[5] = ($event) => vue.unref(values).submittedAt = $event)
|
|
@@ -13695,7 +13696,7 @@ const _sfc_main$1e = /* @__PURE__ */ vue.defineComponent({
|
|
|
13695
13696
|
};
|
|
13696
13697
|
}
|
|
13697
13698
|
});
|
|
13698
|
-
const AttendanceManager = /* @__PURE__ */ _export_sfc$1(_sfc_main$
|
|
13699
|
+
const AttendanceManager = /* @__PURE__ */ _export_sfc$1(_sfc_main$1g, [["__scopeId", "data-v-2957df27"]]);
|
|
13699
13700
|
const _hoisted_1$u = {
|
|
13700
13701
|
key: 1,
|
|
13701
13702
|
class: "flex flex-wrap"
|
|
@@ -13718,7 +13719,7 @@ const _hoisted_9$8 = {
|
|
|
13718
13719
|
class: "grid gap-2 sm:grid-cols-2"
|
|
13719
13720
|
};
|
|
13720
13721
|
const _hoisted_10$8 = { class: "text-right text-fg-subdued text-sm" };
|
|
13721
|
-
const _sfc_main$
|
|
13722
|
+
const _sfc_main$1f = /* @__PURE__ */ vue.defineComponent({
|
|
13722
13723
|
__name: "AttendanceStaff",
|
|
13723
13724
|
setup(__props) {
|
|
13724
13725
|
var _a;
|
|
@@ -14252,7 +14253,7 @@ const _sfc_main$1d = /* @__PURE__ */ vue.defineComponent({
|
|
|
14252
14253
|
};
|
|
14253
14254
|
}
|
|
14254
14255
|
});
|
|
14255
|
-
const AttendanceStaff = /* @__PURE__ */ _export_sfc$1(_sfc_main$
|
|
14256
|
+
const AttendanceStaff = /* @__PURE__ */ _export_sfc$1(_sfc_main$1f, [["__scopeId", "data-v-d413adf3"]]);
|
|
14256
14257
|
const _hoisted_1$t = { class: "flex flex-wrap" };
|
|
14257
14258
|
const _hoisted_2$k = { class: "mt-2" };
|
|
14258
14259
|
const _hoisted_3$c = { class: "mt-2" };
|
|
@@ -14273,7 +14274,7 @@ const _hoisted_10$7 = {
|
|
|
14273
14274
|
class: "grid gap-2 sm:grid-cols-2"
|
|
14274
14275
|
};
|
|
14275
14276
|
const _hoisted_11$7 = { class: "text-right text-fg-subdued text-sm" };
|
|
14276
|
-
const _sfc_main$
|
|
14277
|
+
const _sfc_main$1e = /* @__PURE__ */ vue.defineComponent({
|
|
14277
14278
|
__name: "AttendanceSupervisor",
|
|
14278
14279
|
setup(__props) {
|
|
14279
14280
|
var _a;
|
|
@@ -14770,8 +14771,8 @@ const _sfc_main$1c = /* @__PURE__ */ vue.defineComponent({
|
|
|
14770
14771
|
};
|
|
14771
14772
|
}
|
|
14772
14773
|
});
|
|
14773
|
-
const AttendanceSupervisor = /* @__PURE__ */ _export_sfc$1(_sfc_main$
|
|
14774
|
-
const _sfc_main$
|
|
14774
|
+
const AttendanceSupervisor = /* @__PURE__ */ _export_sfc$1(_sfc_main$1e, [["__scopeId", "data-v-07766872"]]);
|
|
14775
|
+
const _sfc_main$1d = /* @__PURE__ */ vue.defineComponent({
|
|
14775
14776
|
__name: "AttendanceDelegate",
|
|
14776
14777
|
setup(__props) {
|
|
14777
14778
|
var _a;
|
|
@@ -14933,7 +14934,147 @@ const _sfc_main$1b = /* @__PURE__ */ vue.defineComponent({
|
|
|
14933
14934
|
};
|
|
14934
14935
|
}
|
|
14935
14936
|
});
|
|
14936
|
-
const AttendanceDelegate = /* @__PURE__ */ _export_sfc$1(_sfc_main$
|
|
14937
|
+
const AttendanceDelegate = /* @__PURE__ */ _export_sfc$1(_sfc_main$1d, [["__scopeId", "data-v-538fa6fb"]]);
|
|
14938
|
+
const _sfc_main$1c = /* @__PURE__ */ vue.defineComponent({
|
|
14939
|
+
...{ name: "AttendanceTypeCollection" },
|
|
14940
|
+
__name: "AttendanceTypeCollection",
|
|
14941
|
+
setup(__props) {
|
|
14942
|
+
context.useCollection();
|
|
14943
|
+
return (_ctx, _cache) => {
|
|
14944
|
+
return vue.openBlock(), vue.createBlock(vue.unref(context.NeonCollection), { class: "neu-attendance-type-collection" }, {
|
|
14945
|
+
default: vue.withCtx(() => [
|
|
14946
|
+
vue.createVNode(vue.unref(office$1.OfficeCollectionTable))
|
|
14947
|
+
]),
|
|
14948
|
+
_: 1
|
|
14949
|
+
/* STABLE */
|
|
14950
|
+
});
|
|
14951
|
+
};
|
|
14952
|
+
}
|
|
14953
|
+
});
|
|
14954
|
+
const _sfc_main$1b = /* @__PURE__ */ vue.defineComponent({
|
|
14955
|
+
__name: "AttendanceTypeSingle",
|
|
14956
|
+
setup(__props) {
|
|
14957
|
+
const {
|
|
14958
|
+
fields,
|
|
14959
|
+
initialValues,
|
|
14960
|
+
values,
|
|
14961
|
+
isLoading,
|
|
14962
|
+
isChanged,
|
|
14963
|
+
isMain,
|
|
14964
|
+
saveOne,
|
|
14965
|
+
discardChanges
|
|
14966
|
+
} = context.useSingle();
|
|
14967
|
+
const toast = interfaces.useToast();
|
|
14968
|
+
async function saveCheck() {
|
|
14969
|
+
if (values.value.code === "") {
|
|
14970
|
+
toast.push({
|
|
14971
|
+
id: "neu:attendance-type:code",
|
|
14972
|
+
icon: "warning",
|
|
14973
|
+
content: "Kode dari Tipe Absensi belum diisi!",
|
|
14974
|
+
color: "danger",
|
|
14975
|
+
placement: "bottom-right"
|
|
14976
|
+
});
|
|
14977
|
+
return;
|
|
14978
|
+
} else if (values.value.name !== "") {
|
|
14979
|
+
await saveOne();
|
|
14980
|
+
}
|
|
14981
|
+
}
|
|
14982
|
+
return (_ctx, _cache) => {
|
|
14983
|
+
return vue.openBlock(), vue.createBlock(vue.unref(context.NeonSingle), { class: "neu-attendance-type-single" }, {
|
|
14984
|
+
default: vue.withCtx(() => [
|
|
14985
|
+
vue.createVNode(vue.unref(office$1.OfficeTabs), { "use-url": vue.unref(isMain) }, {
|
|
14986
|
+
default: vue.withCtx(() => [
|
|
14987
|
+
vue.createVNode(vue.unref(office$1.OfficeTab), {
|
|
14988
|
+
handle: "info",
|
|
14989
|
+
icon: "circle-info",
|
|
14990
|
+
title: "Info"
|
|
14991
|
+
}, {
|
|
14992
|
+
default: vue.withCtx(() => [
|
|
14993
|
+
vue.createVNode(vue.unref(form.NeonForm), {
|
|
14994
|
+
handle: "info",
|
|
14995
|
+
"initial-values": vue.unref(initialValues),
|
|
14996
|
+
"is-loading": vue.unref(isLoading),
|
|
14997
|
+
"is-changed": vue.unref(isChanged),
|
|
14998
|
+
"use-unsaved": "",
|
|
14999
|
+
onCancel: vue.unref(discardChanges),
|
|
15000
|
+
onSubmit: saveCheck
|
|
15001
|
+
}, {
|
|
15002
|
+
default: vue.withCtx(() => [
|
|
15003
|
+
vue.createVNode(vue.unref(form.NeonField), vue.mergeProps({
|
|
15004
|
+
modelValue: vue.unref(values).name,
|
|
15005
|
+
"onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => vue.unref(values).name = $event)
|
|
15006
|
+
}, vue.unref(fields).name), null, 16, ["modelValue"]),
|
|
15007
|
+
vue.createVNode(vue.unref(form.NeonField), vue.mergeProps({
|
|
15008
|
+
modelValue: vue.unref(values).code,
|
|
15009
|
+
"onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => vue.unref(values).code = $event)
|
|
15010
|
+
}, vue.unref(fields).code), null, 16, ["modelValue"]),
|
|
15011
|
+
vue.createVNode(vue.unref(form.NeonField), vue.mergeProps({
|
|
15012
|
+
modelValue: vue.unref(values).leaveQuota,
|
|
15013
|
+
"onUpdate:modelValue": _cache[2] || (_cache[2] = ($event) => vue.unref(values).leaveQuota = $event)
|
|
15014
|
+
}, vue.unref(fields).leaveQuota), null, 16, ["modelValue"]),
|
|
15015
|
+
vue.createVNode(vue.unref(office$1.OfficeRelation), {
|
|
15016
|
+
modelValue: vue.unref(values),
|
|
15017
|
+
"onUpdate:modelValue": _cache[3] || (_cache[3] = ($event) => vue.isRef(values) ? values.value = $event : null),
|
|
15018
|
+
field: vue.unref(fields).branches
|
|
15019
|
+
}, null, 8, ["modelValue", "field"]),
|
|
15020
|
+
vue.createVNode(vue.unref(form.NeonField), vue.mergeProps({
|
|
15021
|
+
modelValue: vue.unref(values).maxDurationDays,
|
|
15022
|
+
"onUpdate:modelValue": _cache[4] || (_cache[4] = ($event) => vue.unref(values).maxDurationDays = $event)
|
|
15023
|
+
}, vue.unref(fields).maxDurationDays), null, 16, ["modelValue"]),
|
|
15024
|
+
vue.createVNode(vue.unref(form.NeonField), vue.mergeProps({
|
|
15025
|
+
modelValue: vue.unref(values).showLeaveQuota,
|
|
15026
|
+
"onUpdate:modelValue": _cache[6] || (_cache[6] = ($event) => vue.unref(values).showLeaveQuota = $event)
|
|
15027
|
+
}, vue.unref(fields).showLeaveQuota), {
|
|
15028
|
+
input: vue.withCtx(() => [
|
|
15029
|
+
vue.createVNode(vue.unref(form.NeonCheck), {
|
|
15030
|
+
modelValue: vue.unref(values).showLeaveQuota,
|
|
15031
|
+
"onUpdate:modelValue": _cache[5] || (_cache[5] = ($event) => vue.unref(values).showLeaveQuota = $event),
|
|
15032
|
+
label: "Tampilkan",
|
|
15033
|
+
class: "mt-2"
|
|
15034
|
+
}, null, 8, ["modelValue"])
|
|
15035
|
+
]),
|
|
15036
|
+
_: 1
|
|
15037
|
+
/* STABLE */
|
|
15038
|
+
}, 16, ["modelValue"]),
|
|
15039
|
+
vue.createVNode(vue.unref(form.NeonField), vue.mergeProps({
|
|
15040
|
+
modelValue: vue.unref(values).showAttendanceType,
|
|
15041
|
+
"onUpdate:modelValue": _cache[8] || (_cache[8] = ($event) => vue.unref(values).showAttendanceType = $event)
|
|
15042
|
+
}, vue.unref(fields).showAttendanceType), {
|
|
15043
|
+
input: vue.withCtx(() => [
|
|
15044
|
+
vue.createVNode(vue.unref(form.NeonCheck), {
|
|
15045
|
+
modelValue: vue.unref(values).showAttendanceType,
|
|
15046
|
+
"onUpdate:modelValue": _cache[7] || (_cache[7] = ($event) => vue.unref(values).showAttendanceType = $event),
|
|
15047
|
+
label: "Tampilkan",
|
|
15048
|
+
class: "mt-2"
|
|
15049
|
+
}, null, 8, ["modelValue"])
|
|
15050
|
+
]),
|
|
15051
|
+
_: 1
|
|
15052
|
+
/* STABLE */
|
|
15053
|
+
}, 16, ["modelValue"]),
|
|
15054
|
+
vue.createVNode(vue.unref(form.NeonField), vue.mergeProps({
|
|
15055
|
+
modelValue: vue.unref(values).description,
|
|
15056
|
+
"onUpdate:modelValue": _cache[9] || (_cache[9] = ($event) => vue.unref(values).description = $event)
|
|
15057
|
+
}, vue.unref(fields).description), null, 16, ["modelValue"])
|
|
15058
|
+
]),
|
|
15059
|
+
_: 1
|
|
15060
|
+
/* STABLE */
|
|
15061
|
+
}, 8, ["initial-values", "is-loading", "is-changed", "onCancel"])
|
|
15062
|
+
]),
|
|
15063
|
+
_: 1
|
|
15064
|
+
/* STABLE */
|
|
15065
|
+
})
|
|
15066
|
+
]),
|
|
15067
|
+
_: 1
|
|
15068
|
+
/* STABLE */
|
|
15069
|
+
}, 8, ["use-url"])
|
|
15070
|
+
]),
|
|
15071
|
+
_: 1
|
|
15072
|
+
/* STABLE */
|
|
15073
|
+
});
|
|
15074
|
+
};
|
|
15075
|
+
}
|
|
15076
|
+
});
|
|
15077
|
+
const AttendanceTypeSingle = /* @__PURE__ */ _export_sfc$1(_sfc_main$1b, [["__scopeId", "data-v-776e6c14"]]);
|
|
14937
15078
|
const _withScopeId$3 = (n) => (vue.pushScopeId("data-v-802b3ded"), n = n(), vue.popScopeId(), n);
|
|
14938
15079
|
const _hoisted_1$s = { id: "view-checkIns" };
|
|
14939
15080
|
const _hoisted_2$j = { class: "summary" };
|
|
@@ -25923,7 +26064,7 @@ const _sfc_main$5 = /* @__PURE__ */ vue.defineComponent({
|
|
|
25923
26064
|
vue.createElementVNode("div", _hoisted_6$1, [
|
|
25924
26065
|
vue.createVNode(vue.unref(office$1.OfficeCollectionQuery), { displays: __props.displays }, {
|
|
25925
26066
|
default: vue.withCtx(() => [
|
|
25926
|
-
vue.unref(permit).isAny(["neu:shiftCabang", "neu:admin"]) ? (vue.openBlock(), vue.createBlock(vue.unref(_sfc_main$
|
|
26067
|
+
vue.unref(permit).isAny(["neu:shiftCabang", "neu:admin"]) ? (vue.openBlock(), vue.createBlock(vue.unref(_sfc_main$1j), { key: 0 })) : vue.createCommentVNode("v-if", true),
|
|
25927
26068
|
vue.createVNode(vue.unref(office$1.OfficeCollectionOperation), {
|
|
25928
26069
|
"is-main": "",
|
|
25929
26070
|
path: __props.path
|
|
@@ -26497,12 +26638,14 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
|
|
|
26497
26638
|
const ShiftStaffImport = /* @__PURE__ */ _export_sfc$1(_sfc_main, [["__scopeId", "data-v-818a1e6a"]]);
|
|
26498
26639
|
const all = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
|
|
26499
26640
|
__proto__: null,
|
|
26500
|
-
AttendanceCollection: _sfc_main$
|
|
26641
|
+
AttendanceCollection: _sfc_main$1i,
|
|
26501
26642
|
AttendanceDelegate,
|
|
26502
26643
|
AttendanceManager,
|
|
26503
26644
|
AttendanceSingle,
|
|
26504
26645
|
AttendanceStaff,
|
|
26505
26646
|
AttendanceSupervisor,
|
|
26647
|
+
AttendanceTypeCollection: _sfc_main$1c,
|
|
26648
|
+
AttendanceTypeSingle,
|
|
26506
26649
|
CheckInAccess,
|
|
26507
26650
|
CheckInCollection: _sfc_main$13,
|
|
26508
26651
|
CheckInExternal,
|
|
@@ -26514,7 +26657,7 @@ const all = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty(
|
|
|
26514
26657
|
CheckInSupervisor,
|
|
26515
26658
|
NOperasional: operasional_types,
|
|
26516
26659
|
NeonTime,
|
|
26517
|
-
NeutronImportButton: _sfc_main$
|
|
26660
|
+
NeutronImportButton: _sfc_main$1j,
|
|
26518
26661
|
OfficeSingleSync,
|
|
26519
26662
|
OperasionalIdentitas,
|
|
26520
26663
|
PeriodButton,
|
|
@@ -26602,6 +26745,9 @@ const config = helpers.OfficeInterfaces.define({
|
|
|
26602
26745
|
"AttendanceManager",
|
|
26603
26746
|
"AttendanceSupervisor",
|
|
26604
26747
|
"AttendanceDelegate",
|
|
26748
|
+
// Attendance Type
|
|
26749
|
+
"AttendanceTypeCollection",
|
|
26750
|
+
"AttendanceTypeSingle",
|
|
26605
26751
|
// Check In
|
|
26606
26752
|
"CheckInCollection",
|
|
26607
26753
|
"CheckInSingle",
|
package/build/mock/index.mjs
CHANGED
|
@@ -3,8 +3,8 @@ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { en
|
|
|
3
3
|
var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
|
|
4
4
|
import { NeonEditorPlugin } from "@neon.id/editor";
|
|
5
5
|
import { NeonFieldPlugin } from "@neon.id/field";
|
|
6
|
-
import { NeonField, NeonForm,
|
|
7
|
-
import { NeonAvatar, NeonDivider, NeonModal, NeonSheet, useToastStore, NeonButton, NeonAlert, NeonSlider, NeonSlide, NeonStat, NeonInfo, NeonCopy, NeonPart, registerDirectives, registerIconComponents } from "@neon.id/interfaces";
|
|
6
|
+
import { NeonField, NeonForm, NeonCheck, NeonFields, NeonFormPlugin } from "@neon.id/form";
|
|
7
|
+
import { NeonAvatar, NeonDivider, NeonModal, NeonSheet, useToastStore, NeonButton, NeonAlert, useToast, NeonSlider, NeonSlide, NeonStat, NeonInfo, NeonCopy, NeonPart, registerDirectives, registerIconComponents } from "@neon.id/interfaces";
|
|
8
8
|
import { OfficeCollectionTable, OfficeCollectionCalendar, OfficeTabs, OfficeTab, OfficeRelation, OfficeContent, OfficePeekSingle, OfficeCollectionQuery, OfficeCollectionOperation, OfficeCollectionRelated, OfficeCollectionContent, NeonOfficePlugin } from "@neon.id/office";
|
|
9
9
|
import { withRelation, NeonRelationSheet, NeonRelationPlugin } from "@neon.id/relation";
|
|
10
10
|
import { defineComponent, ref, computed, h, watch, resolveComponent, openBlock, createElementBlock, createVNode, withCtx, createBlock, unref, mergeProps, createCommentVNode, reactive, onMounted, onUnmounted, toRefs, inject, watchEffect, provide, nextTick, resolveDynamicComponent, normalizeProps, renderSlot, normalizeClass, createElementVNode, toDisplayString, Fragment, renderList, normalizeStyle, withKeys, withDirectives, toRef, guardReactiveProps, createTextVNode, isRef, Transition, resolveDirective, toHandlers, withModifiers, pushScopeId, popScopeId, onBeforeUnmount, vShow } from "vue";
|
|
@@ -1496,7 +1496,7 @@ const _hoisted_2$q = {
|
|
|
1496
1496
|
key: 2,
|
|
1497
1497
|
class: "section"
|
|
1498
1498
|
};
|
|
1499
|
-
const _sfc_main$
|
|
1499
|
+
const _sfc_main$1o = /* @__PURE__ */ defineComponent({
|
|
1500
1500
|
...{ name: "OperasionalIdentitas" },
|
|
1501
1501
|
__name: "OperasionalIdentitas",
|
|
1502
1502
|
props: {
|
|
@@ -1857,7 +1857,7 @@ const _export_sfc$1 = (sfc, props) => {
|
|
|
1857
1857
|
}
|
|
1858
1858
|
return target;
|
|
1859
1859
|
};
|
|
1860
|
-
const OperasionalIdentitas = /* @__PURE__ */ _export_sfc$1(_sfc_main$
|
|
1860
|
+
const OperasionalIdentitas = /* @__PURE__ */ _export_sfc$1(_sfc_main$1o, [["__scopeId", "data-v-0befc683"]]);
|
|
1861
1861
|
var top = "top";
|
|
1862
1862
|
var bottom = "bottom";
|
|
1863
1863
|
var right = "right";
|
|
@@ -11415,7 +11415,7 @@ const _sfc_main$1$1 = /* @__PURE__ */ defineComponent({
|
|
|
11415
11415
|
};
|
|
11416
11416
|
}
|
|
11417
11417
|
});
|
|
11418
|
-
const _sfc_main$
|
|
11418
|
+
const _sfc_main$1n = defineComponent({
|
|
11419
11419
|
inheritAttrs: false,
|
|
11420
11420
|
emits,
|
|
11421
11421
|
props: propsDef,
|
|
@@ -11434,7 +11434,7 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
11434
11434
|
createVNode(_component_DatePickerPopover, normalizeProps(guardReactiveProps(_ctx.$attrs)), null, 16)
|
|
11435
11435
|
], 64)) : (openBlock(), createBlock(_component_DatePickerBase, normalizeProps(mergeProps({ key: 1 }, _ctx.$attrs)), null, 16));
|
|
11436
11436
|
}
|
|
11437
|
-
const DatePicker = /* @__PURE__ */ _export_sfc(_sfc_main$
|
|
11437
|
+
const DatePicker = /* @__PURE__ */ _export_sfc(_sfc_main$1n, [["render", _sfc_render]]);
|
|
11438
11438
|
dayjs.extend(durationPlugin);
|
|
11439
11439
|
dayjs.extend(relativeTimePlugin);
|
|
11440
11440
|
dayjs.extend(advancedFormat);
|
|
@@ -11462,7 +11462,7 @@ const _hoisted_2$o = /* @__PURE__ */ _withScopeId$4(() => /* @__PURE__ */ create
|
|
|
11462
11462
|
const _hoisted_3$f = [
|
|
11463
11463
|
_hoisted_2$o
|
|
11464
11464
|
];
|
|
11465
|
-
const _sfc_main$
|
|
11465
|
+
const _sfc_main$1m = /* @__PURE__ */ defineComponent({
|
|
11466
11466
|
__name: "NeonTime",
|
|
11467
11467
|
props: {
|
|
11468
11468
|
modelValue: {
|
|
@@ -11521,7 +11521,7 @@ const _sfc_main$1k = /* @__PURE__ */ defineComponent({
|
|
|
11521
11521
|
};
|
|
11522
11522
|
}
|
|
11523
11523
|
});
|
|
11524
|
-
const NeonTime = /* @__PURE__ */ _export_sfc$1(_sfc_main$
|
|
11524
|
+
const NeonTime = /* @__PURE__ */ _export_sfc$1(_sfc_main$1m, [["__scopeId", "data-v-af42e627"]]);
|
|
11525
11525
|
const useAttendanceStore = defineStore("neu:personalia:attendance", {
|
|
11526
11526
|
state: () => ({
|
|
11527
11527
|
isEntering: false,
|
|
@@ -12945,7 +12945,7 @@ const _hoisted_1$z = {
|
|
|
12945
12945
|
key: 0,
|
|
12946
12946
|
class: "office-single-sync"
|
|
12947
12947
|
};
|
|
12948
|
-
const _sfc_main$
|
|
12948
|
+
const _sfc_main$1l = /* @__PURE__ */ defineComponent({
|
|
12949
12949
|
...{ name: "OfficeSingleSync" },
|
|
12950
12950
|
__name: "OfficeSingleSync",
|
|
12951
12951
|
setup(__props) {
|
|
@@ -12985,9 +12985,9 @@ const _sfc_main$1j = /* @__PURE__ */ defineComponent({
|
|
|
12985
12985
|
};
|
|
12986
12986
|
}
|
|
12987
12987
|
});
|
|
12988
|
-
const OfficeSingleSync = /* @__PURE__ */ _export_sfc$1(_sfc_main$
|
|
12988
|
+
const OfficeSingleSync = /* @__PURE__ */ _export_sfc$1(_sfc_main$1l, [["__scopeId", "data-v-3dbc6c7d"]]);
|
|
12989
12989
|
const _hoisted_1$y = { class: "period-button" };
|
|
12990
|
-
const _sfc_main$
|
|
12990
|
+
const _sfc_main$1k = /* @__PURE__ */ defineComponent({
|
|
12991
12991
|
...{ name: "PeriodButton" },
|
|
12992
12992
|
__name: "PeriodButton",
|
|
12993
12993
|
emits: ["update:period", "update:date", "sync"],
|
|
@@ -13035,9 +13035,9 @@ const _sfc_main$1i = /* @__PURE__ */ defineComponent({
|
|
|
13035
13035
|
};
|
|
13036
13036
|
}
|
|
13037
13037
|
});
|
|
13038
|
-
const PeriodButton = /* @__PURE__ */ _export_sfc$1(_sfc_main$
|
|
13038
|
+
const PeriodButton = /* @__PURE__ */ _export_sfc$1(_sfc_main$1k, [["__scopeId", "data-v-5f2c3308"]]);
|
|
13039
13039
|
const _hoisted_1$x = { id: "grading-actions" };
|
|
13040
|
-
const _sfc_main$
|
|
13040
|
+
const _sfc_main$1j = /* @__PURE__ */ defineComponent({
|
|
13041
13041
|
...{ name: "NeutronImportButton" },
|
|
13042
13042
|
__name: "NeutronImportButton",
|
|
13043
13043
|
setup(__props) {
|
|
@@ -13064,7 +13064,7 @@ const _sfc_main$1h = /* @__PURE__ */ defineComponent({
|
|
|
13064
13064
|
};
|
|
13065
13065
|
}
|
|
13066
13066
|
});
|
|
13067
|
-
const _sfc_main$
|
|
13067
|
+
const _sfc_main$1i = /* @__PURE__ */ defineComponent({
|
|
13068
13068
|
...{ name: "AttendanceCollection" },
|
|
13069
13069
|
__name: "AttendanceCollection",
|
|
13070
13070
|
props: {
|
|
@@ -13117,7 +13117,7 @@ const _sfc_main$1g = /* @__PURE__ */ defineComponent({
|
|
|
13117
13117
|
});
|
|
13118
13118
|
const _hoisted_1$w = { class: "grid gap-2 sm:grid-cols-2" };
|
|
13119
13119
|
const _hoisted_2$n = { class: "text-right text-fg-subdued text-sm" };
|
|
13120
|
-
const _sfc_main$
|
|
13120
|
+
const _sfc_main$1h = /* @__PURE__ */ defineComponent({
|
|
13121
13121
|
__name: "AttendanceSingle",
|
|
13122
13122
|
setup(__props) {
|
|
13123
13123
|
const {
|
|
@@ -13196,10 +13196,11 @@ const _sfc_main$1f = /* @__PURE__ */ defineComponent({
|
|
|
13196
13196
|
note: "Tanggal absensi."
|
|
13197
13197
|
}
|
|
13198
13198
|
}, { "onUpdate:modelValue": onStartedAtUpdate }), null, 16, ["model-value"])),
|
|
13199
|
-
createVNode(unref(
|
|
13200
|
-
modelValue: unref(values)
|
|
13201
|
-
"onUpdate:modelValue": _cache[2] || (_cache[2] = ($event) =>
|
|
13202
|
-
|
|
13199
|
+
createVNode(unref(OfficeRelation), {
|
|
13200
|
+
modelValue: unref(values),
|
|
13201
|
+
"onUpdate:modelValue": _cache[2] || (_cache[2] = ($event) => isRef(values) ? values.value = $event : null),
|
|
13202
|
+
field: unref(fields).type
|
|
13203
|
+
}, null, 8, ["modelValue", "field"]),
|
|
13203
13204
|
createVNode(unref(OfficeRelation), {
|
|
13204
13205
|
modelValue: unref(values),
|
|
13205
13206
|
"onUpdate:modelValue": _cache[3] || (_cache[3] = ($event) => isRef(values) ? values.value = $event : null),
|
|
@@ -13294,7 +13295,7 @@ const _sfc_main$1f = /* @__PURE__ */ defineComponent({
|
|
|
13294
13295
|
};
|
|
13295
13296
|
}
|
|
13296
13297
|
});
|
|
13297
|
-
const AttendanceSingle = /* @__PURE__ */ _export_sfc$1(_sfc_main$
|
|
13298
|
+
const AttendanceSingle = /* @__PURE__ */ _export_sfc$1(_sfc_main$1h, [["__scopeId", "data-v-0f0e0119"]]);
|
|
13298
13299
|
const _hoisted_1$v = { class: "flex flex-wrap" };
|
|
13299
13300
|
const _hoisted_2$m = { class: "mt-2" };
|
|
13300
13301
|
const _hoisted_3$e = { class: "mt-2" };
|
|
@@ -13313,7 +13314,7 @@ const _hoisted_8$9 = {
|
|
|
13313
13314
|
class: "grid gap-2 sm:grid-cols-2"
|
|
13314
13315
|
};
|
|
13315
13316
|
const _hoisted_9$9 = { class: "text-right text-fg-subdued text-sm" };
|
|
13316
|
-
const _sfc_main$
|
|
13317
|
+
const _sfc_main$1g = /* @__PURE__ */ defineComponent({
|
|
13317
13318
|
__name: "AttendanceManager",
|
|
13318
13319
|
setup(__props) {
|
|
13319
13320
|
var _a;
|
|
@@ -13479,7 +13480,7 @@ const _sfc_main$1e = /* @__PURE__ */ defineComponent({
|
|
|
13479
13480
|
field: unref(fields).decideStaff,
|
|
13480
13481
|
"is-disabled": unref(values).status == "approved" || unref(values).status == "rejected"
|
|
13481
13482
|
}, null, 8, ["modelValue", "field", "is-disabled"]),
|
|
13482
|
-
unref(values).type
|
|
13483
|
+
unref(values).type === "leave" ? (openBlock(), createBlock(unref(OfficeRelation), {
|
|
13483
13484
|
key: 0,
|
|
13484
13485
|
modelValue: unref(values),
|
|
13485
13486
|
"onUpdate:modelValue": _cache[3] || (_cache[3] = ($event) => isRef(values) ? values.value = $event : null),
|
|
@@ -13496,7 +13497,7 @@ const _sfc_main$1e = /* @__PURE__ */ defineComponent({
|
|
|
13496
13497
|
"is-dashed": "",
|
|
13497
13498
|
label: "Keterangan"
|
|
13498
13499
|
})) : createCommentVNode("v-if", true),
|
|
13499
|
-
unref(values).type
|
|
13500
|
+
unref(values).type === "dayOff" || unref(values).type === "sick" || unref(values).type === "permission" || unref(values).type === "leave" ? (openBlock(), createBlock(unref(NeonField), mergeProps({
|
|
13500
13501
|
key: 3,
|
|
13501
13502
|
modelValue: unref(values).submittedAt,
|
|
13502
13503
|
"onUpdate:modelValue": _cache[5] || (_cache[5] = ($event) => unref(values).submittedAt = $event)
|
|
@@ -13676,7 +13677,7 @@ const _sfc_main$1e = /* @__PURE__ */ defineComponent({
|
|
|
13676
13677
|
};
|
|
13677
13678
|
}
|
|
13678
13679
|
});
|
|
13679
|
-
const AttendanceManager = /* @__PURE__ */ _export_sfc$1(_sfc_main$
|
|
13680
|
+
const AttendanceManager = /* @__PURE__ */ _export_sfc$1(_sfc_main$1g, [["__scopeId", "data-v-2957df27"]]);
|
|
13680
13681
|
const _hoisted_1$u = {
|
|
13681
13682
|
key: 1,
|
|
13682
13683
|
class: "flex flex-wrap"
|
|
@@ -13699,7 +13700,7 @@ const _hoisted_9$8 = {
|
|
|
13699
13700
|
class: "grid gap-2 sm:grid-cols-2"
|
|
13700
13701
|
};
|
|
13701
13702
|
const _hoisted_10$8 = { class: "text-right text-fg-subdued text-sm" };
|
|
13702
|
-
const _sfc_main$
|
|
13703
|
+
const _sfc_main$1f = /* @__PURE__ */ defineComponent({
|
|
13703
13704
|
__name: "AttendanceStaff",
|
|
13704
13705
|
setup(__props) {
|
|
13705
13706
|
var _a;
|
|
@@ -14233,7 +14234,7 @@ const _sfc_main$1d = /* @__PURE__ */ defineComponent({
|
|
|
14233
14234
|
};
|
|
14234
14235
|
}
|
|
14235
14236
|
});
|
|
14236
|
-
const AttendanceStaff = /* @__PURE__ */ _export_sfc$1(_sfc_main$
|
|
14237
|
+
const AttendanceStaff = /* @__PURE__ */ _export_sfc$1(_sfc_main$1f, [["__scopeId", "data-v-d413adf3"]]);
|
|
14237
14238
|
const _hoisted_1$t = { class: "flex flex-wrap" };
|
|
14238
14239
|
const _hoisted_2$k = { class: "mt-2" };
|
|
14239
14240
|
const _hoisted_3$c = { class: "mt-2" };
|
|
@@ -14254,7 +14255,7 @@ const _hoisted_10$7 = {
|
|
|
14254
14255
|
class: "grid gap-2 sm:grid-cols-2"
|
|
14255
14256
|
};
|
|
14256
14257
|
const _hoisted_11$7 = { class: "text-right text-fg-subdued text-sm" };
|
|
14257
|
-
const _sfc_main$
|
|
14258
|
+
const _sfc_main$1e = /* @__PURE__ */ defineComponent({
|
|
14258
14259
|
__name: "AttendanceSupervisor",
|
|
14259
14260
|
setup(__props) {
|
|
14260
14261
|
var _a;
|
|
@@ -14751,8 +14752,8 @@ const _sfc_main$1c = /* @__PURE__ */ defineComponent({
|
|
|
14751
14752
|
};
|
|
14752
14753
|
}
|
|
14753
14754
|
});
|
|
14754
|
-
const AttendanceSupervisor = /* @__PURE__ */ _export_sfc$1(_sfc_main$
|
|
14755
|
-
const _sfc_main$
|
|
14755
|
+
const AttendanceSupervisor = /* @__PURE__ */ _export_sfc$1(_sfc_main$1e, [["__scopeId", "data-v-07766872"]]);
|
|
14756
|
+
const _sfc_main$1d = /* @__PURE__ */ defineComponent({
|
|
14756
14757
|
__name: "AttendanceDelegate",
|
|
14757
14758
|
setup(__props) {
|
|
14758
14759
|
var _a;
|
|
@@ -14914,7 +14915,147 @@ const _sfc_main$1b = /* @__PURE__ */ defineComponent({
|
|
|
14914
14915
|
};
|
|
14915
14916
|
}
|
|
14916
14917
|
});
|
|
14917
|
-
const AttendanceDelegate = /* @__PURE__ */ _export_sfc$1(_sfc_main$
|
|
14918
|
+
const AttendanceDelegate = /* @__PURE__ */ _export_sfc$1(_sfc_main$1d, [["__scopeId", "data-v-538fa6fb"]]);
|
|
14919
|
+
const _sfc_main$1c = /* @__PURE__ */ defineComponent({
|
|
14920
|
+
...{ name: "AttendanceTypeCollection" },
|
|
14921
|
+
__name: "AttendanceTypeCollection",
|
|
14922
|
+
setup(__props) {
|
|
14923
|
+
useCollection();
|
|
14924
|
+
return (_ctx, _cache) => {
|
|
14925
|
+
return openBlock(), createBlock(unref(NeonCollection), { class: "neu-attendance-type-collection" }, {
|
|
14926
|
+
default: withCtx(() => [
|
|
14927
|
+
createVNode(unref(OfficeCollectionTable))
|
|
14928
|
+
]),
|
|
14929
|
+
_: 1
|
|
14930
|
+
/* STABLE */
|
|
14931
|
+
});
|
|
14932
|
+
};
|
|
14933
|
+
}
|
|
14934
|
+
});
|
|
14935
|
+
const _sfc_main$1b = /* @__PURE__ */ defineComponent({
|
|
14936
|
+
__name: "AttendanceTypeSingle",
|
|
14937
|
+
setup(__props) {
|
|
14938
|
+
const {
|
|
14939
|
+
fields,
|
|
14940
|
+
initialValues,
|
|
14941
|
+
values,
|
|
14942
|
+
isLoading,
|
|
14943
|
+
isChanged,
|
|
14944
|
+
isMain,
|
|
14945
|
+
saveOne,
|
|
14946
|
+
discardChanges
|
|
14947
|
+
} = useSingle();
|
|
14948
|
+
const toast = useToast();
|
|
14949
|
+
async function saveCheck() {
|
|
14950
|
+
if (values.value.code === "") {
|
|
14951
|
+
toast.push({
|
|
14952
|
+
id: "neu:attendance-type:code",
|
|
14953
|
+
icon: "warning",
|
|
14954
|
+
content: "Kode dari Tipe Absensi belum diisi!",
|
|
14955
|
+
color: "danger",
|
|
14956
|
+
placement: "bottom-right"
|
|
14957
|
+
});
|
|
14958
|
+
return;
|
|
14959
|
+
} else if (values.value.name !== "") {
|
|
14960
|
+
await saveOne();
|
|
14961
|
+
}
|
|
14962
|
+
}
|
|
14963
|
+
return (_ctx, _cache) => {
|
|
14964
|
+
return openBlock(), createBlock(unref(NeonSingle), { class: "neu-attendance-type-single" }, {
|
|
14965
|
+
default: withCtx(() => [
|
|
14966
|
+
createVNode(unref(OfficeTabs), { "use-url": unref(isMain) }, {
|
|
14967
|
+
default: withCtx(() => [
|
|
14968
|
+
createVNode(unref(OfficeTab), {
|
|
14969
|
+
handle: "info",
|
|
14970
|
+
icon: "circle-info",
|
|
14971
|
+
title: "Info"
|
|
14972
|
+
}, {
|
|
14973
|
+
default: withCtx(() => [
|
|
14974
|
+
createVNode(unref(NeonForm), {
|
|
14975
|
+
handle: "info",
|
|
14976
|
+
"initial-values": unref(initialValues),
|
|
14977
|
+
"is-loading": unref(isLoading),
|
|
14978
|
+
"is-changed": unref(isChanged),
|
|
14979
|
+
"use-unsaved": "",
|
|
14980
|
+
onCancel: unref(discardChanges),
|
|
14981
|
+
onSubmit: saveCheck
|
|
14982
|
+
}, {
|
|
14983
|
+
default: withCtx(() => [
|
|
14984
|
+
createVNode(unref(NeonField), mergeProps({
|
|
14985
|
+
modelValue: unref(values).name,
|
|
14986
|
+
"onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => unref(values).name = $event)
|
|
14987
|
+
}, unref(fields).name), null, 16, ["modelValue"]),
|
|
14988
|
+
createVNode(unref(NeonField), mergeProps({
|
|
14989
|
+
modelValue: unref(values).code,
|
|
14990
|
+
"onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => unref(values).code = $event)
|
|
14991
|
+
}, unref(fields).code), null, 16, ["modelValue"]),
|
|
14992
|
+
createVNode(unref(NeonField), mergeProps({
|
|
14993
|
+
modelValue: unref(values).leaveQuota,
|
|
14994
|
+
"onUpdate:modelValue": _cache[2] || (_cache[2] = ($event) => unref(values).leaveQuota = $event)
|
|
14995
|
+
}, unref(fields).leaveQuota), null, 16, ["modelValue"]),
|
|
14996
|
+
createVNode(unref(OfficeRelation), {
|
|
14997
|
+
modelValue: unref(values),
|
|
14998
|
+
"onUpdate:modelValue": _cache[3] || (_cache[3] = ($event) => isRef(values) ? values.value = $event : null),
|
|
14999
|
+
field: unref(fields).branches
|
|
15000
|
+
}, null, 8, ["modelValue", "field"]),
|
|
15001
|
+
createVNode(unref(NeonField), mergeProps({
|
|
15002
|
+
modelValue: unref(values).maxDurationDays,
|
|
15003
|
+
"onUpdate:modelValue": _cache[4] || (_cache[4] = ($event) => unref(values).maxDurationDays = $event)
|
|
15004
|
+
}, unref(fields).maxDurationDays), null, 16, ["modelValue"]),
|
|
15005
|
+
createVNode(unref(NeonField), mergeProps({
|
|
15006
|
+
modelValue: unref(values).showLeaveQuota,
|
|
15007
|
+
"onUpdate:modelValue": _cache[6] || (_cache[6] = ($event) => unref(values).showLeaveQuota = $event)
|
|
15008
|
+
}, unref(fields).showLeaveQuota), {
|
|
15009
|
+
input: withCtx(() => [
|
|
15010
|
+
createVNode(unref(NeonCheck), {
|
|
15011
|
+
modelValue: unref(values).showLeaveQuota,
|
|
15012
|
+
"onUpdate:modelValue": _cache[5] || (_cache[5] = ($event) => unref(values).showLeaveQuota = $event),
|
|
15013
|
+
label: "Tampilkan",
|
|
15014
|
+
class: "mt-2"
|
|
15015
|
+
}, null, 8, ["modelValue"])
|
|
15016
|
+
]),
|
|
15017
|
+
_: 1
|
|
15018
|
+
/* STABLE */
|
|
15019
|
+
}, 16, ["modelValue"]),
|
|
15020
|
+
createVNode(unref(NeonField), mergeProps({
|
|
15021
|
+
modelValue: unref(values).showAttendanceType,
|
|
15022
|
+
"onUpdate:modelValue": _cache[8] || (_cache[8] = ($event) => unref(values).showAttendanceType = $event)
|
|
15023
|
+
}, unref(fields).showAttendanceType), {
|
|
15024
|
+
input: withCtx(() => [
|
|
15025
|
+
createVNode(unref(NeonCheck), {
|
|
15026
|
+
modelValue: unref(values).showAttendanceType,
|
|
15027
|
+
"onUpdate:modelValue": _cache[7] || (_cache[7] = ($event) => unref(values).showAttendanceType = $event),
|
|
15028
|
+
label: "Tampilkan",
|
|
15029
|
+
class: "mt-2"
|
|
15030
|
+
}, null, 8, ["modelValue"])
|
|
15031
|
+
]),
|
|
15032
|
+
_: 1
|
|
15033
|
+
/* STABLE */
|
|
15034
|
+
}, 16, ["modelValue"]),
|
|
15035
|
+
createVNode(unref(NeonField), mergeProps({
|
|
15036
|
+
modelValue: unref(values).description,
|
|
15037
|
+
"onUpdate:modelValue": _cache[9] || (_cache[9] = ($event) => unref(values).description = $event)
|
|
15038
|
+
}, unref(fields).description), null, 16, ["modelValue"])
|
|
15039
|
+
]),
|
|
15040
|
+
_: 1
|
|
15041
|
+
/* STABLE */
|
|
15042
|
+
}, 8, ["initial-values", "is-loading", "is-changed", "onCancel"])
|
|
15043
|
+
]),
|
|
15044
|
+
_: 1
|
|
15045
|
+
/* STABLE */
|
|
15046
|
+
})
|
|
15047
|
+
]),
|
|
15048
|
+
_: 1
|
|
15049
|
+
/* STABLE */
|
|
15050
|
+
}, 8, ["use-url"])
|
|
15051
|
+
]),
|
|
15052
|
+
_: 1
|
|
15053
|
+
/* STABLE */
|
|
15054
|
+
});
|
|
15055
|
+
};
|
|
15056
|
+
}
|
|
15057
|
+
});
|
|
15058
|
+
const AttendanceTypeSingle = /* @__PURE__ */ _export_sfc$1(_sfc_main$1b, [["__scopeId", "data-v-776e6c14"]]);
|
|
14918
15059
|
const _withScopeId$3 = (n) => (pushScopeId("data-v-802b3ded"), n = n(), popScopeId(), n);
|
|
14919
15060
|
const _hoisted_1$s = { id: "view-checkIns" };
|
|
14920
15061
|
const _hoisted_2$j = { class: "summary" };
|
|
@@ -25904,7 +26045,7 @@ const _sfc_main$5 = /* @__PURE__ */ defineComponent({
|
|
|
25904
26045
|
createElementVNode("div", _hoisted_6$1, [
|
|
25905
26046
|
createVNode(unref(OfficeCollectionQuery), { displays: __props.displays }, {
|
|
25906
26047
|
default: withCtx(() => [
|
|
25907
|
-
unref(permit).isAny(["neu:shiftCabang", "neu:admin"]) ? (openBlock(), createBlock(unref(_sfc_main$
|
|
26048
|
+
unref(permit).isAny(["neu:shiftCabang", "neu:admin"]) ? (openBlock(), createBlock(unref(_sfc_main$1j), { key: 0 })) : createCommentVNode("v-if", true),
|
|
25908
26049
|
createVNode(unref(OfficeCollectionOperation), {
|
|
25909
26050
|
"is-main": "",
|
|
25910
26051
|
path: __props.path
|
|
@@ -26478,12 +26619,14 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
26478
26619
|
const ShiftStaffImport = /* @__PURE__ */ _export_sfc$1(_sfc_main, [["__scopeId", "data-v-818a1e6a"]]);
|
|
26479
26620
|
const all = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
|
|
26480
26621
|
__proto__: null,
|
|
26481
|
-
AttendanceCollection: _sfc_main$
|
|
26622
|
+
AttendanceCollection: _sfc_main$1i,
|
|
26482
26623
|
AttendanceDelegate,
|
|
26483
26624
|
AttendanceManager,
|
|
26484
26625
|
AttendanceSingle,
|
|
26485
26626
|
AttendanceStaff,
|
|
26486
26627
|
AttendanceSupervisor,
|
|
26628
|
+
AttendanceTypeCollection: _sfc_main$1c,
|
|
26629
|
+
AttendanceTypeSingle,
|
|
26487
26630
|
CheckInAccess,
|
|
26488
26631
|
CheckInCollection: _sfc_main$13,
|
|
26489
26632
|
CheckInExternal,
|
|
@@ -26495,7 +26638,7 @@ const all = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty(
|
|
|
26495
26638
|
CheckInSupervisor,
|
|
26496
26639
|
NOperasional: operasional_types,
|
|
26497
26640
|
NeonTime,
|
|
26498
|
-
NeutronImportButton: _sfc_main$
|
|
26641
|
+
NeutronImportButton: _sfc_main$1j,
|
|
26499
26642
|
OfficeSingleSync,
|
|
26500
26643
|
OperasionalIdentitas,
|
|
26501
26644
|
PeriodButton,
|
|
@@ -26583,6 +26726,9 @@ const config = OfficeInterfaces.define({
|
|
|
26583
26726
|
"AttendanceManager",
|
|
26584
26727
|
"AttendanceSupervisor",
|
|
26585
26728
|
"AttendanceDelegate",
|
|
26729
|
+
// Attendance Type
|
|
26730
|
+
"AttendanceTypeCollection",
|
|
26731
|
+
"AttendanceTypeSingle",
|
|
26586
26732
|
// Check In
|
|
26587
26733
|
"CheckInCollection",
|
|
26588
26734
|
"CheckInSingle",
|
package/build/mock/style.css
CHANGED
|
@@ -97,11 +97,11 @@
|
|
|
97
97
|
gap: 0.5rem
|
|
98
98
|
}
|
|
99
99
|
|
|
100
|
-
.neu-attendance-single[data-v-
|
|
100
|
+
.neu-attendance-single[data-v-0f0e0119] {
|
|
101
101
|
display: block
|
|
102
102
|
}
|
|
103
103
|
|
|
104
|
-
.neu-attendance-single[data-v-
|
|
104
|
+
.neu-attendance-single[data-v-2957df27] {
|
|
105
105
|
display: block
|
|
106
106
|
}
|
|
107
107
|
|
|
@@ -117,6 +117,10 @@
|
|
|
117
117
|
display: block
|
|
118
118
|
}
|
|
119
119
|
|
|
120
|
+
.neu-AttendanceType-single[data-v-776e6c14] {
|
|
121
|
+
display: block
|
|
122
|
+
}
|
|
123
|
+
|
|
120
124
|
#view-checkIns[data-v-802b3ded] {
|
|
121
125
|
|
|
122
126
|
height: 100%
|
package/build/module.json
CHANGED
package/build/nuxt.json
CHANGED
package/build/nuxt.mjs
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@neutron.co.id/operasional-interfaces",
|
|
3
|
-
"version": "1.17.
|
|
3
|
+
"version": "1.17.6",
|
|
4
4
|
"description": "Interface library of Neutron Operasional.",
|
|
5
5
|
"sideEffects": [
|
|
6
6
|
"*.css"
|
|
@@ -78,8 +78,8 @@
|
|
|
78
78
|
"@neon.id/nuxt": "^1.5.0",
|
|
79
79
|
"@neon.id/office": "1.46.0",
|
|
80
80
|
"@neon.id/utils": "^1.51.0",
|
|
81
|
-
"@neutron.co.id/operasional-modules": "1.12.
|
|
82
|
-
"@neutron.co.id/personalia-models": "1.13.
|
|
81
|
+
"@neutron.co.id/operasional-modules": "1.12.15",
|
|
82
|
+
"@neutron.co.id/personalia-models": "1.13.9-beta.1",
|
|
83
83
|
"@nuxt/kit": "^3.12.3",
|
|
84
84
|
"file-saver": "^2.0.5",
|
|
85
85
|
"papaparse": "5.4.1",
|
|
@@ -153,8 +153,8 @@
|
|
|
153
153
|
"@neon.id/nuxt": "^1.5.0",
|
|
154
154
|
"@neon.id/office": "1.46.0",
|
|
155
155
|
"@neon.id/utils": "^1.51.0",
|
|
156
|
-
"@neutron.co.id/operasional-modules": "1.12.
|
|
157
|
-
"@neutron.co.id/personalia-models": "1.13.
|
|
156
|
+
"@neutron.co.id/operasional-modules": "1.12.15",
|
|
157
|
+
"@neutron.co.id/personalia-models": "1.13.9-beta.1",
|
|
158
158
|
"@nuxt/kit": "^3.12.3",
|
|
159
159
|
"file-saver": "^2.0.5",
|
|
160
160
|
"qr-scanner": "^1.4.2",
|
|
@@ -164,5 +164,5 @@
|
|
|
164
164
|
"publishConfig": {
|
|
165
165
|
"access": "public"
|
|
166
166
|
},
|
|
167
|
-
"build":
|
|
167
|
+
"build": 188
|
|
168
168
|
}
|