@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.
Files changed (49) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/components/AccessCardAddForm.vue +1 -1
  3. package/components/AccessCardAssignToUnitForm.vue +1 -1
  4. package/components/AccessManagement.vue +1 -1
  5. package/components/{AddSupplyForm.vue → AddEqupmentForm.vue} +5 -5
  6. package/components/BuildingManagement/units.vue +2 -2
  7. package/components/BuildingUnitFormAdd.vue +4 -4
  8. package/components/BuildingUnitFormEdit.vue +114 -68
  9. package/components/Carousel.vue +474 -0
  10. package/components/DrawImage.vue +172 -0
  11. package/components/EntryPassInformation.vue +283 -29
  12. package/components/{CheckoutItemMain.vue → EquipmentItemMain.vue} +95 -87
  13. package/components/{SupplyManagement.vue → EquipmentManagement.vue} +3 -3
  14. package/components/Feedback/Form.vue +4 -4
  15. package/components/FeedbackMain.vue +748 -145
  16. package/components/FileInput.vue +289 -0
  17. package/components/Input/DateTimePicker.vue +17 -11
  18. package/components/ManageChecklistMain.vue +379 -41
  19. package/components/StockCard.vue +11 -7
  20. package/components/TableHygiene.vue +42 -452
  21. package/components/UnitPersonCard.vue +74 -14
  22. package/components/VisitorForm.vue +193 -52
  23. package/components/VisitorFormSelection.vue +13 -2
  24. package/components/VisitorManagement.vue +83 -55
  25. package/composables/useAccessManagement.ts +41 -18
  26. package/composables/useCleaningPermission.ts +7 -7
  27. package/composables/useDashboardData.ts +2 -2
  28. package/composables/useEquipment.ts +63 -0
  29. package/composables/{useCheckout.ts → useEquipmentItem.ts} +7 -7
  30. package/composables/{useCheckoutPermission.ts → useEquipmentItemPermission.ts} +13 -13
  31. package/composables/{useSupply.ts → useEquipmentManagement.ts} +1 -1
  32. package/composables/useEquipmentManagementPermission.ts +96 -0
  33. package/composables/{useSupplyPermission.ts → useEquipmentPermission.ts} +9 -9
  34. package/composables/useFeedback.ts +53 -21
  35. package/composables/useLocalAuth.ts +29 -1
  36. package/composables/useUploadFiles.ts +94 -0
  37. package/composables/useUtils.ts +152 -53
  38. package/composables/useVehicle.ts +21 -2
  39. package/composables/useVisitor.ts +9 -7
  40. package/composables/useWorkOrder.ts +25 -3
  41. package/package.json +2 -1
  42. package/types/building.d.ts +1 -1
  43. package/types/{checkout-item.d.ts → equipment-item.d.ts} +3 -3
  44. package/types/{supply.d.ts → equipment.d.ts} +2 -2
  45. package/types/feedback.d.ts +5 -2
  46. package/types/people.d.ts +3 -1
  47. package/types/user.d.ts +1 -0
  48. package/types/vehicle.d.ts +2 -0
  49. 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: string){
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
- // { label: "Guest", value: "guest" },
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', 'company', 'block', 'level', 'unit' , 'unitName', 'remarks'],
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 = "registered",
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>>(`/api/work-orders/deleted/work-order/${id}`, {
76
- method: "PUT",
77
- // query: { id },
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.7",
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",
@@ -9,7 +9,7 @@ declare type TBuilding = {
9
9
 
10
10
  declare type TBuildingUnit = {
11
11
  _id?: string;
12
- site: string;
12
+ site: TSite;
13
13
  name?: string;
14
14
  owner?: string;
15
15
  ownerName?: string;
@@ -1,4 +1,4 @@
1
- declare type TCheckoutItemApi = {
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 TCheckoutItemCreate = {
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 TCheckoutItem = {
21
+ declare type TEquipmentItem = {
22
22
  supply: string;
23
23
  supplyName: string;
24
24
  qty: number;
@@ -1,4 +1,4 @@
1
- declare type TSupply = {
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 TSupplyCreate = Pick<TSupply, "name" | "unitOfMeasurement">;
11
+ declare type TEquipmentCreate = Pick<TEquipment, "name" | "unitOfMeasurement">;
@@ -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
@@ -9,6 +9,7 @@ declare type TUser = {
9
9
  year?: number;
10
10
  profile?: string;
11
11
  defaultOrg: string;
12
+ serviceProvider?: string;
12
13
  createdAt: string;
13
14
  updatedAt: string;
14
15
  status: string;
@@ -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,
@@ -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