qinzhipeng_v 5 سال پیش
والد
کامیت
0ad7427bc0

+ 84 - 43
src/views/reportManagement/ReleaseReport/components/iconDisplay.vue

@@ -46,12 +46,14 @@ import echarts from 'echarts'
 import { bugGetReportOutSumData, bugGetReportNotResolveData, bugGetReportDisDataByMember, bugGetReportDisDataByPri, bugGetReportDisDataByDate } from '@/api/reportTemplate' // 模版添删改查
 import { bugGetReportOutSumData, bugGetReportNotResolveData, bugGetReportDisDataByMember, bugGetReportDisDataByPri, bugGetReportDisDataByDate } from '@/api/reportTemplate' // 模版添删改查
 export default {
 export default {
   props: {
   props: {
-    taskIds: { type: [Array, Object], default: null }
+    taskIds: { type: [Array, Object], default: null },
+    releaseType: { type: Boolean, default: false }
   },
   },
   data() {
   data() {
     return {
     return {
       bugTableData: [],
       bugTableData: [],
       tableData: [],
       tableData: [],
+      types: false,
       taskId: [] // 创建准出的任务
       taskId: [] // 创建准出的任务
     }
     }
   },
   },
@@ -69,6 +71,12 @@ export default {
         }
         }
       },
       },
       immediate: true
       immediate: true
