@axelor/aos-mobile-manufacturing 0.0.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.
- package/README.md +45 -0
- package/lib/api/index.d.ts +7 -0
- package/lib/api/index.js +25 -0
- package/lib/api/index.js.map +1 -0
- package/lib/api/machine-api.d.ts +3 -0
- package/lib/api/machine-api.js +47 -0
- package/lib/api/machine-api.js.map +1 -0
- package/lib/api/manufacturing-order-api.d.ts +22 -0
- package/lib/api/manufacturing-order-api.js +225 -0
- package/lib/api/manufacturing-order-api.js.map +1 -0
- package/lib/api/operation-order-api.d.ts +14 -0
- package/lib/api/operation-order-api.js +153 -0
- package/lib/api/operation-order-api.js.map +1 -0
- package/lib/api/prod-product-api.d.ts +21 -0
- package/lib/api/prod-product-api.js +59 -0
- package/lib/api/prod-product-api.js.map +1 -0
- package/lib/api/production-file-api.d.ts +4 -0
- package/lib/api/production-file-api.js +51 -0
- package/lib/api/production-file-api.js.map +1 -0
- package/lib/api/waste-product-api.d.ts +27 -0
- package/lib/api/waste-product-api.js +123 -0
- package/lib/api/waste-product-api.js.map +1 -0
- package/lib/api/work-center-api.d.ts +3 -0
- package/lib/api/work-center-api.js +47 -0
- package/lib/api/work-center-api.js.map +1 -0
- package/lib/components/index.d.ts +2 -0
- package/lib/components/index.js +20 -0
- package/lib/components/index.js.map +1 -0
- package/lib/components/molecules/OperationOrderDatesCard/OperationOrderDatesCard.d.ts +7 -0
- package/lib/components/molecules/OperationOrderDatesCard/OperationOrderDatesCard.js +32 -0
- package/lib/components/molecules/OperationOrderDatesCard/OperationOrderDatesCard.js.map +1 -0
- package/lib/components/molecules/index.d.ts +1 -0
- package/lib/components/molecules/index.js +19 -0
- package/lib/components/molecules/index.js.map +1 -0
- package/lib/components/organisms/ConsumedProductCard/ConsumedProductCard.d.ts +17 -0
- package/lib/components/organisms/ConsumedProductCard/ConsumedProductCard.js +92 -0
- package/lib/components/organisms/ConsumedProductCard/ConsumedProductCard.js.map +1 -0
- package/lib/components/organisms/ConsumedProductGlobalCard/ConsumedProductGlobalCard.d.ts +17 -0
- package/lib/components/organisms/ConsumedProductGlobalCard/ConsumedProductGlobalCard.js +81 -0
- package/lib/components/organisms/ConsumedProductGlobalCard/ConsumedProductGlobalCard.js.map +1 -0
- package/lib/components/organisms/ManufacturingOrderCard/ManufacturingOrderCard.d.ts +16 -0
- package/lib/components/organisms/ManufacturingOrderCard/ManufacturingOrderCard.js +83 -0
- package/lib/components/organisms/ManufacturingOrderCard/ManufacturingOrderCard.js.map +1 -0
- package/lib/components/organisms/ManufacturingOrderHeader/ManufacturingOrderHeader.d.ts +8 -0
- package/lib/components/organisms/ManufacturingOrderHeader/ManufacturingOrderHeader.js +68 -0
- package/lib/components/organisms/ManufacturingOrderHeader/ManufacturingOrderHeader.js.map +1 -0
- package/lib/components/organisms/OperationOrderCard/OperationOrderCard.d.ts +11 -0
- package/lib/components/organisms/OperationOrderCard/OperationOrderCard.js +76 -0
- package/lib/components/organisms/OperationOrderCard/OperationOrderCard.js.map +1 -0
- package/lib/components/organisms/OperationOrderDetailsCard/OperationOrderDetailsCard.d.ts +17 -0
- package/lib/components/organisms/OperationOrderDetailsCard/OperationOrderDetailsCard.js +86 -0
- package/lib/components/organisms/OperationOrderDetailsCard/OperationOrderDetailsCard.js.map +1 -0
- package/lib/components/organisms/OperationOrderHeader/OperationOrderHeader.d.ts +8 -0
- package/lib/components/organisms/OperationOrderHeader/OperationOrderHeader.js +72 -0
- package/lib/components/organisms/OperationOrderHeader/OperationOrderHeader.js.map +1 -0
- package/lib/components/organisms/ProducedProductCard/ProducedProductCard.d.ts +11 -0
- package/lib/components/organisms/ProducedProductCard/ProducedProductCard.js +61 -0
- package/lib/components/organisms/ProducedProductCard/ProducedProductCard.js.map +1 -0
- package/lib/components/organisms/ProductionFileLargeCard/ProductionFileLargeCard.d.ts +10 -0
- package/lib/components/organisms/ProductionFileLargeCard/ProductionFileLargeCard.js +62 -0
- package/lib/components/organisms/ProductionFileLargeCard/ProductionFileLargeCard.js.map +1 -0
- package/lib/components/organisms/ProductionFileSmallCard/ProductionFileSmallCard.d.ts +10 -0
- package/lib/components/organisms/ProductionFileSmallCard/ProductionFileSmallCard.js +52 -0
- package/lib/components/organisms/ProductionFileSmallCard/ProductionFileSmallCard.js.map +1 -0
- package/lib/components/organisms/WasteProductCard/WasteProductCard.d.ts +9 -0
- package/lib/components/organisms/WasteProductCard/WasteProductCard.js +47 -0
- package/lib/components/organisms/WasteProductCard/WasteProductCard.js.map +1 -0
- package/lib/components/organisms/index.d.ts +11 -0
- package/lib/components/organisms/index.js +29 -0
- package/lib/components/organisms/index.js.map +1 -0
- package/lib/features/asyncFunctions-index.d.ts +7 -0
- package/lib/features/asyncFunctions-index.js +25 -0
- package/lib/features/asyncFunctions-index.js.map +1 -0
- package/lib/features/index.d.ts +7 -0
- package/lib/features/index.js +25 -0
- package/lib/features/index.js.map +1 -0
- package/lib/features/machinesSlice.d.ts +14 -0
- package/lib/features/machinesSlice.js +48 -0
- package/lib/features/machinesSlice.js.map +1 -0
- package/lib/features/manufacturingOrderSlice.d.ts +66 -0
- package/lib/features/manufacturingOrderSlice.js +186 -0
- package/lib/features/manufacturingOrderSlice.js.map +1 -0
- package/lib/features/operationOrderSlice.d.ts +49 -0
- package/lib/features/operationOrderSlice.js +124 -0
- package/lib/features/operationOrderSlice.js.map +1 -0
- package/lib/features/prodProductSlice.d.ts +46 -0
- package/lib/features/prodProductSlice.js +114 -0
- package/lib/features/prodProductSlice.js.map +1 -0
- package/lib/features/productionFileSlice.d.ts +16 -0
- package/lib/features/productionFileSlice.js +71 -0
- package/lib/features/productionFileSlice.js.map +1 -0
- package/lib/features/wasteProductsSlice.d.ts +48 -0
- package/lib/features/wasteProductsSlice.js +117 -0
- package/lib/features/wasteProductsSlice.js.map +1 -0
- package/lib/features/workCentersSlice.d.ts +14 -0
- package/lib/features/workCentersSlice.js +48 -0
- package/lib/features/workCentersSlice.js.map +1 -0
- package/lib/i18n/en.json +45 -0
- package/lib/i18n/fr.json +45 -0
- package/lib/index.d.ts +13 -0
- package/lib/index.js +68 -0
- package/lib/index.js.map +1 -0
- package/lib/screens/manufactoringOrder/ManufacturingOrderDetailsScreen.d.ts +5 -0
- package/lib/screens/manufactoringOrder/ManufacturingOrderDetailsScreen.js +158 -0
- package/lib/screens/manufactoringOrder/ManufacturingOrderDetailsScreen.js.map +1 -0
- package/lib/screens/manufactoringOrder/ManufacturingOrderListProductionOrderScreen.d.ts +5 -0
- package/lib/screens/manufactoringOrder/ManufacturingOrderListProductionOrderScreen.js +72 -0
- package/lib/screens/manufactoringOrder/ManufacturingOrderListProductionOrderScreen.js.map +1 -0
- package/lib/screens/manufactoringOrder/ManufacturingOrderListSaleOrderScreen.d.ts +4 -0
- package/lib/screens/manufactoringOrder/ManufacturingOrderListSaleOrderScreen.js +60 -0
- package/lib/screens/manufactoringOrder/ManufacturingOrderListSaleOrderScreen.js.map +1 -0
- package/lib/screens/manufactoringOrder/ManufacturingOrderListScreen.d.ts +4 -0
- package/lib/screens/manufactoringOrder/ManufacturingOrderListScreen.js +182 -0
- package/lib/screens/manufactoringOrder/ManufacturingOrderListScreen.js.map +1 -0
- package/lib/screens/manufactoringOrder/ManufacturingOrderOperationListScreen.d.ts +5 -0
- package/lib/screens/manufactoringOrder/ManufacturingOrderOperationListScreen.js +150 -0
- package/lib/screens/manufactoringOrder/ManufacturingOrderOperationListScreen.js.map +1 -0
- package/lib/screens/manufactoringOrder/consumedProduct/ChildrenManufOrderListScreen.d.ts +5 -0
- package/lib/screens/manufactoringOrder/consumedProduct/ChildrenManufOrderListScreen.js +184 -0
- package/lib/screens/manufactoringOrder/consumedProduct/ChildrenManufOrderListScreen.js.map +1 -0
- package/lib/screens/manufactoringOrder/consumedProduct/ConsumedProductDetailsScreen.d.ts +5 -0
- package/lib/screens/manufactoringOrder/consumedProduct/ConsumedProductDetailsScreen.js +103 -0
- package/lib/screens/manufactoringOrder/consumedProduct/ConsumedProductDetailsScreen.js.map +1 -0
- package/lib/screens/manufactoringOrder/consumedProduct/ConsumedProductListScreen.d.ts +5 -0
- package/lib/screens/manufactoringOrder/consumedProduct/ConsumedProductListScreen.js +160 -0
- package/lib/screens/manufactoringOrder/consumedProduct/ConsumedProductListScreen.js.map +1 -0
- package/lib/screens/manufactoringOrder/consumedProduct/ConsumedProductSelectProductScreen.d.ts +5 -0
- package/lib/screens/manufactoringOrder/consumedProduct/ConsumedProductSelectProductScreen.js +56 -0
- package/lib/screens/manufactoringOrder/consumedProduct/ConsumedProductSelectProductScreen.js.map +1 -0
- package/lib/screens/manufactoringOrder/consumedProduct/ConsumedProductSelectTrackingScreen.d.ts +5 -0
- package/lib/screens/manufactoringOrder/consumedProduct/ConsumedProductSelectTrackingScreen.js +51 -0
- package/lib/screens/manufactoringOrder/consumedProduct/ConsumedProductSelectTrackingScreen.js.map +1 -0
- package/lib/screens/manufactoringOrder/consumedProduct/index.d.ts +55 -0
- package/lib/screens/manufactoringOrder/consumedProduct/index.js +60 -0
- package/lib/screens/manufactoringOrder/consumedProduct/index.js.map +1 -0
- package/lib/screens/manufactoringOrder/index.d.ts +171 -0
- package/lib/screens/manufactoringOrder/index.js +66 -0
- package/lib/screens/manufactoringOrder/index.js.map +1 -0
- package/lib/screens/manufactoringOrder/producedProduct/ProducedProductDetailsScreen.d.ts +5 -0
- package/lib/screens/manufactoringOrder/producedProduct/ProducedProductDetailsScreen.js +103 -0
- package/lib/screens/manufactoringOrder/producedProduct/ProducedProductDetailsScreen.js.map +1 -0
- package/lib/screens/manufactoringOrder/producedProduct/ProducedProductListScreen.d.ts +5 -0
- package/lib/screens/manufactoringOrder/producedProduct/ProducedProductListScreen.js +141 -0
- package/lib/screens/manufactoringOrder/producedProduct/ProducedProductListScreen.js.map +1 -0
- package/lib/screens/manufactoringOrder/producedProduct/ProducedProductSelectProductScreen.d.ts +5 -0
- package/lib/screens/manufactoringOrder/producedProduct/ProducedProductSelectProductScreen.js +56 -0
- package/lib/screens/manufactoringOrder/producedProduct/ProducedProductSelectProductScreen.js.map +1 -0
- package/lib/screens/manufactoringOrder/producedProduct/ProducedProductSelectTrackingScreen.d.ts +5 -0
- package/lib/screens/manufactoringOrder/producedProduct/ProducedProductSelectTrackingScreen.js +74 -0
- package/lib/screens/manufactoringOrder/producedProduct/ProducedProductSelectTrackingScreen.js.map +1 -0
- package/lib/screens/manufactoringOrder/producedProduct/index.d.ts +44 -0
- package/lib/screens/manufactoringOrder/producedProduct/index.js +52 -0
- package/lib/screens/manufactoringOrder/producedProduct/index.js.map +1 -0
- package/lib/screens/manufactoringOrder/wasteProduct/WasteProductDetailsScreen.d.ts +5 -0
- package/lib/screens/manufactoringOrder/wasteProduct/WasteProductDetailsScreen.js +100 -0
- package/lib/screens/manufactoringOrder/wasteProduct/WasteProductDetailsScreen.js.map +1 -0
- package/lib/screens/manufactoringOrder/wasteProduct/WasteProductListScreen.d.ts +5 -0
- package/lib/screens/manufactoringOrder/wasteProduct/WasteProductListScreen.js +103 -0
- package/lib/screens/manufactoringOrder/wasteProduct/WasteProductListScreen.js.map +1 -0
- package/lib/screens/manufactoringOrder/wasteProduct/WasteProductSelectProductScreen.d.ts +5 -0
- package/lib/screens/manufactoringOrder/wasteProduct/WasteProductSelectProductScreen.js +48 -0
- package/lib/screens/manufactoringOrder/wasteProduct/WasteProductSelectProductScreen.js.map +1 -0
- package/lib/screens/manufactoringOrder/wasteProduct/index.d.ts +33 -0
- package/lib/screens/manufactoringOrder/wasteProduct/index.js +44 -0
- package/lib/screens/manufactoringOrder/wasteProduct/index.js.map +1 -0
- package/lib/screens/operationOrder/OperationOrderDetailsScreen.d.ts +5 -0
- package/lib/screens/operationOrder/OperationOrderDetailsScreen.js +87 -0
- package/lib/screens/operationOrder/OperationOrderDetailsScreen.js.map +1 -0
- package/lib/screens/operationOrder/OperationOrderListScreen.d.ts +4 -0
- package/lib/screens/operationOrder/OperationOrderListScreen.js +178 -0
- package/lib/screens/operationOrder/OperationOrderListScreen.js.map +1 -0
- package/lib/screens/operationOrder/OperationOrderPlanningScreen.d.ts +2 -0
- package/lib/screens/operationOrder/OperationOrderPlanningScreen.js +126 -0
- package/lib/screens/operationOrder/OperationOrderPlanningScreen.js.map +1 -0
- package/lib/screens/operationOrder/ProductionFileScreen.d.ts +5 -0
- package/lib/screens/operationOrder/ProductionFileScreen.js +45 -0
- package/lib/screens/operationOrder/ProductionFileScreen.js.map +1 -0
- package/lib/screens/operationOrder/index.d.ts +44 -0
- package/lib/screens/operationOrder/index.js +52 -0
- package/lib/screens/operationOrder/index.js.map +1 -0
- package/lib/types/index.d.ts +2 -0
- package/lib/types/index.js +20 -0
- package/lib/types/index.js.map +1 -0
- package/lib/types/manufacturing-order.d.ts +29 -0
- package/lib/types/manufacturing-order.js +117 -0
- package/lib/types/manufacturing-order.js.map +1 -0
- package/lib/types/operation-order.d.ts +25 -0
- package/lib/types/operation-order.js +169 -0
- package/lib/types/operation-order.js.map +1 -0
- package/lib/utils/displayers.d.ts +1 -0
- package/lib/utils/displayers.js +19 -0
- package/lib/utils/displayers.js.map +1 -0
- package/lib/utils/formaters.d.ts +4 -0
- package/lib/utils/formaters.js +23 -0
- package/lib/utils/formaters.js.map +1 -0
- package/package.json +51 -0
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Axelor Business Solutions
|
|
3
|
+
*
|
|
4
|
+
* Copyright (C) 2023 Axelor (<http://axelor.com>).
|
|
5
|
+
*
|
|
6
|
+
* This program is free software: you can redistribute it and/or modify
|
|
7
|
+
* it under the terms of the GNU Affero General Public License, version 3,
|
|
8
|
+
* as published by the Free Software Foundation.
|
|
9
|
+
*
|
|
10
|
+
* This program is distributed in the hope that it will be useful,
|
|
11
|
+
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
12
|
+
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
13
|
+
* GNU Affero General Public License for more details.
|
|
14
|
+
*
|
|
15
|
+
* You should have received a copy of the GNU Affero General Public License
|
|
16
|
+
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
17
|
+
*/
|
|
18
|
+
import React, { useCallback, useEffect, useState } from 'react';
|
|
19
|
+
import { Button, Screen, ScrollView, HeaderContainer, Text, } from '@axelor/aos-mobile-ui';
|
|
20
|
+
import { useDispatch, useSelector, useTranslator } from '@axelor/aos-mobile-core';
|
|
21
|
+
import { fetchProductWithId, QuantityCard, ProductCardInfo, } from '@axelor/aos-mobile-stock';
|
|
22
|
+
import { ManufacturingOrderHeader } from '../../../components/organisms';
|
|
23
|
+
import { addProdProductToManufOrder, updateProdProductOfManufOrder, } from '../../../features/prodProductSlice';
|
|
24
|
+
import { ManufacturingOrder } from '../../../types';
|
|
25
|
+
const ConsumedProductDetailsScreen = ({ route, navigation }) => {
|
|
26
|
+
const I18n = useTranslator();
|
|
27
|
+
const manufOrder = route.params.manufOrder;
|
|
28
|
+
const consumedProduct = route.params.consumedProduct;
|
|
29
|
+
const { loadingProductFromId, productFromId } = useSelector(state => state.product);
|
|
30
|
+
const product = consumedProduct ? productFromId : route.params.product;
|
|
31
|
+
const trackingNumber = route.params.trackingNumber;
|
|
32
|
+
const [consumedQty, setConsumedQty] = useState(consumedProduct ? consumedProduct.realQty : 0);
|
|
33
|
+
const dispatch = useDispatch();
|
|
34
|
+
useEffect(() => {
|
|
35
|
+
if (consumedProduct != null) {
|
|
36
|
+
dispatch(fetchProductWithId(consumedProduct.productId));
|
|
37
|
+
}
|
|
38
|
+
}, [consumedProduct, dispatch]);
|
|
39
|
+
const handleShowProduct = () => {
|
|
40
|
+
navigation.navigate('ProductStockDetailsScreen', {
|
|
41
|
+
product: product,
|
|
42
|
+
});
|
|
43
|
+
};
|
|
44
|
+
const handleNavigateBackToList = useCallback(() => {
|
|
45
|
+
navigation.navigate('ConsumedProductListScreen', {
|
|
46
|
+
manufOrder: manufOrder,
|
|
47
|
+
});
|
|
48
|
+
}, [manufOrder, navigation]);
|
|
49
|
+
const handleCreateConsumedProduct = useCallback(() => {
|
|
50
|
+
dispatch(addProdProductToManufOrder({
|
|
51
|
+
manufOrderId: manufOrder?.id,
|
|
52
|
+
manufOrderVersion: manufOrder?.version,
|
|
53
|
+
productId: product?.id,
|
|
54
|
+
trackingNumberId: trackingNumber?.id,
|
|
55
|
+
qty: consumedQty,
|
|
56
|
+
productType: 'consumed',
|
|
57
|
+
}));
|
|
58
|
+
handleNavigateBackToList();
|
|
59
|
+
}, [
|
|
60
|
+
consumedQty,
|
|
61
|
+
dispatch,
|
|
62
|
+
handleNavigateBackToList,
|
|
63
|
+
manufOrder,
|
|
64
|
+
product,
|
|
65
|
+
trackingNumber,
|
|
66
|
+
]);
|
|
67
|
+
const handleUpdateConsumedProduct = useCallback(() => {
|
|
68
|
+
dispatch(updateProdProductOfManufOrder({
|
|
69
|
+
stockMoveLineVersion: consumedProduct?.stockMoveLineVersion,
|
|
70
|
+
stockMoveLineId: consumedProduct?.stockMoveLineId,
|
|
71
|
+
prodProductQty: consumedQty,
|
|
72
|
+
type: 'consumed',
|
|
73
|
+
manufOrderId: manufOrder?.id,
|
|
74
|
+
manufOrderVersion: manufOrder?.version,
|
|
75
|
+
}));
|
|
76
|
+
handleNavigateBackToList();
|
|
77
|
+
}, [
|
|
78
|
+
consumedProduct,
|
|
79
|
+
consumedQty,
|
|
80
|
+
dispatch,
|
|
81
|
+
handleNavigateBackToList,
|
|
82
|
+
manufOrder,
|
|
83
|
+
]);
|
|
84
|
+
return (<Screen removeSpaceOnTop={true} fixedItems={manufOrder?.statusSelect === ManufacturingOrder.status.InProgress &&
|
|
85
|
+
(consumedProduct ? (<Button title={I18n.t('Base_Save')} onPress={handleUpdateConsumedProduct}/>) : (<Button title={I18n.t('Base_Save')} onPress={handleCreateConsumedProduct}/>))}>
|
|
86
|
+
<HeaderContainer expandableFilter={false} fixedItems={<ManufacturingOrderHeader parentMO={manufOrder.parentMO} reference={manufOrder.manufOrderSeq} status={manufOrder.statusSelect} priority={manufOrder.prioritySelect}/>}/>
|
|
87
|
+
<ScrollView>
|
|
88
|
+
{(product || !loadingProductFromId) && (<ProductCardInfo name={product.name} code={product.code} picture={product.picture} trackingNumber={product.trackingNumberConfiguration == null ||
|
|
89
|
+
trackingNumber == null
|
|
90
|
+
? null
|
|
91
|
+
: trackingNumber.trackingNumberSeq} onPress={handleShowProduct}/>)}
|
|
92
|
+
<QuantityCard labelQty={I18n.t('Manufacturing_ConsumedQty')} defaultValue={parseFloat(consumedQty).toFixed(2)} onValueChange={setConsumedQty} editable={manufOrder?.statusSelect === ManufacturingOrder.status.InProgress}>
|
|
93
|
+
<Text>
|
|
94
|
+
{`${I18n.t('Manufacturing_PlannedQty')}: ${parseFloat(consumedProduct ? consumedProduct.plannedQty : 0).toFixed(2)} ${consumedProduct
|
|
95
|
+
? consumedProduct.unit?.unitName
|
|
96
|
+
: product.unit?.name}`}
|
|
97
|
+
</Text>
|
|
98
|
+
</QuantityCard>
|
|
99
|
+
</ScrollView>
|
|
100
|
+
</Screen>);
|
|
101
|
+
};
|
|
102
|
+
export default ConsumedProductDetailsScreen;
|
|
103
|
+
//# sourceMappingURL=ConsumedProductDetailsScreen.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ConsumedProductDetailsScreen.js","sourceRoot":"","sources":["../../../../src/screens/manufactoringOrder/consumedProduct/ConsumedProductDetailsScreen.js"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,160 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Axelor Business Solutions
|
|
3
|
+
*
|
|
4
|
+
* Copyright (C) 2023 Axelor (<http://axelor.com>).
|
|
5
|
+
*
|
|
6
|
+
* This program is free software: you can redistribute it and/or modify
|
|
7
|
+
* it under the terms of the GNU Affero General Public License, version 3,
|
|
8
|
+
* as published by the Free Software Foundation.
|
|
9
|
+
*
|
|
10
|
+
* This program is distributed in the hope that it will be useful,
|
|
11
|
+
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
12
|
+
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
13
|
+
* GNU Affero General Public License for more details.
|
|
14
|
+
*
|
|
15
|
+
* You should have received a copy of the GNU Affero General Public License
|
|
16
|
+
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
17
|
+
*/
|
|
18
|
+
import React, { useCallback, useEffect, useState } from 'react';
|
|
19
|
+
import { Dimensions, StyleSheet, View } from 'react-native';
|
|
20
|
+
import { Chip, ChipSelect, Icon, Screen, ScrollList, HeaderContainer, Text, useThemeColor, } from '@axelor/aos-mobile-ui';
|
|
21
|
+
import { ScannerAutocompleteSearch, useDispatch, useSelector, useTranslator, } from '@axelor/aos-mobile-core';
|
|
22
|
+
import { areObjectsEquals } from '@axelor/aos-mobile-stock';
|
|
23
|
+
import { ManufacturingOrderHeader, ConsumedProductGlobalCard, } from '../../../components/organisms';
|
|
24
|
+
import { fetchConsumedProducts, updateProdProductOfManufOrder, } from '../../../features/prodProductSlice';
|
|
25
|
+
import { ManufacturingOrder } from '../../../types';
|
|
26
|
+
const productScanKey = 'product_manufacturing-order-consumed-product-list';
|
|
27
|
+
const IS_INFINITE_SCROLL_ENABLED = false;
|
|
28
|
+
const ConsumedProductListScreen = ({ route, navigation }) => {
|
|
29
|
+
const Colors = useThemeColor();
|
|
30
|
+
const I18n = useTranslator();
|
|
31
|
+
const manufOrder = route.params.manufOrder;
|
|
32
|
+
const { loadingConsumedProducts, consumedProductList } = useSelector(state => state.prodProducts);
|
|
33
|
+
const [missingStatus, setMissingStatus] = useState(false);
|
|
34
|
+
const [partiallyStatus, setPartiallyStatus] = useState(false);
|
|
35
|
+
const [finishedStatus, setFinishedStatus] = useState(false);
|
|
36
|
+
const [filteredList, setFilteredList] = useState(consumedProductList);
|
|
37
|
+
const [product, setProduct] = useState(null);
|
|
38
|
+
const dispatch = useDispatch();
|
|
39
|
+
const fetchConsumedProductsAPI = useCallback(() => {
|
|
40
|
+
dispatch(fetchConsumedProducts({
|
|
41
|
+
manufOrderId: manufOrder?.id,
|
|
42
|
+
manufOrderVersion: manufOrder?.version,
|
|
43
|
+
}));
|
|
44
|
+
}, [dispatch, manufOrder]);
|
|
45
|
+
const updateConsumedProductQtyAPI = useCallback((item, moreValue) => {
|
|
46
|
+
dispatch(updateProdProductOfManufOrder({
|
|
47
|
+
stockMoveLineVersion: item.stockMoveLineVersion,
|
|
48
|
+
stockMoveLineId: item.stockMoveLineId,
|
|
49
|
+
prodProductQty: parseFloat(item.realQty) + parseFloat(moreValue),
|
|
50
|
+
type: 'consumed',
|
|
51
|
+
manufOrderId: manufOrder?.id,
|
|
52
|
+
manufOrderVersion: manufOrder?.version,
|
|
53
|
+
}));
|
|
54
|
+
}, [dispatch, manufOrder]);
|
|
55
|
+
const handleMissingStatus = () => {
|
|
56
|
+
if (!missingStatus && (partiallyStatus || finishedStatus)) {
|
|
57
|
+
setPartiallyStatus(false);
|
|
58
|
+
setFinishedStatus(false);
|
|
59
|
+
}
|
|
60
|
+
setMissingStatus(!missingStatus);
|
|
61
|
+
};
|
|
62
|
+
const handlePartiallyStatus = () => {
|
|
63
|
+
if (!partiallyStatus && (missingStatus || finishedStatus)) {
|
|
64
|
+
setMissingStatus(false);
|
|
65
|
+
setFinishedStatus(false);
|
|
66
|
+
}
|
|
67
|
+
setPartiallyStatus(!partiallyStatus);
|
|
68
|
+
};
|
|
69
|
+
const handleFinishedStatus = () => {
|
|
70
|
+
if (!finishedStatus && (missingStatus || partiallyStatus)) {
|
|
71
|
+
setMissingStatus(false);
|
|
72
|
+
setPartiallyStatus(false);
|
|
73
|
+
}
|
|
74
|
+
setFinishedStatus(!finishedStatus);
|
|
75
|
+
};
|
|
76
|
+
const filterOnStatus = useCallback(list => {
|
|
77
|
+
if (list == null || list === []) {
|
|
78
|
+
return list;
|
|
79
|
+
}
|
|
80
|
+
else {
|
|
81
|
+
if (missingStatus) {
|
|
82
|
+
return list.filter(item => item.missingQty > 0);
|
|
83
|
+
}
|
|
84
|
+
else if (partiallyStatus) {
|
|
85
|
+
return list.filter(item => item.plannedQty > item.realQty);
|
|
86
|
+
}
|
|
87
|
+
else if (finishedStatus) {
|
|
88
|
+
return list.filter(item => item.plannedQty <= item.realQty);
|
|
89
|
+
}
|
|
90
|
+
else {
|
|
91
|
+
return list;
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
}, [missingStatus, partiallyStatus, finishedStatus]);
|
|
95
|
+
const filterOnProduct = useCallback((list, value) => {
|
|
96
|
+
if (list == null || list?.length === 0) {
|
|
97
|
+
return [];
|
|
98
|
+
}
|
|
99
|
+
else {
|
|
100
|
+
if (value) {
|
|
101
|
+
return list.filter(item => areObjectsEquals(item.productName, value));
|
|
102
|
+
}
|
|
103
|
+
else {
|
|
104
|
+
return list;
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
}, []);
|
|
108
|
+
useEffect(() => {
|
|
109
|
+
setFilteredList(filterOnStatus(filterOnProduct(consumedProductList, product)));
|
|
110
|
+
}, [filterOnStatus, consumedProductList, filterOnProduct, product]);
|
|
111
|
+
const handleViewItem = item => {
|
|
112
|
+
navigation.navigate('ConsumedProductDetailsScreen', {
|
|
113
|
+
manufOrder: manufOrder,
|
|
114
|
+
consumedProduct: item,
|
|
115
|
+
});
|
|
116
|
+
};
|
|
117
|
+
const handleViewSubOF = () => {
|
|
118
|
+
navigation.navigate('ChildrenManufOrderListScreen', {
|
|
119
|
+
manufOrder: manufOrder,
|
|
120
|
+
});
|
|
121
|
+
};
|
|
122
|
+
const handleAddProduct = () => {
|
|
123
|
+
navigation.navigate('ConsumedProductSelectProductScreen', {
|
|
124
|
+
manufOrder: manufOrder,
|
|
125
|
+
});
|
|
126
|
+
};
|
|
127
|
+
const handleViewAvailability = item => {
|
|
128
|
+
navigation.navigate('ProductStockLocationDetailsScreen', {
|
|
129
|
+
product: { id: item.productId, version: item.version },
|
|
130
|
+
companyId: manufOrder?.company?.id,
|
|
131
|
+
});
|
|
132
|
+
};
|
|
133
|
+
return (<Screen removeSpaceOnTop={true}>
|
|
134
|
+
<HeaderContainer expandableFilter={false} fixedItems={<>
|
|
135
|
+
<ManufacturingOrderHeader parentMO={manufOrder.parentMO} reference={manufOrder.manufOrderSeq} status={manufOrder.statusSelect} priority={manufOrder.prioritySelect}/>
|
|
136
|
+
<View style={styles.titleContainer}>
|
|
137
|
+
<Text>{I18n.t('Manufacturing_ConsumedProduct')}</Text>
|
|
138
|
+
{manufOrder?.statusSelect ===
|
|
139
|
+
ManufacturingOrder.status.InProgress && (<Icon name="plus" size={20} color={Colors.primaryColor.background} touchable={true} onPress={handleAddProduct}/>)}
|
|
140
|
+
</View>
|
|
141
|
+
<ScannerAutocompleteSearch objectList={consumedProductList} onChangeValue={() => { }} fetchData={setProduct} displayValue={item => item?.productName} placeholder={I18n.t('Manufacturing_Product')} scanKeySearch={productScanKey} oneFilter={true}/>
|
|
142
|
+
</>} chipComponent={<ChipSelect>
|
|
143
|
+
<Chip selected={missingStatus} title={I18n.t('Manufacturing_Status_Missing')} onPress={handleMissingStatus} selectedColor={Colors.errorColor} width={Dimensions.get('window').width * 0.3} marginHorizontal={2}/>
|
|
144
|
+
<Chip selected={partiallyStatus} title={I18n.t('Manufacturing_Status_Planned')} onPress={handlePartiallyStatus} selectedColor={Colors.plannedColor} width={Dimensions.get('window').width * 0.3} marginHorizontal={2}/>
|
|
145
|
+
<Chip selected={finishedStatus} title={I18n.t('Manufacturing_Status_Finished')} onPress={handleFinishedStatus} selectedColor={Colors.primaryColor} width={Dimensions.get('window').width * 0.3} marginHorizontal={2}/>
|
|
146
|
+
</ChipSelect>}/>
|
|
147
|
+
<ScrollList loadingList={loadingConsumedProducts} data={filteredList} renderItem={({ item }) => (<ConsumedProductGlobalCard productName={item?.productName} plannedQty={item?.plannedQty} consumedQty={item?.realQty} missingQty={item?.missingQty} availableQty={item?.availableStock} unitName={item?.unit?.unitName} trackingNumber={item?.trackingNumber?.trackingNumberSeq} onMorePress={pressValue => updateConsumedProductQtyAPI(item, pressValue)} disableMore={manufOrder?.statusSelect !== ManufacturingOrder.status.InProgress} onPress={() => handleViewItem(item)} onLocationPress={() => handleViewAvailability(item)} isSubOF={item.subManufOrderId != null} onSubOfPress={handleViewSubOF}/>)} fetchData={fetchConsumedProductsAPI} isListEnd={!IS_INFINITE_SCROLL_ENABLED} filter={IS_INFINITE_SCROLL_ENABLED}/>
|
|
148
|
+
</Screen>);
|
|
149
|
+
};
|
|
150
|
+
const styles = StyleSheet.create({
|
|
151
|
+
titleContainer: {
|
|
152
|
+
flexDirection: 'row',
|
|
153
|
+
marginBottom: '2%',
|
|
154
|
+
justifyContent: 'space-between',
|
|
155
|
+
alignItems: 'center',
|
|
156
|
+
marginHorizontal: 24,
|
|
157
|
+
},
|
|
158
|
+
});
|
|
159
|
+
export default ConsumedProductListScreen;
|
|
160
|
+
//# sourceMappingURL=ConsumedProductListScreen.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ConsumedProductListScreen.js","sourceRoot":"","sources":["../../../../src/screens/manufactoringOrder/consumedProduct/ConsumedProductListScreen.js"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Axelor Business Solutions
|
|
3
|
+
*
|
|
4
|
+
* Copyright (C) 2023 Axelor (<http://axelor.com>).
|
|
5
|
+
*
|
|
6
|
+
* This program is free software: you can redistribute it and/or modify
|
|
7
|
+
* it under the terms of the GNU Affero General Public License, version 3,
|
|
8
|
+
* as published by the Free Software Foundation.
|
|
9
|
+
*
|
|
10
|
+
* This program is distributed in the hope that it will be useful,
|
|
11
|
+
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
12
|
+
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
13
|
+
* GNU Affero General Public License for more details.
|
|
14
|
+
*
|
|
15
|
+
* You should have received a copy of the GNU Affero General Public License
|
|
16
|
+
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
17
|
+
*/
|
|
18
|
+
import React, { useCallback } from 'react';
|
|
19
|
+
import { Screen, ScrollView, HeaderContainer } from '@axelor/aos-mobile-ui';
|
|
20
|
+
import { displayItemName, ScannerAutocompleteSearch, useDispatch, useSelector, useTranslator, } from '@axelor/aos-mobile-core';
|
|
21
|
+
import { ManufacturingOrderHeader } from '../../../components/organisms';
|
|
22
|
+
import { searchProducts } from '@axelor/aos-mobile-stock';
|
|
23
|
+
const productScanKey = 'product_manufacturing-order-consumed-product-select';
|
|
24
|
+
const ConsumedProductSelectProductScreen = ({ route, navigation }) => {
|
|
25
|
+
const I18n = useTranslator();
|
|
26
|
+
const manufOrder = route.params.manufOrder;
|
|
27
|
+
const { productList } = useSelector(state => state.product);
|
|
28
|
+
const dispatch = useDispatch();
|
|
29
|
+
const fetchProductsAPI = useCallback(filter => {
|
|
30
|
+
dispatch(searchProducts({ searchValue: filter }));
|
|
31
|
+
}, [dispatch]);
|
|
32
|
+
const handleSelectProduct = product => {
|
|
33
|
+
if (product != null) {
|
|
34
|
+
if (product.trackingNumberConfiguration == null) {
|
|
35
|
+
navigation.navigate('ConsumedProductDetailsScreen', {
|
|
36
|
+
manufOrder: manufOrder,
|
|
37
|
+
product: product,
|
|
38
|
+
});
|
|
39
|
+
}
|
|
40
|
+
else {
|
|
41
|
+
navigation.navigate('ConsumedProductSelectTrackingScreen', {
|
|
42
|
+
manufOrder: manufOrder,
|
|
43
|
+
product: product,
|
|
44
|
+
});
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
};
|
|
48
|
+
return (<Screen removeSpaceOnTop={true}>
|
|
49
|
+
<HeaderContainer expandableFilter={false} fixedItems={<ManufacturingOrderHeader parentMO={manufOrder.parentMO} reference={manufOrder.manufOrderSeq} status={manufOrder.statusSelect} priority={manufOrder.prioritySelect}/>}/>
|
|
50
|
+
<ScrollView>
|
|
51
|
+
<ScannerAutocompleteSearch objectList={productList} onChangeValue={handleSelectProduct} fetchData={fetchProductsAPI} displayValue={displayItemName} placeholder={I18n.t('Manufacturing_Product')} scanKeySearch={productScanKey} isFocus={true} changeScreenAfter={true}/>
|
|
52
|
+
</ScrollView>
|
|
53
|
+
</Screen>);
|
|
54
|
+
};
|
|
55
|
+
export default ConsumedProductSelectProductScreen;
|
|
56
|
+
//# sourceMappingURL=ConsumedProductSelectProductScreen.js.map
|
package/lib/screens/manufactoringOrder/consumedProduct/ConsumedProductSelectProductScreen.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ConsumedProductSelectProductScreen.js","sourceRoot":"","sources":["../../../../src/screens/manufactoringOrder/consumedProduct/ConsumedProductSelectProductScreen.js"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,KAAK,EAAE,EAAC,WAAW,EAAC,MAAM,OAAO,CAAC;AACzC,OAAO,EAAC,MAAM,EAAE,UAAU,EAAE,eAAe,EAAC,MAAM,uBAAuB,CAAC;AAC1E,OAAO,EACL,eAAe,EACf,yBAAyB,EACzB,WAAW,EACX,WAAW,EACX,aAAa,GACd,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAC,wBAAwB,EAAC,MAAM,+BAA+B,CAAC;AACvE,OAAO,EAAC,cAAc,EAAC,MAAM,0BAA0B,CAAC;AAExD,MAAM,cAAc,GAAG,qDAAqD,CAAC;AAE7E,MAAM,kCAAkC,GAAG,CAAC,EAAC,KAAK,EAAE,UAAU,EAAC,EAAE,EAAE;IACjE,MAAM,IAAI,GAAG,aAAa,EAAE,CAAC;IAC7B,MAAM,UAAU,GAAG,KAAK,CAAC,MAAM,CAAC,UAAU,CAAC;IAC3C,MAAM,EAAC,WAAW,EAAC,GAAG,WAAW,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAC1D,MAAM,QAAQ,GAAG,WAAW,EAAE,CAAC;IAE/B,MAAM,gBAAgB,GAAG,WAAW,CAClC,MAAM,CAAC,EAAE;QACP,QAAQ,CAAC,cAAc,CAAC,EAAC,WAAW,EAAE,MAAM,EAAC,CAAC,CAAC,CAAC;IAClD,CAAC,EACD,CAAC,QAAQ,CAAC,CACX,CAAC;IAEF,MAAM,mBAAmB,GAAG,OAAO,CAAC,EAAE;QACpC,IAAI,OAAO,IAAI,IAAI,EAAE;YACnB,IAAI,OAAO,CAAC,2BAA2B,IAAI,IAAI,EAAE;gBAC/C,UAAU,CAAC,QAAQ,CAAC,8BAA8B,EAAE;oBAClD,UAAU,EAAE,UAAU;oBACtB,OAAO,EAAE,OAAO;iBACjB,CAAC,CAAC;aACJ;iBAAM;gBACL,UAAU,CAAC,QAAQ,CAAC,qCAAqC,EAAE;oBACzD,UAAU,EAAE,UAAU;oBACtB,OAAO,EAAE,OAAO;iBACjB,CAAC,CAAC;aACJ;SACF;IACH,CAAC,CAAC;IAEF,OAAO,CACL,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC,IAAI,CAAC,CAC7B;MAAA,CAAC,eAAe,CACd,gBAAgB,CAAC,CAAC,KAAK,CAAC,CACxB,UAAU,CAAC,CACT,CAAC,wBAAwB,CACvB,QAAQ,CAAC,CAAC,UAAU,CAAC,QAAQ,CAAC,CAC9B,SAAS,CAAC,CAAC,UAAU,CAAC,aAAa,CAAC,CACpC,MAAM,CAAC,CAAC,UAAU,CAAC,YAAY,CAAC,CAChC,QAAQ,CAAC,CAAC,UAAU,CAAC,cAAc,CAAC,EACpC,CACH,EAEH;MAAA,CAAC,UAAU,CACT;QAAA,CAAC,yBAAyB,CACxB,UAAU,CAAC,CAAC,WAAW,CAAC,CACxB,aAAa,CAAC,CAAC,mBAAmB,CAAC,CACnC,SAAS,CAAC,CAAC,gBAAgB,CAAC,CAC5B,YAAY,CAAC,CAAC,eAAe,CAAC,CAC9B,WAAW,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,uBAAuB,CAAC,CAAC,CAC7C,aAAa,CAAC,CAAC,cAAc,CAAC,CAC9B,OAAO,CAAC,CAAC,IAAI,CAAC,CACd,iBAAiB,CAAC,CAAC,IAAI,CAAC,EAE5B;MAAA,EAAE,UAAU,CACd;IAAA,EAAE,MAAM,CAAC,CACV,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,kCAAkC,CAAC"}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Axelor Business Solutions
|
|
3
|
+
*
|
|
4
|
+
* Copyright (C) 2023 Axelor (<http://axelor.com>).
|
|
5
|
+
*
|
|
6
|
+
* This program is free software: you can redistribute it and/or modify
|
|
7
|
+
* it under the terms of the GNU Affero General Public License, version 3,
|
|
8
|
+
* as published by the Free Software Foundation.
|
|
9
|
+
*
|
|
10
|
+
* This program is distributed in the hope that it will be useful,
|
|
11
|
+
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
12
|
+
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
13
|
+
* GNU Affero General Public License for more details.
|
|
14
|
+
*
|
|
15
|
+
* You should have received a copy of the GNU Affero General Public License
|
|
16
|
+
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
17
|
+
*/
|
|
18
|
+
import React, { useCallback } from 'react';
|
|
19
|
+
import { ClearableCard, Screen, ScrollView, HeaderContainer, } from '@axelor/aos-mobile-ui';
|
|
20
|
+
import { ScannerAutocompleteSearch, useDispatch, useSelector, useTranslator, } from '@axelor/aos-mobile-core';
|
|
21
|
+
import { ManufacturingOrderHeader } from '../../../components/organisms';
|
|
22
|
+
import { displayItemTrackingNumber, filterTrackingNumber, } from '@axelor/aos-mobile-stock';
|
|
23
|
+
const trackingNumberScanKey = 'tracking-number_manufacturing-order-consumed-product-select';
|
|
24
|
+
const ConsumedProductSelectTrackingScreen = ({ route, navigation }) => {
|
|
25
|
+
const I18n = useTranslator();
|
|
26
|
+
const manufOrder = route.params.manufOrder;
|
|
27
|
+
const product = route.params.product;
|
|
28
|
+
const { trackingNumberList } = useSelector(state => state.trackingNumber);
|
|
29
|
+
const dispatch = useDispatch();
|
|
30
|
+
const fetchTrackingAPI = useCallback(filter => {
|
|
31
|
+
dispatch(filterTrackingNumber({ productId: product.id, searchValue: filter }));
|
|
32
|
+
}, [dispatch, product.id]);
|
|
33
|
+
const handleTrackingNumberSelection = item => {
|
|
34
|
+
if (item != null) {
|
|
35
|
+
navigation.navigate('ConsumedProductDetailsScreen', {
|
|
36
|
+
manufOrder: manufOrder,
|
|
37
|
+
product: product,
|
|
38
|
+
trackingNumber: item,
|
|
39
|
+
});
|
|
40
|
+
}
|
|
41
|
+
};
|
|
42
|
+
return (<Screen removeSpaceOnTop={true}>
|
|
43
|
+
<HeaderContainer expandableFilter={false} fixedItems={<ManufacturingOrderHeader parentMO={manufOrder.parentMO} reference={manufOrder.manufOrderSeq} status={manufOrder.statusSelect} priority={manufOrder.prioritySelect}/>}/>
|
|
44
|
+
<ScrollView>
|
|
45
|
+
<ClearableCard valueTxt={product.name} clearable={false}/>
|
|
46
|
+
<ScannerAutocompleteSearch objectList={trackingNumberList} onChangeValue={item => handleTrackingNumberSelection(item)} fetchData={fetchTrackingAPI} displayValue={displayItemTrackingNumber} scanKeySearch={trackingNumberScanKey} placeholder={I18n.t('Stock_TrackingNumber')} isFocus={true} changeScreenAfter={true}/>
|
|
47
|
+
</ScrollView>
|
|
48
|
+
</Screen>);
|
|
49
|
+
};
|
|
50
|
+
export default ConsumedProductSelectTrackingScreen;
|
|
51
|
+
//# sourceMappingURL=ConsumedProductSelectTrackingScreen.js.map
|
package/lib/screens/manufactoringOrder/consumedProduct/ConsumedProductSelectTrackingScreen.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ConsumedProductSelectTrackingScreen.js","sourceRoot":"","sources":["../../../../src/screens/manufactoringOrder/consumedProduct/ConsumedProductSelectTrackingScreen.js"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,KAAK,EAAE,EAAC,WAAW,EAAC,MAAM,OAAO,CAAC;AACzC,OAAO,EACL,aAAa,EACb,MAAM,EACN,UAAU,EACV,eAAe,GAChB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACL,yBAAyB,EACzB,WAAW,EACX,WAAW,EACX,aAAa,GACd,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAC,wBAAwB,EAAC,MAAM,+BAA+B,CAAC;AACvE,OAAO,EACL,yBAAyB,EACzB,oBAAoB,GACrB,MAAM,0BAA0B,CAAC;AAElC,MAAM,qBAAqB,GACzB,6DAA6D,CAAC;AAEhE,MAAM,mCAAmC,GAAG,CAAC,EAAC,KAAK,EAAE,UAAU,EAAC,EAAE,EAAE;IAClE,MAAM,IAAI,GAAG,aAAa,EAAE,CAAC;IAC7B,MAAM,UAAU,GAAG,KAAK,CAAC,MAAM,CAAC,UAAU,CAAC;IAC3C,MAAM,OAAO,GAAG,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC;IACrC,MAAM,EAAC,kBAAkB,EAAC,GAAG,WAAW,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;IACxE,MAAM,QAAQ,GAAG,WAAW,EAAE,CAAC;IAE/B,MAAM,gBAAgB,GAAG,WAAW,CAClC,MAAM,CAAC,EAAE;QACP,QAAQ,CACN,oBAAoB,CAAC,EAAC,SAAS,EAAE,OAAO,CAAC,EAAE,EAAE,WAAW,EAAE,MAAM,EAAC,CAAC,CACnE,CAAC;IACJ,CAAC,EACD,CAAC,QAAQ,EAAE,OAAO,CAAC,EAAE,CAAC,CACvB,CAAC;IAEF,MAAM,6BAA6B,GAAG,IAAI,CAAC,EAAE;QAC3C,IAAI,IAAI,IAAI,IAAI,EAAE;YAChB,UAAU,CAAC,QAAQ,CAAC,8BAA8B,EAAE;gBAClD,UAAU,EAAE,UAAU;gBACtB,OAAO,EAAE,OAAO;gBAChB,cAAc,EAAE,IAAI;aACrB,CAAC,CAAC;SACJ;IACH,CAAC,CAAC;IAEF,OAAO,CACL,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC,IAAI,CAAC,CAC7B;MAAA,CAAC,eAAe,CACd,gBAAgB,CAAC,CAAC,KAAK,CAAC,CACxB,UAAU,CAAC,CACT,CAAC,wBAAwB,CACvB,QAAQ,CAAC,CAAC,UAAU,CAAC,QAAQ,CAAC,CAC9B,SAAS,CAAC,CAAC,UAAU,CAAC,aAAa,CAAC,CACpC,MAAM,CAAC,CAAC,UAAU,CAAC,YAAY,CAAC,CAChC,QAAQ,CAAC,CAAC,UAAU,CAAC,cAAc,CAAC,EACpC,CACH,EAEH;MAAA,CAAC,UAAU,CACT;QAAA,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,CAAC,KAAK,CAAC,EACxD;QAAA,CAAC,yBAAyB,CACxB,UAAU,CAAC,CAAC,kBAAkB,CAAC,CAC/B,aAAa,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,6BAA6B,CAAC,IAAI,CAAC,CAAC,CAC3D,SAAS,CAAC,CAAC,gBAAgB,CAAC,CAC5B,YAAY,CAAC,CAAC,yBAAyB,CAAC,CACxC,aAAa,CAAC,CAAC,qBAAqB,CAAC,CACrC,WAAW,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,sBAAsB,CAAC,CAAC,CAC5C,OAAO,CAAC,CAAC,IAAI,CAAC,CACd,iBAAiB,CAAC,CAAC,IAAI,CAAC,EAE5B;MAAA,EAAE,UAAU,CACd;IAAA,EAAE,MAAM,CAAC,CACV,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,mCAAmC,CAAC"}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
declare namespace _default {
|
|
2
|
+
namespace ConsumedProductListScreen {
|
|
3
|
+
export const title: string;
|
|
4
|
+
export { ConsumedProductListScreen as component };
|
|
5
|
+
export namespace options {
|
|
6
|
+
const shadedHeader: boolean;
|
|
7
|
+
}
|
|
8
|
+
}
|
|
9
|
+
namespace ConsumedProductDetailsScreen {
|
|
10
|
+
const title_1: string;
|
|
11
|
+
export { title_1 as title };
|
|
12
|
+
export { ConsumedProductDetailsScreen as component };
|
|
13
|
+
export namespace options_1 {
|
|
14
|
+
const shadedHeader_1: boolean;
|
|
15
|
+
export { shadedHeader_1 as shadedHeader };
|
|
16
|
+
}
|
|
17
|
+
export { options_1 as options };
|
|
18
|
+
}
|
|
19
|
+
namespace ConsumedProductSelectProductScreen {
|
|
20
|
+
const title_2: string;
|
|
21
|
+
export { title_2 as title };
|
|
22
|
+
export { ConsumedProductSelectProductScreen as component };
|
|
23
|
+
export namespace options_2 {
|
|
24
|
+
const shadedHeader_2: boolean;
|
|
25
|
+
export { shadedHeader_2 as shadedHeader };
|
|
26
|
+
}
|
|
27
|
+
export { options_2 as options };
|
|
28
|
+
}
|
|
29
|
+
namespace ConsumedProductSelectTrackingScreen {
|
|
30
|
+
const title_3: string;
|
|
31
|
+
export { title_3 as title };
|
|
32
|
+
export { ConsumedProductSelectTrackingScreen as component };
|
|
33
|
+
export namespace options_3 {
|
|
34
|
+
const shadedHeader_3: boolean;
|
|
35
|
+
export { shadedHeader_3 as shadedHeader };
|
|
36
|
+
}
|
|
37
|
+
export { options_3 as options };
|
|
38
|
+
}
|
|
39
|
+
namespace ChildrenManufOrderListScreen {
|
|
40
|
+
const title_4: string;
|
|
41
|
+
export { title_4 as title };
|
|
42
|
+
export { ChildrenManufOrderListScreen as component };
|
|
43
|
+
export namespace options_4 {
|
|
44
|
+
const shadedHeader_4: boolean;
|
|
45
|
+
export { shadedHeader_4 as shadedHeader };
|
|
46
|
+
}
|
|
47
|
+
export { options_4 as options };
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
export default _default;
|
|
51
|
+
import ConsumedProductListScreen_1 from "./ConsumedProductListScreen";
|
|
52
|
+
import ConsumedProductDetailsScreen_1 from "./ConsumedProductDetailsScreen";
|
|
53
|
+
import ConsumedProductSelectProductScreen_1 from "./ConsumedProductSelectProductScreen";
|
|
54
|
+
import ConsumedProductSelectTrackingScreen_1 from "./ConsumedProductSelectTrackingScreen";
|
|
55
|
+
import ChildrenManufOrderListScreen_1 from "./ChildrenManufOrderListScreen";
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Axelor Business Solutions
|
|
3
|
+
*
|
|
4
|
+
* Copyright (C) 2023 Axelor (<http://axelor.com>).
|
|
5
|
+
*
|
|
6
|
+
* This program is free software: you can redistribute it and/or modify
|
|
7
|
+
* it under the terms of the GNU Affero General Public License, version 3,
|
|
8
|
+
* as published by the Free Software Foundation.
|
|
9
|
+
*
|
|
10
|
+
* This program is distributed in the hope that it will be useful,
|
|
11
|
+
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
12
|
+
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
13
|
+
* GNU Affero General Public License for more details.
|
|
14
|
+
*
|
|
15
|
+
* You should have received a copy of the GNU Affero General Public License
|
|
16
|
+
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
17
|
+
*/
|
|
18
|
+
import ChildrenManufOrderListScreen from './ChildrenManufOrderListScreen';
|
|
19
|
+
import ConsumedProductDetailsScreen from './ConsumedProductDetailsScreen';
|
|
20
|
+
import ConsumedProductListScreen from './ConsumedProductListScreen';
|
|
21
|
+
import ConsumedProductSelectProductScreen from './ConsumedProductSelectProductScreen';
|
|
22
|
+
import ConsumedProductSelectTrackingScreen from './ConsumedProductSelectTrackingScreen';
|
|
23
|
+
export default {
|
|
24
|
+
ConsumedProductListScreen: {
|
|
25
|
+
title: 'Manufacturing_ManufacturingOrder',
|
|
26
|
+
component: ConsumedProductListScreen,
|
|
27
|
+
options: {
|
|
28
|
+
shadedHeader: false,
|
|
29
|
+
},
|
|
30
|
+
},
|
|
31
|
+
ConsumedProductDetailsScreen: {
|
|
32
|
+
title: 'Manufacturing_ConsumedProduct',
|
|
33
|
+
component: ConsumedProductDetailsScreen,
|
|
34
|
+
options: {
|
|
35
|
+
shadedHeader: false,
|
|
36
|
+
},
|
|
37
|
+
},
|
|
38
|
+
ConsumedProductSelectProductScreen: {
|
|
39
|
+
title: 'Manufacturing_ConsumedProduct',
|
|
40
|
+
component: ConsumedProductSelectProductScreen,
|
|
41
|
+
options: {
|
|
42
|
+
shadedHeader: false,
|
|
43
|
+
},
|
|
44
|
+
},
|
|
45
|
+
ConsumedProductSelectTrackingScreen: {
|
|
46
|
+
title: 'Manufacturing_ConsumedProduct',
|
|
47
|
+
component: ConsumedProductSelectTrackingScreen,
|
|
48
|
+
options: {
|
|
49
|
+
shadedHeader: false,
|
|
50
|
+
},
|
|
51
|
+
},
|
|
52
|
+
ChildrenManufOrderListScreen: {
|
|
53
|
+
title: 'Manufacturing_ConsumedProduct',
|
|
54
|
+
component: ChildrenManufOrderListScreen,
|
|
55
|
+
options: {
|
|
56
|
+
shadedHeader: false,
|
|
57
|
+
},
|
|
58
|
+
},
|
|
59
|
+
};
|
|
60
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/screens/manufactoringOrder/consumedProduct/index.js"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,4BAA4B,MAAM,gCAAgC,CAAC;AAC1E,OAAO,4BAA4B,MAAM,gCAAgC,CAAC;AAC1E,OAAO,yBAAyB,MAAM,6BAA6B,CAAC;AACpE,OAAO,kCAAkC,MAAM,sCAAsC,CAAC;AACtF,OAAO,mCAAmC,MAAM,uCAAuC,CAAC;AAExF,eAAe;IACb,yBAAyB,EAAE;QACzB,KAAK,EAAE,kCAAkC;QACzC,SAAS,EAAE,yBAAyB;QACpC,OAAO,EAAE;YACP,YAAY,EAAE,KAAK;SACpB;KACF;IACD,4BAA4B,EAAE;QAC5B,KAAK,EAAE,+BAA+B;QACtC,SAAS,EAAE,4BAA4B;QACvC,OAAO,EAAE;YACP,YAAY,EAAE,KAAK;SACpB;KACF;IACD,kCAAkC,EAAE;QAClC,KAAK,EAAE,+BAA+B;QACtC,SAAS,EAAE,kCAAkC;QAC7C,OAAO,EAAE;YACP,YAAY,EAAE,KAAK;SACpB;KACF;IACD,mCAAmC,EAAE;QACnC,KAAK,EAAE,+BAA+B;QACtC,SAAS,EAAE,mCAAmC;QAC9C,OAAO,EAAE;YACP,YAAY,EAAE,KAAK;SACpB;KACF;IACD,4BAA4B,EAAE;QAC5B,KAAK,EAAE,+BAA+B;QACtC,SAAS,EAAE,4BAA4B;QACvC,OAAO,EAAE;YACP,YAAY,EAAE,KAAK;SACpB;KACF;CACF,CAAC"}
|