@feedmepos/mf-inventory-portal 1.2.1 → 1.2.2-5.dev-1

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 (147) hide show
  1. package/dist/App-DMkUg806.js +297 -0
  2. package/dist/{ApprovalView-DwRrbVDo.js → ApprovalView-DWJh2K6W.js} +65 -64
  3. package/dist/{BindingsDialog-DUVKv10-.js → BindingsDialog-EmHCvqJI.js} +2 -2
  4. package/dist/{BindingsPicker-Daib_iq4.js → BindingsPicker-h_9jm1s0.js} +3 -3
  5. package/dist/{BindingsTable-Bv9UmcJP.js → BindingsTable-BAVWGUoa.js} +1 -1
  6. package/dist/ClosingDraftView-Du4kOwIg.js +1899 -0
  7. package/dist/ClosingHistoryView-DuW2Vtrs.js +355 -0
  8. package/dist/ClosingTemplateView-CfPY8R5M.js +2001 -0
  9. package/dist/{DeliveryOrderPrintPreview-DZPcRAja.js → DeliveryOrderPrintPreview-C6Cj8mOp.js} +9 -9
  10. package/dist/FmFilterableMenuOptions.vue_vue_type_script_setup_true_lang-WWIrybw_.js +230 -0
  11. package/dist/{FmMultiselectDialog-CZmwOkrb.js → FmMultiselectDialog-BzWrQOS4.js} +1 -1
  12. package/dist/{FmUnitInput.vue_vue_type_script_setup_true_lang-C-2V2bGc.js → FmUnitInput.vue_vue_type_script_setup_true_lang-DwqVRUFz.js} +36 -36
  13. package/dist/ImportView-lKlYeLay.js +1291 -0
  14. package/dist/{IngredientBindedItem.vue_vue_type_script_setup_true_lang-BGnoF1Zz.js → IngredientBindedItem.vue_vue_type_script_setup_true_lang-_2WZMZU2.js} +5 -5
  15. package/dist/{IngredientGroupView-CAVYpEj3.js → IngredientGroupView-CrmwR2Xt.js} +34 -35
  16. package/dist/IngredientsView-1bAsyz-b.js +2254 -0
  17. package/dist/{IntegrationView-DdLFyZ4H.js → IntegrationView-D16qeEc_.js} +1773 -1635
  18. package/dist/{InventoryBindingForm-C7BdEDtM.js → InventoryBindingForm-BRwOXV_P.js} +1 -1
  19. package/dist/{InventoryBindingForm.vue_vue_type_script_setup_true_lang-B7DND2dQ.js → InventoryBindingForm.vue_vue_type_script_setup_true_lang-NDbtbtqK.js} +28 -28
  20. package/dist/{InventoryBindingSummary-IZ7F-Lti.js → InventoryBindingSummary-DKM2gX8_.js} +1 -1
  21. package/dist/{NumberPrecisionInput.vue_vue_type_script_setup_true_lang-sgqVSlUB.js → NumberPrecisionInput.vue_vue_type_script_setup_true_lang-CdaiYTdf.js} +4 -4
  22. package/dist/{PremiumBadge.vue_vue_type_script_setup_true_lang-DeF32bHu.js → PremiumBadge.vue_vue_type_script_setup_true_lang-B0OKeK5O.js} +7 -7
  23. package/dist/{PublishView-DkgfYneI.js → PublishView-D0NnU22l.js} +73 -63
  24. package/dist/{PurchaseOrderPrintPreview-CltLC4o4.js → PurchaseOrderPrintPreview-BmuwNbeL.js} +4 -4
  25. package/dist/{ReceiveRequestView-Dj7ji0DY.js → ReceiveRequestView-j79m7TKk.js} +343 -333
  26. package/dist/RecipeView-D_fNQQ-C.js +636 -0
  27. package/dist/StockView-DX_xeFBT.js +2385 -0
  28. package/dist/SubsidiaryTreeDialog.vue_vue_type_script_setup_true_lang-Bg49isUy.js +172 -0
  29. package/dist/{SupplierView-DE_M_9kd.js → SupplierView-DuFTqbOg.js} +1193 -1073
  30. package/dist/TransferDetails.vue_vue_type_script_setup_true_lang-c428GXwc.js +3233 -0
  31. package/dist/{TransferTemplateView-gWGBCF3u.js → TransferTemplateView-Ccsfcetz.js} +104 -103
  32. package/dist/UnitView-BklpNsFN.js +674 -0
  33. package/dist/WarehouseView-BrURbU67.js +1066 -0
  34. package/dist/api/adjustment-template.d.ts +1 -0
  35. package/dist/api/bill.d.ts +140 -2
  36. package/dist/api/closing-template.d.ts +1 -0
  37. package/dist/api/closing.d.ts +1 -0
  38. package/dist/api/inventory.d.ts +405 -0
  39. package/dist/api/netsuite.d.ts +5 -1
  40. package/dist/api/purchase-order-template.d.ts +1 -0
  41. package/dist/api/purchase-order.d.ts +3 -0
  42. package/dist/api/shipment.d.ts +11 -0
  43. package/dist/api/stock.d.ts +2 -44
  44. package/dist/api/warehouse.d.ts +3 -1
  45. package/dist/{app-CruHLH1e.js → app-a9r50k3U.js} +68551 -67573
  46. package/dist/app.d.ts +643 -15
  47. package/dist/app.js +6 -6
  48. package/dist/components/FmAdminBadge.vue.d.ts +1 -4
  49. package/dist/components/FmEnhancedSelect.vue.d.ts +30 -0
  50. package/dist/components/FmInventoryTableToolbar.vue.d.ts +16 -2
  51. package/dist/components/FmLockableField.vue.d.ts +3 -0
  52. package/dist/components/netsuite/ItemSubsidiaryTreeDialog.vue.d.ts +16 -0
  53. package/dist/components/netsuite/SubsidiaryTreeDialog.vue.d.ts +2 -0
  54. package/dist/composable/defineApi.d.ts +1 -1
  55. package/dist/composable/useIframe.d.ts +2 -2
  56. package/dist/{decimal-izbvCC1j.js → decimal-AusUnA1W.js} +1 -1
  57. package/dist/{format-unit-display-4SAdfyZB.js → format-unit-display-BqkHL-ph.js} +397 -429
  58. package/dist/helper/array.d.ts +1 -0
  59. package/dist/helper/core/country/utils.d.ts +3 -4
  60. package/dist/helper/country.d.ts +6 -255
  61. package/dist/helper/number.d.ts +1 -0
  62. package/dist/import-export.helper-PIyNeHfa.js +238 -0
  63. package/dist/{index-B6GGthLw.js → index-CjxirPvn.js} +283 -268
  64. package/dist/{index-CnQloOEo.js → index-Dj9-pdT9.js} +1 -1
  65. package/dist/layout/SingleColumnLayout.vue.d.ts +6 -3
  66. package/dist/purchase-order-template-CQikvY1p.js +41 -0
  67. package/dist/router/name.d.ts +2 -0
  68. package/dist/stock-CDZ2uWSF.js +83 -0
  69. package/dist/stock-Dw908dIC.js +74 -0
  70. package/dist/stores/feature.d.ts +12 -0
  71. package/dist/stores/integration/netsuite.d.ts +42 -0
  72. package/dist/stores/inventory.d.ts +28 -199
  73. package/dist/stores/location.d.ts +331 -1
  74. package/dist/stores/supplier.d.ts +96 -0
  75. package/dist/stores/warehouse.d.ts +4 -0
  76. package/dist/style.css +1 -1
  77. package/dist/{supplier-CTVE1lHO.js → supplier-BPPBUudN.js} +1 -1
  78. package/dist/tsconfig.app.tsbuildinfo +1 -1
  79. package/dist/{use-ingredient-select-dialog-CM80TfX0.js → use-ingredient-select-dialog-C_fSKN3_.js} +5 -5
  80. package/dist/{use-inventory-binding-dialog-D_omdhgn.js → use-inventory-binding-dialog-ClAkJ864.js} +8 -8
  81. package/dist/views/adjustment-template/wastage-template/actions.d.ts +60 -0
  82. package/dist/views/adjustment-template/wastage-template/table.d.ts +60 -0
  83. package/dist/views/closing-draft/components/closing-draft-dialog/ClosingDraftDialog.vue.d.ts +56 -0
  84. package/dist/views/closing-draft/composables/use-closing-draft-actions.d.ts +3 -3
  85. package/dist/views/closing-draft/composables/use-closing-draft-table.d.ts +468 -0
  86. package/dist/views/closing-draft/helpers/export-draft.helper.d.ts +9 -2
  87. package/dist/views/closing-history/ClosingHistoryView.vue.d.ts +2 -0
  88. package/dist/views/closing-template/composables/use-closing-template-actions.d.ts +4 -1
  89. package/dist/views/closing-template/helpers/import-export.helper.d.ts +5 -0
  90. package/dist/views/import/ImportView.vue.d.ts +3 -0
  91. package/dist/views/import/components/ImportDialog.vue.d.ts +2 -0
  92. package/dist/views/import/helper/import-export.helper.d.ts +4 -0
  93. package/dist/views/ingredients/components/ingredient-dialog/IngredientDialogProps.d.ts +1 -1
  94. package/dist/views/ingredients/components/ingredient-form/IngredientForm.vue.d.ts +181 -12
  95. package/dist/views/ingredients/components/ingredient-form/IngredientFormProps.d.ts +6 -0
  96. package/dist/views/ingredients/helper/import-export.helper.d.ts +4 -1
  97. package/dist/views/integration/components/netsuite/business/BusinessNetSuiteSideSheet.vue.d.ts +2 -0
  98. package/dist/views/receive-request/components/delivery-order-form/CreateForm.vue.d.ts +16 -0
  99. package/dist/views/receive-request/components/delivery-order-form/CreateFormProps.d.ts +4 -0
  100. package/dist/views/receive-request/components/delivery-order-form/EditForm.vue.d.ts +16 -0
  101. package/dist/views/receive-request/components/delivery-order-form/EditFormProps.d.ts +4 -0
  102. package/dist/views/receive-request/components/delivery-order-form/SystemTrailDialog.vue.d.ts +21 -0
  103. package/dist/views/receive-request/components/netsuite/NetSuiteTransactionChangeLog.vue.d.ts +15 -0
  104. package/dist/views/receive-request/components/transfer-details/TransferDetailsProps.d.ts +1 -0
  105. package/dist/views/receive-request/components/transfer-form/TransferForm.vue.d.ts +420 -2
  106. package/dist/views/receive-request/composables/use-process-purchase-order.d.ts +99 -0
  107. package/dist/views/receive-request/composables/use-receive-request-form.d.ts +644 -13
  108. package/dist/views/receive-request/composables/use-receive-request-table.d.ts +711 -14
  109. package/dist/views/recipe/RecipeView.vue.d.ts +1 -0
  110. package/dist/views/recipe/components/import-recipes/ImportRecipeItem.vue.d.ts +16 -0
  111. package/dist/views/recipe/components/import-recipes/ImportRecipes.vue.d.ts +2 -0
  112. package/dist/views/recipe/helper/import-recipe.d.ts +48 -0
  113. package/dist/views/stock/components/StockRecordCard.vue.d.ts +70 -1
  114. package/dist/views/stock/components/dialog/RecalculationDialog.vue.d.ts +11 -0
  115. package/dist/views/stock/components/dialog/RecalculationDialogProps.d.ts +3 -0
  116. package/dist/views/stock/components/dialog/StockAdjustmentSideSheet.vue.d.ts +20 -0
  117. package/dist/views/supplier/components/SupplierForm.vue.d.ts +8 -0
  118. package/dist/views/supplier/components/SupplierSupplyItemField.vue.d.ts +3 -0
  119. package/dist/views/supplier/composables/use-supplier-table.d.ts +4 -0
  120. package/dist/views/transfer-template/components/transfer-template-dialog/TransferTemplateDialog.vue.d.ts +8 -0
  121. package/dist/views/transfer-template/components/transfer-template-form/components/NetSuiteCustomCodeSelection.vue.d.ts +2 -0
  122. package/dist/views/transfer-template/components/transfer-template-form/composables/use-transfer-locations.d.ts +16 -0
  123. package/dist/views/transfer-template/composables/use-transfer-template-actions.d.ts +48 -0
  124. package/dist/views/transfer-template/composables/use-transfer-template-table.d.ts +48 -0
  125. package/dist/views/unit/UnitView.vue.d.ts +1 -0
  126. package/dist/views/unit/components/import-units/ImportUnitItem.vue.d.ts +12 -0
  127. package/dist/views/unit/components/import-units/ImportUnitItemProps.d.ts +6 -0
  128. package/dist/views/unit/components/import-units/ImportUnits.vue.d.ts +9 -0
  129. package/dist/views/unit/components/import-units/ImportUnitsProps.d.ts +5 -0
  130. package/dist/views/unit/helper/import-export.helper.d.ts +40 -0
  131. package/dist/views/warehouse/components/WarehouseForm.vue.d.ts +8 -0
  132. package/package.json +3 -3
  133. package/dist/App-BqaRC0Sb.js +0 -276
  134. package/dist/ClosingDraftView-sJ_zRPeo.js +0 -1687
  135. package/dist/ClosingTemplateView-cNgXHq1r.js +0 -1908
  136. package/dist/FmAdminBadge-oCnz8SW6.js +0 -34
  137. package/dist/FmFilterableMenuOptions.vue_vue_type_script_setup_true_lang-BKR8C4p_.js +0 -224
  138. package/dist/IngredientsView-CHHeAJH_.js +0 -1858
  139. package/dist/RecipeView-BukmKdVG.js +0 -621
  140. package/dist/StockForecast.vue_vue_type_style_index_0_lang-KLXSWvo5.js +0 -59
  141. package/dist/StockView-wxRCw_w-.js +0 -2087
  142. package/dist/TransferDetails.vue_vue_type_script_setup_true_lang-eqUOnJoM.js +0 -2336
  143. package/dist/UnitView-BgwDmGZo.js +0 -667
  144. package/dist/WarehouseView-BdccenhO.js +0 -1034
  145. package/dist/array-Ca8T3f_G.js +0 -44
  146. package/dist/helper/core/country/codes.d.ts +0 -255
  147. package/dist/stock-BJP5BB5b.js +0 -146
