浏览代码

feat: 发货ui

xyh 2 年之前
父节点
当前提交
3edb2a53a0

+ 1 - 1
src/app.config.js

@@ -1,5 +1,5 @@
 export default defineAppConfig({
-  pages: ['pages/index/index', 'pages/deliver/index'],
+  pages: ['pages/index/index', 'pages/receive/index', 'pages/deliver/index'],
   window: {
     backgroundTextStyle: 'light',
     navigationBarBackgroundColor: '#fff',

文件差异内容过多而无法显示
+ 1 - 0
src/assets/goods/camera.svg


+ 1 - 0
src/hooks/index.js

@@ -0,0 +1 @@
+export * from './use-scan-order';

+ 21 - 0
src/hooks/use-scan-order/index.js

@@ -0,0 +1,21 @@
+import {scanCode} from '@tarojs/taro';
+import {resolving} from '@utils';
+import {useCallback, useState} from 'react';
+
+export function useScanOrder() {
+  const [state, setState] = useState({
+    goodsList: [],
+    customerNo: '',
+    truckNo: '',
+  });
+
+  const onScan = useCallback(function () {
+    scanCode({scanType: ['qrCode']}).then(function (res) {
+      if (res.result) {
+        setState(resolving(res.result));
+      }
+    });
+  }, []);
+
+  return [state, onScan];
+}

+ 21 - 0
src/pages/deliver/hooks.js

@@ -0,0 +1,21 @@
+import dayjs from 'dayjs';
+import {useEffect, useState} from 'react';
+
+export function useDate(customerNo) {
+  const [date, setDate] = useState('');
+
+  useEffect(
+    function () {
+      if (customerNo) {
+        setDate(dayjs().format('YYYY-MM-DD'));
+      }
+    },
+    [customerNo],
+  );
+
+  function onDateChagne(e) {
+    setDate(e.detail.value);
+  }
+
+  return [date, onDateChagne];
+}

+ 0 - 40
src/pages/deliver/hooks.ts

@@ -1,40 +0,0 @@
-import {scanCode} from '@tarojs/taro';
-import {resolving} from '@utils';
-import dayjs from 'dayjs';
-import {useEffect, useState} from 'react';
-
-export function useGoodsInfo() {
-  const [state, setState] = useState({
-    goodsList: [],
-    customerNo: '',
-    truckNo: '',
-  });
-
-  function onScan() {
-    scanCode({scanType: ['qrCode']}).then(function (res) {
-      if (res.result) {
-        setState(resolving(res.result));
-      }
-    });
-  }
-
-  const [date, setDate] = useState('');
-
-  useEffect(
-    function () {
-      if (state.customerNo) {
-        setDate(dayjs().format('YYYY-MM-DD'));
-      }
-    },
-    [state.customerNo],
-  );
-
-  function onDateChagne(e) {
-    setDate(e.detail.value);
-  }
-
-  return [
-    {...state, date},
-    {onScan, onDateChagne},
-  ];
-}

+ 4 - 3
src/pages/deliver/index.jsx

@@ -2,12 +2,13 @@ import {Image, Text, View, Picker} from '@tarojs/components';
 import icon from '@assets/goods/sending.svg';
 import {Button} from '@nutui/nutui-react-taro';
 import {TextGroup as Item} from '@components';
-import {useGoodsInfo} from './hooks';
+import {useDate} from './hooks';
 import dayjs from 'dayjs';
+import {useScanOrder} from '@hooks';
 
 export default function DeliverGoods() {
-  const [{goodsList, customerNo, truckNo, date}, {onScan, onDateChagne}] =
-    useGoodsInfo();
+  const [{goodsList, customerNo, truckNo}, onScan] = useScanOrder();
+  const [date, onDateChagne] = useDate(customerNo);
 
   return (
     <View className='h-screen overflow-auto bg-gray-100 flex flex-col'>

+ 2 - 2
src/pages/index/index.jsx

@@ -6,14 +6,14 @@ import orderIcon from '@assets/order.svg';
 import face from '@assets/face.svg';
 import Login from './login';
 import {useBoolean} from 'ahooks';
-import {DELIVER_GOODS_PATH} from '@routes';
+import {DELIVER_GOODS_PATH, RECEIVE_GOODS_PATH} from '@routes';
 
 const btnList = [
   {
     title: '收发货',
     children: [
       {title: '发货', icon: sendIcon, url: DELIVER_GOODS_PATH},
-      {title: '收货', icon: complateIcon, url: ''},
+      {title: '收货', icon: complateIcon, url: RECEIVE_GOODS_PATH},
     ],
   },
   {title: '历史记录', children: [{title: '订单', icon: orderIcon, url: ''}]},

+ 2 - 0
src/routes/name.js

@@ -1,2 +1,4 @@
 /** 发货页面 */
 export const DELIVER_GOODS_PATH = '/pages/deliver/index';
+/** 确认收货 */
+export const RECEIVE_GOODS_PATH = '/pages/receive/index';