@bjsdistribution/dms-client-return 0.1.20-dev → 0.1.20-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 (177) 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/ReturnRTFilters.d.ts +3 -0
  4. package/dist/components/order-daily-overview/header/route-header/ClientRouterHeader.d.ts +11 -0
  5. package/dist/components/order-daily-overview/table-view/TableStyle.d.ts +4 -4
  6. package/dist/components/order-view/DynamicTable.d.ts +2 -1
  7. package/dist/components/order-view/general-information/Status.d.ts +1 -1
  8. package/dist/components/order-view/general-information/index.d.ts +1 -1
  9. package/dist/components/order-view/index.d.ts +1 -1
  10. package/dist/components/order-view/notes/AddNote.d.ts +1 -0
  11. package/dist/components/order-view/notes/order-dropdown/NewReturnDropdown.d.ts +3 -0
  12. package/dist/components/order-view/order-actions/actions/clear-booking-status/ClearBookingStatus.d.ts +4 -1
  13. package/dist/components/order-view/order-actions/actions/confirm-order/index.d.ts +4 -1
  14. package/dist/components/order-view/order-actions/actions/force-debrief/BaseChargeConfirmationModal.d.ts +7 -0
  15. package/dist/components/order-view/order-actions/actions/force-debrief/ForceDebriefModal.d.ts +11 -0
  16. package/dist/components/order-view/order-actions/actions/force-debrief/Selector.d.ts +11 -0
  17. package/dist/components/order-view/order-actions/actions/force-debrief/charges/adhoc/index.d.ts +3 -0
  18. package/dist/components/order-view/order-actions/actions/force-debrief/charges/base-charge/index.d.ts +8 -0
  19. package/dist/components/order-view/order-actions/actions/force-debrief/charges/collection-add-ons/index.d.ts +7 -0
  20. package/dist/components/order-view/order-actions/actions/force-debrief/charges/delivery-add-ons/index.d.ts +7 -0
  21. package/dist/components/order-view/order-actions/actions/force-debrief/charges/disposal-charges/index.d.ts +7 -0
  22. package/dist/components/order-view/order-actions/actions/force-debrief/charges/order-charges/index.d.ts +7 -0
  23. package/dist/components/order-view/order-actions/actions/force-debrief/escalation/EscalationCategory.d.ts +3 -0
  24. package/dist/components/order-view/order-actions/actions/force-debrief/escalation/EscalationLevel.d.ts +3 -0
  25. package/dist/components/order-view/order-actions/actions/force-debrief/escalation/EscalationReason.d.ts +3 -0
  26. package/dist/components/order-view/order-actions/actions/force-debrief/escalation/index.d.ts +3 -0
  27. package/dist/components/order-view/order-actions/actions/force-debrief/notifications/FlagsTemplate.d.ts +3 -0
  28. package/dist/components/order-view/order-actions/actions/force-debrief/notifications/OrderTemplate.d.ts +3 -0
  29. package/dist/components/order-view/order-actions/actions/force-debrief/notifications/Tabs.d.ts +3 -0
  30. package/dist/components/order-view/order-actions/actions/force-debrief/notifications/index.d.ts +3 -0
  31. package/dist/components/order-view/order-actions/actions/force-debrief/order-info/RadioButtons.d.ts +7 -0
  32. package/dist/components/order-view/order-actions/actions/force-debrief/order-info/dropdowns/CancellationReasonDropdown.d.ts +3 -0
  33. package/dist/components/order-view/order-actions/actions/force-debrief/order-info/dropdowns/FailureReasonDropdown.d.ts +3 -0
  34. package/dist/components/order-view/order-actions/actions/force-debrief/order-info/dropdowns/OrderHoldReasonDropdown.d.ts +3 -0
  35. package/dist/components/order-view/order-actions/actions/force-debrief/order-info/dropdowns/StatusDropdown.d.ts +3 -0
  36. package/dist/components/order-view/order-actions/actions/force-debrief/order-info/dropdowns/ZoneDropdown.d.ts +3 -0
  37. package/dist/components/order-view/order-actions/actions/force-debrief/order-info/failure-content/index.d.ts +3 -0
  38. package/dist/components/order-view/order-actions/actions/force-debrief/order-info/index.d.ts +4 -0
  39. package/dist/components/order-view/order-actions/actions/force-debrief/order-info/success-content/index.d.ts +3 -0
  40. package/dist/components/order-view/order-actions/actions/force-debrief/styles.d.ts +8 -0
  41. package/dist/components/order-view/order-actions/actions/hold-order/HoldOrderModal.d.ts +1 -0
  42. package/dist/components/order-view/order-actions/actions/remove-from-route/RemoveFromRoute.d.ts +1 -1
  43. package/dist/components/order-view/order-actions/actions/unhold-order/UnholdOrder.d.ts +1 -0
  44. package/dist/components/order-view/order-actions/types.d.ts +3 -3
  45. package/dist/components/order-view/order-details/expanded-content/index.d.ts +1 -1
  46. package/dist/components/order-view/order-details/index.d.ts +1 -1
  47. package/dist/components/order-view/order-resources/expanded-content/index.d.ts +1 -1
  48. package/dist/components/order-view/products-info/expanded-content/index.d.ts +6 -1
  49. package/dist/components/order-view/products-info/index.d.ts +1 -1
  50. package/dist/components/order-view/return-client-products/ProductTable.d.ts +6 -1
  51. package/dist/components/order-view/return-client-products/product-table/ReturnProductTable.d.ts +6 -1
  52. package/dist/components/order-view/store.d.ts +15 -3
  53. package/dist/components/order-view/system-event-logs/expanded-content/index.d.ts +1 -1
  54. package/dist/components/order-view/types.d.ts +55 -1
  55. package/dist/components/order-view/utils.d.ts +11 -2
  56. package/dist/components/store.d.ts +1 -1
  57. package/dist/dms-client-return.cjs.development.js +7157 -4661
  58. package/dist/dms-client-return.cjs.development.js.map +1 -1
  59. package/dist/dms-client-return.cjs.production.min.js +1 -1
  60. package/dist/dms-client-return.cjs.production.min.js.map +1 -1
  61. package/dist/dms-client-return.esm.js +7173 -4677
  62. package/dist/dms-client-return.esm.js.map +1 -1
  63. package/package.json +6 -4
  64. package/src/assets/icons/ActionIcon.tsx +1 -1
  65. package/src/assets/icons/ArrowDownIcon.tsx +2 -2
  66. package/src/components/client-portal/DateFilterStore.ts +139 -0
  67. package/src/components/client-portal/OutstandingTable.tsx +16 -72
  68. package/src/components/client-portal/ReturnAfterSearchBar.tsx +42 -87
  69. package/src/components/client-portal/ReturnOverview.tsx +11 -2
  70. package/src/components/client-portal/ReturnRTFilters.tsx +140 -43
  71. package/src/components/client-portal/ReturnSearchBar.tsx +42 -153
  72. package/src/components/client-portal/ReturnStatus.tsx +33 -82
  73. package/src/components/client-portal/return-confirm/ConfirmedMain.tsx +12 -23
  74. package/src/components/client-portal/return-confirm/ReturnConfirmedTable.tsx +9 -86
  75. package/src/components/order-daily-overview/header/route-header/ClientRouterHeader.tsx +166 -0
  76. package/src/components/order-daily-overview/header/route-header/RouterHeader.tsx +2 -86
  77. package/src/components/order-daily-overview/header-filters/SelectionFilter.tsx +46 -15
  78. package/src/components/order-daily-overview/index.tsx +23 -4
  79. package/src/components/order-daily-overview/return-after-table/ReturnAfterTable.tsx +6 -1
  80. package/src/components/order-daily-overview/return-after-table/table/OrderTable.tsx +3 -0
  81. package/src/components/order-daily-overview/return-after-table/table-filters/ReturnFilterStore.ts +36 -36
  82. package/src/components/order-daily-overview/return-after-table/table-filters/ReturnOrderFilter.tsx +12 -2
  83. package/src/components/order-daily-overview/return-order-table/ReturnTable.tsx +16 -0
  84. package/src/components/order-daily-overview/return-order-table/return-orders-filters/ReturnOrderTable.tsx +25 -11
  85. package/src/components/order-daily-overview/table/ReturnTable.tsx +8 -4
  86. package/src/components/order-view/DynamicTable.tsx +21 -8
  87. package/src/components/order-view/details-filters/left-side-filters/dropdowns/DropDowns.tsx +1 -1
  88. package/src/components/order-view/details-filters/left-side-filters/dropdowns/OptionsDropDown.tsx +9 -0
  89. package/src/components/order-view/details-filters/right-side-filters/Details.tsx +28 -3
  90. package/src/components/order-view/flags-action-modal/Dropdowns.tsx +2 -0
  91. package/src/components/order-view/general-information/Status.tsx +92 -18
  92. package/src/components/order-view/general-information/index.tsx +2 -2
  93. package/src/components/order-view/generic-table/AuditLogs.tsx +39 -12
  94. package/src/components/order-view/index.tsx +50 -8
  95. package/src/components/order-view/modalsPopup/ModalManager.tsx +1 -1
  96. package/src/components/order-view/notes/AddNote.tsx +95 -65
  97. package/src/components/order-view/notes/order-dropdown/NewReturnDropdown.tsx +8 -10
  98. package/src/components/order-view/notification/FlagTemplate.tsx +21 -10
  99. package/src/components/order-view/notification/OrderTemplate.tsx +192 -41
  100. package/src/components/order-view/notification/ReminderTemplate.tsx +28 -13
  101. package/src/components/order-view/notification/index.tsx +100 -55
  102. package/src/components/order-view/order-actions/actions/add-resources/DocFileUpload.tsx +92 -72
  103. package/src/components/order-view/order-actions/actions/add-resources/index.tsx +27 -10
  104. package/src/components/order-view/order-actions/actions/cancel-order/ReturnAction.tsx +25 -4
  105. package/src/components/order-view/order-actions/actions/cancel-order/ReturnReason.tsx +24 -4
  106. package/src/components/order-view/order-actions/actions/clear-booking-status/ClearBookingStatus.tsx +9 -2
  107. package/src/components/order-view/order-actions/actions/confirm-order/index.tsx +12 -35
  108. package/src/components/order-view/order-actions/actions/confirm-order/tables/NotesTable.tsx +1 -0
  109. package/src/components/order-view/order-actions/actions/create-task-reminder/CreateReminderModal.tsx +88 -30
  110. package/src/components/order-view/order-actions/actions/create-task-reminder/CreateTaskModal.tsx +5 -3
  111. package/src/components/order-view/order-actions/actions/create-task-reminder/TaskModal.tsx +2 -2
  112. package/src/components/order-view/order-actions/actions/force-debrief/BaseChargeConfirmationModal.tsx +94 -0
  113. package/src/components/order-view/order-actions/actions/force-debrief/ForceDebriefModal.tsx +635 -0
  114. package/src/components/order-view/order-actions/actions/force-debrief/Selector.tsx +65 -0
  115. package/src/components/order-view/order-actions/actions/force-debrief/charges/adhoc/index.tsx +94 -0
  116. package/src/components/order-view/order-actions/actions/force-debrief/charges/base-charge/index.tsx +106 -0
  117. package/src/components/order-view/order-actions/actions/force-debrief/charges/collection-add-ons/index.tsx +77 -0
  118. package/src/components/order-view/order-actions/actions/force-debrief/charges/delivery-add-ons/index.tsx +78 -0
  119. package/src/components/order-view/order-actions/actions/force-debrief/charges/disposal-charges/index.tsx +77 -0
  120. package/src/components/order-view/order-actions/actions/force-debrief/charges/order-charges/index.tsx +124 -0
  121. package/src/components/order-view/order-actions/actions/force-debrief/escalation/EscalationCategory.tsx +92 -0
  122. package/src/components/order-view/order-actions/actions/force-debrief/escalation/EscalationLevel.tsx +90 -0
  123. package/src/components/order-view/order-actions/actions/force-debrief/escalation/EscalationReason.tsx +122 -0
  124. package/src/components/order-view/order-actions/actions/force-debrief/escalation/index.tsx +16 -0
  125. package/src/components/order-view/order-actions/actions/force-debrief/notifications/FlagsTemplate.tsx +46 -0
  126. package/src/components/order-view/order-actions/actions/force-debrief/notifications/OrderTemplate.tsx +117 -0
  127. package/src/components/order-view/order-actions/actions/force-debrief/notifications/Tabs.tsx +32 -0
  128. package/src/components/order-view/order-actions/actions/force-debrief/notifications/index.tsx +180 -0
  129. package/src/components/order-view/order-actions/actions/force-debrief/order-info/RadioButtons.tsx +150 -0
  130. package/src/components/order-view/order-actions/actions/force-debrief/order-info/dropdowns/CancellationReasonDropdown.tsx +40 -0
  131. package/src/components/order-view/order-actions/actions/force-debrief/order-info/dropdowns/FailureReasonDropdown.tsx +108 -0
  132. package/src/components/order-view/order-actions/actions/force-debrief/order-info/dropdowns/OrderHoldReasonDropdown.tsx +37 -0
  133. package/src/components/order-view/order-actions/actions/force-debrief/order-info/dropdowns/StatusDropdown.tsx +48 -0
  134. package/src/components/order-view/order-actions/actions/force-debrief/order-info/dropdowns/ZoneDropdown.tsx +27 -0
  135. package/src/components/order-view/order-actions/actions/force-debrief/order-info/failure-content/index.tsx +187 -0
  136. package/src/components/order-view/order-actions/actions/force-debrief/order-info/index.tsx +55 -0
  137. package/src/components/order-view/order-actions/actions/force-debrief/order-info/success-content/index.tsx +221 -0
  138. package/src/components/order-view/order-actions/actions/force-debrief/styles.tsx +51 -0
  139. package/src/components/order-view/order-actions/actions/hold-order/HoldOrderModal.tsx +2 -0
  140. package/src/components/order-view/order-actions/actions/remove-from-route/RemoveFromRoute.tsx +7 -2
  141. package/src/components/order-view/order-actions/actions/unhold-order/UnholdOrder.tsx +2 -0
  142. package/src/components/order-view/order-actions/index.tsx +19 -10
  143. package/src/components/order-view/order-actions/store.ts +1 -1
  144. package/src/components/order-view/order-actions/types.ts +3 -3
  145. package/src/components/order-view/order-details/expanded-content/customer-section/contact-info/ContactHome.tsx +102 -45
  146. package/src/components/order-view/order-details/expanded-content/customer-section/contact-info/ContactMobile.tsx +93 -34
  147. package/src/components/order-view/order-details/expanded-content/customer-section/contact-info/ContactWork.tsx +88 -31
  148. package/src/components/order-view/order-details/expanded-content/footer/index.tsx +55 -80
  149. package/src/components/order-view/order-details/expanded-content/index.tsx +37 -16
  150. package/src/components/order-view/order-details/expanded-content/instruction-section/index.tsx +1 -1
  151. package/src/components/order-view/order-details/expanded-content/services-section/AssemblyType.tsx +9 -91
  152. package/src/components/order-view/order-details/expanded-content/services-section/OrderServices.tsx +10 -182
  153. package/src/components/order-view/order-details/expanded-content/services-section/ServiceLevel.tsx +3 -4
  154. package/src/components/order-view/order-details/index.tsx +5 -2
  155. package/src/components/order-view/order-resources/expanded-content/index.tsx +2 -2
  156. package/src/components/order-view/products-info/expanded-content/index.tsx +33 -11
  157. package/src/components/order-view/products-info/index.tsx +10 -6
  158. package/src/components/order-view/return-client-products/ProductTable.tsx +12 -2
  159. package/src/components/order-view/return-client-products/product-table/ReturnProductTable.tsx +73 -23
  160. package/src/components/order-view/store.ts +113 -1
  161. package/src/components/order-view/system-event-logs/expanded-content/index.tsx +6 -2
  162. package/src/components/order-view/types.ts +60 -1
  163. package/src/components/order-view/utils.ts +49 -33
  164. package/src/components/order-view/view-reminder/AssigneeDropdown.tsx +85 -26
  165. package/src/components/order-view/view-reminder/ViewReminder.tsx +31 -14
  166. package/src/components/store.ts +2 -2
  167. package/src/index.tsx +23 -5
  168. package/dist/components/order-view/order-actions/actions/log-service-refusal/DeliveryPoint.d.ts +0 -7
  169. package/dist/components/order-view/order-actions/actions/log-service-refusal/Notes.d.ts +0 -7
  170. package/dist/components/order-view/order-actions/actions/log-service-refusal/OrderServices.d.ts +0 -7
  171. package/dist/components/order-view/order-actions/actions/log-service-refusal/helper.d.ts +0 -3
  172. package/dist/components/order-view/order-actions/actions/log-service-refusal/index.d.ts +0 -3
  173. package/src/components/order-view/order-actions/actions/log-service-refusal/DeliveryPoint.tsx +0 -50
  174. package/src/components/order-view/order-actions/actions/log-service-refusal/Notes.tsx +0 -50
  175. package/src/components/order-view/order-actions/actions/log-service-refusal/OrderServices.tsx +0 -57
  176. package/src/components/order-view/order-actions/actions/log-service-refusal/helper.ts +0 -26
  177. package/src/components/order-view/order-actions/actions/log-service-refusal/index.tsx +0 -130
