Kaynağa Gözat

看课流量统计修改项目维度

wangxy 2 hafta önce
ebeveyn
işleme
de4d34a99b
1 değiştirilmiş dosya ile 20 ekleme ve 2 silme
  1. 20 2
      src/views/course/courseTrafficLog/indexhdt.vue

+ 20 - 2
src/views/course/courseTrafficLog/indexhdt.vue

@@ -57,11 +57,11 @@
       <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
     </el-row>
 
-    <el-table border v-loading="loading" :data="courseTrafficLogList" @selection-change="handleSelectionChange">
+    <el-table border v-loading="loading" :data="courseTrafficLogList" @selection-change="handleSelectionChange" show-summary :summary-method="getSummaries">
       <el-table-column type="selection" width="55" align="center" />
       <el-table-column label="项目" align="center" prop="projectName" />
       <el-table-column label="日期" align="center" prop="month" />
-      <el-table-column label="使用流量" align="center">
+      <el-table-column label="使用流量" align="center" prop="totalInternetTraffic">
         <template slot-scope="scope">
           <span>{{ formatTrafficData(scope.row.totalInternetTraffic) }}</span>
         </template>
@@ -161,6 +161,24 @@ export default {
 
   },
   methods: {
+    getSummaries(param) {
+      const { columns, data } = param;
+      const sums = [];
+      columns.forEach((column, index) => {
+        if (index === 0) {
+          sums[index] = '合计';
+          return;
+        }
+        if (column.property === 'totalInternetTraffic') {
+          const values = data.map(item => Number(item.totalInternetTraffic));
+          const total = values.reduce((acc, curr) => acc + curr, 0);
+          sums[index] = this.formatTrafficData(total);
+        } else {
+          sums[index] = '';
+        }
+      });
+      return sums;
+    },
     handleDateData(){
       if (this.time) {
         this.queryParams.startDate = this.time[0];