@neutron.co.id/operasional-interfaces 1.13.0-beta.1 → 1.13.1-beta.1

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.
@@ -128,7 +128,7 @@
128
128
  </template>
129
129
  </NeonField>
130
130
  </div>
131
- </div>
131
+ </div>
132
132
 
133
133
  <NeonField
134
134
  v-model="values.title"
@@ -165,10 +165,9 @@
165
165
  values.status === 'monitored' ||
166
166
  values.status === 'discontinued' ||
167
167
  values.status === 'resolved'
168
-
169
- "
168
+ "
170
169
  />
171
-
170
+
172
171
  <OfficeRelation
173
172
  v-model="values"
174
173
  :field="fields.type"
@@ -185,82 +184,90 @@
185
184
 
186
185
  <div class="flex items-right">
187
186
  <div class="flex-grow">
188
- <NeonFields class="flex-1">
189
- <OfficeRelation
190
- v-model="values"
191
- :field="fields.submissionStaffs"
192
- :query="Query.define(submissionStaffOptions)"
193
- :is-disabled="
194
- values.status === 'processed' ||
195
- values.status === 'approved' ||
196
- values.status === 'monitored' ||
197
- values.status === 'discontinued' ||
198
- values.status === 'resolved' ||
199
- values.hasRaiseStaffIds?.length
200
- ? true
201
- : false
202
- "
203
- />
204
-
205
- </NeonFields>
206
- </div>
207
- <div class="ml-2 flex items-end pb-1" >
208
- <NeonCopy :size="'sm'" :value="copyStaff.linkStaff" />
209
- </div>
187
+ <NeonFields class="flex-1">
188
+ <OfficeRelation
189
+ v-model="values"
190
+ :field="fields.submissionStaffs"
191
+ :query="Query.define(submissionStaffOptions)"
192
+ :is-disabled="
193
+ values.status === 'processed' ||
194
+ values.status === 'approved' ||
195
+ values.status === 'monitored' ||
196
+ values.status === 'discontinued' ||
197
+ values.status === 'resolved' ||
198
+ values.hasRaiseStaffIds?.length
199
+ ? true
200
+ : false
201
+ "
202
+ />
203
+ </NeonFields>
204
+ </div>
205
+ <div class="ml-2 flex items-end pb-1">
206
+ <NeonCopy :size="'sm'" :value="copyStaff.linkStaff" />
207
+ </div>
210
208
  </div>
211
-
209
+
212
210
  <div class="flex items-right">
213
211
  <div class="flex-grow">
214
- <NeonFields class="flex-1">
215
- <OfficeRelation
216
- v-model="values"
217
- :field="fields.raiseStaffs"
218
- :query="Query.define(roleStaffOptions)"
219
- :is-disabled="
220
- values.status === 'processed' ||
221
- values.status === 'approved' ||
222
- values.status === 'monitored' ||
223
- values.status === 'discontinued' ||
224
- values.status === 'resolved' ||
225
- values.hasProcessStaffIds?.length
226
- ? true
227
- : false
228
- "
229
- />
230
- </NeonFields>
231
-
232
- </div>
233
- <div class="ml-2 flex items-end pb-1" >
234
- <NeonCopy :size="'sm'" :value="copyRaise.linkAudit" />
212
+ <NeonFields class="flex-1">
213
+ <OfficeRelation
214
+ v-model="values"
215
+ :field="fields.raiseStaffs"
216
+ :query="Query.define(roleStaffOptions)"
217
+ :is-disabled="
218
+ values.status === 'processed' ||
219
+ values.status === 'approved' ||
220
+ values.status === 'monitored' ||
221
+ values.status === 'discontinued' ||
222
+ values.status === 'resolved' ||
223
+ values.hasProcessStaffIds?.length
224
+ ? true
225
+ : false
226
+ "
227
+ />
228
+ </NeonFields>
229
+ </div>
230
+ <div class="ml-2 flex items-end pb-1">
231
+ <NeonCopy :size="'sm'" :value="copyRaise.linkAudit" />
232
+ </div>
235
233
  </div>
236
- </div>
237
234
 