@@ -3,111 +3,29 @@ import React from 'react';
3
3
  import styled from 'styled-components';
4
4
  import { useOrderDetails, useOrderStaticData } from '../../../store';
5
5
  import { capitalize } from '../../../utils';
6
+ import { OrdersType } from '../../../types';
6
7
 
7
8
  function AssemblyType() {
8
9
  const [orderData, setOrderData] = useOrderDetails();
9
10
  const [orderStaticData] = useOrderStaticData();
10
- const orderServices = orderData?.order_services;
11
- const cloneServices = [...orderServices];
12
- const assembleOrderService = orderStaticData?.order_service_list?.find(
13
- (x: any) => x?.type?.toLowerCase() === 'assemble'
14
- );
15
- const disassembleOrderService = orderStaticData?.order_service_list?.find(
16
- (x: any) => x?.type?.toLowerCase() === 'disassemble'
17
- );
18
- const assemblyTypeService = cloneServices?.find(
19
- (x: any) => x?.order_service_list_id === assembleOrderService?.id
20
- );
21
- const disassemblyTypeService = cloneServices?.find(
22
- (x: any) => x?.order_service_list_id === disassembleOrderService?.id
23
- );
24
- const assemblyTypeId =
25
- assemblyTypeService?.service_category_id ||
26
- disassemblyTypeService?.service_category_id;
11
+
27
12
  const assemblyTypeOptions = orderStaticData?.order_service_list_category?.map(
28
13
  (option: any) => ({
29
14
  label: capitalize(option.type.replaceAll('_', ' ')),
30
- value: option.id.toString(),
15
+ value: option.type,
31
16
  })
32
17
  );
33
18
 
34
19
  const radioGroupHandler = (event: React.ChangeEvent<HTMLInputElement>) => {
35
- let updatedAssemblyTypeService = {};
36
-
37
- let updatedDisassemblyTypeService = {};
38
-
39
- let updatedOrderServices: any = [];
40
-
41
- if (
42
- (assemblyTypeService?.is_deleted === false &&
43
- disassemblyTypeService?.is_deleted === true &&
44
- disassemblyTypeService !== undefined &&
45
- disassemblyTypeService !== null) ||
46
- (disassemblyTypeService?.is_deleted === false &&
47
- assemblyTypeService?.is_deleted === true &&
48
- assemblyTypeService !== undefined &&
49
- assemblyTypeService !== null) ||
50
- (assemblyTypeService?.is_deleted === false &&
51
- disassemblyTypeService?.is_deleted === false)
52
- ) {
53
- updatedAssemblyTypeService = {
54
- ...assemblyTypeService!,
55
- service_category_id: +event.target.value,
56
- };
57
- updatedDisassemblyTypeService = {
58
- ...disassemblyTypeService!,
59
- service_category_id: +event.target.value,
60
- };
61
- updatedOrderServices = cloneServices?.filter(
62
- s =>
63
- s?.order_service_list_id !== assembleOrderService?.id &&
64
- s?.order_service_list_id !== disassembleOrderService?.id
65
- );
66
- updatedOrderServices.push(updatedAssemblyTypeService);
67
- updatedOrderServices.push(updatedDisassemblyTypeService);
68
- } else if (
69
- assemblyTypeService?.is_deleted === false &&
70
- (disassemblyTypeService?.is_deleted === true ||
71
- disassemblyTypeService === undefined ||
72
- disassemblyTypeService === null)
73
- ) {
74
- updatedAssemblyTypeService = {
75
- ...assemblyTypeService!,
76
- service_category_id: +event.target.value,
77
- };
78
- updatedOrderServices = cloneServices?.filter(
79
- s => s?.order_service_list_id !== assembleOrderService?.id
80
- );
81
- updatedOrderServices.push(updatedAssemblyTypeService);
82
- } else {
83
- updatedDisassemblyTypeService = {
84
- ...disassemblyTypeService!,
85
- service_category_id: +event.target.value,
86
- };
87
- updatedOrderServices = cloneServices?.filter(
88
- s => s?.order_service_list_id !== disassembleOrderService?.id
89
- );
90
-
91
- updatedOrderServices.push(updatedDisassemblyTypeService);
92
- }
93
- const newData = { ...orderData, order_services: updatedOrderServices };
20
+ const newData: OrdersType = {
21
+ ...orderData,
22
+ assembly_type: event.target.value,
23
+ };
94
24
  setOrderData(newData);
95
25
  };
96
26
 
97
27
  const isServiceDisable = () => {
98
- if (
99
- (assemblyTypeService?.is_deleted === true &&
100
- (disassemblyTypeService?.is_deleted === true ||
101
- disassemblyTypeService === undefined ||
102
- disassemblyTypeService === null)) ||
103
- (disassemblyTypeService?.is_deleted === true &&
104
- (assemblyTypeService?.is_deleted === true ||
105
- assemblyTypeService === undefined ||
106
- assemblyTypeService === null)) ||
107
- (assemblyTypeService === undefined &&
108
- disassemblyTypeService === undefined) ||
109
- (assemblyTypeService === null && disassemblyTypeService === null)
110
- ) {
28
+ if (orderData?.assemble === false && orderData?.disassemble === false) {
111
29
  return true;
112
30
  } else {
113
31
  return false;
@@ -117,7 +35,7 @@ function AssemblyType() {
117
35
  return (
118
36
  <Container $isDisable={isServiceDisable()}>
119
37
  <RadioButtonGroup
120
- selectedValue={assemblyTypeId?.toString() || ''}
38
+ selectedValue={orderData?.assembly_type || ''}
121
39
  heading="Assembly Type"
122
40
  options={assemblyTypeOptions || []}
123
41
  onChange={radioGroupHandler}
@@ -4,16 +4,12 @@ import ServiceSlider from '../../../../../common/services-slider/ServiceSlider';
4
4
  import {
5
5
  useOrderDetails,
6
6
  useOrderStaticData,
7
- usePrevOrderDetails,
8
7
  } from '../../../store';
9
- import { OrderServiceType } from '../../../types';
8
+ import { OrdersType } from '../../../types';
10
9
 
11
10
  function OrderServices() {
12
11
  const [orderStaticData] = useOrderStaticData();
13
12
  const [orderDetails, setOrderDetails] = useOrderDetails();
14
- const [prevOrderDetails] = usePrevOrderDetails();
15
- const orderServices = orderDetails?.order_services;
16
- const prevOrderServices = prevOrderDetails?.order_services;
17
13
 
18
14
  const orderServicesOptions = orderStaticData?.order_service_list;
19
15
 
@@ -30,190 +26,22 @@ function OrderServices() {
30
26
  });
31
27
 
32
28
  const toggleServices = (id: number) => {
33
- const clone = [...orderServices];
34
- const selectedService = clone?.find(
35
- (s: OrderServiceType) => s?.order_service_list_id === id
29
+ const selectedService = orderServicesOptions?.find(
30
+ (item: any) => item.id === id
36
31
  );
37
- const assembleOrderService = orderStaticData?.order_service_list?.find(
38
- (x: any) => x?.type?.toLowerCase() === 'assemble'
39
- );
40
- const disassembleOrderService = orderStaticData?.order_service_list?.find(
41
- (x: any) => x?.type?.toLowerCase() === 'disassemble'
42
- );
43
-
44
- const assemblyTypeService = clone?.find(
45
- (x: any) => x?.order_service_list_id === assembleOrderService?.id
46
- );
47
-
48
- const disassemblyTypeService = clone?.find(
49
- (x: any) => x?.order_service_list_id === disassembleOrderService?.id
50
- );
51
-
52
- if (selectedService !== undefined) {
53
- const isAssembleService =
54
- assembleOrderService?.id === selectedService?.order_service_list_id;
55
-
56
- const isDisassembleService =
57
- disassembleOrderService?.id === selectedService?.order_service_list_id;
58
-
59
- if (selectedService.new_id) {
60
- const updatedOrderServices = clone.filter(
61
- (service: OrderServiceType) => service.id !== selectedService.id
62
- );
63
- const newData = {
64
- ...orderDetails,
65
- order_services: updatedOrderServices,
66
- };
67
- setOrderDetails(newData);
68
- } else {
69
- let updatedSelectedService = {
70
- ...selectedService,
71
- is_deleted: !selectedService.is_deleted,
72
- };
73
-
74
- let updatedOrderServices = [];
75
- let newUpdatedOrderServices: any = [];
76
-
77
- updatedOrderServices = clone.filter(
78
- (service: OrderServiceType) => service.id !== selectedService.id
79
- );
80
-
81
- updatedOrderServices.push(updatedSelectedService);
82
- if (
83
- (isAssembleService &&
84
- updatedSelectedService?.is_deleted === true &&
85
- (disassemblyTypeService?.is_deleted === true ||
86
- disassemblyTypeService === undefined ||
87
- disassemblyTypeService === null)) ||
88
- (isDisassembleService &&
89
- updatedSelectedService?.is_deleted === true &&
90
- (assemblyTypeService?.is_deleted === true ||
91
- assemblyTypeService === undefined ||
92
- assemblyTypeService === null))
93
- ) {
94
- const prevSelectedService = prevOrderServices?.find(
95
- (s: OrderServiceType) => s?.order_service_list_id === id
96
- );
97
- updatedSelectedService = {
98
- ...selectedService,
99
- is_deleted: true,
100
- service_category_id: prevSelectedService?.service_category_id,
101
- };
102
- updatedOrderServices = clone.filter(
103
- (service: OrderServiceType) => service.id !== selectedService.id
104
- );
105
-
106
- updatedOrderServices.push(updatedSelectedService);
107
- // new cases
108
- if (
109
- isAssembleService &&
110
- disassemblyTypeService?.is_deleted === true &&
111
- disassemblyTypeService !== undefined &&
112
- disassemblyTypeService !== null
113
- ) {
114
- const newUpdatedSelectedService = {
115
- ...disassemblyTypeService,
116
- is_deleted: true,
117
- service_category_id: prevSelectedService?.service_category_id,
118
- };
119
- newUpdatedOrderServices = updatedOrderServices?.filter(
120
- (service: OrderServiceType) =>
121
- service.id !== disassemblyTypeService.id
122
- );
123
- newUpdatedOrderServices?.push(newUpdatedSelectedService);
124
- }
125
- // new cases
126
- if (
127
- isDisassembleService &&
128
- assemblyTypeService?.is_deleted === true &&
129
- assemblyTypeService !== undefined &&
130
- assemblyTypeService !== null
131
- ) {
132
- const newUpdatedSelectedService = {
133
- ...assemblyTypeService,
134
- is_deleted: true,
135
- service_category_id: prevSelectedService?.service_category_id,
136
- };
137
- newUpdatedOrderServices = updatedOrderServices?.filter(
138
- (service: OrderServiceType) =>
139
- service.id !== assemblyTypeService.id
140
- );
141
- newUpdatedOrderServices?.push(newUpdatedSelectedService);
142
- }
143
- }
144
-
145
- const newData = {
146
- ...orderDetails,
147
- order_services:
148
- newUpdatedOrderServices.length > 0
149
- ? newUpdatedOrderServices
150
- : updatedOrderServices,
151
- };
152
- setOrderDetails(newData);
153
- }
154
- } else {
155
- // service not exist case
156
- // if not matched then treat it as an new service
157
- let largestId: number;
158
- if (clone === undefined || clone.length === 0) {
159
- largestId = 0;
160
- } else {
161
- largestId = Math.max(
162
- ...clone?.map((o: OrderServiceType) => +o?.order_service_list_id!)
163
- );
164
- }
165
-
166
- let service: OrderServiceType = {};
167
- // Normal service addition
168
- service = {
169
- is_deleted: false,
170
- order_service_list_id: id,
171
- new_id:
172
- largestId !== undefined && largestId !== null ? largestId + 1 : 1,
173
- id: largestId !== undefined && largestId !== null ? largestId + 1 : 1,
174
- };
175
- // special case if assembly already exist and we are adding disassemble service and vice-versa
176
- if (
177
- assemblyTypeService?.is_deleted === false &&
178
- disassembleOrderService?.id === id
179
- ) {
180
- service = {
181
- is_deleted: false,
182
- order_service_list_id: id,
183
- new_id:
184
- largestId !== undefined && largestId !== null ? largestId + 1 : 1,
185
- id: largestId !== undefined && largestId !== null ? largestId + 1 : 1,
186
- service_category_id: assemblyTypeService?.service_category_id,
187
- };
188
- }
189
-
190
- if (
191
- disassemblyTypeService?.is_deleted === false &&
192
- assembleOrderService?.id === id
193
- ) {
194
- service = {
195
- is_deleted: false,
196
- order_service_list_id: id,
197
- new_id:
198
- largestId !== undefined && largestId !== null ? largestId + 1 : 1,
199
- id: largestId !== undefined && largestId !== null ? largestId + 1 : 1,
200
- service_category_id: disassemblyTypeService?.service_category_id,
201
- };
202
- }
203
- clone.push(service);
204
- const newData = { ...orderDetails, order_services: clone };
205
- setOrderDetails(newData);
206
- }
32
+ const key = selectedService?.type;
33
+ const value = !orderDetails[key as keyof OrdersType];
34
+ setOrderDetails(prev => ({
35
+ ...prev,
36
+ [key]: value,
37
+ }));
207
38
  };
208
39
  const isDisabled = true;
209
40
 
210
41
  return (
211
42
  <Container disabled={isDisabled}>
212
43
  {sortedServices?.map((service: any) => {
213
- const selected = !!orderServices?.find(
214
- (s: OrderServiceType) =>
215
- s?.order_service_list_id === service?.id && s.is_deleted === false
216
- );
44
+ const selected = orderDetails[service?.type as keyof OrdersType];
217
45
  return (
218
46
  <ServiceSlider
219
47
  serviceName={service?.type?.replaceAll('_', ' ')}
@@ -8,13 +8,12 @@ function ServiceLevel() {
8
8
  const [orderStaticData] = useOrderStaticData();
9
9
  const [orderData, setOrderData] = useOrderDetails();
10
10
 
11
- const serviceLevelId =
12
- orderData?.order_services_detail?.order_service_level_id;
11
+ const serviceLevelId = orderData?.order_services_detail?.order_service_level_id?.toString();
13
12
 
14
13
  const serviceLevelOptions = orderStaticData?.order_service_levels?.map(
15
14
  (option: any) => ({
16
15
  label: capitalize(option.type.replaceAll('_', ' ')),
17
- value: option.id.toString(),
16
+ value: option?.id?.toString(),
18
17
  })
19
18
  );
20
19
 
@@ -32,7 +31,7 @@ function ServiceLevel() {
32
31
  return (
33
32
  <Container disabled={isDisabled}>
34
33
  <RadioButtonGroup
35
- selectedValue={serviceLevelId?.toString() || ''}
34
+ selectedValue={serviceLevelId || ''}
36
35
  heading="Service Level"
37
36
  options={serviceLevelOptions || []}
38
37
  onChange={radioGroupHandler}
@@ -14,7 +14,7 @@ interface ApiResponse {
14
14
  setShouldPerformAction: boolean;
15
15
  }
16
16
 
17
- function OrderDetails() {
17
+ function OrderDetails({ orderLoading, depotDataLoading }: any) {
18
18
  const [orderData] = useOrderDetails();
19
19
  const customerData = orderData;
20
20
  const id = customerData?.customer_id;
@@ -44,7 +44,10 @@ function OrderDetails() {
44
44
 
45
45
  return (
46
46
  <>
47
- <ExpandedContent />
47
+ <ExpandedContent
48
+ orderLoading={orderLoading}
49
+ depotDataLoading={depotDataLoading}
50
+ />
48
51
  </>
49
52
  );
50
53
  }
@@ -6,7 +6,7 @@ import DynamicTable from '../../DynamicTable';
6
6
  import { useOrderProductsResources } from '../../store';
7
7
  import { tableColumns } from '../helper';
8
8
 
9
- function Order() {
9
+ function Order({ loading }: any) {
10
10
  const [orderResources] = useOrderProductsResources();
11
11
 
12
12
  const data =
@@ -17,7 +17,7 @@ function Order() {
17
17
  return (
18
18
  <Table>
19
19
  <CollapsableForm collapsedContent={<CollapsedContent />}>
20
- <DynamicTable columns={tableColumns} data={data} />
20
+ <DynamicTable columns={tableColumns} data={data} loading={loading} />
21
21
  </CollapsableForm>
22
22
  </Table>
23
23
  );
@@ -3,8 +3,9 @@ import styled from 'styled-components';
3
3
  import ProductTable from '../../return-client-products/ProductTable';
4
4
  import NewReturnDropdown, {
5
5
  payloadAtom,
6
+ selectedOrderId,
6
7
  } from '../../notes/order-dropdown/NewReturnDropdown';
7
- import { Button, useApiHook } from '@bjsdistribution/dms-component-library';
8
+ import { Button, useAxios } from '@bjsdistribution/dms-component-library';
8
9
  import { useAtom } from 'jotai';
9
10
  import { ApiResponse } from '../../types';
10
11
  import { usePostLoading, useSelectedProducts } from '../../../store';
@@ -13,25 +14,32 @@ import { useNavigate } from 'react-router-dom';
13
14
  import { notification } from 'antd';
14
15
  import { useOrderId } from '../../store';
15
16
 
16
- function ExpandedContent() {
17
+ interface IPROS {
18
+ callReturnProducts: any;
19
+ loading: boolean;
20
+ locationloading: boolean;
21
+ }
22
+
23
+ function ExpandedContent(props: IPROS) {
17
24
  const [payload] = useAtom(payloadAtom);
18
25
  const [, setPostLoading] = usePostLoading();
19
26
  const [orderId] = useOrderId();
20
27
  const [isButtonDisabled, setIsButtonDisabled] = useState(true);
21
28
  const navigate = useNavigate();
22
29
  const [, setSelectedProducts] = useSelectedProducts();
30
+ const [, setSelectedOrderId] = useAtom(selectedOrderId);
23
31
 
24
32
  const {
25
33
  data: response,
26
- setShouldPerformAction,
34
+
27
35
  loading: confirmLoading,
28
- } = useApiHook<{
36
+ fetchData: callMoveProducts,
37
+ } = useAxios<{
29
38
  data: ApiResponse[];
30
39
  }>({
31
40
  endpoint: `/v1/return/product/move/?return_order_id=${orderId}`,
32
41
  method: 'POST',
33
42
  body: payload,
34
- performAction: false,
35
43
  });
36
44
 
37
45
  useEffect(() => {
@@ -46,12 +54,22 @@ function ExpandedContent() {
46
54
  }
47
55
  }, [payload]);
48
56
 
49
- const handleConfirmReturn = () => {
50
- if (!isButtonDisabled) {
51
- setShouldPerformAction(true);
52
- setPostLoading(confirmLoading);
53
- } else {
57
+ const sleep = (ms: number) => new Promise(res => setTimeout(res, ms));
58
+
59
+ const handleConfirmReturn = async () => {
60
+ if (isButtonDisabled) {
54
61
  console.error('Payload is incomplete:', payload);
62
+ return;
63
+ }
64
+
65
+ setPostLoading(true);
66
+
67
+ const response = await callMoveProducts();
68
+ //@ts-ignore
69
+ if (response?.code === 200) {
70
+ await sleep(2000);
71
+ props?.callReturnProducts();
72
+ setSelectedOrderId(null);
55
73
  }
56
74
  };
57
75
 
@@ -90,7 +108,11 @@ function ExpandedContent() {
90
108
 
91
109
  return (
92
110
  <Container>
93
- <ProductTable />
111
+ <ProductTable
112
+ callReturnProducts={props?.callReturnProducts}
113
+ loading={props?.loading}
114
+ locationloading={props?.locationloading}
115
+ />
94
116
  <MidContainer>
95
117
  <SaveNoteContainer>
96
118
  <Button
@@ -15,12 +15,12 @@ interface ApiResponse {
15
15
  setShouldPerformAction: boolean;
16
16
  }
17
17
 
18
- function ProductsInfo() {
18
+ function ProductsInfo({ locationloading }: any) {
19
19
  const [data] = useOrderDetails();
20
20
  const returnOrder = data;
21
21
 
22
22
  // For API Call
23
- const [, setAPidata] = useProductDetails();
23
+ const [, setProductsData] = useProductDetails();
24
24
  const [, setLoading] = useLoading();
25
25
  const {
26
26
  data: returnOrdersData,
@@ -43,17 +43,21 @@ function ProductsInfo() {
43
43
  setLoading(loading);
44
44
  if (returnOrdersData && returnOrdersData.data) {
45
45
  const requiredData = returnOrdersData.data;
46
- if (requiredData.length > 0) {
47
- setAPidata(requiredData);
46
+ if (requiredData?.length > 0) {
47
+ setProductsData(requiredData);
48
48
  } else {
49
- setAPidata(null);
49
+ setProductsData([]);
50
50
  }
51
51
  }
52
52
  }, [returnOrdersData, loading]);
53
53
 
54
54
  return (
55
55
  <CollapsableForm collapsedContent={<CollapsedContent />}>
56
- <ExpandedContent />
56
+ <ExpandedContent
57
+ callReturnProducts={callReturnProducts}
58
+ loading={loading}
59
+ locationloading={locationloading}
60
+ />
57
61
  </CollapsableForm>
58
62
  );
59
63
  }
@@ -2,10 +2,20 @@ import React from 'react';
2
2
  import ReturnProductTable from './product-table/ReturnProductTable';
3
3
  import styled from 'styled-components';
4
4
 
5
- const ProductTable = () => {
5
+ interface IPROS {
6
+ callReturnProducts: any;
7
+ loading: boolean;
8
+ locationloading: boolean;
9
+ }
10
+
11
+ const ProductTable = (props: IPROS) => {
6
12
  return (
7
13
  <Container>
8
- <ReturnProductTable />
14
+ <ReturnProductTable
15
+ callReturnProducts={props?.callReturnProducts}
16
+ loading={props?.loading}
17
+ locationloading={props?.locationloading}
18
+ />
9
19
  </Container>
10
20
  );
11
21
  };