| | |
| | | import React, {Component} from 'react' |
| | | import PropTypes from 'prop-types' |
| | | import { is, fromJS } from 'immutable' |
| | | import { Tabs, Icon } from 'antd' |
| | | import { Tabs } from 'antd' |
| | | |
| | | import asyncComponent from '@/utils/asyncComponent' |
| | | import MkIcon from '@/components/mk-icon' |
| | | import MKEmitter from '@/utils/events.js' |
| | | import './index.scss' |
| | | |
| | |
| | | |
| | | UNSAFE_componentWillMount () { |
| | | const { config, bids } = this.props |
| | | |
| | | this.setState({ |
| | | tabs: config, |
| | | tabs: fromJS(config).toJS(), |
| | | parentIds: config.parentIds || [], |
| | | bids: bids ? bids : {} |
| | | }) |
| | |
| | | } |
| | | |
| | | resetParentParam = (MenuID, id, data) => { |
| | | const { parentIds, bids } = this.state |
| | | const { parentIds, bids, tabs } = this.state |
| | | |
| | | if (!parentIds.includes(MenuID)) return |
| | | if (parentIds.includes(MenuID)) { |
| | | this.setState({ |
| | | bids: {...bids, [MenuID]: id, [MenuID + '_data']: data} |
| | | }) |
| | | } |
| | | |
| | | this.setState({ |
| | | bids: {...bids, [MenuID]: id, [MenuID + '_data']: data} |
| | | }) |
| | | if (tabs.setting.supModule === MenuID) { |
| | | if (!data || data[tabs.setting.controlField] === undefined) { |
| | | this.setState({ |
| | | tabs: {...tabs, subtabs: this.props.config.subtabs} |
| | | }) |
| | | } else { |
| | | let val = data[tabs.setting.controlField] |
| | | this.setState({ |
| | | tabs: {...tabs, subtabs: this.props.config.subtabs.filter(tab => { |
| | | if (tab.controlVal === val) { |
| | | return false |
| | | } else if (/,/ig.test(tab.controlVal)) { |
| | | return tab.controlVal.split(',').includes(val) |
| | | } |
| | | return true |
| | | })} |
| | | }) |
| | | } |
| | | } |
| | | } |
| | | |
| | | autoSwitch = (interval) => { |
| | |
| | | <div className={'menu-antv-tabs-wrap ' + tabs.setting.tabLabel} style={tabs.style}> |
| | | <Tabs defaultActiveKey="1" tabPosition={tabs.setting.position} type={tabs.setting.tabStyle}> |
| | | {tabs.subtabs.map(tab => ( |
| | | <TabPane tab={<span id={'tab' + tab.uuid}>{tab.icon ? <Icon type={tab.icon} /> : null}{tab.label}</span>} key={tab.uuid}> |
| | | <TabPane tab={<span id={'tab' + tab.uuid}>{tab.icon ? <MkIcon type={tab.icon} /> : null}{tab.label}</span>} key={tab.uuid}> |
| | | <TabTransfer BID={BID} config={tab} bids={bids} mainSearch={mainSearch}/> |
| | | </TabPane> |
| | | ))} |