238
- <div class="flex items-right">
239
- <div class="flex-grow">
240
- <NeonFields class="flex-1">
241
- <OfficeRelation
242
- v-model="values"
243
- :field="fields.decideStaffs"
244
- :query="Query.define(roleDecideStaffOptions)"
245
- :is-disabled="
246
- values.status === 'processed' ||
247
- values.status === 'approved' ||
248
- values.status === 'monitored' ||
249
- values.status === 'discontinued' ||
250
- values.status === 'resolved'
251
- "
252
- />
253
- </NeonFields>
235
+ <div class="flex items-right">
236
+ <div class="flex-grow">
237
+ <NeonFields class="flex-1">
238
+ <OfficeRelation
239
+ v-model="values"
240
+ :field="fields.decideStaffs"
241
+ :query="Query.define(roleDecideStaffOptions)"
242
+ :is-disabled="
243
+ values.status === 'processed' ||
244
+ values.status === 'approved' ||
245
+ values.status === 'monitored' ||
246
+ values.status === 'discontinued' ||
247
+ values.status === 'resolved'
248
+ "
249
+ />
250
+ </NeonFields>
251
+ </div>
252
+ <div class="ml-2 flex items-end pb-1">
253
+ <NeonCopy :size="'sm'" :value="copyDecision.linkDecision" />
254
+ </div>
255
+ </div>
254
256
 
255
- </div>
256
- <div class="ml-2 flex items-end pb-1" >
257
- <NeonCopy :size="'sm'" :value="copyDecision.linkDecision" />
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.followUpStaffs"
263
+ />
264
+ </NeonFields>
265
+ </div>
266
+ <div class="ml-2 flex items-end pb-1">
267
+ <NeonCopy :size="'sm'" :value="copyFollowup.linkFollowup" />
258
268
  </div>
259
- </div>
260
-
261
- <OfficeRelation v-model="values" :field="fields.followUpStaffs">
262
- </OfficeRelation>
263
-
269
+ </div>
270
+
264
271
  <NeonField
265
272
  v-model="values.preparedAt"
266
273
  v-bind="fields.preparedAt"
@@ -572,33 +579,42 @@ const syncLowered = async () => {
572
579
  // window.location.href = `/pengajuan/audit-submission?peek=neu:personalia:submission:${id.value}:single-audit-view:m`
573
580
  }
574
581
 
575
- const copyStaff= computed(() => {
576
- executeOne('', { submissionId: id.value });
577
- const linkStaff = `${window.location.origin}/pengajuan/staff-submission/${id.value}`;
582
+ const copyStaff = computed(() => {
583
+ executeOne('', { submissionId: id.value })
584
+ const linkStaff = `${window.location.origin}/pengajuan/staff-submission/${id.value}`
578
585
 
579
- return {
580
- icon: 'brands:link',
581
- linkStaff,
582
- };
583
- });
586
+ return {
587
+ icon: 'brands:link',
588
+ linkStaff,
589
+ }
590
+ })
584
591
 
585
- const copyDecision= computed(()=> {
586
- executeOne('', { submissionId: id.value });
587
- const linkDecision = `${window.location.origin}/pengajuan/decision-submission/${id.value}`;
592
+ const copyDecision = computed(() => {
593
+ executeOne('', { submissionId: id.value })
594
+ const linkDecision = `${window.location.origin}/pengajuan/decision-submission/${id.value}`
588
595
  return {
589
- icon: 'brands:link',
590
- linkDecision,
591
- };
592
- });
593
-
594
- const copyRaise= computed(()=> {
595
- executeOne('', { submissionId: id.value });
596
- const linkAudit = `${window.location.origin}/pengajuan/audit-submission/${id.value}`;
597
- return {
598
- icon: 'brands:link',
599
- linkAudit,
600
- };
601
- });
596
+ icon: 'brands:link',
597
+ linkDecision,
598
+ }
599
+ })
600
+
601
+ const copyRaise = computed(() => {
602
+ executeOne('', { submissionId: id.value })
603
+ const linkAudit = `${window.location.origin}/pengajuan/audit-submission/${id.value}`
604
+ return {
605
+ icon: 'brands:link',
606
+ linkAudit,
607
+ }
608
+ })
609
+
610
+ const copyFollowup = computed(() => {
611
+ executeOne('', { submissionId: id.value })
612
+ const linkFollowup = `${window.location.origin}/pengajuan/follow-up-submission/${id.value}`
613
+ return {
614
+ icon: 'brands:link',
615
+ linkFollowup,
616
+ }
617
+ })
602
618
  </script>
