@axelor/aos-mobile-stock 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 +44 -0
- package/lib/api/customer-delivery-api.d.ts +16 -0
- package/lib/api/customer-delivery-api.js +122 -0
- package/lib/api/customer-delivery-api.js.map +1 -0
- package/lib/api/customer-delivery-line-api.d.ts +9 -0
- package/lib/api/customer-delivery-line-api.js +65 -0
- package/lib/api/customer-delivery-line-api.js.map +1 -0
- package/lib/api/index.d.ts +18 -0
- package/lib/api/index.js +36 -0
- package/lib/api/index.js.map +1 -0
- package/lib/api/internal-move-api.d.ts +20 -0
- package/lib/api/internal-move-api.js +112 -0
- package/lib/api/internal-move-api.js.map +1 -0
- package/lib/api/internal-move-line-api.d.ts +4 -0
- package/lib/api/internal-move-line-api.js +53 -0
- package/lib/api/internal-move-line-api.js.map +1 -0
- package/lib/api/inventory-api.d.ts +18 -0
- package/lib/api/inventory-api.js +121 -0
- package/lib/api/inventory-api.js.map +1 -0
- package/lib/api/inventory-line-api.d.ts +18 -0
- package/lib/api/inventory-line-api.js +76 -0
- package/lib/api/inventory-line-api.js.map +1 -0
- package/lib/api/partner-api.d.ts +8 -0
- package/lib/api/partner-api.js +155 -0
- package/lib/api/partner-api.js.map +1 -0
- package/lib/api/product-api.d.ts +26 -0
- package/lib/api/product-api.js +189 -0
- package/lib/api/product-api.js.map +1 -0
- package/lib/api/stock-correction-api.d.ts +17 -0
- package/lib/api/stock-correction-api.js +73 -0
- package/lib/api/stock-correction-api.js.map +1 -0
- package/lib/api/stock-correction-reason-api.d.ts +1 -0
- package/lib/api/stock-correction-reason-api.js +24 -0
- package/lib/api/stock-correction-reason-api.js.map +1 -0
- package/lib/api/stock-location-api.d.ts +7 -0
- package/lib/api/stock-location-api.js +121 -0
- package/lib/api/stock-location-api.js.map +1 -0
- package/lib/api/stock-location-line-api.d.ts +6 -0
- package/lib/api/stock-location-line-api.js +114 -0
- package/lib/api/stock-location-line-api.js.map +1 -0
- package/lib/api/supplier-arrival-api.d.ts +17 -0
- package/lib/api/supplier-arrival-api.js +121 -0
- package/lib/api/supplier-arrival-api.js.map +1 -0
- package/lib/api/supplier-arrival-line-api.d.ts +10 -0
- package/lib/api/supplier-arrival-line-api.js +67 -0
- package/lib/api/supplier-arrival-line-api.js.map +1 -0
- package/lib/api/supplier-catalog-api.d.ts +4 -0
- package/lib/api/supplier-catalog-api.js +49 -0
- package/lib/api/supplier-catalog-api.js.map +1 -0
- package/lib/api/supplychain-config-api.d.ts +1 -0
- package/lib/api/supplychain-config-api.js +24 -0
- package/lib/api/supplychain-config-api.js.map +1 -0
- package/lib/api/tracking-number-api.d.ts +16 -0
- package/lib/api/tracking-number-api.js +107 -0
- package/lib/api/tracking-number-api.js.map +1 -0
- package/lib/api/unit-api.d.ts +1 -0
- package/lib/api/unit-api.js +22 -0
- package/lib/api/unit-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/CarrierCard/CarrierCard.d.ts +6 -0
- package/lib/components/molecules/CarrierCard/CarrierCard.js +46 -0
- package/lib/components/molecules/CarrierCard/CarrierCard.js.map +1 -0
- package/lib/components/molecules/LocationsMoveCard/LocationsMoveCard.d.ts +14 -0
- package/lib/components/molecules/LocationsMoveCard/LocationsMoveCard.js +82 -0
- package/lib/components/molecules/LocationsMoveCard/LocationsMoveCard.js.map +1 -0
- package/lib/components/molecules/ProductCardDetails/ProductCardDetails.d.ts +7 -0
- package/lib/components/molecules/ProductCardDetails/ProductCardDetails.js +42 -0
- package/lib/components/molecules/ProductCardDetails/ProductCardDetails.js.map +1 -0
- package/lib/components/molecules/StockCorrectionCard/StockCorrectionCard.d.ts +10 -0
- package/lib/components/molecules/StockCorrectionCard/StockCorrectionCard.js +75 -0
- package/lib/components/molecules/StockCorrectionCard/StockCorrectionCard.js.map +1 -0
- package/lib/components/molecules/index.d.ts +4 -0
- package/lib/components/molecules/index.js +22 -0
- package/lib/components/molecules/index.js.map +1 -0
- package/lib/components/organisms/CardStockIndicator/CardStockIndicator.d.ts +6 -0
- package/lib/components/organisms/CardStockIndicator/CardStockIndicator.js +72 -0
- package/lib/components/organisms/CardStockIndicator/CardStockIndicator.js.map +1 -0
- package/lib/components/organisms/CustomerDeliveryCard/CustomerDeliveryCard.d.ts +12 -0
- package/lib/components/organisms/CustomerDeliveryCard/CustomerDeliveryCard.js +94 -0
- package/lib/components/organisms/CustomerDeliveryCard/CustomerDeliveryCard.js.map +1 -0
- package/lib/components/organisms/CustomerDeliveryLineCard/CustomerDeliveryLineCard.d.ts +14 -0
- package/lib/components/organisms/CustomerDeliveryLineCard/CustomerDeliveryLineCard.js +81 -0
- package/lib/components/organisms/CustomerDeliveryLineCard/CustomerDeliveryLineCard.js.map +1 -0
- package/lib/components/organisms/DescriptionCard/DescriptionCard.d.ts +7 -0
- package/lib/components/organisms/DescriptionCard/DescriptionCard.js +42 -0
- package/lib/components/organisms/DescriptionCard/DescriptionCard.js.map +1 -0
- package/lib/components/organisms/InternalMoveCard/InternalMoveCard.d.ts +13 -0
- package/lib/components/organisms/InternalMoveCard/InternalMoveCard.js +94 -0
- package/lib/components/organisms/InternalMoveCard/InternalMoveCard.js.map +1 -0
- package/lib/components/organisms/InternalMoveLineCard/InternalMoveLineCard.d.ts +13 -0
- package/lib/components/organisms/InternalMoveLineCard/InternalMoveLineCard.js +101 -0
- package/lib/components/organisms/InternalMoveLineCard/InternalMoveLineCard.js.map +1 -0
- package/lib/components/organisms/InventoryCard/InventoryCard.d.ts +10 -0
- package/lib/components/organisms/InventoryCard/InventoryCard.js +88 -0
- package/lib/components/organisms/InventoryCard/InventoryCard.js.map +1 -0
- package/lib/components/organisms/InventoryHeader/InventoryHeader.d.ts +8 -0
- package/lib/components/organisms/InventoryHeader/InventoryHeader.js +77 -0
- package/lib/components/organisms/InventoryHeader/InventoryHeader.js.map +1 -0
- package/lib/components/organisms/InventoryLineCard/InventoryLineCard.d.ts +14 -0
- package/lib/components/organisms/InventoryLineCard/InventoryLineCard.js +72 -0
- package/lib/components/organisms/InventoryLineCard/InventoryLineCard.js.map +1 -0
- package/lib/components/organisms/ProductCard/ProductCard.d.ts +10 -0
- package/lib/components/organisms/ProductCard/ProductCard.js +77 -0
- package/lib/components/organisms/ProductCard/ProductCard.js.map +1 -0
- package/lib/components/organisms/ProductCardInfo/ProductCardInfo.d.ts +10 -0
- package/lib/components/organisms/ProductCardInfo/ProductCardInfo.js +74 -0
- package/lib/components/organisms/ProductCardInfo/ProductCardInfo.js.map +1 -0
- package/lib/components/organisms/ProductCharacteristics/ProductCharacteristics.d.ts +13 -0
- package/lib/components/organisms/ProductCharacteristics/ProductCharacteristics.js +79 -0
- package/lib/components/organisms/ProductCharacteristics/ProductCharacteristics.js.map +1 -0
- package/lib/components/organisms/ProductStockLocationCard/ProductStockLocationCard.d.ts +10 -0
- package/lib/components/organisms/ProductStockLocationCard/ProductStockLocationCard.js +89 -0
- package/lib/components/organisms/ProductStockLocationCard/ProductStockLocationCard.js.map +1 -0
- package/lib/components/organisms/ProductVariantCard/ProductVariantCard.d.ts +19 -0
- package/lib/components/organisms/ProductVariantCard/ProductVariantCard.js +128 -0
- package/lib/components/organisms/ProductVariantCard/ProductVariantCard.js.map +1 -0
- package/lib/components/organisms/QuantityCard/QuantityCard.d.ts +12 -0
- package/lib/components/organisms/QuantityCard/QuantityCard.js +98 -0
- package/lib/components/organisms/QuantityCard/QuantityCard.js.map +1 -0
- package/lib/components/organisms/SmallPropertyCard/SmallPropertyCard.d.ts +9 -0
- package/lib/components/organisms/SmallPropertyCard/SmallPropertyCard.js +63 -0
- package/lib/components/organisms/SmallPropertyCard/SmallPropertyCard.js.map +1 -0
- package/lib/components/organisms/StockMoveHeader/StockMoveHeader.d.ts +9 -0
- package/lib/components/organisms/StockMoveHeader/StockMoveHeader.js +71 -0
- package/lib/components/organisms/StockMoveHeader/StockMoveHeader.js.map +1 -0
- package/lib/components/organisms/SupplierArrivalCard/SupplierArrivalCard.d.ts +11 -0
- package/lib/components/organisms/SupplierArrivalCard/SupplierArrivalCard.js +93 -0
- package/lib/components/organisms/SupplierArrivalCard/SupplierArrivalCard.js.map +1 -0
- package/lib/components/organisms/SupplierArrivalLineCard/SupplierArrivalLineCard.d.ts +13 -0
- package/lib/components/organisms/SupplierArrivalLineCard/SupplierArrivalLineCard.js +78 -0
- package/lib/components/organisms/SupplierArrivalLineCard/SupplierArrivalLineCard.js.map +1 -0
- package/lib/components/organisms/index.d.ts +19 -0
- package/lib/components/organisms/index.js +37 -0
- package/lib/components/organisms/index.js.map +1 -0
- package/lib/features/asyncFunctions-index.d.ts +21 -0
- package/lib/features/asyncFunctions-index.js +39 -0
- package/lib/features/asyncFunctions-index.js.map +1 -0
- package/lib/features/customerDeliveryLineSlice.d.ts +27 -0
- package/lib/features/customerDeliveryLineSlice.js +88 -0
- package/lib/features/customerDeliveryLineSlice.js.map +1 -0
- package/lib/features/customerDeliverySlice.d.ts +38 -0
- package/lib/features/customerDeliverySlice.js +102 -0
- package/lib/features/customerDeliverySlice.js.map +1 -0
- package/lib/features/index.d.ts +21 -0
- package/lib/features/index.js +39 -0
- package/lib/features/index.js.map +1 -0
- package/lib/features/internalMoveLineSlice.d.ts +16 -0
- package/lib/features/internalMoveLineSlice.js +71 -0
- package/lib/features/internalMoveLineSlice.js.map +1 -0
- package/lib/features/internalMoveSlice.d.ts +38 -0
- package/lib/features/internalMoveSlice.js +105 -0
- package/lib/features/internalMoveSlice.js.map +1 -0
- package/lib/features/inventoryLineSlice.d.ts +38 -0
- package/lib/features/inventoryLineSlice.js +105 -0
- package/lib/features/inventoryLineSlice.js.map +1 -0
- package/lib/features/inventorySlice.d.ts +47 -0
- package/lib/features/inventorySlice.js +129 -0
- package/lib/features/inventorySlice.js.map +1 -0
- package/lib/features/partnerSlice.d.ts +25 -0
- package/lib/features/partnerSlice.js +65 -0
- package/lib/features/partnerSlice.js.map +1 -0
- package/lib/features/productIndicatorsSlice.d.ts +37 -0
- package/lib/features/productIndicatorsSlice.js +101 -0
- package/lib/features/productIndicatorsSlice.js.map +1 -0
- package/lib/features/productSlice.d.ts +39 -0
- package/lib/features/productSlice.js +105 -0
- package/lib/features/productSlice.js.map +1 -0
- package/lib/features/productVariantSlice.d.ts +27 -0
- package/lib/features/productVariantSlice.js +98 -0
- package/lib/features/productVariantSlice.js.map +1 -0
- package/lib/features/racksListSlice.d.ts +14 -0
- package/lib/features/racksListSlice.js +63 -0
- package/lib/features/racksListSlice.js.map +1 -0
- package/lib/features/stockAppConfigSlice.d.ts +14 -0
- package/lib/features/stockAppConfigSlice.js +49 -0
- package/lib/features/stockAppConfigSlice.js.map +1 -0
- package/lib/features/stockCorrectionReasonSlice.d.ts +14 -0
- package/lib/features/stockCorrectionReasonSlice.js +48 -0
- package/lib/features/stockCorrectionReasonSlice.js.map +1 -0
- package/lib/features/stockCorrectionSlice.d.ts +38 -0
- package/lib/features/stockCorrectionSlice.js +105 -0
- package/lib/features/stockCorrectionSlice.js.map +1 -0
- package/lib/features/stockLocationLineSlice.d.ts +16 -0
- package/lib/features/stockLocationLineSlice.js +71 -0
- package/lib/features/stockLocationLineSlice.js.map +1 -0
- package/lib/features/stockLocationSlice.d.ts +25 -0
- package/lib/features/stockLocationSlice.js +65 -0
- package/lib/features/stockLocationSlice.js.map +1 -0
- package/lib/features/supplierArrivalLineSlice.d.ts +27 -0
- package/lib/features/supplierArrivalLineSlice.js +88 -0
- package/lib/features/supplierArrivalLineSlice.js.map +1 -0
- package/lib/features/supplierArrivalSlice.d.ts +38 -0
- package/lib/features/supplierArrivalSlice.js +105 -0
- package/lib/features/supplierArrivalSlice.js.map +1 -0
- package/lib/features/supplierCatalogSlice.d.ts +14 -0
- package/lib/features/supplierCatalogSlice.js +48 -0
- package/lib/features/supplierCatalogSlice.js.map +1 -0
- package/lib/features/trackingNumberSlice.d.ts +35 -0
- package/lib/features/trackingNumberSlice.js +96 -0
- package/lib/features/trackingNumberSlice.js.map +1 -0
- package/lib/features/unitSlice.d.ts +14 -0
- package/lib/features/unitSlice.js +48 -0
- package/lib/features/unitSlice.js.map +1 -0
- package/lib/i18n/en.json +103 -0
- package/lib/i18n/fr.json +103 -0
- package/lib/index.d.ts +14 -0
- package/lib/index.js +97 -0
- package/lib/index.js.map +1 -0
- package/lib/screens/auth/UserScreen.d.ts +4 -0
- package/lib/screens/auth/UserScreen.js +54 -0
- package/lib/screens/auth/UserScreen.js.map +1 -0
- package/lib/screens/customerDeliveries/CustomerDeliveryDetailScreen.d.ts +5 -0
- package/lib/screens/customerDeliveries/CustomerDeliveryDetailScreen.js +149 -0
- package/lib/screens/customerDeliveries/CustomerDeliveryDetailScreen.js.map +1 -0
- package/lib/screens/customerDeliveries/CustomerDeliveryLineDetailScreen.d.ts +5 -0
- package/lib/screens/customerDeliveries/CustomerDeliveryLineDetailScreen.js +140 -0
- package/lib/screens/customerDeliveries/CustomerDeliveryLineDetailScreen.js.map +1 -0
- package/lib/screens/customerDeliveries/CustomerDeliveryLineListScreen.d.ts +5 -0
- package/lib/screens/customerDeliveries/CustomerDeliveryLineListScreen.js +116 -0
- package/lib/screens/customerDeliveries/CustomerDeliveryLineListScreen.js.map +1 -0
- package/lib/screens/customerDeliveries/CustomerDeliveryListScreen.d.ts +4 -0
- package/lib/screens/customerDeliveries/CustomerDeliveryListScreen.js +130 -0
- package/lib/screens/customerDeliveries/CustomerDeliveryListScreen.js.map +1 -0
- package/lib/screens/customerDeliveries/CustomerDeliverySelectProductScreen.d.ts +5 -0
- package/lib/screens/customerDeliveries/CustomerDeliverySelectProductScreen.js +76 -0
- package/lib/screens/customerDeliveries/CustomerDeliverySelectProductScreen.js.map +1 -0
- package/lib/screens/customerDeliveries/CustomerDeliverySelectTrackingScreen.d.ts +5 -0
- package/lib/screens/customerDeliveries/CustomerDeliverySelectTrackingScreen.js +79 -0
- package/lib/screens/customerDeliveries/CustomerDeliverySelectTrackingScreen.js.map +1 -0
- package/lib/screens/customerDeliveries/index.d.ts +66 -0
- package/lib/screens/customerDeliveries/index.js +68 -0
- package/lib/screens/customerDeliveries/index.js.map +1 -0
- package/lib/screens/internalMoves/InternalMoveDetailsGeneralScreen.d.ts +5 -0
- package/lib/screens/internalMoves/InternalMoveDetailsGeneralScreen.js +102 -0
- package/lib/screens/internalMoves/InternalMoveDetailsGeneralScreen.js.map +1 -0
- package/lib/screens/internalMoves/InternalMoveLineDetailsScreen.d.ts +5 -0
- package/lib/screens/internalMoves/InternalMoveLineDetailsScreen.js +296 -0
- package/lib/screens/internalMoves/InternalMoveLineDetailsScreen.js.map +1 -0
- package/lib/screens/internalMoves/InternalMoveLineListScreen.d.ts +5 -0
- package/lib/screens/internalMoves/InternalMoveLineListScreen.js +107 -0
- package/lib/screens/internalMoves/InternalMoveLineListScreen.js.map +1 -0
- package/lib/screens/internalMoves/InternalMoveListScreen.d.ts +4 -0
- package/lib/screens/internalMoves/InternalMoveListScreen.js +162 -0
- package/lib/screens/internalMoves/InternalMoveListScreen.js.map +1 -0
- package/lib/screens/internalMoves/InternalMoveSelectFromLocationScreen.d.ts +5 -0
- package/lib/screens/internalMoves/InternalMoveSelectFromLocationScreen.js +48 -0
- package/lib/screens/internalMoves/InternalMoveSelectFromLocationScreen.js.map +1 -0
- package/lib/screens/internalMoves/InternalMoveSelectProductScreen.d.ts +5 -0
- package/lib/screens/internalMoves/InternalMoveSelectProductScreen.js +98 -0
- package/lib/screens/internalMoves/InternalMoveSelectProductScreen.js.map +1 -0
- package/lib/screens/internalMoves/InternalMoveSelectToLocationScreen.d.ts +5 -0
- package/lib/screens/internalMoves/InternalMoveSelectToLocationScreen.js +53 -0
- package/lib/screens/internalMoves/InternalMoveSelectToLocationScreen.js.map +1 -0
- package/lib/screens/internalMoves/InternalMoveSelectTrackingScreen.d.ts +5 -0
- package/lib/screens/internalMoves/InternalMoveSelectTrackingScreen.js +101 -0
- package/lib/screens/internalMoves/InternalMoveSelectTrackingScreen.js.map +1 -0
- package/lib/screens/internalMoves/index.d.ts +78 -0
- package/lib/screens/internalMoves/index.js +78 -0
- package/lib/screens/internalMoves/index.js.map +1 -0
- package/lib/screens/inventories/InventoryLineDetailsScreen.d.ts +5 -0
- package/lib/screens/inventories/InventoryLineDetailsScreen.js +98 -0
- package/lib/screens/inventories/InventoryLineDetailsScreen.js.map +1 -0
- package/lib/screens/inventories/InventoryLineListScreen.d.ts +5 -0
- package/lib/screens/inventories/InventoryLineListScreen.js +122 -0
- package/lib/screens/inventories/InventoryLineListScreen.js.map +1 -0
- package/lib/screens/inventories/InventoryListScreen.d.ts +4 -0
- package/lib/screens/inventories/InventoryListScreen.js +148 -0
- package/lib/screens/inventories/InventoryListScreen.js.map +1 -0
- package/lib/screens/inventories/InventoryPlannedDetailsScreen.d.ts +5 -0
- package/lib/screens/inventories/InventoryPlannedDetailsScreen.js +81 -0
- package/lib/screens/inventories/InventoryPlannedDetailsScreen.js.map +1 -0
- package/lib/screens/inventories/InventorySelectProductScreen.d.ts +5 -0
- package/lib/screens/inventories/InventorySelectProductScreen.js +83 -0
- package/lib/screens/inventories/InventorySelectProductScreen.js.map +1 -0
- package/lib/screens/inventories/InventorySelectTrackingScreen.d.ts +5 -0
- package/lib/screens/inventories/InventorySelectTrackingScreen.js +81 -0
- package/lib/screens/inventories/InventorySelectTrackingScreen.js.map +1 -0
- package/lib/screens/inventories/InventoryStartedDetailsScreen.d.ts +5 -0
- package/lib/screens/inventories/InventoryStartedDetailsScreen.js +110 -0
- package/lib/screens/inventories/InventoryStartedDetailsScreen.js.map +1 -0
- package/lib/screens/inventories/index.d.ts +77 -0
- package/lib/screens/inventories/index.js +76 -0
- package/lib/screens/inventories/index.js.map +1 -0
- package/lib/screens/products/ProductDetailsScreen.d.ts +5 -0
- package/lib/screens/products/ProductDetailsScreen.js +135 -0
- package/lib/screens/products/ProductDetailsScreen.js.map +1 -0
- package/lib/screens/products/ProductImageScreen.d.ts +4 -0
- package/lib/screens/products/ProductImageScreen.js +62 -0
- package/lib/screens/products/ProductImageScreen.js.map +1 -0
- package/lib/screens/products/ProductListScreen.d.ts +4 -0
- package/lib/screens/products/ProductListScreen.js +72 -0
- package/lib/screens/products/ProductListScreen.js.map +1 -0
- package/lib/screens/products/ProductListVariantScreen.d.ts +5 -0
- package/lib/screens/products/ProductListVariantScreen.js +66 -0
- package/lib/screens/products/ProductListVariantScreen.js.map +1 -0
- package/lib/screens/products/ProductStockDetailsScreen.d.ts +5 -0
- package/lib/screens/products/ProductStockDetailsScreen.js +201 -0
- package/lib/screens/products/ProductStockDetailsScreen.js.map +1 -0
- package/lib/screens/products/ProductStockLocationDetailsScreen.d.ts +4 -0
- package/lib/screens/products/ProductStockLocationDetailsScreen.js +110 -0
- package/lib/screens/products/ProductStockLocationDetailsScreen.js.map +1 -0
- package/lib/screens/products/index.d.ts +46 -0
- package/lib/screens/products/index.js +56 -0
- package/lib/screens/products/index.js.map +1 -0
- package/lib/screens/stockCorrections/StockCorrectionDetailsScreen.d.ts +5 -0
- package/lib/screens/stockCorrections/StockCorrectionDetailsScreen.js +271 -0
- package/lib/screens/stockCorrections/StockCorrectionDetailsScreen.js.map +1 -0
- package/lib/screens/stockCorrections/StockCorrectionListScreen.d.ts +4 -0
- package/lib/screens/stockCorrections/StockCorrectionListScreen.js +140 -0
- package/lib/screens/stockCorrections/StockCorrectionListScreen.js.map +1 -0
- package/lib/screens/stockCorrections/StockCorrectionNewLocationScreen.d.ts +5 -0
- package/lib/screens/stockCorrections/StockCorrectionNewLocationScreen.js +48 -0
- package/lib/screens/stockCorrections/StockCorrectionNewLocationScreen.js.map +1 -0
- package/lib/screens/stockCorrections/StockCorrectionNewProductScreen.d.ts +5 -0
- package/lib/screens/stockCorrections/StockCorrectionNewProductScreen.js +55 -0
- package/lib/screens/stockCorrections/StockCorrectionNewProductScreen.js.map +1 -0
- package/lib/screens/stockCorrections/StockCorrectionNewTrackingScreen.d.ts +5 -0
- package/lib/screens/stockCorrections/StockCorrectionNewTrackingScreen.js +54 -0
- package/lib/screens/stockCorrections/StockCorrectionNewTrackingScreen.js.map +1 -0
- package/lib/screens/stockCorrections/index.d.ts +40 -0
- package/lib/screens/stockCorrections/index.js +51 -0
- package/lib/screens/stockCorrections/index.js.map +1 -0
- package/lib/screens/supplierArrivals/SupplierArrivalAddTrackingScreen.d.ts +5 -0
- package/lib/screens/supplierArrivals/SupplierArrivalAddTrackingScreen.js +87 -0
- package/lib/screens/supplierArrivals/SupplierArrivalAddTrackingScreen.js.map +1 -0
- package/lib/screens/supplierArrivals/SupplierArrivalDetailsScreen.d.ts +5 -0
- package/lib/screens/supplierArrivals/SupplierArrivalDetailsScreen.js +120 -0
- package/lib/screens/supplierArrivals/SupplierArrivalDetailsScreen.js.map +1 -0
- package/lib/screens/supplierArrivals/SupplierArrivalLineDetailScreen.d.ts +5 -0
- package/lib/screens/supplierArrivals/SupplierArrivalLineDetailScreen.js +167 -0
- package/lib/screens/supplierArrivals/SupplierArrivalLineDetailScreen.js.map +1 -0
- package/lib/screens/supplierArrivals/SupplierArrivalLineListScreen.d.ts +5 -0
- package/lib/screens/supplierArrivals/SupplierArrivalLineListScreen.js +107 -0
- package/lib/screens/supplierArrivals/SupplierArrivalLineListScreen.js.map +1 -0
- package/lib/screens/supplierArrivals/SupplierArrivalListScreen.d.ts +4 -0
- package/lib/screens/supplierArrivals/SupplierArrivalListScreen.js +126 -0
- package/lib/screens/supplierArrivals/SupplierArrivalListScreen.js.map +1 -0
- package/lib/screens/supplierArrivals/SupplierArrivalSelectProductScreen.d.ts +5 -0
- package/lib/screens/supplierArrivals/SupplierArrivalSelectProductScreen.js +79 -0
- package/lib/screens/supplierArrivals/SupplierArrivalSelectProductScreen.js.map +1 -0
- package/lib/screens/supplierArrivals/SupplierArrivalSelectTrackingScreen.d.ts +5 -0
- package/lib/screens/supplierArrivals/SupplierArrivalSelectTrackingScreen.js +106 -0
- package/lib/screens/supplierArrivals/SupplierArrivalSelectTrackingScreen.js.map +1 -0
- package/lib/screens/supplierArrivals/index.d.ts +77 -0
- package/lib/screens/supplierArrivals/index.js +76 -0
- package/lib/screens/supplierArrivals/index.js.map +1 -0
- package/lib/types/index.d.ts +5 -0
- package/lib/types/index.js +23 -0
- package/lib/types/index.js.map +1 -0
- package/lib/types/inventory.d.ts +16 -0
- package/lib/types/inventory.js +88 -0
- package/lib/types/inventory.js.map +1 -0
- package/lib/types/product.d.ts +16 -0
- package/lib/types/product.js +62 -0
- package/lib/types/product.js.map +1 -0
- package/lib/types/stock-corrrection.d.ts +11 -0
- package/lib/types/stock-corrrection.js +47 -0
- package/lib/types/stock-corrrection.js.map +1 -0
- package/lib/types/stock-location.d.ts +8 -0
- package/lib/types/stock-location.js +26 -0
- package/lib/types/stock-location.js.map +1 -0
- package/lib/types/stock-move.d.ts +36 -0
- package/lib/types/stock-move.js +124 -0
- package/lib/types/stock-move.js.map +1 -0
- package/lib/utils/displayers.d.ts +4 -0
- package/lib/utils/displayers.js +22 -0
- package/lib/utils/displayers.js.map +1 -0
- package/lib/utils/filters.d.ts +6 -0
- package/lib/utils/filters.js +77 -0
- package/lib/utils/filters.js.map +1 -0
- package/package.json +48 -0
|
@@ -0,0 +1,122 @@
|
|
|
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, useState, useEffect } from 'react';
|
|
19
|
+
import { StyleSheet, Dimensions } from 'react-native';
|
|
20
|
+
import { Chip, ChipSelect, HeaderContainer, Screen, ScrollList, useThemeColor, } from '@axelor/aos-mobile-ui';
|
|
21
|
+
import { useDispatch, useSelector, useTranslator } from '@axelor/aos-mobile-core';
|
|
22
|
+
import { InventoryHeader, InventoryLineCard } from '../../components';
|
|
23
|
+
import { fetchInventoryLines } from '../../features/inventoryLineSlice';
|
|
24
|
+
import Inventory from '../../types/inventory';
|
|
25
|
+
const InventoryLineListScreen = ({ route, navigation }) => {
|
|
26
|
+
const Colors = useThemeColor();
|
|
27
|
+
const I18n = useTranslator();
|
|
28
|
+
const inventory = route.params.inventory;
|
|
29
|
+
const { loadingInventoryLines, moreLoading, isListEnd, inventoryLineList } = useSelector(state => state.inventoryLine);
|
|
30
|
+
const [filteredList, setFilteredList] = useState(inventoryLineList);
|
|
31
|
+
const [doneStatus, setDoneStatus] = useState(false);
|
|
32
|
+
const [diffStatus, setDiffStatus] = useState(false);
|
|
33
|
+
const [undoneStatus, setUndoneStatus] = useState(false);
|
|
34
|
+
const dispatch = useDispatch();
|
|
35
|
+
const handleShowLine = item => {
|
|
36
|
+
if (inventory.statusSelect === Inventory.status.Validated) {
|
|
37
|
+
navigation.navigate('InventoryLineDetailsScreen', {
|
|
38
|
+
inventoryLine: item,
|
|
39
|
+
inventory: inventory,
|
|
40
|
+
});
|
|
41
|
+
}
|
|
42
|
+
else {
|
|
43
|
+
navigation.navigate('InventorySelectProductScreen', {
|
|
44
|
+
inventoryLine: item,
|
|
45
|
+
inventory: inventory,
|
|
46
|
+
});
|
|
47
|
+
}
|
|
48
|
+
};
|
|
49
|
+
const fetchInventoryLinesAPI = useCallback(page => {
|
|
50
|
+
dispatch(fetchInventoryLines({
|
|
51
|
+
inventoryId: inventory?.id,
|
|
52
|
+
page: page,
|
|
53
|
+
}));
|
|
54
|
+
}, [inventory, dispatch]);
|
|
55
|
+
const handleDoneStatus = () => {
|
|
56
|
+
if (!doneStatus && (undoneStatus || diffStatus)) {
|
|
57
|
+
setUndoneStatus(false);
|
|
58
|
+
setDiffStatus(false);
|
|
59
|
+
}
|
|
60
|
+
setDoneStatus(!doneStatus);
|
|
61
|
+
};
|
|
62
|
+
const handleDiffStatus = () => {
|
|
63
|
+
if (!diffStatus && (undoneStatus || doneStatus)) {
|
|
64
|
+
setUndoneStatus(false);
|
|
65
|
+
setDoneStatus(false);
|
|
66
|
+
}
|
|
67
|
+
setDiffStatus(!diffStatus);
|
|
68
|
+
};
|
|
69
|
+
const handleUndoneStatus = () => {
|
|
70
|
+
if (!undoneStatus && (diffStatus || doneStatus)) {
|
|
71
|
+
setDoneStatus(false);
|
|
72
|
+
setDiffStatus(false);
|
|
73
|
+
}
|
|
74
|
+
setUndoneStatus(!undoneStatus);
|
|
75
|
+
};
|
|
76
|
+
const filterOnStatus = useCallback(list => {
|
|
77
|
+
if (list == null || list === []) {
|
|
78
|
+
return list;
|
|
79
|
+
}
|
|
80
|
+
else {
|
|
81
|
+
if (doneStatus) {
|
|
82
|
+
return list.filter(item => item.realQty === item.currentQty);
|
|
83
|
+
}
|
|
84
|
+
else if (diffStatus) {
|
|
85
|
+
return list.filter(item => item.realQty != null && item.realQty !== item.currentQty);
|
|
86
|
+
}
|
|
87
|
+
else if (undoneStatus) {
|
|
88
|
+
return list.filter(item => item.realQty == null);
|
|
89
|
+
}
|
|
90
|
+
else {
|
|
91
|
+
return list;
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
}, [diffStatus, doneStatus, undoneStatus]);
|
|
95
|
+
useEffect(() => {
|
|
96
|
+
setFilteredList(filterOnStatus(inventoryLineList));
|
|
97
|
+
}, [inventoryLineList, filterOnStatus]);
|
|
98
|
+
return (<Screen removeSpaceOnTop={true}>
|
|
99
|
+
<HeaderContainer expandableFilter={false} fixedItems={<InventoryHeader reference={inventory.inventorySeq} status={inventory.statusSelect} date={inventory.statusSelect === Inventory.status.Planned
|
|
100
|
+
? inventory.plannedStartDateT
|
|
101
|
+
: inventory.plannedEndDateT} stockLocation={inventory.stockLocation?.name}/>} chipComponent={<ChipSelect>
|
|
102
|
+
<Chip selected={doneStatus} title={I18n.t('Stock_Complete')} onPress={handleDoneStatus} selectedColor={Colors.primaryColor} marginHorizontal={3} width={Dimensions.get('window').width * 0.3}/>
|
|
103
|
+
<Chip selected={diffStatus} title={I18n.t('Stock_Difference')} onPress={handleDiffStatus} selectedColor={Colors.cautionColor} marginHorizontal={3} width={Dimensions.get('window').width * 0.3}/>
|
|
104
|
+
<Chip selected={undoneStatus} title={I18n.t('Stock_NotDone')} onPress={handleUndoneStatus} selectedColor={Colors.secondaryColor} marginHorizontal={3} width={Dimensions.get('window').width * 0.3}/>
|
|
105
|
+
</ChipSelect>}/>
|
|
106
|
+
<ScrollList loadingList={loadingInventoryLines} data={filteredList} renderItem={({ item }) => (<InventoryLineCard style={styles.item} productName={item.product?.fullName} currentQty={item.currentQty} realQty={item.realQty} unit={item.unit?.name} locker={item.rack} trackingNumber={item.trackingNumber} onPress={() => handleShowLine(item)}/>)} fetchData={fetchInventoryLinesAPI} moreLoading={moreLoading} isListEnd={isListEnd}/>
|
|
107
|
+
</Screen>);
|
|
108
|
+
};
|
|
109
|
+
const styles = StyleSheet.create({
|
|
110
|
+
item: {
|
|
111
|
+
marginHorizontal: 12,
|
|
112
|
+
},
|
|
113
|
+
moveCard: {
|
|
114
|
+
marginVertical: 10,
|
|
115
|
+
},
|
|
116
|
+
detailsCard: {
|
|
117
|
+
marginHorizontal: 16,
|
|
118
|
+
marginBottom: 5,
|
|
119
|
+
},
|
|
120
|
+
});
|
|
121
|
+
export default InventoryLineListScreen;
|
|
122
|
+
//# sourceMappingURL=InventoryLineListScreen.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"InventoryLineListScreen.js","sourceRoot":"","sources":["../../../src/screens/inventories/InventoryLineListScreen.js"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,148 @@
|
|
|
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 { StyleSheet, Dimensions } from 'react-native';
|
|
20
|
+
import { AutoCompleteSearch, Chip, ChipSelect, HeaderContainer, Screen, ScrollList, useThemeColor, } from '@axelor/aos-mobile-ui';
|
|
21
|
+
import { displayItemName, filterList, ScannerAutocompleteSearch, useDispatch, useSelector, useTranslator, } from '@axelor/aos-mobile-core';
|
|
22
|
+
import { InventoryCard } from '../../components/organisms';
|
|
23
|
+
import { searchStockLocations } from '../../features/stockLocationSlice';
|
|
24
|
+
import { searchInventories } from '../../features/inventorySlice';
|
|
25
|
+
import { displayInventorySeq } from '../../utils/displayers';
|
|
26
|
+
import Inventory from '../../types/inventory';
|
|
27
|
+
const stockLocationScanKey = 'stock-location_inventory-list';
|
|
28
|
+
const InventoryListScreen = ({ navigation }) => {
|
|
29
|
+
const Colors = useThemeColor();
|
|
30
|
+
const I18n = useTranslator();
|
|
31
|
+
const { stockLocationList } = useSelector(state => state.stockLocation);
|
|
32
|
+
const [stockLocation, setStockLocation] = useState(null);
|
|
33
|
+
const { loading, moreLoading, isListEnd, inventoryList } = useSelector(state => state.inventory);
|
|
34
|
+
const { user } = useSelector(state => state.user);
|
|
35
|
+
const [filteredList, setFilteredList] = useState(inventoryList);
|
|
36
|
+
const [plannedStatus, setPlannedStatus] = useState(false);
|
|
37
|
+
const [inProgressStatus, setInProgressStatus] = useState(false);
|
|
38
|
+
const [completedStatus, setCompletedStatus] = useState(false);
|
|
39
|
+
const [validatedStatus, setValidatedStatus] = useState(false);
|
|
40
|
+
const [filter, setFilter] = useState(null);
|
|
41
|
+
const [navigate, setNavigate] = useState(false);
|
|
42
|
+
const dispatch = useDispatch();
|
|
43
|
+
const handlePlanifiedFilter = () => {
|
|
44
|
+
if (!plannedStatus &&
|
|
45
|
+
(completedStatus || inProgressStatus || validatedStatus)) {
|
|
46
|
+
setInProgressStatus(false);
|
|
47
|
+
setCompletedStatus(false);
|
|
48
|
+
setValidatedStatus(false);
|
|
49
|
+
}
|
|
50
|
+
setPlannedStatus(!plannedStatus);
|
|
51
|
+
};
|
|
52
|
+
const handleInProgressFilter = () => {
|
|
53
|
+
if (!inProgressStatus &&
|
|
54
|
+
(completedStatus || plannedStatus || validatedStatus)) {
|
|
55
|
+
setPlannedStatus(false);
|
|
56
|
+
setCompletedStatus(false);
|
|
57
|
+
setValidatedStatus(false);
|
|
58
|
+
}
|
|
59
|
+
setInProgressStatus(!inProgressStatus);
|
|
60
|
+
};
|
|
61
|
+
const handleCompletedFilter = () => {
|
|
62
|
+
if (!completedStatus &&
|
|
63
|
+
(inProgressStatus || plannedStatus || validatedStatus)) {
|
|
64
|
+
setPlannedStatus(false);
|
|
65
|
+
setInProgressStatus(false);
|
|
66
|
+
setValidatedStatus(false);
|
|
67
|
+
}
|
|
68
|
+
setCompletedStatus(!completedStatus);
|
|
69
|
+
};
|
|
70
|
+
const handleValidatedFilter = () => {
|
|
71
|
+
if (!validatedStatus &&
|
|
72
|
+
(inProgressStatus || plannedStatus || completedStatus)) {
|
|
73
|
+
setPlannedStatus(false);
|
|
74
|
+
setInProgressStatus(false);
|
|
75
|
+
setCompletedStatus(false);
|
|
76
|
+
}
|
|
77
|
+
setValidatedStatus(!validatedStatus);
|
|
78
|
+
};
|
|
79
|
+
const filterOnStatus = useCallback(list => {
|
|
80
|
+
if (list == null || list === []) {
|
|
81
|
+
return list;
|
|
82
|
+
}
|
|
83
|
+
else {
|
|
84
|
+
if (plannedStatus) {
|
|
85
|
+
return list.filter(item => item.statusSelect === Inventory.status.Planned);
|
|
86
|
+
}
|
|
87
|
+
else if (inProgressStatus) {
|
|
88
|
+
return list.filter(item => item.statusSelect === Inventory.status.InProgress);
|
|
89
|
+
}
|
|
90
|
+
else if (completedStatus) {
|
|
91
|
+
return list.filter(item => item.statusSelect === Inventory.status.Completed);
|
|
92
|
+
}
|
|
93
|
+
else if (validatedStatus) {
|
|
94
|
+
return list.filter(item => item.statusSelect === Inventory.status.Validated);
|
|
95
|
+
}
|
|
96
|
+
else {
|
|
97
|
+
return list;
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
}, [plannedStatus, inProgressStatus, completedStatus, validatedStatus]);
|
|
101
|
+
useEffect(() => {
|
|
102
|
+
setFilteredList(filterOnStatus(filterList(inventoryList, 'stockLocation', 'id', stockLocation?.id ?? '')));
|
|
103
|
+
}, [filterOnStatus, stockLocation, stockLocationList, inventoryList]);
|
|
104
|
+
const navigateToInventoryDetail = item => {
|
|
105
|
+
if (item != null) {
|
|
106
|
+
setNavigate(true);
|
|
107
|
+
navigation.navigate(item.statusSelect === Inventory.status.Planned
|
|
108
|
+
? 'InventoryPlannedDetailsScreen'
|
|
109
|
+
: 'InventoryStartedDetailsScreen', { inventoryId: item.id });
|
|
110
|
+
}
|
|
111
|
+
};
|
|
112
|
+
const fetchStockLocationsAPI = useCallback(filterValue => {
|
|
113
|
+
dispatch(searchStockLocations({
|
|
114
|
+
searchValue: filterValue,
|
|
115
|
+
companyId: user.activeCompany?.id,
|
|
116
|
+
defaultStockLocation: user.workshopStockLocation,
|
|
117
|
+
}));
|
|
118
|
+
}, [dispatch, user]);
|
|
119
|
+
const fetchInventoriesAPI = useCallback(page => {
|
|
120
|
+
dispatch(searchInventories({ searchValue: filter, page: page }));
|
|
121
|
+
}, [dispatch, filter]);
|
|
122
|
+
const handleRefChange = useCallback(searchValue => {
|
|
123
|
+
setFilter(searchValue);
|
|
124
|
+
dispatch(searchInventories({
|
|
125
|
+
searchValue: searchValue,
|
|
126
|
+
page: 0,
|
|
127
|
+
}));
|
|
128
|
+
}, [dispatch]);
|
|
129
|
+
return (<Screen removeSpaceOnTop={true}>
|
|
130
|
+
<HeaderContainer fixedItems={<AutoCompleteSearch objectList={inventoryList} onChangeValue={item => navigateToInventoryDetail(item)} fetchData={handleRefChange} displayValue={displayInventorySeq} placeholder={I18n.t('Stock_Ref')} oneFilter={true} navigate={navigate}/>} chipComponent={<ChipSelect scrollable={true}>
|
|
131
|
+
<Chip selected={plannedStatus} title={I18n.t('Stock_Status_Planned')} onPress={handlePlanifiedFilter} selectedColor={Inventory.getStatusColor(Inventory.status.Planned, Colors)} width={Dimensions.get('window').width * 0.35} marginHorizontal={3}/>
|
|
132
|
+
<Chip selected={inProgressStatus} title={I18n.t('Stock_Status_InProgress')} onPress={handleInProgressFilter} selectedColor={Inventory.getStatusColor(Inventory.status.InProgress, Colors)} width={Dimensions.get('window').width * 0.35} marginHorizontal={3}/>
|
|
133
|
+
<Chip selected={completedStatus} title={I18n.t('Stock_Status_Completed')} onPress={handleCompletedFilter} selectedColor={Inventory.getStatusColor(Inventory.status.Completed, Colors)} width={Dimensions.get('window').width * 0.35} marginHorizontal={3}/>
|
|
134
|
+
<Chip selected={validatedStatus} title={I18n.t('Stock_Status_Validated')} onPress={handleValidatedFilter} selectedColor={Inventory.getStatusColor(Inventory.status.Validated, Colors)} width={Dimensions.get('window').width * 0.35} marginHorizontal={3}/>
|
|
135
|
+
</ChipSelect>}>
|
|
136
|
+
<ScannerAutocompleteSearch objectList={stockLocationList} value={stockLocation} onChangeValue={item => setStockLocation(item)} fetchData={fetchStockLocationsAPI} displayValue={displayItemName} scanKeySearch={stockLocationScanKey} placeholder={I18n.t('Stock_StockLocation')}/>
|
|
137
|
+
</HeaderContainer>
|
|
138
|
+
<ScrollList loadingList={loading} data={filteredList} renderItem={({ item }) => (<InventoryCard reference={item.inventorySeq} status={item.statusSelect} date={Inventory.getDate(item)} stockLocation={item.stockLocation?.name} origin={item.origin} style={styles.cardInventory} onPress={() => navigateToInventoryDetail(item)}/>)} fetchData={fetchInventoriesAPI} moreLoading={moreLoading} isListEnd={isListEnd}/>
|
|
139
|
+
</Screen>);
|
|
140
|
+
};
|
|
141
|
+
const styles = StyleSheet.create({
|
|
142
|
+
cardInventory: {
|
|
143
|
+
marginHorizontal: 12,
|
|
144
|
+
marginVertical: 4,
|
|
145
|
+
},
|
|
146
|
+
});
|
|
147
|
+
export default InventoryListScreen;
|
|
148
|
+
//# sourceMappingURL=InventoryListScreen.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"InventoryListScreen.js","sourceRoot":"","sources":["../../../src/screens/inventories/InventoryListScreen.js"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,81 @@
|
|
|
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 } from 'react';
|
|
19
|
+
import { StyleSheet, View } from 'react-native';
|
|
20
|
+
import { Button, EditableInput, HeaderContainer, Screen, ScrollView, Text, } from '@axelor/aos-mobile-ui';
|
|
21
|
+
import { useDispatch, useSelector, useTranslator, HeaderOptionsMenu, } from '@axelor/aos-mobile-core';
|
|
22
|
+
import { InventoryHeader, LocationsMoveCard } from '../../components';
|
|
23
|
+
import { fetchInventoryById, modifyDescription, updateInventory, } from '../../features/inventorySlice';
|
|
24
|
+
import Inventory from '../../types/inventory';
|
|
25
|
+
const InventoryPlannedDetailsScreen = ({ route, navigation }) => {
|
|
26
|
+
const { loading, inventory } = useSelector(state => state.inventory);
|
|
27
|
+
const { mobileSettings } = useSelector(state => state.config);
|
|
28
|
+
const I18n = useTranslator();
|
|
29
|
+
const dispatch = useDispatch();
|
|
30
|
+
useEffect(() => {
|
|
31
|
+
dispatch(fetchInventoryById({ inventoryId: route.params.inventoryId }));
|
|
32
|
+
}, [dispatch, route.params.inventoryId]);
|
|
33
|
+
const handleDescriptionChange = input => {
|
|
34
|
+
dispatch(modifyDescription({
|
|
35
|
+
inventoryId: inventory?.id,
|
|
36
|
+
description: input.toString(),
|
|
37
|
+
version: inventory?.version,
|
|
38
|
+
}));
|
|
39
|
+
};
|
|
40
|
+
const handleStartInventory = useCallback(() => {
|
|
41
|
+
dispatch(updateInventory({
|
|
42
|
+
inventoryId: inventory?.id,
|
|
43
|
+
version: inventory?.version,
|
|
44
|
+
status: Inventory.status.InProgress,
|
|
45
|
+
userId: null,
|
|
46
|
+
}));
|
|
47
|
+
navigation.navigate('InventoryStartedDetailsScreen', {
|
|
48
|
+
inventoryId: inventory?.id,
|
|
49
|
+
});
|
|
50
|
+
}, [dispatch, inventory, navigation]);
|
|
51
|
+
React.useLayoutEffect(() => {
|
|
52
|
+
navigation.setOptions({
|
|
53
|
+
headerRight: () => (<HeaderOptionsMenu model="com.axelor.apps.stock.db.Inventory" modelId={inventory?.id} navigation={navigation} disableMailMessages={!mobileSettings?.isTrackerMessageOnStockApp}/>),
|
|
54
|
+
});
|
|
55
|
+
}, [I18n, mobileSettings, navigation, inventory]);
|
|
56
|
+
return (<Screen removeSpaceOnTop={true} fixedItems={<Button title={I18n.t('Base_Start')} onPress={handleStartInventory}/>} loading={loading || inventory == null}>
|
|
57
|
+
<HeaderContainer expandableFilter={false} fixedItems={<View>
|
|
58
|
+
<InventoryHeader reference={inventory?.inventorySeq} status={inventory?.statusSelect} date={inventory?.plannedStartDateT} stockLocation={inventory?.stockLocation?.name}/>
|
|
59
|
+
<View style={styles.marginHorizontal}>
|
|
60
|
+
{inventory?.productFamily != null && (<Text>{`${I18n.t('Stock_ProductFamily')} : ${inventory?.productFamily?.name}`}</Text>)}
|
|
61
|
+
{inventory?.productCategory != null && (<Text>{`${I18n.t('Stock_ProductCategory')} : ${inventory?.productCategory?.name}`}</Text>)}
|
|
62
|
+
</View>
|
|
63
|
+
</View>}/>
|
|
64
|
+
<ScrollView>
|
|
65
|
+
{inventory?.fromRack && (<LocationsMoveCard fromStockLocation={inventory?.fromRack} toStockLocation={inventory?.toRack} isLockerCard={true}/>)}
|
|
66
|
+
<Text style={styles.title}>{I18n.t('Base_Description')}</Text>
|
|
67
|
+
<EditableInput defaultValue={inventory?.description} placeholder={I18n.t('Base_Description')} onValidate={input => handleDescriptionChange(input)} multiline={true} numberOfLines={5}/>
|
|
68
|
+
</ScrollView>
|
|
69
|
+
</Screen>);
|
|
70
|
+
};
|
|
71
|
+
const styles = StyleSheet.create({
|
|
72
|
+
marginHorizontal: {
|
|
73
|
+
marginHorizontal: 24,
|
|
74
|
+
},
|
|
75
|
+
title: {
|
|
76
|
+
marginHorizontal: 16,
|
|
77
|
+
marginTop: 10,
|
|
78
|
+
},
|
|
79
|
+
});
|
|
80
|
+
export default InventoryPlannedDetailsScreen;
|
|
81
|
+
//# sourceMappingURL=InventoryPlannedDetailsScreen.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"InventoryPlannedDetailsScreen.js","sourceRoot":"","sources":["../../../src/screens/inventories/InventoryPlannedDetailsScreen.js"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,83 @@
|
|
|
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, useState } from 'react';
|
|
19
|
+
import { HeaderContainer, PopUpOneButton, Screen } from '@axelor/aos-mobile-ui';
|
|
20
|
+
import { displayItemName, ScannerAutocompleteSearch, useDispatch, useSelector, useTranslator, } from '@axelor/aos-mobile-core';
|
|
21
|
+
import { InventoryHeader } from '../../components';
|
|
22
|
+
import { searchProducts } from '../../features/productSlice';
|
|
23
|
+
import Inventory from '../../types/inventory';
|
|
24
|
+
const productScanKey = 'product_inventory-select';
|
|
25
|
+
const InventorySelectProductScreen = ({ route, navigation }) => {
|
|
26
|
+
const inventory = route.params.inventory;
|
|
27
|
+
const inventoryLine = route.params.inventoryLine;
|
|
28
|
+
const { productList } = useSelector(state => state.product);
|
|
29
|
+
const [isVisible, setVisible] = useState(false);
|
|
30
|
+
const I18n = useTranslator();
|
|
31
|
+
const dispatch = useDispatch();
|
|
32
|
+
const fetchProductsAPI = useCallback(filter => {
|
|
33
|
+
dispatch(searchProducts({ searchValue: filter }));
|
|
34
|
+
}, [dispatch]);
|
|
35
|
+
const handleProductSelection = item => {
|
|
36
|
+
if (item !== null) {
|
|
37
|
+
if (inventoryLine != null) {
|
|
38
|
+
if (item.id !== inventoryLine?.product.id) {
|
|
39
|
+
setVisible(true);
|
|
40
|
+
}
|
|
41
|
+
else if (item.trackingNumberConfiguration != null) {
|
|
42
|
+
navigation.navigate('InventorySelectTrackingScreen', {
|
|
43
|
+
inventoryLine: inventoryLine,
|
|
44
|
+
inventory: inventory,
|
|
45
|
+
product: item,
|
|
46
|
+
});
|
|
47
|
+
}
|
|
48
|
+
else {
|
|
49
|
+
navigation.navigate('InventoryLineDetailsScreen', {
|
|
50
|
+
inventoryLine: inventoryLine,
|
|
51
|
+
inventory: inventory,
|
|
52
|
+
product: item,
|
|
53
|
+
});
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
else {
|
|
57
|
+
if (item.trackingNumberConfiguration != null) {
|
|
58
|
+
navigation.navigate('InventorySelectTrackingScreen', {
|
|
59
|
+
inventoryLine: null,
|
|
60
|
+
inventory: inventory,
|
|
61
|
+
product: item,
|
|
62
|
+
});
|
|
63
|
+
}
|
|
64
|
+
else {
|
|
65
|
+
navigation.navigate('InventoryLineDetailsScreen', {
|
|
66
|
+
inventoryLine: null,
|
|
67
|
+
inventory: inventory,
|
|
68
|
+
product: item,
|
|
69
|
+
});
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
};
|
|
74
|
+
return (<Screen removeSpaceOnTop={true}>
|
|
75
|
+
<HeaderContainer expandableFilter={false} fixedItems={<InventoryHeader reference={inventory.inventorySeq} status={inventory.statusSelect} date={inventory.statusSelect === Inventory.status.Planned
|
|
76
|
+
? inventory.plannedStartDateT
|
|
77
|
+
: inventory.plannedEndDateT} stockLocation={inventory.stockLocation?.name}/>}/>
|
|
78
|
+
<ScannerAutocompleteSearch objectList={productList} onChangeValue={item => handleProductSelection(item)} fetchData={fetchProductsAPI} displayValue={displayItemName} scanKeySearch={productScanKey} placeholder={I18n.t('Stock_Product')} isFocus={true} changeScreenAfter={true}/>
|
|
79
|
+
<PopUpOneButton visible={isVisible} title={I18n.t('Auth_Warning')} data={I18n.t('Stock_ErrorProduct')} btnTitle={I18n.t('Auth_Close')} onPress={() => setVisible(false)}/>
|
|
80
|
+
</Screen>);
|
|
81
|
+
};
|
|
82
|
+
export default InventorySelectProductScreen;
|
|
83
|
+
//# sourceMappingURL=InventorySelectProductScreen.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"InventorySelectProductScreen.js","sourceRoot":"","sources":["../../../src/screens/inventories/InventorySelectProductScreen.js"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,81 @@
|
|
|
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, useState } from 'react';
|
|
19
|
+
import { StyleSheet } from 'react-native';
|
|
20
|
+
import { Card, HeaderContainer, PopUpOneButton, Screen, Text, } from '@axelor/aos-mobile-ui';
|
|
21
|
+
import { ScannerAutocompleteSearch, useDispatch, useSelector, useTranslator, } from '@axelor/aos-mobile-core';
|
|
22
|
+
import { InventoryHeader } from '../../components/organisms';
|
|
23
|
+
import { filterTrackingNumber } from '../../features/trackingNumberSlice';
|
|
24
|
+
import { displayItemTrackingNumber } from '../../utils/displayers';
|
|
25
|
+
import Inventory from '../../types/inventory';
|
|
26
|
+
const trackingScanKey = 'tracking_inventory-select';
|
|
27
|
+
const InventorySelectTrackingScreen = ({ route, navigation }) => {
|
|
28
|
+
const inventory = route.params.inventory;
|
|
29
|
+
const inventoryLine = route.params.inventoryLine;
|
|
30
|
+
const product = route.params.product;
|
|
31
|
+
const { trackingNumberList } = useSelector(state => state.trackingNumber);
|
|
32
|
+
const [isVisible, setVisible] = useState(false);
|
|
33
|
+
const I18n = useTranslator();
|
|
34
|
+
const dispatch = useDispatch();
|
|
35
|
+
const fetchTrackingAPI = useCallback(filter => {
|
|
36
|
+
dispatch(filterTrackingNumber({ productId: product.id, searchValue: filter }));
|
|
37
|
+
}, [dispatch, product.id]);
|
|
38
|
+
const handleTrackingNumberSelection = useCallback(item => {
|
|
39
|
+
if (item !== null) {
|
|
40
|
+
if (inventoryLine != null) {
|
|
41
|
+
if (item.id !== inventoryLine.trackingNumber?.id) {
|
|
42
|
+
setVisible(true);
|
|
43
|
+
}
|
|
44
|
+
else {
|
|
45
|
+
navigation.navigate('InventoryLineDetailsScreen', {
|
|
46
|
+
inventoryLine: inventoryLine,
|
|
47
|
+
inventory: inventory,
|
|
48
|
+
product: product,
|
|
49
|
+
trackingNumber: item,
|
|
50
|
+
});
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
else {
|
|
54
|
+
navigation.navigate('InventoryLineDetailsScreen', {
|
|
55
|
+
inventoryLine: inventoryLine,
|
|
56
|
+
inventory: inventory,
|
|
57
|
+
product: product,
|
|
58
|
+
trackingNumber: item,
|
|
59
|
+
});
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
}, [inventory, inventoryLine, navigation, product]);
|
|
63
|
+
return (<Screen removeSpaceOnTop={true}>
|
|
64
|
+
<HeaderContainer expandableFilter={false} fixedItems={<InventoryHeader reference={inventory.inventorySeq} status={inventory.statusSelect} date={inventory.statusSelect === Inventory.status.Planned
|
|
65
|
+
? inventory.plannedStartDateT
|
|
66
|
+
: inventory.plannedEndDateT} stockLocation={inventory.stockLocation?.name}/>}/>
|
|
67
|
+
<Card style={styles.cardProductInfo}>
|
|
68
|
+
<Text>{inventoryLine.product?.fullName}</Text>
|
|
69
|
+
</Card>
|
|
70
|
+
<ScannerAutocompleteSearch objectList={trackingNumberList} onChangeValue={item => handleTrackingNumberSelection(item)} fetchData={fetchTrackingAPI} displayValue={displayItemTrackingNumber} scanKeySearch={trackingScanKey} placeholder={I18n.t('Stock_TrackingNumber')} isFocus={true} changeScreenAfter={true}/>
|
|
71
|
+
<PopUpOneButton visible={isVisible} title={I18n.t('Auth_Warning')} data={I18n.t('Stock_ErrorTrackingNumber')} btnTitle={I18n.t('Auth_Close')} onPress={() => setVisible(false)}/>
|
|
72
|
+
</Screen>);
|
|
73
|
+
};
|
|
74
|
+
const styles = StyleSheet.create({
|
|
75
|
+
cardProductInfo: {
|
|
76
|
+
marginVertical: '2%',
|
|
77
|
+
marginHorizontal: 16,
|
|
78
|
+
},
|
|
79
|
+
});
|
|
80
|
+
export default InventorySelectTrackingScreen;
|
|
81
|
+
//# sourceMappingURL=InventorySelectTrackingScreen.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"InventorySelectTrackingScreen.js","sourceRoot":"","sources":["../../../src/screens/inventories/InventorySelectTrackingScreen.js"],"names":[],"mappings":"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"}
|