From 07c005cf28acf74e3afde82122e4c53e1000d70c Mon Sep 17 00:00:00 2001 From: king <18310653075@163.com> Date: 星期一, 12 六月 2023 12:06:18 +0800 Subject: [PATCH] Merge branch 'master' into positec --- src/components/breadview/index.jsx | 94 +++++++++++++++++++--------------------------- 1 files changed, 39 insertions(+), 55 deletions(-) diff --git a/src/components/breadview/index.jsx b/src/components/breadview/index.jsx index ff506c3..b1f59ca 100644 --- a/src/components/breadview/index.jsx +++ b/src/components/breadview/index.jsx @@ -1,41 +1,29 @@ import React, {Component} from 'react' -import {connect} from 'react-redux' -import { is, fromJS } from 'immutable' -import { BackTop, Breadcrumb, Icon, notification} from 'antd' +import { BackTop, Breadcrumb, notification} from 'antd' +import { HomeOutlined, RightOutlined, RedoOutlined } from '@ant-design/icons' import moment from 'moment' import 'moment/locale/zh-cn' import asyncComponent from '@/utils/asyncLoadComponent' import NotFount from '@/components/404' import options from '@/store/options.js' -import mzhCN from '@/locales/zh-CN/main.js' -import menUS from '@/locales/en-US/main.js' import MKEmitter from '@/utils/events.js' -import { initActionPermission } from '@/store/action' import Api from '@/api' import './index.scss' const Home = asyncComponent(() => import('@/tabviews/home')) const CustomPage = asyncComponent(() => import('@/tabviews/custom')) const CommonTable = asyncComponent(() => import('@/tabviews/commontable')) +const BaseTable = asyncComponent(() => import('@/tabviews/basetable')) const CalendarPage = asyncComponent(() => import('@/tabviews/calendar')) const TreePage = asyncComponent(() => import('@/tabviews/treepage')) const Iframe = asyncComponent(() => import('@/tabviews/iframe')) const RoleManage = asyncComponent(() => import('@/tabviews/rolemanage')) const FormTab = asyncComponent(() => import('@/tabviews/formtab')) -let service = '' - -if (process.env.NODE_ENV === 'production') { - service = document.location.origin + '/' + window.GLOB.service + 'zh-CN/' -} else { - service = window.GLOB.location + '/' + window.GLOB.service + 'zh-CN/' -} - class BreadView extends Component { state = { tabview: null, // 鏍囩 - dict: sessionStorage.getItem('lang') !== 'en-US' ? mzhCN : menUS, hasNavBar: window.GLOB.navBar === 'linkage_navigation' } @@ -67,7 +55,7 @@ }) } - this.props.initActionPermission(_permAction) + window.GLOB.mkActions = _permAction } resolve() @@ -91,24 +79,32 @@ } } + changeTemp = (MenuID, Template) => { + this.setState({ + tabview: {...this.state.tabview, type: Template} + }) + } + selectcomponent = (view) => { // 鏍规嵁tab椤典腑鑿滃崟淇℃伅锛岄�夋嫨鎵�闇�鐨勭粍浠� - if (view.type === 'Home') { - return (<Home MenuNo={view.MenuNo} MenuID={view.MenuID} MenuName={view.MenuName} key={view.MenuID}/>) - } else if (view.type === 'CommonTable' || view.type === 'ManageTable') { - return (<CommonTable MenuNo={view.MenuNo} MenuID={view.MenuID} MenuName={view.MenuName} key={view.MenuID} param={view.param}/>) + if (view.type === 'BaseTable') { + return (<BaseTable MenuNo={view.MenuNo} MenuID={view.MenuID} MenuName={view.MenuName} key={view.MenuID} param={view.param} changeTemp={this.changeTemp}/>) } else if (view.type === 'CustomPage') { - return (<CustomPage MenuNo={view.MenuNo} MenuID={view.MenuID} MenuName={view.MenuName} key={view.MenuID} param={view.param}/>) + return (<CustomPage MenuNo={view.MenuNo} MenuID={view.MenuID} MenuName={view.MenuName} key={view.MenuID} param={view.param} changeTemp={this.changeTemp}/>) + } else if (view.type === 'Home') { + return (<Home MenuNo={view.MenuNo} MenuID={view.MenuID} MenuName={view.MenuName} key={view.MenuID}/>) + } else if (view.type === 'RolePermission') { + return (<RoleManage MenuNo={view.MenuNo} MenuID={view.MenuID} MenuName={view.MenuName} key={view.MenuID}/>) + } else if (view.type === 'CommonTable') { + return (<CommonTable MenuNo={view.MenuNo} MenuID={view.MenuID} MenuName={view.MenuName} key={view.MenuID} param={view.param} changeTemp={this.changeTemp}/>) } else if (view.type === 'TreePage') { return (<TreePage MenuNo={view.MenuNo} MenuID={view.MenuID} MenuName={view.MenuName} key={view.MenuID} param={view.param}/>) } else if (view.type === 'CalendarPage') { return (<CalendarPage MenuNo={view.MenuNo} MenuID={view.MenuID} MenuName={view.MenuName} key={view.MenuID} param={view.param}/>) - } else if (view.type === 'RolePermission') { - return (<RoleManage MenuNo={view.MenuNo} MenuID={view.MenuID} MenuName={view.MenuName} key={view.MenuID}/>) } else if (view.type === 'FormTab') { return (<FormTab MenuNo={view.MenuNo} MenuID={view.MenuID} MenuName={view.MenuName} key={view.MenuID} param={view.param}/>) } else if (view.type === 'iframe') { - return (<Iframe key={view.MenuID} MenuID={view.MenuID} MenuNo={view.MenuNo} title={view.MenuName} MenuName={view.MenuName} url={service + view.LinkUrl}/>) + return (<Iframe key={view.MenuID} MenuID={view.MenuID} MenuNo={view.MenuNo} title={view.MenuName} MenuName={view.MenuName} url={window.GLOB.baseurl + 'zh-CN/' + view.LinkUrl}/>) } else { return (<NotFount key={view.MenuID} />) } @@ -123,8 +119,7 @@ let home = { MenuID: 'home_page_id', - MenuName: this.state.dict['main.homepage'], - selected: true, + MenuName: '棣栭〉', type: 'Home' } this.setState({tabview: home}) @@ -133,25 +128,25 @@ gotoHome = () => { let home = { MenuID: 'home_page_id', - MenuName: this.state.dict['main.homepage'], - selected: true, + MenuName: '棣栭〉', type: 'Home' } this.setState({tabview: home}) } - UNSAFE_componentWillReceiveProps (nextProps) { - if (nextProps.tabviews && !is(fromJS(this.state.tabviews), fromJS(nextProps.tabviews))) { - // 淇濆瓨淇敼鏍囩闆� - this.setState({ - tabview: nextProps.tabviews[nextProps.tabviews.length - 1] - }) + modifyTabs = (tab) => { + this.setState({ + tabview: tab + }) - let node = document.getElementById('root').parentNode.parentNode - if (node) { - node.scrollTop = 0 - } + let node = document.getElementById('root').parentNode.parentNode + if (node) { + node.scrollTop = 0 } + } + + componentDidMount () { + MKEmitter.addListener('modifyTabs', this.modifyTabs) } /** @@ -161,6 +156,7 @@ this.setState = () => { return } + MKEmitter.removeListener('modifyTabs', this.modifyTabs) } render () { @@ -170,17 +166,17 @@ <section id="mk-breadview-wrap" className="mk-breadview-wrap"> {hasNavBar && tabview ? <Breadcrumb separator=""> <Breadcrumb.Item> - <Icon type="home" onClick={this.gotoHome} /> + <HomeOutlined onClick={this.gotoHome} /> </Breadcrumb.Item> {tabview.ParentNames && tabview.ParentNames[0] ? <Breadcrumb.Item>{tabview.ParentNames[0]}</Breadcrumb.Item> : null} {tabview.ParentNames && tabview.ParentNames[0] ? - <Breadcrumb.Separator children={<Icon type="right" />} /> : null} + <Breadcrumb.Separator children={<RightOutlined />} /> : null} {tabview.ParentNames && tabview.ParentNames[1] ? <Breadcrumb.Item>{tabview.ParentNames[1]}</Breadcrumb.Item> : null} {tabview.ParentNames && tabview.ParentNames[1] ? - <Breadcrumb.Separator children={<Icon type="right" />} /> : null} - <Breadcrumb.Item><Icon type="redo" onClick={this.refreshTabview}/>{tabview.MenuName}</Breadcrumb.Item> + <Breadcrumb.Separator children={<RightOutlined />} /> : null} + <Breadcrumb.Item><RedoOutlined onClick={this.refreshTabview}/>{tabview.MenuName}</Breadcrumb.Item> </Breadcrumb> : null} {tabview ? this.selectcomponent(tabview) : null} <BackTop> @@ -195,16 +191,4 @@ } } -const mapStateToProps = (state) => { - return { - tabviews: state.tabviews - } -} - -const mapDispatchToProps = (dispatch) => { - return { - initActionPermission: (permAction) => dispatch(initActionPermission(permAction)), - } -} - -export default connect(mapStateToProps, mapDispatchToProps)(BreadView) \ No newline at end of file +export default BreadView \ No newline at end of file -- Gitblit v1.8.0