king
2024-12-31 1adfb2b7ad4965f15dae773e0dd9b22c6e103fd8
src/views/syscheck/index.jsx
@@ -1,6 +1,6 @@
import React, {Component} from 'react'
import { fromJS } from 'immutable'
import { Spin, notification, Button } from 'antd'
import { Spin, notification, Button, Modal } from 'antd'
import moment from 'moment'
import { SwapOutlined } from '@ant-design/icons'
@@ -11,6 +11,7 @@
import './index.scss'
const Header = asyncComponent(() => import('./header'))
const { confirm } = Modal
class SysCheck extends Component {
  state = {
@@ -105,12 +106,39 @@
            duration: 5
          })
        } else {
          this.setState({
            menulist
          })
          this.sqlmap = new Map()
          this.getMenuParam(fromJS(menulist).toJS())
          let errlist = sessionStorage.getItem('syscheck_main')
          errlist = errlist ? JSON.parse(errlist) : null
          if (!errlist) {
            this.setState({
              menulist
            })
            this.getMenuParam(fromJS(menulist).toJS())
          } else {
            const that = this
            confirm({
              title: '是否跳过检查合格菜单?',
              content: '',
              okText: '跳过',
              cancelText: '不跳过',
              onOk() {
                menulist = menulist.filter(item => errlist.includes(item.MenuID))
                that.setState({
                  menulist
                })
                that.getMenuParam(fromJS(menulist).toJS())
              },
              onCancel() {
                that.setState({
                  menulist
                })
                that.getMenuParam(fromJS(menulist).toJS())
              }
            })
          }
        }
      } else {
        this.setState({
@@ -249,12 +277,39 @@
                  duration: 5
                })
              } else {
                this.setState({
                  menulist: list
                })
                this.sqlmap = new Map()
                this.getMenuParam(fromJS(list).toJS())
                let errlist = sessionStorage.getItem('syscheck_app')
                errlist = errlist ? JSON.parse(errlist) : null
                if (!errlist) {
                  this.setState({
                    menulist: list
                  })
                  this.getMenuParam(fromJS(list).toJS())
                } else {
                  const that = this
                  confirm({
                    title: '是否跳过检查合格菜单?',
                    content: '',
                    okText: '跳过',
                    cancelText: '不跳过',
                    onOk() {
                      list = list.filter(item => errlist.includes(item.MenuID))
                      that.setState({
                        menulist: list
                      })
                      that.getMenuParam(fromJS(list).toJS())
                    },
                    onCancel() {
                      that.setState({
                        menulist: list
                      })
                      that.getMenuParam(fromJS(list).toJS())
                    }
                  })
                }
              }
            }
          })
@@ -345,6 +400,8 @@
        } else {
          this.setState({
            loading: false
          }, () => {
            this.record(menu.kei_no ? 'app' : '')
          })
        }
      } else {
@@ -360,6 +417,45 @@
    })
  }
  record = (type) => {
    const { lackmenus, outmenus, unablemenus, backmenus, appbackmenus } = this.state
    let menus = []
    lackmenus.forEach(item => {
      menus.push(item.MenuID)
    })
    outmenus.forEach(item => {
      menus.push(item.MenuID)
    })
    unablemenus.forEach(item => {
      menus.push(item.MenuID)
    })
    backmenus.forEach(item => {
      menus.push(item.MenuID)
    })
    appbackmenus.forEach(item => {
      menus.push(item[0].MenuID)
      menus.push(item[1].MenuID)
    })
    menus = Array.from(new Set(menus))
    if (type === 'app') {
      if (menus.length) {
        sessionStorage.setItem('syscheck_app', JSON.stringify(menus))
      } else {
        sessionStorage.removeItem('syscheck_app')
      }
    } else {
      if (menus.length) {
        sessionStorage.setItem('syscheck_main', JSON.stringify(menus))
      } else {
        sessionStorage.removeItem('syscheck_main')
      }
    }
  }
  render () {
    const { loading, activeMenu, menulist, remain, lackmenus, outmenus, unablemenus, backmenus, appbackmenus } = this.state