From 5cfe6db94c1449810a44660b299dba8e7e98e5c5 Mon Sep 17 00:00:00 2001
From: king <18310653075@163.com>
Date: 星期四, 10 六月 2021 14:43:39 +0800
Subject: [PATCH] 2021-06-10

---
 src/menu/components/chart/antv-pie/index.jsx |   62 ++++++++++++-------------------
 1 files changed, 24 insertions(+), 38 deletions(-)

diff --git a/src/menu/components/chart/antv-pie/index.jsx b/src/menu/components/chart/antv-pie/index.jsx
index cfbbd96..593fcd5 100644
--- a/src/menu/components/chart/antv-pie/index.jsx
+++ b/src/menu/components/chart/antv-pie/index.jsx
@@ -112,9 +112,12 @@
   }
 
   componentDidMount () {
-    this.pierender()
     MKEmitter.addListener('tabsChange', this.handleTabsChange)
     MKEmitter.addListener('submitStyle', this.getStyle)
+
+    setTimeout(() => {
+      this.viewrender()
+    }, 1000)
   }
 
   shouldComponentUpdate (nextProps, nextState) {
@@ -142,7 +145,17 @@
       }
 
       this.$timer && clearTimeout(this.$timer)
-      this.$timer = setTimeout(this.pierender, 100)
+      this.$timer = setTimeout(this.viewrender, 100)
+    }
+  }
+
+  viewrender = () => {
+    const { card } = this.state
+
+    if (card.plot.shape === 'nest') {
+      this.nestrender()
+    } else {
+      this.pierender()
     }
   }
 
@@ -349,19 +362,13 @@
         chart2.label(Y_axis, {
           offset: -30,
           content: (data) => {
-            let _label = ''
             let _val = ''
             if (plot.show !== 'value') {
               _val = `${(data[Y_axis] * 100).toFixed(2)}%`
             } else {
               _val = `${data[Y_axis]}`
             }
-            if (plot.label === 'inner') {
-              _label = _val
-            } else {
-              _label = `${data[X_axis]}: ${_val}`
-            }
-            return _label
+            return _val
           },
           style: {
             textAlign: 'center',
@@ -373,22 +380,17 @@
         })
       } else {
         chart2.label(Y_axis, {
-          layout: { type: 'pie-spider' },
+          layout: { type: plot.label === 'outer' ? 'pie-spider' : 'fixed-overlap' },
           labelHeight: 20,
           content: (data) => {
-            let _label = ''
             let _val = ''
             if (plot.show !== 'value') {
               _val = `${(data[Y_axis] * 100).toFixed(2)}%`
             } else {
               _val = `${data[Y_axis]}`
             }
-            if (plot.label === 'inner') {
-              _label = _val
-            } else {
-              _label = `${data[X_axis]}: ${_val}`
-            }
-            return _label
+
+            return `${data[X_axis]}: ${_val}`
           },
           labelLine: {
             style: {
@@ -414,11 +416,6 @@
   pierender = () => {
     const { card } = this.state
     const plot = card.plot
-
-    if (plot.shape === 'nest') {
-      this.nestrender()
-      return
-    }
 
     let color = plot.color || 'rgba(0, 0, 0, 0.85)'
     let X_axis = plot.Xaxis || 'x'
@@ -530,19 +527,13 @@
           _chart.label(Y_axis, {
             offset: -30,
             content: (data) => {
-              let _label = ''
               let _val = ''
               if (plot.show !== 'value') {
                 _val = `${(data[Y_axis] * 100).toFixed(2)}%`
               } else {
                 _val = `${data[Y_axis]}`
               }
-              if (plot.label === 'inner') {
-                _label = _val
-              } else {
-                _label = `${data[X_axis]}: ${_val}`
-              }
-              return _label
+              return _val
             },
             style: {
               textAlign: 'center',
@@ -554,22 +545,17 @@
           })
         } else {
           _chart.label(Y_axis, {
-            layout: { type: 'pie-spider' },
+            layout: { type: plot.label === 'outer' ? 'pie-spider' : 'fixed-overlap' },
             labelHeight: 20,
             content: (data) => {
-              let _label = ''
               let _val = ''
               if (plot.show !== 'value') {
                 _val = `${(data[Y_axis] * 100).toFixed(2)}%`
               } else {
                 _val = `${data[Y_axis]}`
               }
-              if (plot.label === 'inner') {
-                _label = _val
-              } else {
-                _label = `${data[X_axis]}: ${_val}`
-              }
-              return _label
+
+              return `${data[X_axis]}: ${_val}`
             },
             labelLine: {
               style: {
@@ -628,7 +614,7 @@
       }
       this.$timer && clearTimeout(this.$timer)
       this.$timer = setTimeout(() => {
-        this.pierender()
+        this.viewrender()
       }, 150)
     }
 

--
Gitblit v1.8.0