@feedmepos/mf-inventory-portal 0.0.25-dev.4 → 0.0.25-dev.42
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{App-DavuRdR4.js → App-BgLyTa3Z.js} +35 -34
- package/dist/ApprovalView-UC31qsPD.js +143 -0
- package/dist/{BindingsDialog-Ckbhr9x3.js → BindingsDialog-h9el4EvX.js} +6 -6
- package/dist/{BindingsPicker-B63gIPVJ.js → BindingsPicker-Cw5AT6xO.js} +8 -8
- package/dist/{BindingsTable-5w7_8JzF.js → BindingsTable-Boj3hZup.js} +6 -6
- package/dist/ClosingDraftView-DOH7FmkH.js +1348 -0
- package/dist/ClosingTemplateView-CG7qArA8.js +1859 -0
- package/dist/FmCustomAttribute.vue_vue_type_script_setup_true_lang-D-IWRjRD.js +34 -0
- package/dist/FmFilterableMenuOptions.vue_vue_type_script_setup_true_lang-k1J8dWcK.js +211 -0
- package/dist/{FmUnitInput.vue_vue_type_script_setup_true_lang-M5pWGm8D.js → FmUnitInput.vue_vue_type_script_setup_true_lang-C5qp_p1A.js} +52 -52
- package/dist/IngredientBindedItem.vue_vue_type_script_setup_true_lang-DBYsiV9t.js +51 -0
- package/dist/{IngredientGroupView-D_1gJl4X.js → IngredientGroupView-CWEw3I3i.js} +14 -14
- package/dist/{IngredientsView-Xzt0_AP8.js → IngredientsView-B6EDjPTe.js} +577 -551
- package/dist/{IntegrationView-BcF7Qhvw.js → IntegrationView-DiSoM1K8.js} +660 -623
- package/dist/{InventoryBindingForm-Cm49VDtA.js → InventoryBindingForm-nKWx-EUW.js} +1 -1
- package/dist/{InventoryBindingForm.vue_vue_type_script_setup_true_lang-EJ0U2gdF.js → InventoryBindingForm.vue_vue_type_script_setup_true_lang-BMMD4hwX.js} +96 -96
- package/dist/{InventoryBindingSummary-D821YZ-3.js → InventoryBindingSummary-CQnCjIY4.js} +1 -1
- package/dist/{NumberPrecisionInput.vue_vue_type_script_setup_true_lang-D6jGlkOx.js → NumberPrecisionInput.vue_vue_type_script_setup_true_lang-Cr8DwdOC.js} +1 -1
- package/dist/{PremiumBadge.vue_vue_type_script_setup_true_lang-TMYgOcbh.js → PremiumBadge.vue_vue_type_script_setup_true_lang-DnZI3Gfj.js} +15 -15
- package/dist/PublishView-DvHW27pI.js +222 -0
- package/dist/{PurchaseOrderPrintPreview-DiCTMEY4.js → PurchaseOrderPrintPreview-DSTbRKyh.js} +1 -1
- package/dist/ReceiveRequestView-BKRHqSU-.js +2577 -0
- package/dist/{RecipeView-k5yiAPop.js → RecipeView-CFTrf0YF.js} +47 -46
- package/dist/{index-DhAsCP14.js → StockView-CAPLd29m.js} +3564 -1764
- package/dist/{SupplierView-De4_YCtR.js → SupplierView-C_CrS9FM.js} +446 -457
- package/dist/TransferDetails.vue_vue_type_script_setup_true_lang-BWuWB95v.js +1564 -0
- package/dist/TransferTemplateView-BaJaiaO9.js +1526 -0
- package/dist/{UnitView-DouWNXFf.js → UnitView-DY9nZs1y.js} +14 -14
- package/dist/{WarehouseView-RQN-XBeO.js → WarehouseView-CAFxl8K4.js} +332 -314
- package/dist/api/closing-draft.d.ts +1 -0
- package/dist/api/inventory.d.ts +9 -6
- package/dist/api/netsuite.d.ts +21 -4
- package/dist/api/purchase-order.d.ts +6 -1
- package/dist/api/stock.d.ts +1 -0
- package/dist/{app-Bmmin1VX.js → app-Jh5wwLsF.js} +28968 -28906
- package/dist/app.js +1 -1
- package/dist/components/FmAutocompleteTextField.vue.d.ts +31 -0
- package/dist/components/FmCustomAttribute.vue.d.ts +3 -8
- package/dist/components/FmLockableField.vue.d.ts +3 -0
- package/dist/components/FmMultiselectDialog.d.ts +23 -0
- package/dist/components/FmMultiselectDialog.vue.d.ts +20 -3
- package/dist/components/FmMultiselectDialogProps.d.ts +2 -0
- package/dist/components/inventory-binding/InventoryBinding.vue.d.ts +1 -1
- package/dist/components/shell/inventory/binding-ui.vue.d.ts +1 -1
- package/dist/{decimal-CZhBTty7.js → decimal-0_acpDRy.js} +1 -1
- package/dist/feature-CqX_LtOl.js +1007 -0
- package/dist/{format-unit-display-CijRcRSo.js → format-unit-display-CYPC8_oX.js} +335 -328
- package/dist/helper/country.d.ts +1 -0
- package/dist/helper/fuzzy.d.ts +10 -0
- package/dist/index-QcOk4LDU.js +35546 -0
- package/dist/{stock-D5lxPBQG.js → stock-BpWEKDoQ.js} +29 -25
- package/dist/stores/feature.d.ts +4 -5
- package/dist/stores/helper/generate-backend-urls.d.ts +0 -1
- package/dist/stores/integration/netsuite.d.ts +21 -4
- package/dist/stores/inventory.d.ts +135 -8
- package/dist/stores/location.d.ts +100 -0
- package/dist/stores/warehouse.d.ts +1 -0
- package/dist/style.css +1 -1
- package/dist/{supplier-BU1WhNTR.js → supplier-By3gzRHW.js} +1 -1
- package/dist/tsconfig.app.tsbuildinfo +1 -1
- package/dist/use-ingredient-select-dialog-hkbfGnB9.js +51 -0
- package/dist/{use-inventory-binding-dialog-ZneYylve.js → use-inventory-binding-dialog-BFG04MUx.js} +1 -1
- package/dist/views/adjustment-template/wastage-template/actions.d.ts +24 -0
- package/dist/views/adjustment-template/wastage-template/table.d.ts +24 -0
- package/dist/views/closing-draft/components/closing-draft-dialog/ClosingDraftDialog.vue.d.ts +8 -4
- package/dist/views/closing-draft/composables/use-closing-draft-actions.d.ts +4 -1
- package/dist/views/closing-draft/composables/use-closing-draft-table.d.ts +48 -24
- package/dist/views/closing-draft/helpers/export-draft.helper.d.ts +1 -1
- package/dist/views/closing-template/components/closing-template-form/composables/use-closing-template-items.d.ts +1 -1
- package/dist/views/closing-template/composables/use-closing-template-actions.d.ts +36 -12
- package/dist/views/closing-template/composables/use-closing-template-table.d.ts +36 -12
- package/dist/views/dev/components/AutocompleteTextField.vue.d.ts +2 -0
- package/dist/views/ingredient-group/composables/use-ingredient-group-table.d.ts +3 -3
- package/dist/views/ingredients/components/ingredient-form/IngredientForm.vue.d.ts +2 -2
- package/dist/views/ingredients/composables/use-ingredient-select-dialog.d.ts +16 -0
- package/dist/views/ingredients/composables/use-ingredient-table.d.ts +1 -1
- package/dist/views/receive-request/components/netsuite/NetSuiteProps.d.ts +2 -0
- package/dist/views/receive-request/components/transfer-details/TransferDetailsProps.d.ts +4 -1
- package/dist/views/receive-request/components/transfer-form/TransferForm.vue.d.ts +411 -17
- package/dist/views/receive-request/components/transfer-form/components/ForecastStock.vue.d.ts +6 -2
- package/dist/views/receive-request/components/transfer-form/components/TransferItemTable.vue.d.ts +382 -2
- package/dist/views/receive-request/components/transfer-form/composables/use-transfer-items.d.ts +6 -3
- package/dist/views/receive-request/composables/use-receive-request-form.d.ts +822 -29
- package/dist/views/receive-request/composables/use-receive-request-table.d.ts +650 -48
- package/dist/views/receive-request/import/XilnexImportDialog.vue.d.ts +22 -0
- package/dist/views/receive-request/import/XilnexImportForm.vue.d.ts +17 -0
- package/dist/views/receive-request/import/XilnexResult.vue.d.ts +17 -0
- package/dist/views/receive-request/import/export.d.ts +12 -0
- package/dist/views/receive-request/import/props.d.ts +7 -0
- package/dist/views/stock/components/dialog/AdjustedItemForm.vue.d.ts +4 -2
- package/dist/views/transfer-template/components/transfer-template-form/components/TransferTemplateItemTable.vue.d.ts +220 -0
- package/dist/views/transfer-template/components/transfer-template-form/composables/use-template-enabled-locations-2.d.ts +8 -0
- package/dist/views/transfer-template/components/transfer-template-form/composables/use-template-enabled-locations.d.ts +1 -0
- package/dist/views/transfer-template/components/transfer-template-form/composables/use-transfer-template-items.d.ts +9 -4
- package/dist/views/transfer-template/composables/use-transfer-template-actions.d.ts +60 -12
- package/dist/views/transfer-template/composables/use-transfer-template-table.d.ts +60 -12
- package/dist/views/transfer-template/composables/useTransferTemplateHelper.d.ts +305 -0
- package/dist/views/warehouse/components/WarehouseForm.vue.d.ts +2 -0
- package/dist/{vue-i18n-BQNx5sCM.js → vue-i18n-D57Xfcpf.js} +226 -226
- package/package.json +3 -3
- package/dist/ApprovalView-DjDzZmVI.js +0 -138
- package/dist/ClosingDraftView-BwV3uiYC.js +0 -1225
- package/dist/ClosingTemplateView-vaAj0Y-0.js +0 -1819
- package/dist/FmCustomAttribute.vue_vue_type_script_setup_true_lang-Dy1BXu1R.js +0 -142
- package/dist/FmFilterableMenuOptions.vue_vue_type_script_setup_true_lang-DZ_Q-3lU.js +0 -286
- package/dist/PublishView-CYdu5jl4.js +0 -192
- package/dist/ReceiveRequestView-DGqs1rpr.js +0 -1876
- package/dist/StockView-DX0RjayP.js +0 -1817
- package/dist/TransferDetails.vue_vue_type_script_setup_true_lang-DhdMwHAA.js +0 -1327
- package/dist/TransferTemplateView-DEwJaqYB.js +0 -1284
- package/dist/components/FmCustomAttribute2.vue.d.ts +0 -18
- package/dist/index-DbE8p73U.js +0 -29202
package/dist/app.js
CHANGED
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { type FmTextFieldProps } from '@feedmepos/ui-library';
|
|
2
|
+
export interface FmAutocompleteTextFieldProps extends FmTextFieldProps {
|
|
3
|
+
options?: string[];
|
|
4
|
+
zIndex?: number;
|
|
5
|
+
}
|
|
6
|
+
export interface FmAutocompleteTextFieldEvents {
|
|
7
|
+
(event: 'click:menu-item', option: string): void;
|
|
8
|
+
}
|
|
9
|
+
declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<import("vue").ExtractPropTypes<__VLS_TypePropsToRuntimeProps<FmAutocompleteTextFieldProps>>, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
|
10
|
+
"click:menu-item": (option: string) => void;
|
|
11
|
+
}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<__VLS_TypePropsToRuntimeProps<FmAutocompleteTextFieldProps>>> & Readonly<{
|
|
12
|
+
"onClick:menu-item"?: ((option: string) => any) | undefined;
|
|
13
|
+
}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>, {
|
|
14
|
+
append?(_: {}): any;
|
|
15
|
+
"helper-text"?(_: {}): any;
|
|
16
|
+
}>;
|
|
17
|
+
export default _default;
|
|
18
|
+
type __VLS_NonUndefinedable<T> = T extends undefined ? never : T;
|
|
19
|
+
type __VLS_TypePropsToRuntimeProps<T> = {
|
|
20
|
+
[K in keyof T]-?: {} extends Pick<T, K> ? {
|
|
21
|
+
type: import('vue').PropType<__VLS_NonUndefinedable<T[K]>>;
|
|
22
|
+
} : {
|
|
23
|
+
type: import('vue').PropType<T[K]>;
|
|
24
|
+
required: true;
|
|
25
|
+
};
|
|
26
|
+
};
|
|
27
|
+
type __VLS_WithTemplateSlots<T, S> = T & {
|
|
28
|
+
new (): {
|
|
29
|
+
$slots: S;
|
|
30
|
+
};
|
|
31
|
+
};
|
|
@@ -1,16 +1,11 @@
|
|
|
1
|
-
export type CustomAttributes = Record<string, any>;
|
|
2
1
|
interface Props {
|
|
3
|
-
entity: 'inventorySku' | 'inventoryRecipe';
|
|
4
|
-
modelValue:
|
|
2
|
+
entity: 'inventorySku' | 'inventoryRecipe' | 'warehouse';
|
|
3
|
+
modelValue: Record<string, any>;
|
|
5
4
|
valueOptions?: {
|
|
6
5
|
[key: string]: string[];
|
|
7
6
|
};
|
|
8
7
|
}
|
|
9
|
-
declare const _default: import("vue").DefineComponent<import("vue").ExtractPropTypes<__VLS_TypePropsToRuntimeProps<Props>>, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
|
10
|
-
"update:modelValue": (value: CustomAttributes) => void;
|
|
11
|
-
}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<__VLS_TypePropsToRuntimeProps<Props>>> & Readonly<{
|
|
12
|
-
"onUpdate:modelValue"?: ((value: CustomAttributes) => any) | undefined;
|
|
13
|
-
}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
|
|
8
|
+
declare const _default: import("vue").DefineComponent<import("vue").ExtractPropTypes<__VLS_TypePropsToRuntimeProps<Props>>, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<__VLS_TypePropsToRuntimeProps<Props>>> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
|
|
14
9
|
export default _default;
|
|
15
10
|
type __VLS_NonUndefinedable<T> = T extends undefined ? never : T;
|
|
16
11
|
type __VLS_TypePropsToRuntimeProps<T> = {
|
|
@@ -2,6 +2,7 @@ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<im
|
|
|
2
2
|
locked?: boolean | undefined;
|
|
3
3
|
disabled?: boolean | undefined;
|
|
4
4
|
label?: string | undefined;
|
|
5
|
+
helperText?: string | undefined;
|
|
5
6
|
modelValue?: string | null | undefined;
|
|
6
7
|
tooltipMessage?: string | undefined;
|
|
7
8
|
tooltipPlacement?: "top" | "right" | "bottom" | "left" | undefined;
|
|
@@ -10,6 +11,7 @@ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<im
|
|
|
10
11
|
locked?: boolean | undefined;
|
|
11
12
|
disabled?: boolean | undefined;
|
|
12
13
|
label?: string | undefined;
|
|
14
|
+
helperText?: string | undefined;
|
|
13
15
|
modelValue?: string | null | undefined;
|
|
14
16
|
tooltipMessage?: string | undefined;
|
|
15
17
|
tooltipPlacement?: "top" | "right" | "bottom" | "left" | undefined;
|
|
@@ -18,6 +20,7 @@ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<im
|
|
|
18
20
|
label?(_: {}): any;
|
|
19
21
|
field?(_: {}): any;
|
|
20
22
|
modelValue?(_: {}): any;
|
|
23
|
+
"helper-text"?(_: {}): any;
|
|
21
24
|
default?(_: {}): any;
|
|
22
25
|
}>;
|
|
23
26
|
export default _default;
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import type { ISelectItemSublabel } from '@/components/FmMultiselectDialogProps';
|
|
2
|
+
export declare const usePrompt: import("pinia").StoreDefinition<"inventoryMultiSelectDialog", import("pinia")._UnwrapAll<Pick<{
|
|
3
|
+
multiSelect: <T, R = T>(items: (ISelectItemSublabel & {
|
|
4
|
+
value: T;
|
|
5
|
+
})[], modelValue?: T[] | null | undefined, _mapper?: ((source: T) => R) | undefined) => Promise<R[] | null>;
|
|
6
|
+
singleSelect: <T_1, R_1 = T_1>(items: (ISelectItemSublabel & {
|
|
7
|
+
value: T_1;
|
|
8
|
+
})[], modelValue?: T_1 | null | undefined, _mapper?: ((source: T_1) => R_1) | undefined) => Promise<R_1 | null | undefined>;
|
|
9
|
+
}, never>>, Pick<{
|
|
10
|
+
multiSelect: <T, R = T>(items: (ISelectItemSublabel & {
|
|
11
|
+
value: T;
|
|
12
|
+
})[], modelValue?: T[] | null | undefined, _mapper?: ((source: T) => R) | undefined) => Promise<R[] | null>;
|
|
13
|
+
singleSelect: <T_1, R_1 = T_1>(items: (ISelectItemSublabel & {
|
|
14
|
+
value: T_1;
|
|
15
|
+
})[], modelValue?: T_1 | null | undefined, _mapper?: ((source: T_1) => R_1) | undefined) => Promise<R_1 | null | undefined>;
|
|
16
|
+
}, never>, Pick<{
|
|
17
|
+
multiSelect: <T, R = T>(items: (ISelectItemSublabel & {
|
|
18
|
+
value: T;
|
|
19
|
+
})[], modelValue?: T[] | null | undefined, _mapper?: ((source: T) => R) | undefined) => Promise<R[] | null>;
|
|
20
|
+
singleSelect: <T_1, R_1 = T_1>(items: (ISelectItemSublabel & {
|
|
21
|
+
value: T_1;
|
|
22
|
+
})[], modelValue?: T_1 | null | undefined, _mapper?: ((source: T_1) => R_1) | undefined) => Promise<R_1 | null | undefined>;
|
|
23
|
+
}, "singleSelect" | "multiSelect">>;
|
|
@@ -1,9 +1,21 @@
|
|
|
1
|
-
import type { FmMultiselectDialogProps } from './FmMultiselectDialogProps';
|
|
2
|
-
declare const _default: import("vue").DefineComponent<import("vue").ExtractPropTypes<__VLS_WithDefaults<__VLS_TypePropsToRuntimeProps<FmMultiselectDialogProps>, {}>>, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
|
1
|
+
import type { FmMultiselectDialogProps, ISelectItemSublabel } from './FmMultiselectDialogProps';
|
|
2
|
+
declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<import("vue").ExtractPropTypes<__VLS_WithDefaults<__VLS_TypePropsToRuntimeProps<FmMultiselectDialogProps>, {}>>, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
|
3
3
|
"update:modelValue": (mv: any) => void;
|
|
4
|
+
close: () => void;
|
|
4
5
|
}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<__VLS_WithDefaults<__VLS_TypePropsToRuntimeProps<FmMultiselectDialogProps>, {}>>> & Readonly<{
|
|
6
|
+
onClose?: (() => any) | undefined;
|
|
5
7
|
"onUpdate:modelValue"?: ((mv: any) => any) | undefined;
|
|
6
|
-
}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any
|
|
8
|
+
}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>, Readonly<{
|
|
9
|
+
appendList: () => any;
|
|
10
|
+
appendListItem(props: {
|
|
11
|
+
item: ISelectItemSublabel;
|
|
12
|
+
}): any;
|
|
13
|
+
}> & {
|
|
14
|
+
appendList: () => any;
|
|
15
|
+
appendListItem(props: {
|
|
16
|
+
item: ISelectItemSublabel;
|
|
17
|
+
}): any;
|
|
18
|
+
}>;
|
|
7
19
|
export default _default;
|
|
8
20
|
type __VLS_NonUndefinedable<T> = T extends undefined ? never : T;
|
|
9
21
|
type __VLS_TypePropsToRuntimeProps<T> = {
|
|
@@ -22,3 +34,8 @@ type __VLS_WithDefaults<P, D> = {
|
|
|
22
34
|
type __VLS_Prettify<T> = {
|
|
23
35
|
[K in keyof T]: T[K];
|
|
24
36
|
} & {};
|
|
37
|
+
type __VLS_WithTemplateSlots<T, S> = T & {
|
|
38
|
+
new (): {
|
|
39
|
+
$slots: S;
|
|
40
|
+
};
|
|
41
|
+
};
|
|
@@ -3,6 +3,7 @@ export interface ISelectItemSublabel extends ISelectItem {
|
|
|
3
3
|
groupId?: string;
|
|
4
4
|
collapsed?: boolean;
|
|
5
5
|
tags?: string[];
|
|
6
|
+
searchKeys?: string[];
|
|
6
7
|
}
|
|
7
8
|
export interface ISelectItemGroup {
|
|
8
9
|
id: string;
|
|
@@ -26,4 +27,5 @@ export interface FmMultiselectDialogProps {
|
|
|
26
27
|
}
|
|
27
28
|
export interface FmMultiselectDialogEvents {
|
|
28
29
|
(event: 'update:modelValue', mv: any): void;
|
|
30
|
+
(event: 'close'): void;
|
|
29
31
|
}
|
|
@@ -45,6 +45,7 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
|
|
|
45
45
|
}[]) => any) | undefined;
|
|
46
46
|
}>, {
|
|
47
47
|
skus: {
|
|
48
|
+
customAttributes?: Record<string, any> | null | undefined;
|
|
48
49
|
trackingMeasurement?: string | null | undefined;
|
|
49
50
|
convert?: {
|
|
50
51
|
measurement?: string | null | undefined;
|
|
@@ -88,7 +89,6 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
|
|
|
88
89
|
low: number;
|
|
89
90
|
mid: number;
|
|
90
91
|
} | null | undefined;
|
|
91
|
-
customAttributes?: Record<string, any> | null | undefined;
|
|
92
92
|
unit: {
|
|
93
93
|
_id: string;
|
|
94
94
|
name: string;
|
|
@@ -25,6 +25,7 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
|
|
|
25
25
|
}>, {
|
|
26
26
|
type: string;
|
|
27
27
|
skus: {
|
|
28
|
+
customAttributes?: Record<string, any> | null | undefined;
|
|
28
29
|
trackingMeasurement?: string | null | undefined;
|
|
29
30
|
convert?: {
|
|
30
31
|
measurement?: string | null | undefined;
|
|
@@ -68,7 +69,6 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
|
|
|
68
69
|
low: number;
|
|
69
70
|
mid: number;
|
|
70
71
|
} | null | undefined;
|
|
71
|
-
customAttributes?: Record<string, any> | null | undefined;
|
|
72
72
|
unit: {
|
|
73
73
|
_id: string;
|
|
74
74
|
name: string;
|