king
4 天以前 80deba0c2dcffd9e6b6f07815c7c52199309ce42
src/views/mkiframe/index.jsx
@@ -1,6 +1,5 @@
import React, {Component} from 'react'
import { Spin, notification, ConfigProvider } from 'antd'
import zhCN from 'antd/es/locale/zh_CN'
import { Spin, notification } from 'antd'
import Api from '@/api'
import asyncComponent from '@/utils/asyncLoadComponent'
@@ -18,6 +17,8 @@
    MenuId: '',
    type: 'CustomPage'
  }
  reloading = false
  UNSAFE_componentWillMount() {
    const { params, path } = this.props.match
@@ -74,6 +75,7 @@
            } else {
              sessionStorage.clear()
              this.props.history.replace('/login')
              window.location.reload()
            }
          })
        }
@@ -101,6 +103,7 @@
          sessionStorage.clear()
          sessionStorage.setItem('iframe', `/iframe/${menuId}/@loginuid@/${bid || ''}`)
          this.props.history.replace('/login')
          window.location.reload()
        }
      })
    }
@@ -112,15 +115,31 @@
    MKEmitter.addListener('modifyTabs', this.modifyTabs)
    MKEmitter.addListener('closeTabView', this.closeTabView)
    if (window.GLOB.forcedUpdate) {
      MKEmitter.addListener('reloadTabs', this.reloadTabs)
    }
    if (window.GLOB.sysType !== 'cloud') {
      Object.defineProperty(window, 'debugger', {
        configurable: true,
        enumerable: true,
        set(value) {
          if (value + '' === 'false') {
            window.GLOB.debugger = false
          } else {
          if (value === true) {
            window.GLOB.debugger = true
          } else if (value === 0) {
            if (window.backend) {
              sessionStorage.setItem('systemRun', 'front')
              window.location.reload()
            } else {
              window.mkInfo('系统当前未使用后端脚本!')
            }
          } else if (value === false) {
            if (sessionStorage.getItem('systemRun') === 'front') {
              sessionStorage.removeItem('systemRun')
              window.location.reload()
            } else {
              window.GLOB.debugger = false
            }
          }
        }
      })
@@ -152,7 +171,32 @@
      return
    }
    MKEmitter.removeListener('modifyTabs', this.modifyTabs)
    MKEmitter.removeListener('reloadTabs', this.reloadTabs)
    MKEmitter.removeListener('closeTabView', this.closeTabView)
  }
  reloadTabs = () => {
    if (this.reloading) return
    let time = new Date().getTime()
    let oldTime = sessionStorage.getItem('mk_reloadTabs')
    if (oldTime && time - oldTime < 180000) return
    sessionStorage.setItem('mk_reloadTabs', time)
    this.reloading = true
    Api.getAppVersion(true).then(() => {
      window.location.reload()
    }, (message) => {
      notification.error({
        top: 92,
        message: message || '系统配置更新失败!',
        duration: 10
      })
    })
  }
  modifyTabs = (tab) => {
@@ -183,7 +227,10 @@
    let historys = sessionStorage.getItem('page_historys')
    historys = historys ? JSON.parse(historys) : []
    if (historys.length === 0) return
    if (historys.length === 0) {
      window.close()
      return
    }
    let tab = historys.shift()
@@ -241,11 +288,9 @@
    return (
      <div className="main-iframe">
        <ConfigProvider locale={zhCN}>
          {loading ? <Spin size="large" /> : null}
          {!loading && type === 'CustomPage' ? <CustomPage MenuID={MenuId} param={{$BID: BID}} changeTemp={this.changeTemp}/> : null}
          {!loading && type === 'BaseTable' ? <BaseTable MenuID={MenuId} param={{$BID: BID}} changeTemp={this.changeTemp}/> : null}
        </ConfigProvider>
        {loading ? <Spin size="large" /> : null}
        {!loading && type === 'CustomPage' ? <CustomPage MenuID={MenuId} param={{$BID: BID}} changeTemp={this.changeTemp}/> : null}
        {!loading && type === 'BaseTable' ? <BaseTable MenuID={MenuId} param={{$BID: BID}} changeTemp={this.changeTemp}/> : null}
        <ImgScale />
      </div>
    )