603
619
 
604
620
  <style scoped>
@@ -119,80 +119,90 @@
119
119
  </NeonFields>
120
120
 
121
121
  <div class="flex items-right">
122
- <div class="flex-grow">
122
+ <div class="flex-grow">
123
123
  <NeonFields class="flex-1">
124
- <OfficeRelation
125
- v-model="values"
126
- :field="fields.submissionStaffs"
127
- :query="Query.define(submissionStaffOptions)"
128
- :is-disabled="
129
- values.status === 'raised' ||
130
- values.status === 'processed' ||
131
- values.status === 'delay' ||
132
- values.status === 'approved' ||
133
- values.status === 'monitored' ||
134
- values.status === 'discontinued' ||
135
- values.status === 'resolved'
136
- "
137
- />
138
- </NeonFields>
139
- </div>
140
- <div class="ml-2 flex items-end pb-1" >
141
- <NeonCopy :size="'sm'" :value="copyStaff.linkStaff" />
124
+ <OfficeRelation
125
+ v-model="values"
126
+ :field="fields.submissionStaffs"
127
+ :query="Query.define(submissionStaffOptions)"
128
+ :is-disabled="
129
+ values.status === 'raised' ||
130
+ values.status === 'processed' ||
131
+ values.status === 'delay' ||
132
+ values.status === 'approved' ||
133
+ values.status === 'monitored' ||
134
+ values.status === 'discontinued' ||
135
+ values.status === 'resolved'
136
+ "
137
+ />
138
+ </NeonFields>
139
+ </div>
140
+ <div class="ml-2 flex items-end pb-1">
141
+ <NeonCopy :size="'sm'" :value="copyStaff.linkStaff" />
142
+ </div>
142
143
  </div>
143
- </div>
144
144
 
145
-
146
- <div class="flex items-right">
147
- <div class="flex-grow">
148
- <NeonFields class="flex-1">
149
- <OfficeRelation
150
- v-model="values"
151
- :field="fields.raiseStaffs"
152
- :query="Query.define(roleStaffOptions)"
153
- :is-disabled="
154
- values.status === 'raised' ||
155
- values.status === 'processed' ||
156
- values.status === 'delay' ||
157
- values.status === 'approved' ||
158
- values.status === 'monitored' ||
159
- values.status === 'discontinued' ||
160
- values.status === 'resolved'
161
- "
162
- />
163
- </NeonFields>
164
- </div>
165
- <div class="ml-2 flex items-end pb-1" >
166
- <NeonCopy :size="'sm'" :value="copyRaise.linkAudit" />
145
+ <div class="flex items-right">
146
+ <div class="flex-grow">
147
+ <NeonFields class="flex-1">
148
+ <OfficeRelation
149
+ v-model="values"
150
+ :field="fields.raiseStaffs"
151
+ :query="Query.define(roleStaffOptions)"
152
+ :is-disabled="
153
+ values.status === 'raised' ||
154
+ values.status === 'processed' ||
155
+ values.status === 'delay' ||
156
+ values.status === 'approved' ||
157
+ values.status === 'monitored' ||
158
+ values.status === 'discontinued' ||
159
+ values.status === 'resolved'
160
+ "
161
+ />
162
+ </NeonFields>
163
+ </div>
164
+ <div class="ml-2 flex items-end pb-1">
165
+ <NeonCopy :size="'sm'" :value="copyRaise.linkAudit" />
166
+ </div>
167
167
  </div>
168
- </div>
169
168
 
