App.js 4.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148
  1. import React, { Component , Suspense } from 'react';
  2. import ReactDOM from 'react-dom';
  3. import './App.css';
  4. import { Menu, Button } from 'antd';
  5. import { SettingOutlined, DollarCircleOutlined, } from '@ant-design/icons';
  6. import {
  7. AppstoreOutlined,
  8. MenuUnfoldOutlined,
  9. MenuFoldOutlined,
  10. PieChartOutlined,
  11. DesktopOutlined,
  12. ContainerOutlined,
  13. MailOutlined,
  14. } from '@ant-design/icons';
  15. // import { $Axios } from '&/common/publish';
  16. export default class App extends React.Component {
  17. constructor(props) {
  18. super(props)
  19. this.state = {
  20. isLogin: true,
  21. current: 'one',
  22. arr1 : [
  23. { txt : '商户入网' , icon : '' , assembly:'Layout' },
  24. { txt : '商户入网列表' , icon : '', assembly:'center-tab'}
  25. ],
  26. arr2 : [
  27. { txt : '订单查询' , icon : ''},
  28. { txt : '退款查询' , icon : ''},
  29. { txt : '账户概览' , icon : ''},
  30. { txt : '发起提现' , icon : ''},
  31. { txt : '提现记录' , icon : ''},
  32. { txt : '分账收益记录' , icon : ''},
  33. ],
  34. assembly : 'Layout'
  35. }
  36. }
  37. componentDidMount() {
  38. }
  39. handleClick(e){
  40. console.log('点击的 ', e);
  41. this.setState({
  42. current : e.key
  43. })
  44. }
  45. toggleCollapsed(e){
  46. this.setState({
  47. collapsed: !this.state.collapsed,
  48. });
  49. // this.setState({ current: e.key });
  50. }
  51. toggleNavs(e){
  52. this.setState({
  53. assembly: e.key,
  54. });
  55. console.log(e)
  56. }
  57. initassembly(){
  58. const MapDialog = React.lazy(() => import(`./component/${this.state.assembly}/${this.state.assembly}.jsx`));
  59. return <Suspense fallback="" key="dialog"><MapDialog refModal={this.state.current} /></Suspense>
  60. }
  61. // autoLogin = () => {
  62. // let param = {
  63. // "account": account,
  64. // "password": password,
  65. // "system_code": "COMBINE",
  66. // "login_ip": login_ip,
  67. // "token": ""
  68. // }
  69. // $Axios('post','http://user_api.airqualitychina.cn:7070/auth/ipLogin',param,(res) => {
  70. // console.log(res)
  71. // let userData = res.data.data.result
  72. // let token = res.data.data.token
  73. // localStorage.setItem('token',token)
  74. // localStorage.setItem('project_id',userData.project_id)
  75. // localStorage.setItem('userData',JSON.stringify(userData))
  76. // me.setState({isLogin:true})
  77. // })
  78. // }
  79. render() {
  80. const { current, arr1, arr2 } = this.state;
  81. const { SubMenu } = Menu;
  82. return (
  83. <React.Fragment>
  84. {/* {this.state.isLogin ? <Layout></Layout>} */}
  85. <div className='wrap'>
  86. <div className='header_nav'>
  87. <div className='header_title'>商户入网信息管理平台</div>
  88. <div className='header_menu'>
  89. <div className='head-sj'>
  90. <Button type="primary" onClick={this.toggleCollapsed.bind(this)} style={{ marginBottom: 16 }} style={{height:'100%'}}>
  91. {React.createElement(this.state.collapsed ? MenuUnfoldOutlined : MenuFoldOutlined)}
  92. </Button>
  93. </div>
  94. <Menu onClick={this.handleClick.bind(this)} selectedKeys={[current]} mode="horizontal" className='header_navs'>
  95. <Menu.Item key="one" icon={<SettingOutlined />}>
  96. 高级设置
  97. </Menu.Item>
  98. <Menu.Item key="tow" icon={<DollarCircleOutlined />}>
  99. 财务管理
  100. </Menu.Item>
  101. </Menu>
  102. </div>
  103. </div>
  104. <div className='main_centers'>
  105. <Menu
  106. className='main_left_nav'
  107. defaultSelectedKeys={[this.state.assembly]}
  108. // defaultOpenKeys={[this.state.assembly]}
  109. mode="inline"
  110. theme="dark"
  111. inlineCollapsed={this.state.collapsed}
  112. onClick={this.toggleNavs.bind(this)}
  113. >
  114. {current === 'one' && (arr1.map((item,index) =>(
  115. <Menu.Item key={item.assembly} data={item.txt} icon={<PieChartOutlined />}>
  116. {item.txt}
  117. </Menu.Item>
  118. )))}
  119. {current === 'tow' && (arr2.map((item,index) =>(
  120. <Menu.Item key={item.assembly} data={item.txt} icon={<PieChartOutlined />}>
  121. {item.txt}
  122. </Menu.Item>
  123. )))}
  124. </Menu>
  125. <div className='main_right_center'>
  126. {
  127. this.initassembly()
  128. }
  129. </div>
  130. </div>
  131. </div>
  132. </React.Fragment>
  133. )
  134. }
  135. }
  136. ReactDOM.render(
  137. <App></App>,
  138. document.getElementById('root')
  139. );