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