jiangping
2025-01-23 14f37814a441d795ae7a15dfe4b7be05aa49f96f
admin/src/views/statistics/platformStatic.vue
@@ -16,6 +16,12 @@
      <el-table-column prop="workCountTime" label="工作时长" min-width="100" show-overflow-tooltip />
      <el-table-column prop="useRata" label="月台使用率" min-width="100" show-overflow-tooltip />
    </el-table>
    <div v-if="this.list" style="width: 100%;display: flex;height: 50px;padding-top: 20px;font-size: 18px;color: red">
      <div style="flex: 1;min-width: 100px"></div>
      <div style="flex: 1;min-width: 100px;">合计:</div>
      <div style="flex: 1;min-width: 100px;"> <span style="font-weight: bold; ">{{totalStopCount}}</span>次 </div>
      <div style="flex: 2;min-width: 100px;"> <span style="font-weight: bold;">{{totalWorkTime.toFixed(2)}}</span>时</div>
    </div>
    <!-- <pagination @size-change="handleSizeChange" @current-change="getList" :pagination="pagination" /> -->
  </div>
</template>
@@ -42,6 +48,8 @@
        fastdate: 0,
        selDate: []
      },
      totalStopCount:0,
      totalWorkTime:0,
      list: [],
      total: 0,
      queryFormConfig: {
@@ -79,6 +87,30 @@
    this.getGroupList()
  },
  methods: {
    getSummaries(param) {
      const { columns, data } = param;
      const sums = [];
      columns.forEach((column, index) => {
        if (index === 0) {
          sums[index] = '合计';
        } else {
          const values = data.map(item => parseInt(item[column.property]));
          if (!values.every(value => isNaN(value))) {
            sums[index] = values.reduce((prev, curr) => {
              const value = parseInt(curr);
              if (!isNaN(value)) {
                return prev + curr;
              } else {
                return prev;
              }
            }, 0);
          } else {
            sums[index] = '0';
          }
        }
      });
      return sums;
    },
    changeRadio(day) {
      const arr = [dayjs().subtract(day, 'day').format('YYYY-MM-DD'), dayjs().format('YYYY-MM-DD')]
      this.$set(this.filters, 'selDate', arr)
@@ -103,6 +135,8 @@
      })
    },
    getList(page) {
      this.totalStopCount = 0
      this.totalWorkTime = 0
      const { pagination, filters } = this
      this.loading = true
      platformWorkReportPage({
@@ -113,6 +147,8 @@
        this.loading = false
        this.list = res || []
        this.list.forEach(item => {
          this.totalStopCount = this.totalStopCount + (item.stopCount || 0)
          this.totalWorkTime = this.totalWorkTime + (item.workCountTime || 0)
          item.useRata = item.useRata + '%'
          item.workCountTime = item.workCountTime + '时'
          // item.workTime = dayjs.duration(item.workTime, 'seconds').format('H时m分s秒')