@finema/finework-layer 0.2.87 → 0.2.88

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,11 @@
1
1
  # Changelog
2
2
 
3
+ ## [0.2.88](https://gitlab.finema.co/finema/finework/finework-frontend-layer/compare/0.2.87...0.2.88) (2025-12-17)
4
+
5
+ ### Bug Fixes
6
+
7
+ * portalapp ([f267603](https://gitlab.finema.co/finema/finework/finework-frontend-layer/commit/f2676038b1aaf443ff5111cacfbf2e348e3f98eb))
8
+
3
9
  ## [0.2.87](https://gitlab.finema.co/finema/finework/finework-frontend-layer/compare/0.2.86...0.2.87) (2025-12-17)
4
10
 
5
11
  ## [0.2.86](https://gitlab.finema.co/finema/finework/finework-frontend-layer/compare/0.2.85...0.2.86) (2025-12-16)
@@ -29,8 +29,19 @@
29
29
  v-for="app in managementApps"
30
30
  :key="app.name"
31
31
  :to="app.to"
32
- class="flex items-center gap-3 rounded-lg bg-gray-100 px-2.5 py-[15px]"
32
+ :class="[
33
+ 'relative flex items-center gap-3 rounded-lg px-2.5 py-[15px]',
34
+ app.status === 'developing'
35
+ ? 'cursor-not-allowed bg-gray-200 opacity-60'
36
+ : 'bg-gray-100',
37
+ ]"
33
38
  >
39
+ <div
40
+ v-if="app.status === 'developing'"
41
+ class="absolute top-2 right-2 rounded-full bg-orange-100 px-2 py-0.5 text-xs font-semibold text-orange-600"
42
+ >
43
+ กำลังพัฒนา
44
+ </div>
34
45
  <img
35
46
  :src="app.logo"
36
47
  :alt="app.label"
@@ -50,13 +61,24 @@
50
61
  <div class="text-lg font-bold text-gray-600">
51
62
  Finance
52
63
  </div>
53
-
54
64
  <NuxtLink
55
65
  v-for="app in financeApps"
56
66
  :key="app.name"
57
67
  :to="app.to"
58
- class="flex items-center gap-3 rounded-lg bg-gray-100 px-2.5 py-[15px]"
68
+ :class="[
69
+ 'relative flex items-center gap-3 rounded-lg px-2.5 py-[15px]',
70
+ app.status === 'developing'
71
+ ? 'cursor-not-allowed bg-gray-200 opacity-60'
72
+ : 'bg-gray-100',
73
+ ]"
59
74
  >
75
+ <div
76
+ v-if="app.status === 'developing'"
77
+ class="absolute top-2 right-2 rounded-full bg-orange-100 px-2 py-0.5 text-xs font-semibold text-orange-600"
78
+ >
79
+ กำลังพัฒนา
80
+ </div>
81
+
60
82
  <img
61
83
  :src="app.logo"
62
84
  :alt="app.label"
@@ -81,8 +103,19 @@
81
103
  v-for="app in peopleApps"
82
104
  :key="app.name"
83
105
  :to="app.to"
84
- class="flex items-center gap-3 rounded-lg bg-gray-100 px-2.5 py-[15px]"
106
+ :class="[
107
+ 'relative flex items-center gap-3 rounded-lg px-2.5 py-[15px]',
108
+ app.status === 'developing'
109
+ ? 'cursor-not-allowed bg-gray-200 opacity-60'
110
+ : 'bg-gray-100',
111
+ ]"
85
112
  >
113
+ <div
114
+ v-if="app.status === 'developing'"
115
+ class="absolute top-2 right-2 rounded-full bg-orange-100 px-2 py-0.5 text-xs font-semibold text-orange-600"
116
+ >
117
+ กำลังพัฒนา
118
+ </div>
86
119
  <img
87
120
  :src="app.logo"
88
121
  :alt="app.label"
@@ -107,8 +140,19 @@
107
140
  v-for="app in legalApps"
108
141
  :key="app.name"
109
142
  :to="app.to"
