1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
  | import React, { useState, useRef, useEffect } from 'react'; 
 |  import { Descriptions, Button, Skeleton, Badge, Space } from 'antd'; 
 |  import { FormattedMessage, useIntl, useModel } from '@umijs/max'; 
 |  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', 
 |          }, 
 |          tableInfo: { 
 |              height: '100%', 
 |              width: '100%', 
 |              padding: '0 10px 0 15px', 
 |              overflow: 'auto', 
 |          }, 
 |          tableButton: { 
 |              width: '100%', 
 |              marginBottom: '10px', 
 |              fontWeight: 'bold', 
 |              letterSpacing: '1px', 
 |          } 
 |      } 
 |  }) 
 |    
 |  const LiftView = (props) => { 
 |      const intl = useIntl(); 
 |      const { styles } = useStyles(); 
 |    
 |      const { data } = props; 
 |      const [loading, setLoading] = React.useState(false); 
 |      const [info, setInfo] = React.useState(null); 
 |    
 |      useEffect(() => { 
 |          setLoading(true); 
 |          const fetchLiftInfo = async (liftNo) => { 
 |              const res = await Http.doGet('/api/map/lift/info', { liftNo: liftNo }); 
 |              if (res?.data) { 
 |                  setInfo(res.data); 
 |              } 
 |              setLoading(false); 
 |          } 
 |          fetchLiftInfo(data.no); 
 |      }, [data]); 
 |    
 |      return ( 
 |          <> 
 |              <div className={styles.infoBox}> 
 |                  {loading ? ( 
 |                      <Skeleton active /> 
 |                  ) : ( 
 |                      <div className={styles.tableInfo}> 
 |                          <Descriptions 
 |                              bordered 
 |                              title='' 
 |                              size='small' 
 |                              layout="vertical" 
 |                              column={3} 
 |                              items={ 
 |                                  [ 
 |                                      { 
 |                                          key: '1', 
 |                                          label: intl.formatMessage({ id: 'map.loc.no', defaultMessage: '库位号' }), 
 |                                          children: <Badge status="processing" text="Running" />, 
 |                                      }, 
 |                                      { 
 |                                          key: '2', 
 |                                          label: intl.formatMessage({ id: 'map.pallet.barcode', defaultMessage: '托盘条码' }), 
 |                                          children: '80000010', 
 |                                          span: 1 
 |                                      }, 
 |                                      { 
 |                                          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='解锁' /> 
 |                                                  </Button> 
 |                                                  <Button className={styles.tableButton} size='large'> 
 |                                                      <FormattedMessage id='map.loc.reset' defaultMessage='清除库位' /> 
 |                                                  </Button> 
 |                                              </> 
 |                                          ) 
 |                                      }, 
 |                                  ] 
 |                              } 
 |                          /> 
 |                      </div> 
 |                  )} 
 |              </div> 
 |          </> 
 |      ) 
 |  } 
 |    
 |  export default LiftView; 
 |  
  |