@@ -4,7 +4,7 @@ import { useI18n } from 'vue-i18n';
44
55import AuthorizationStatePill from ' @/components/authorization/AuthorizationStatePill.vue' ;
66import StatusPill from ' @/components/common/StatusPill.vue' ;
7- import { Button , Card , useToast } from ' @/lib/primevue' ;
7+ import { Button , Card , Message , useToast } from ' @/lib/primevue' ;
88import { useCodeStore } from ' @/store' ;
99import { PermitState } from ' @/utils/enums/codeEnums' ;
1010import { formatDate , formatDateOnly , formatDateTime } from ' @/utils/formatters' ;
@@ -27,7 +27,7 @@ const trackingNotShownToProponent = computed(() => permit.permitTracking?.filter
2727const trackingShownToProponent = computed (() => permit .permitTracking ?.find ((pt ) => pt .shownToProponent ));
2828
2929// Store
30- const { codeDisplay } = useCodeStore ();
30+ const { codeDefinition, codeDisplay } = useCodeStore ();
3131
3232// Actions
3333const toast = useToast ();
@@ -42,135 +42,165 @@ function toCopy(toCopy: string) {
4242 <Card >
4343 <template #title >
4444 <div
45- class =" flex justify-between cursor-pointer hover:underline"
45+ class =" flex justify-between cursor-pointer hover:underline mb-1 mt-3 mx-2 "
4646 @click =" emit('authorizationCard:more')"
4747 >
4848 <h4 class =" mb-0" >{{ permit.permitType?.name }}</h4 >
4949 <Button
50- class="p-button-outlined mr-4 mb-4 size-fit"
50+ class="p-button-outlined size-fit"
5151 :label =" t (' authorization.authorizationCard.more' )"
5252 @click =" emit (' authorizationCard:more' )"
5353 />
5454 </div >
5555 </template >
5656 <template #content >
57- <div class =" flex gap-2" >
58- <span :class =" permit.state !== PermitState.NONE ? 'pb-4' : ''" >
59- <AuthorizationStatePill
60- v-if =" permit .state !== PermitState .NONE "
61- :state =" permit .state "
62- />
63- </span >
64- <StatusPill
65- :status =" codeDisplay .PermitStage ?.[permit .stage ]"
66- :border-color =" ' var(--p-support-info-border)' "
67- :bg-color =" ' var(--p-support-info-surface)' "
68- />
69- </div >
70- <div class =" grid grid-cols-[1fr_1fr_1fr] pt-2 pb-2 pr-2 gap-4" >
71- <div class =" bg-[var(--p-bcblue-50)] py-5 pl-5" >
72- <div class =" mb-2 text-xs" >{{ t('authorization.authorizationCard.ids') }}</div >
73- <div
74- v-if =" trackingShownToProponent"
75- class =" my-2"
76- >
57+ <div class =" mb-3 mx-2" >
58+ <Message
59+ v-if =" permit .onHoldCode "
60+ class="mb-4"
61+ severity="warn"
62+ :pt :content :class =" [' !px-2' , ' !py-2.5' ] "
63+ >
64+ <div class =" flex items-center gap-2" >
7765 <font-awesome-icon
78- class =" mr-2 "
79- icon =" fa-solid fa-eye "
66+ class =" text-[color:var(--p-support-warning-icon)] "
67+ icon =" fas fa-circle-exclamation "
8068 />
81- <span
82- v-tooltip.right =" t('authorization.authorizationCard.clickToCopy')"
83- class =" cursor-pointer"
84- @click =" toCopy(trackingShownToProponent.trackingId as string)"
85- >
86- <span class =" font-bold" >
87- {{ trackingShownToProponent.sourceSystemKind?.description }}
69+ <div class =" flex flex-col" >
70+ <strong class =" text-xs" >
71+ {{
72+ t('authorization.authorizationCard.onHoldReason', {
73+ reason: codeDisplay.PiesOnHold?.[permit.onHoldCode]
74+ })
75+ }}
76+ </strong >
77+ <span class =" text-xs" >
78+ {{
79+ t('authorization.authorizationCard.onHoldDefinition', {
80+ definition: codeDefinition.PiesOnHold?.[permit.onHoldCode]
81+ })
82+ }}
8883 </span >
89- :
90- {{ trackingShownToProponent.trackingId }}
91- </span >
92- </div >
93- <div
94- v-for =" permitTracking in trackingNotShownToProponent"
95- :key =" permitTracking.permitTrackingId"
96- class =" my-2"
97- >
98- <span
99- v-tooltip.right =" t('authorization.authorizationCard.clickToCopy')"
100- class =" cursor-pointer"
101- @click =" toCopy(permitTracking.trackingId as string)"
102- >
103- <span class =" font-bold" >{{ permitTracking.sourceSystemKind?.description }}</span >
104- :
105- {{ permitTracking.trackingId }}
106- </span >
107- </div >
108- <div >
109- <span
110- v-tooltip.right =" t('authorization.authorizationCard.clickToCopy')"
111- class =" cursor-pointer"
112- @click =" toCopy(permit.issuedPermitId as string)"
113- >
114- <span class =" font-bold" >{{ t('authorization.authorizationCard.issuedPermitId') }}:</span >
115- {{ permit.issuedPermitId }}
116- </span >
84+ </div >
11785 </div >
86+ </Message >
87+ <div class =" flex gap-2 pb-4" >
88+ <AuthorizationStatePill
89+ v-if =" permit .state !== PermitState .NONE "
90+ :state =" permit .state "
91+ />
92+
93+ <StatusPill
94+ :status =" codeDisplay .PermitStage ?.[permit .stage ]"
95+ :border-color =" ' var(--p-support-info-border)' "
96+ :bg-color =" ' var(--p-support-info-surface)' "
97+ />
11898 </div >
119- <div class =" bg-[var(--p-bcblue-50)] py-5 px-4" >
120- <div class =" text-xs" >{{ t('authorization.authorizationCard.dates') }}</div >
121- <div class =" my-2" >
122- <span class =" font-bold" >{{ t('authorization.authorizationCard.statusVerified') }}:</span >
123- <span
124- v-if =" permit.statusLastVerified"
125- class =" ml-1"
99+ <div class =" grid grid-cols-[1fr_1fr_1fr] pt-2 pb-2 pr-2 gap-4" >
100+ <div class =" bg-[var(--p-bcblue-50)] py-5 pl-5" >
101+ <div class =" mb-2 text-xs" >{{ t('authorization.authorizationCard.ids') }}</div >
102+ <div
103+ v-if =" trackingShownToProponent"
104+ class =" my-2"
126105 >
127- {{ formatDateOnly(permit.statusLastVerified) }}
128- </span >
129- </div >
130- <div class =" my-2" >
131- <span class =" font-bold" >{{ t('authorization.common.statusChangeDate') }}:</span >
132- <span
133- v-if =" permit.statusLastChanged"
134- class =" ml-1"
135- >
136- {{ formatDateOnly(permit.statusLastChanged) }}
137- </span >
138- </div >
139- <div class =" my-2" >
140- <span class =" font-bold" >{{ t('authorization.common.submittedDate') }}:</span >
141- <span
142- v-if =" permit.submittedDate"
143- class =" ml-1"
106+ <font-awesome-icon
107+ class =" mr-2"
108+ icon =" fa-solid fa-eye"
109+ />
110+ <span
111+ v-tooltip.right =" t('authorization.authorizationCard.clickToCopy')"
112+ class =" cursor-pointer"
113+ @click =" toCopy(trackingShownToProponent.trackingId as string)"
114+ >
115+ <span class =" font-bold" >
116+ {{ trackingShownToProponent.sourceSystemKind?.description }}
117+ </span >
118+ :
119+ {{ trackingShownToProponent.trackingId }}
120+ </span >
121+ </div >
122+ <div
123+ v-for =" permitTracking in trackingNotShownToProponent"
124+ :key =" permitTracking.permitTrackingId"
125+ class =" my-2"
144126 >
145- {{ formatDateOnly(permit.submittedDate) }}
146- </span >
127+ <span
128+ v-tooltip.right =" t('authorization.authorizationCard.clickToCopy')"
129+ class =" cursor-pointer"
130+ @click =" toCopy(permitTracking.trackingId as string)"
131+ >
132+ <span class =" font-bold" >{{ permitTracking.sourceSystemKind?.description }}</span >
133+ :
134+ {{ permitTracking.trackingId }}
135+ </span >
136+ </div >
137+ <div >
138+ <span
139+ v-tooltip.right =" t('authorization.authorizationCard.clickToCopy')"
140+ class =" cursor-pointer"
141+ @click =" toCopy(permit.issuedPermitId as string)"
142+ >
143+ <span class =" font-bold" >{{ t('authorization.authorizationCard.issuedPermitId') }}:</span >
144+ {{ permit.issuedPermitId }}
145+ </span >
146+ </div >
147147 </div >
148- <div class =" my-2" >
149- <span class =" font-bold" >{{ t('authorization.common.decisionDate') }}:</span >
150- <span
151- v-if =" permit.decisionDate"
152- class =" ml-1"
153- >
154- {{ formatDateOnly(permit.decisionDate) }}
155- </span >
148+ <div class =" bg-[var(--p-bcblue-50)] py-5 px-4" >
149+ <div class =" text-xs" >{{ t('authorization.authorizationCard.dates') }}</div >
150+ <div class =" my-2" >
151+ <span class =" font-bold" >{{ t('authorization.authorizationCard.statusVerified') }}:</span >
152+ <span
153+ v-if =" permit.statusLastVerified"
154+ class =" ml-1"
155+ >
156+ {{ formatDateOnly(permit.statusLastVerified) }}
157+ </span >
158+ </div >
159+ <div class =" my-2" >
160+ <span class =" font-bold" >{{ t('authorization.common.statusChangeDate') }}:</span >
161+ <span
162+ v-if =" permit.statusLastChanged"
163+ class =" ml-1"
164+ >
165+ {{ formatDateOnly(permit.statusLastChanged) }}
166+ </span >
167+ </div >
168+ <div class =" my-2" >
169+ <span class =" font-bold" >{{ t('authorization.common.submittedDate') }}:</span >
170+ <span
171+ v-if =" permit.submittedDate"
172+ class =" ml-1"
173+ >
174+ {{ formatDateOnly(permit.submittedDate) }}
175+ </span >
176+ </div >
177+ <div class =" my-2" >
178+ <span class =" font-bold" >{{ t('authorization.common.decisionDate') }}:</span >
179+ <span
180+ v-if =" permit.decisionDate"
181+ class =" ml-1"
182+ >
183+ {{ formatDateOnly(permit.decisionDate) }}
184+ </span >
185+ </div >
186+ <div class =" my-2" >
187+ <span class =" font-bold" >{{ t('authorization.common.targetDate') }}:</span >
188+ <span
189+ v-if =" permit.targetDate"
190+ class =" ml-1"
191+ >
192+ {{ formatDate(permit.targetDate) }}
193+ </span >
194+ </div >
156195 </div >
157- <div class =" my-2" >
158- <span class =" font-bold" >{{ t('authorization.common.targetDate') }}:</span >
159- <span
160- v-if =" permit.targetDate"
161- class =" ml-1"
162- >
163- {{ formatDate(permit.targetDate) }}
164- </span >
196+ <div
197+ v-if =" permit.permitNote?.length"
198+ class =" pb-2 mt-2 mr-3"
199+ >
200+ <span >{{ ' ' + formatDateTime(permit.permitNote[0]!.createdAt) }},</span >
201+ {{ permit.permitNote[0]!.note }}
165202 </div >
166203 </div >
167- <div
168- v-if =" permit.permitNote?.length"
169- class =" pb-2 mt-2 mr-3"
170- >
171- <span >{{ ' ' + formatDateTime(permit.permitNote[0]!.createdAt) }},</span >
172- {{ permit.permitNote[0]!.note }}
173- </div >
174204 </div >
175205 </template >
176206 </Card >
0 commit comments