110
- class="flex items-center gap-3 rounded-lg bg-gray-100 px-2.5 py-[15px]"
143
+ :class="[
144
+ 'relative flex items-center gap-3 rounded-lg px-2.5 py-[15px]',
145
+ app.status === 'developing'
146
+ ? 'cursor-not-allowed bg-gray-200 opacity-60'
147
+ : 'bg-gray-100',
148
+ ]"
111
149
  >
150
+ <div
151
+ v-if="app.status === 'developing'"
152
+ class="absolute top-2 right-2 rounded-full bg-orange-100 px-2 py-0.5 text-xs font-semibold text-orange-600"
153
+ >
154
+ กำลังพัฒนา
155
+ </div>
112
156
  <img
113
157
  :src="app.logo"
114
158
  :alt="app.label"
@@ -130,6 +174,10 @@ defineProps<{
130
174
  }>()
131
175
 
132
176
  const auth = useAuth()
177
+ const enum StatusPortal {
178
+ ACTIVE = 'active',
179
+ DEVELOPING = 'developing',
180
+ }
133
181
  const managementApps = computed(() => [
134
182
  ...(auth.hasPermission(
135
183
  UserModule.PMO,
@@ -144,20 +192,18 @@ const managementApps = computed(() => [
144
192
  label: 'PMO',
145
193
  description: 'จัดระเบียบและบริหารโครงการของคุณ',
146
194
  to: routes.pmo.project.projects.to,
195
+ status: StatusPortal.ACTIVE,
147
196
  },
148
197
  ]
149
198
  : []),
150
- // ...(auth.hasPermission(UserModule.REQUEST, Permission.USER)
151
- // ? [
152
- // {
153
- // name: 'request',
154
- // logo: '/admin/request-admin.png',
155
- // label: 'Requests',
156
- // description: 'จัดการคำขอ',
157
- // to: '',
158
- // },
159
- // ]
160
- // : []),
199
+ {
200
+ name: 'Requests',
201
+ logo: '/admin/request-admin.png',
202
+ label: 'Requests',
203
+ description: 'จัดการคำขอ',
204
+ to: '/',
205
+ status: StatusPortal.DEVELOPING,
206
+ },
161
207
  ...(auth.hasPermission(UserModule.CHECKIN, Permission.ADMIN)
162
208
  ? [
163
209
  {
@@ -166,6 +212,7 @@ const managementApps = computed(() => [
166
212
  label: 'Clock-in Report',
167
213
  description: 'รายงานการลงเวลา',
168
214
  to: routes.adminClockin.checkinDashboard.to,
215
+ status: StatusPortal.ACTIVE,
169
216
  },
170
217
  ]
171
218
  : []),
@@ -178,6 +225,7 @@ const managementApps = computed(() => [
178
225
  label: 'Timesheet Report',
179
226
  description: 'รายงานการบันทึกข้อมูลไทม์ชีท',
180
227
  to: routes.adminTimesheet.summaryReport.to,
228
+ status: StatusPortal.ACTIVE,
181
229
  },
182
230
  ]
183
231
  : []),
@@ -189,6 +237,7 @@ const managementApps = computed(() => [
189
237
  label: 'TODO',
190
238
  description: 'ระบบจัดการงานที่ต้องทำ',
191
239
  to: routes.todo.dashboard.to,
240
+ status: StatusPortal.ACTIVE,
192
241
  },
193
242
  ]
194
243
  : []),
@@ -196,17 +245,16 @@ const managementApps = computed(() => [
196
245
  ])
197
246
 
198
247
  const financeApps = computed(() => [
199
- // ...(auth.hasPermission(UserModule.EFACTORING, Permission.USER)
200
- // ? [
201
- // {
202
- // name: 'eFactoring',
203
- // logo: '/admin/efactoring.png',
204
- // label: 'eFactoring',
205
- // description: 'การเบิกเงินหมุนเวียนกับธนาคาร',
206
- // to: routes.costSheet.overview.to,
207
- // },
208
- // ]
209
- // : []),
248
+
249
+ {
250
+ name: 'eFactoring',
251
+ logo: '/admin/efactoring.png',
252
+ label: 'eFactoring',
253
+ description: 'การเบิกเงินหมุนเวียนกับธนาคาร',
254
+ to: '/',
255
+ status: StatusPortal.DEVELOPING,
256
+ },
257
+
210
258
  ...(auth.hasPermission(UserModule.COSTSHEET, Permission.USER, Permission.ADMIN)
211
259
  ? [
212
260
  {
@@ -215,20 +263,20 @@ const financeApps = computed(() => [
215
263
  label: 'Cost Sheet',
216
264
  description: 'รายรับรายจ่ายงบประมาณโครงการ',
217
265
  to: routes.costSheet.overview.to,
266
+ status: StatusPortal.ACTIVE,
218
267
  },
219
268
  ]
220
269
  : []),
221
- // ...(auth.hasPermission(UserModule.COSTSHEET, Permission.USER)
222
- // ? [
223
- // {
224
- // name: 'Guarantee',
225
- // logo: '/admin/cost-sheet.png',
226
- // label: 'งบค้ำประกัน',
227
- // description: 'การเบิกเงินค้ำซองและค้ำสัญญากับธนาคาร',
228
- // to: routes.costSheet.overview.to,
229
- // },
230
- // ]
231
- // : []),
270
+
271
+ {
272
+ name: 'Guarantee',
273
+ logo: '/admin/cost-sheet.png',
274
+ label: 'งบค้ำประกัน',
275
+ description: 'การเบิกเงินค้ำซองและค้ำสัญญากับธนาคาร',
276
+ to: '/',
277
+ status: StatusPortal.DEVELOPING,
278
+ },
279
+
232
280
  ...(auth.hasPermission(UserModule.QUOTATION, Permission.USER, Permission.ADMIN)
233
281
  ? [
234
282
  {
@@ -237,6 +285,7 @@ const financeApps = computed(() => [
237
285
  label: 'Quotation',
238
286
  description: 'รายรับรายจ่ายงบประมาณโครงการ',
239
287
  to: routes.quotation.quotations.home.to,
288
+ status: StatusPortal.ACTIVE,
240
289
  },
241
290
  ]
242
291
  : []),
@@ -251,6 +300,7 @@ const peopleApps = computed(() => [
251
300
  label: 'Employee',
252
301
  description: 'ระบบจัดการข้อมูลพนักงาน',
253
302
  to: routes.employee.root.to,
303
+ status: StatusPortal.ACTIVE,
254
304
  },
255
305
  ]
256
306
  : []),
@@ -262,9 +312,34 @@ const peopleApps = computed(() => [
262
312
  label: 'Newsletter',
263
313
  description: 'ระบบจัดการข่าวสาร',
264
314
  to: routes.newsletter.announcement.announcements.to,
315
+ status: StatusPortal.ACTIVE,
265
316
  },
266
317
  ]
267
318
  : []),
319
+ {
320
+ name: 'Evaluation',
321
+ logo: '/admin/evaluation.png',
322
+ label: 'Evaluation',
323
+ description: 'ระบบจัดการการประเมิน',
324
+ to: '/',
325
+ status: StatusPortal.DEVELOPING,
326
+ },
327
+ {
328
+ name: 'Recruit',
329
+ logo: '/admin/recruit.png',
330
+ label: 'Recruit',
331
+ description: 'ระบบการสรรหาบุคลากร',
332
+ to: '/',
333
+ status: StatusPortal.DEVELOPING,
334
+ },
335
+ {
336
+ name: 'Assets',
337
+ logo: '/admin/assets.png',
338
+ label: 'Assets',
339
+ description: 'ระบบจัดการสินทรัพย์',
340
+ to: '/',
341
+ status: StatusPortal.DEVELOPING,
342
+ },
268
343
  ])
269
344
 
270
345
  const legalApps = computed(() => [
@@ -276,6 +351,7 @@ const legalApps = computed(() => [
276
351
  label: 'Contract',
277
352
  description: 'สร้างและจัดการสัญญา',
278
353
  to: routes.legal.dashboard.to,
354
+ status: StatusPortal.ACTIVE,
279
355
  },
280
356
  ]
281
357
  : []),
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@finema/finework-layer",
3
3
  "type": "module",
4
- "version": "0.2.87",
4
+ "version": "0.2.88",
5
5
  "main": "./nuxt.config.ts",
6
6
  "scripts": {
7
7
  "dev": "nuxi dev .playground -o",