Browse Source

指标看板导出

zhuth 6 years ago
parent
commit
26903bee18
2 changed files with 24 additions and 2 deletions
  1. 22 0
      src/models/dashboardDesigner.js
  2. 2 2
      src/models/parseChartOption.js

+ 22 - 0
src/models/dashboardDesigner.js

@@ -712,6 +712,9 @@ export default {
                 yield put({ type: 'dataList/setField', name: 'loading', value: false });
             }
         },
+        /**
+         * 后台导出方案-已废弃
+         */
         // *exportToExcel(action, { select, call, put }) {
         //     const dashboardDesigner = yield select(state => state.present.dashboardDesigner);
         //     const { code, name, dataSources, filters } = dashboardDesigner;
@@ -876,6 +879,25 @@ export default {
                                     });
                                 }
                             }
+                        }else if(chartType === 'indicator') {
+                            let { originConfig, data } = chartOption;
+                            let { xAxis, yAxis, otherColumn } = (originConfig || {});
+                            columns = [{
+                                name: xAxis.column.label,
+                                width: 100,
+                                type: 'String'
+                            }, {
+                                name: yAxis.column.label,
+                                width: 100,
+                                type: 'Number'
+                            }].concat(otherColumn.map(c => ({
+                                name: c.label,
+                                width: 100,
+                                type: 'String'
+                            })));
+                            rows = data.map(d => {
+                                return [d.name, d.key, d.value].concat(d.others.map(o => o.value))
+                            });
                         }
                     }else if(viewType === 'richText') {
                         columns = [{

+ 2 - 2
src/models/parseChartOption.js

@@ -555,10 +555,10 @@ function indicatorOption(data, indicatorConfig, themeConfig, styleConfig) {
         data: (data.serieses || []).map(d => ({
             name: xAxis.column.type === 'time' ? (moment(d.name).isValid() ? moment(d.name).format('YYYY-MM-DD') : d.name) : d.name,
             key: yAxis.column.label,
-            value: yAxis.column.type === 'time' ? (moment(d.value).isValid() ? moment(d.value).format('YYYY-MM-DD') : d.value) : d.value,
+            value: d.value,
             others: otherColumn.map(c => ({
                 name: c.label,
-                value: d[c.value]
+                value: c.type === 'time' ? (moment(d[c.value]).isValid() ? moment(d[c.value]).format('YYYY-MM-DD') : d[c.value]) : d[c.value]
             }))
         }))
     };