@neutron.co.id/operasional-interfaces 1.17.19 → 1.17.24
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/common/providers/api/apiUrl.mjs +1 -1
- package/build/@office/config.mjs +1 -0
- package/build/@office/models/personalia/attendance/AttendanceStaff.vue +2 -1
- package/build/@office/models/personalia/attendance/AttendanceSupervisor.vue +2 -1
- package/build/@office/models/personalia/submission/SubmissionAudit.vue +14 -1
- package/build/@office/models/personalia/submission/SubmissionDecision.vue +14 -1
- package/build/@office/models/personalia/submission/SubmissionFollowUp.vue +14 -1
- package/build/@office/models/personalia/submission/SubmissionForDecision.vue +384 -0
- package/build/@office/models/personalia/submission/SubmissionSingle/SubmissionSingle.vue +2 -1
- package/build/@office/models/personalia/submission/SubmissionStaff.vue +13 -0
- package/build/@office/models/personalia/submission/SubmissionSupervisor.vue +14 -1
- package/build/@office/models/personalia/submission/SubmissionWaitingDecision.vue +14 -0
- package/build/@office/models/personalia/submission/index.d.ts +1 -0
- package/build/@office/models/personalia/submission/index.mjs +1 -0
- package/build/@package/@office/models/personalia/submission/SubmissionForDecision.vue.d.ts +2 -0
- package/build/@package/@office/models/personalia/submission/index.d.ts +1 -0
- package/build/mock/index.cjs +890 -526
- package/build/mock/index.mjs +890 -526
- package/build/mock/style.css +13 -9
- package/build/module.json +1 -1
- package/build/nuxt.json +1 -1
- package/build/nuxt.mjs +1 -0
- package/package.json +6 -6
package/build/@office/config.mjs
CHANGED
|
@@ -190,6 +190,7 @@ async function generateAttendance() {
|
|
|
190
190
|
startedAt: values.value.startedAt,
|
|
191
191
|
endedAt: values.value.endedAt,
|
|
192
192
|
delegateNotes: values.value.delegateNotes,
|
|
193
|
+
image: values.value.image,
|
|
193
194
|
},
|
|
194
195
|
})
|
|
195
196
|
.toPromise()
|
|
@@ -289,7 +290,7 @@ watch(
|
|
|
289
290
|
|
|
290
291
|
async function generate() {
|
|
291
292
|
await generateAttendance()
|
|
292
|
-
|
|
293
|
+
getNotified()
|
|
293
294
|
await syncOne()
|
|
294
295
|
}
|
|
295
296
|
|
|
@@ -151,6 +151,7 @@ async function generateAttendance() {
|
|
|
151
151
|
startedAt: values.value.startedAt,
|
|
152
152
|
endedAt: values.value.endedAt,
|
|
153
153
|
delegateNotes: values.value.delegateNotes,
|
|
154
|
+
image: values.value.image,
|
|
154
155
|
},
|
|
155
156
|
})
|
|
156
157
|
.toPromise()
|
|
@@ -251,7 +252,7 @@ watch(
|
|
|
251
252
|
|
|
252
253
|
async function generate() {
|
|
253
254
|
await generateAttendance()
|
|
254
|
-
|
|
255
|
+
getNotified()
|
|
255
256
|
await syncOne()
|
|
256
257
|
}
|
|
257
258
|
|
|
@@ -158,7 +158,7 @@
|
|
|
158
158
|
"
|
|
159
159
|
/>
|
|
160
160
|
|
|
161
|
-
<NeonFields md="grid-cols-
|
|
161
|
+
<NeonFields md="grid-cols-3">
|
|
162
162
|
<OfficeRelation
|
|
163
163
|
v-model="values"
|
|
164
164
|
:field="fields.branches"
|
|
@@ -188,6 +188,19 @@
|
|
|
188
188
|
values.status === 'resolved'
|
|
189
189
|
"
|
|
190
190
|
/>
|
|
191
|
+
<OfficeRelation
|
|
192
|
+
v-model="values"
|
|
193
|
+
:field="fields.department"
|
|
194
|
+
:is-disabled="
|
|
195
|
+
values.status === 'raised' ||
|
|
196
|
+
values.status === 'processed' ||
|
|
197
|
+
values.status === 'delay' ||
|
|
198
|
+
values.status === 'approved' ||
|
|
199
|
+
values.status === 'monitored' ||
|
|
200
|
+
values.status === 'discontinued' ||
|
|
201
|
+
values.status === 'resolved'
|
|
202
|
+
"
|
|
203
|
+
/>
|
|
191
204
|
</NeonFields>
|
|
192
205
|
|
|
193
206
|
<div class="flex items-right">
|
|
@@ -87,7 +87,7 @@
|
|
|
87
87
|
"
|
|
88
88
|
/>
|
|
89
89
|
|
|
90
|
-
<NeonFields md="grid-cols-
|
|
90
|
+
<NeonFields md="grid-cols-3">
|
|
91
91
|
<OfficeRelation
|
|
92
92
|
v-model="values"
|
|
93
93
|
:field="fields.branches"
|
|
@@ -116,6 +116,19 @@
|
|
|
116
116
|
values.status === 'resolved'
|
|
117
117
|
"
|
|
118
118
|
/>
|
|
119
|
+
<OfficeRelation
|
|
120
|
+
v-model="values"
|
|
121
|
+
:field="fields.department"
|
|
122
|
+
:is-disabled="
|
|
123
|
+
values.status === 'raised' ||
|
|
124
|
+
values.status === 'processed' ||
|
|
125
|
+
values.status === 'delay' ||
|
|
126
|
+
values.status === 'approved' ||
|
|
127
|
+
values.status === 'monitored' ||
|
|
128
|
+
values.status === 'discontinued' ||
|
|
129
|
+
values.status === 'resolved'
|
|
130
|
+
"
|
|
131
|
+
/>
|
|
119
132
|
</NeonFields>
|
|
120
133
|
|
|
121
134
|
<div class="flex items-right">
|
|
@@ -52,13 +52,26 @@ const copy = ref({
|
|
|
52
52
|
is-disabled
|
|
53
53
|
/>
|
|
54
54
|
|
|
55
|
-
<NeonFields md="grid-cols-
|
|
55
|
+
<NeonFields md="grid-cols-3">
|
|
56
56
|
<OfficeRelation
|
|
57
57
|
v-model="values"
|
|
58
58
|
:field="fields.branches"
|
|
59
59
|
is-disabled
|
|
60
60
|
/>
|
|
61
61
|
<OfficeRelation v-model="values" :field="fields.type" is-disabled />
|
|
62
|
+
<OfficeRelation
|
|
63
|
+
v-model="values"
|
|
64
|
+
:field="fields.department"
|
|
65
|
+
:is-disabled="
|
|
66
|
+
values.status === 'raised' ||
|
|
67
|
+
values.status === 'processed' ||
|
|
68
|
+
values.status === 'delay' ||
|
|
69
|
+
values.status === 'approved' ||
|
|
70
|
+
values.status === 'monitored' ||
|
|
71
|
+
values.status === 'discontinued' ||
|
|
72
|
+
values.status === 'resolved'
|
|
73
|
+
"
|
|
74
|
+
/>
|
|
62
75
|
</NeonFields>
|
|
63
76
|
|
|
64
77
|
<div class="flex items-right">
|
|
@@ -0,0 +1,384 @@
|
|
|
1
|
+
<script setup lang="ts">
|
|
2
|
+
import { NeonSingle, useSingle } from '@neon.id/context'
|
|
3
|
+
import { NeonField, NeonFields, NeonForm } from '@neon.id/form'
|
|
4
|
+
import { NeonButton, NeonDivider } from '@neon.id/interfaces'
|
|
5
|
+
import { OfficeRelation, OfficeTab, OfficeTabs } from '@neon.id/office'
|
|
6
|
+
import { Query } from '@neon.id/query'
|
|
7
|
+
import { useOperasional } from '../../../common/providers/operasional'
|
|
8
|
+
import { computed, watch, ref } from 'vue'
|
|
9
|
+
import { PromiseUtil } from '@neon.id/utils/promise'
|
|
10
|
+
import type {
|
|
11
|
+
TPersonaliaSubmissionModel,
|
|
12
|
+
Schema,
|
|
13
|
+
} from '@neutron.co.id/personalia-models'
|
|
14
|
+
import { SubmissionDetailTab, SubmissionDocumentTab } from './sections'
|
|
15
|
+
|
|
16
|
+
const {
|
|
17
|
+
fields,
|
|
18
|
+
id,
|
|
19
|
+
initialValues,
|
|
20
|
+
values,
|
|
21
|
+
isLoading,
|
|
22
|
+
isChanged,
|
|
23
|
+
isReady,
|
|
24
|
+
isMain,
|
|
25
|
+
isNew,
|
|
26
|
+
syncOne,
|
|
27
|
+
saveOne,
|
|
28
|
+
discardChanges,
|
|
29
|
+
executeOne,
|
|
30
|
+
} = useSingle<Schema.Submission, TPersonaliaSubmissionModel>()
|
|
31
|
+
|
|
32
|
+
const { staff } = useOperasional()
|
|
33
|
+
|
|
34
|
+
const branchOptions = computed(() => {
|
|
35
|
+
return {
|
|
36
|
+
filter: [
|
|
37
|
+
{
|
|
38
|
+
handle: '_id',
|
|
39
|
+
operator: 'in',
|
|
40
|
+
value: staff.value?.branchIds,
|
|
41
|
+
},
|
|
42
|
+
],
|
|
43
|
+
}
|
|
44
|
+
})
|
|
45
|
+
|
|
46
|
+
const typeOptions = computed(() => {
|
|
47
|
+
return {
|
|
48
|
+
filter: [
|
|
49
|
+
{
|
|
50
|
+
handle: 'branchIds',
|
|
51
|
+
operator: 'in',
|
|
52
|
+
value: values.value.branchIds,
|
|
53
|
+
},
|
|
54
|
+
],
|
|
55
|
+
}
|
|
56
|
+
})
|
|
57
|
+
|
|
58
|
+
const submissionStaffOptions = computed(() => {
|
|
59
|
+
return {
|
|
60
|
+
filter: [
|
|
61
|
+
{
|
|
62
|
+
handle: 'branchIds',
|
|
63
|
+
operator: 'in',
|
|
64
|
+
value: values.value.branchIds,
|
|
65
|
+
},
|
|
66
|
+
],
|
|
67
|
+
}
|
|
68
|
+
})
|
|
69
|
+
|
|
70
|
+
const roleRaiseStaffOptions = computed(() => {
|
|
71
|
+
return {
|
|
72
|
+
filter: [
|
|
73
|
+
{
|
|
74
|
+
handle: 'virtualRoleIds',
|
|
75
|
+
operator: 'eq',
|
|
76
|
+
value: '646a42976af710fe3618af9a',
|
|
77
|
+
},
|
|
78
|
+
],
|
|
79
|
+
}
|
|
80
|
+
})
|
|
81
|
+
|
|
82
|
+
const roleDecideStaffOptions = computed(() => {
|
|
83
|
+
return {
|
|
84
|
+
filter: [
|
|
85
|
+
{
|
|
86
|
+
handle: 'virtualRoleIds',
|
|
87
|
+
operator: 'eq',
|
|
88
|
+
value: '646a43106af710fe3618afca',
|
|
89
|
+
},
|
|
90
|
+
],
|
|
91
|
+
}
|
|
92
|
+
})
|
|
93
|
+
|
|
94
|
+
const staffId = staff.value?.id || ''
|
|
95
|
+
const branchIds = staff.value?.branchIds || []
|
|
96
|
+
const branchDisplay = staff.value?.branches || []
|
|
97
|
+
|
|
98
|
+
watch(isNew, setDefaultValues, { immediate: true })
|
|
99
|
+
|
|
100
|
+
async function setDefaultValues() {
|
|
101
|
+
if (!isNew.value) return
|
|
102
|
+
await PromiseUtil.wait(500)
|
|
103
|
+
|
|
104
|
+
const defaultValues = {
|
|
105
|
+
submissionStaffIds: [staffId],
|
|
106
|
+
submissionStaffs: [{ id: staffId, flag: staff.value?.flag }],
|
|
107
|
+
branchIds: [branchIds[0]],
|
|
108
|
+
branches: [branchDisplay[0]],
|
|
109
|
+
preparedAt: new Date().toISOString(),
|
|
110
|
+
} satisfies Schema.Submission
|
|
111
|
+
|
|
112
|
+
values.value.preparedAt = defaultValues.preparedAt
|
|
113
|
+
|
|
114
|
+
if (staff?.value?.id) {
|
|
115
|
+
values.value.submissionStaffIds = defaultValues.submissionStaffIds
|
|
116
|
+
values.value.submissionStaffs = defaultValues.submissionStaffs
|
|
117
|
+
}
|
|
118
|
+
|
|
119
|
+
if (staff?.value?.branchIds) {
|
|
120
|
+
values.value.branchIds = defaultValues.branchIds
|
|
121
|
+
values.value.branches = defaultValues.branches
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
|
|
125
|
+
const goBack = () => {
|
|
126
|
+
const referrer = document.referrer || ''
|
|
127
|
+
if (referrer.includes('/neu-pengajuan')) {
|
|
128
|
+
window.history.back()
|
|
129
|
+
} else {
|
|
130
|
+
window.location.href = '/pengajuan/waiting-decision-submission'
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
|
|
134
|
+
const syncDelay = async () => {
|
|
135
|
+
await executeOne('delaySubmission', {
|
|
136
|
+
submissionId: id.value,
|
|
137
|
+
staffId: staff.value?.id,
|
|
138
|
+
})
|
|
139
|
+
await syncOne()
|
|
140
|
+
goBack()
|
|
141
|
+
}
|
|
142
|
+
|
|
143
|
+
const syncApproved = async () => {
|
|
144
|
+
await executeOne('approvedSubmission', {
|
|
145
|
+
submissionId: id.value,
|
|
146
|
+
staffId: staff.value?.id,
|
|
147
|
+
})
|
|
148
|
+
await syncOne()
|
|
149
|
+
goBack()
|
|
150
|
+
}
|
|
151
|
+
|
|
152
|
+
const copy = ref({
|
|
153
|
+
staff: `${window.location.origin}/pengajuan/staff-submission/${id.value}`,
|
|
154
|
+
decision: `${window.location.origin}/pengajuan/decision-submission/${id.value}`,
|
|
155
|
+
raise: `${window.location.origin}/pengajuan/audit-submission/${id.value}`,
|
|
156
|
+
followUp: `${window.location.origin}/pengajuan/follow-up-submission/${id.value}`,
|
|
157
|
+
})
|
|
158
|
+
</script>
|
|
159
|
+
|
|
160
|
+
<template>
|
|
161
|
+
<NeonSingle class="neu-submission-single">
|
|
162
|
+
<OfficeTabs :use-url="isMain">
|
|
163
|
+
<!-- DOKUMEN -->
|
|
164
|
+
<SubmissionDocumentTab
|
|
165
|
+
toolbar="side"
|
|
166
|
+
:is-readonly="
|
|
167
|
+
values.status === 'raised' ||
|
|
168
|
+
values.status === 'delay' ||
|
|
169
|
+
values.status === 'approved' ||
|
|
170
|
+
values.status === 'monitored' ||
|
|
171
|
+
values.status === 'discontinued' ||
|
|
172
|
+
values.status === 'resolved'
|
|
173
|
+
"
|
|
174
|
+
/>
|
|
175
|
+
<OfficeTab handle="info" icon="circle-info" title="Info">
|
|
176
|
+
<NeonForm
|
|
177
|
+
handle="info"
|
|
178
|
+
:initial-values="initialValues"
|
|
179
|
+
:is-loading="isLoading"
|
|
180
|
+
:is-changed="isChanged"
|
|
181
|
+
use-unsaved
|
|
182
|
+
@cancel="discardChanges"
|
|
183
|
+
@submit="saveOne"
|
|
184
|
+
>
|
|
185
|
+
<NeonField
|
|
186
|
+
v-model="values.title"
|
|
187
|
+
v-bind="fields.title"
|
|
188
|
+
:is-disabled="
|
|
189
|
+
values.status === 'raised' ||
|
|
190
|
+
values.status === 'processed' ||
|
|
191
|
+
values.status === 'delay' ||
|
|
192
|
+
values.status === 'approved' ||
|
|
193
|
+
values.status === 'monitored' ||
|
|
194
|
+
values.status === 'discontinued' ||
|
|
195
|
+
values.status === 'resolved'
|
|
196
|
+
"
|
|
197
|
+
/>
|
|
198
|
+
|
|
199
|
+
<NeonField
|
|
200
|
+
v-model="values.nominal"
|
|
201
|
+
v-bind="fields.nominal"
|
|
202
|
+
:is-disabled="
|
|
203
|
+
values.status === 'raised' ||
|
|
204
|
+
values.status === 'processed' ||
|
|
205
|
+
values.status === 'delay' ||
|
|
206
|
+
values.status === 'approved' ||
|
|
207
|
+
values.status === 'monitored' ||
|
|
208
|
+
values.status === 'discontinued' ||
|
|
209
|
+
values.status === 'resolved'
|
|
210
|
+
"
|
|
211
|
+
/>
|
|
212
|
+
|
|
213
|
+
<NeonFields md="grid-cols-2">
|
|
214
|
+
<OfficeRelation
|
|
215
|
+
v-model="values"
|
|
216
|
+
:field="fields.branches"
|
|
217
|
+
:query="Query.define(branchOptions)"
|
|
218
|
+
:is-disabled="
|
|
219
|
+
values.status === 'raised' ||
|
|
220
|
+
values.status === 'processed' ||
|
|
221
|
+
values.status === 'delay' ||
|
|
222
|
+
values.status === 'approved' ||
|
|
223
|
+
values.status === 'monitored' ||
|
|
224
|
+
values.status === 'discontinued' ||
|
|
225
|
+
values.status === 'resolved'
|
|
226
|
+
"
|
|
227
|
+
/>
|
|
228
|
+
<OfficeRelation
|
|
229
|
+
v-model="values"
|
|
230
|
+
:field="fields.department"
|
|
231
|
+
:is-disabled="
|
|
232
|
+
values.status === 'raised' ||
|
|
233
|
+
values.status === 'processed' ||
|
|
234
|
+
values.status === 'delay' ||
|
|
235
|
+
values.status === 'approved' ||
|
|
236
|
+
values.status === 'monitored' ||
|
|
237
|
+
values.status === 'discontinued' ||
|
|
238
|
+
values.status === 'resolved'
|
|
239
|
+
"
|
|
240
|
+
/>
|
|
241
|
+
</NeonFields>
|
|
242
|
+
<OfficeRelation
|
|
243
|
+
v-model="values"
|
|
244
|
+
:field="fields.type"
|
|
245
|
+
:query="Query.define(typeOptions)"
|
|
246
|
+
:is-disabled="
|
|
247
|
+
values.status === 'raised' ||
|
|
248
|
+
values.status === 'processed' ||
|
|
249
|
+
values.status === 'delay' ||
|
|
250
|
+
values.status === 'approved' ||
|
|
251
|
+
values.status === 'monitored' ||
|
|
252
|
+
values.status === 'discontinued' ||
|
|
253
|
+
values.status === 'resolved'
|
|
254
|
+
"
|
|
255
|
+
/>
|
|
256
|
+
|
|
257
|
+
<div class="flex items-right">
|
|
258
|
+
<div class="flex-grow">
|
|
259
|
+
<NeonFields class="flex-1">
|
|
260
|
+
<OfficeRelation
|
|
261
|
+
v-model="values"
|
|
262
|
+
:field="fields.submissionStaffs"
|
|
263
|
+
:query="Query.define(submissionStaffOptions)"
|
|
264
|
+
:is-disabled="
|
|
265
|
+
values.status === 'raised' ||
|
|
266
|
+
values.status === 'processed' ||
|
|
267
|
+
values.status === 'delay' ||
|
|
268
|
+
values.status === 'approved' ||
|
|
269
|
+
values.status === 'monitored' ||
|
|
270
|
+
values.status === 'discontinued' ||
|
|
271
|
+
values.status === 'resolved'
|
|
272
|
+
"
|
|
273
|
+
/>
|
|
274
|
+
</NeonFields>
|
|
275
|
+
</div>
|
|
276
|
+
<div class="ml-2 flex items-end pb-1">
|
|
277
|
+
<NeonCopy :size="'sm'" :value="copy.staff" />
|
|
278
|
+
</div>
|
|
279
|
+
</div>
|
|
280
|
+
|
|
281
|
+
<div class="flex items-right">
|
|
282
|
+
<div class="flex-grow">
|
|
283
|
+
<NeonFields class="flex-1">
|
|
284
|
+
<OfficeRelation
|
|
285
|
+
v-model="values"
|
|
286
|
+
:field="fields.raiseStaffs"
|
|
287
|
+
:query="Query.define(roleRaiseStaffOptions)"
|
|
288
|
+
:is-disabled="
|
|
289
|
+
values.status === 'raised' ||
|
|
290
|
+
values.status === 'processed' ||
|
|
291
|
+
values.status === 'delay' ||
|
|
292
|
+
values.status === 'approved' ||
|
|
293
|
+
values.status === 'monitored' ||
|
|
294
|
+
values.status === 'discontinued' ||
|
|
295
|
+
values.status === 'resolved'
|
|
296
|
+
"
|
|
297
|
+
/>
|
|
298
|
+
</NeonFields>
|
|
299
|
+
</div>
|
|
300
|
+
<div class="ml-2 flex items-end pb-1">
|
|
301
|
+
<NeonCopy :size="'sm'" :value="copy.raise" />
|
|
302
|
+
</div>
|
|
303
|
+
</div>
|
|
304
|
+
|
|
305
|
+
<div class="flex items-right">
|
|
306
|
+
<div class="flex-grow">
|
|
307
|
+
<NeonFields class="flex-1">
|
|
308
|
+
<OfficeRelation
|
|
309
|
+
v-model="values"
|
|
310
|
+
:field="fields.decideStaffs"
|
|
311
|
+
:query="Query.define(roleDecideStaffOptions)"
|
|
312
|
+
:is-disabled="
|
|
313
|
+
values.status === 'raised' ||
|
|
314
|
+
values.status === 'processed' ||
|
|
315
|
+
values.status === 'delay' ||
|
|
316
|
+
values.status === 'approved' ||
|
|
317
|
+
values.status === 'monitored' ||
|
|
318
|
+
values.status === 'discontinued' ||
|
|
319
|
+
values.status === 'resolved'
|
|
320
|
+
"
|
|
321
|
+
/>
|
|
322
|
+
</NeonFields>
|
|
323
|
+
</div>
|
|
324
|
+
<div class="ml-2 flex items-end pb-1">
|
|
325
|
+
<NeonCopy :size="'sm'" :value="copy.decision" />
|
|
326
|
+
</div>
|
|
327
|
+
</div>
|
|
328
|
+
|
|
329
|
+
<div class="flex items-right">
|
|
330
|
+
<div class="flex-grow">
|
|
331
|
+
<NeonFields class="flex-1">
|
|
332
|
+
<OfficeRelation
|
|
333
|
+
v-model="values"
|
|
334
|
+
:field="fields.followUpStaffs"
|
|
335
|
+
/>
|
|
336
|
+
</NeonFields>
|
|
337
|
+
</div>
|
|
338
|
+
<div class="ml-2 flex items-end pb-1">
|
|
339
|
+
<NeonCopy :size="'sm'" :value="copy.followUp" />
|
|
340
|
+
</div>
|
|
341
|
+
</div>
|
|
342
|
+
|
|
343
|
+
<!-- <NeonField
|
|
344
|
+
v-model="values.specifications"
|
|
345
|
+
v-bind="fields.specifications"
|
|
346
|
+
:is-disabled="
|
|
347
|
+
values.status === 'raised' ||
|
|
348
|
+
values.status === 'processed' ||
|
|
349
|
+
values.status === 'delay' ||
|
|
350
|
+
values.status === 'approved' ||
|
|
351
|
+
values.status === 'monitored' ||
|
|
352
|
+
values.status === 'discontinued' ||
|
|
353
|
+
values.status === 'resolved'
|
|
354
|
+
"
|
|
355
|
+
/> -->
|
|
356
|
+
|
|
357
|
+
<NeonField
|
|
358
|
+
v-model="values.preparedAt"
|
|
359
|
+
v-bind="fields.preparedAt"
|
|
360
|
+
is-disabled
|
|
361
|
+
/>
|
|
362
|
+
|
|
363
|
+
<NeonField
|
|
364
|
+
v-model="values.raisedAt"
|
|
365
|
+
v-bind="fields.raisedAt"
|
|
366
|
+
is-disabled
|
|
367
|
+
/>
|
|
368
|
+
|
|
369
|
+
<NeonField
|
|
370
|
+
v-model="values.processedAt"
|
|
371
|
+
v-bind="fields.processedAt"
|
|
372
|
+
is-disabled
|
|
373
|
+
/>
|
|
374
|
+
</NeonForm>
|
|
375
|
+
</OfficeTab>
|
|
376
|
+
</OfficeTabs>
|
|
377
|
+
</NeonSingle>
|
|
378
|
+
</template>
|
|
379
|
+
|
|
380
|
+
<style scoped>
|
|
381
|
+
.neu-submission-single {
|
|
382
|
+
@apply block;
|
|
383
|
+
}
|
|
384
|
+
</style>
|
|
@@ -47,9 +47,10 @@ const copy = ref({
|
|
|
47
47
|
<NeonField v-model="values.nominal" v-bind="fields.nominal" />
|
|
48
48
|
<NeonField v-model="values.status" v-bind="fields.status" />
|
|
49
49
|
|
|
50
|
-
<NeonFields md="grid-cols-
|
|
50
|
+
<NeonFields md="grid-cols-3">
|
|
51
51
|
<OfficeRelation v-model="values" :field="fields.branches" />
|
|
52
52
|
<OfficeRelation v-model="values" :field="fields.type" />
|
|
53
|
+
<OfficeRelation v-model="values" :field="fields.department" />
|
|
53
54
|
</NeonFields>
|
|
54
55
|
|
|
55
56
|
<div class="flex items-right">
|
|
@@ -99,6 +99,19 @@
|
|
|
99
99
|
/>
|
|
100
100
|
</NeonFields>
|
|
101
101
|
|
|
102
|
+
<OfficeRelation
|
|
103
|
+
v-model="values"
|
|
104
|
+
:field="fields.department"
|
|
105
|
+
:is-disabled="
|
|
106
|
+
values.statusStaff === 'raised' ||
|
|
107
|
+
values.statusStaff === 'processed' ||
|
|
108
|
+
values.statusStaff === 'approved' ||
|
|
109
|
+
values.statusStaff === 'monitored' ||
|
|
110
|
+
values.statusStaff === 'discontinued' ||
|
|
111
|
+
values.statusStaff === 'resolved'
|
|
112
|
+
"
|
|
113
|
+
/>
|
|
114
|
+
|
|
102
115
|
<div class="flex items-right">
|
|
103
116
|
<div class="flex-grow">
|
|
104
117
|
<NeonFields class="flex-1">
|
|
@@ -52,13 +52,26 @@ const copy = ref({
|
|
|
52
52
|
is-disabled
|
|
53
53
|
/>
|
|
54
54
|
|
|
55
|
-
<NeonFields md="grid-cols-
|
|
55
|
+
<NeonFields md="grid-cols-3">
|
|
56
56
|
<OfficeRelation
|
|
57
57
|
v-model="values"
|
|
58
58
|
:field="fields.branches"
|
|
59
59
|
is-disabled
|
|
60
60
|
/>
|
|
61
61
|
<OfficeRelation v-model="values" :field="fields.type" is-disabled />
|
|
62
|
+
<OfficeRelation
|
|
63
|
+
v-model="values"
|
|
64
|
+
:field="fields.department"
|
|
65
|
+
:is-disabled="
|
|
66
|
+
values.status === 'raised' ||
|
|
67
|
+
values.status === 'processed' ||
|
|
68
|
+
values.status === 'delay' ||
|
|
69
|
+
values.status === 'approved' ||
|
|
70
|
+
values.status === 'monitored' ||
|
|
71
|
+
values.status === 'discontinued' ||
|
|
72
|
+
values.status === 'resolved'
|
|
73
|
+
"
|
|
74
|
+
/>
|
|
62
75
|
</NeonFields>
|
|
63
76
|
|
|
64
77
|
<div class="flex items-right">
|
|
@@ -268,6 +268,20 @@ const copy = ref({
|
|
|
268
268
|
/>
|
|
269
269
|
</NeonFields>
|
|
270
270
|
|
|
271
|
+
<OfficeRelation
|
|
272
|
+
v-model="values"
|
|
273
|
+
:field="fields.department"
|
|
274
|
+
:is-disabled="
|
|
275
|
+
values.status === 'raised' ||
|
|
276
|
+
values.status === 'processed' ||
|
|
277
|
+
values.status === 'delay' ||
|
|
278
|
+
values.status === 'approved' ||
|
|
279
|
+
values.status === 'monitored' ||
|
|
280
|
+
values.status === 'discontinued' ||
|
|
281
|
+
values.status === 'resolved'
|
|
282
|
+
"
|
|
283
|
+
/>
|
|
284
|
+
|
|
271
285
|
<div class="flex items-right">
|
|
272
286
|
<div class="flex-grow">
|
|
273
287
|
<NeonFields class="flex-1">
|
|
@@ -3,6 +3,7 @@ export { default as SubmissionFollowUp } from './SubmissionFollowUp.vue';
|
|
|
3
3
|
export { default as SubmissionAudit } from './SubmissionAudit.vue';
|
|
4
4
|
export { default as SubmissionDecision } from './SubmissionDecision.vue';
|
|
5
5
|
export { default as SubmissionWaitingDecision } from './SubmissionWaitingDecision.vue';
|
|
6
|
+
export { default as SubmissionForDecision } from './SubmissionForDecision.vue';
|
|
6
7
|
export { default as SubmissionSupervisor } from './SubmissionSupervisor.vue';
|
|
7
8
|
export * from './SubmissionCollection';
|
|
8
9
|
export * from './SubmissionSingle';
|
|
@@ -3,6 +3,7 @@ export { default as SubmissionFollowUp } from "./SubmissionFollowUp.vue";
|
|
|
3
3
|
export { default as SubmissionAudit } from "./SubmissionAudit.vue";
|
|
4
4
|
export { default as SubmissionDecision } from "./SubmissionDecision.vue";
|
|
5
5
|
export { default as SubmissionWaitingDecision } from "./SubmissionWaitingDecision.vue";
|
|
6
|
+
export { default as SubmissionForDecision } from "./SubmissionForDecision.vue";
|
|
6
7
|
export { default as SubmissionSupervisor } from "./SubmissionSupervisor.vue";
|
|
7
8
|
export * from "./SubmissionCollection/index.mjs";
|
|
8
9
|
export * from "./SubmissionSingle/index.mjs";
|
|
@@ -3,6 +3,7 @@ export { default as SubmissionFollowUp } from './SubmissionFollowUp.vue';
|
|
|
3
3
|
export { default as SubmissionAudit } from './SubmissionAudit.vue';
|
|
4
4
|
export { default as SubmissionDecision } from './SubmissionDecision.vue';
|
|
5
5
|
export { default as SubmissionWaitingDecision } from './SubmissionWaitingDecision.vue';
|
|
6
|
+
export { default as SubmissionForDecision } from './SubmissionForDecision.vue';
|
|
6
7
|
export { default as SubmissionSupervisor } from './SubmissionSupervisor.vue';
|
|
7
8
|
export * from './SubmissionCollection';
|
|
8
9
|
export * from './SubmissionSingle';
|