diff --git a/src/components/Charts/WaterWave/index.js b/src/components/Charts/WaterWave/index.js index 450b31ff75140760bb951d1110f45c8a0f53cc35..055f7c734643eee007f6c2d96fcdc5261a206426 100644 --- a/src/components/Charts/WaterWave/index.js +++ b/src/components/Charts/WaterWave/index.js @@ -27,7 +27,8 @@ class WaterWave extends PureComponent { componentDidUpdate(props) { const { percent } = this.props; if (props.percent !== percent) { - this.renderChart(); + // 不加这个会造成绘制缓慢 + this.renderChart('update'); } } @@ -49,10 +50,11 @@ class WaterWave extends PureComponent { } }; - renderChart() { + renderChart(type) { const { percent, color = '#1890FF' } = this.props; const data = percent / 100; const self = this; + cancelAnimationFrame(this.timer); if (!this.node || (data !== 0 && !data)) { return; @@ -60,7 +62,6 @@ class WaterWave extends PureComponent { const canvas = this.node; const ctx = canvas.getContext('2d'); - const canvasWidth = canvas.width; const canvasHeight = canvas.height; const radius = canvasWidth / 2; @@ -115,7 +116,7 @@ class WaterWave extends PureComponent { const gradient = ctx.createLinearGradient(0, 0, 0, canvasHeight); gradient.addColorStop(0, '#ffffff'); - gradient.addColorStop(1, '#1890FF'); + gradient.addColorStop(1, color); ctx.fillStyle = gradient; ctx.fill(); ctx.restore(); @@ -123,7 +124,7 @@ class WaterWave extends PureComponent { function render() { ctx.clearRect(0, 0, canvasWidth, canvasHeight); - if (circleLock) { + if (circleLock && type !== 'update') { if (arcStack.length) { const temp = arcStack.shift(); ctx.lineTo(temp[0], temp[1]); @@ -145,7 +146,7 @@ class WaterWave extends PureComponent { ctx.restore(); ctx.clip(); - ctx.fillStyle = '#1890FF'; + ctx.fillStyle = color; } } else { if (data >= 0.85) { @@ -180,7 +181,6 @@ class WaterWave extends PureComponent { } self.timer = requestAnimationFrame(render); } - render(); } diff --git a/src/pages/Dashboard/Monitor.js b/src/pages/Dashboard/Monitor.js index 5ec0a260bf51f7f37c28725ddddb0eb9b8a217d5..0c475db35feccaf089807cadffbf2315d429eadb 100644 --- a/src/pages/Dashboard/Monitor.js +++ b/src/pages/Dashboard/Monitor.js @@ -21,7 +21,6 @@ const havePermissionAsync = new Promise(resolve => { setTimeout(() => resolve(), 300); }); -export default @Secured(havePermissionAsync) @connect(({ monitor, loading }) => ({ monitor, @@ -153,3 +152,5 @@ class Monitor extends PureComponent { ); } } + +export default Monitor; diff --git a/src/pages/Dashboard/Workplace.js b/src/pages/Dashboard/Workplace.js index c53ef469763426cf6470ece1d239024ae1edb3b1..e9e44d4583c317615af21dbe623530a5f029f340 100644 --- a/src/pages/Dashboard/Workplace.js +++ b/src/pages/Dashboard/Workplace.js @@ -37,7 +37,6 @@ const links = [ }, ]; -export default @connect(({ user, project, activities, chart, loading }) => ({ currentUser: user.currentUser, project, @@ -253,3 +252,5 @@ class Workplace extends PureComponent { ); } } + +export default Workplace;