@7365admin1/layer-common 1.10.7 → 1.10.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/CHANGELOG.md +12 -0
- package/components/AccessCardAddForm.vue +1 -1
- package/components/AccessCardAssignToUnitForm.vue +1 -1
- package/components/AccessManagement.vue +1 -1
- package/components/{AddSupplyForm.vue → AddEqupmentForm.vue} +5 -5
- package/components/BuildingManagement/units.vue +2 -2
- package/components/BuildingUnitFormAdd.vue +4 -4
- package/components/BuildingUnitFormEdit.vue +114 -68
- package/components/Carousel.vue +474 -0
- package/components/DrawImage.vue +172 -0
- package/components/EntryPassInformation.vue +283 -29
- package/components/{CheckoutItemMain.vue → EquipmentItemMain.vue} +95 -87
- package/components/{SupplyManagement.vue → EquipmentManagement.vue} +3 -3
- package/components/Feedback/Form.vue +4 -4
- package/components/FeedbackMain.vue +748 -145
- package/components/FileInput.vue +289 -0
- package/components/Input/DateTimePicker.vue +17 -11
- package/components/ManageChecklistMain.vue +379 -41
- package/components/StockCard.vue +11 -7
- package/components/TableHygiene.vue +42 -452
- package/components/UnitPersonCard.vue +74 -14
- package/components/VisitorForm.vue +193 -52
- package/components/VisitorFormSelection.vue +13 -2
- package/components/VisitorManagement.vue +83 -55
- package/composables/useAccessManagement.ts +41 -18
- package/composables/useCleaningPermission.ts +7 -7
- package/composables/useDashboardData.ts +2 -2
- package/composables/useEquipment.ts +63 -0
- package/composables/{useCheckout.ts → useEquipmentItem.ts} +7 -7
- package/composables/{useCheckoutPermission.ts → useEquipmentItemPermission.ts} +13 -13
- package/composables/{useSupply.ts → useEquipmentManagement.ts} +1 -1
- package/composables/useEquipmentManagementPermission.ts +96 -0
- package/composables/{useSupplyPermission.ts → useEquipmentPermission.ts} +9 -9
- package/composables/useFeedback.ts +53 -21
- package/composables/useLocalAuth.ts +29 -1
- package/composables/useUploadFiles.ts +94 -0
- package/composables/useUtils.ts +152 -53
- package/composables/useVehicle.ts +21 -2
- package/composables/useVisitor.ts +9 -7
- package/composables/useWorkOrder.ts +25 -3
- package/package.json +2 -1
- package/types/building.d.ts +1 -1
- package/types/{checkout-item.d.ts → equipment-item.d.ts} +3 -3
- package/types/{supply.d.ts → equipment.d.ts} +2 -2
- package/types/feedback.d.ts +5 -2
- package/types/people.d.ts +3 -1
- package/types/user.d.ts +1 -0
- package/types/vehicle.d.ts +2 -0
- package/types/visitor.d.ts +2 -1
|
@@ -43,6 +43,16 @@ export default function useVehicle() {
|
|
|
43
43
|
);
|
|
44
44
|
}
|
|
45
45
|
|
|
46
|
+
async function searchMultipleVehiclesByUnitId({unitId, page = 1, limit = 10}: {unitId: string, page?: number, limit?: number}) {
|
|
47
|
+
return await useNuxtApp().$api<Record<string, any>>(
|
|
48
|
+
`/api/vehicles/unit/${unitId}`,
|
|
49
|
+
{
|
|
50
|
+
method: "GET",
|
|
51
|
+
query: { page, limit },
|
|
52
|
+
}
|
|
53
|
+
);
|
|
54
|
+
}
|
|
55
|
+
|
|
46
56
|
interface IDeleteVehicleParams {
|
|
47
57
|
site: string;
|
|
48
58
|
id: string;
|
|
@@ -90,7 +100,7 @@ export default function useVehicle() {
|
|
|
90
100
|
}
|
|
91
101
|
|
|
92
102
|
|
|
93
|
-
function formatVehicleStatus(status:
|
|
103
|
+
function formatVehicleStatus(status: TVehicleStatus) {
|
|
94
104
|
let label = ""
|
|
95
105
|
let color = ""
|
|
96
106
|
switch (status) {
|
|
@@ -106,6 +116,14 @@ export default function useVehicle() {
|
|
|
106
116
|
label = "Rejected"
|
|
107
117
|
color = "red"
|
|
108
118
|
break;
|
|
119
|
+
case 'deleted':
|
|
120
|
+
label = "Deleted"
|
|
121
|
+
color = "grey"
|
|
122
|
+
break;
|
|
123
|
+
case 'inactive':
|
|
124
|
+
label = "Deleted"
|
|
125
|
+
color = "grey"
|
|
126
|
+
break;
|
|
109
127
|
default:
|
|
110
128
|
label = status?.charAt(0).toUpperCase() + status?.slice(1) || ""
|
|
111
129
|
color = "grey"
|
|
@@ -123,6 +141,7 @@ export default function useVehicle() {
|
|
|
123
141
|
deleteVehicle,
|
|
124
142
|
getVehicleByNRIC,
|
|
125
143
|
formatVehicleStatus,
|
|
126
|
-
approveVehicle
|
|
144
|
+
approveVehicle,
|
|
145
|
+
searchMultipleVehiclesByUnitId
|
|
127
146
|
};
|
|
128
147
|
}
|
|
@@ -5,7 +5,7 @@ export default function () {
|
|
|
5
5
|
};
|
|
6
6
|
|
|
7
7
|
const visitorSelection: TVisitorSelection[] =[
|
|
8
|
-
|
|
8
|
+
{ label: "Drive-in", value: "guest" },
|
|
9
9
|
{ label: "Contractor", value: "contractor" },
|
|
10
10
|
{ label: "Walk-In", value: "walk-in" },
|
|
11
11
|
{ label: "Delivery", value: "delivery" },
|
|
@@ -14,7 +14,7 @@ export default function () {
|
|
|
14
14
|
];
|
|
15
15
|
|
|
16
16
|
const typeFieldMap: Record<TVisitorType, (keyof TVisitorPayload)[]> = {
|
|
17
|
-
guest: ['name', 'nric', 'contact', '
|
|
17
|
+
guest: ['name', 'nric', 'contact', 'block', 'plateNumber', 'level', 'unit' , 'unitName', 'remarks'],
|
|
18
18
|
contractor: ['contractorType', 'name', 'nric', 'company', 'contact', 'plateNumber', 'block', 'level', 'unit', 'unitName', 'remarks'],
|
|
19
19
|
'walk-in': ['name', 'company', 'nric', 'contact', 'block', 'level', 'unit' , 'unitName', 'remarks'],
|
|
20
20
|
delivery: ['attachments', 'name', 'deliveryType', 'company', 'nric', 'contact', 'plateNumber', 'block', 'level', 'unit' , 'unitName', 'remarks'],
|
|
@@ -33,7 +33,7 @@ export default function () {
|
|
|
33
33
|
type GetVisitorsParams = {
|
|
34
34
|
page?: number
|
|
35
35
|
limit?: number
|
|
36
|
-
sort?: "asc" | "desc"
|
|
36
|
+
// sort?: "asc" | "desc"
|
|
37
37
|
search?: string
|
|
38
38
|
org?: string
|
|
39
39
|
site?: string
|
|
@@ -42,20 +42,22 @@ export default function () {
|
|
|
42
42
|
type?: string
|
|
43
43
|
status?: string
|
|
44
44
|
checkedOut?: boolean
|
|
45
|
+
plateNumber?: string
|
|
45
46
|
}
|
|
46
47
|
|
|
47
48
|
async function getVisitors({
|
|
48
49
|
page = 1,
|
|
49
50
|
limit = 10,
|
|
50
|
-
sort = "asc",
|
|
51
|
+
// sort = "asc",
|
|
51
52
|
search = "",
|
|
52
53
|
org = "",
|
|
53
54
|
site = "",
|
|
54
55
|
dateTo = "",
|
|
55
56
|
dateFrom = "",
|
|
56
57
|
type = "",
|
|
57
|
-
status = "
|
|
58
|
+
status = "",
|
|
58
59
|
// status = "registered"
|
|
60
|
+
plateNumber = "",
|
|
59
61
|
checkedOut
|
|
60
62
|
}: GetVisitorsParams = {}) {
|
|
61
63
|
return await useNuxtApp().$api<Record<string, any>>(
|
|
@@ -65,7 +67,6 @@ export default function () {
|
|
|
65
67
|
query: {
|
|
66
68
|
page,
|
|
67
69
|
limit,
|
|
68
|
-
sort,
|
|
69
70
|
search,
|
|
70
71
|
org,
|
|
71
72
|
site,
|
|
@@ -73,7 +74,8 @@ export default function () {
|
|
|
73
74
|
dateFrom,
|
|
74
75
|
type,
|
|
75
76
|
status,
|
|
76
|
-
checkedOut
|
|
77
|
+
checkedOut,
|
|
78
|
+
plateNumber
|
|
77
79
|
},
|
|
78
80
|
}
|
|
79
81
|
);
|
|
@@ -72,9 +72,29 @@ export default function useWorkOrder() {
|
|
|
72
72
|
}
|
|
73
73
|
|
|
74
74
|
function deleteWorkOrder(id: string) {
|
|
75
|
-
return useNuxtApp().$api<Record<string, any>>(
|
|
76
|
-
|
|
77
|
-
|
|
75
|
+
return useNuxtApp().$api<Record<string, any>>(
|
|
76
|
+
`/api/work-orders/deleted/work-order/${id}`,
|
|
77
|
+
{
|
|
78
|
+
method: "PUT",
|
|
79
|
+
// query: { id },
|
|
80
|
+
}
|
|
81
|
+
);
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
function getWorkOrderSettings(_workOrderSettings: Record<string, any>) {
|
|
85
|
+
return useNuxtApp().$api<Record<string, any>>(
|
|
86
|
+
"/api/work-order-settings/get-by-site",
|
|
87
|
+
{
|
|
88
|
+
method: "POST",
|
|
89
|
+
body: _workOrderSettings,
|
|
90
|
+
}
|
|
91
|
+
);
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
function createWorkOrderSettings(_workOrderSettings: Record<string, any>) {
|
|
95
|
+
return useNuxtApp().$api<Record<string, any>>("/api/work-order-settings", {
|
|
96
|
+
method: "POST",
|
|
97
|
+
body: _workOrderSettings,
|
|
78
98
|
});
|
|
79
99
|
}
|
|
80
100
|
|
|
@@ -89,5 +109,7 @@ export default function useWorkOrder() {
|
|
|
89
109
|
getWorkOrderById,
|
|
90
110
|
updateWorkOrder,
|
|
91
111
|
deleteWorkOrder,
|
|
112
|
+
getWorkOrderSettings,
|
|
113
|
+
createWorkOrderSettings,
|
|
92
114
|
};
|
|
93
115
|
}
|
package/package.json
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"name": "@7365admin1/layer-common",
|
|
3
3
|
"license": "MIT",
|
|
4
4
|
"type": "module",
|
|
5
|
-
"version": "1.10.
|
|
5
|
+
"version": "1.10.9",
|
|
6
6
|
"author": "7365admin1",
|
|
7
7
|
"main": "./nuxt.config.ts",
|
|
8
8
|
"publishConfig": {
|
|
@@ -34,6 +34,7 @@
|
|
|
34
34
|
"@types/qrcode": "^1.5.6",
|
|
35
35
|
"ckeditor5": "^47.2.0",
|
|
36
36
|
"html2pdf.js": "^0.10.2",
|
|
37
|
+
"moment-timezone": "^0.6.0",
|
|
37
38
|
"qrcode": "^1.5.4",
|
|
38
39
|
"qrcode.vue": "^3.4.1",
|
|
39
40
|
"sass": "^1.80.6",
|
package/types/building.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
declare type
|
|
1
|
+
declare type TEquipmentItemApi = {
|
|
2
2
|
_id: string;
|
|
3
3
|
createdAt: string;
|
|
4
4
|
name: string;
|
|
@@ -10,7 +10,7 @@ declare type TCheckoutItemApi = {
|
|
|
10
10
|
attachment?: string[];
|
|
11
11
|
};
|
|
12
12
|
|
|
13
|
-
declare type
|
|
13
|
+
declare type TEquipmentItemCreate = {
|
|
14
14
|
items: Array<{
|
|
15
15
|
supply: string;
|
|
16
16
|
qty: number;
|
|
@@ -18,7 +18,7 @@ declare type TCheckoutItemCreate = {
|
|
|
18
18
|
}>;
|
|
19
19
|
};
|
|
20
20
|
|
|
21
|
-
declare type
|
|
21
|
+
declare type TEquipmentItem = {
|
|
22
22
|
supply: string;
|
|
23
23
|
supplyName: string;
|
|
24
24
|
qty: number;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
declare type
|
|
1
|
+
declare type TEquipment = {
|
|
2
2
|
_id: string;
|
|
3
3
|
name: string;
|
|
4
4
|
qty: number;
|
|
@@ -8,4 +8,4 @@ declare type TSupply = {
|
|
|
8
8
|
updatedAt: string;
|
|
9
9
|
};
|
|
10
10
|
|
|
11
|
-
declare type
|
|
11
|
+
declare type TEquipmentCreate = Pick<TEquipment, "name" | "unitOfMeasurement">;
|
package/types/feedback.d.ts
CHANGED
|
@@ -22,6 +22,7 @@ declare type TFeedback = {
|
|
|
22
22
|
createdBy?: string;
|
|
23
23
|
workOrderNo?: string;
|
|
24
24
|
workOrderId?: string;
|
|
25
|
+
app?: string;
|
|
25
26
|
};
|
|
26
27
|
|
|
27
28
|
declare type TFeedbackMetadata = {
|
|
@@ -38,7 +39,6 @@ declare type TFeedbackMetadata = {
|
|
|
38
39
|
declare type TFeedbackCreate = Pick<
|
|
39
40
|
TFeedback,
|
|
40
41
|
| "subject"
|
|
41
|
-
| "category"
|
|
42
42
|
| "location"
|
|
43
43
|
| "description"
|
|
44
44
|
| "attachments"
|
|
@@ -48,7 +48,10 @@ declare type TFeedbackCreate = Pick<
|
|
|
48
48
|
| "organization"
|
|
49
49
|
| "site"
|
|
50
50
|
| "createdBy"
|
|
51
|
-
|
|
51
|
+
| "app"
|
|
52
|
+
> & {
|
|
53
|
+
category?: string;
|
|
54
|
+
};
|
|
52
55
|
|
|
53
56
|
declare type TFeedbackUpdate = Pick<
|
|
54
57
|
TFeedback,
|
package/types/people.d.ts
CHANGED
|
@@ -18,11 +18,13 @@ declare type TPeople = {
|
|
|
18
18
|
type?: TPeopleType;
|
|
19
19
|
plates?: TPlateNumber[]
|
|
20
20
|
email?: string;
|
|
21
|
+
files?: { name: string, id: string }[];
|
|
22
|
+
isOwner?: boolean;
|
|
21
23
|
};
|
|
22
24
|
|
|
23
25
|
declare type TPlateNumber = { plateNumber: string, recNo: string, _id?: string, status: "active" | "deleted" | "pending", type: TVehicleType };
|
|
24
26
|
|
|
25
27
|
|
|
26
|
-
declare type TPeoplePayload = Pick<TGuest, "name" | "block" | "level" | "unit" | "unitName" | "contact" | "plateNumber" | "nric" | "contact" | "remarks" | "org" | "site" | "start" | "end" | "type">
|
|
28
|
+
declare type TPeoplePayload = Pick<TGuest, "name" | "block" | "level" | "unit" | "unitName" | "contact" | "plateNumber" | "nric" | "contact" | "remarks" | "org" | "site" | "start" | "end" | "type" | "isOwner">
|
|
27
29
|
|
|
28
30
|
declare type TPeopleType = "guest" | "resident" | "tenant"
|
package/types/user.d.ts
CHANGED
package/types/vehicle.d.ts
CHANGED
|
@@ -18,9 +18,11 @@ declare type TVehicle = {
|
|
|
18
18
|
org?: string;
|
|
19
19
|
_id?: string;
|
|
20
20
|
recNo?: string;
|
|
21
|
+
status?: TVehicleStatus;
|
|
21
22
|
};
|
|
22
23
|
|
|
23
24
|
declare type TVehicleType = "whitelist" | "blocklist";
|
|
25
|
+
declare type TVehicleStatus = "active" | 'inactive' | "pending" | "deleted" | "rejected" ;
|
|
24
26
|
|
|
25
27
|
declare type TVehiclePayload = Pick<
|
|
26
28
|
TVehicle,
|
package/types/visitor.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
declare type TVisitor = {
|
|
2
|
+
_id?: string;
|
|
2
3
|
name?: string;
|
|
3
4
|
type: TVisitorType;
|
|
4
5
|
company?: string | "";
|
|
@@ -23,7 +24,7 @@ declare type TVisitor = {
|
|
|
23
24
|
|
|
24
25
|
declare type TVisitorType = "contractor" | "delivery" | "walk-in" | "pick-up" | "drop-off" | "guest";
|
|
25
26
|
|
|
26
|
-
declare type TVisitorPayload = Pick<TVisitor, "name" | "type" | "company" | "block" | "level" | "unit" | "unitName" | "contact" | "plateNumber" | "checkOut" | "contractorType" | "deliveryType" | "nric" | "contact" | "remarks" | "attachments" | "org" | "site"> & {
|
|
27
|
+
declare type TVisitorPayload = Pick<TVisitor, "name" | "type" | "company" | "block" | "level" | "unit" | "unitName" | "contact" | "plateNumber" | "checkOut" | "contractorType" | "deliveryType" | "nric" | "contact" | "remarks" | "attachments" | "org" | "site" | "status"> & {
|
|
27
28
|
members?: TMemberInfo[]
|
|
28
29
|
}
|
|
29
30
|
|