170
- <div class="flex items-right">
171
- <div class="flex-grow">
172
- <NeonFields class="flex-1">
173
- <OfficeRelation
174
- v-model="values"
175
- :field="fields.decideStaffs"
176
- :query="Query.define(roleDecideStaffOptions)"
177
- :is-disabled="
178
- values.status === 'raised' ||
179
- values.status === 'processed' ||
180
- values.status === 'delay' ||
181
- values.status === 'approved' ||
182
- values.status === 'monitored' ||
183
- values.status === 'discontinued' ||
184
- values.status === 'resolved'
185
- "
186
- />
187
-
188
- </NeonFields>
189
- </div>
190
- <div class="ml-2 flex items-end pb-1" >
191
- <NeonCopy :size="'sm'" :value="copyDecision.linkDecision" />
169
+ <div class="flex items-right">
170
+ <div class="flex-grow">
171
+ <NeonFields class="flex-1">
172
+ <OfficeRelation
173
+ v-model="values"
174
+ :field="fields.decideStaffs"
175
+ :query="Query.define(roleDecideStaffOptions)"
176
+ :is-disabled="
177
+ values.status === 'raised' ||
178
+ values.status === 'processed' ||
179
+ values.status === 'delay' ||
180
+ values.status === 'approved' ||
181
+ values.status === 'monitored' ||
182
+ values.status === 'discontinued' ||
183
+ values.status === 'resolved'
184
+ "
185
+ />
186
+ </NeonFields>
187
+ </div>
188
+ <div class="ml-2 flex items-end pb-1">
189
+ <NeonCopy :size="'sm'" :value="copyDecision.linkDecision" />
190
+ </div>
192
191
  </div>
193
- </div>
194
192
 
195
- <OfficeRelation v-model="values" :field="fields.followUpStaffs" />
193
+ <div class="flex items-right">
194
+ <div class="flex-grow">
195
+ <NeonFields class="flex-1">
196
+ <OfficeRelation
197
+ v-model="values"
198
+ :field="fields.followUpStaffs"
199
+ />
200
+ </NeonFields>
201
+ </div>
202
+ <div class="ml-2 flex items-end pb-1">
203
+ <NeonCopy :size="'sm'" :value="copyFollowup.linkFollowup" />
204
+ </div>
205
+ </div>
196
206
 
197
207
  <!-- <NeonField
198
208
  v-model="values.specifications"
@@ -500,33 +510,41 @@ const syncApproved = async () => {
500
510
  // window.location.href = `/pengajuan/decision-submission?peek=neu:personalia:submission:${id.value}:single-decision-view:m`
501
511
  }
502
512
 
503
- const copyStaff= computed(() => {
504
- executeOne('', { submissionId: id.value });
505
- const linkStaff = `${window.location.origin}/pengajuan/staff-submission/${id.value}`;
513
+ const copyStaff = computed(() => {
514
+ executeOne('', { submissionId: id.value })
515
+ const linkStaff = `${window.location.origin}/pengajuan/staff-submission/${id.value}`
516
+
517
+ return {
518
+ icon: 'brands:link',
519
+ linkStaff,
520
+ }
521
+ })
506
522
 
507
- return {
508
- icon: 'brands:link',
509
- linkStaff,
510
- };
511
- });
523
+ const copyDecision = computed(() => {
524
+ executeOne('', { submissionId: id.value })
525
+ const linkDecision = `${window.location.origin}/pengajuan/decision-submission/${id.value}`
526
+ return {
527
+ icon: 'brands:link',
528
+ linkDecision,
529
+ }
530
+ })
512
531
 
513
- const copyDecision= computed(()=> {
514
- executeOne('', { submissionId: id.value });
515
- const linkDecision = `${window.location.origin}/pengajuan/decision-submission/${id.value}`;
532
+ const copyRaise = computed(() => {
533
+ executeOne('', { submissionId: id.value })
534
+ const linkAudit = `${window.location.origin}/pengajuan/audit-submission/${id.value}`
535
+ return {
536
+ icon: 'brands:link',
537
+ linkAudit,
538
+ }
539
+ })
540
+ const copyFollowup = computed(() => {
541
+ executeOne('', { submissionId: id.value })
542
+ const linkFollowup = `${window.location.origin}/pengajuan/follow-up-submission/${id.value}`
516
543
  return {
517
- icon: 'brands:link',
518
- linkDecision,
519
- };
520
- });
521
-
522
- const copyRaise= computed(()=> {
523
- executeOne('', { submissionId: id.value });
524
- const linkAudit = `${window.location.origin}/pengajuan/audit-submission/${id.value}`;
525
- return {
526
- icon: 'brands:link',
527
- linkAudit,
528
- };
529
- });
544
+ icon: 'brands:link',
545
+ linkFollowup,
546
+ }
547
+ })
530
548
  </script>
