| | |
| | | class AutoMatic extends Component { |
| | | static propTpyes = { |
| | | autoMatic: PropTypes.object, |
| | | tabId: PropTypes.string, |
| | | config: PropTypes.object |
| | | } |
| | | |
| | |
| | | timer = null |
| | | |
| | | UNSAFE_componentWillMount() { |
| | | const { autoMatic } = this.props |
| | | const { autoMatic, tabId } = this.props |
| | | |
| | | if (autoMatic.gap && autoMatic.gap >= 1) { |
| | | this.setState({gap: autoMatic.gap * 1000}) |
| | | } |
| | | |
| | | if (tabId && tabId === sessionStorage.getItem('autoExecId')) { |
| | | sessionStorage.removeItem('autoExecId') |
| | | |
| | | setTimeout(() => { |
| | | this.trigger() |
| | | }, 10000) |
| | | } |
| | | } |
| | | |
| | |
| | | } |
| | | |
| | | autoMaticOver = (MenuID) => { |
| | | const { config, autoMatic } = this.props |
| | | const { config, autoMatic, tabId } = this.props |
| | | |
| | | if (!this.state.running || MenuID !== config.MenuID) return |
| | | |
| | |
| | | if (autoMatic.onFinish !== 'over') { |
| | | let interval = autoMatic.interval * 1000 || 10 |
| | | |
| | | if (autoMatic.restart === 'first') { |
| | | this.setState({line: 1}) |
| | | if (autoMatic.restart === 'refresh') { |
| | | this.timer = setTimeout(() => { |
| | | sessionStorage.setItem('ThirdMenu', tabId) |
| | | sessionStorage.setItem('autoExecId', tabId) |
| | | window.location.reload() |
| | | }, interval) |
| | | } else { |
| | | this.setState({line: this.state.line + 1}) |
| | | if (autoMatic.restart === 'first') { |
| | | this.setState({line: 1}) |
| | | } else { |
| | | this.setState({line: this.state.line + 1}) |
| | | } |
| | | |
| | | this.timer = setTimeout(() => { |
| | | this.setState({running: true}) |
| | | MKEmitter.emit('autoQueryData', config.MenuID, this.state.line) |
| | | }, interval) |
| | | } |
| | | |
| | | this.timer = setTimeout(() => { |
| | | this.setState({running: true}) |
| | | MKEmitter.emit('autoQueryData', config.MenuID, this.state.line) |
| | | }, interval) |
| | | } |
| | | } |
| | | |