@neutron.co.id/operasional-interfaces 1.17.6 → 1.17.7
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 +9 -0
- package/build/@office/models/personalia/attendanceType/AttendanceTypeSingle/AttendanceTypeSingle.vue +5 -1
- package/build/@office/models/personalia/index.d.ts +3 -0
- package/build/@office/models/personalia/index.mjs +3 -0
- package/build/@office/models/personalia/leaveConflict/LeaveConflictCollection/LeaveConflictCollection.vue +34 -0
- package/build/@office/models/personalia/leaveConflict/LeaveConflictCollection/index.d.ts +1 -0
- package/build/@office/models/personalia/leaveConflict/LeaveConflictCollection/index.mjs +1 -0
- package/build/@office/models/personalia/leaveConflict/LeaveConflictSingle/LeaveConflictSingle.vue +27 -0
- package/build/@office/models/personalia/leaveConflict/LeaveConflictSingle/index.d.ts +1 -0
- package/build/@office/models/personalia/leaveConflict/LeaveConflictSingle/index.mjs +1 -0
- package/build/@office/models/personalia/leaveConflict/index.d.ts +2 -0
- package/build/@office/models/personalia/leaveConflict/index.mjs +2 -0
- package/build/@office/models/personalia/leaveQuota/LeaveQuotaCollection/LeaveQuotaCollection.vue +24 -0
- package/build/@office/models/personalia/leaveQuota/LeaveQuotaCollection/index.d.ts +1 -0
- package/build/@office/models/personalia/leaveQuota/LeaveQuotaCollection/index.mjs +1 -0
- package/build/@office/models/personalia/leaveQuota/LeaveQuotaSingle/LeaveQuotaSingle.vue +210 -0
- package/build/@office/models/personalia/leaveQuota/LeaveQuotaSingle/index.d.ts +2 -0
- package/build/@office/models/personalia/leaveQuota/LeaveQuotaSingle/index.mjs +2 -0
- package/build/@office/models/personalia/leaveQuota/index.d.ts +2 -0
- package/build/@office/models/personalia/leaveQuota/index.mjs +2 -0
- package/build/@office/models/personalia/leaveStaff/LeaveStaffCollection/LeaveStaffCollection.vue +23 -0
- package/build/@office/models/personalia/leaveStaff/LeaveStaffCollection/index.d.ts +1 -0
- package/build/@office/models/personalia/leaveStaff/LeaveStaffCollection/index.mjs +1 -0
- package/build/@office/models/personalia/leaveStaff/LeaveStaffSingle/LeaveStaffSingle.vue +28 -0
- package/build/@office/models/personalia/leaveStaff/LeaveStaffSingle/index.d.ts +1 -0
- package/build/@office/models/personalia/leaveStaff/LeaveStaffSingle/index.mjs +1 -0
- package/build/@office/models/personalia/leaveStaff/index.d.ts +2 -0
- package/build/@office/models/personalia/leaveStaff/index.mjs +2 -0
- package/build/@package/@office/models/personalia/index.d.ts +3 -0
- package/build/@package/@office/models/personalia/leaveConflict/LeaveConflictCollection/LeaveConflictCollection.vue.d.ts +2 -0
- package/build/@package/@office/models/personalia/leaveConflict/LeaveConflictCollection/index.d.ts +1 -0
- package/build/@package/@office/models/personalia/leaveConflict/LeaveConflictSingle/LeaveConflictSingle.vue.d.ts +2 -0
- package/build/@package/@office/models/personalia/leaveConflict/LeaveConflictSingle/index.d.ts +1 -0
- package/build/@package/@office/models/personalia/leaveConflict/index.d.ts +2 -0
- package/build/@package/@office/models/personalia/leaveQuota/LeaveQuotaCollection/LeaveQuotaCollection.vue.d.ts +2 -0
- package/build/@package/@office/models/personalia/leaveQuota/LeaveQuotaCollection/index.d.ts +1 -0
- package/build/@package/@office/models/personalia/leaveQuota/LeaveQuotaSingle/LeaveQuotaSingle.vue.d.ts +2 -0
- package/build/@package/@office/models/personalia/leaveQuota/LeaveQuotaSingle/index.d.ts +2 -0
- package/build/@package/@office/models/personalia/leaveQuota/index.d.ts +2 -0
- package/build/@package/@office/models/personalia/leaveStaff/LeaveStaffCollection/LeaveStaffCollection.vue.d.ts +2 -0
- package/build/@package/@office/models/personalia/leaveStaff/LeaveStaffCollection/index.d.ts +1 -0
- package/build/@package/@office/models/personalia/leaveStaff/LeaveStaffSingle/LeaveStaffSingle.vue.d.ts +2 -0
- package/build/@package/@office/models/personalia/leaveStaff/LeaveStaffSingle/index.d.ts +1 -0
- package/build/@package/@office/models/personalia/leaveStaff/index.d.ts +2 -0
- package/build/mock/index.cjs +595 -191
- package/build/mock/index.mjs +595 -191
- package/build/mock/style.css +1 -1
- package/build/module.json +1 -1
- package/build/nuxt.json +1 -1
- package/build/nuxt.mjs +9 -0
- package/package.json +6 -6
package/build/@office/config.mjs
CHANGED
|
@@ -16,6 +16,15 @@ export const config = OfficeInterfaces.define({
|
|
|
16
16
|
// Attendance Type
|
|
17
17
|
"AttendanceTypeCollection",
|
|
18
18
|
"AttendanceTypeSingle",
|
|
19
|
+
// Leave Quota
|
|
20
|
+
"LeaveQuotaCollection",
|
|
21
|
+
"LeaveQuotaSingle",
|
|
22
|
+
// Leave Staff
|
|
23
|
+
"LeaveStaffCollection",
|
|
24
|
+
"LeaveStaffSingle",
|
|
25
|
+
// Leave Conflict
|
|
26
|
+
"LeaveConflictCollection",
|
|
27
|
+
"LeaveConflictSingle",
|
|
19
28
|
// Check In
|
|
20
29
|
"CheckInCollection",
|
|
21
30
|
"CheckInSingle",
|
package/build/@office/models/personalia/attendanceType/AttendanceTypeSingle/AttendanceTypeSingle.vue
CHANGED
|
@@ -22,7 +22,11 @@ const {
|
|
|
22
22
|
const toast = useToast()
|
|
23
23
|
|
|
24
24
|
async function saveCheck() {
|
|
25
|
-
if (
|
|
25
|
+
if (
|
|
26
|
+
initialValues.value.code === '' ||
|
|
27
|
+
values.value.code === '' ||
|
|
28
|
+
!values.value.code
|
|
29
|
+
) {
|
|
26
30
|
toast.push({
|
|
27
31
|
id: 'neu:attendance-type:code',
|
|
28
32
|
icon: 'warning',
|
|
@@ -17,3 +17,6 @@ export * from "./task/index.mjs";
|
|
|
17
17
|
export * from "./shift/index.mjs";
|
|
18
18
|
export * from "./shiftType/index.mjs";
|
|
19
19
|
export * from "./shiftStaff/index.mjs";
|
|
20
|
+
export * from "./leaveQuota/index.mjs";
|
|
21
|
+
export * from "./leaveStaff/index.mjs";
|
|
22
|
+
export * from "./leaveConflict/index.mjs";
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
<script setup lang="ts">
|
|
2
|
+
import { NeonCollection, useCollection } from '@neon.id/context'
|
|
3
|
+
import { NeonField } from '@neon.id/form'
|
|
4
|
+
import { OfficeCollectionTable } from '@neon.id/office'
|
|
5
|
+
import {
|
|
6
|
+
type Schema,
|
|
7
|
+
type TPersonaliaLeaveConflictModel,
|
|
8
|
+
} from '@neutron.co.id/personalia-models'
|
|
9
|
+
|
|
10
|
+
defineOptions({ name: 'LeaveConflictCollection' })
|
|
11
|
+
|
|
12
|
+
const { fields } = useCollection<
|
|
13
|
+
Schema.LeaveConflict,
|
|
14
|
+
TPersonaliaLeaveConflictModel
|
|
15
|
+
>()
|
|
16
|
+
</script>
|
|
17
|
+
|
|
18
|
+
<template>
|
|
19
|
+
<NeonCollection class="neu-leave-conflict-collection">
|
|
20
|
+
<OfficeCollectionTable
|
|
21
|
+
:freeze="1"
|
|
22
|
+
:bulk="{ update: 'updateConflict' }"
|
|
23
|
+
use-bulk
|
|
24
|
+
use-select
|
|
25
|
+
size="lg"
|
|
26
|
+
>
|
|
27
|
+
<template #update-form="{ values }">
|
|
28
|
+
<NeonField v-model="values.deleteType" v-bind="fields.deleteType" />
|
|
29
|
+
</template>
|
|
30
|
+
</OfficeCollectionTable>
|
|
31
|
+
</NeonCollection>
|
|
32
|
+
</template>
|
|
33
|
+
|
|
34
|
+
<style scoped></style>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { default as LeaveConflictCollection } from './LeaveConflictCollection.vue';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { default as LeaveConflictCollection } from "./LeaveConflictCollection.vue";
|
package/build/@office/models/personalia/leaveConflict/LeaveConflictSingle/LeaveConflictSingle.vue
ADDED
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
<script setup lang="ts">
|
|
2
|
+
import { OfficeCollectionRelated, OfficeTab } from '@neon.id/office'
|
|
3
|
+
import { Query } from '@neon.id/query'
|
|
4
|
+
import { useSingle } from '@neon.id/context'
|
|
5
|
+
import type {
|
|
6
|
+
Schema,
|
|
7
|
+
TPersonaliaLeaveConflictModel,
|
|
8
|
+
} from '@neutron.co.id/personalia-models'
|
|
9
|
+
|
|
10
|
+
const { fields, values } = useSingle<
|
|
11
|
+
Schema.LeaveConflict,
|
|
12
|
+
TPersonaliaLeaveConflictModel
|
|
13
|
+
>()
|
|
14
|
+
</script>
|
|
15
|
+
|
|
16
|
+
<template>
|
|
17
|
+
<NeonSingle>
|
|
18
|
+
<OfficeTabs>
|
|
19
|
+
<OfficeTab handle="info" icon="circle-info" title="Info">
|
|
20
|
+
<NeonForm handle="info">
|
|
21
|
+
<NeonField v-model="values.staff" v-bind="fields.staff" is-disabled />
|
|
22
|
+
</NeonForm>
|
|
23
|
+
</OfficeTab>
|
|
24
|
+
</OfficeTabs>
|
|
25
|
+
</NeonSingle>
|
|
26
|
+
</template>
|
|
27
|
+
<style></style>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { default as LeaveConflictSingle } from './LeaveConflictSingle.vue';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { default as LeaveConflictSingle } from "./LeaveConflictSingle.vue";
|
package/build/@office/models/personalia/leaveQuota/LeaveQuotaCollection/LeaveQuotaCollection.vue
ADDED
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
<script setup lang="ts">
|
|
2
|
+
import { NeonCollection, useCollection } from '@neon.id/context'
|
|
3
|
+
import { OfficeCollectionTable } from '@neon.id/office'
|
|
4
|
+
import { NeonAlert } from '@neon.id/interfaces'
|
|
5
|
+
import type {
|
|
6
|
+
Schema,
|
|
7
|
+
TPersonaliaLeaveQuotaModel,
|
|
8
|
+
} from '@neutron.co.id/personalia-models'
|
|
9
|
+
|
|
10
|
+
defineOptions({ name: 'LeaveQuotaCollection' })
|
|
11
|
+
|
|
12
|
+
const { userQuery } = useCollection<
|
|
13
|
+
Schema.LeaveQuota,
|
|
14
|
+
TPersonaliaLeaveQuotaModel
|
|
15
|
+
>()
|
|
16
|
+
</script>
|
|
17
|
+
|
|
18
|
+
<template>
|
|
19
|
+
<NeonCollection class="neu-leave-quota-collection">
|
|
20
|
+
<OfficeCollectionTable />
|
|
21
|
+
</NeonCollection>
|
|
22
|
+
</template>
|
|
23
|
+
|
|
24
|
+
<style scoped></style>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { default as LeaveQuotaCollection } from './LeaveQuotaCollection.vue';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { default as LeaveQuotaCollection } from "./LeaveQuotaCollection.vue";
|
|
@@ -0,0 +1,210 @@
|
|
|
1
|
+
<script setup lang="ts">
|
|
2
|
+
import { NeonSingle, useSingle } from '@neon.id/context'
|
|
3
|
+
import {
|
|
4
|
+
OfficeCollectionRelated,
|
|
5
|
+
OfficeRelation,
|
|
6
|
+
OfficeTab,
|
|
7
|
+
OfficeTabs,
|
|
8
|
+
} from '@neon.id/office'
|
|
9
|
+
import {
|
|
10
|
+
type Schema,
|
|
11
|
+
type TPersonaliaLeaveQuotaModel,
|
|
12
|
+
} from '@neutron.co.id/personalia-models'
|
|
13
|
+
import { NeonAlert, useToast, NeonButton } from '@neon.id/interfaces'
|
|
14
|
+
import { NeonField, NeonFields, NeonForm } from '@neon.id/form'
|
|
15
|
+
import { ref } from 'vue'
|
|
16
|
+
import { Query } from '@neon.id/query'
|
|
17
|
+
|
|
18
|
+
const {
|
|
19
|
+
fields,
|
|
20
|
+
initialValues,
|
|
21
|
+
values,
|
|
22
|
+
isLoading,
|
|
23
|
+
isChanged,
|
|
24
|
+
isMain,
|
|
25
|
+
isNew,
|
|
26
|
+
saveOne,
|
|
27
|
+
discardChanges,
|
|
28
|
+
syncOne,
|
|
29
|
+
executeOne,
|
|
30
|
+
} = useSingle<Schema.LeaveQuota, TPersonaliaLeaveQuotaModel>()
|
|
31
|
+
|
|
32
|
+
const toast = useToast()
|
|
33
|
+
const responseState = ref()
|
|
34
|
+
|
|
35
|
+
function getNotified() {
|
|
36
|
+
if (responseState.value === 'leaveStaffGenerated') {
|
|
37
|
+
toast.push({
|
|
38
|
+
id: 'generate:leaveQuota',
|
|
39
|
+
content: 'Successfully generated leave quota.',
|
|
40
|
+
color: 'success',
|
|
41
|
+
})
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
async function generateLeave() {
|
|
46
|
+
const result = await executeOne('generateLeave', {
|
|
47
|
+
nameLeave: values.value.nameLeave,
|
|
48
|
+
nameStaffs: values.value.nameStaffs,
|
|
49
|
+
typeLeave: values.value.typeLeave,
|
|
50
|
+
leaveQuota: values.value.leaveQuota,
|
|
51
|
+
startedAt: values.value.startedAt,
|
|
52
|
+
endedAt: values.value.endedAt,
|
|
53
|
+
branches: values.value.branches,
|
|
54
|
+
conflictResolved: false,
|
|
55
|
+
leaveQuotaId: values.value.id,
|
|
56
|
+
})
|
|
57
|
+
if (result) {
|
|
58
|
+
values.value.hasConflict = result.data.executeLeaveQuota.output.hasConflict
|
|
59
|
+
await syncOne()
|
|
60
|
+
await saveOne()
|
|
61
|
+
}
|
|
62
|
+
getNotified()
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
async function saveCheck() {
|
|
66
|
+
if (values.value.attendanceTypeId == null) {
|
|
67
|
+
toast.push({
|
|
68
|
+
id: 'neu:attendance-type:code',
|
|
69
|
+
icon: 'warning',
|
|
70
|
+
content:
|
|
71
|
+
'Tipe Absensi belum diisi! Silahkan pilih Tipe Absensi terlebih dahulu.',
|
|
72
|
+
color: 'danger',
|
|
73
|
+
placement: 'bottom-right',
|
|
74
|
+
})
|
|
75
|
+
return
|
|
76
|
+
} else {
|
|
77
|
+
await saveOne()
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
</script>
|
|
81
|
+
|
|
82
|
+
<template>
|
|
83
|
+
<NeonSingle>
|
|
84
|
+
<OfficeTabs>
|
|
85
|
+
<OfficeTab handle="info" icon="circle-info" title="Info">
|
|
86
|
+
<NeonForm
|
|
87
|
+
handle="info"
|
|
88
|
+
:initial-values="initialValues"
|
|
89
|
+
:is-loading="isLoading"
|
|
90
|
+
:is-changed="isChanged"
|
|
91
|
+
use-unsaved
|
|
92
|
+
@cancel="discardChanges"
|
|
93
|
+
@submit="saveCheck"
|
|
94
|
+
>
|
|
95
|
+
<NeonAlert
|
|
96
|
+
v-if="values.hasConflict"
|
|
97
|
+
icon="circle-exclamation"
|
|
98
|
+
title="Konflik Karyawan!."
|
|
99
|
+
description="Ada data karyawan yang dipilih sudah ada didata Kuota Cuti lainnya. Silahkan hapus data karyawan dan pilih karyawan lainnya."
|
|
100
|
+
color="warning"
|
|
101
|
+
/>
|
|
102
|
+
|
|
103
|
+
<NeonField v-model="values.nameLeave" v-bind="fields.nameLeave" />
|
|
104
|
+
<OfficeRelation v-model="values" :field="fields.branches" />
|
|
105
|
+
<OfficeRelation v-model="values" :field="fields.typeLeave" />
|
|
106
|
+
<NeonFields class="grid grid-cols-[3fr_1fr]">
|
|
107
|
+
<OfficeRelation v-model="values" :field="fields.nameStaffs" />
|
|
108
|
+
<NeonButton
|
|
109
|
+
v-if="values.hasGenerated === false"
|
|
110
|
+
class="mt-4"
|
|
111
|
+
icon-left="sync"
|
|
112
|
+
label="Generate"
|
|
113
|
+
is-rounded
|
|
114
|
+
size="sm"
|
|
115
|
+
color="success"
|
|
116
|
+
@click="generateLeave"
|
|
117
|
+
/>
|
|
118
|
+
</NeonFields>
|
|
119
|
+
<NeonField
|
|
120
|
+
v-model="values.leaveQuota"
|
|
121
|
+
v-bind="fields.leaveQuota"
|
|
122
|
+
is-disabled
|
|
123
|
+
/>
|
|
124
|
+
<NeonField v-model="values.startedAt" v-bind="fields.startedAt" />
|
|
125
|
+
<NeonField v-model="values.endedAt" v-bind="fields.endedAt" />
|
|
126
|
+
<NeonField v-model="values.note" v-bind="fields.note" />
|
|
127
|
+
</NeonForm>
|
|
128
|
+
</OfficeTab>
|
|
129
|
+
|
|
130
|
+
<!-- Cuti Karyawan-->
|
|
131
|
+
<OfficeTab
|
|
132
|
+
v-if="!isNew && !values.hasConflict"
|
|
133
|
+
handle="cutiKaryawan"
|
|
134
|
+
icon="house-person-leave"
|
|
135
|
+
title="Cuti Karyawan"
|
|
136
|
+
>
|
|
137
|
+
<OfficeCollectionRelated
|
|
138
|
+
definition="neu:personalia:leaveStaff"
|
|
139
|
+
title="Cuti Karyawan"
|
|
140
|
+
:query="
|
|
141
|
+
Query.define({
|
|
142
|
+
filter: {
|
|
143
|
+
leaveQuotaStaffId: values.id,
|
|
144
|
+
},
|
|
145
|
+
sort: {
|
|
146
|
+
handle: 'startedAt',
|
|
147
|
+
direction: 'ascending',
|
|
148
|
+
},
|
|
149
|
+
})
|
|
150
|
+
"
|
|
151
|
+
:excludes="['click', 'create']"
|
|
152
|
+
:columns="[
|
|
153
|
+
'staff',
|
|
154
|
+
'typeLeave',
|
|
155
|
+
'leaveQuota',
|
|
156
|
+
'startedAt',
|
|
157
|
+
'endedAt',
|
|
158
|
+
]"
|
|
159
|
+
:sorts="['startedAt', 'createdAt', 'updatedAt']"
|
|
160
|
+
:filters="['staff']"
|
|
161
|
+
>
|
|
162
|
+
</OfficeCollectionRelated>
|
|
163
|
+
</OfficeTab>
|
|
164
|
+
|
|
165
|
+
<OfficeTab
|
|
166
|
+
v-if="!isNew && values.hasConflict"
|
|
167
|
+
handle="konflik"
|
|
168
|
+
icon="circle-exclamation"
|
|
169
|
+
title="Konflik Karyawan"
|
|
170
|
+
>
|
|
171
|
+
<NeonAlert
|
|
172
|
+
icon="circle-exclamation"
|
|
173
|
+
title="Perhatian!"
|
|
174
|
+
description="Selesaikan konflik yang terjadi di kuota cuti."
|
|
175
|
+
color="warning"
|
|
176
|
+
/>
|
|
177
|
+
<OfficeCollectionRelated
|
|
178
|
+
definition="neu:personalia:leaveConflict"
|
|
179
|
+
title="Konlfik Cuti Karyawan"
|
|
180
|
+
:query="
|
|
181
|
+
Query.define({
|
|
182
|
+
filter: {
|
|
183
|
+
leaveQuotaId: values.id,
|
|
184
|
+
deletedAt: { $exists: false },
|
|
185
|
+
},
|
|
186
|
+
sort: {
|
|
187
|
+
handle: 'startedAt',
|
|
188
|
+
direction: 'ascending',
|
|
189
|
+
},
|
|
190
|
+
})
|
|
191
|
+
"
|
|
192
|
+
use-bulk
|
|
193
|
+
:excludes="['click', 'create']"
|
|
194
|
+
:columns="[
|
|
195
|
+
'staff',
|
|
196
|
+
'leaveQuotaOldName',
|
|
197
|
+
'leaveQuotaOld',
|
|
198
|
+
'leaveQuotaNewName',
|
|
199
|
+
'leaveQuotaNew',
|
|
200
|
+
]"
|
|
201
|
+
:sorts="['startedAt', 'createdAt', 'updatedAt']"
|
|
202
|
+
:filters="['staff']"
|
|
203
|
+
>
|
|
204
|
+
</OfficeCollectionRelated>
|
|
205
|
+
</OfficeTab>
|
|
206
|
+
</OfficeTabs>
|
|
207
|
+
</NeonSingle>
|
|
208
|
+
</template>
|
|
209
|
+
|
|
210
|
+
<style></style>
|
package/build/@office/models/personalia/leaveStaff/LeaveStaffCollection/LeaveStaffCollection.vue
ADDED
|
@@ -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
|
+
TPersonaliaLeaveStaffModel,
|
|
7
|
+
} from '@neutron.co.id/personalia-models'
|
|
8
|
+
|
|
9
|
+
defineOptions({ name: 'LeaveStaffCollection' })
|
|
10
|
+
|
|
11
|
+
const { userQuery } = useCollection<
|
|
12
|
+
Schema.LeaveStaff,
|
|
13
|
+
TPersonaliaLeaveStaffModel
|
|
14
|
+
>()
|
|
15
|
+
</script>
|
|
16
|
+
|
|
17
|
+
<template>
|
|
18
|
+
<NeonCollection class="neu-leave-staff-collection">
|
|
19
|
+
<OfficeCollectionTable />
|
|
20
|
+
</NeonCollection>
|
|
21
|
+
</template>
|
|
22
|
+
|
|
23
|
+
<style scoped></style>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { default as LeaveStaffCollection } from './LeaveStaffCollection.vue';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { default as LeaveStaffCollection } from "./LeaveStaffCollection.vue";
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
<script setup lang="ts">
|
|
2
|
+
import { Query } from '@neon.id/query'
|
|
3
|
+
import { useSingle } from '@neon.id/context'
|
|
4
|
+
import { OfficeTab, OfficeCollectionRelated } from '@neon.id/office'
|
|
5
|
+
import {
|
|
6
|
+
type Schema,
|
|
7
|
+
type TPersonaliaLeaveStaffModel,
|
|
8
|
+
} from '@neutron.co.id/personalia-models'
|
|
9
|
+
|
|
10
|
+
const { fields, values } = useSingle<
|
|
11
|
+
Schema.LeaveStaff,
|
|
12
|
+
TPersonaliaLeaveStaffModel
|
|
13
|
+
>()
|
|
14
|
+
</script>
|
|
15
|
+
|
|
16
|
+
<template>
|
|
17
|
+
<NeonSingle>
|
|
18
|
+
<OfficeTabs>
|
|
19
|
+
<OfficeTab handle="info" icon="circle-info" title="Info">
|
|
20
|
+
<NeonForm handle="info" use-unsaved>
|
|
21
|
+
<NeonField v-model="values.staff" v-bind="fields.staff" is-disabled />
|
|
22
|
+
</NeonForm>
|
|
23
|
+
</OfficeTab>
|
|
24
|
+
</OfficeTabs>
|
|
25
|
+
</NeonSingle>
|
|
26
|
+
</template>
|
|
27
|
+
|
|
28
|
+
<style></style>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { default as LeaveStaffSingle } from './LeaveStaffSingle.vue';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { default as LeaveStaffSingle } from "./LeaveStaffSingle.vue";
|
package/build/@package/@office/models/personalia/leaveConflict/LeaveConflictCollection/index.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { default as LeaveConflictCollection } from './LeaveConflictCollection.vue';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { default as LeaveConflictSingle } from './LeaveConflictSingle.vue';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { default as LeaveQuotaCollection } from './LeaveQuotaCollection.vue';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { default as LeaveStaffCollection } from './LeaveStaffCollection.vue';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { default as LeaveStaffSingle } from './LeaveStaffSingle.vue';
|