@neutron.co.id/operasional-interfaces 1.14.8 → 1.14.9
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/models/personalia/attendance/AttendanceManager.vue +2 -2
- package/build/@office/models/personalia/attendance/AttendanceStaff.vue +2 -2
- package/build/@office/models/personalia/attendance/AttendanceSupervisor.vue +3 -3
- package/build/@office/models/personalia/plan/PlanSingle/PlanSingle.vue +5 -1
- package/build/@office/models/personalia/plan/PlanStaff.vue +5 -1
- package/build/@office/models/personalia/submission/SubmissionAudit.vue +15 -45
- package/build/@office/models/personalia/submission/SubmissionDecision.vue +12 -41
- package/build/@office/models/personalia/submission/SubmissionFollowUp.vue +10 -40
- package/build/@office/models/personalia/submission/SubmissionSingle/SubmissionSingle.vue +10 -40
- package/build/@office/models/personalia/submission/SubmissionStaff.vue +11 -68
- package/build/@office/models/personalia/submission/SubmissionSupervisor.vue +10 -40
- package/build/@office/models/personalia/submission/SubmissionWaitingDecision.vue +12 -42
- package/build/@office/models/personalia/target/TargetBranch.vue +5 -1
- package/build/@office/models/personalia/target/TargetSingle/TargetSingle.vue +5 -1
- package/build/@office/models/personalia/task/TaskSingle/TaskSingle.vue +3 -3
- package/build/mock/index.cjs +105 -284
- package/build/mock/index.mjs +105 -284
- package/build/mock/style.css +14 -14
- package/build/module.json +1 -1
- package/build/nuxt.json +1 -1
- package/package.json +6 -6
|
@@ -128,7 +128,7 @@ const rejectedAbsensi = async () => {
|
|
|
128
128
|
<NeonField>
|
|
129
129
|
<template #input>
|
|
130
130
|
<NeonButton
|
|
131
|
-
size="
|
|
131
|
+
size="sm"
|
|
132
132
|
color="success"
|
|
133
133
|
icon-left="x"
|
|
134
134
|
:is-disabled="
|
|
@@ -145,7 +145,7 @@ const rejectedAbsensi = async () => {
|
|
|
145
145
|
<NeonField>
|
|
146
146
|
<template #input>
|
|
147
147
|
<NeonButton
|
|
148
|
-
size="
|
|
148
|
+
size="sm"
|
|
149
149
|
color="warning"
|
|
150
150
|
icon-left="trash-can"
|
|
151
151
|
@click="deleteAbsensi"
|
|
@@ -210,7 +210,7 @@ async function generate() {
|
|
|
210
210
|
<NeonField>
|
|
211
211
|
<template #input>
|
|
212
212
|
<NeonButton
|
|
213
|
-
size="
|
|
213
|
+
size="sm"
|
|
214
214
|
color="success"
|
|
215
215
|
icon-left="up-from-line"
|
|
216
216
|
:is-disabled="
|
|
@@ -229,7 +229,7 @@ async function generate() {
|
|
|
229
229
|
<NeonField>
|
|
230
230
|
<template #input>
|
|
231
231
|
<NeonButton
|
|
232
|
-
size="
|
|
232
|
+
size="sm"
|
|
233
233
|
color="warning"
|
|
234
234
|
icon-left="arrows-retweet"
|
|
235
235
|
:is-disabled="
|
|
@@ -173,7 +173,7 @@ async function generate() {
|
|
|
173
173
|
<NeonField>
|
|
174
174
|
<template #input>
|
|
175
175
|
<NeonButton
|
|
176
|
-
size="
|
|
176
|
+
size="sm"
|
|
177
177
|
color="success"
|
|
178
178
|
icon-left="check"
|
|
179
179
|
:is-disabled="
|
|
@@ -190,7 +190,7 @@ async function generate() {
|
|
|
190
190
|
<NeonField>
|
|
191
191
|
<template #input>
|
|
192
192
|
<NeonButton
|
|
193
|
-
size="
|
|
193
|
+
size="sm"
|
|
194
194
|
color="danger"
|
|
195
195
|
icon-left="x"
|
|
196
196
|
:is-disabled="
|
|
@@ -207,7 +207,7 @@ async function generate() {
|
|
|
207
207
|
<NeonField>
|
|
208
208
|
<template #input>
|
|
209
209
|
<NeonButton
|
|
210
|
-
size="
|
|
210
|
+
size="sm"
|
|
211
211
|
color="warning"
|
|
212
212
|
icon-left="trash-can"
|
|
213
213
|
@click="deleteAbsensi"
|
|
@@ -84,7 +84,11 @@ const saveAndSyncOne = async () => {
|
|
|
84
84
|
/>
|
|
85
85
|
|
|
86
86
|
<NeonFields v-if="values.domain == 'marketing'" md="grid-cols-2">
|
|
87
|
-
<OfficeRelation
|
|
87
|
+
<OfficeRelation
|
|
88
|
+
v-model="values"
|
|
89
|
+
:field="fields.stages"
|
|
90
|
+
:filter="{ status: 'published' }"
|
|
91
|
+
/>
|
|
88
92
|
<OfficeRelation
|
|
89
93
|
v-model="values"
|
|
90
94
|
:field="fields.target"
|
|
@@ -98,7 +98,11 @@ const saveAndSyncOne = async () => {
|
|
|
98
98
|
/>
|
|
99
99
|
|
|
100
100
|
<NeonFields v-if="values.domain == 'marketing'" md="grid-cols-2">
|
|
101
|
-
<OfficeRelation
|
|
101
|
+
<OfficeRelation
|
|
102
|
+
v-model="values"
|
|
103
|
+
:field="fields.stages"
|
|
104
|
+
:filter="{ status: 'published' }"
|
|
105
|
+
/>
|
|
102
106
|
<OfficeRelation
|
|
103
107
|
v-model="values"
|
|
104
108
|
:field="fields.target"
|
|
@@ -16,7 +16,7 @@
|
|
|
16
16
|
<NeonField v-if="isReady">
|
|
17
17
|
<template #input>
|
|
18
18
|
<NeonButton
|
|
19
|
-
size="
|
|
19
|
+
size="sm"
|
|
20
20
|
color="success"
|
|
21
21
|
icon-left="file-check"
|
|
22
22
|
:is-disabled="
|
|
@@ -39,7 +39,7 @@
|
|
|
39
39
|
<NeonField v-if="isReady">
|
|
40
40
|
<template #input>
|
|
41
41
|
<NeonButton
|
|
42
|
-
size="
|
|
42
|
+
size="sm"
|
|
43
43
|
color="danger"
|
|
44
44
|
icon-left="ban"
|
|
45
45
|
:is-disabled="
|
|
@@ -62,7 +62,7 @@
|
|
|
62
62
|
<NeonField v-if="isReady">
|
|
63
63
|
<template #input>
|
|
64
64
|
<NeonButton
|
|
65
|
-
size="
|
|
65
|
+
size="sm"
|
|
66
66
|
color="info"
|
|
67
67
|
icon-left="binoculars"
|
|
68
68
|
:is-disabled="
|
|
@@ -85,7 +85,7 @@
|
|
|
85
85
|
<NeonField v-if="isReady">
|
|
86
86
|
<template #input>
|
|
87
87
|
<NeonButton
|
|
88
|
-
size="
|
|
88
|
+
size="sm"
|
|
89
89
|
color="warning"
|
|
90
90
|
icon-left="spinner"
|
|
91
91
|
:is-disabled="
|
|
@@ -113,7 +113,7 @@
|
|
|
113
113
|
<NeonField v-if="isReady">
|
|
114
114
|
<template #input>
|
|
115
115
|
<NeonButton
|
|
116
|
-
size="
|
|
116
|
+
size="sm"
|
|
117
117
|
color="#DD9F00"
|
|
118
118
|
icon-left="turn-down"
|
|
119
119
|
:is-disabled="
|
|
@@ -203,7 +203,7 @@
|
|
|
203
203
|
</NeonFields>
|
|
204
204
|
</div>
|
|
205
205
|
<div class="ml-2 flex items-end pb-1">
|
|
206
|
-
<NeonCopy :size="'sm'" :value="
|
|
206
|
+
<NeonCopy :size="'sm'" :value="copy.staff" />
|
|
207
207
|
</div>
|
|
208
208
|
</div>
|
|
209
209
|
|
|
@@ -228,7 +228,7 @@
|
|
|
228
228
|
</NeonFields>
|
|
229
229
|
</div>
|
|
230
230
|
<div class="ml-2 flex items-end pb-1">
|
|
231
|
-
<NeonCopy :size="'sm'" :value="
|
|
231
|
+
<NeonCopy :size="'sm'" :value="copy.raise" />
|
|
232
232
|
</div>
|
|
233
233
|
</div>
|
|
234
234
|
|
|
@@ -250,7 +250,7 @@
|
|
|
250
250
|
</NeonFields>
|
|
251
251
|
</div>
|
|
252
252
|
<div class="ml-2 flex items-end pb-1">
|
|
253
|
-
<NeonCopy :size="'sm'" :value="
|
|
253
|
+
<NeonCopy :size="'sm'" :value="copy.decision" />
|
|
254
254
|
</div>
|
|
255
255
|
</div>
|
|
256
256
|
|
|
@@ -264,7 +264,7 @@
|
|
|
264
264
|
</NeonFields>
|
|
265
265
|
</div>
|
|
266
266
|
<div class="ml-2 flex items-end pb-1">
|
|
267
|
-
<NeonCopy :size="'sm'" :value="
|
|
267
|
+
<NeonCopy :size="'sm'" :value="copy.followUp" />
|
|
268
268
|
</div>
|
|
269
269
|
</div>
|
|
270
270
|
|
|
@@ -421,7 +421,7 @@ import {
|
|
|
421
421
|
} from '@neon.id/office'
|
|
422
422
|
import { Query } from '@neon.id/query'
|
|
423
423
|
import { useOperasional } from '../../../common'
|
|
424
|
-
import { computed, watch } from 'vue'
|
|
424
|
+
import { computed, watch, ref } from 'vue'
|
|
425
425
|
import { PromiseUtil } from '@neon.id/utils/promise'
|
|
426
426
|
import type {
|
|
427
427
|
TPersonaliaSubmissionModel,
|
|
@@ -576,41 +576,11 @@ const syncLowered = async () => {
|
|
|
576
576
|
await refreshOne()
|
|
577
577
|
}
|
|
578
578
|
|
|
579
|
-
const
|
|
580
|
-
|
|
581
|
-
|
|
582
|
-
|
|
583
|
-
|
|
584
|
-
icon: 'brands:link',
|
|
585
|
-
linkStaff,
|
|
586
|
-
}
|
|
587
|
-
})
|
|
588
|
-
|
|
589
|
-
const copyDecision = computed(() => {
|
|
590
|
-
executeOne('', { submissionId: id.value })
|
|
591
|
-
const linkDecision = `${window.location.origin}/pengajuan/decision-submission/${id.value}`
|
|
592
|
-
return {
|
|
593
|
-
icon: 'brands:link',
|
|
594
|
-
linkDecision,
|
|
595
|
-
}
|
|
596
|
-
})
|
|
597
|
-
|
|
598
|
-
const copyRaise = computed(() => {
|
|
599
|
-
executeOne('', { submissionId: id.value })
|
|
600
|
-
const linkAudit = `${window.location.origin}/pengajuan/audit-submission/${id.value}`
|
|
601
|
-
return {
|
|
602
|
-
icon: 'brands:link',
|
|
603
|
-
linkAudit,
|
|
604
|
-
}
|
|
605
|
-
})
|
|
606
|
-
|
|
607
|
-
const copyFollowup = computed(() => {
|
|
608
|
-
executeOne('', { submissionId: id.value })
|
|
609
|
-
const linkFollowup = `${window.location.origin}/pengajuan/follow-up-submission/${id.value}`
|
|
610
|
-
return {
|
|
611
|
-
icon: 'brands:link',
|
|
612
|
-
linkFollowup,
|
|
613
|
-
}
|
|
579
|
+
const copy = ref({
|
|
580
|
+
staff: `${window.location.origin}/pengajuan/staff-submission/${id.value}`,
|
|
581
|
+
decision: `${window.location.origin}/pengajuan/decision-submission/${id.value}`,
|
|
582
|
+
raise: `${window.location.origin}/pengajuan/audit-submission/${id.value}`,
|
|
583
|
+
followUp: `${window.location.origin}/pengajuan/follow-up-submission/${id.value}`,
|
|
614
584
|
})
|
|
615
585
|
</script>
|
|
616
586
|
|
|
@@ -16,7 +16,7 @@
|
|
|
16
16
|
<NeonField v-if="isReady">
|
|
17
17
|
<template #input>
|
|
18
18
|
<NeonButton
|
|
19
|
-
size="
|
|
19
|
+
size="sm"
|
|
20
20
|
color="danger"
|
|
21
21
|
icon-left="circle-stop"
|
|
22
22
|
:is-disabled="
|
|
@@ -39,7 +39,7 @@
|
|
|
39
39
|
<NeonField v-if="isReady">
|
|
40
40
|
<template #input>
|
|
41
41
|
<NeonButton
|
|
42
|
-
size="
|
|
42
|
+
size="sm"
|
|
43
43
|
color="success"
|
|
44
44
|
icon-left="list-check"
|
|
45
45
|
:is-disabled="
|
|
@@ -138,7 +138,7 @@
|
|
|
138
138
|
</NeonFields>
|
|
139
139
|
</div>
|
|
140
140
|
<div class="ml-2 flex items-end pb-1">
|
|
141
|
-
<NeonCopy :size="'sm'" :value="
|
|
141
|
+
<NeonCopy :size="'sm'" :value="copy.staff" />
|
|
142
142
|
</div>
|
|
143
143
|
</div>
|
|
144
144
|
|
|
@@ -162,7 +162,7 @@
|
|
|
162
162
|
</NeonFields>
|
|
163
163
|
</div>
|
|
164
164
|
<div class="ml-2 flex items-end pb-1">
|
|
165
|
-
<NeonCopy :size="'sm'" :value="
|
|
165
|
+
<NeonCopy :size="'sm'" :value="copy.raise" />
|
|
166
166
|
</div>
|
|
167
167
|
</div>
|
|
168
168
|
|
|
@@ -186,7 +186,7 @@
|
|
|
186
186
|
</NeonFields>
|
|
187
187
|
</div>
|
|
188
188
|
<div class="ml-2 flex items-end pb-1">
|
|
189
|
-
<NeonCopy :size="'sm'" :value="
|
|
189
|
+
<NeonCopy :size="'sm'" :value="copy.decision" />
|
|
190
190
|
</div>
|
|
191
191
|
</div>
|
|
192
192
|
|
|
@@ -200,7 +200,7 @@
|
|
|
200
200
|
</NeonFields>
|
|
201
201
|
</div>
|
|
202
202
|
<div class="ml-2 flex items-end pb-1">
|
|
203
|
-
<NeonCopy :size="'sm'" :value="
|
|
203
|
+
<NeonCopy :size="'sm'" :value="copy.followUp" />
|
|
204
204
|
</div>
|
|
205
205
|
</div>
|
|
206
206
|
|
|
@@ -374,7 +374,7 @@ import {
|
|
|
374
374
|
} from '@neon.id/office'
|
|
375
375
|
import { Query } from '@neon.id/query'
|
|
376
376
|
import { useOperasional } from '../../../common'
|
|
377
|
-
import { computed, watch } from 'vue'
|
|
377
|
+
import { computed, watch, ref } from 'vue'
|
|
378
378
|
import { PromiseUtil } from '@neon.id/utils/promise'
|
|
379
379
|
import type {
|
|
380
380
|
TPersonaliaSubmissionModel,
|
|
@@ -509,40 +509,11 @@ const syncApproved = async () => {
|
|
|
509
509
|
await refreshOne()
|
|
510
510
|
}
|
|
511
511
|
|
|
512
|
-
const
|
|
513
|
-
|
|
514
|
-
|
|
515
|
-
|
|
516
|
-
|
|
517
|
-
icon: 'brands:link',
|
|
518
|
-
linkStaff,
|
|
519
|
-
}
|
|
520
|
-
})
|
|
521
|
-
|
|
522
|
-
const copyDecision = computed(() => {
|
|
523
|
-
executeOne('', { submissionId: id.value })
|
|
524
|
-
const linkDecision = `${window.location.origin}/pengajuan/decision-submission/${id.value}`
|
|
525
|
-
return {
|
|
526
|
-
icon: 'brands:link',
|
|
527
|
-
linkDecision,
|
|
528
|
-
}
|
|
529
|
-
})
|
|
530
|
-
|
|
531
|
-
const copyRaise = computed(() => {
|
|
532
|
-
executeOne('', { submissionId: id.value })
|
|
533
|
-
const linkAudit = `${window.location.origin}/pengajuan/audit-submission/${id.value}`
|
|
534
|
-
return {
|
|
535
|
-
icon: 'brands:link',
|
|
536
|
-
linkAudit,
|
|
537
|
-
}
|
|
538
|
-
})
|
|
539
|
-
const copyFollowup = computed(() => {
|
|
540
|
-
executeOne('', { submissionId: id.value })
|
|
541
|
-
const linkFollowup = `${window.location.origin}/pengajuan/follow-up-submission/${id.value}`
|
|
542
|
-
return {
|
|
543
|
-
icon: 'brands:link',
|
|
544
|
-
linkFollowup,
|
|
545
|
-
}
|
|
512
|
+
const copy = ref({
|
|
513
|
+
staff: `${window.location.origin}/pengajuan/staff-submission/${id.value}`,
|
|
514
|
+
decision: `${window.location.origin}/pengajuan/decision-submission/${id.value}`,
|
|
515
|
+
raise: `${window.location.origin}/pengajuan/audit-submission/${id.value}`,
|
|
516
|
+
followUp: `${window.location.origin}/pengajuan/follow-up-submission/${id.value}`,
|
|
546
517
|
})
|
|
547
518
|
</script>
|
|
548
519
|
|
|
@@ -8,7 +8,7 @@ import type {
|
|
|
8
8
|
Schema,
|
|
9
9
|
} from '@neutron.co.id/personalia-models'
|
|
10
10
|
import { SubmissionDetailTab, SubmissionDocumentTab } from './sections'
|
|
11
|
-
import {
|
|
11
|
+
import { ref } from 'vue'
|
|
12
12
|
|
|
13
13
|
const {
|
|
14
14
|
id,
|
|
@@ -23,41 +23,11 @@ const {
|
|
|
23
23
|
executeOne,
|
|
24
24
|
} = useSingle<Schema.Submission, TPersonaliaSubmissionModel>()
|
|
25
25
|
|
|
26
|
-
const
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
icon: 'brands:link',
|
|
32
|
-
linkStaff,
|
|
33
|
-
}
|
|
34
|
-
})
|
|
35
|
-
|
|
36
|
-
const copyDecision = computed(() => {
|
|
37
|
-
executeOne('', { submissionId: id.value })
|
|
38
|
-
const linkDecision = `${window.location.origin}/pengajuan/decision-submission/${id.value}`
|
|
39
|
-
return {
|
|
40
|
-
icon: 'brands:link',
|
|
41
|
-
linkDecision,
|
|
42
|
-
}
|
|
43
|
-
})
|
|
44
|
-
|
|
45
|
-
const copyRaise = computed(() => {
|
|
46
|
-
executeOne('', { submissionId: id.value })
|
|
47
|
-
const linkAudit = `${window.location.origin}/pengajuan/audit-submission/${id.value}`
|
|
48
|
-
return {
|
|
49
|
-
icon: 'brands:link',
|
|
50
|
-
linkAudit,
|
|
51
|
-
}
|
|
52
|
-
})
|
|
53
|
-
|
|
54
|
-
const copyFollowup = computed(() => {
|
|
55
|
-
executeOne('', { submissionId: id.value })
|
|
56
|
-
const linkFollowup = `${window.location.origin}/pengajuan/follow-up-submission/${id.value}`
|
|
57
|
-
return {
|
|
58
|
-
icon: 'brands:link',
|
|
59
|
-
linkFollowup,
|
|
60
|
-
}
|
|
26
|
+
const copy = ref({
|
|
27
|
+
staff: `${window.location.origin}/pengajuan/staff-submission/${id.value}`,
|
|
28
|
+
decision: `${window.location.origin}/pengajuan/decision-submission/${id.value}`,
|
|
29
|
+
raise: `${window.location.origin}/pengajuan/audit-submission/${id.value}`,
|
|
30
|
+
followUp: `${window.location.origin}/pengajuan/follow-up-submission/${id.value}`,
|
|
61
31
|
})
|
|
62
32
|
</script>
|
|
63
33
|
|
|
@@ -102,7 +72,7 @@ const copyFollowup = computed(() => {
|
|
|
102
72
|
</NeonFields>
|
|
103
73
|
</div>
|
|
104
74
|
<div class="ml-2 flex items-end pb-1">
|
|
105
|
-
<NeonCopy :size="'sm'" :value="
|
|
75
|
+
<NeonCopy :size="'sm'" :value="copy.staff" />
|
|
106
76
|
</div>
|
|
107
77
|
</div>
|
|
108
78
|
|
|
@@ -117,7 +87,7 @@ const copyFollowup = computed(() => {
|
|
|
117
87
|
</NeonFields>
|
|
118
88
|
</div>
|
|
119
89
|
<div class="ml-2 flex items-end pb-1">
|
|
120
|
-
<NeonCopy :size="'sm'" :value="
|
|
90
|
+
<NeonCopy :size="'sm'" :value="copy.raise" />
|
|
121
91
|
</div>
|
|
122
92
|
</div>
|
|
123
93
|
|
|
@@ -132,7 +102,7 @@ const copyFollowup = computed(() => {
|
|
|
132
102
|
</NeonFields>
|
|
133
103
|
</div>
|
|
134
104
|
<div class="ml-2 flex items-end pb-1">
|
|
135
|
-
<NeonCopy :size="'sm'" :value="
|
|
105
|
+
<NeonCopy :size="'sm'" :value="copy.decision" />
|
|
136
106
|
</div>
|
|
137
107
|
</div>
|
|
138
108
|
|
|
@@ -146,7 +116,7 @@ const copyFollowup = computed(() => {
|
|
|
146
116
|
</NeonFields>
|
|
147
117
|
</div>
|
|
148
118
|
<div class="ml-2 flex items-end pb-1">
|
|
149
|
-
<NeonCopy :size="'sm'" :value="
|
|
119
|
+
<NeonCopy :size="'sm'" :value="copy.followUp" />
|
|
150
120
|
</div>
|
|
151
121
|
</div>
|
|
152
122
|
|
|
@@ -8,7 +8,7 @@ import type {
|
|
|
8
8
|
Schema,
|
|
9
9
|
} from '@neutron.co.id/personalia-models'
|
|
10
10
|
import { SubmissionDetailTab, SubmissionDocumentTab } from '../sections'
|
|
11
|
-
import {
|
|
11
|
+
import { ref } from 'vue'
|
|
12
12
|
|
|
13
13
|
const {
|
|
14
14
|
id,
|
|
@@ -22,41 +22,11 @@ const {
|
|
|
22
22
|
discardChanges,
|
|
23
23
|
executeOne,
|
|
24
24
|
} = useSingle<Schema.Submission, TPersonaliaSubmissionModel>()
|
|
25
|
-
const
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
icon: 'brands:link',
|
|
31
|
-
linkStaff,
|
|
32
|
-
}
|
|
33
|
-
})
|
|
34
|
-
|
|
35
|
-
const copyDecision = computed(() => {
|
|
36
|
-
executeOne('', { submissionId: id.value })
|
|
37
|
-
const linkDecision = `${window.location.origin}/pengajuan/decision-submission/${id.value}`
|
|
38
|
-
return {
|
|
39
|
-
icon: 'brands:link',
|
|
40
|
-
linkDecision,
|
|
41
|
-
}
|
|
42
|
-
})
|
|
43
|
-
|
|
44
|
-
const copyRaise = computed(() => {
|
|
45
|
-
executeOne('', { submissionId: id.value })
|
|
46
|
-
const linkAudit = `${window.location.origin}/pengajuan/audit-submission/${id.value}`
|
|
47
|
-
return {
|
|
48
|
-
icon: 'brands:link',
|
|
49
|
-
linkAudit,
|
|
50
|
-
}
|
|
51
|
-
})
|
|
52
|
-
|
|
53
|
-
const copyFollowup = computed(() => {
|
|
54
|
-
executeOne('', { submissionId: id.value })
|
|
55
|
-
const linkFollowup = `${window.location.origin}/pengajuan/follow-up-submission/${id.value}`
|
|
56
|
-
return {
|
|
57
|
-
icon: 'brands:link',
|
|
58
|
-
linkFollowup,
|
|
59
|
-
}
|
|
25
|
+
const copy = ref({
|
|
26
|
+
staff: `${window.location.origin}/pengajuan/staff-submission/${id.value}`,
|
|
27
|
+
decision: `${window.location.origin}/pengajuan/decision-submission/${id.value}`,
|
|
28
|
+
raise: `${window.location.origin}/pengajuan/audit-submission/${id.value}`,
|
|
29
|
+
followUp: `${window.location.origin}/pengajuan/follow-up-submission/${id.value}`,
|
|
60
30
|
})
|
|
61
31
|
</script>
|
|
62
32
|
|
|
@@ -92,7 +62,7 @@ const copyFollowup = computed(() => {
|
|
|
92
62
|
</NeonFields>
|
|
93
63
|
</div>
|
|
94
64
|
<div class="ml-2 flex items-end pb-1">
|
|
95
|
-
<NeonCopy :size="'sm'" :value="
|
|
65
|
+
<NeonCopy :size="'sm'" :value="copy.staff" />
|
|
96
66
|
</div>
|
|
97
67
|
</div>
|
|
98
68
|
|
|
@@ -103,7 +73,7 @@ const copyFollowup = computed(() => {
|
|
|
103
73
|
</NeonFields>
|
|
104
74
|
</div>
|
|
105
75
|
<div class="ml-2 flex items-end pb-1">
|
|
106
|
-
<NeonCopy :size="'sm'" :value="
|
|
76
|
+
<NeonCopy :size="'sm'" :value="copy.raise" />
|
|
107
77
|
</div>
|
|
108
78
|
</div>
|
|
109
79
|
|
|
@@ -114,7 +84,7 @@ const copyFollowup = computed(() => {
|
|
|
114
84
|
</NeonFields>
|
|
115
85
|
</div>
|
|
116
86
|
<div class="ml-2 flex items-end pb-1">
|
|
117
|
-
<NeonCopy :size="'sm'" :value="
|
|
87
|
+
<NeonCopy :size="'sm'" :value="copy.decision" />
|
|
118
88
|
</div>
|
|
119
89
|
</div>
|
|
120
90
|
|
|
@@ -128,7 +98,7 @@ const copyFollowup = computed(() => {
|
|
|
128
98
|
</NeonFields>
|
|
129
99
|
</div>
|
|
130
100
|
<div class="ml-2 flex items-end pb-1">
|
|
131
|
-
<NeonCopy :size="'sm'" :value="
|
|
101
|
+
<NeonCopy :size="'sm'" :value="copy.followUp" />
|
|
132
102
|
</div>
|
|
133
103
|
</div>
|
|
134
104
|
<!-- <NeonField
|
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
<NeonField v-if="isReady">
|
|
15
15
|
<template #input>
|
|
16
16
|
<NeonButton
|
|
17
|
-
size="
|
|
17
|
+
size="sm"
|
|
18
18
|
color="dark"
|
|
19
19
|
icon-left="arrow-up-from-line"
|
|
20
20
|
:is-disabled="
|
|
@@ -121,7 +121,7 @@
|
|
|
121
121
|
</NeonFields>
|
|
122
122
|
</div>
|
|
123
123
|
<div class="ml-2 flex items-end pb-1">
|
|
124
|
-
<NeonCopy :size="'sm'" :value="
|
|
124
|
+
<NeonCopy :size="'sm'" :value="copy.staff" />
|
|
125
125
|
</div>
|
|
126
126
|
</div>
|
|
127
127
|
|
|
@@ -144,7 +144,7 @@
|
|
|
144
144
|
</NeonFields>
|
|
145
145
|
</div>
|
|
146
146
|
<div class="ml-2 flex items-end pb-1">
|
|
147
|
-
<NeonCopy :size="'sm'" :value="
|
|
147
|
+
<NeonCopy :size="'sm'" :value="copy.raise" />
|
|
148
148
|
</div>
|
|
149
149
|
</div>
|
|
150
150
|
|
|
@@ -167,7 +167,7 @@
|
|
|
167
167
|
</NeonFields>
|
|
168
168
|
</div>
|
|
169
169
|
<div class="ml-2 flex items-end pb-1">
|
|
170
|
-
<NeonCopy :size="'sm'" :value="
|
|
170
|
+
<NeonCopy :size="'sm'" :value="copy.decision" />
|
|
171
171
|
</div>
|
|
172
172
|
</div>
|
|
173
173
|
|
|
@@ -181,7 +181,7 @@
|
|
|
181
181
|
</NeonFields>
|
|
182
182
|
</div>
|
|
183
183
|
<div class="ml-2 flex items-end pb-1">
|
|
184
|
-
<NeonCopy :size="'sm'" :value="
|
|
184
|
+
<NeonCopy :size="'sm'" :value="copy.followUp" />
|
|
185
185
|
</div>
|
|
186
186
|
</div>
|
|
187
187
|
|
|
@@ -322,7 +322,7 @@ import { NeonButton, NeonDivider, NeonCopy } from '@neon.id/interfaces'
|
|
|
322
322
|
import { OfficeRelation, OfficeTab, OfficeTabs } from '@neon.id/office'
|
|
323
323
|
import { Query } from '@neon.id/query'
|
|
324
324
|
import { useOperasional } from '../../../common/providers/operasional'
|
|
325
|
-
import { computed, watch } from 'vue'
|
|
325
|
+
import { computed, watch, ref } from 'vue'
|
|
326
326
|
import { PromiseUtil } from '@neon.id/utils/promise'
|
|
327
327
|
import type {
|
|
328
328
|
TPersonaliaSubmissionModel,
|
|
@@ -412,8 +412,6 @@ const roleDecideStaffOptions = computed(() => {
|
|
|
412
412
|
const branchIds = staff.value?.branchIds || []
|
|
413
413
|
const branchDisplay = staff.value?.branches || []
|
|
414
414
|
|
|
415
|
-
console.log('staff :', staff.value)
|
|
416
|
-
|
|
417
415
|
watch(
|
|
418
416
|
isNew,
|
|
419
417
|
async (isNew) => {
|
|
@@ -432,31 +430,6 @@ watch(
|
|
|
432
430
|
{ immediate: true },
|
|
433
431
|
)
|
|
434
432
|
|
|
435
|
-
// async function () {
|
|
436
|
-
// if (!isNew.value) return
|
|
437
|
-
// await PromiseUtil.wait(500)
|
|
438
|
-
|
|
439
|
-
// const defaultValues = {
|
|
440
|
-
// submissionStaffIds: staff?.value?.id ? [staffId] : ,
|
|
441
|
-
// submissionStaffs: [{ id: staffId, flag: staff.value?.flag }],
|
|
442
|
-
// branchIds: [branchIds[0]],
|
|
443
|
-
// branches: [branchDisplay[0]],
|
|
444
|
-
// preparedAt: new Date().toISOString(),
|
|
445
|
-
// } satisfies Schema.Submission
|
|
446
|
-
|
|
447
|
-
// values.value.preparedAt = defaultValues.preparedAt
|
|
448
|
-
|
|
449
|
-
// if (staff?.value?.id) {
|
|
450
|
-
// values.value.submissionStaffIds = defaultValues.submissionStaffIds
|
|
451
|
-
// values.value.submissionStaffs = defaultValues.submissionStaffs
|
|
452
|
-
// }
|
|
453
|
-
|
|
454
|
-
// if (staff?.value?.branchIds) {
|
|
455
|
-
// values.value.branchIds = defaultValues.branchIds
|
|
456
|
-
// values.value.branches = defaultValues.branches
|
|
457
|
-
// }
|
|
458
|
-
// }
|
|
459
|
-
|
|
460
433
|
const syncRaise = async () => {
|
|
461
434
|
await executeOne('raiseSubmission', {
|
|
462
435
|
submissionId: id.value,
|
|
@@ -466,41 +439,11 @@ const syncRaise = async () => {
|
|
|
466
439
|
await refreshOne()
|
|
467
440
|
}
|
|
468
441
|
|
|
469
|
-
const
|
|
470
|
-
|
|
471
|
-
|
|
472
|
-
|
|
473
|
-
|
|
474
|
-
icon: 'brands:link',
|
|
475
|
-
linkStaff,
|
|
476
|
-
}
|
|
477
|
-
})
|
|
478
|
-
|
|
479
|
-
const copyDecision = computed(() => {
|
|
480
|
-
executeOne('', { submissionId: id.value })
|
|
481
|
-
const linkDecision = `${window.location.origin}/pengajuan/decision-submission/${id.value}`
|
|
482
|
-
return {
|
|
483
|
-
icon: 'brands:link',
|
|
484
|
-
linkDecision,
|
|
485
|
-
}
|
|
486
|
-
})
|
|
487
|
-
|
|
488
|
-
const copyRaise = computed(() => {
|
|
489
|
-
executeOne('', { submissionId: id.value })
|
|
490
|
-
const linkAudit = `${window.location.origin}/pengajuan/audit-submission/${id.value}`
|
|
491
|
-
return {
|
|
492
|
-
icon: 'brands:link',
|
|
493
|
-
linkAudit,
|
|
494
|
-
}
|
|
495
|
-
})
|
|
496
|
-
|
|
497
|
-
const copyFollowup = computed(() => {
|
|
498
|
-
executeOne('', { submissionId: id.value })
|
|
499
|
-
const linkFollowup = `${window.location.origin}/pengajuan/follow-up-submission/${id.value}`
|
|
500
|
-
return {
|
|
501
|
-
icon: 'brands:link',
|
|
502
|
-
linkFollowup,
|
|
503
|
-
}
|
|
442
|
+
const copy = ref({
|
|
443
|
+
staff: `${window.location.origin}/pengajuan/staff-submission/${id.value}`,
|
|
444
|
+
decision: `${window.location.origin}/pengajuan/decision-submission/${id.value}`,
|
|
445
|
+
raise: `${window.location.origin}/pengajuan/audit-submission/${id.value}`,
|
|
446
|
+
followUp: `${window.location.origin}/pengajuan/follow-up-submission/${id.value}`,
|
|
504
447
|
})
|
|
505
448
|
</script>
|
|
506
449
|
|