531
549
 
532
550
  <style scoped>
@@ -8,8 +8,10 @@ import type {
8
8
  Schema,
9
9
  } from '@neutron.co.id/personalia-models'
10
10
  import { SubmissionDetailTab, SubmissionDocumentTab } from './sections'
11
+ import { computed } from 'vue'
11
12
 
12
13
  const {
14
+ id,
13
15
  fields,
14
16
  initialValues,
15
17
  values,
@@ -18,7 +20,45 @@ const {
18
20
  isMain,
19
21
  saveOne,
20
22
  discardChanges,
23
+ executeOne,
21
24
  } = useSingle<Schema.Submission, TPersonaliaSubmissionModel>()
25
+
26
+ const copyStaff = computed(() => {
27
+ executeOne('', { submissionId: id.value })
28
+ const linkStaff = `${window.location.origin}/pengajuan/staff-submission/${id.value}`
29
+
30
+ return {
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
+ }
61
+ })
22
62
  </script>
23
63
 
24
64
  <template>
@@ -51,27 +91,64 @@ const {
51
91
  <OfficeRelation v-model="values" :field="fields.type" is-disabled />
52
92
  </NeonFields>
53
93
 
54
- <NeonFields md="grid-cols-2">
55
- <OfficeRelation
56
- v-model="values"
57
- :field="fields.submissionStaffs"
58
- is-disabled
59
- />
60
- <OfficeRelation
61
- v-model="values"
62
- :field="fields.raiseStaffs"
63
- is-disabled
64
- />
65
- </NeonFields>
66
-
67
- <NeonFields md="grid-cols-2">
68
- <OfficeRelation
69
- v-model="values"
70
- :field="fields.decideStaffs"
71
- is-disabled
72
- />
73
- <OfficeRelation v-model="values" :field="fields.followUpStaffs" />
74
- </NeonFields>
94
+ <div class="flex items-right">
95
+ <div class="flex-grow">
96
+ <NeonFields class="flex-1">
97
+ <OfficeRelation
98
+ v-model="values"
99
+ :field="fields.submissionStaffs"
100
+ is-disabled
101
+ />
102
+ </NeonFields>
103
+ </div>
104
+ <div class="ml-2 flex items-end pb-1">
105
+ <NeonCopy :size="'sm'" :value="copyStaff.linkStaff" />
106
+ </div>
107
+ </div>
108
+
109
+ <div class="flex items-right">
110
+ <div class="flex-grow">
111
+ <NeonFields class="flex-1">
112
+ <OfficeRelation
113
+ v-model="values"
114
+ :field="fields.raiseStaffs"
115
+ is-disabled
116
+ />
117
+ </NeonFields>
118
+ </div>
119
+ <div class="ml-2 flex items-end pb-1">
120
+ <NeonCopy :size="'sm'" :value="copyRaise.linkAudit" />
121
+ </div>
122
+ </div>
123
+
124
+ <div class="flex items-right">
125
+ <div class="flex-grow">
126
+ <NeonFields class="flex-1">
127
+ <OfficeRelation
128
+ v-model="values"
129
+ :field="fields.decideStaffs"
130
+ is-disabled
131
+ />
132
+ </NeonFields>
133
+ </div>
134
+ <div class="ml-2 flex items-end pb-1">
135
+ <NeonCopy :size="'sm'" :value="copyDecision.linkDecision" />
136
+ </div>
137
+ </div>
138
+
139
+ <div class="flex items-right">
140
+ <div class="flex-grow">
141
+ <NeonFields class="flex-1">
142
+ <OfficeRelation
143
+ v-model="values"
144
+ :field="fields.followUpStaffs"
145
+ />
146
+ </NeonFields>
147
+ </div>
148
+ <div class="ml-2 flex items-end pb-1">
149
+ <NeonCopy :size="'sm'" :value="copyFollowup.linkFollowup" />
150
+ </div>
151
+ </div>
75
152
 
76
153
  <!-- <NeonField
77
154
  v-model="values.specifications"