@bjsdistribution/dms-client-return 0.1.19-dev → 0.1.19-prod

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 (181) hide show
  1. package/dist/common/date-picker/header/ClearDate.d.ts +1 -1
  2. package/dist/components/client-portal/DateFilterStore.d.ts +15 -0
  3. package/dist/components/client-portal/OutstandingTable.d.ts +3 -0
  4. package/dist/components/client-portal/ReturnRTFilters.d.ts +3 -0
  5. package/dist/components/client-portal/ReturnStatus.d.ts +5 -0
  6. package/dist/components/client-portal/return-confirm/ConfirmedMain.d.ts +3 -0
  7. package/dist/components/client-portal/return-confirm/ReturnConfirmedTable.d.ts +3 -0
  8. package/dist/components/order-daily-overview/header/route-header/ClientRouterHeader.d.ts +11 -0
  9. package/dist/components/order-daily-overview/table-view/TableStyle.d.ts +4 -4
  10. package/dist/components/order-view/DynamicTable.d.ts +2 -1
  11. package/dist/components/order-view/general-information/Status.d.ts +1 -1
  12. package/dist/components/order-view/general-information/index.d.ts +1 -1
  13. package/dist/components/order-view/index.d.ts +1 -1
  14. package/dist/components/order-view/notes/AddNote.d.ts +1 -0
  15. package/dist/components/order-view/notes/order-dropdown/NewReturnDropdown.d.ts +3 -0
  16. package/dist/components/order-view/order-actions/actions/clear-booking-status/ClearBookingStatus.d.ts +4 -1
  17. package/dist/components/order-view/order-actions/actions/confirm-order/index.d.ts +4 -1
  18. package/dist/components/order-view/order-actions/actions/force-debrief/BaseChargeConfirmationModal.d.ts +7 -0
  19. package/dist/components/order-view/order-actions/actions/force-debrief/ForceDebriefModal.d.ts +11 -0
  20. package/dist/components/order-view/order-actions/actions/force-debrief/Selector.d.ts +11 -0
  21. package/dist/components/order-view/order-actions/actions/force-debrief/charges/adhoc/index.d.ts +3 -0
  22. package/dist/components/order-view/order-actions/actions/force-debrief/charges/base-charge/index.d.ts +8 -0
  23. package/dist/components/order-view/order-actions/actions/force-debrief/charges/collection-add-ons/index.d.ts +7 -0
  24. package/dist/components/order-view/order-actions/actions/force-debrief/charges/delivery-add-ons/index.d.ts +7 -0
  25. package/dist/components/order-view/order-actions/actions/force-debrief/charges/disposal-charges/index.d.ts +7 -0
  26. package/dist/components/order-view/order-actions/actions/force-debrief/charges/order-charges/index.d.ts +7 -0
  27. package/dist/components/order-view/order-actions/actions/force-debrief/escalation/EscalationCategory.d.ts +3 -0
  28. package/dist/components/order-view/order-actions/actions/force-debrief/escalation/EscalationLevel.d.ts +3 -0
  29. package/dist/components/order-view/order-actions/actions/force-debrief/escalation/EscalationReason.d.ts +3 -0
  30. package/dist/components/order-view/order-actions/actions/force-debrief/escalation/index.d.ts +3 -0
  31. package/dist/components/order-view/order-actions/actions/force-debrief/notifications/FlagsTemplate.d.ts +3 -0
  32. package/dist/components/order-view/order-actions/actions/force-debrief/notifications/OrderTemplate.d.ts +3 -0
  33. package/dist/components/order-view/order-actions/actions/force-debrief/notifications/Tabs.d.ts +3 -0
  34. package/dist/components/order-view/order-actions/actions/force-debrief/notifications/index.d.ts +3 -0
  35. package/dist/components/order-view/order-actions/actions/force-debrief/order-info/RadioButtons.d.ts +7 -0
  36. package/dist/components/order-view/order-actions/actions/force-debrief/order-info/dropdowns/CancellationReasonDropdown.d.ts +3 -0
  37. package/dist/components/order-view/order-actions/actions/force-debrief/order-info/dropdowns/FailureReasonDropdown.d.ts +3 -0
  38. package/dist/components/order-view/order-actions/actions/force-debrief/order-info/dropdowns/OrderHoldReasonDropdown.d.ts +3 -0
  39. package/dist/components/order-view/order-actions/actions/force-debrief/order-info/dropdowns/StatusDropdown.d.ts +3 -0
  40. package/dist/components/order-view/order-actions/actions/force-debrief/order-info/dropdowns/ZoneDropdown.d.ts +3 -0
  41. package/dist/components/order-view/order-actions/actions/force-debrief/order-info/failure-content/index.d.ts +3 -0
  42. package/dist/components/order-view/order-actions/actions/force-debrief/order-info/index.d.ts +4 -0
  43. package/dist/components/order-view/order-actions/actions/force-debrief/order-info/success-content/index.d.ts +3 -0
  44. package/dist/components/order-view/order-actions/actions/force-debrief/styles.d.ts +8 -0
  45. package/dist/components/order-view/order-actions/actions/hold-order/HoldOrderModal.d.ts +1 -0
  46. package/dist/components/order-view/order-actions/actions/remove-from-route/RemoveFromRoute.d.ts +1 -1
  47. package/dist/components/order-view/order-actions/actions/unhold-order/UnholdOrder.d.ts +1 -0
  48. package/dist/components/order-view/order-actions/types.d.ts +3 -3
  49. package/dist/components/order-view/order-details/expanded-content/index.d.ts +1 -1
  50. package/dist/components/order-view/order-details/index.d.ts +1 -1
  51. package/dist/components/order-view/order-resources/expanded-content/index.d.ts +1 -1
  52. package/dist/components/order-view/products-info/expanded-content/index.d.ts +6 -1
  53. package/dist/components/order-view/products-info/index.d.ts +1 -1
  54. package/dist/components/order-view/return-client-products/ProductTable.d.ts +6 -1
  55. package/dist/components/order-view/return-client-products/product-table/ReturnProductTable.d.ts +6 -1
  56. package/dist/components/order-view/store.d.ts +15 -3
  57. package/dist/components/order-view/system-event-logs/expanded-content/index.d.ts +1 -1
  58. package/dist/components/order-view/types.d.ts +55 -1
  59. package/dist/components/order-view/utils.d.ts +11 -2
  60. package/dist/components/store.d.ts +6 -2
  61. package/dist/dms-client-return.cjs.development.js +9140 -5835
  62. package/dist/dms-client-return.cjs.development.js.map +1 -1
  63. package/dist/dms-client-return.cjs.production.min.js +1 -1
  64. package/dist/dms-client-return.cjs.production.min.js.map +1 -1
  65. package/dist/dms-client-return.esm.js +7617 -4312
  66. package/dist/dms-client-return.esm.js.map +1 -1
  67. package/package.json +6 -4
  68. package/src/assets/icons/ActionIcon.tsx +1 -1
  69. package/src/assets/icons/ArrowDownIcon.tsx +2 -2
  70. package/src/components/client-portal/DateFilterStore.ts +139 -0
  71. package/src/components/client-portal/OutstandingTable.tsx +356 -0
  72. package/src/components/client-portal/ReturnAfterSearchBar.tsx +77 -17
  73. package/src/components/client-portal/ReturnOverview.tsx +15 -6
  74. package/src/components/client-portal/ReturnRTFilters.tsx +196 -80
  75. package/src/components/client-portal/ReturnSearchBar.tsx +64 -94
  76. package/src/components/client-portal/ReturnStatus.tsx +50 -66
  77. package/src/components/client-portal/return-confirm/ConfirmedMain.tsx +224 -0
  78. package/src/components/client-portal/return-confirm/ReturnConfirmedTable.tsx +327 -0
  79. package/src/components/order-daily-overview/header/route-header/ClientRouterHeader.tsx +166 -0
  80. package/src/components/order-daily-overview/header/route-header/RouterHeader.tsx +2 -86
  81. package/src/components/order-daily-overview/header-filters/SelectionFilter.tsx +46 -15
  82. package/src/components/order-daily-overview/index.tsx +23 -4
  83. package/src/components/order-daily-overview/return-after-table/ReturnAfterTable.tsx +23 -38
  84. package/src/components/order-daily-overview/return-after-table/table/OrderTable.tsx +21 -24
  85. package/src/components/order-daily-overview/return-after-table/table-filters/ReturnFilterStore.ts +36 -36
  86. package/src/components/order-daily-overview/return-after-table/table-filters/ReturnOrderFilter.tsx +12 -2
  87. package/src/components/order-daily-overview/return-order-table/ReturnTable.tsx +16 -0
  88. package/src/components/order-daily-overview/return-order-table/return-orders-filters/ReturnOrderTable.tsx +58 -155
  89. package/src/components/order-daily-overview/table/ReturnTable.tsx +8 -4
  90. package/src/components/order-view/DynamicTable.tsx +21 -8
  91. package/src/components/order-view/details-filters/left-side-filters/dropdowns/DropDowns.tsx +1 -1
  92. package/src/components/order-view/details-filters/left-side-filters/dropdowns/OptionsDropDown.tsx +9 -0
  93. package/src/components/order-view/details-filters/right-side-filters/Details.tsx +28 -3
  94. package/src/components/order-view/flags-action-modal/Dropdowns.tsx +2 -0
  95. package/src/components/order-view/general-information/Status.tsx +92 -18
  96. package/src/components/order-view/general-information/index.tsx +2 -2
  97. package/src/components/order-view/generic-table/AuditLogs.tsx +39 -12
  98. package/src/components/order-view/index.tsx +50 -8
  99. package/src/components/order-view/modalsPopup/ModalManager.tsx +1 -1
  100. package/src/components/order-view/notes/AddNote.tsx +95 -65
  101. package/src/components/order-view/notes/order-dropdown/NewReturnDropdown.tsx +8 -10
  102. package/src/components/order-view/notification/FlagTemplate.tsx +21 -10
  103. package/src/components/order-view/notification/OrderTemplate.tsx +192 -41
  104. package/src/components/order-view/notification/ReminderTemplate.tsx +28 -13
  105. package/src/components/order-view/notification/index.tsx +100 -55
  106. package/src/components/order-view/order-actions/actions/add-resources/DocFileUpload.tsx +92 -72
  107. package/src/components/order-view/order-actions/actions/add-resources/index.tsx +27 -10
  108. package/src/components/order-view/order-actions/actions/cancel-order/ReturnAction.tsx +25 -4
  109. package/src/components/order-view/order-actions/actions/cancel-order/ReturnReason.tsx +24 -4
  110. package/src/components/order-view/order-actions/actions/clear-booking-status/ClearBookingStatus.tsx +9 -2
  111. package/src/components/order-view/order-actions/actions/confirm-order/index.tsx +12 -35
  112. package/src/components/order-view/order-actions/actions/confirm-order/tables/NotesTable.tsx +1 -0
  113. package/src/components/order-view/order-actions/actions/create-task-reminder/CreateReminderModal.tsx +88 -30
  114. package/src/components/order-view/order-actions/actions/create-task-reminder/CreateTaskModal.tsx +5 -3
  115. package/src/components/order-view/order-actions/actions/create-task-reminder/TaskModal.tsx +2 -2
  116. package/src/components/order-view/order-actions/actions/force-debrief/BaseChargeConfirmationModal.tsx +94 -0
  117. package/src/components/order-view/order-actions/actions/force-debrief/ForceDebriefModal.tsx +635 -0
  118. package/src/components/order-view/order-actions/actions/force-debrief/Selector.tsx +65 -0
  119. package/src/components/order-view/order-actions/actions/force-debrief/charges/adhoc/index.tsx +94 -0
  120. package/src/components/order-view/order-actions/actions/force-debrief/charges/base-charge/index.tsx +106 -0
  121. package/src/components/order-view/order-actions/actions/force-debrief/charges/collection-add-ons/index.tsx +77 -0
  122. package/src/components/order-view/order-actions/actions/force-debrief/charges/delivery-add-ons/index.tsx +78 -0
  123. package/src/components/order-view/order-actions/actions/force-debrief/charges/disposal-charges/index.tsx +77 -0
  124. package/src/components/order-view/order-actions/actions/force-debrief/charges/order-charges/index.tsx +124 -0
  125. package/src/components/order-view/order-actions/actions/force-debrief/escalation/EscalationCategory.tsx +92 -0
  126. package/src/components/order-view/order-actions/actions/force-debrief/escalation/EscalationLevel.tsx +90 -0
  127. package/src/components/order-view/order-actions/actions/force-debrief/escalation/EscalationReason.tsx +122 -0
  128. package/src/components/order-view/order-actions/actions/force-debrief/escalation/index.tsx +16 -0
  129. package/src/components/order-view/order-actions/actions/force-debrief/notifications/FlagsTemplate.tsx +46 -0
  130. package/src/components/order-view/order-actions/actions/force-debrief/notifications/OrderTemplate.tsx +117 -0
  131. package/src/components/order-view/order-actions/actions/force-debrief/notifications/Tabs.tsx +32 -0
  132. package/src/components/order-view/order-actions/actions/force-debrief/notifications/index.tsx +180 -0
  133. package/src/components/order-view/order-actions/actions/force-debrief/order-info/RadioButtons.tsx +150 -0
  134. package/src/components/order-view/order-actions/actions/force-debrief/order-info/dropdowns/CancellationReasonDropdown.tsx +40 -0
  135. package/src/components/order-view/order-actions/actions/force-debrief/order-info/dropdowns/FailureReasonDropdown.tsx +108 -0
  136. package/src/components/order-view/order-actions/actions/force-debrief/order-info/dropdowns/OrderHoldReasonDropdown.tsx +37 -0
  137. package/src/components/order-view/order-actions/actions/force-debrief/order-info/dropdowns/StatusDropdown.tsx +48 -0
  138. package/src/components/order-view/order-actions/actions/force-debrief/order-info/dropdowns/ZoneDropdown.tsx +27 -0
  139. package/src/components/order-view/order-actions/actions/force-debrief/order-info/failure-content/index.tsx +187 -0
  140. package/src/components/order-view/order-actions/actions/force-debrief/order-info/index.tsx +55 -0
  141. package/src/components/order-view/order-actions/actions/force-debrief/order-info/success-content/index.tsx +221 -0
  142. package/src/components/order-view/order-actions/actions/force-debrief/styles.tsx +51 -0
  143. package/src/components/order-view/order-actions/actions/hold-order/HoldOrderModal.tsx +2 -0
  144. package/src/components/order-view/order-actions/actions/remove-from-route/RemoveFromRoute.tsx +7 -2
  145. package/src/components/order-view/order-actions/actions/unhold-order/UnholdOrder.tsx +2 -0
  146. package/src/components/order-view/order-actions/index.tsx +19 -10
  147. package/src/components/order-view/order-actions/store.ts +1 -1
  148. package/src/components/order-view/order-actions/types.ts +3 -3
  149. package/src/components/order-view/order-details/expanded-content/customer-section/contact-info/ContactHome.tsx +102 -45
  150. package/src/components/order-view/order-details/expanded-content/customer-section/contact-info/ContactMobile.tsx +93 -34
  151. package/src/components/order-view/order-details/expanded-content/customer-section/contact-info/ContactWork.tsx +88 -31
  152. package/src/components/order-view/order-details/expanded-content/footer/index.tsx +55 -80
  153. package/src/components/order-view/order-details/expanded-content/index.tsx +37 -16
  154. package/src/components/order-view/order-details/expanded-content/instruction-section/index.tsx +1 -1
  155. package/src/components/order-view/order-details/expanded-content/services-section/AssemblyType.tsx +9 -91
  156. package/src/components/order-view/order-details/expanded-content/services-section/OrderServices.tsx +10 -182
  157. package/src/components/order-view/order-details/expanded-content/services-section/ServiceLevel.tsx +3 -4
  158. package/src/components/order-view/order-details/index.tsx +5 -2
  159. package/src/components/order-view/order-resources/expanded-content/index.tsx +2 -2
  160. package/src/components/order-view/products-info/expanded-content/index.tsx +33 -11
  161. package/src/components/order-view/products-info/index.tsx +10 -6
  162. package/src/components/order-view/return-client-products/ProductTable.tsx +12 -2
  163. package/src/components/order-view/return-client-products/product-table/ReturnProductTable.tsx +73 -23
  164. package/src/components/order-view/store.ts +113 -1
  165. package/src/components/order-view/system-event-logs/expanded-content/index.tsx +6 -2
  166. package/src/components/order-view/types.ts +60 -1
  167. package/src/components/order-view/utils.ts +49 -33
  168. package/src/components/order-view/view-reminder/AssigneeDropdown.tsx +85 -26
  169. package/src/components/order-view/view-reminder/ViewReminder.tsx +31 -14
  170. package/src/components/store.ts +25 -2
  171. package/src/index.tsx +23 -5
  172. package/dist/components/order-view/order-actions/actions/log-service-refusal/DeliveryPoint.d.ts +0 -7
  173. package/dist/components/order-view/order-actions/actions/log-service-refusal/Notes.d.ts +0 -7
  174. package/dist/components/order-view/order-actions/actions/log-service-refusal/OrderServices.d.ts +0 -7
  175. package/dist/components/order-view/order-actions/actions/log-service-refusal/helper.d.ts +0 -3
  176. package/dist/components/order-view/order-actions/actions/log-service-refusal/index.d.ts +0 -3
  177. package/src/components/order-view/order-actions/actions/log-service-refusal/DeliveryPoint.tsx +0 -50
  178. package/src/components/order-view/order-actions/actions/log-service-refusal/Notes.tsx +0 -50
  179. package/src/components/order-view/order-actions/actions/log-service-refusal/OrderServices.tsx +0 -57
  180. package/src/components/order-view/order-actions/actions/log-service-refusal/helper.ts +0 -26
  181. package/src/components/order-view/order-actions/actions/log-service-refusal/index.tsx +0 -130
