From 2ec33de134bb69ede62df6ae2c119d03906c8f15 Mon Sep 17 00:00:00 2001
From: luxiaotao1123 <t1341870251@163.com>
Date: 星期三, 10 四月 2024 10:00:53 +0800
Subject: [PATCH] #

---
 zy-asrs-flow/src/pages/map/drawer/shuttle/index.jsx |   27 ++++++--
 zy-asrs-flow/src/pages/map/drawer/shuttle/view.jsx  |  118 +++++++++++++++++++++++++++++++++++++++
 2 files changed, 137 insertions(+), 8 deletions(-)

diff --git a/zy-asrs-flow/src/pages/map/drawer/shuttle/index.jsx b/zy-asrs-flow/src/pages/map/drawer/shuttle/index.jsx
index a32ca8b..34b7a6b 100644
--- a/zy-asrs-flow/src/pages/map/drawer/shuttle/index.jsx
+++ b/zy-asrs-flow/src/pages/map/drawer/shuttle/index.jsx
@@ -5,23 +5,30 @@
 import * as Utils from '../../utils'
 import Http from '@/utils/http';
 import ShowJson from '../showJson';
-
-const useStyles = createStyles(({ token, css }) => {
-
-})
+import ShuttleView from './view'
 
 const ShuttleDrawer = (props) => {
     const intl = useIntl();
-    const { styles } = useStyles();
     const { curSprite, curFloor } = props;
 
-    const [activeTabKey, setActiveTabKey] = useState('json');
+    const [activeTabKey, setActiveTabKey] = useState('view');
+    const [curNo, setCurNo] = React.useState(''); // just used to modify the drawer title
 
     useEffect(() => {
-        props.setDrawerTitle(curSprite.data.no);
-    }, [curSprite]);
+        if (!curSprite) {
+            return
+        }
+        props.setDrawerTitle(intl.formatMessage({ id: 'map.loc.no', defaultMessage: '搴撲綅鍙�' }) + ': ' + curNo);
+    }, [curNo]);
 
     const contentList = {
+        view: (
+            <ShuttleView
+                curNo={curNo}
+                data={curSprite.data}
+                curFloor={curFloor}
+            />
+        ),
         json: (
             <ShowJson
                 data={curSprite.data}
@@ -38,6 +45,10 @@
                 type='inner'
                 tabList={[
                     {
+                        key: 'view',
+                        tab: intl.formatMessage({ id: 'map.drawer.shelf.view.title', defaultMessage: '搴撲綅淇℃伅' }),
+                    },
+                    {
                         key: 'json',
                         tab: intl.formatMessage({ id: 'map.drawer.json', defaultMessage: 'JSON' }),
                     },
diff --git a/zy-asrs-flow/src/pages/map/drawer/shuttle/view.jsx b/zy-asrs-flow/src/pages/map/drawer/shuttle/view.jsx
new file mode 100644
index 0000000..db4773d
--- /dev/null
+++ b/zy-asrs-flow/src/pages/map/drawer/shuttle/view.jsx
@@ -0,0 +1,118 @@
+import React, { useState, useRef, useEffect } from 'react';
+import { Spin, Descriptions, Button } from 'antd';
+import { FormattedMessage, useIntl, useModel } from '@umijs/max';
+import { LoadingOutlined } from '@ant-design/icons';
+import { createStyles } from 'antd-style';
+import * as Utils from '../../utils'
+import Http from '@/utils/http';
+
+const useStyles = createStyles(({ token, css }) => {
+    return {
+        infoBox: {
+            height: '100%',
+            display: 'flex',
+            gap: '0px',
+        },
+        threeInfo: {
+            height: '100%',
+            width: '60%',
+        },
+        spinWrapper: {
+            height: '100%',
+        },
+        threeContainer: {
+            zIndex: 99,
+            width: '100%',
+            height: '100%',
+        },
+        tableInfo: {
+            height: '100%',
+            width: '40%',
+            padding: '0 10px 0 15px',
+            overflow: 'auto',
+        },
+        tableButton: {
+            width: '100%',
+            marginBottom: '10px',
+            fontWeight: 'bold',
+            letterSpacing: '1px',
+        }
+    }
+})
+
+const ShuttleView = (props) => {
+    const intl = useIntl();
+    const { styles } = useStyles();
+
+    const { data } = props;
+    const [loading, setLoading] = React.useState(false);
+
+    useEffect(() => {
+        setLoading(true);
+
+        setTimeout(() => {
+
+            setLoading(false);
+        }, 300)
+    }, [data]);
+
+    return (
+        <>
+            <div className={styles.infoBox}>
+                <div className={`${styles.threeInfo} three-spin`}>
+                    <Spin
+                        spinning={loading}
+                        indicator={<LoadingOutlined spin />}
+                        size={'large'}
+                        wrapperClassName={styles.spinWrapper}
+                    >
+                    </Spin>
+                </div>
+                <div className={styles.tableInfo}>
+                    <Descriptions
+                        bordered
+                        layout="vertical"
+                        column={1}
+                        items={
+                            [
+                                {
+                                    key: '1',
+                                    label: intl.formatMessage({ id: 'map.loc.no', defaultMessage: '搴撲綅鍙�' }),
+                                },
+                                {
+                                    key: '2',
+                                    label: intl.formatMessage({ id: 'map.pallet.barcode', defaultMessage: '鎵樼洏鏉$爜' }),
+                                    children: '80000010',
+                                },
+                                {
+                                    key: '3',
+                                    label: intl.formatMessage({ id: 'map.is.enable', defaultMessage: '鏄惁鍚敤' }),
+                                    children: 'Disabled',
+                                },
+                                {
+                                    key: '4',
+                                    label: intl.formatMessage({ id: 'map.loc.operation', defaultMessage: '搴撲綅鎿嶄綔' }),
+                                    children: (
+                                        <>
+                                            <Button className={styles.tableButton} size='large' type="primary" danger>
+                                                <FormattedMessage id='map.loc.lock' defaultMessage='閿佸畾' />
+                                            </Button>
+                                            <Button className={styles.tableButton} size='large' disabled>
+                                                <FormattedMessage id='map.loc.unlock' defaultMessage='瑙i攣' />
+                                            </Button>
+                                            <Button className={styles.tableButton} size='large'>
+                                                <FormattedMessage id='map.loc.reset' defaultMessage='娓呴櫎搴撲綅' />
+                                            </Button>
+                                        </>
+                                    )
+                                },
+                            ]
+                        }
+                    />
+                </div>
+            </div>
+        </>
+    )
+}
+
+export default ShuttleView;
\ No newline at end of file

--
Gitblit v1.9.1