From c6f7462d80ab626174329b69045fb7e5704c0683 Mon Sep 17 00:00:00 2001 From: king <18310653075@163.com> Date: 星期六, 05 六月 2021 22:44:17 +0800 Subject: [PATCH] 2021-06-05 --- src/tabviews/custom/components/chart/antv-bar-line/index.jsx | 186 +++++++++++++++++++++++++++++----------------- 1 files changed, 117 insertions(+), 69 deletions(-) diff --git a/src/tabviews/custom/components/chart/antv-bar-line/index.jsx b/src/tabviews/custom/components/chart/antv-bar-line/index.jsx index 21ce0d1..85e467d 100644 --- a/src/tabviews/custom/components/chart/antv-bar-line/index.jsx +++ b/src/tabviews/custom/components/chart/antv-bar-line/index.jsx @@ -2,7 +2,7 @@ import PropTypes from 'prop-types' import { is, fromJS } from 'immutable' import { Chart } from '@antv/g2' -import { connect } from 'react-redux' +// import { connect } from 'react-redux' import DataSet from '@antv/data-set' import { Spin, Empty, notification } from 'antd' import moment from 'moment' @@ -12,7 +12,7 @@ import Api from '@/api' import Utils from '@/utils/utils.js' import UtilsDM from '@/utils/utils-datamanage.js' -import { modifyTabview } from '@/store/action' +// import { modifyTabview } from '@/store/action' import MKEmitter from '@/utils/events.js' import './index.scss' @@ -518,7 +518,7 @@ * 3銆佹煴鐘跺浘鏁版嵁琛ラ綈 */ getdata = () => { - const { data, plot, vFields } = this.state + const { data, plot, vFields, config } = this.state if (!data || data.length === 0) { this.setState({empty: true}) @@ -563,6 +563,7 @@ item[col.field] = item[col.field].toFixed(col.decimal) item[col.field] = +item[col.field] }) + item.$$uuid = item[config.setting.primaryKey] || '' return item }) } else if (plot.repeat === 'cumsum') { @@ -597,6 +598,7 @@ item[col.field] = item[col.field].toFixed(col.decimal) item[col.field] = +item[col.field] }) + item.$$uuid = item[config.setting.primaryKey] || '' return item }) } else { // plot.repeat === 'unrepeat' @@ -616,6 +618,8 @@ item[col.field] = item[col.field].toFixed(col.decimal) item[col.field] = +item[col.field] }) + + item.$$uuid = item[config.setting.primaryKey] || '' _mdata.set(item[plot.Xaxis], item) } }) @@ -908,12 +912,16 @@ }) } - if (plot.point === 'true' && plot.$colors) { - let limit = chartColors.length - chart + if (plot.point === 'true') { + let _chart = chart .point() .position(`${plot.Xaxis}*${_valfield}`) - .color(_typefield, (key) => { + .size(3) + .shape('circle') + + if (plot.$colors) { + let limit = chartColors.length + _chart.color(_typefield, (key) => { if (plot.$colors.has(key)) { return plot.$colors.get(key) } else { @@ -921,15 +929,31 @@ return chartColors[(colorIndex - 1) % limit] } }) - .size(3) - .shape('circle') - } else if (plot.point === 'true') { - chart - .point() + } else { + _chart.color(_typefield) + } + } + + if (plot.area === 'true') { + let area = chart + .area() + .shape(plot.shape || 'smooth') .position(`${plot.Xaxis}*${_valfield}`) - .color(_typefield) - .size(3) - .shape('circle') + .tooltip(false) + + if (plot.$colors) { + let limit = chartColors.length + area.color(_typefield, (key) => { + if (plot.$colors.has(key)) { + return plot.$colors.get(key) + } else { + colorIndex++ + return chartColors[(colorIndex - 1) % limit] + } + }) + } else { + area.color(_typefield) + } } if (plot.interaction && plot.interaction.length) { @@ -1285,7 +1309,7 @@ * @description 鏌辩姸鍥炬覆鏌� */ barrender = () => { - const { plot, transfield } = this.state + const { plot, transfield, config } = this.state let _data = [] let _valfield = 'value' @@ -1448,6 +1472,15 @@ if (plot.barSize || plot.correction) { _chart.size(plot.barSize || 35) } + if (plot.selectColor) { + _chart.state({ + selected: { + style: { + fill: plot.selectColor, + } + } + }) + } if (plot.barRadius) { _chart.style({ radius: [plot.barRadius, plot.barRadius, 0, 0] }) } @@ -1494,58 +1527,72 @@ if (plot.barSize || plot.correction) { _chart.size(plot.barSize || 35) } + if (plot.selectColor) { + _chart.state({ + selected: { + style: { + fill: plot.selectColor, + } + } + }) + } if (plot.barRadius) { _chart.style({ radius: [plot.barRadius, plot.barRadius, 0, 0] }) } } - if (plot.linkmenu && plot.linkmenu.length > 0) { - let menu_id = plot.linkmenu.slice(-1)[0] - let menu = this.props.permMenus.filter(m => m.MenuID === menu_id)[0] || '' + chart.on('element:click', (ev) => { + let data = ev.data.data + MKEmitter.emit('resetSelectLine', config.uuid, (data ? data.$$uuid : ''), null) + }) - chart.on('element:dblclick', (ev) => { - if (!menu) { - notification.warning({ - top: 92, - message: '鑿滃崟宸插垹闄ゆ垨娌℃湁璁块棶鏉冮檺锛�', - duration: 5 - }) - return - } + // if (plot.linkmenu && plot.linkmenu.length > 0) { + // let menu_id = plot.linkmenu.slice(-1)[0] + // let menu = this.props.permMenus.filter(m => m.MenuID === menu_id)[0] || '' - try { - let data = ev.data.data - let primaryId = '' - if (this.state.config.setting.primaryKey && data) { - primaryId = data[this.state.config.setting.primaryKey] || '' - } + // chart.on('element:dblclick', (ev) => { + // if (!menu) { + // notification.warning({ + // top: 92, + // message: '鑿滃崟宸插垹闄ゆ垨娌℃湁璁块棶鏉冮檺锛�', + // duration: 5 + // }) + // return + // } - let newtab = { - ...menu, - selected: true, - param: { - $BID: primaryId - } - } + // try { + // let data = ev.data.data + // let primaryId = '' + // if (this.state.config.setting.primaryKey && data) { + // primaryId = data[this.state.config.setting.primaryKey] || '' + // } + + // let newtab = { + // ...menu, + // selected: true, + // param: { + // $BID: primaryId + // } + // } - let tabs = this.props.tabviews.filter(tab => { - tab.selected = false - return tab.MenuID !== newtab.MenuID - }) + // let tabs = this.props.tabviews.filter(tab => { + // tab.selected = false + // return tab.MenuID !== newtab.MenuID + // }) - if (this.props.tabviews.length > tabs.length) { - this.props.modifyTabview(fromJS(tabs).toJS()) - } + // if (this.props.tabviews.length > tabs.length) { + // this.props.modifyTabview(fromJS(tabs).toJS()) + // } - this.setState({}, () => { - tabs.push(newtab) - this.props.modifyTabview(tabs) - }) - } catch { - console.warn('鑿滃崟鎵撳紑澶辫触锛�') - } - }) - } + // this.setState({}, () => { + // tabs.push(newtab) + // this.props.modifyTabview(tabs) + // }) + // } catch { + // console.warn('鑿滃崟鎵撳紑澶辫触锛�') + // } + // }) + // } if (plot.interaction && plot.interaction.length) { plot.interaction.forEach(t => { @@ -1608,17 +1655,18 @@ } } -const mapStateToProps = (state) => { - return { - tabviews: state.tabviews, - permMenus: state.permMenus, - } -} +// const mapStateToProps = (state) => { +// return { +// tabviews: state.tabviews, +// permMenus: state.permMenus, +// } +// } -const mapDispatchToProps = (dispatch) => { - return { - modifyTabview: (tabviews) => dispatch(modifyTabview(tabviews)) - } -} +// const mapDispatchToProps = (dispatch) => { +// return { +// modifyTabview: (tabviews) => dispatch(modifyTabview(tabviews)) +// } +// } -export default connect(mapStateToProps, mapDispatchToProps)(LineChart) \ No newline at end of file +// export default connect(mapStateToProps, mapDispatchToProps)(LineChart) +export default LineChart \ No newline at end of file -- Gitblit v1.8.0