From 1adfb2b7ad4965f15dae773e0dd9b22c6e103fd8 Mon Sep 17 00:00:00 2001 From: king <18310653075@163.com> Date: 星期二, 31 十二月 2024 18:09:03 +0800 Subject: [PATCH] 2024-12-31 --- src/views/syscheck/index.jsx | 118 +++++++++++++++++++++++++++++++++++--- src/components/paste/index.jsx | 53 +++++++++++++++++ 2 files changed, 159 insertions(+), 12 deletions(-) diff --git a/src/components/paste/index.jsx b/src/components/paste/index.jsx index ce96162..fd88a46 100644 --- a/src/components/paste/index.jsx +++ b/src/components/paste/index.jsx @@ -1,8 +1,10 @@ -import React, {Component} from 'react' +import React, { Component } from 'react' import PropTypes from 'prop-types' import { Modal, notification } from 'antd' import { SnippetsOutlined } from '@ant-design/icons' +import Utils from '@/utils/utils.js' +import MenuUtils from '@/utils/utils-custom.js' import asyncComponent from '@/utils/asyncComponent' const PasteForm = asyncComponent(() => import('@/templates/zshare/pasteform')) @@ -17,6 +19,49 @@ visible: false } + resetconfig = (item, appType) => { + if (item.copyType === 'action') { + MenuUtils.resetBtn(item, item.uuid) + } else if (item.copyType === 'cardcell') { + item.setting = item.setting || {} + item.setting.width = item.setting.width || 6 + delete item.$cardType + + if (item.elements) { + item.elements = item.elements.map(cell => { + cell.uuid = Utils.getuuid() + + if (cell.eleType === 'button') { + MenuUtils.resetBtn(cell, item.uuid) + } + return cell + }) + if (appType === 'mob') { + item.elements = item.elements.filter(cell => { + if (cell.eleType === 'button' && ['excelIn', 'tab'].includes(cell.OpenType)) { + return false + } + return true + }) + } + } + if (appType === 'mob') { + item.backElements = [] + } else if (item.backElements) { + item.backElements = item.backElements.map(cell => { + cell.uuid = Utils.getuuid() + + if (cell.eleType === 'button') { + MenuUtils.resetBtn(cell, item.uuid) + } + return cell + }) + } + } + + return item + } + pasteSubmit = () => { const { options } = this.props this.pasteFormRef.handleConfirm().then(res => { @@ -24,6 +69,12 @@ notification.warning({ top: 92, message: '閰嶇疆淇℃伅鏍煎紡閿欒锛�', duration: 5 }) return } + + let appType = sessionStorage.getItem('appType') + res.uuid = Utils.getuuid() + + res = this.resetconfig(res, appType) + this.props.updateConfig(res, (result) => { if (result.status) { notification.success({ diff --git a/src/views/syscheck/index.jsx b/src/views/syscheck/index.jsx index acee1d2..84a98fd 100644 --- a/src/views/syscheck/index.jsx +++ b/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 -- Gitblit v1.8.0