@@ -70,12 +70,15 @@ const ViewReminderModal = (props: IProps) => {
70
70
  const handleDateChange = (date: any | null) => {
71
71
  if (date && date.isValid()) {
72
72
  const selectedDate = date.toISOString();
73
-
74
73
  setReminderPayload({
75
74
  ...reminderPayload,
76
75
  due_datetime: selectedDate,
77
76
  });
78
77
  } else {
78
+ setReminderPayload({
79
+ ...reminderPayload,
80
+ due_datetime: null,
81
+ });
79
82
  }
80
83
  };
81
84
 
@@ -177,12 +180,24 @@ const ViewReminderModal = (props: IProps) => {
177
180
  }
178
181
  };
179
182
 
183
+ const arraysEqual = (a: any = [], b: any = []) => {
184
+ if (a.length !== b.length) return false;
185
+ return a.every((val: any, index: any) => val === b[index]);
186
+ };
187
+
188
+ const isSameDate = (d1: any, d2: any) => {
189
+ if (!d1 || !d2) return d1 === d2; // both null/undefined
190
+ const date1 = new Date(d1).toISOString();
191
+ const date2 = new Date(d2).toISOString();
192
+ return date1 === date2;
193
+ };
194
+
180
195
  const hasReminderChanged = () => {
181
196
  if (!reminderDataById || !reminderPayload) return false;
182
197
 
183
198
  const original = {
184
199
  due_datetime: reminderDataById?.due_datetime,
185
- assigned_to: reminderDataById?.assigned_to,
200
+ assigned_to: reminderDataById?.assigned_to || [],
186
201
  description: reminderDataById?.description?.trim(),
187
202
  department: reminderDataById?.department,
188
203
  status: reminderDataById?.status,
@@ -190,23 +205,23 @@ const ViewReminderModal = (props: IProps) => {
190
205
 
191
206
  const updated = {
192
207
  due_datetime: reminderPayload?.due_datetime,
193
- assigned_to: reminderPayload?.assigned_to,
208
+ assigned_to: reminderPayload?.assigned_to || [],
194
209
  description: reminderPayload?.description?.trim(),
195
210
  department: reminderPayload?.department,
196
211
  status: reminderPayload?.status,
197
212
  };
198
213
 
199
214
  const baseChanged =
200
- original?.due_datetime !== updated?.due_datetime ||
201
- original?.assigned_to !== updated?.assigned_to ||
215
+ !isSameDate(original?.due_datetime, updated?.due_datetime) ||
216
+ !arraysEqual(original?.assigned_to, updated?.assigned_to) ||
202
217
  original?.description !== updated?.description ||
203
218
  original?.status !== updated?.status;
204
219
 
205
220
  const shouldCompareDept =
206
- original.department !== undefined && updated?.department !== undefined;
221
+ original?.department !== undefined && updated?.department !== undefined;
207
222
 
208
223
  const departmentChanged = shouldCompareDept
209
- ? original.department !== updated?.department
224
+ ? original?.department !== updated?.department
210
225
  : false;
211
226
 
212
227
  return baseChanged || departmentChanged;
@@ -290,10 +305,12 @@ const ViewReminderModal = (props: IProps) => {
290
305
  <DatePicker
291
306
  format="DD/MM/YYYY HH:mm A"
292
307
  value={
293
- reminderPayload?.due_datetime
294
- ? dayjs(reminderPayload?.due_datetime)
308
+ reminderPayload?.due_datetime !== undefined
309
+ ? reminderPayload.due_datetime
310
+ ? dayjs(reminderPayload.due_datetime)
311
+ : null
295
312
  : reminderDataById?.due_datetime
296
- ? dayjs(reminderDataById?.due_datetime)
313
+ ? dayjs(reminderDataById.due_datetime)
297
314
  : null
298
315
  }
299
316
  onChange={handleDateChange}
@@ -318,13 +335,13 @@ const ViewReminderModal = (props: IProps) => {
318
335
  name="text"
319
336
  required
320
337
  value={
321
- reminderPayload?.description ||
322
- reminderDataById?.description ||
323
- ''
338
+ reminderPayload?.description !== undefined
339
+ ? reminderPayload.description
340
+ : reminderDataById?.description || ''
324
341
  }
325
342
  disabled={disabled}
326
343
  onChange={onChangeDetails}
327
- ></DetailedContainer>
344
+ />
328
345
  </Right>
329
346
  </ContentsContainer>
330
347
  </OrderActionModal>
@@ -125,8 +125,14 @@ function useSelectedClientPortOrders() {
125
125
  return useAtom(selectedCPOrderlList);
126
126
  }
127
127
 
128
+ const selectedCPOrderAfterlList = atom<any[]>([]);
129
+
130
+ function useSelectedClientAfterOrders() {
131
+ return useAtom(selectedCPOrderAfterlList);
132
+ }
133
+
128
134
  //start date and end date
129
- const startCPDate = atom<dayjs.Dayjs | null>(dayjs());
135
+ const startCPDate = atom<dayjs.Dayjs | null>(null);
130
136
 
131
137
  function useStartDate() {
132
138
  return useAtom(startCPDate);
@@ -156,6 +162,22 @@ export const useSearchAfterText = () => {
156
162
  return useAtom(searchAfter);
157
163
  };
158
164
 
165
+ const rclientReturnDataAtom = atom<any[]>([]);
166
+ export function useClientOutstandingReturnData() {
167
+ return useAtom(rclientReturnDataAtom);
168
+ }
169
+
170
+ const returnConfirmedOrderAtom = atom<any[]>([]);
171
+
172
+ export function useReturnConfirmedOrderData() {
173
+ return useAtom(returnConfirmedOrderAtom);
174
+ }
175
+ const statsCPCount = atom<any>(null);
176
+
177
+ export function useStatsCPCount() {
178
+ return useAtom(statsCPCount);
179
+ }
180
+
159
181
  function useCustomerData() {
160
182
  return useAtom(customerData);
161
183
  }
@@ -241,7 +263,7 @@ export function useNewReturnOrderData() {
241
263
  return useAtom(newReturnOrderData);
242
264
  }
243
265
 
244
- const isClientPortalAtom = atom<boolean>(false);
266
+ const isClientPortalAtom = atom<boolean | undefined>(undefined);
245
267
  function useClientPortal() {
246
268
  return useAtom(isClientPortalAtom);
247
269
  }
@@ -283,4 +305,5 @@ export {
283
305
  useSelectedClientPortOrders,
284
306
  useStartDate,
285
307
  useEndDate,
308
+ useSelectedClientAfterOrders,
286
309
  };
package/src/index.tsx CHANGED
@@ -1,5 +1,11 @@
1
1
  import React, { Suspense, useEffect } from 'react';
2
- import { Navigate, Route, Routes, useSearchParams } from 'react-router-dom';
2
+ import {
3
+ Navigate,
4
+ Route,
5
+ Routes,
6
+ useLocation,
7
+ useSearchParams,
8
+ } from 'react-router-dom';
3
9
  import ReturnTable from './components/order-daily-overview/return-order-table/ReturnTable';
4
10
  import ReturnAfterTable from './components/order-daily-overview/return-after-table/ReturnAfterTable';
5
11
  import {
@@ -28,6 +34,7 @@ import OrderViewQueryHandler from './OrderViewQueryHandler';
28
34
  import OrderView from './components/order-view';
29
35
  import ReturnOverview from './components/client-portal/ReturnOverview';
30
36
  import RouterHeader from './components/order-daily-overview/header/route-header/RouterHeader';
37
+ import ClientRouterHeader from './components/order-daily-overview/header/route-header/ClientRouterHeader';
31
38
  function ReturnClient() {
32
39
  notification.config({
33
40
  top: 80,
@@ -46,7 +53,7 @@ function ReturnClient() {
46
53
  const [, setVisibilityData] = useVisibilityData();
47
54
  const [, setOrderStaticData] = useOrderStaticData();
48
55
  const [clientPortal, setClientPortal] = useClientPortal();
49
-
56
+ const location = useLocation();
50
57
  const userType = JSON.parse(localStorage.getItem('user_type')!);
51
58
 
52
59
  useEffect(() => {
@@ -70,7 +77,7 @@ function ReturnClient() {
70
77
  }, [location.pathname, searchParams]);
71
78
 
72
79
  //API for action type
73
- const { data: fetchedStaticData, loading: actionLoading } = useApiHook<
80
+ const { data: fetchedStaticData, loading: staticLoading } = useApiHook<
74
81
  ApiResponse
75
82
  >({
76
83
  endpoint: `/orders/getStaticData/all/`,
@@ -110,21 +117,29 @@ function ReturnClient() {
110
117
  fetchedStaticData?.data?.flatMap((i: any) => i?.assign_client)
111
118
  );
112
119
  }
113
- }, [actionLoading]);
120
+ }, [staticLoading]);
114
121
  useEffect(() => {
115
122
  if (fetchedLocationData && fetchedLocationData?.data) {
116
123
  setLocationData(fetchedLocationData?.data);
117
124
  }
118
125
  }, [locationloading]);
119
126
 
127
+ const pathname = location.pathname;
128
+ const isViewPath = /^\/return\/view\/\d+$/.test(pathname);
129
+
120
130
  return (
121
131
  <>
132
+ {clientPortal && isViewPath && <ClientRouterHeader />}{' '}
122
133
  {!clientPortal && <RouterHeader />}
123
134
  <Suspense fallback={<LoadingMessage />}>
124
135
  {clientPortal ? (
125
136
  <Routes>
126
137
  <Route path="" element={<Navigate to={'outstanding_return'} />} />
127
138
  <Route path=":status" element={<ReturnOverview />} />
139
+ <Route
140
+ path="view/:id"
141
+ element={<OrderView locationloading={locationloading} />}
142
+ />
128
143
  </Routes>
129
144
  ) : (
130
145
  <Routes>
@@ -136,7 +151,10 @@ function ReturnClient() {
136
151
  {/* for dev */}
137
152
  <Route path="" element={<OrderViewQueryHandler />} />
138
153
  <Route path="overview" element={<ReturnAfterTable />} />
139
- <Route path="/:id" element={<OrderView />} />
154
+ <Route
155
+ path="/:id"
156
+ element={<OrderView locationloading={locationloading} />}
157
+ />
140
158
  {/* for local */}
141
159
  {/* <Route path="/orders/view/return/filter" element={<ReturnTable />} /> */}
142
160
  {/* for dev */}
@@ -1,7 +0,0 @@
1
- import React from 'react';
2
- interface IProps {
3
- refusedDelPointService: any;
4
- setRefusedDelPointService: React.Dispatch<React.SetStateAction<any>>;
5
- }
6
- declare function DeliveryPoint(props: IProps): React.JSX.Element;
7
- export default DeliveryPoint;
@@ -1,7 +0,0 @@
1
- import React from 'react';
2
- interface IProps {
3
- refusedReason: string;
4
- setRefusedReason: React.Dispatch<React.SetStateAction<string>>;
5
- }
6
- declare function Notes(props: IProps): React.JSX.Element;
7
- export default Notes;
@@ -1,7 +0,0 @@
1
- import React from 'react';
2
- interface IProps {
3
- refusedServices: string[];
4
- setRefusedServices: React.Dispatch<React.SetStateAction<string[]>>;
5
- }
6
- declare function OrderServices(props: IProps): React.JSX.Element;
7
- export default OrderServices;
@@ -1,3 +0,0 @@
1
- export declare const paths: Record<number, string>;
2
- export declare const getSubPath: (input: number) => string;
3
- export declare const getIcon: (input: number) => string;
@@ -1,3 +0,0 @@
1
- import React from 'react';
2
- declare function LogServiceRefusal(props: any): React.JSX.Element;
3
- export default LogServiceRefusal;
@@ -1,50 +0,0 @@
1
- import React from 'react';
2
- import styled from 'styled-components';
3
- import RadioButtonGroup from '../../../../../common/radio-group/RadioButtonGroup';
4
- import { StandardOptionsType } from '@bjsdistribution/dms-component-library';
5
-
6
- interface IProps {
7
- refusedDelPointService: any;
8
- setRefusedDelPointService: React.Dispatch<React.SetStateAction<any>>;
9
- }
10
-
11
- const deliveryPoints: StandardOptionsType[] = [
12
- {
13
- label: 'Hallway',
14
- value: 'hallway',
15
- },
16
- {
17
- label: 'ROC',
18
- value: 'room_of_choice',
19
- },
20
- ];
21
-
22
- function DeliveryPoint(props: IProps) {
23
- const radioGroupHandler = (event: React.ChangeEvent<HTMLInputElement>) => {
24
- const service = event.target.value;
25
- props?.setRefusedDelPointService(service);
26
- };
27
-
28
- return (
29
- <Container>
30
- <RadioButtonGroup
31
- heading="Delivery Point"
32
- options={deliveryPoints || []}
33
- onChange={radioGroupHandler}
34
- direction="horizontal"
35
- selectedValue={props?.refusedDelPointService}
36
- required={false}
37
- />
38
- </Container>
39
- );
40
- }
41
-
42
- const Container = styled.div`
43
- display: flex;
44
- /* height: 30px; */
45
- padding: 1px;
46
- align-items: flex-start;
47
- align-self: stretch;
48
- `;
49
-
50
- export default DeliveryPoint;
@@ -1,50 +0,0 @@
1
- import styled from 'styled-components';
2
- import React from 'react';
3
- import { TextArea } from '@bjsdistribution/dms-component-library';
4
-
5
- interface IProps {
6
- refusedReason: string;
7
- setRefusedReason: React.Dispatch<React.SetStateAction<string>>;
8
- }
9
-
10
- function Notes(props: IProps) {
11
- const handleTextChange = (event: React.ChangeEvent<HTMLTextAreaElement>) => {
12
- props?.setRefusedReason(event.target.value);
13
- };
14
-
15
- return (
16
- <Container>
17
- <div style={{ display: 'flex', flexDirection: 'row' }}>
18
- <Label>Notes</Label> <RequiredAsterisk>*</RequiredAsterisk>
19
- </div>
20
- <TextArea
21
- rows={15}
22
- onChange={handleTextChange}
23
- placeholder="Why did the customer refuse the selected service(s)? Add notes..."
24
- value={props?.refusedReason}
25
- />
26
- </Container>
27
- );
28
- }
29
-
30
- const RequiredAsterisk = styled.span`
31
- color: red;
32
- margin-left: 2px;
33
- font-size: x-small;
34
- `;
35
- const Label = styled.span`
36
- color: #6a7378;
37
- font-family: 'Lato', sans-serif;
38
- font-size: 14px;
39
- font-style: normal;
40
- font-weight: 500;
41
- `;
42
-
43
- const Container = styled.div`
44
- display: flex;
45
- gap: 5px;
46
- flex-direction: column;
47
- width: 100%;
48
- `;
49
-
50
- export default Notes;
@@ -1,57 +0,0 @@
1
- import React from 'react';
2
- import styled from 'styled-components';
3
- import Checkbox from '../../../../../common/checkbox';
4
- import { getIcon } from './helper';
5
- import { useOrderDetails, useOrderStaticData } from '../../../store';
6
- import { OrderServiceType } from '../../../types';
7
- interface IProps {
8
- refusedServices: string[];
9
- setRefusedServices: React.Dispatch<React.SetStateAction<string[]>>;
10
- }
11
-
12
- function OrderServices(props: IProps) {
13
- const [orderStaticData] = useOrderStaticData();
14
- const [orderDetails] = useOrderDetails();
15
- const orderServices = orderDetails?.order_services;
16
- const orderServicesOptions = orderStaticData?.order_service_list;
17
-
18
- const onClick = (service: string) => {
19
- if (props?.refusedServices?.includes(service)) {
20
- const filteredServices = props?.refusedServices?.filter(
21
- (item: string) => item !== service
22
- );
23
- props?.setRefusedServices(filteredServices);
24
- } else {
25
- props?.setRefusedServices((prev: string[]) => [...prev, service]);
26
- }
27
- };
28
-
29
- return (
30
- <Container>
31
- {orderServicesOptions.map((service: any) => {
32
- const selected = !!orderServices?.find(
33
- (s: OrderServiceType) =>
34
- s?.order_service_list_id === service?.id && s.is_deleted === false
35
- );
36
- const isRefused = props?.refusedServices?.includes(service?.type);
37
- return (
38
- <Checkbox
39
- checked={isRefused}
40
- label={service?.type}
41
- imageSrc={getIcon(service?.id)}
42
- enabled={selected}
43
- onClickCheckbox={onClick}
44
- />
45
- );
46
- })}
47
- </Container>
48
- );
49
- }
50
-
51
- const Container = styled.div`
52
- display: flex;
53
- gap: 15px;
54
- flex-wrap: wrap;
55
- `;
56
-
57
- export default OrderServices;
@@ -1,26 +0,0 @@
1
- const baseURL = "/assets/images/";
2
-
3
- // export type ServiceOffered =
4
- // | "Assemble"
5
- // | "Take Packaging Away"
6
- // | "Disassemble"
7
- // | "Collect Disposal"
8
- // | "Unpack Items";
9
-
10
- export const paths: Record<number, string> = {
11
- 1: 'assembly.svg', //1
12
- 2: 'disassembly.svg', //2
13
- 3: 'unpack_items.svg', //3
14
- 4: 'packaging_removal.svg', //4
15
- 5: 'collect_disposal.svg', //5
16
- };
17
-
18
- export const getSubPath = (input: number): string => {
19
- const result = paths[input];
20
- return result;
21
- };
22
-
23
- export const getIcon = (input: number): string => {
24
- const subPath = getSubPath(input);
25
- return `${baseURL}${subPath}`;
26
- };
@@ -1,130 +0,0 @@
1
- import React, { useState } from 'react';
2
- import OrderActionModal from '../../../../../common/modals/order-action-modal/OrderActionModal';
3
- import styled from 'styled-components';
4
- import DeliveryPoint from './DeliveryPoint';
5
- import OrderServices from './OrderServices';
6
- import Notes from './Notes';
7
- import {
8
- useCurrentAction,
9
- useCustomerInfo,
10
- useOrderDetails,
11
- } from '../../../store';
12
- import { useAxios } from '@bjsdistribution/dms-component-library';
13
- import { ApiResponse } from '../../../types';
14
- import { notification } from 'antd';
15
-
16
- function LogServiceRefusal(props: any) {
17
- const [, setCurrentAction] = useCurrentAction();
18
- // Local States for handling service refusal
19
- const [refusedReason, setRefusedReason] = useState<string>('');
20
- const [refusedServices, setRefusedServices] = useState<string[]>([]);
21
- const [refusedDelPointService, setRefusedDelPointService] = useState<any>('');
22
- const [customerInfo] = useCustomerInfo();
23
- const [orderDetails] = useOrderDetails();
24
- const infoText = `${customerInfo?.recipient_name}, ${customerInfo?.postcode}`;
25
-
26
- const { fetchData: callLogRefusalApi } = useAxios<{
27
- data: ApiResponse[];
28
- }>({
29
- endpoint: `/v1/orders/log-refusal/`,
30
- method: 'POST',
31
- });
32
-
33
- const onClose = () => {
34
- setCurrentAction(undefined);
35
- };
36
-
37
- const onSubmit = async () => {
38
- const allServices =
39
- refusedDelPointService?.length > 0
40
- ? [...refusedServices, refusedDelPointService]
41
- : refusedServices;
42
- const finalPayload = {
43
- order_id: orderDetails?.id,
44
- route_id: orderDetails?.order_routes?.route_id,
45
- refused_reason: refusedReason,
46
- service_name: allServices,
47
- };
48
- try {
49
- let response = (await callLogRefusalApi({
50
- payload: finalPayload,
51
- })) as {
52
- code: number | null;
53
- error?: string | null | undefined;
54
- [key: string]: any;
55
- };
56
- if (response.code == 200) {
57
- notification.success({
58
- message: 'Success',
59
- description: `${response?.message}`,
60
- });
61
- props?.callOrdersApi();
62
- } else {
63
- notification.error({
64
- message: 'Error',
65
- description: `${response?.error}`,
66
- });
67
- onClose();
68
- }
69
- } catch (error) {}
70
- };
71
-
72
- const disableSubmitBtn =
73
- refusedReason?.length === 0 ||
74
- (refusedServices?.length === 0 && refusedDelPointService?.length === 0);
75
-
76
- return (
77
- <OrderActionModal
78
- headerTitle="Service Refusal"
79
- showAdditionalInfo
80
- infoText={infoText}
81
- submitBtnTitle="Log Refusal"
82
- onCloseHeader={onClose}
83
- onSubmit={onSubmit}
84
- isSubmitDisabled={disableSubmitBtn}
85
- >
86
- <ContentContainer>
87
- <Left>
88
- <DeliveryPoint
89
- refusedDelPointService={refusedDelPointService}
90
- setRefusedDelPointService={setRefusedDelPointService}
91
- />
92
- <OrderServices
93
- refusedServices={refusedServices}
94
- setRefusedServices={setRefusedServices}
95
- />
96
- </Left>
97
- <Right>
98
- <Notes
99
- refusedReason={refusedReason}
100
- setRefusedReason={setRefusedReason}
101
- />
102
- </Right>
103
- </ContentContainer>
104
- </OrderActionModal>
105
- );
106
- }
107
-
108
- const ContentContainer = styled.div`
109
- display: flex;
110
- padding: 0px 15px;
111
- align-items: flex-start;
112
- gap: 10px;
113
- align-self: stretch;
114
- `;
115
-
116
- const Left = styled.div`
117
- display: flex;
118
- padding: 15px 12px;
119
- flex-direction: column;
120
- justify-content: center;
121
- align-items: flex-start;
122
- gap: 15px;
123
- flex: 1 0 0;
124
- border-radius: 15px;
125
- background: #f8fafc;
126
- `;
127
-
128
- const Right = styled(Left)``;
129
-
130
- export default LogServiceRefusal;