@7365admin1/layer-common 4.118.4 → 4.118.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/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,17 @@
|
|
|
1
1
|
# @iservice365/layer-common
|
|
2
2
|
|
|
3
|
+
## 4.118.6
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- 16e1cd2: Incident report PDF: the Incident Information block is a real table whose heading row repeats on every page, so each page starts with a closed top edge and nothing is painted in the page margin.
|
|
8
|
+
|
|
9
|
+
## 4.118.5
|
|
10
|
+
|
|
11
|
+
### Patch Changes
|
|
12
|
+
|
|
13
|
+
- d86b42b: Incident report PDF: every field cell has a top and bottom edge, so a cell that starts a new page is not open at the top.
|
|
14
|
+
|
|
3
15
|
## 4.118.4
|
|
4
16
|
|
|
5
17
|
### Patch Changes
|
|
@@ -3151,11 +3163,11 @@ Monthly report: a month that had patrols opens the list of that month's patrol r
|
|
|
3151
3163
|
`utils/console-tier.ts` + `composables/useConsoleTier.ts` mirror the server's
|
|
3152
3164
|
own rule from two endpoints the console already calls, unprojected:
|
|
3153
3165
|
|
|
3154
|
-
|
|
3155
|
-
|
|
3166
|
+
GET /api/members/user/:user/app/admin the Seven365 staff membership
|
|
3167
|
+
GET /api/roles/id/:role that membership's role document
|
|
3156
3168
|
|
|
3157
|
-
|
|
3158
|
-
|
|
3169
|
+
owner = member.type === "admin" && role.type === "admin" && role.default === true
|
|
3170
|
+
staff = member.type === "admin" && role.type === "admin"
|
|
3159
3171
|
|
|
3160
3172
|
`role.default` is the marker because it is the only property of a platform
|
|
3161
3173
|
staff role no API caller can set - `role.controller.ts` validates create and
|
|
@@ -10,156 +10,188 @@
|
|
|
10
10
|
Reported by: {{ companyName }}
|
|
11
11
|
</p>
|
|
12
12
|
</div>
|
|
13
|
-
<
|
|
14
|
-
<
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
<
|
|
20
|
-
<
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
<
|
|
24
|
-
<
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
<
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
<
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
<
|
|
40
|
-
|
|
41
|
-
{{ incidentInformation?.
|
|
42
|
-
</
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
<
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
<
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
</
|
|
121
|
-
<
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
13
|
+
<table class="ir-table mt-5">
|
|
14
|
+
<colgroup>
|
|
15
|
+
<col style="width: 8.3333%" />
|
|
16
|
+
<col style="width: 8.3333%" />
|
|
17
|
+
<col style="width: 8.3333%" />
|
|
18
|
+
<col style="width: 8.3333%" />
|
|
19
|
+
<col style="width: 8.3333%" />
|
|
20
|
+
<col style="width: 8.3333%" />
|
|
21
|
+
<col style="width: 8.3333%" />
|
|
22
|
+
<col style="width: 8.3333%" />
|
|
23
|
+
<col style="width: 8.3333%" />
|
|
24
|
+
<col style="width: 8.3333%" />
|
|
25
|
+
<col style="width: 8.3333%" />
|
|
26
|
+
<col style="width: 8.3333%" />
|
|
27
|
+
</colgroup>
|
|
28
|
+
<thead>
|
|
29
|
+
<tr>
|
|
30
|
+
<th colspan="12" class="ir-section text-h6 pa-2 text-center bg-warning text-on-warning">Incident Information</th>
|
|
31
|
+
</tr>
|
|
32
|
+
</thead>
|
|
33
|
+
<tbody>
|
|
34
|
+
<tr>
|
|
35
|
+
<td colspan="6" class="pa-3 ir-cell">
|
|
36
|
+
<p class="font-weight-bold">Site</p>
|
|
37
|
+
<p>{{ siteName || "-" }}</p>
|
|
38
|
+
</td>
|
|
39
|
+
<td colspan="6" class="pa-3 ir-cell">
|
|
40
|
+
<p class="font-weight-bold">Reference</p>
|
|
41
|
+
<p>{{ incidentInformation?.siteInfo?.irNumber || "-" }}</p>
|
|
42
|
+
</td>
|
|
43
|
+
</tr>
|
|
44
|
+
<tr v-if="companyName">
|
|
45
|
+
<td colspan="12" class="pa-3 ir-cell">
|
|
46
|
+
<p class="font-weight-bold">Reported by (Company)</p>
|
|
47
|
+
<p>{{ companyName }}</p>
|
|
48
|
+
</td>
|
|
49
|
+
</tr>
|
|
50
|
+
<tr>
|
|
51
|
+
<td colspan="6" class="pa-3 ir-cell">
|
|
52
|
+
<p class="font-weight-bold">Place of Incident</p>
|
|
53
|
+
<p>
|
|
54
|
+
{{ incidentInformation?.placeOfIncident?.incidentLocation || "-" }}
|
|
55
|
+
</p>
|
|
56
|
+
</td>
|
|
57
|
+
<td colspan="6" class="pa-3 ir-cell">
|
|
58
|
+
<p class="font-weight-bold">Type of Incident</p>
|
|
59
|
+
<p>
|
|
60
|
+
{{ incidentInformation?.incidentTypeAndTime?.typeOfIncident || "-" }}
|
|
61
|
+
</p>
|
|
62
|
+
</td>
|
|
63
|
+
</tr>
|
|
64
|
+
<tr>
|
|
65
|
+
<td colspan="6" class="pa-3 ir-cell">
|
|
66
|
+
<p class="font-weight-bold">Date of Incident</p>
|
|
67
|
+
<p>
|
|
68
|
+
{{
|
|
69
|
+
toLocalDate(
|
|
70
|
+
incidentInformation?.incidentTypeAndTime?.dateOfIncident
|
|
71
|
+
) || "NA"
|
|
72
|
+
}}
|
|
73
|
+
</p>
|
|
74
|
+
</td>
|
|
75
|
+
<td colspan="6" class="pa-3 ir-cell">
|
|
76
|
+
<p class="font-weight-bold">Incident Start Time</p>
|
|
77
|
+
<p>
|
|
78
|
+
{{ incidentInformation?.incidentTypeAndTime?.incidentStart || "-" }}
|
|
79
|
+
</p>
|
|
80
|
+
</td>
|
|
81
|
+
</tr>
|
|
82
|
+
<tr>
|
|
83
|
+
<td colspan="6" class="pa-3 ir-cell">
|
|
84
|
+
<p class="font-weight-bold">Time of Response (From 1st Contact)</p>
|
|
85
|
+
<p>
|
|
86
|
+
{{ incidentInformation?.incidentTypeAndTime?.timeOfResponse || "-" }}
|
|
87
|
+
</p>
|
|
88
|
+
</td>
|
|
89
|
+
<td colspan="6" class="pa-3 ir-cell">
|
|
90
|
+
<p class="font-weight-bold">Incident End Time</p>
|
|
91
|
+
<p>
|
|
92
|
+
{{ incidentInformation?.incidentTypeAndTime?.incidentEnd || "-" }}
|
|
93
|
+
</p>
|
|
94
|
+
</td>
|
|
95
|
+
</tr>
|
|
96
|
+
<tr>
|
|
97
|
+
<td colspan="6" class="pa-3 ir-cell">
|
|
98
|
+
<p class="font-weight-bold">Date of Report Submission</p>
|
|
99
|
+
<p>
|
|
100
|
+
{{
|
|
101
|
+
toLocalDate(incidentInformation?.submissionForm?.dateOfReport) ||
|
|
102
|
+
"NA"
|
|
103
|
+
}}
|
|
104
|
+
</p>
|
|
105
|
+
</td>
|
|
106
|
+
<td colspan="6" class="pa-3 ir-cell">
|
|
107
|
+
<p class="font-weight-bold">Time of Report Submission</p>
|
|
108
|
+
<p>{{ incidentInformation?.submissionForm?.time || "-" }}</p>
|
|
109
|
+
</td>
|
|
110
|
+
</tr>
|
|
111
|
+
<tr>
|
|
112
|
+
<td colspan="6" class="pa-3 ir-cell">
|
|
113
|
+
<p class="font-weight-bold">Report Submitted By</p>
|
|
114
|
+
<p>{{ incidentInformation?.siteInfo?.submittedBy || "-" }}</p>
|
|
115
|
+
</td>
|
|
116
|
+
<td colspan="6" class="pa-3 ir-cell">
|
|
117
|
+
<p class="font-weight-bold">Designation</p>
|
|
118
|
+
<p>{{ incidentInformation?.siteInfo?.designation || "-" }}</p>
|
|
119
|
+
</td>
|
|
120
|
+
</tr>
|
|
121
|
+
<tr>
|
|
122
|
+
<td colspan="4" class="pa-3 ir-cell">
|
|
123
|
+
<p class="font-weight-bold">Name of Informant/Complainant</p>
|
|
124
|
+
<p>{{ incidentInformation?.complaintInfo?.complainant || "-" }}</p>
|
|
125
|
+
</td>
|
|
126
|
+
<td colspan="4" class="pa-3 ir-cell">
|
|
127
|
+
<p class="font-weight-bold">Contact No.</p>
|
|
128
|
+
<p>{{ incidentInformation?.complaintInfo?.contact || "-" }}</p>
|
|
129
|
+
</td>
|
|
130
|
+
<td colspan="4" class="pa-3 ir-cell">
|
|
131
|
+
<p class="font-weight-bold">NRIC/WP No.</p>
|
|
132
|
+
<p>
|
|
133
|
+
{{
|
|
134
|
+
showNRICComplainant
|
|
135
|
+
? incidentInformation?.complaintInfo?.nric || "-"
|
|
136
|
+
: maskNRIC(incidentInformation?.complaintInfo?.nric)
|
|
137
|
+
}}
|
|
138
|
+
</p>
|
|
139
|
+
</td>
|
|
140
|
+
</tr>
|
|
141
|
+
<tr>
|
|
142
|
+
<td colspan="4" class="pa-3 ir-cell">
|
|
143
|
+
<p class="font-weight-bold">
|
|
144
|
+
Name of Recipient of Complaint (1st Contact)
|
|
145
|
+
</p>
|
|
146
|
+
<p>{{ incidentInformation?.recipientOfComplaint?.recipient || "-" }}</p>
|
|
147
|
+
</td>
|
|
148
|
+
<td colspan="4" class="pa-3 ir-cell">
|
|
149
|
+
<p class="font-weight-bold">Contact No.</p>
|
|
150
|
+
<p>{{ incidentInformation?.recipientOfComplaint?.contact || "-" }}</p>
|
|
151
|
+
</td>
|
|
152
|
+
<td colspan="4" class="pa-3 ir-cell">
|
|
153
|
+
<p class="font-weight-bold">NRIC/WP No.</p>
|
|
154
|
+
<p>
|
|
155
|
+
{{
|
|
156
|
+
showNRICRecipient
|
|
157
|
+
? incidentInformation?.recipientOfComplaint?.nric || "-"
|
|
158
|
+
: maskNRIC(incidentInformation?.recipientOfComplaint?.nric)
|
|
159
|
+
}}
|
|
160
|
+
</p>
|
|
161
|
+
</td>
|
|
162
|
+
</tr>
|
|
163
|
+
<tr v-if="
|
|
142
164
|
incidentInformation?.complaintReceivedTo?.receivedVia != 'others'
|
|
143
|
-
"
|
|
144
|
-
>
|
|
145
|
-
|
|
146
|
-
|
|
165
|
+
">
|
|
166
|
+
<td colspan="12" class="pa-3 ir-cell">
|
|
167
|
+
<p class="font-weight-bold">Complaint Received through</p>
|
|
168
|
+
<p
|
|
169
|
+
v-if="
|
|
170
|
+
incidentInformation?.complaintReceivedTo?.receivedVia != 'others'
|
|
171
|
+
"
|
|
172
|
+
>
|
|
173
|
+
{{ incidentInformation?.complaintReceivedTo?.receivedVia || "-" }}
|
|
174
|
+
</p>
|
|
147
175
|
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
<
|
|
156
|
-
<
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
176
|
+
<p v-else>
|
|
177
|
+
{{
|
|
178
|
+
incidentInformation?.complaintReceivedTo?.otherDescription || "-"
|
|
179
|
+
}}
|
|
180
|
+
</p>
|
|
181
|
+
</td>
|
|
182
|
+
</tr>
|
|
183
|
+
<tr>
|
|
184
|
+
<td colspan="12" class="pa-3 ir-cell">
|
|
185
|
+
<p class="font-weight-bold">Brief Description</p>
|
|
186
|
+
<p>
|
|
187
|
+
{{
|
|
188
|
+
incidentInformation?.complaintReceivedTo?.briefDescription || "-"
|
|
189
|
+
}}
|
|
190
|
+
</p>
|
|
191
|
+
</td>
|
|
192
|
+
</tr>
|
|
193
|
+
</tbody>
|
|
194
|
+
</table>
|
|
163
195
|
</div>
|
|
164
196
|
</template>
|
|
165
197
|
|
|
@@ -270,16 +302,24 @@ const maskNRIC = (value: any) => {
|
|
|
270
302
|
}
|
|
271
303
|
.ir-status--approved { color: #2e7d32; }
|
|
272
304
|
.ir-status--rejected { color: #c62828; }
|
|
273
|
-
/*
|
|
274
|
-
|
|
275
|
-
.
|
|
276
|
-
|
|
277
|
-
|
|
305
|
+
/* One table: borders collapse into single 1px rules. The heading row is the table
|
|
306
|
+
header, so it repeats at the top of every page and every page starts with a
|
|
307
|
+
closed top edge; rows never split. */
|
|
308
|
+
.ir-table {
|
|
309
|
+
width: 100%;
|
|
310
|
+
table-layout: fixed;
|
|
311
|
+
border-collapse: collapse;
|
|
312
|
+
}
|
|
313
|
+
.ir-table thead {
|
|
314
|
+
display: table-header-group;
|
|
315
|
+
}
|
|
316
|
+
.ir-table tr {
|
|
278
317
|
break-inside: avoid;
|
|
279
318
|
page-break-inside: avoid;
|
|
280
319
|
}
|
|
281
|
-
.ir-cell
|
|
282
|
-
border
|
|
320
|
+
.ir-cell {
|
|
321
|
+
border: 1px solid #8a8a8a;
|
|
322
|
+
vertical-align: top;
|
|
283
323
|
}
|
|
284
324
|
/* A label always travels with its value. */
|
|
285
325
|
.ir-cell p:first-child {
|
|
@@ -287,7 +327,7 @@ const maskNRIC = (value: any) => {
|
|
|
287
327
|
page-break-after: avoid;
|
|
288
328
|
}
|
|
289
329
|
.ir-section {
|
|
290
|
-
break-after: avoid;
|
|
291
330
|
border: 1px solid #8a8a8a;
|
|
331
|
+
font-weight: 400;
|
|
292
332
|
}
|
|
293
333
|
</style>
|
package/package.json
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"name": "@7365admin1/layer-common",
|
|
3
3
|
"license": "MIT",
|
|
4
4
|
"type": "module",
|
|
5
|
-
"version": "4.118.
|
|
5
|
+
"version": "4.118.6",
|
|
6
6
|
"author": "7365admin1",
|
|
7
7
|
"main": "./nuxt.config.ts",
|
|
8
8
|
"//files": "What a consumer extending this layer actually loads. Without this npm ships the whole working tree - the changesets, the CI workflows, the render harness in tools/ and any scratch directory that happened to exist at publish time. Nuxt resolves a layer by directory, so every runtime directory below has to stay listed; adding a new top-level runtime directory means adding it here too.",
|