+    },
+    releaseType: {
+      handler(newV) {
+        this.types = newV
+      },
+      immediate: true
     }
     }
   },
   },
   methods: {
   methods: {
@@ -128,70 +136,103 @@ export default {
     },
     },
 
 
     async getRouterData(val) {
     async getRouterData(val) {
-      const res = await bugGetReportOutSumData({ taskIds: val })
-      if (res.code === 200) {
-        this.bugTableData = [res.data]
-      }
-      const res1 = await bugGetReportNotResolveData({ taskIds: val })
-      if (res1.code === 200) {
-        this.tableData = res1.dada
-      }
-      const res6 = await bugGetReportDisDataByDate({ taskIds: val })
-      if (res6.code === 200) {
-        const data = res6.data.yaxis.map(item => ({
-          ...item,
-          type: 'line',
-          smooth: true
-        }))
+      if (this.types) {
+        const res = await bugGetReportOutSumData({ taskIds: val })
+        if (res.code === 200) {
+          this.bugTableData = [res.data]
+        }
+        const res1 = await bugGetReportNotResolveData({ taskIds: val })
+        if (res1.code === 200) {
+          this.tableData = res1.dada
+        }
+        const res6 = await bugGetReportDisDataByDate({ taskIds: val })
+        if (res6.code === 200) {
+          const data = res6.data.yaxis.map(item => ({
+            ...item,
+            type: 'line',
+            smooth: true
+          }))
+          setTimeout(() => {
+            echarts.init(document.getElementById('line-echarts')).setOption({
+              color: ['#409EFF'],
+              title: { text: '新增缺陷趋势图', x: 'center', textStyle: { fontSize: 14, fontStyle: 'normal', fontWeight: 'normal' }},
+              tooltip: { axisPointer: { type: 'shadow' }},
+              grid: { left: '3%', right: '4%', bottom: '3%', containLabel: true },
+              xAxis: [{ type: 'category', data: res6.data.xaxis === null ? ['星期一', '星期二', '星期三', '星期四', '星期五', '星期六', '星期七'] : res6.data.xaxis, axisTick: { alignWithLabel: true }}],
+              yAxis: [{ type: 'value', axisLine: { show: false }, axisTick: { show: false }, splitLine: { show: true, lineStyle: { type: 'dashed' }}}],
+              series: res6.data.yaxis[0].data <= 0 ? [{ name: '直接访问', type: 'line', smooth: true, data: [0, 0, 0, 0, 0, 0, 0] }] : data
+
+            })
+          }, 200)
+        }
+        const res2 = await bugGetReportDisDataByMember({ taskIds: val })
+        if (res2.code === 200) {
+          const data = res2.data.yaxis.map(item => ({
+            ...item,
+            type: 'bar',
+            barWidth: '20px'
+          }))
+          setTimeout(() => {
+            echarts.init(document.getElementById('lineShow')).setOption({
+              color: ['#409EFF'],
+              title: { text: '缺陷责任人分布', x: 'center', textStyle: { fontSize: 14, fontStyle: 'normal', fontWeight: 'normal' }},
+              tooltip: { axisPointer: { type: 'shadow' }},
+              grid: { left: '3%', right: '4%', bottom: '3%', containLabel: true },
+              xAxis: [{ type: 'category', data: res2.data.xaxis[0] ? res2.data.xaxis : ['P0', 'P1', 'P2', 'P3'], axisTick: { alignWithLabel: true }}],
+              yAxis: [{ type: 'value', axisLine: { show: false }, axisTick: { show: false }, splitLine: { show: true, lineStyle: { type: 'dashed' }}}],
+              series: res2.data.yaxis[0].data <= 0 ? [{ name: '无数据', type: 'bar', barWidth: '20px', data: [0, 0, 0, 0] }] : data
+            })
+          }, 200)
+        }
+        const res3 = await bugGetReportDisDataByPri({ taskIds: val })
+        if (res3.code === 200) {
+          const data = res3.data.yaxis.map(item => ({
+            ...item,
+            type: 'bar',
+            barWidth: '20px'
+          }))
+          setTimeout(() => {
+            echarts.init(document.getElementById('barShow')).setOption({
+              backgroundColor: '#FFF',
+              color: ['#409EFF'],
+              title: { text: '缺陷等级分布', x: 'center', textStyle: { fontSize: 14, fontStyle: 'normal', fontWeight: 'normal' }},
+              tooltip: { axisPointer: { type: 'shadow' }},
+              grid: { left: '3%', right: '4%', bottom: '3%', containLabel: true },
+              xAxis: [{ type: 'category', data: res3.data.xaxis, axisTick: { alignWithLabel: true }}],
+              yAxis: [{ type: 'value', axisLine: { show: false }, axisTick: { show: false }, splitLine: { show: true, lineStyle: { type: 'dashed' }}}],
+              series: res3.data.yaxis[0].data <= 0 ? [{ name: '无数据', type: 'bar', barWidth: '20px', data: [0, 0, 0, 0] }] : data
+            })
+          }, 200)
+        }
+      } else {
         setTimeout(() => {
         setTimeout(() => {
           echarts.init(document.getElementById('line-echarts')).setOption({
           echarts.init(document.getElementById('line-echarts')).setOption({
             color: ['#409EFF'],
             color: ['#409EFF'],
             title: { text: '新增缺陷趋势图', x: 'center', textStyle: { fontSize: 14, fontStyle: 'normal', fontWeight: 'normal' }},
             title: { text: '新增缺陷趋势图', x: 'center', textStyle: { fontSize: 14, fontStyle: 'normal', fontWeight: 'normal' }},
             tooltip: { axisPointer: { type: 'shadow' }},
             tooltip: { axisPointer: { type: 'shadow' }},
             grid: { left: '3%', right: '4%', bottom: '3%', containLabel: true },
             grid: { left: '3%', right: '4%', bottom: '3%', containLabel: true },
-            xAxis: [{ type: 'category', data: res6.data.xaxis === null ? ['星期一', '星期二', '星期三', '星期四', '星期五', '星期六', '星期七'] : res6.data.xaxis, axisTick: { alignWithLabel: true }}],
+            xAxis: [{ type: 'category', data: ['未知', '未知', '未知', '未知', '未知', '未知', '未知'], axisTick: { alignWithLabel: true }}],
             yAxis: [{ type: 'value', axisLine: { show: false }, axisTick: { show: false }, splitLine: { show: true, lineStyle: { type: 'dashed' }}}],
             yAxis: [{ type: 'value', axisLine: { show: false }, axisTick: { show: false }, splitLine: { show: true, lineStyle: { type: 'dashed' }}}],
-            series: res6.data.yaxis[0].data <= 0 ? [{ name: '直接访问', type: 'line', smooth: true, data: [0, 0, 0, 0, 0, 0, 0] }] : data
-
+            series: [{ name: '直接访问', type: 'line', smooth: true, data: [0, 0, 0, 0, 0, 0, 0] }]
           })
           })
-        }, 200)
-      }
-      const res2 = await bugGetReportDisDataByMember({ taskIds: val })
-      if (res2.code === 200) {
-        const data = res2.data.yaxis.map(item => ({
-          ...item,
-          type: 'bar',
-          barWidth: '20px'
-        }))
-        setTimeout(() => {
           echarts.init(document.getElementById('lineShow')).setOption({
           echarts.init(document.getElementById('lineShow')).setOption({
             color: ['#409EFF'],
             color: ['#409EFF'],
             title: { text: '缺陷责任人分布', x: 'center', textStyle: { fontSize: 14, fontStyle: 'normal', fontWeight: 'normal' }},
             title: { text: '缺陷责任人分布', x: 'center', textStyle: { fontSize: 14, fontStyle: 'normal', fontWeight: 'normal' }},
             tooltip: { axisPointer: { type: 'shadow' }},
             tooltip: { axisPointer: { type: 'shadow' }},
             grid: { left: '3%', right: '4%', bottom: '3%', containLabel: true },
             grid: { left: '3%', right: '4%', bottom: '3%', containLabel: true },
-            xAxis: [{ type: 'category', data: res2.data.xaxis[0] ? res2.data.xaxis : ['P0', 'P1', 'P2', 'P3'], axisTick: { alignWithLabel: true }}],
+            xAxis: [{ type: 'category', data: ['未知', '未知', '未知', '未知'], axisTick: { alignWithLabel: true }}],
             yAxis: [{ type: 'value', axisLine: { show: false }, axisTick: { show: false }, splitLine: { show: true, lineStyle: { type: 'dashed' }}}],
             yAxis: [{ type: 'value', axisLine: { show: false }, axisTick: { show: false }, splitLine: { show: true, lineStyle: { type: 'dashed' }}}],
-            series: res2.data.yaxis[0].data <= 0 ? [{ name: '无数据', type: 'bar', barWidth: '20px', data: [0, 0, 0, 0] }] : data
+            series: [{ name: '无数据', type: 'bar', barWidth: '20px', data: [0, 0, 0, 0] }]
           })
           })
-        }, 200)
-      }
-      const res3 = await bugGetReportDisDataByPri({ taskIds: val })
-      if (res3.code === 200) {
-        const data = res3.data.yaxis.map(item => ({
-          ...item,
-          type: 'bar',
-          barWidth: '20px'
-        }))
-        setTimeout(() => {
           echarts.init(document.getElementById('barShow')).setOption({
           echarts.init(document.getElementById('barShow')).setOption({
             backgroundColor: '#FFF',
             backgroundColor: '#FFF',
             color: ['#409EFF'],
             color: ['#409EFF'],
             title: { text: '缺陷等级分布', x: 'center', textStyle: { fontSize: 14, fontStyle: 'normal', fontWeight: 'normal' }},
             title: { text: '缺陷等级分布', x: 'center', textStyle: { fontSize: 14, fontStyle: 'normal', fontWeight: 'normal' }},
             tooltip: { axisPointer: { type: 'shadow' }},
             tooltip: { axisPointer: { type: 'shadow' }},
             grid: { left: '3%', right: '4%', bottom: '3%', containLabel: true },
             grid: { left: '3%', right: '4%', bottom: '3%', containLabel: true },
-            xAxis: [{ type: 'category', data: res3.data.xaxis, axisTick: { alignWithLabel: true }}],
+            xAxis: [{ type: 'category', data: ['未知', '未知', '未知', '未知'], axisTick: { alignWithLabel: true }}],
             yAxis: [{ type: 'value', axisLine: { show: false }, axisTick: { show: false }, splitLine: { show: true, lineStyle: { type: 'dashed' }}}],
             yAxis: [{ type: 'value', axisLine: { show: false }, axisTick: { show: false }, splitLine: { show: true, lineStyle: { type: 'dashed' }}}],
-            series: res3.data.yaxis[0].data <= 0 ? [{ name: '无数据', type: 'bar', barWidth: '20px', data: [0, 0, 0, 0] }] : data
+            series: [{ name: '无数据', type: 'bar', barWidth: '20px', data: [0, 0, 0, 0] }]
           })
           })
         }, 200)
         }, 200)
       }
       }

+ 1 - 1
src/views/reportManagement/ReleaseReport/newReleaeTemplate.vue

@@ -71,7 +71,7 @@
       <normal-area id="report-template" :value.sync="fromData.content" :height="500" />
       <normal-area id="report-template" :value.sync="fromData.content" :height="500" />
     </el-form>
     </el-form>
     <div class="backStyle">缺陷统计</div>
     <div class="backStyle">缺陷统计</div>
-    <iconDisplay :task-ids="taskId" />
+    <iconDisplay :task-ids="taskId" :release-type="releaseType" />
   </div>
   </div>
 </template>
 </template>
 
 

+ 11 - 14
src/views/reportManagement/daily/dailyTemplate.vue

@@ -2,16 +2,18 @@
   <!-- 新增测试日报 -->
   <!-- 新增测试日报 -->
   <div class="parent-style">
   <div class="parent-style">
     <el-form ref="fromCreateData" class="dailyFrom" :model="fromCreateData" :rules="serviceDataRules">
     <el-form ref="fromCreateData" class="dailyFrom" :model="fromCreateData" :rules="serviceDataRules">
-      <div class="report-Padding">
-        <span style="color: #f56b6c">*</span>
-        <span class="backStyle"> 关联任务</span>
+      <div class="Layout_space_between">
+        <div>
+          <span style="color: #f56b6c">*</span>
+          <span class="backStyle"> 关联任务</span>
+        </div>
+
+        <el-select v-model="fromCreateData.taskIds" filterable remote reserve-keyword placeholder="请输入任务名称或ID" :remote-method="remoteMethod" style="width: 30%" size="small" @change="colseSelect">
+          <el-option v-for="item in tasksOptions" :key="item.id" :label="item.name" :value="item.id" @click.native="tasksChange(item)">
+            <div class="Layout_space_between"><span>{{ item.name }}</span></div>
+          </el-option>
+        </el-select>
       </div>
       </div>
-
-      <el-select v-model="fromCreateData.taskIds" filterable remote reserve-keyword placeholder="请输入任务名称或ID" :remote-method="remoteMethod" style="width: 100%" size="small" @change="colseSelect">
-        <el-option v-for="item in tasksOptions" :key="item.id" :label="item.name" :value="item.id" @click.native="tasksChange(item)">
-          <div class="Layout_space_between"><span>{{ item.name }}</span></div>
-        </el-option>
-      </el-select>
       <div v-if="selectTask" class="taskError">任务名称不能为空</div>
       <div v-if="selectTask" class="taskError">任务名称不能为空</div>
 
 
       <div v-for="(item, index) in tasksDetailList" :key="index" class="Layout_space_between report-taskList">
       <div v-for="(item, index) in tasksDetailList" :key="index" class="Layout_space_between report-taskList">
@@ -188,11 +190,6 @@ export default {
     opacity:1;
     opacity:1;
   }
   }
 }
 }
