From 726df452c8749f9f208f67ede9864f223d44ff49 Mon Sep 17 00:00:00 2001
From: 田源 <lastanimals@163.com>
Date: 星期五, 24 十一月 2023 17:43:56 +0800
Subject: [PATCH] 统计图表假数据测试

---
 Source/UBCS-WEB/src/components/StatisticsComponent/lineChart.vue |  143 ++++++++++++++++++++++-------------------------
 1 files changed, 67 insertions(+), 76 deletions(-)

diff --git a/Source/UBCS-WEB/src/components/StatisticsComponent/lineChart.vue b/Source/UBCS-WEB/src/components/StatisticsComponent/lineChart.vue
index 4427fb6..fcc9ab9 100644
--- a/Source/UBCS-WEB/src/components/StatisticsComponent/lineChart.vue
+++ b/Source/UBCS-WEB/src/components/StatisticsComponent/lineChart.vue
@@ -1,103 +1,94 @@
 <template>
   <div id="main">
     <basic-container>
-      <v-chart :options="option" ref="chart" style="width: 100%;"></v-chart>
+      <v-chart id="chart" :auto-resize="true" :options="chartOptions"></v-chart>
     </basic-container>
   </div>
 </template>
 
 <script>
 import 'echarts'
-import 'echarts/lib/chart/line';
-import 'echarts/lib/component/tooltip';
-import 'echarts/lib/component/title';
-import 'echarts/lib/component/legend';
+import 'echarts/lib/chart/line'
+import 'echarts/lib/component/tooltip'
+import 'echarts/lib/component/title'
+import 'echarts/lib/component/legend'
+
 export default {
-  name: "statisticPage",
+  name: "lineChart",
+  props: {
+    lineData: {
+      type: Array,
+      default: []
+    },
+    chartName: {
+      type: String,
+      default: ""
+    }
+  },
+  watch: {
+    lineData: {
+      immediate: true,
+      handler(newval, oldval) {
+        if (newval) {
+          const series = newval.map((data, index) => ({
+            name: index === 0 ? "鎬婚噺" : "鏂板",
+            type: "line",
+            smooth: true,
+            stack: "Total",
+            label: {
+              show: true,
+              position: "top"
+            },
+            data: data.map(value => ({value}))
+          }));
+
+          this.chartOptions.series = series;
+        }
+      }
+    },
+    chartName:{
+      handler(newval,oldval){
+        if(newval){
+          this.chartOptions.title.text = newval + "鏁版嵁缁熻"
+        }
+      },
+      immediate:true,
+      deep:true
+    }
+  },
   data() {
     return {
-      option: {
-        color: ['red','black'],
-        legend: {
-          data: ['鍥句緥1', '鍥句緥2', '鍥句緥3'],
-        },
-        dataset: [
-          {
-            id: 'dataset_raw',
-            source: [
-              { month: 1, total: 1000, newly: 800 },
-              { month: 2, total: 5000, newly: 1000 },
-              { month: 3, total: 1800, newly: 1400 },
-              { month: 4, total: 1500, newly: 1200 },
-              { month: 5, total: 1000, newly: 1200 },
-              { month: 6, total: 1500, newly: 1200 },
-              { month: 7, total: 1500, newly: 1200 },
-              { month: 8, total: 1500, newly: 1000 },
-              { month: 9, total: 1500, newly: 1200 },
-              { month: 10, total: 1500, newly: 1200 },
-              { month: 11, total: 1500, newly: 1200 },
-              { month: 12, total: 1500, newly: 1200 },
-            ],
-          },
-        ],
+      chartOptions: {
+        color: ['#2eadd6', '#FFA500'],
         title: {
-          text: '涓绘暟鎹粺璁″垎鏋�',
-          left:'center',
-          textAlign:'center'
+          text: ''
         },
         tooltip: {
-          trigger: 'axis',
+          trigger: 'axis'
+        },
+        legend: {
+          data: ['鎬婚噺', '鏂板']
         },
         xAxis: {
+          boundaryGap: true,
           type: 'category',
-          nameLocation: 'middle',
-          name:'month',
-          // data: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12] // 鏈堜唤鏁版嵁
+          data: ['1鏈�', '2鏈�', '3鏈�', '4鏈�', '5鏈�', '6鏈�', '7鏈�', '8鏈�', '9鏈�', '10鏈�', '11鏈�', '12鏈�']
         },
         yAxis: {
-          name: 'Number',
-          type: 'value',
+          type: 'value'
         },
-        series: [
-          {
-            type: 'line',
-            datasetId: 'dataset_raw',
-            showSymbol: false,
-            encode: {
-              x: 'month',
-              y: 'total',
-              itemName: 'month',
-              tooltip: ['total'],
-            },
-          },
-          {
-            type: 'line',
-            datasetId: 'dataset_raw',
-            showSymbol: false,
-            encode: {
-              x: 'month',
-              y: 'newly',
-              itemName: 'month',
-              tooltip: ['newly'],
-            },
-          },
-        ],
+        series: []
       }
     };
   },
-  mounted() {
-    import('echarts').then((echarts) => {
-      // console.log(echarts)
-      this.$nextTick(() => {
-        const chartDom = this.$refs.chart.$el;
-        const myChart = echarts.init(chartDom);
-        myChart.setOption(this.option);
-      });
-    });
-  },
-}
+  created() {
+  }
+};
 </script>
 
-<style scoped>
-
+<style lang="scss" scoped>
+#chart {
+  width: 100%;
+  height: 400px;
+}
 </style>

--
Gitblit v1.9.3