| | |
| | | class ChartGroupComponent extends Component { |
| | | static propTpyes = { |
| | | config: PropTypes.object, // 菜单配置信息 |
| | | sysRoles: PropTypes.array, // 角色列表,黑名单使用 |
| | | updatechartgroup: PropTypes.func // 图表更新 |
| | | } |
| | | |
| | | state = { |
| | | dict: (!localStorage.getItem('lang') || localStorage.getItem('lang') === 'zh-CN') ? zhCN : enUS, |
| | | dict: localStorage.getItem('lang') !== 'en-US' ? zhCN : enUS, |
| | | chartlist: null, // 图表集 |
| | | card: null, // 编辑中元素 |
| | | formlist: null, // 表单信息 |
| | |
| | | icon: 'line-chart', |
| | | Hide: 'false', |
| | | blacklist: [], |
| | | correction: 7 |
| | | barSize: 35 |
| | | } |
| | | } |
| | | |
| | |
| | | } |
| | | } |
| | | |
| | | let actions = config.action.filter(item => item.OpenType === 'excelOut' || (item.OpenType === 'excelIn' && item.Ot === 'notRequired')) |
| | | actions = actions.map(cell => ({value: cell.uuid, text: cell.label})) |
| | | |
| | | if (item.actions && item.actions.length > 0) { |
| | | let keys = actions.map(cell => cell.value) |
| | | item.actions = item.actions.filter(cell => keys.includes(cell)) |
| | | } |
| | | |
| | | let extraActions = config.action.filter(item => ['pop', 'prompt', 'exec'].includes(item.OpenType) && item.Ot === 'notRequired') |
| | | extraActions = extraActions.map(cell => ({value: cell.uuid, text: cell.label})) |
| | | |
| | | if (item.extraAction && extraActions.filter(cell => cell.value === item.extraAction).length === 0) { |
| | | item.extraAction = '' |
| | | } |
| | | |
| | | this.setState({ |
| | | card: item, |
| | | modaltype: _type, |
| | | formlist: getChartViewForm(item, this.props.sysRoles, _columns) |
| | | formlist: getChartViewForm(item, _columns, actions, extraActions) |
| | | }) |
| | | } |
| | | |
| | |
| | | |
| | | confirm({ |
| | | content: dict['model.confirm'] + dict['model.delete'] + ` ${plot.title} ?`, |
| | | okText: dict['model.confirm'], |
| | | cancelText: dict['header.cancel'], |
| | | onOk() { |
| | | let _chartlist = fromJS(_this.state.chartlist).toJS() |
| | | let _chartview = _this.state.chartview |
| | |
| | | this.props.updatechartgroup(config, id) |
| | | } |
| | | |
| | | shouldComponentUpdate (nextProps, nextState) { |
| | | return !is(fromJS(this.props), fromJS(nextProps)) || !is(fromJS(this.state), fromJS(nextState)) |
| | | } |
| | | |
| | | /** |
| | | * @description 组件销毁,清除state更新 |
| | | */ |
| | |
| | | return ( |
| | | <div className="model-table-chartview-list"> |
| | | <Icon type="plus" onClick={() => this.handleChart()} /> |
| | | {chartlist.length > 1 ? <Icon type={config.expand ? 'up' : 'down'} onClick={this.onChartChange} /> : null} |
| | | {chartlist.length > 1 ? <Icon type={config.expand ? 'up' : 'down'} title="展开/合并" onClick={this.onChartChange} /> : null} |
| | | {chartlist.length > 1 ? <DragChartView |
| | | activeKey={chartview} |
| | | list={chartlist} |