| | |
| | | if (menu.MenuID === this.state.selectedTabId) { |
| | | tabs[0] && (tabs[0].selected = true) |
| | | } |
| | | console.log(tabs) |
| | | this.props.modifyTabview(tabs) |
| | | } |
| | | |
| | |
| | | |
| | | selectcomponent (view) { |
| | | // 根据tab页中菜单信息,选择所需的组件 |
| | | if (view.type === 'CommonTable') { |
| | | if (view.type === 'Home') { |
| | | return (<Comps.Home MenuNo={view.MenuNo} MenuID={view.MenuID} MenuName={view.MenuName} key={view.MenuID}/>) |
| | | } else if (view.type === 'CommonTable') { |
| | | return (<Comps.CommonTable MenuNo={view.MenuNo} MenuID={view.MenuID} MenuName={view.MenuName} key={view.MenuID}/>) |
| | | } else if (view.type === 'DataManage') { |
| | | return (<Comps.DataManage MenuNo={view.MenuNo} MenuID={view.MenuID} MenuName={view.MenuName} key={view.MenuID}/>) |
| | |
| | | } |
| | | } |
| | | |
| | | componentDidMount () { |
| | | let home = { |
| | | MenuID: '1576117946681plembmkk9akkv8sn0vtdfdsfaf', |
| | | MenuName: '首页', |
| | | MenuNo: 'MESOrderDetailMwe', |
| | | PageParam: {}, |
| | | id: 1, |
| | | selected: true, |
| | | src: '', |
| | | text: '首页', |
| | | type: 'Home' |
| | | } |
| | | this.props.modifyTabview([home]) |
| | | } |
| | | |
| | | UNSAFE_componentWillReceiveProps (nextProps) { |
| | | if (nextProps.tabviews && !is(fromJS(this.props.tabviews), fromJS(nextProps.tabviews))) { |
| | | // tab窗口页增加或删除 |
| | |
| | | // 查看新tab页需要组件是否加载 |
| | | let MenuIDs = this.props.tabviews.map(tab => {return tab.MenuID}) |
| | | let newtab = nextProps.tabviews.filter(tab => !MenuIDs.includes(tab.MenuID))[0] |
| | | if (!Comps.CommonTable && newtab.type === 'CommonTable') { |
| | | if (!Comps.Home && newtab.type === 'Home') { |
| | | Comps.Home = asyncComponent(() => import('@/tabviews/home')) |
| | | } else if (!Comps.CommonTable && newtab.type === 'CommonTable') { |
| | | Comps.CommonTable = asyncComponent(() => import('@/tabviews/commontable')) |
| | | } else if (!Comps.Iframe && newtab.type === 'iframe') { |
| | | Comps.Iframe = asyncComponent(() => import('@/tabviews/iframe')) |
| | |
| | | <span className="tab-name" onClick={() => {this.changeTab(view)}}> |
| | | {view.MenuName} |
| | | </span> |
| | | <Icon type="close" onClick={() => {this.handleTabview(view)}}/> |
| | | {view.type !== 'Home' ? <Icon type="close" onClick={() => {this.handleTabview(view)}}/> : null} |
| | | </span> |
| | | } |
| | | key={view.MenuID} |