From fc06a86059d8a9dcd6e40a7c71f81abbe9b434a8 Mon Sep 17 00:00:00 2001 From: fakz9 Date: Thu, 9 Nov 2023 05:50:30 +0300 Subject: [PATCH] other means --- app.json | 14 ++++- package.json | 3 +- src/api/apiClient.ts | 5 +- src/api/assemblyApi.ts | 4 ++ src/api/barcodeApi.ts | 4 +- src/api/generalApi.ts | 12 ++++ src/api/ordersApi.ts | 10 ++-- src/api/userApi.ts | 3 - src/assets/adaptive-icon.png | Bin 17547 -> 45183 bytes src/assets/icon.png | Bin 22380 -> 36117 bytes src/assets/icons/settings/close.png | Bin 0 -> 2683 bytes .../Modals/LoadingModal/LoadingModal.tsx | 16 +---- .../SelectProductElement.tsx | 18 ++---- .../SelectProductModal/SelectProductModal.tsx | 7 ++- .../Modals/SortingModal/SortingModal.tsx | 54 ++++++++++------- src/components/SearchBar/ScanModal.tsx | 6 +- src/components/SearchBar/SearchBar.tsx | 27 ++++++--- .../ShippingWarehouseSelect.tsx | 44 ++++++++++++++ src/features/assembly/assemblySlice.ts | 16 ++++- .../ordersFilter/ordersFilterSlice.ts | 21 +++++-- .../shippingWarehouseSelectSlice.ts | 38 ++++++++++++ src/redux/store.ts | 4 +- src/screens/BarcodeScreen/BarcodeScreen.tsx | 42 +++++++------ src/screens/CommonPage/CommonPage.tsx | 6 +- src/screens/LoginScreen/LoginScreen.tsx | 4 +- src/screens/OrderScreen/OrderScreen.tsx | 11 ++-- src/screens/OrderScreen/useOrders.tsx | 56 +++++++++++++----- src/screens/OrdersScreen/OrdersScreen.tsx | 5 ++ src/screens/ProfileScreen/ProfileScreen.tsx | 31 ++++++---- src/types/product.ts | 6 ++ src/types/shippingWarehouse.ts | 4 ++ src/utils/PrintingService.ts | 25 +++++++- 32 files changed, 353 insertions(+), 143 deletions(-) create mode 100644 src/api/generalApi.ts create mode 100644 src/assets/icons/settings/close.png create mode 100644 src/components/ShippingWarehouseSelect/ShippingWarehouseSelect.tsx create mode 100644 src/features/shippingWarehouseSelect/shippingWarehouseSelectSlice.ts create mode 100644 src/types/product.ts create mode 100644 src/types/shippingWarehouse.ts diff --git a/app.json b/app.json index bb52bf5..fa64b4a 100644 --- a/app.json +++ b/app.json @@ -1,7 +1,14 @@ { "expo": { "plugins": [ - "react-native-keyevent-expo-config-plugin" + [ + "expo-build-properties", + { + "android": { + "usesCleartextTraffic": true + } + } + ] ], "name": "Assemblr", "slug": "Assemblr", @@ -25,7 +32,10 @@ "foregroundImage": "./src/assets/adaptive-icon.png", "backgroundColor": "#ffffff" }, - "package": "com.anonymous.Assemblr" + "package": "com.anonymous.Assemblr", + "permissions": [ + "INTERNET" + ] }, "web": { "favicon": "./src/assets/favicon.png" diff --git a/package.json b/package.json index 9b9ffb8..881f48c 100644 --- a/package.json +++ b/package.json @@ -25,6 +25,7 @@ "axios": "^1.5.0", "babel-plugin-module-resolver": "^5.0.0", "expo": "~49.0.8", + "expo-build-properties": "~0.8.3", "expo-secure-store": "~12.3.1", "expo-splash-screen": "~0.20.5", "expo-status-bar": "~1.6.0", @@ -37,13 +38,13 @@ "react-native-keyevent-expo-config-plugin": "^1.0.49", "react-native-modal": "^13.0.1", "react-native-paper": "^5.10.6", - "react-native-progress": "^5.0.1", "react-native-radio-buttons-group": "^3.0.5", "react-native-reanimated": "3.3.0", "react-native-responsive-dimensions": "^3.1.1", "react-native-responsive-fontsize": "^0.5.1", "react-native-safe-area-context": "4.6.3", "react-native-screens": "~3.22.0", + "react-native-svg": "13.9.0", "react-native-toast-message": "^2.1.7", "react-native-vector-icons": "^10.0.0", "react-native-web": "~0.19.6", diff --git a/src/api/apiClient.ts b/src/api/apiClient.ts index f3508cd..e72b58b 100644 --- a/src/api/apiClient.ts +++ b/src/api/apiClient.ts @@ -5,6 +5,7 @@ import {logout} from "../features/auth/authSlice"; import {store} from "../redux/store"; const apiClient = axios.create({ + // baseURL: 'https://assemblr.denco.store', baseURL: 'http://192.168.1.101:5000', }); @@ -26,12 +27,12 @@ apiClient.interceptors.request.use(async (config) => { return config; }, function (error) { + console.log("очко") + if (error.response && error.response.status === 401) { console.log("очко") - } - // return Promise.reject(error); }); diff --git a/src/api/assemblyApi.ts b/src/api/assemblyApi.ts index 1f6c28a..da1eae4 100644 --- a/src/api/assemblyApi.ts +++ b/src/api/assemblyApi.ts @@ -17,6 +17,10 @@ const assemblyApi = { let response = await apiClient.post(`${router}/close`, {assemblyId}); return response.data; }, + cancel: async (): Promise<{ ok: boolean, message: string }> => { + let response = await apiClient.post(`${router}/cancel`); + return response.data; + }, getActive: async (): Promise => { let response = await apiClient.get(`${router}/getActive`); return response.data; diff --git a/src/api/barcodeApi.ts b/src/api/barcodeApi.ts index ad50563..5f0af9f 100644 --- a/src/api/barcodeApi.ts +++ b/src/api/barcodeApi.ts @@ -1,10 +1,10 @@ -import {SupplierProduct} from "../types/supplierProduct"; import apiClient from "./apiClient"; +import {Product} from "../types/product"; const router = '/barcode'; const barcodeApi = { - searchProducts: async (barcode: string): Promise => { + searchProducts: async (barcode: string): Promise => { let response = await apiClient.get(`${router}/searchProducts?barcode=${barcode}`); return response.data; } diff --git a/src/api/generalApi.ts b/src/api/generalApi.ts new file mode 100644 index 0000000..9cabadb --- /dev/null +++ b/src/api/generalApi.ts @@ -0,0 +1,12 @@ +import apiClient from "./apiClient"; +import {ShippingWarehouse} from "../types/shippingWarehouse"; + +const router = '/general'; + +const generalApi = { + getShippingWarehouses: async (): Promise => { + let response = await apiClient.get(`${router}/getShippingWarehouses`); + return response.data; + }, +} +export default generalApi; \ No newline at end of file diff --git a/src/api/ordersApi.ts b/src/api/ordersApi.ts index 12e47c9..e68df74 100644 --- a/src/api/ordersApi.ts +++ b/src/api/ordersApi.ts @@ -1,22 +1,24 @@ import apiClient from "./apiClient"; import {Order} from "../types/order"; +import * as inspector from "inspector"; const router = '/orders'; const ordersApi = { - getOrders: async (page: number, orderBy: string, desc: boolean, shipmentDate: string, status: number): Promise => { + getOrders: async (page: number, orderBy: string, desc: boolean, shipmentDate: string, status: number, shipmentWarehouseId: number): Promise => { const params = { page: page, orderBy: orderBy, desc: Number(desc), // Преобразование boolean в Number (0 или 1) status: status, - shipmentDate: shipmentDate + shipmentDate: shipmentDate, + shipmentWarehouseId: shipmentWarehouseId }; let response = await apiClient.get(`${router}/getOrders`, {params}) return response.data; }, - getOrdersBySupplierProduct: async (supplierProductId: number): Promise => { - let response = await apiClient.get(`${router}/getBySupplierProductId?supplierProductId=${supplierProductId}`); + getOrdersByProduct: async (productId: number): Promise => { + let response = await apiClient.get(`${router}/getByProductId?productId=${productId}`); return response.data; }, getOrderById: async (orderId: number): Promise => { diff --git a/src/api/userApi.ts b/src/api/userApi.ts index ec0fd19..80b55fa 100644 --- a/src/api/userApi.ts +++ b/src/api/userApi.ts @@ -5,8 +5,5 @@ const userApi = { let response = await apiClient.post('/auth/login', {login, password}); return response.data; }, - test: async () => { - await apiClient.post('/auth/protected'); - } } export default userApi; \ No newline at end of file diff --git a/src/assets/adaptive-icon.png b/src/assets/adaptive-icon.png index 03d6f6b6c6727954aec1d8206222769afd178d8d..a6967d5b0796dfe425e874300322707d470c60c1 100644 GIT binary patch literal 45183 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 z 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 diff --git a/src/assets/icons/settings/close.png b/src/assets/icons/settings/close.png new file mode 100644 index 0000000000000000000000000000000000000000..71098f73ab369df14d06abd80c95e040978d8a4b GIT binary patch literal 2683 zcmZ`*eLPfo7oWK<2EFVQ%h<`-9oCf1Oi`JXk!ZYZk!T_sL{gs^#--m50=X1a3o^!tE+;e}QbAI=i<-3o& z($L(HKp?F2^lA;>5~}} zwJt+rbD)Ef?ZAkcqV0FfaXoHqzUykOC0RFd7;!%=_|`7rN&raS@X{c)F`@3Z;hqUg zk6&}M1FqM)`L(2H2GpP0exS22{6bvZ*u~P)r14k6Y4-S+`6TCAJHzVvu5;r_%8sk{ zt#8Im6n{w)iLt~Z`hzR(6M{i4hyjlJQ>U?5@1SXL)+t%M)j3^05~qwt zsd3x-65f2%%Me`)Am&|?B(LYX=a5lH`4aF+=Wq&>u6s*2S#quT+vhKIoS%PKQ?c$% zuCihVV9uPStj|;{?wZv+(C>fHqC*d<-07q^U6hw?tk}Buo1=F=DeAokx6SENi4%Jc zv<#Ie6@?6+QfS?Z1mIPqKtm%GK~7(XjNCF{_LS3x`$6OWIMw2hLoeB?|4z9(7pT@a z8!&#W<1dUWiwB-yR+x(bv-o4d^ z_{_4Er~MfG%WG|o4%g++BV8I=_id$kb7R~7Rv&%;s$kk;l+sx-WZ&3Uug-_OE-c!L zlgjnbK)vPsIevKlu2V!gWn9f_w0Gc`KlaftXiz(FcD?PW7jIhY10?_Q-g^WO13;UHR8`F$_+KGR(zID?ajljQ@ViQxd5I9`N93|CS zRU>j`YQ@*s=nA_rQmt_{A|@n94>-M#&?|Z?#7dxR{=?(gyM-;>`=Lz+XTDGK{>XMV zIBsYypX2DM_^cUCiU<9- ztB20fEBz=-E>vP6g6c0jAqwkn&H)fs;qE$rf^LhNi)kTbYc=avg!u&7zgfWJaFmq%Z8k zmh!I%z_}>QypVp5sqVL;N-#6|_oJkdDs6$LD6Br4e$!daE2K)E zN%;Xn@Za{LbQNi^4K>N83vxBKR$K*Y5{| zaBp2&$+F4fgc(s?v{g_t#^YAQmz4wT9d$E3yDGmN)fej^^*eq>q)AHz* z*C|UVl^FRLtx=O0wg_h@*CmjpO`sC3Be4lK;MI)Iza|~`Ln>%omwc8snGKj1YQ~l1 zZiZA&g(1C2Y%~sZAgP%}^vYZ_@dB0jAsqW40Q<5u{jKEgAgTNa48alD2O)U-oTl|P z>CJWof3Kwir3=ASdl4JJ*ER@tVIi`gVVAEEStM1`PLUss12;rsK}B?5ikioRU96@2 z6gH4)E4X6>9?s%XPE-)G$V7lm+vGgm^fW7jyj?j+@^|0WETpy z1LDeP?b7sPl^-HoQ}}s{Bv0A2R<2aJA~L^1)N1y{$2lAOMyaMD!5UV)xC^a@H9cmJ zjTHKjjUV5wWFG7^?XB=hIlrolfI;~G!&ZJ`e{a4b5aJvYkk!1sUJK1CT}T|cteo;P zlk9|^P=Z^~fGdNXb&V@-Ry=gaSEL=Ue~2J{toja-m5hG2nvH_E_KlgEhSO|Vk#`5; z=Pn#c9Qm{m&_G=(S1>Q%^PjYyE9CDVd2c1y=D@L3#bz4q zheUm6PEzq&#qS1oVOaJL&+-)_joFr)GZ)9AR(VZM?^8J?&{9)MOkW<(xZh!*diBU?<6>!=X|zaxphnWadI70c#1Nf# sKmB|DhnSh@64Sw?L$f=zky`zGMuQeF7;kpt2StLX`#!fDuA!;_1MJKJfB*mh literal 0 HcmV?d00001 diff --git a/src/components/Modals/LoadingModal/LoadingModal.tsx b/src/components/Modals/LoadingModal/LoadingModal.tsx index 4d84387..a151b54 100644 --- a/src/components/Modals/LoadingModal/LoadingModal.tsx +++ b/src/components/Modals/LoadingModal/LoadingModal.tsx @@ -1,31 +1,21 @@ -import {FC} from "react"; -import {Props} from "react-native-paper"; +import React, {FC, useState} from "react"; import {StyleSheet, View} from "react-native"; -import {BottomSheetModalProvider} from "@gorhom/bottom-sheet"; import {useSelector} from "react-redux"; import {RootState} from "../../../redux/store"; import Modal from "react-native-modal"; -import {background, blue} from "../../../css/colors"; +import {background} from "../../../css/colors"; import {responsiveHeight, responsiveWidth} from "react-native-responsive-dimensions"; -import * as Progress from 'react-native-progress'; import DTitle from "../../DTitle/DTitle"; -import {RFPercentage} from "react-native-responsive-fontsize"; const LoadingModal: FC = () => { const isVisible = useSelector((state: RootState) => state.loadingModal.isVisible); const loadingText = useSelector((state: RootState) => state.loadingModal.loadingText); - + const [ch, sCh] = useState(false); return ( {loadingText} - diff --git a/src/components/Modals/SelectProductModal/SelectProductElement.tsx b/src/components/Modals/SelectProductModal/SelectProductElement.tsx index 14f36b9..0bd0378 100644 --- a/src/components/Modals/SelectProductModal/SelectProductElement.tsx +++ b/src/components/Modals/SelectProductModal/SelectProductElement.tsx @@ -5,10 +5,11 @@ import DTitle from "../../DTitle/DTitle"; import DText from "../../DText/DText"; import {RFPercentage} from "react-native-responsive-fontsize"; import {responsiveHeight, responsiveWidth} from "react-native-responsive-dimensions"; +import {Product} from "../../../types/product"; type Props = { - product: SupplierProduct; - onPress: (product: SupplierProduct) => void; + product: Product; + onPress: (product: Product) => void; } const SelectProductElement: FC = React.memo(({product, onPress}) => { return ( @@ -24,18 +25,7 @@ const SelectProductElement: FC = React.memo(({product, onPress}) => { {product.productName} {} - {product.supplierName && - Поставщик: {product.supplierName} - } - {product.supplierArticle && - Артикул: {product.supplierArticle} - } - {product.inBlock && - В блоке: {product.inBlock} - } - {product.shelfNumber && - Номер полки: {product.shelfNumber} - } + Артикул DENCO: {product.dencoArticle} diff --git a/src/components/Modals/SelectProductModal/SelectProductModal.tsx b/src/components/Modals/SelectProductModal/SelectProductModal.tsx index c57ba16..f54e4b2 100644 --- a/src/components/Modals/SelectProductModal/SelectProductModal.tsx +++ b/src/components/Modals/SelectProductModal/SelectProductModal.tsx @@ -8,11 +8,12 @@ import FlashListSeparator from "../../FlashListSeparator/FlashListSeparator"; import DTitle from "../../DTitle/DTitle"; import {responsiveHeight, responsiveWidth} from "react-native-responsive-dimensions"; import {background} from "../../../css/colors"; +import {Product} from "../../../types/product"; type Props = { visible: boolean; - products: SupplierProduct[]; - onSelected: (product: SupplierProduct) => void + products: Product[]; + onSelected: (product: Product) => void } @@ -27,7 +28,7 @@ const SelectProductModal: FC = ({visible, products, onSelected}) => { data={products} showsHorizontalScrollIndicator={false} showsVerticalScrollIndicator={false} - keyExtractor={(product) => product.supplierProductId.toString()} + keyExtractor={(product) => product.productId.toString()} renderItem={(product) => } ItemSeparatorComponent={FlashListSeparator} > diff --git a/src/components/Modals/SortingModal/SortingModal.tsx b/src/components/Modals/SortingModal/SortingModal.tsx index 6226be6..2eaf895 100644 --- a/src/components/Modals/SortingModal/SortingModal.tsx +++ b/src/components/Modals/SortingModal/SortingModal.tsx @@ -13,12 +13,11 @@ import DateTimePicker from '@react-native-community/datetimepicker'; import {RootState} from "../../../redux/store"; import { closeOrdersFilterModal, - OrderStatus, orderStatuses, setDesc, - setOrderBy, setShipmentDate, setStatus + setOrderBy, setShipmentDate, setShippingWarehouse, setStatus } from "../../../features/ordersFilter/ordersFilterSlice"; -import {retry} from "@reduxjs/toolkit/query"; +import ShippingWarehouseSelect from "../../ShippingWarehouseSelect/ShippingWarehouseSelect"; export type SortingModalHandles = { present: () => void; @@ -49,6 +48,8 @@ const createRadioButton = (element: SortingModalElement) => { const SortingModal = () => { const state = useSelector((state: RootState) => state.ordersFilter); + const shipmentWarehouseSelectorState = useSelector((state: RootState) => state.shippingWarehouseSelect); + const elements = [ {id: 'createdOnAsc', value: 'createdOnAsc', label: 'Дата создания по возрастанию'}, {id: 'createdOnDesc', value: 'createdOnDesc', label: 'Дата создания по убыванию'}, @@ -73,6 +74,9 @@ const SortingModal = () => { if (state.isVisible) present(); else dismiss(); }, [state.isVisible]); + useEffect(() => { + dispatch(setShippingWarehouse(shipmentWarehouseSelectorState.selectedShippingWarehouse)); + }, [shipmentWarehouseSelectorState.selectedShippingWarehouse]); return ( { radioButtons={elements.map(createRadioButton)}/> - + + + dispatch(setStatus(value))}> + {orderStatuses.map((status) => { + return ( + + ) + })} + + - dispatch(setStatus(value))}> - {orderStatuses.map((status) => { - - return ( - - ) - })} - + + setShowShipmentPicker(oldValue => !oldValue)} label={"Выбрать дату отгрузки"}/> {showShipmentPicker && @@ -162,7 +166,13 @@ const styles = StyleSheet.create({ marginTop: "auto" }, - + selectors: { + rowGap: responsiveHeight(1) + }, + selector: { + borderWidth: responsiveWidth(0.1), + borderRadius: responsiveWidth(1) + } }); diff --git a/src/components/SearchBar/ScanModal.tsx b/src/components/SearchBar/ScanModal.tsx index 63f8fba..db61d15 100644 --- a/src/components/SearchBar/ScanModal.tsx +++ b/src/components/SearchBar/ScanModal.tsx @@ -14,11 +14,7 @@ const ScanModal: FC = () => { const visible = useSelector((state: RootState) => state.scanModal.isVisible); const dispatch = useDispatch(); useEffect(() => { - // if (visible) inputRef.current?.focus(); - if (visible){ - dispatch(setScannedData('4750735280715')); - dispatch(closeScanModal()) - } + if (visible) inputRef.current?.focus(); }, [visible]); return ( diff --git a/src/components/SearchBar/SearchBar.tsx b/src/components/SearchBar/SearchBar.tsx index 28fb0a8..2d2b416 100644 --- a/src/components/SearchBar/SearchBar.tsx +++ b/src/components/SearchBar/SearchBar.tsx @@ -9,17 +9,18 @@ import barcodeApi from "../../api/barcodeApi"; import {useDispatch, useSelector} from "react-redux"; import {openScanModal, setScannedData} from "../../features/scanModal/scanModalSlice"; import {RootState} from "../../redux/store"; +import {Product} from "../../types/product"; type Props = { onSearch?: (text: string) => void; - onSupplierProductSelected?: (supplierProduct: SupplierProduct) => void + onProductSelected?: (product: Product) => void } -const SearchBar: FC = ({onSearch, onSupplierProductSelected}) => { +const SearchBar: FC = ({onSearch, onProductSelected}) => { const dispatch = useDispatch(); const [searchInput, setSearchInput] = useState(""); const textInputRef = useRef(null); - const [products, setProducts] = useState([]); + const [products, setProducts] = useState([]); const scannedData = useSelector((state: RootState) => state.scanModal.scannedData); useEffect(() => { @@ -28,14 +29,22 @@ const SearchBar: FC = ({onSearch, onSupplierProductSelected}) => { setProducts(response) }); }, [scannedData]); - const selectProductModalVisible = products.length > 0; + useEffect(() => { + if (products.length == 0 || products.length > 1 || !onProductSelected) return; + onProductSelected(products[0]); + setProducts([]); + dispatch(setScannedData(undefined)); + }, [products]); + const selectProductModalVisible = products.length > 1; return ( - { - if (onSupplierProductSelected) onSupplierProductSelected(product); - setProducts([]); - dispatch(setScannedData(undefined)); - }}/> + { + if (onProductSelected) onProductSelected(product); + setProducts([]); + dispatch(setScannedData(undefined)); + }}/> { if (!onSearch) return; onSearch(searchInput); diff --git a/src/components/ShippingWarehouseSelect/ShippingWarehouseSelect.tsx b/src/components/ShippingWarehouseSelect/ShippingWarehouseSelect.tsx new file mode 100644 index 0000000..3e33532 --- /dev/null +++ b/src/components/ShippingWarehouseSelect/ShippingWarehouseSelect.tsx @@ -0,0 +1,44 @@ +import {FC, useEffect} from "react"; +import {useDispatch, useSelector} from "react-redux"; +import {RootState} from "../../redux/store"; +import {Picker} from "@react-native-picker/picker"; +import generalApi from "../../api/generalApi"; +import { + initializeShippingWarehouseSelect, + selectShippingWarehouse +} from "../../features/shippingWarehouseSelect/shippingWarehouseSelectSlice"; +import {responsiveWidth} from "react-native-responsive-dimensions"; +import {View} from "react-native"; + +const ShippingWarehouseSelect: FC = () => { + const state = useSelector((state: RootState) => state.shippingWarehouseSelect); + const dispatch = useDispatch(); + useEffect(() => { + if (state.initialized) return; + generalApi.getShippingWarehouses().then(shippingWarehouses => + dispatch(initializeShippingWarehouseSelect(shippingWarehouses))) + }, []); + return ( + + dispatch(selectShippingWarehouse({shippingWarehouseId: value}))} + > + {state.shippingWarehouses.map(shippingWarehouse => ( + + ))} + + + + ) +} + +export default ShippingWarehouseSelect \ No newline at end of file diff --git a/src/features/assembly/assemblySlice.ts b/src/features/assembly/assemblySlice.ts index 14aa064..2e385a1 100644 --- a/src/features/assembly/assemblySlice.ts +++ b/src/features/assembly/assemblySlice.ts @@ -25,6 +25,7 @@ export const assembly = createSlice({ state.initialOrder = action.payload; state.order = action.payload; state.selectedProductId = 0; + state.localState = ASSEMBLY_STATE.NOT_STARTED; }, setAssembly: (state, action: PayloadAction) => { state.assembly = action.payload; @@ -80,11 +81,20 @@ export const assembly = createSlice({ } }); state.selectedProduct = state.order.products.find(product => product.databaseId == action.payload.orderProductId); - + }, + setLocalState: (state, action: PayloadAction) => { + state.localState = action.payload; }, selectProduct: (state, action: PayloadAction) => { if (!state.order) return; state.selectedProduct = state.order.products[action.payload]; + }, + reset: (state) => { + state.assembly = undefined; + state.order = undefined; + state.localState = ASSEMBLY_STATE.NOT_STARTED + state.selectedProductId = undefined; + state.selectedProduct = undefined; } } }) @@ -96,6 +106,8 @@ export const { setAssembly, startAssembly, endAssembly, - confirmAssembly + confirmAssembly, + setLocalState, + reset } = assembly.actions; export default assembly.reducer; \ No newline at end of file diff --git a/src/features/ordersFilter/ordersFilterSlice.ts b/src/features/ordersFilter/ordersFilterSlice.ts index 9a76d8d..a88562b 100644 --- a/src/features/ordersFilter/ordersFilterSlice.ts +++ b/src/features/ordersFilter/ordersFilterSlice.ts @@ -1,4 +1,6 @@ import {createSlice, PayloadAction} from "@reduxjs/toolkit"; +import {ShippingWarehouse} from "../../types/shippingWarehouse"; +import ShippingWarehouseSelect from "../../components/ShippingWarehouseSelect/ShippingWarehouseSelect"; export enum OrderStatus { ALL = -1, @@ -42,15 +44,20 @@ export interface OrdersFilterState { status: OrderStatus; shipmentDate: string; page: number; + shippingWarehouse: ShippingWarehouse } const initialState: OrdersFilterState = { isVisible: false, - orderBy: "createdOn", + orderBy: "shipmentDate", desc: true, shipmentDate: (new Date()).toISOString(), status: OrderStatus.AWAITING_PACKAGING, - page: 0 + page: 0, + shippingWarehouse: { + id: -1, + name: 'Все склады отгрузки' + } } export const ordersFilterSlice = createSlice({ @@ -75,14 +82,18 @@ export const ordersFilterSlice = createSlice({ setShipmentDate: (state, action: PayloadAction) => { state.shipmentDate = action.payload; }, + setShippingWarehouse: (state, action: PayloadAction) => { + state.shippingWarehouse = action.payload; + }, setPage: (state, action: PayloadAction) => { + console.log(action) state.page = action.payload; }, nextPage: (state) => { state.page = state.page + 1 }, refreshPagination: (state) => { - state.page = 0 + state.page = -1 } } }) @@ -95,6 +106,8 @@ export const { setOrderBy, setDesc, setStatus, - setShipmentDate + setShipmentDate, + setPage, + setShippingWarehouse } = ordersFilterSlice.actions; export default ordersFilterSlice.reducer; \ No newline at end of file diff --git a/src/features/shippingWarehouseSelect/shippingWarehouseSelectSlice.ts b/src/features/shippingWarehouseSelect/shippingWarehouseSelectSlice.ts new file mode 100644 index 0000000..bda0b6e --- /dev/null +++ b/src/features/shippingWarehouseSelect/shippingWarehouseSelectSlice.ts @@ -0,0 +1,38 @@ +import {createSlice, PayloadAction} from "@reduxjs/toolkit"; +import {ShippingWarehouse} from "../../types/shippingWarehouse"; + +export interface ShippingWarehouseSelectState { + shippingWarehouses: ShippingWarehouse[] + selectedShippingWarehouse: ShippingWarehouse + initialized: boolean +} + +const initialState: ShippingWarehouseSelectState = { + shippingWarehouses: [], + selectedShippingWarehouse: { + id: -1, + name: "Все склады отгрузки" + }, + initialized: false +} + +export const shippingWarehouseSelect = createSlice({ + name: 'shippingWarehouse', + initialState, + reducers: { + initializeShippingWarehouseSelect: (state, action: PayloadAction) => { + state.shippingWarehouses = action.payload; + state.initialized = true; + if (state.shippingWarehouses.length > 0) state.selectedShippingWarehouse = state.shippingWarehouses[0]; + }, + selectShippingWarehouse: (state, action: PayloadAction<{ shippingWarehouseId: number }>) => { + let selectedWarehouse = state.shippingWarehouses.find(wh => wh.id == action.payload.shippingWarehouseId); + if (!selectedWarehouse) return; + state.selectedShippingWarehouse = selectedWarehouse; + } + + } +}) + +export const {initializeShippingWarehouseSelect, selectShippingWarehouse} = shippingWarehouseSelect.actions; +export default shippingWarehouseSelect.reducer; \ No newline at end of file diff --git a/src/redux/store.ts b/src/redux/store.ts index f184bbd..c6fcce3 100644 --- a/src/redux/store.ts +++ b/src/redux/store.ts @@ -9,6 +9,7 @@ import assemblyReducer from 'features/assembly/assemblySlice'; import printingReducer from 'features/printing/printingSlice'; import reprintModalReducer from 'features/reprintModal/reprintModalSlice'; import ordersFilterReducer from 'features/ordersFilter/ordersFilterSlice'; +import shippingWarehouseSelectReducer from 'features/shippingWarehouseSelect/shippingWarehouseSelectSlice'; import {useDispatch} from "react-redux"; export const store = configureStore({ @@ -21,7 +22,8 @@ export const store = configureStore({ printing: printingReducer, reprintModal: reprintModalReducer, imageZoomModal: imageZoomModalReducer, - ordersFilter: ordersFilterReducer + ordersFilter: ordersFilterReducer, + shippingWarehouseSelect: shippingWarehouseSelectReducer }, }); diff --git a/src/screens/BarcodeScreen/BarcodeScreen.tsx b/src/screens/BarcodeScreen/BarcodeScreen.tsx index 326419a..8cee1c4 100644 --- a/src/screens/BarcodeScreen/BarcodeScreen.tsx +++ b/src/screens/BarcodeScreen/BarcodeScreen.tsx @@ -14,6 +14,7 @@ import flashListSeparator from "../../components/FlashListSeparator/FlashListSep import {useEffect, useState} from "react"; import {openScanModal} from "../../features/scanModal/scanModalSlice"; import ordersApi from "../../api/ordersApi"; +import DTitle from "../../components/DTitle/DTitle"; function BarcodeScreen() { const dispatch = useDispatch(); @@ -26,27 +27,32 @@ function BarcodeScreen() { }, []); return ( - { - ordersApi.getOrdersBySupplierProduct(product.supplierProductId).then(setOrders) + { + ordersApi.getOrdersByProduct(product.productId).then(setOrders) }}/> - 0 ? item.orderNumber.toString()} + renderItem={({item}) => + { + dispatch(setOrder(order)); + navigator.navigate("Home"); + }} order={item}/>} + showsHorizontalScrollIndicator={false} + showsVerticalScrollIndicator={true} + onEndReachedThreshold={0.1} + estimatedItemSize={720} + ItemSeparatorComponent={flashListSeparator} + /> : + + Нет заказов по данному + товару + } - keyboardShouldPersistTaps={"never"} - data={orders} - keyExtractor={(item: Order) => item.orderNumber.toString()} - renderItem={({item}) => - { - dispatch(setOrder(order)); - navigator.navigate("Home"); - }} order={item}/>} - showsHorizontalScrollIndicator={false} - showsVerticalScrollIndicator={true} - onEndReachedThreshold={0.1} - estimatedItemSize={720} - ItemSeparatorComponent={flashListSeparator} - - /> ) diff --git a/src/screens/CommonPage/CommonPage.tsx b/src/screens/CommonPage/CommonPage.tsx index f3ba8eb..c156add 100644 --- a/src/screens/CommonPage/CommonPage.tsx +++ b/src/screens/CommonPage/CommonPage.tsx @@ -15,10 +15,12 @@ import {closeScanModal, setScannedData} from "../../features/scanModal/scanModal import LoadingModal from "../../components/Modals/LoadingModal/LoadingModal"; import ReprintModal from "../../components/Modals/ReprintModal/ReprintModal"; import assemblyApi from "../../api/assemblyApi"; -import {assembly, setAssembly, setOrder} from "../../features/assembly/assemblySlice"; +import {assembly, setAssembly, setLocalState, setOrder} from "../../features/assembly/assemblySlice"; import ordersApi from "../../api/ordersApi"; import ImageZoomModal from "../../components/Modals/ImageZoomModal/ImageZoomModal"; import SortingModal from "../../components/Modals/SortingModal/SortingModal"; +import {setLoadingText} from "../../features/loadingModal/loadingModalSlice"; +import {ASSEMBLY_STATE} from "../../types/assembly"; function CommonPage() { const dim = useSelector((state: RootState) => state.interface.dim); @@ -31,6 +33,7 @@ function CommonPage() { dispatch(login({accessToken: token})); return true; } + const loadAssembly = async () => { assemblyApi.hasActive().then(({has}) => { if (!has) return; @@ -38,6 +41,7 @@ function CommonPage() { ordersApi.getOrderById(assembly.orderId).then(order => { dispatch(setAssembly(assembly)); dispatch(setOrder(order)); + dispatch(setLocalState(assembly.state as ASSEMBLY_STATE)); }) }) }) diff --git a/src/screens/LoginScreen/LoginScreen.tsx b/src/screens/LoginScreen/LoginScreen.tsx index ed6727d..878f0e2 100644 --- a/src/screens/LoginScreen/LoginScreen.tsx +++ b/src/screens/LoginScreen/LoginScreen.tsx @@ -14,8 +14,8 @@ import * as SecureStore from 'expo-secure-store'; function LoginScreen() { const dispatch = useAppDispatch(); - const [loginValue, setLoginValue] = useState('dsnon'); - const [passwordValue, setPasswordValue] = useState('ochko'); + const [loginValue, setLoginValue] = useState(''); + const [passwordValue, setPasswordValue] = useState(''); const handleLogin = async () => { const response = await userApi.login(loginValue, passwordValue); if (!response.ok) { diff --git a/src/screens/OrderScreen/OrderScreen.tsx b/src/screens/OrderScreen/OrderScreen.tsx index 2f33433..5df09b2 100644 --- a/src/screens/OrderScreen/OrderScreen.tsx +++ b/src/screens/OrderScreen/OrderScreen.tsx @@ -1,14 +1,10 @@ -import {View, Text, Image, StyleSheet, Button, TouchableOpacity} from "react-native"; +import {View, Image, StyleSheet, TouchableOpacity} from "react-native"; import {responsiveHeight, responsiveWidth} from "react-native-responsive-dimensions"; import DText from "../../components/DText/DText"; import {RFPercentage} from "react-native-responsive-fontsize"; import DTitle from "../../components/DTitle/DTitle"; import BasicButton from "../../components/BasicButton/BasicButton"; -import Hyperlink from "../../components/Hyperlink/Hyperlink"; import React, {FC, useEffect, useState} from "react"; -import userApi from "../../api/userApi"; -import {StatusBar} from "expo-status-bar"; -import * as Progress from 'react-native-progress'; import {useDispatch, useSelector} from "react-redux"; import {RootState} from "../../redux/store"; import {closeLoadingModal, openLoadingModal, setLoadingText} from "../../features/loadingModal/loadingModalSlice"; @@ -182,13 +178,14 @@ const OrderScreen: FC = ({order}) => { } const printLabel = () => { if (!order) return; + let printer = printingService.getInstance().getPrinter(order.baseMarketplace); dispatch(setLoadingText('Идет печать этикетки...')) dispatch(openLoadingModal()) printingApi.getLabel(order.databaseId).then(pdfData => { - printingService.getInstance().printPdf('wildberries', pdfData).then((response) => { + printingService.getInstance().printPdf(printer, pdfData).then((response) => { dispatch(closeLoadingModal()); if (response) return; - dispatch(setPrinterName({printerName: 'wildberries'})); + dispatch(setPrinterName({printerName: printer})); dispatch(openReprintModal()); }); }) diff --git a/src/screens/OrderScreen/useOrders.tsx b/src/screens/OrderScreen/useOrders.tsx index adbfe9f..d9bea9d 100644 --- a/src/screens/OrderScreen/useOrders.tsx +++ b/src/screens/OrderScreen/useOrders.tsx @@ -4,37 +4,63 @@ import ordersApi from "../../api/ordersApi"; import {setOrder} from "../../features/assembly/assemblySlice"; import {RootState} from "../../redux/store"; import {useDispatch, useSelector} from "react-redux"; -import {refreshPagination} from "../../features/ordersFilter/ordersFilterSlice"; +import { + refreshPagination, + setOrderBy, + setPage, + setShippingWarehouse +} from "../../features/ordersFilter/ordersFilterSlice"; const useOrders = () => { const dispatch = useDispatch(); const [orders, setOrders] = useState([]); + const [isInitialized, setIsInitialized] = useState(false); const [isRefreshing, setIsRefreshing] = useState(false); const filterState = useSelector((state: RootState) => state.ordersFilter); + const fetchOrders = async (): Promise => { + return ordersApi.getOrders( + filterState.page, + filterState.orderBy, + filterState.desc, + filterState.shipmentDate, + filterState.status, + filterState.shippingWarehouse.id + ); + } + + const appendOrders = (newOrders: Order[]) => { + setOrders([...newOrders, ...orders]); + } const refresh = () => { - if (filterState.page == 0) return; - setIsRefreshing(true); setOrders([]); - dispatch(refreshPagination()); + dispatch(setPage(0)); + fetchOrders().then(setOrders); } useEffect(() => { - if (filterState.isVisible) return; - - ordersApi.getOrders(filterState.page, filterState.orderBy, filterState.desc, filterState.shipmentDate, filterState.status).then(response => { - setOrders(oldOrders => [...oldOrders, ...response]); - setIsRefreshing(false); - }); + if (!isInitialized || filterState.isVisible) return; + fetchOrders().then(appendOrders); }, [filterState.page]); useEffect(() => { - if (filterState.isVisible) return; - setOrders([]); - setIsRefreshing(true); - dispatch(refreshPagination()); - }, [filterState.orderBy, filterState.desc, filterState.status, filterState.shipmentDate, filterState.isVisible]); + if (!isInitialized || filterState.isVisible) return; + fetchOrders().then(setOrders) + }, [filterState.orderBy, + filterState.desc, + filterState.status, + filterState.shipmentDate, + filterState.isVisible, + filterState.shippingWarehouse + ]); + useEffect(() => { + fetchOrders().then(newOrders=>{ + setOrders(newOrders); + setIsInitialized(true); + + }) + }, []); return {refresh, isRefreshing, orders}; } diff --git a/src/screens/OrdersScreen/OrdersScreen.tsx b/src/screens/OrdersScreen/OrdersScreen.tsx index 23a8ea8..0fded19 100644 --- a/src/screens/OrdersScreen/OrdersScreen.tsx +++ b/src/screens/OrdersScreen/OrdersScreen.tsx @@ -16,6 +16,7 @@ import {NavigationProp, useNavigation} from "@react-navigation/native"; import {TabNavigatorParamList} from "../MainScreen/MainScreen"; import useOrders from "../OrderScreen/useOrders"; import {nextPage, openOrdersFilterModal} from "../../features/ordersFilter/ordersFilterSlice"; +import DTitle from "../../components/DTitle/DTitle"; function OrdersScreen() { const dispatch = useDispatch(); @@ -52,6 +53,10 @@ function OrdersScreen() { ItemSeparatorComponent={flashListSeparator} /> + {orders.length <= 0 && + Нет заказов по заданному фильтру + } + diff --git a/src/screens/ProfileScreen/ProfileScreen.tsx b/src/screens/ProfileScreen/ProfileScreen.tsx index 929905e..490ce6e 100644 --- a/src/screens/ProfileScreen/ProfileScreen.tsx +++ b/src/screens/ProfileScreen/ProfileScreen.tsx @@ -1,18 +1,17 @@ -import {Button, Text, View, StyleSheet, TouchableOpacity, Image, ScrollView, GestureResponderEvent} from "react-native"; -import {useAppDispatch} from "../../redux/store"; -import * as process from "process"; +import {View, StyleSheet, TouchableOpacity, Image, ScrollView, GestureResponderEvent} from "react-native"; import {responsiveFontSize, responsiveHeight, responsiveWidth} from "react-native-responsive-dimensions"; -import {background, blue, gray} from "../../css/colors"; +import {blue, gray} from "../../css/colors"; import {RFPercentage} from "react-native-responsive-fontsize"; import DText from "../../components/DText/DText"; import DTitle from "../../components/DTitle/DTitle"; -import {ScreenStackHeaderLeftView} from "react-native-screens"; import Separator from "../../components/Separator/Separator"; import {BottomSheetModal} from "@gorhom/bottom-sheet"; import {useMemo, useRef, useState} from "react"; -import {openApp} from "rn-openapp"; -import SelectProductModal from "../../components/Modals/SelectProductModal/SelectProductModal"; -import selectProductModal from "../../components/Modals/SelectProductModal/SelectProductModal"; +import assemblyApi from "../../api/assemblyApi"; +import Toast from "react-native-toast-message"; +import {useDispatch} from "react-redux"; +import {reset} from "../../features/assembly/assemblySlice"; + type SettingsElementProps = { icon: any; @@ -58,6 +57,7 @@ function ProfileScreen() { const bottomSheetModalRef = useRef(null); const snapPoints = useMemo(() => ['25%', '40%'], []); const [modalVisible, setModalVisible] = useState(false); + const dispatch = useDispatch(); return ( @@ -76,9 +76,18 @@ function ProfileScreen() { > + { - openApp('assemblrprintingservice'); - }} icon={require('assets/icons/settings/printer.png')} title={'Принтеры'}/> + assemblyApi.cancel().then(response => { + + Toast.show({ + type: response.ok ? "success" : "error", + text1: "Отмена сборки", + text2: response.message, + }); + dispatch(reset()); + }) + }} icon={require('assets/icons/settings/close.png')} title={'Отменить сборку'}/> @@ -187,7 +196,7 @@ const styles = StyleSheet.create({ backgroundColor: "white", borderRadius: 100, borderWidth: RFPercentage(0.3), - padding: RFPercentage(1), + padding: RFPercentage(1.5), justifyContent: "center", alignItems: "center" diff --git a/src/types/product.ts b/src/types/product.ts new file mode 100644 index 0000000..cc51637 --- /dev/null +++ b/src/types/product.ts @@ -0,0 +1,6 @@ +export type Product = { + productId: number; + dencoArticle: number; + productName: string; + thumbUrl: string; +} \ No newline at end of file diff --git a/src/types/shippingWarehouse.ts b/src/types/shippingWarehouse.ts new file mode 100644 index 0000000..c20723c --- /dev/null +++ b/src/types/shippingWarehouse.ts @@ -0,0 +1,4 @@ +export type ShippingWarehouse = { + id: number; + name: string; +} \ No newline at end of file diff --git a/src/utils/PrintingService.ts b/src/utils/PrintingService.ts index 27254f4..25f4fe9 100644 --- a/src/utils/PrintingService.ts +++ b/src/utils/PrintingService.ts @@ -1,4 +1,5 @@ import axios from "axios"; +import {blue100} from "react-native-paper/lib/typescript/styles/themes/v2/colors"; class PrintingService { private static instance: PrintingService | null = null; @@ -17,9 +18,24 @@ class PrintingService { this.port = port; } + private newAbortSignal(timeoutMs: number) { + const abortController = new AbortController(); + setTimeout(() => abortController.abort(), timeoutMs || 0); + + return abortController.signal; + } + private async print(printer: string, type: string, bytes: Uint8Array): Promise { - let response = await axios.post(`http://${this.apiUrl}:${this.port}/print/${printer}/${type}`, bytes.buffer); - return response.data.ok; + try { + let response = await axios.post(`http://${this.apiUrl}:${this.port}/print/${printer}/${type}`, bytes.buffer, { + timeout: 20 * 1000, + signal: this.newAbortSignal(20 * 1000) + }); + return response.data.ok; + } catch (error) { + console.log(error); + return false; + } } public async printPdf(printer: string, pdfBytes: Uint8Array): Promise { @@ -29,6 +45,11 @@ class PrintingService { public async printImage(printer: string, imageBytes: Uint8Array): Promise { return this.print(printer, "image", imageBytes); } + + public getPrinter(baseMarketplace: number): string { + if (baseMarketplace == 0) return "wildberries"; + return "ozon"; + } } export default PrintingService; \ No newline at end of file