-
-  .report-Padding {
-    margin-bottom: 12px;
-  }
-
   .backStyle {
   .backStyle {
     font-size: 14px;
     font-size: 14px;
     font-weight: bold;
     font-weight: bold;

+ 2 - 3
src/views/reportManagement/daily/newReportTemplate.vue

@@ -5,7 +5,7 @@
       <el-form-item label="模版名称" prop="moduleName" label-width="80px">
       <el-form-item label="模版名称" prop="moduleName" label-width="80px">
         <el-input v-model="fromCreateData.moduleName" size="small" style="width:100%;" placeholder="请输入模版名称(不可与现有模版重名)" />
         <el-input v-model="fromCreateData.moduleName" size="small" style="width:100%;" placeholder="请输入模版名称(不可与现有模版重名)" />
       </el-form-item>
       </el-form-item>
-      <el-form-item label="模版内容" prop="content"><br>
+      <el-form-item label="模版内容"><br>
         <normal-area id="report-template" :value.sync="fromCreateData.content" :height="500" />
         <normal-area id="report-template" :value.sync="fromCreateData.content" :height="500" />
       </el-form-item>
       </el-form-item>
     </el-form>
     </el-form>
@@ -68,8 +68,7 @@ export default {
       tpltId: '', // 模版id
       tpltId: '', // 模版id
       bugP0P1: [], // bugP0P1数据
       bugP0P1: [], // bugP0P1数据
       serviceDataRules: {
       serviceDataRules: {
-        moduleName: [{ required: true, message: '模版名称不能为空', trigger: 'change' }],
-        content: [{ required: true, message: '模版内容不能为空', trigger: 'change' }]
+        moduleName: [{ required: true, message: '模版名称不能为空', trigger: 'change' }]
       },
       },
       fromCreateData: {},
       fromCreateData: {},
       TLstatus: false // 模版状态
       TLstatus: false // 模版状态