From 42fae277ae5ebe794fc070bf38482a919eb661fc Mon Sep 17 00:00:00 2001 From: king <18310653075@163.com> Date: 星期三, 25 十一月 2020 14:36:02 +0800 Subject: [PATCH] 2020-11-25 --- src/templates/sharecomponent/chartgroupcomponent/index.jsx | 72 +++++++++++++++++++++++++++++++---- 1 files changed, 63 insertions(+), 9 deletions(-) diff --git a/src/templates/sharecomponent/chartgroupcomponent/index.jsx b/src/templates/sharecomponent/chartgroupcomponent/index.jsx index 1ed99b7..8596cd8 100644 --- a/src/templates/sharecomponent/chartgroupcomponent/index.jsx +++ b/src/templates/sharecomponent/chartgroupcomponent/index.jsx @@ -14,16 +14,14 @@ const { confirm } = Modal -// **鎮茶鑰呭線寰�姝g‘锛屼箰瑙傝�呭線寰�鎴愬姛 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, // 琛ㄥ崟淇℃伅 @@ -78,6 +76,8 @@ * @description 娣诲姞鎴栦慨鏀瑰浘琛� */ handleChart = (item) => { + const { config } = this.props + let _type = 'editChart' if (!item) { _type = 'addChart' @@ -88,14 +88,66 @@ chartType: 'line', icon: 'line-chart', Hide: 'false', - blacklist: [] + blacklist: [], + barSize: 35 } + } + + let _columns = [{ + uuid: 'x', + value: '', + text: '绌�', + background: '' + }] + config.columns.forEach(col => { + if (!['text', 'number'].includes(col.type)) return + if (!col.marks) return + + let _marks = col.marks.filter(_mark => _mark.signType === 'card') + + if (_marks.length === 0) return + + _columns.push({ + uuid: col.uuid, + value: col.field, + text: col.label, + background: _marks[0].color ? _marks[0].color[1] : '' + }) + }) + + if (item.chartType === 'card') { // 妫�楠屽凡娣诲姞鑳屾櫙鏄惁淇敼 + if (item.bgfield) { + let _column = _columns.filter(col => col.value === item.bgfield)[0] + if (_column) { + item.background = _column.background + } else { + item.bgfield = '' + item.background = '' + } + } else { + item.background = '' + } + } + + 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) + formlist: getChartViewForm(item, _columns, actions, extraActions) }) } @@ -158,8 +210,6 @@ 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 @@ -190,6 +240,10 @@ this.props.updatechartgroup(config, id) } + shouldComponentUpdate (nextProps, nextState) { + return !is(fromJS(this.props), fromJS(nextProps)) || !is(fromJS(this.state), fromJS(nextState)) + } + /** * @description 缁勪欢閿�姣侊紝娓呴櫎state鏇存柊 */ @@ -206,7 +260,7 @@ 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} @@ -220,7 +274,7 @@ <Modal title={modaltype === 'addChart' ? '鍥捐〃-娣诲姞' : '鍥炬爣-缂栬緫'} visible={modaltype === 'addChart' || modaltype === 'editChart'} - width={750} + width={800} maskClosable={false} onOk={this.submitChart} onCancel={this.editModalCancel} -- Gitblit v1.8.0