@@ -1,5 +1,5 @@
1
1
  import { ref as b, computed as u } from "vue";
2
- import { u as d, b1 as p, aU as v, c as m, b as h } from "./app-CruHLH1e.js";
2
+ import { u as d, b9 as p, aD as v, c as m, b as h } from "./app-a9r50k3U.js";
3
3
  import { useSnackbar as E } from "@feedmepos/ui-library";
4
4
  function I() {
5
5
  return {
@@ -1,7 +1,10 @@
1
- import type { FmPageHeadAction } from 'node_modules/@feedmepos/ui-library/dist/components/page-head/FmPageHead.vue';
1
+ import type { FmPageHeadAction } from '@feedmepos/ui-library';
2
2
  import type { Breadcrumbs } from './type';
3
+ export type InventoryPageHeadAction = FmPageHeadAction & {
4
+ isAdminOnly?: boolean;
5
+ };
3
6
  export interface SingleColumnLayoutProps {
4
- actions?: FmPageHeadAction[];
7
+ actions?: InventoryPageHeadAction[];
5
8
  title: string;
6
9
  description?: string;
7
10
  showBackButton?: boolean;
@@ -25,7 +28,7 @@ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<im
25
28
  }>>> & Readonly<{
26
29
  "onClick:action"?: ((actionName: string) => any) | undefined;
27
30
  }>, {
28
- actions: FmPageHeadAction[];
31
+ actions: InventoryPageHeadAction[];
29
32
  title: string;
30
33
  breadcrumbs: Breadcrumbs[];
31
34
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>, {
@@ -0,0 +1,41 @@
1
+ import { aa as s } from "./app-a9r50k3U.js";
2
+ import { useCoreStore as c } from "@feedmepos/mf-common";
3
+ const u = s((n, a) => {
4
+ function o() {
5
+ var t;
6
+ return `business_${((t = c().currentBusiness.value) == null ? void 0 : t._id) ?? ""}`;
7
+ }
8
+ return {
9
+ async getTemplate(e) {
10
+ const r = o(), t = `${n.inventoryBackendUrl}/${r}/purchase-order-template/${e}`;
11
+ return a.get(t);
12
+ },
13
+ async getTemplateBySupplierId(e) {
14
+ const r = o(), t = `${n.inventoryBackendUrl}/${r}/purchase-order-template?supplierId=${e}`;
15
+ return a.get(t);
16
+ },
17
+ async readTemplates() {
18
+ const e = o(), r = `${n.inventoryBackendUrl}/${e}/purchase-order-template`;
19
+ return a.get(r);
20
+ },
21
+ async createTemplate(e) {
22
+ const r = o(), t = `${n.inventoryBackendUrl}/${r}/purchase-order-template`;
23
+ return a.post(t, e);
24
+ },
25
+ async updateTemplate(e) {
26
+ const r = o(), t = `${n.inventoryBackendUrl}/${r}/purchase-order-template`;
27
+ return a.put(t, e);
28
+ },
29
+ async deleteTemplate(e) {
30
+ const r = o(), t = `${n.inventoryBackendUrl}/${r}/purchase-order-template`;
31
+ return a.delete(t, { _id: e._id, _rev: e._rev });
32
+ },
33
+ async importTemplates(e) {
34
+ const r = o(), t = `${n.inventoryBackendUrl}/${r}/purchase-order-template/import`;
35
+ return a.post(t, e);
36
+ }
37
+ };
38
+ });
39
+ export {
40
+ u
41
+ };
@@ -6,6 +6,7 @@ export declare enum RouteName {
6
6
  STOCK = "STOCK",
7
7
  CLOSING_TEMPLATE = "CLOSING_TEMPLATE",
8
8
  CLOSING_DRAFT = "CLOSING_DRAFT",
9
+ CLOSING_HISTORY = "CLOSING_HISTORY",
9
10
  WASTAGE_TEMPLATE = "WASTAGE_TEMPLATE",
10
11
  WAREHOUSE = "WAREHOUSE",
11
12
  RECEIVE_REQUEST = "RECEIVE_REQUEST",
@@ -15,6 +16,7 @@ export declare enum RouteName {
15
16
  APPROVAL = "APPROVAL",
16
17
  SUPPLIER = "SUPPLIER",
17
18
  PUBLISH = "PUBLISH",
19
+ IMPORT = "IMPORT",
18
20
  INTEGRATION = "INTEGRATION",
19
21
  DEV = "DEV",
20
22
  IFRAME_INVENTORY_BINDINGS_TABLE = "IFRAME_INVENTORY_BINDINGS_TABLE",
@@ -0,0 +1,83 @@
1
+ import { aa as d, u as m } from "./app-a9r50k3U.js";
2
+ import { useCoreStore as l } from "@feedmepos/mf-common";
3
+ import { useSnackbar as $ } from "@feedmepos/ui-library";
4
+ const y = d((o, r) => {
5
+ const s = m(), u = l(), i = $();
6
+ return r.onError(async (e) => {
7
+ e.name === "SvcForbiddenError" && (i == null || i.open({
8
+ title: e.title,
9
+ message: e.message,
10
+ type: "error"
11
+ }));
12
+ }), {
13
+ async readStockBalance() {
14
+ const e = s.currentLocationDBName, t = `${o.inventoryBackendUrl}/${e}/stock-balance`;
15
+ return await r.get(t);
16
+ },
17
+ async readSkuBalance() {
18
+ var a;
19
+ const e = s.currentLocationDBName, t = `${o.inventoryBackendUrl}/${e}/sku/balance`;
20
+ return (((a = u.currentBusiness.value) == null ? void 0 : a.menuVersion) ?? "") === "v3" ? await r.get(t) : await r.get(`${t}?useInventoryDoc=true`);
21
+ },
22
+ async readSingleAdjustment(e) {
23
+ const t = s.currentLocationDBName, n = `${o.inventoryBackendUrl}/${t}/adjustment`;
24
+ return await r.get(`${n}?adjustmentId=${e}`);
25
+ },
26
+ async readStockAdjustment(e, t, n) {
27
+ const a = s.currentLocationDBName, c = `${o.inventoryBackendUrl}/${a}/sku`;
28
+ return await r.get(`${c}?skuId=${e}&start=${t}&end=${n}`);
29
+ },
30
+ async readAdjustmentById(e) {
31
+ const t = s.currentLocationDBName, n = `${o.inventoryBackendUrl}/${t}/adjustment`;
32
+ return await r.get(`${n}?adjustmentId=${e}`);
33
+ },
34
+ async convertSku(e) {
35
+ var c;
36
+ const t = s.currentLocationDBName, n = `${o.inventoryBackendUrl}/${t}/sku/convert`;
37
+ return (((c = u.currentBusiness.value) == null ? void 0 : c.menuVersion) ?? "") === "v3" ? await r.post(n, e) : await r.post(`${n}?useInventoryDoc=true`, e);
38
+ },
39
+ async adjustSku(e) {
40
+ var c;
41
+ const t = s.currentLocationDBName, n = `${o.inventoryBackendUrl}/${t}/sku/adjust`;
42
+ return (((c = u.currentBusiness.value) == null ? void 0 : c.menuVersion) ?? "") === "v3" ? await r.post(n, e) : await r.post(`${n}?useInventoryDoc=true`, e);
43
+ },
44
+ async revertWastageAdjustment(e) {
45
+ const t = s.currentLocationDBName, n = `${o.inventoryBackendUrl}/${t}/sku/revert-wastage-adjustment`;
46
+ return await r.post(n, e);
47
+ },
48
+ recalculation: {
49
+ getRecalculateAbility() {
50
+ var a;
51
+ const t = `business_${(a = u.currentBusiness.value) == null ? void 0 : a._id}`, n = `${o.inventoryBackendUrl}/${t}/stock/operations/recalculate`;
52
+ return r.get(n);
53
+ },
54
+ startRecalculateTask() {
55
+ var a;
56
+ const t = `business_${(a = u.currentBusiness.value) == null ? void 0 : a._id}`, n = `${o.inventoryBackendUrl}/${t}/stock/operations/recalculate?refundFromPreviousAdjustment=true`;
57
+ return r.post(n);
58
+ },
59
+ refreshCurrentBalances() {
60
+ const e = s.currentLocationDBName, t = `${o.inventoryBackendUrl}/${e}/stock/operations/recalculate/refresh-current-balances`;
61
+ return r.post(t);
62
+ },
63
+ scheduleCalculateStockSnapshotAtDate(e, t) {
64
+ const n = s.currentLocationDBName, a = `${o.inventoryBackendUrl}/${n}/stock/operations/recalculate/schedule/calculate-at-date?effectiveAt=${encodeURIComponent(e)}&closingDraftId=${encodeURIComponent(t)}`;
65
+ return r.get(a);
66
+ },
67
+ recalculationRequests() {
68
+ const e = s.currentLocationDBName, t = `${o.inventoryBackendUrl}/${e}/stock/operations/recalculate/recalculation/requests`;
69
+ return r.get(t);
70
+ },
71
+ scheduleRecalculation(e, t) {
72
+ const n = s.currentLocationDBName, a = `${o.inventoryBackendUrl}/${n}/stock/operations/recalculate/schedule/recalculation`;
73
+ return r.post(a, {
74
+ openingId: e,
75
+ untilDate: t
76
+ });
77
+ }
78
+ }
79
+ };
80
+ });
81
+ export {
82
+ y as u
83
+ };
@@ -0,0 +1,74 @@
1
+ import { u as i } from "./stock-CDZ2uWSF.js";
2
+ import { a as s, aC as p, a0 as k } from "./app-a9r50k3U.js";
3
+ import { ref as B, computed as d } from "vue";
4
+ function v() {
5
+ return {
6
+ stockBalance: {
7
+ _id: "",
8
+ items: []
9
+ },
10
+ productBalance: []
11
+ };
12
+ }
13
+ const m = k(0), y = {
14
+ id: "",
15
+ balance: m,
16
+ closing: null,
17
+ costs: null
18
+ }, c = B(v()), h = () => {
19
+ const r = s(), u = d(() => {
20
+ var a;
21
+ const o = (a = c.value.stockBalance.skus) == null ? void 0 : a.groupBy((t) => t.id), n = (t) => {
22
+ var e;
23
+ return ((e = o == null ? void 0 : o.get(t)) == null ? void 0 : e[0]) ?? { ...y, id: t };
24
+ };
25
+ return r.skus.map((t) => n(t._id));
26
+ }), l = i();
27
+ return {
28
+ // state
29
+ get stockBalance() {
30
+ return {
31
+ ...c.value.stockBalance,
32
+ skus: u.value
33
+ };
34
+ },
35
+ set stockBalance(o) {
36
+ c.value.stockBalance = o;
37
+ },
38
+ get productBalance() {
39
+ return c.value.productBalance;
40
+ },
41
+ set productBalance(o) {
42
+ c.value.productBalance = o;
43
+ },
44
+ // actions
45
+ async readStockBalance() {
46
+ this.stockBalance = await l.readStockBalance();
47
+ },
48
+ async readProductBalance() {
49
+ this.productBalance = [];
50
+ const o = s(), n = p({
51
+ recipes: o.recipes,
52
+ skus: o.skus,
53
+ skuGroups: o.skuGroups,
54
+ inventoryBindingMapping: {},
55
+ stockBalance: this.stockBalance
56
+ // silent: true
57
+ });
58
+ function a(t, e) {
59
+ return Object.prototype.hasOwnProperty.call(t, e);
60
+ }
61
+ for (const t in n.convertCountdown)
62
+ if (a(n.convertCountdown, t)) {
63
+ const e = n.convertCountdown[t];
64
+ this.productBalance.push({
65
+ id: t,
66
+ count: e
67
+ });
68
+ }
69
+ }
70
+ };
71
+ };
72
+ export {
73
+ h as u
74
+ };
@@ -22,6 +22,12 @@ export interface FeatureState {
22
22
  inventory_xilnex_opening_migration: boolean;
23
23
  inventory_synergy_opening_migration: boolean;
24
24
  inventory_netsuite_inventory_transfer_out: boolean;
25
+ inventory_portal_supplier_preparation_time: boolean;
26
+ inventory_portal_delivery_order_write: boolean;
27
+ inventory_pos_transfer_require_fulfillment: boolean;
28
+ inventory_backdate_receive: boolean;
29
+ inventory_purchase_order_custom_cost: boolean;
30
+ inventory_bulk_import: boolean;
25
31
  }
26
32
  export declare const useFeatureStore: () => {
27
33
  readonly businessDbName: string;
@@ -48,6 +54,12 @@ export declare const useFeatureStore: () => {
48
54
  readonly acceptRequireFulfillment: boolean | undefined;
49
55
  readonly useOperatePurchaseOrderV2: boolean;
50
56
  readonly isNetSuiteInventoryTransferOutEnabled: boolean;
57
+ readonly enableSupplierPreparationTime: boolean;
58
+ readonly enablePortalDeliveryOrderWrite: boolean;
59
+ readonly enablePOSTransferRequireFulfillment: boolean;
60
+ readonly enableBackdateReceive: boolean;
61
+ readonly enablePurchaseOrderReceiveWithCustomCost: boolean;
62
+ readonly enableBulkImport: boolean;
51
63
  init(): Promise<void>;
52
64
  awaitFeatureLoaded(callback: () => boolean): Promise<boolean>;
53
65
  };
@@ -20,7 +20,15 @@ interface NetSuiteSettingOption {
20
20
  }
21
21
  export interface NetSuiteState {
22
22
  setting: Omit<FdoNetSuiteSetting, 'realm' | 'accessToken'>;
23
+ businessSubsidiaryName: string;
23
24
  vendorSubsidiary: Record<string, string>;
25
+ skuSubsidiaries: Record<string, {
26
+ includeChildren: boolean;
27
+ flattenedSubsidiaryNames: string[];
28
+ subsidiaryTree: Array<FdoNetSuiteSubsidiaryWithChildren & {
29
+ isAssigned?: boolean;
30
+ }>;
31
+ }>;
24
32
  isReady: boolean;
25
33
  skuOptions: Record<string, NetSuiteSettingOption>;
26
34
  }
@@ -36,10 +44,13 @@ export declare function useNetSuiteStore(): {
36
44
  transferTemplateColumnDefs(args: {
37
45
  onUpdate: (index: number, sku: FdoInventorySku, code: string, measurement?: FdoUnitMeasurement) => void;
38
46
  }): Record<number, ColumnDef<FdoPurchaseOrderTemplateItem>>;
47
+ readonly skuSettingOptions: Record<string, NetSuiteSettingOption>;
39
48
  readonly inventoryTransferOutEnabled: boolean;
40
49
  readonly isReady: boolean;
41
50
  readonly isEnabled: boolean;
42
51
  readonly isBusinessLocation: boolean;
52
+ readonly businessSubsidiaryId: string | null | undefined;
53
+ readonly businessSubsidiaryName: string;
43
54
  readonly state: {
44
55
  setting: {
45
56
  _id: string;
@@ -60,6 +71,7 @@ export declare function useNetSuiteStore(): {
60
71
  subsidiaryIds: string[];
61
72
  includeChildren: boolean;
62
73
  }[];
74
+ subsidiaryId?: string | null | undefined;
63
75
  syncedAt?: string | null | undefined;
64
76
  restlet?: {
65
77
  type: "createItemReceipt" | "retrieveRecordInfo";
@@ -114,7 +126,25 @@ export declare function useNetSuiteStore(): {
114
126
  subsidiaryId: string;
115
127
  }[];
116
128
  };
129
+ businessSubsidiaryName: string;
117
130
  vendorSubsidiary: Record<string, string>;
131
+ skuSubsidiaries: Record<string, {
132
+ includeChildren: boolean;
133
+ flattenedSubsidiaryNames: string[];
134
+ subsidiaryTree: ({
135
+ parentId?: string | undefined;
136
+ id: string;
137
+ name: string;
138
+ country: string;
139
+ currency: string;
140
+ } & {
141
+ fullName?: string | undefined;
142
+ depth: number;
143
+ children: FdoNetSuiteSubsidiaryWithChildren[];
144
+ } & {
145
+ isAssigned?: boolean | undefined;
146
+ })[];
147
+ }>;
118
148
  isReady: boolean;
119
149
  skuOptions: Record<string, NetSuiteSettingOption>;
120
150
  };
@@ -238,6 +268,8 @@ export declare function useNetSuiteStore(): {
238
268
  label: string;
239
269
  value: FdoPurchaseOrderSubsidiaryNetSuiteSetting;
240
270
  }[];
271
+ getBusinessSubsidiaryTree(): FdoNetSuiteSubsidiaryWithChildren[];
272
+ getBusinessSubsidiaryPath(): string[];
241
273
  getAvailableItems(subsidiaryId?: string | null): string[];
242
274
  getAvailableMeasurements(skuId: string, subsidiaryId?: string | null): string[];
243
275
  readSetting(): Promise<void>;
@@ -247,6 +279,13 @@ export declare function useNetSuiteStore(): {
247
279
  }>): Promise<any>;
248
280
  getNetSuiteLocations(): Promise<any>;
249
281
  getVendorSubsidiaryName(supplierId: string): string;
282
+ getSkuSubsidiaries(skuId: string): {
283
+ includeChildren: boolean;
284
+ flattenedSubsidiaryNames: string[];
285
+ subsidiaryTree: Array<FdoNetSuiteSubsidiaryWithChildren & {
286
+ isAssigned?: boolean;
287
+ }>;
288
+ };
250
289
  syncPurchaseOrder(poId: string, locationDb?: string): Promise<void>;
251
290
  getItemCustomCode(sku: FdoInventorySku, measurementId?: string | null): string | null;
252
291
  getNetSuiteLocationOptions(): Promise<{
@@ -262,6 +301,9 @@ export type FdoNetSuiteSubsidiaryWithChildren = FdoNetSuiteSubsidiary & {
262
301
  depth: number;
263
302
  children: FdoNetSuiteSubsidiaryWithChildren[];
264
303
  };
304
+ export declare function filterSubsidiaryTree(tree: FdoNetSuiteSubsidiaryWithChildren[], assignedSubsidiaryIds: string[], includeChildren: boolean): Array<FdoNetSuiteSubsidiaryWithChildren & {
305
+ isAssigned?: boolean;
306
+ }>;
265
307
  export declare function buildSubsidiaryTree(data: FdoNetSuiteSubsidiary[], subsidiaryId?: string | null): {
266
308
  tree: FdoNetSuiteSubsidiaryWithChildren[];
267
309
  available: string[];
@@ -1,6 +1,7 @@
1
1
  import type { CreateType } from '@/api/type';
2
2
  import type { FdoMenuV4 } from '@feedmepos/menu/entity';
3
3
  import { type FlattenInventoryBindingResult } from '@feedmepos/inventory-core';
4
+ import '@/extensions/array';
4
5
  export type BindingType = 'INGREDIENT' | 'RECIPE' | 'MENU';
5
6
  export type BindedBySkuId = FdoInventoryBinding & {
6
7
  from: BindingType;
@@ -164,6 +165,7 @@ export declare function useInventoryStore(): {
164
165
  } & {
165
166
  _rev: string;
166
167
  };
168
+ readonly isInventoryLoaded: boolean;
167
169
  menu: {
168
170
  cache: {
169
171
  updatedAt?: string | null | undefined;
@@ -2060,6 +2062,7 @@ export declare function useInventoryStore(): {
2060
2062
  unitUsedBy: Record<string, UnitUsedBy[]>;
2061
2063
  };
2062
2064
  closing: {
2065
+ ref?: string | null | undefined;
2063
2066
  effectiveAt?: string | null | undefined;
2064
2067
  closedBy?: {
2065
2068
  name: string;
@@ -2187,6 +2190,28 @@ export declare function useInventoryStore(): {
2187
2190
  };
2188
2191
  }[];
2189
2192
  }>;
2193
+ readonly recipeByName: Record<string, {
2194
+ customAttributes?: Record<string, any> | null | undefined;
2195
+ _id: string;
2196
+ name: string;
2197
+ contains: {
2198
+ measurement?: {
2199
+ id: string;
2200
+ name: string;
2201
+ abbrev: string;
2202
+ conversion: {
2203
+ amount: number;
2204
+ precision: number;
2205
+ };
2206
+ } | null | undefined;
2207
+ id: string;
2208
+ type: "RECIPE" | "SKU" | "SKU_GROUP";
2209
+ amount: {
2210
+ amount: number;
2211
+ precision: number;
2212
+ };
2213
+ }[];
2214
+ }>;
2190
2215
  readonly skus: {
2191
2216
  isInactive?: boolean | null | undefined;
2192
2217
  trackingMeasurement?: string | null | undefined;
@@ -3242,205 +3267,9 @@ export declare function useInventoryStore(): {
3242
3267
  deleteRecipe({ _id }: FdoInventoryRecipe): Promise<void>;
3243
3268
  createSku(sku: FdoInventorySku): Promise<void>;
3244
3269
  updateSku(sku: FdoInventorySku): Promise<void>;
3245
- importSkus(skus: Omit<FdtoBulkSkuRequest, '_rev'>): Promise<{
3246
- inventory: {
3247
- unit?: {
3248
- _id: string;
3249
- name: string;
3250
- abbrev: string;
3251
- precision: number;
3252
- measurements: {
3253
- id: string;
3254
- name: string;
3255
- abbrev: string;
3256
- conversion: {
3257
- amount: number;
3258
- precision: number;
3259
- };
3260
- }[];
3261
- }[] | null | undefined;
3262
- recipe?: {
3263
- customAttributes?: Record<string, any> | null | undefined;
3264
- _id: string;
3265
- name: string;
3266
- contains: {
3267
- measurement?: {
3268
- id: string;
3269
- name: string;
3270
- abbrev: string;
3271
- conversion: {
3272
- amount: number;
3273
- precision: number;
3274
- };
3275
- } | null | undefined;
3276
- id: string;
3277
- type: "RECIPE" | "SKU" | "SKU_GROUP";
3278
- amount: {
3279
- amount: number;
3280
- precision: number;
3281
- };
3282
- }[];
3283
- }[] | null | undefined;
3284
- sku?: {
3285
- isInactive?: boolean | null | undefined;
3286
- trackingMeasurement?: string | null | undefined;
3287
- convert?: {
3288
- measurement?: string | null | undefined;
3289
- inventoryBindings?: {
3290
- measurement?: {
3291
- id: string;
3292
- name: string;
3293
- abbrev: string;
3294
- conversion: {
3295
- amount: number;
3296
- precision: number;
3297
- };
3298
- } | null | undefined;
3299
- id: string;
3300
- type: "RECIPE" | "SKU" | "SKU_GROUP";
3301
- amount: {
3302
- amount: number;
3303
- precision: number;
3304
- };
3305
- }[] | null | undefined;
3306
- } | null | undefined;
3307
- valuation?: "FIFO" | "LIFO" | "FEFO" | "WAVG" | null | undefined;
3308
- defaultCost?: {
3309
- measurement?: {
3310
- id: string;
3311
- name: string;
3312
- abbrev: string;
3313
- conversion: {
3314
- amount: number;
3315
- precision: number;
3316
- };
3317
- } | null | undefined;
3318
- costPerUnit: {
3319
- currency: "AED" | "AFN" | "ALL" | "AMD" | "ANG" | "AOA" | "ARS" | "AUD" | "AWG" | "AZN" | "BAM" | "BBD" | "BDT" | "BGN" | "BHD" | "BIF" | "BMD" | "BND" | "BOB" | "BOV" | "BRL" | "BSD" | "BTN" | "BWP" | "BYN" | "BZD" | "CAD" | "CDF" | "CHE" | "CHF" | "CHW" | "CLF" | "CLP" | "CNY" | "COP" | "COU" | "CRC" | "CUC" | "CUP" | "CVE" | "CZK" | "DJF" | "DKK" | "DOP" | "DZD" | "EGP" | "ERN" | "ETB" | "EUR" | "FJD" | "FKP" | "GBP" | "GEL" | "GHS" | "GIP" | "GMD" | "GNF" | "GTQ" | "GYD" | "HKD" | "HNL" | "HRK" | "HTG" | "HUF" | "IDR" | "ILS" | "INR" | "IQD" | "IRR" | "ISK" | "JMD" | "JOD" | "JPY" | "KES" | "KGS" | "KHR" | "KMF" | "KPW" | "KRW" | "KWD" | "KYD" | "KZT" | "LAK" | "LBP" | "LKR" | "LRD" | "LSL" | "LYD" | "MAD" | "MDL" | "MGA" | "MKD" | "MMK" | "MNT" | "MOP" | "MRU" | "MUR" | "MVR" | "MWK" | "MXN" | "MXV" | "MYR" | "MZN" | "NAD" | "NGN" | "NIO" | "NOK" | "NPR" | "NZD" | "OMR" | "PAB" | "PEN" | "PGK" | "PHP" | "PKR" | "PLN" | "PYG" | "QAR" | "RON" | "RSD" | "RUB" | "RWF" | "SAR" | "SBD" | "SCR" | "SDG" | "SEK" | "SGD" | "SHP" | "SLL" | "SOS" | "SRD" | "SSP" | "STN" | "SVC" | "SYP" | "SZL" | "THB" | "TJS" | "TMT" | "TND" | "TOP" | "TRY" | "TTD" | "TWD" | "TZS" | "UAH" | "UGX" | "USD" | "USN" | "UYI" | "UYU" | "UYW" | "UZS" | "VES" | "VND" | "VUV" | "WST" | "XAF" | "XAG" | "XAU" | "XBA" | "XBB" | "XBC" | "XBD" | "XCD" | "XDR" | "XOF" | "XPD" | "XPF" | "XPT" | "XSU" | "XTS" | "XUA" | "XXX" | "YER" | "ZAR" | "ZMW" | "ZWL";
3320
- amount: number;
3321
- precision: number;
3322
- };
3323
- } | null | undefined;
3324
- operationalGroup?: string | null | undefined;
3325
- thresholds?: {
3326
- low: number;
3327
- mid: number;
3328
- } | null | undefined;
3329
- customAttributes?: Record<string, any> | null | undefined;
3330
- _id: string;
3331
- name: string;
3332
- code: string;
3333
- unit: {
3334
- _id: string;
3335
- name: string;
3336
- abbrev: string;
3337
- precision: number;
3338
- measurements: {
3339
- id: string;
3340
- name: string;
3341
- abbrev: string;
3342
- conversion: {
3343
- amount: number;
3344
- precision: number;
3345
- };
3346
- }[];
3347
- };
3348
- }[] | null | undefined;
3349
- skuGroup?: {
3350
- ref?: string | null | undefined;
3351
- defaultSkuRefs?: {
3352
- priority?: number | null | undefined;
3353
- trackingMeasurement?: string | null | undefined;
3354
- default?: boolean | null | undefined;
3355
- _id: string;
3356
- }[] | null | undefined;
3357
- rules?: {
3358
- rule?: any;
3359
- _id: string;
3360
- name: string;
3361
- skuRefs: {
3362
- priority?: number | null | undefined;
3363
- trackingMeasurement?: string | null | undefined;
3364
- default?: boolean | null | undefined;
3365
- _id: string;
3366
- }[];
3367
- }[] | null | undefined;
3368
- _id: string;
3369
- name: string;
3370
- }[] | null | undefined;
3371
- updatedAt?: string | null | undefined;
3372
- _id: string;
3373
- _rev: string;
3374
- };
3375
- errors: {
3376
- error?: any;
3377
- data: {
3378
- isInactive?: boolean | null | undefined;
3379
- trackingMeasurement?: string | null | undefined;
3380
- convert?: {
3381
- measurement?: string | null | undefined;
3382
- inventoryBindings?: {
3383
- measurement?: {
3384
- id: string;
3385
- name: string;
3386
- abbrev: string;
3387
- conversion: {
3388
- amount: number;
3389
- precision: number;
3390
- };
3391
- } | null | undefined;
3392
- id: string;
3393
- type: "RECIPE" | "SKU" | "SKU_GROUP";
3394
- amount: {
3395
- amount: number;
3396
- precision: number;
3397
- };
3398
- }[] | null | undefined;
3399
- } | null | undefined;
3400
- valuation?: "FIFO" | "LIFO" | "FEFO" | "WAVG" | null | undefined;
3401
- defaultCost?: {
3402
- measurement?: {
3403
- id: string;
3404
- name: string;
3405
- abbrev: string;
3406
- conversion: {
3407
- amount: number;
3408
- precision: number;
3409
- };
3410
- } | null | undefined;
3411
- costPerUnit: {
3412
- currency: "AED" | "AFN" | "ALL" | "AMD" | "ANG" | "AOA" | "ARS" | "AUD" | "AWG" | "AZN" | "BAM" | "BBD" | "BDT" | "BGN" | "BHD" | "BIF" | "BMD" | "BND" | "BOB" | "BOV" | "BRL" | "BSD" | "BTN" | "BWP" | "BYN" | "BZD" | "CAD" | "CDF" | "CHE" | "CHF" | "CHW" | "CLF" | "CLP" | "CNY" | "COP" | "COU" | "CRC" | "CUC" | "CUP" | "CVE" | "CZK" | "DJF" | "DKK" | "DOP" | "DZD" | "EGP" | "ERN" | "ETB" | "EUR" | "FJD" | "FKP" | "GBP" | "GEL" | "GHS" | "GIP" | "GMD" | "GNF" | "GTQ" | "GYD" | "HKD" | "HNL" | "HRK" | "HTG" | "HUF" | "IDR" | "ILS" | "INR" | "IQD" | "IRR" | "ISK" | "JMD" | "JOD" | "JPY" | "KES" | "KGS" | "KHR" | "KMF" | "KPW" | "KRW" | "KWD" | "KYD" | "KZT" | "LAK" | "LBP" | "LKR" | "LRD" | "LSL" | "LYD" | "MAD" | "MDL" | "MGA" | "MKD" | "MMK" | "MNT" | "MOP" | "MRU" | "MUR" | "MVR" | "MWK" | "MXN" | "MXV" | "MYR" | "MZN" | "NAD" | "NGN" | "NIO" | "NOK" | "NPR" | "NZD" | "OMR" | "PAB" | "PEN" | "PGK" | "PHP" | "PKR" | "PLN" | "PYG" | "QAR" | "RON" | "RSD" | "RUB" | "RWF" | "SAR" | "SBD" | "SCR" | "SDG" | "SEK" | "SGD" | "SHP" | "SLL" | "SOS" | "SRD" | "SSP" | "STN" | "SVC" | "SYP" | "SZL" | "THB" | "TJS" | "TMT" | "TND" | "TOP" | "TRY" | "TTD" | "TWD" | "TZS" | "UAH" | "UGX" | "USD" | "USN" | "UYI" | "UYU" | "UYW" | "UZS" | "VES" | "VND" | "VUV" | "WST" | "XAF" | "XAG" | "XAU" | "XBA" | "XBB" | "XBC" | "XBD" | "XCD" | "XDR" | "XOF" | "XPD" | "XPF" | "XPT" | "XSU" | "XTS" | "XUA" | "XXX" | "YER" | "ZAR" | "ZMW" | "ZWL";
3413
- amount: number;
3414
- precision: number;
3415
- };
3416
- } | null | undefined;
3417
- operationalGroup?: string | null | undefined;
3418
- thresholds?: {
3419
- low: number;
3420
- mid: number;
3421
- } | null | undefined;
3422
- customAttributes?: Record<string, any> | null | undefined;
3423
- _id: string;
3424
- name: string;
3425
- code: string;
3426
- unit: {
3427
- _id: string;
3428
- name: string;
3429
- abbrev: string;
3430
- precision: number;
3431
- measurements: {
3432
- id: string;
3433
- name: string;
3434
- abbrev: string;
3435
- conversion: {
3436
- amount: number;
3437
- precision: number;
3438
- };
3439
- }[];
3440
- };
3441
- };
3442
- }[];
3443
- }>;
3270
+ importUnits(bulkImport: Omit<FdtoBulkUnitsRequest, '_rev'>): Promise<any>;
3271
+ importRecipes(recipes: Omit<FdtoBulkRecipeRequest, '_rev'>): Promise<any>;
3272
+ importSkus(skus: Omit<FdtoBulkSkuRequest, '_rev'>): Promise<any>;
3444
3273
  deleteSku({ _id }: FdoInventorySku): Promise<void>;
3445
3274
  createSkuGroup(skuGroup: CreateType<FdoInventorySkuGroup>): Promise<void>;
3446
3275
  updateSkuGroup(skuGroup: FdoInventorySkuGroup): Promise<void>;