| | |
| | | import React, {Component} from 'react' |
| | | import PropTypes from 'prop-types' |
| | | import { connect } from 'react-redux' |
| | | import { notification, Spin } from 'antd' |
| | | |
| | | import Api from '@/api' |
| | |
| | | |
| | | state = { |
| | | loading: true, |
| | | background: sessionStorage.getItem('home_background'), |
| | | waiting: true, |
| | | view: '' |
| | | } |
| | | |
| | | componentDidMount () { |
| | | this.loadHomeConfig() |
| | | } |
| | | |
| | | UNSAFE_componentWillReceiveProps (nextProps) { |
| | | if (nextProps.permMenus.length > 0 && JSON.stringify(nextProps.permAction) !== '{}') { |
| | | this.setState({ |
| | | waiting: false |
| | | }) |
| | | } |
| | | } |
| | | |
| | | loadHomeConfig = () => { |
| | | let _param = { |
| | | func: 'sPC_Get_LongParam', |
| | | MenuID: this.props.MenuID |
| | |
| | | } else { |
| | | this.setState({ |
| | | loading: false, |
| | | waiting: false, |
| | | view: 'default' |
| | | }) |
| | | } |
| | |
| | | } |
| | | |
| | | render() { |
| | | const { loading, view } = this.state |
| | | const { loading, waiting, view, background } = this.state |
| | | |
| | | if (loading) { |
| | | return (<Spin className="home-box-spin" size="large" />) |
| | | if (loading || waiting) { |
| | | return (<div className="home-loading-view" style={{background: background}}><Spin className="home-box-spin" size="large" /></div>) |
| | | } else if (view === 'custom') { |
| | | return (<CustomPage MenuID={this.props.MenuID}/>) |
| | | } else { |
| | |
| | | } |
| | | } |
| | | |
| | | export default Home |
| | | const mapStateToProps = (state) => { |
| | | return { |
| | | permAction: state.permAction, |
| | | permMenus: state.permMenus |
| | | } |
| | | } |
| | | |
| | | const mapDispatchToProps = () => { |
| | | return {} |
| | | } |
| | | |
| | | export default connect(mapStateToProps, mapDispatchToProps)(Home) |