bigdataReport.vue 2.81 KB
<template xmlns:el-col="http://www.w3.org/1999/html">
  <div>
    <br/>
    <span>接口请求参数覆盖率</span>
    <el-table
      :data="baseReports"
      border
      style="width: 100%"
      :header-cell-style="{background: 'deepskyblue', color: 'snow'}">
      <el-table-column
        prop="method"
        label="接口名称"
        min-width="3">
      </el-table-column>
      <el-table-column
        prop="tcDescribe"
        label="请求参数"
        min-width="5">
      </el-table-column>
      <el-table-column
        prop="tcSuccess"
        label="测试次数"
        min-width="1">
      </el-table-column>
    </el-table>
    <br/>
    <br/>
    <span>测试用例验证结果</span>
    <el-table
      :data="bigdataReports"
      border
      style="width: 100%"
      :row-class-name="tableRowClassName"
      :header-cell-style="{background: 'deepskyblue', color: 'snow'}">
      <el-table-column
        prop="method"
        label="接口名称"
        min-width="3">
      </el-table-column>
      <el-table-column
        prop="tcDescribe"
        label="测试用例"
        min-width="5">
      </el-table-column>
      <el-table-column
        prop="result"
        label="执行结果"
        min-width="1">
      </el-table-column>
    </el-table>
  </div>
</template>

<style>
.el-table .warning-row {
  background: LightPink;
}
.el-table .success-row {
  background: darkseagreen;
}
.el-table .pass-row {
  background: yellow;
}
</style>

<script>
  export default {
    data() {
      return {
        project: this.$route.query.project,
        baseReports: [],
        bigdataReports: []
      }
    },
    mounted() {
      this.activity()
    },
    methods: {
      tableRowClassName({row, rowIndex}) {
        if (row.tcFail > 0) {
          return 'warning-row';
        }
        if (row.tcFail == 0 && row.tcSuccess == 0) {
          return 'pass-row';
        }
        return 'success-row';
      },
      activity() {
        const loading = this.$loading({
          lock: true,
          text: '加载中...',
          spinner: 'el-icon-loading',
          background: 'rgba(0, 0, 0, 0.7)'
        });
        let config = {
          headers: {
            'Content-Type': 'application/x-www-form-urlencoded'
          }
        }
        this.$http.get('/bigdata/bigdataReport?'+this.$qs.stringify({
          project: this.project
        }),config).then((res)=>{
          console.log(res.data)
          this.baseReports=res.data.baseReports
          this.bigdataReports=res.data.bigdataReports
          loading.close();
        }).catch(error=>{
          console.log(error);
          loading.close();
          this.$message({
            showClose: true,
            message: '服务器处理失败,请核对参数!',
            type: 'error'
          });
        })
      }
    }
  }
</script>