|
@@ -1,432 +1,210 @@
|
|
|
<template>
|
|
|
<div class="eleStyle">
|
|
|
- <div style="height:100%;width:98%; margin: 1%; overflow: hidden;">
|
|
|
- <!-- 准出预览 -->
|
|
|
- <div v-if="towShow">
|
|
|
- <div style="padding: 2% 14%;">
|
|
|
- <div style="display: flex; white-space: nowrap; font-family:SimSuncss">
|
|
|
- <span style="flex:1;font-weight: bold;font-size: 24px;color: #3a8ee6">{{ ClientDatayl.reportName }}</span>
|
|
|
- <span style="flex:2;margin: 0.5% 0 0 20px;font-size: 17px;">by {{ ClientDatayl.ownner }}
|
|
|
- <el-button type="primary" size="mini" style="margin:0 2% 0 5%;" @click="dialogTableVisible = true">发送报告</el-button>
|
|
|
- <el-button size="mini" @click="dialogTableVisible = true">下载测试报告</el-button>
|
|
|
- </span>
|
|
|
+ <!-- 准出预览 -->
|
|
|
+ <div v-if="towShow">
|
|
|
+ <div style="padding: 2% 12%;">
|
|
|
+ <div style="display: flex; white-space: nowrap; font-family:SimSuncss">
|
|
|
+ <span style="flex:1;font-weight: bold;font-size: 24px;color: #3a8ee6">{{ ClientDatayl.reportName }}</span>
|
|
|
+ <span style="flex:2;margin: 0.5% 0 0 20px;font-size: 17px;">by {{ ClientDatayl.ownner }}</span>
|
|
|
+ </div>
|
|
|
+ <div style="margin: 2% 0 1% 0; font-size: 19px; font-weight: bold;">一. 项目概述</div><br>
|
|
|
+ <div style="display:flex;">
|
|
|
+ <div style="flex:1">
|
|
|
+ <div class="marage">测试结果 : <span :style="status1">{{ status }}</span></div><br>
|
|
|
+ <div class="marage">开发人员 : {{ ClientDatayl.developer }}</div><br>
|
|
|
+ <div class="marage">开发周期 : {{ ClientDatayl.devTimeEnd }} 至 {{ ClientDatayl.devTimeStart }}</div><br>
|
|
|
+ <div class="marage">准出延期 : <span :style="taskLateDisabled">{{ ClientDatayl.taskLateStatus }}</span></div><br>
|
|
|
</div>
|
|
|
- <div style="margin: 2% 0 1% 0; font-size: 19px; font-weight: bold;">一. 项目概述</div><br>
|
|
|
- <div style="display:flex;">
|
|
|
- <div style="flex:1">
|
|
|
- <div class="marage">测试结果 : <span :style="status1">{{ status }}</span></div><br>
|
|
|
- <div class="marage">开发人员 : {{ ClientDatayl.developer }}</div><br>
|
|
|
- <div class="marage">开发周期 : {{ ClientDatayl.devTimeEnd }} 至 {{ ClientDatayl.devTimeStart }}</div><br>
|
|
|
- <div class="marage">准出延期 : <span :style="taskLateDisabled">{{ ClientDatayl.taskLateStatus }}</span></div><br>
|
|
|
- </div>
|
|
|
- <div style="flex:1">
|
|
|
- <div class="marage">准入结果 : {{ ClientDatayl.launchInfo }}</div><br>
|
|
|
- <div class="marage">测试人员 : {{ ClientDatayl.tester }}</div><br>
|
|
|
- <div class="marage">测试周期 : {{ ClientDatayl.testTimeEnd }} 至 {{ ClientDatayl.testTimeStart }} </div><br>
|
|
|
- <div v-show="showDelay1" class="marage">延期原因 : {{ ClientDatayl.taskLateReason }}</div><br>
|
|
|
- </div>
|
|
|
+ <div style="flex:1">
|
|
|
+ <div class="marage">准入结果 : {{ ClientDatayl.launchInfo }}</div><br>
|
|
|
+ <div class="marage">测试人员 : {{ ClientDatayl.tester }}</div><br>
|
|
|
+ <div class="marage">测试周期 : {{ ClientDatayl.testTimeEnd }} 至 {{ ClientDatayl.testTimeStart }} </div><br>
|
|
|
+ <div v-show="showDelay1" class="marage">延期原因 : {{ ClientDatayl.taskLateReason }}</div><br>
|
|
|
</div>
|
|
|
- <div style="display:flex;">
|
|
|
- <div style="flex:1">
|
|
|
- <div class="marage">涉及安全项 : <span :style="getInfoBtnDisabled">{{ ClientDatayl.getInfoBtn }}</span></div><br>
|
|
|
- </div>
|
|
|
- <div style="flex:1">
|
|
|
- <div v-show="showData" class="marage">完成结果 : {{ ClientDatayl.safeInfo }}</div>
|
|
|
- </div>
|
|
|
+ </div>
|
|
|
+ <div style="display:flex;">
|
|
|
+ <div style="flex:1">
|
|
|
+ <div class="marage">涉及安全项 : <span :style="getInfoBtnDisabled">{{ ClientDatayl.getInfoBtn }}</span></div><br>
|
|
|
</div>
|
|
|
- <div style="white-space: nowrap;">SDL链接 : <el-link href="http://wiki.intra.xiaojukeji.com/pages/viewpage.action?pageId=237016271" type="primary" target="_blank"> 普惠SDL准入标准</el-link></div>
|
|
|
- <div class="titleStyle">二. 项目背景</div><br>
|
|
|
-
|
|
|
- <div class="rich" v-html="editorElem" />
|
|
|
+ <div style="flex:1">
|
|
|
+ <div v-show="showData" class="marage">完成结果 : {{ ClientDatayl.safeInfo }}</div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div style="white-space: nowrap;">SDL链接 : <el-link href="http://wiki.intra.xiaojukeji.com/pages/viewpage.action?pageId=237016271" type="primary" target="_blank"> 普惠SDL准入标准</el-link></div>
|
|
|
+ <div class="titleStyle">二. 项目背景</div><br>
|
|
|
+ <div class="rich" v-html="editorElem" />
|
|
|
|
|
|
- <div class="titleStyle">三. 模块信息</div>
|
|
|
+ <div class="titleStyle">三. 模块信息</div>
|
|
|
|
|
|
- <div class="marage">1、模块信息</div>
|
|
|
+ <div class="marage">1、模块信息</div>
|
|
|
|
|
|
- <div class="rich" v-html="editorElems" />
|
|
|
+ <div class="rich" v-html="editorElems" />
|
|
|
|
|
|
- <div class="marage">2、本期功能</div>
|
|
|
+ <div class="marage">2、本期功能</div>
|
|
|
|
|
|
- <div class="rich" v-html="editorFrom" />
|
|
|
+ <div class="rich" v-html="editorFrom" />
|
|
|
|
|
|
- <div class="marage">3、风险点</div>
|
|
|
+ <div class="marage">3、风险点</div>
|
|
|
|
|
|
- <div class="rich" v-html="editorF" />
|
|
|
+ <div class="rich" v-html="editorF" />
|
|
|
|
|
|
- <div class="marage">4、缺陷分析</div>
|
|
|
+ <div class="marage">4、缺陷分析</div>
|
|
|
|
|
|
- <el-table :data="tableData" border>
|
|
|
- <el-table-column prop="totalBug" label="bug总数" min-width="200" align="center" edit="false">
|
|
|
- <template slot-scope="scope">
|
|
|
- <el-input v-if="scope.row.totalBug.edit" ref="totalBug" v-model="scope.row.totalBug.value" style="width: 100%" @blur="scope.row.totalBug.edit = false" />
|
|
|
- <span v-else>{{ scope.row.totalBug.value }}</span>
|
|
|
- </template>
|
|
|
- </el-table-column>
|
|
|
- <el-table-column prop="fixBug" min-width="200" align="center" label="已解决bug数">
|
|
|
- <template slot-scope="scope">
|
|
|
- <el-input v-if="scope.row.fixBug.edit" ref="fixBug" v-model="scope.row.fixBug.value" style="width: 100%" @blur="scope.row.fixBug.edit = false" />
|
|
|
- <span v-else>{{ scope.row.fixBug.value }}</span>
|
|
|
- </template>
|
|
|
- </el-table-column>
|
|
|
- <el-table-column prop="remainBug" min-width="200" align="center" label="遗留bug数">
|
|
|
- <template slot-scope="scope">
|
|
|
- <el-input v-if="scope.row.remainBug.edit" ref="remainBug" v-model="scope.row.remainBug.value" style="width: 100%" @blur="scope.row.remainBug.edit = false" />
|
|
|
- <span v-else>{{ scope.row.remainBug.value }}</span>
|
|
|
- </template>
|
|
|
- </el-table-column>
|
|
|
- <el-table-column prop="rateOfReopen" min-width="200" align="center" label="reopen率">
|
|
|
- <template slot-scope="scope">
|
|
|
- <el-input v-if="scope.row.rateOfReopen.edit" ref="rateOfReopen" v-model="scope.row.rateOfReopen.value" style="width: 100%" @blur="scope.row.rateOfReopen.edit = false" />
|
|
|
- <span v-else>{{ scope.row.rateOfReopen.value }}</span>
|
|
|
- </template>
|
|
|
- </el-table-column>
|
|
|
- <el-table-column prop="invalidBug" min-width="200" align="center" label="无效bug数">
|
|
|
- <template slot-scope="scope">
|
|
|
- <el-input v-if="scope.row.invalidBug.edit" ref="invalidBug" v-model="scope.row.invalidBug.value" style="width: 100%" @blur="scope.row.invalidBug.edit = false" />
|
|
|
- <span v-else>{{ scope.row.invalidBug.value }}</span>
|
|
|
- </template>
|
|
|
- </el-table-column>
|
|
|
- </el-table>
|
|
|
- <el-row>
|
|
|
- <el-col :span="24"><div style="margin:2% 0;">5、遗留问题</div>{{ ClientDatayl.bugInfo }}</el-col>
|
|
|
- </el-row>
|
|
|
+ <el-table :data="tableData" border>
|
|
|
+ <el-table-column prop="totalBug" label="bug总数" min-width="200" align="center" edit="false">
|
|
|
+ <template slot-scope="scope">
|
|
|
+ <el-input v-if="scope.row.totalBug.edit" ref="totalBug" v-model="scope.row.totalBug.value" style="width: 100%" @blur="scope.row.totalBug.edit = false" />
|
|
|
+ <span v-else>{{ scope.row.totalBug.value }}</span>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column prop="fixBug" min-width="200" align="center" label="已解决bug数">
|
|
|
+ <template slot-scope="scope">
|
|
|
+ <el-input v-if="scope.row.fixBug.edit" ref="fixBug" v-model="scope.row.fixBug.value" style="width: 100%" @blur="scope.row.fixBug.edit = false" />
|
|
|
+ <span v-else>{{ scope.row.fixBug.value }}</span>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column prop="remainBug" min-width="200" align="center" label="遗留bug数">
|
|
|
+ <template slot-scope="scope">
|
|
|
+ <el-input v-if="scope.row.remainBug.edit" ref="remainBug" v-model="scope.row.remainBug.value" style="width: 100%" @blur="scope.row.remainBug.edit = false" />
|
|
|
+ <span v-else>{{ scope.row.remainBug.value }}</span>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column prop="rateOfReopen" min-width="200" align="center" label="reopen率">
|
|
|
+ <template slot-scope="scope">
|
|
|
+ <el-input v-if="scope.row.rateOfReopen.edit" ref="rateOfReopen" v-model="scope.row.rateOfReopen.value" style="width: 100%" @blur="scope.row.rateOfReopen.edit = false" />
|
|
|
+ <span v-else>{{ scope.row.rateOfReopen.value }}</span>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column prop="invalidBug" min-width="200" align="center" label="无效bug数">
|
|
|
+ <template slot-scope="scope">
|
|
|
+ <el-input v-if="scope.row.invalidBug.edit" ref="invalidBug" v-model="scope.row.invalidBug.value" style="width: 100%" @blur="scope.row.invalidBug.edit = false" />
|
|
|
+ <span v-else>{{ scope.row.invalidBug.value }}</span>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ </el-table>
|
|
|
+ <el-row>
|
|
|
+ <el-col :span="24"><div style="margin:2% 0;">5、遗留问题</div>{{ ClientDatayl.bugInfo }}</el-col>
|
|
|
+ </el-row>
|
|
|
|
|
|
- <div class="rich" v-html="editorData" />
|
|
|
+ <div class="rich" v-html="editorData" />
|
|
|
|
|
|
- <div class="titleStyle">四. 测试项</div>
|
|
|
+ <div class="titleStyle">四. 测试项</div>
|
|
|
|
|
|
- <div class="marage">1、功能测试 : <span style="margin-left:40px;" :style="fctResultChange">{{ fctResult }}</span></div>
|
|
|
+ <div class="marage">1、功能测试 : <span style="margin-left:40px;" :style="fctResultChange">{{ fctResult }}</span></div>
|
|
|
|
|
|
- <div class="rich" v-html="editorEl" />
|
|
|
+ <div class="rich" v-html="editorEl" />
|
|
|
|
|
|
- <div class="marage">2、可靠性测试 : <span style="margin-left:40px;" :style="rqtResultChange">{{ rqtResult }}</span></div>
|
|
|
+ <div class="marage">2、可靠性测试 : <span style="margin-left:40px;" :style="rqtResultChange">{{ rqtResult }}</span></div>
|
|
|
|
|
|
- <div class="rich" v-html="editorEle" />
|
|
|
+ <div class="rich" v-html="editorEle" />
|
|
|
|
|
|
- <div class="marage">3、稳定性测试 : <span style="margin-left:40px;" :style="pftResultChange">{{ pftResult }}</span></div>
|
|
|
+ <div class="marage">3、稳定性测试 : <span style="margin-left:40px;" :style="pftResultChange">{{ pftResult }}</span></div>
|
|
|
|
|
|
- <div class="rich" v-html="editorSix" />
|
|
|
+ <div class="rich" v-html="editorSix" />
|
|
|
|
|
|
- <div class="marage">4、安全性测试 : <span style="margin-left:40px;" :style="safeResultChange">{{ safeResult }}</span></div>
|
|
|
+ <div class="marage">4、安全性测试 : <span style="margin-left:40px;" :style="safeResultChange">{{ safeResult }}</span></div>
|
|
|
|
|
|
- <div class="rich" v-html="editorEight" />
|
|
|
+ <div class="rich" v-html="editorEight" />
|
|
|
|
|
|
- <div class="marage">5、线上监控 : <span style="margin-left:40px;" :style="moniterResultChange">{{ moniterResult }}</span></div>
|
|
|
+ <div class="marage">5、线上监控 : <span style="margin-left:40px;" :style="moniterResultChange">{{ moniterResult }}</span></div>
|
|
|
|
|
|
- <div class="rich" v-html="editorNine" />
|
|
|
- </div>
|
|
|
+ <div class="rich" v-html="editorNine" />
|
|
|
</div>
|
|
|
+ </div>
|
|
|
|
|
|
- <div v-if="oneShow">
|
|
|
- <div id="resumeId1" style="padding: 3% 6%; color: #333B4A;">
|
|
|
- <div style="display: flex; white-space: nowrap; font-family:SimSuncss">
|
|
|
- <span style="flex:1;font-weight: bold;font-size: 24px;color: #3a8ee6">{{ ClientDatayl.reportName }}</span>
|
|
|
- <span style="flex:2;margin: 0.5% 0 0 20px;font-size: 17px;">by {{ ClientDatayl.ownner }}
|
|
|
- <el-button type="primary" size="mini" style="margin:0 2% 0 5%;" @click="dialogTableVisible = true">发送报告</el-button>
|
|
|
- <el-button size="mini" @click="dialogTableVisible = true">下载测试报告</el-button>
|
|
|
- </span>
|
|
|
+ <div v-if="oneShow">
|
|
|
+ <div style="padding: 2% 12%;">
|
|
|
+ <div style="display: flex; white-space: nowrap; font-family:SimSuncss">
|
|
|
+ <span style="flex:1;font-weight: bold;font-size: 24px;color: #3a8ee6">{{ ClientDatayl.reportName }}</span>
|
|
|
+ <span style="flex:2;margin: 0.5% 0 0 20px;font-size: 17px;">by {{ ClientDatayl.ownner }}</span>
|
|
|
+ </div>
|
|
|
+ <div style="margin: 2% 0 1% 0; font-size: 19px; font-weight: bold;">一、项目概述</div><br>
|
|
|
+ <div style="display:flex;">
|
|
|
+ <div style="flex:1">
|
|
|
+ <div class="marage">测试结果 : <span :style="status1">{{ status }}</span></div><br>
|
|
|
+ <div class="marage">开发人员 : {{ ClientDatayl.developer }}</div><br>
|
|
|
+ <div class="marage">开发周期 : {{ ClientDatayl.devTimeEnd }} 至 {{ ClientDatayl.devTimeStart }}</div><br>
|
|
|
+ <div class="marage">准出延期 : <span :style="taskLateDisabled">{{ ClientDatayl.taskLateStatus }}</span></div><br>
|
|
|
</div>
|
|
|
- <div style="margin: 2% 0 1% 0; font-size: 19px; font-weight: bold;">一、项目概述</div><br>
|
|
|
- <div style="display:flex;">
|
|
|
- <div style="flex:1">
|
|
|
- <div class="marage">测试结果 : <span :style="status1">{{ status }}</span></div><br>
|
|
|
- <div class="marage">开发人员 : {{ ClientDatayl.developer }}</div><br>
|
|
|
- <div class="marage">开发周期 : {{ ClientDatayl.devTimeEnd }} 至 {{ ClientDatayl.devTimeStart }}</div><br>
|
|
|
- <div class="marage">准出延期 : <span :style="taskLateDisabled">{{ ClientDatayl.taskLateStatus }}</span></div><br>
|
|
|
- </div>
|
|
|
- <div style="flex:1">
|
|
|
- <div class="marage">准入结果 : {{ ClientDatayl.launchInfo }}</div><br>
|
|
|
- <div class="marage">测试人员 : {{ ClientDatayl.tester }}</div><br>
|
|
|
- <div class="marage">测试周期 : {{ ClientDatayl.testTimeEnd }} 至 {{ ClientDatayl.testTimeStart }} </div><br>
|
|
|
- <div v-show="showDelay1" class="marage">延期原因 : {{ ClientDatayl.taskLateReason }}</div><br>
|
|
|
- </div>
|
|
|
+ <div style="flex:1">
|
|
|
+ <div class="marage">准入结果 : {{ ClientDatayl.launchInfo }}</div><br>
|
|
|
+ <div class="marage">测试人员 : {{ ClientDatayl.tester }}</div><br>
|
|
|
+ <div class="marage">测试周期 : {{ ClientDatayl.testTimeEnd }} 至 {{ ClientDatayl.testTimeStart }} </div><br>
|
|
|
+ <div v-show="showDelay1" class="marage">延期原因 : {{ ClientDatayl.taskLateReason }}</div><br>
|
|
|
</div>
|
|
|
+ </div>
|
|
|
|
|
|
- <div class="titleStyle">二. 项目背景</div>
|
|
|
+ <div class="titleStyle">二. 项目背景</div>
|
|
|
|
|
|
- <div class="rich" v-html="editorElem1" />
|
|
|
+ <div class="rich" v-html="editorElem" />
|
|
|
|
|
|
- <div class="titleStyle">三. 测试项</div>
|
|
|
+ <div class="titleStyle">三. 测试项</div>
|
|
|
|
|
|
- <p>功能测试 : <span style="margin-left:40px;" :style="pftResult1">{{ pftResult }}</span></p>
|
|
|
+ <p>功能测试 : <span style="margin-left:40px;" :style="pftResult1">{{ pftResult }}</span></p>
|
|
|
|
|
|
- <div class="rich" v-html="editorElems1" />
|
|
|
+ <div class="rich" v-html="editorElems1" />
|
|
|
|
|
|
- <p>兼容测试 : <span style="margin-left:40px;" :style="sctResult1">{{ sctResult }}</span></p>
|
|
|
+ <p>兼容测试 : <span style="margin-left:40px;" :style="sctResult1">{{ sctResult }}</span></p>
|
|
|
|
|
|
- <div class="rich" v-html="editorFrom1" />
|
|
|
+ <div class="rich" v-html="editorFrom1" />
|
|
|
|
|
|
- <div class="titleStyle">四. 产品验收</div>
|
|
|
+ <div class="titleStyle">四. 产品验收</div>
|
|
|
|
|
|
- <p>验收结果 : <span style="margin-left:40px;" :style="acceptanceResult1">{{ acceptanceResult }}</span></p>
|
|
|
+ <p>验收结果 : <span style="margin-left:40px;" :style="acceptanceResult1">{{ acceptanceResult }}</span></p>
|
|
|
|
|
|
- <div class="rich" v-html="editorFro" />
|
|
|
+ <div class="rich" v-html="editorFro" />
|
|
|
|
|
|
- <div class="titleStyle">五. bug指标</div>
|
|
|
+ <div class="titleStyle">五. bug指标</div>
|
|
|
|
|
|
- <el-table :data="tableData" border>
|
|
|
- <el-table-column prop="totalBug" label="bug总数" min-width="200" align="center" edit="false">
|
|
|
- <template slot-scope="scope">
|
|
|
- <el-input v-if="scope.row.totalBug.edit" ref="totalBug" v-model="scope.row.totalBug.value" style="width: 100%" @blur="scope.row.totalBug.edit = false" />
|
|
|
- <span v-else>{{ scope.row.totalBug.value }}</span>
|
|
|
- </template>
|
|
|
- </el-table-column>
|
|
|
- <el-table-column prop="fixBug" min-width="200" align="center" label="已解决bug数">
|
|
|
- <template slot-scope="scope">
|
|
|
- <el-input v-if="scope.row.fixBug.edit" ref="fixBug" v-model="scope.row.fixBug.value" style="width: 100%" @blur="scope.row.fixBug.edit = false" />
|
|
|
- <span v-else>{{ scope.row.fixBug.value }}</span>
|
|
|
- </template>
|
|
|
- </el-table-column>
|
|
|
- <el-table-column prop="remainBug" min-width="200" align="center" label="遗留bug数">
|
|
|
- <template slot-scope="scope">
|
|
|
- <el-input v-if="scope.row.remainBug.edit" ref="remainBug" v-model="scope.row.remainBug.value" style="width: 100%" @blur="scope.row.remainBug.edit = false" />
|
|
|
- <span v-else>{{ scope.row.remainBug.value }}</span>
|
|
|
- </template>
|
|
|
- </el-table-column>
|
|
|
- <el-table-column prop="rateOfFix" min-width="200" align="center" label="bug解决率">
|
|
|
- <template slot-scope="scope">
|
|
|
- <el-input v-if="scope.row.rateOfFix.edit" ref="rateOfFix" v-model="scope.row.rateOfFix.value" style="width: 100%" @blur="scope.row.rateOfFix.edit = false" />
|
|
|
- <span v-else>{{ scope.row.rateOfFix.value }}</span>
|
|
|
- </template>
|
|
|
- </el-table-column>
|
|
|
- </el-table>
|
|
|
- <el-row>
|
|
|
- <el-col :span="24"><div style="margin: 2% 0;">1、遗留问题</div>{{ ClientDatayl.bugInfo }}</el-col>
|
|
|
- </el-row>
|
|
|
+ <el-table :data="tableData" border>
|
|
|
+ <el-table-column prop="totalBug" label="bug总数" min-width="200" align="center" edit="false">
|
|
|
+ <template slot-scope="scope">
|
|
|
+ <el-input v-if="scope.row.totalBug.edit" ref="totalBug" v-model="scope.row.totalBug.value" style="width: 100%" @blur="scope.row.totalBug.edit = false" />
|
|
|
+ <span v-else>{{ scope.row.totalBug.value }}</span>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column prop="fixBug" min-width="200" align="center" label="已解决bug数">
|
|
|
+ <template slot-scope="scope">
|
|
|
+ <el-input v-if="scope.row.fixBug.edit" ref="fixBug" v-model="scope.row.fixBug.value" style="width: 100%" @blur="scope.row.fixBug.edit = false" />
|
|
|
+ <span v-else>{{ scope.row.fixBug.value }}</span>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column prop="remainBug" min-width="200" align="center" label="遗留bug数">
|
|
|
+ <template slot-scope="scope">
|
|
|
+ <el-input v-if="scope.row.remainBug.edit" ref="remainBug" v-model="scope.row.remainBug.value" style="width: 100%" @blur="scope.row.remainBug.edit = false" />
|
|
|
+ <span v-else>{{ scope.row.remainBug.value }}</span>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column prop="rateOfFix" min-width="200" align="center" label="bug解决率">
|
|
|
+ <template slot-scope="scope">
|
|
|
+ <el-input v-if="scope.row.rateOfFix.edit" ref="rateOfFix" v-model="scope.row.rateOfFix.value" style="width: 100%" @blur="scope.row.rateOfFix.edit = false" />
|
|
|
+ <span v-else>{{ scope.row.rateOfFix.value }}</span>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ </el-table>
|
|
|
+ <el-row>
|
|
|
+ <el-col :span="24"><div style="margin: 2% 0;">1、遗留问题</div>{{ ClientDatayl.bugInfo }}</el-col>
|
|
|
+ </el-row>
|
|
|
|
|
|
- <div class="rich" v-html="editorEle1" />
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- <div align="center">
|
|
|
- <el-button style="margin:02% 0%;" @click="$router.go(-1)"> 返 回 </el-button>
|
|
|
+ <div class="rich" v-html="editorEle1" />
|
|
|
</div>
|
|
|
</div>
|
|
|
-
|
|
|
- <el-dialog title="邮件预览" width="80%" center :visible.sync="dialogTableVisible" @open="idGet()">
|
|
|
- <div align="center">
|
|
|
- <el-button type="primary" size="mini" @click="dialogFormVisible_one = true">确定发送</el-button>
|
|
|
- <el-button size="mini" @click="download()">确定下载</el-button>
|
|
|
- </div>
|
|
|
- <div id="resumeId" class="eleStyle">
|
|
|
- <div style="height:100%;width:94%; background:#ffffff; margin: 3% 3% 8% 3%; border-radius: 4px; overflow: hidden;">
|
|
|
- <div v-if="towShow">
|
|
|
- <div style="padding: 3% 9%; color: #333B4A;">
|
|
|
- <div style="display: flex; white-space: nowrap; font-family:SimSuncss">
|
|
|
- <span style="flex:1;font-weight: bold;font-size: 24px;color: #3a8ee6">{{ ClientDatayl.reportName }}</span>
|
|
|
- <span style="flex:2;margin: 0.5% 0 0 20px;font-size: 17px;">by {{ ClientDatayl.ownner }}</span>
|
|
|
- </div>
|
|
|
- <div style="margin: 2% 0 1% 0; font-size: 19px; font-weight: bold;">一. 项目概述</div><br>
|
|
|
- <div style="display:flex;">
|
|
|
- <div style="flex:1">
|
|
|
- <div class="marage">测试结果 : <span :style="status1">{{ status }}</span></div><br>
|
|
|
- <div class="marage">开发人员 : {{ ClientDatayl.developer }}</div><br>
|
|
|
- <div class="marage">开发周期 : {{ ClientDatayl.devTimeEnd }} 至 {{ ClientDatayl.devTimeStart }}</div><br>
|
|
|
- <div class="marage">准出延期 : <span :style="taskLateDisabled">{{ ClientDatayl.taskLateStatus }}</span></div><br>
|
|
|
- </div>
|
|
|
- <div style="flex:1">
|
|
|
- <div class="marage">准入结果 : {{ ClientDatayl.launchInfo }}</div><br>
|
|
|
- <div class="marage">测试人员 : {{ ClientDatayl.tester }}</div><br>
|
|
|
- <div class="marage">测试周期 : {{ ClientDatayl.testTimeEnd }} 至 {{ ClientDatayl.testTimeStart }} </div><br>
|
|
|
- <div v-show="showDelay1" class="marage">延期原因 : {{ ClientDatayl.taskLateReason }}</div><br>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- <div style="display:flex;">
|
|
|
- <div style="flex:1">
|
|
|
- <div class="marage">涉及安全项 : <span :style="getInfoBtnDisabled">{{ ClientDatayl.getInfoBtn }}</span></div><br>
|
|
|
- </div>
|
|
|
- <div style="flex:1">
|
|
|
- <div v-show="showData" class="marage">完成结果 : {{ ClientDatayl.safeInfo }}</div>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- <div style="white-space: nowrap;">SDL链接 : <el-link href="http://wiki.intra.xiaojukeji.com/pages/viewpage.action?pageId=237016271" type="primary" target="_blank"> 普惠SDL准入标准</el-link></div>
|
|
|
- <div class="titleStyle">二. 项目背景</div><br>
|
|
|
-
|
|
|
- <div class="rich" v-html="editorElem" />
|
|
|
-
|
|
|
- <div class="titleStyle">三. 模块信息</div>
|
|
|
-
|
|
|
- <div class="marage">1、模块信息</div>
|
|
|
-
|
|
|
- <div class="rich" v-html="editorElems" />
|
|
|
-
|
|
|
- <div class="marage">2、本期功能</div>
|
|
|
-
|
|
|
- <div class="rich" v-html="editorFrom" />
|
|
|
-
|
|
|
- <div class="marage">3、风险点</div>
|
|
|
-
|
|
|
- <div class="rich" v-html="editorF" />
|
|
|
-
|
|
|
- <div class="marage">4、缺陷分析</div>
|
|
|
-
|
|
|
- <el-table :data="tableData" border>
|
|
|
- <el-table-column prop="totalBug" label="bug总数" min-width="200" align="center" edit="false">
|
|
|
- <template slot-scope="scope">
|
|
|
- <el-input v-if="scope.row.totalBug.edit" ref="totalBug" v-model="scope.row.totalBug.value" style="width: 100%" @blur="scope.row.totalBug.edit = false" />
|
|
|
- <span v-else>{{ scope.row.totalBug.value }}</span>
|
|
|
- </template>
|
|
|
- </el-table-column>
|
|
|
- <el-table-column prop="fixBug" min-width="200" align="center" label="已解决bug数">
|
|
|
- <template slot-scope="scope">
|
|
|
- <el-input v-if="scope.row.fixBug.edit" ref="fixBug" v-model="scope.row.fixBug.value" style="width: 100%" @blur="scope.row.fixBug.edit = false" />
|
|
|
- <span v-else>{{ scope.row.fixBug.value }}</span>
|
|
|
- </template>
|
|
|
- </el-table-column>
|
|
|
- <el-table-column prop="remainBug" min-width="200" align="center" label="遗留bug数">
|
|
|
- <template slot-scope="scope">
|
|
|
- <el-input v-if="scope.row.remainBug.edit" ref="remainBug" v-model="scope.row.remainBug.value" style="width: 100%" @blur="scope.row.remainBug.edit = false" />
|
|
|
- <span v-else>{{ scope.row.remainBug.value }}</span>
|
|
|
- </template>
|
|
|
- </el-table-column>
|
|
|
- <el-table-column prop="rateOfReopen" min-width="200" align="center" label="reopen率">
|
|
|
- <template slot-scope="scope">
|
|
|
- <el-input v-if="scope.row.rateOfReopen.edit" ref="rateOfReopen" v-model="scope.row.rateOfReopen.value" style="width: 100%" @blur="scope.row.rateOfReopen.edit = false" />
|
|
|
- <span v-else>{{ scope.row.rateOfReopen.value }}</span>
|
|
|
- </template>
|
|
|
- </el-table-column>
|
|
|
- <el-table-column prop="invalidBug" min-width="200" align="center" label="无效bug数">
|
|
|
- <template slot-scope="scope">
|
|
|
- <el-input v-if="scope.row.invalidBug.edit" ref="invalidBug" v-model="scope.row.invalidBug.value" style="width: 100%" @blur="scope.row.invalidBug.edit = false" />
|
|
|
- <span v-else>{{ scope.row.invalidBug.value }}</span>
|
|
|
- </template>
|
|
|
- </el-table-column>
|
|
|
- </el-table>
|
|
|
- <el-row>
|
|
|
- <el-col :span="24"><div style="margin:2% 0;">5、遗留问题</div>{{ ClientDatayl.bugInfo }}</el-col>
|
|
|
- </el-row>
|
|
|
-
|
|
|
- <div class="rich" v-html="editorData" />
|
|
|
-
|
|
|
- <div class="titleStyle">四. 测试项</div>
|
|
|
-
|
|
|
- <div class="marage">1、功能测试 : <span style="margin-left:40px;" :style="fctResultChange">{{ fctResult }}</span></div>
|
|
|
-
|
|
|
- <div class="rich" v-html="editorEl" />
|
|
|
-
|
|
|
- <div class="marage">2、可靠性测试 : <span style="margin-left:40px;" :style="rqtResultChange">{{ rqtResult }}</span></div>
|
|
|
-
|
|
|
- <div class="rich" v-html="editorEle" />
|
|
|
-
|
|
|
- <div class="marage">3、稳定性测试 : <span style="margin-left:40px;" :style="pftResultChange">{{ pftResult }}</span></div>
|
|
|
-
|
|
|
- <div class="rich" v-html="editorSix" />
|
|
|
-
|
|
|
- <div class="marage">4、安全性测试 : <span style="margin-left:40px;" :style="safeResultChange">{{ safeResult }}</span></div>
|
|
|
-
|
|
|
- <div class="rich" v-html="editorEight" />
|
|
|
-
|
|
|
- <div class="marage">5、线上监控 : <span style="margin-left:40px;" :style="moniterResultChange">{{ moniterResult }}</span></div>
|
|
|
-
|
|
|
- <div class="rich" v-html="editorNine" />
|
|
|
- </div>
|
|
|
- </div>
|
|
|
-
|
|
|
- <div v-if="oneShow">
|
|
|
- <div id="resumeId1" style="padding: 3% 6%; color: #333B4A;">
|
|
|
- <div style="display: flex; white-space: nowrap; font-family:SimSuncss">
|
|
|
- <span style="flex:1;font-weight: bold;font-size: 24px;color: #3a8ee6">{{ ClientDatayl.reportName }}</span>
|
|
|
- <span style="flex:2;margin: 0.5% 0 0 20px;font-size: 17px;">by {{ ClientDatayl.ownner }}</span>
|
|
|
- </div>
|
|
|
- <div style="margin: 2% 0 1% 0; font-size: 19px; font-weight: bold;">一、项目概述</div><br>
|
|
|
- <div style="display:flex;">
|
|
|
- <div style="flex:1">
|
|
|
- <div class="marage">测试结果 : <span :style="status1">{{ status }}</span></div><br>
|
|
|
- <div class="marage">开发人员 : {{ ClientDatayl.developer }}</div><br>
|
|
|
- <div class="marage">开发周期 : {{ ClientDatayl.devTimeEnd }} 至 {{ ClientDatayl.devTimeStart }}</div><br>
|
|
|
- <div class="marage">准出延期 : <span :style="taskLateDisabled">{{ ClientDatayl.taskLateStatus }}</span></div><br>
|
|
|
- </div>
|
|
|
- <div style="flex:1">
|
|
|
- <div class="marage">准入结果 : {{ ClientDatayl.launchInfo }}</div><br>
|
|
|
- <div class="marage">测试人员 : {{ ClientDatayl.tester }}</div><br>
|
|
|
- <div class="marage">测试周期 : {{ ClientDatayl.testTimeEnd }} 至 {{ ClientDatayl.testTimeStart }} </div><br>
|
|
|
- <div v-show="showDelay1" class="marage">延期原因 : {{ ClientDatayl.taskLateReason }}</div><br>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
-
|
|
|
- <div class="titleStyle">二. 项目背景</div>
|
|
|
-
|
|
|
- <div class="rich" v-html="editorElem1" />
|
|
|
-
|
|
|
- <div class="titleStyle">三. 测试项</div>
|
|
|
-
|
|
|
- <p>功能测试 : <span style="margin-left:40px;" :style="pftResult1">{{ pftResult }}</span></p>
|
|
|
-
|
|
|
- <div class="rich" v-html="editorElems1" />
|
|
|
-
|
|
|
- <p>兼容测试 : <span style="margin-left:40px;" :style="sctResult1">{{ sctResult }}</span></p>
|
|
|
-
|
|
|
- <div class="rich" v-html="editorFrom1" />
|
|
|
-
|
|
|
- <div class="titleStyle">四. 产品验收</div>
|
|
|
-
|
|
|
- <p>验收结果 : <span style="margin-left:40px;" :style="acceptanceResult1">{{ acceptanceResult }}</span></p>
|
|
|
-
|
|
|
- <div class="rich" v-html="editorFro" />
|
|
|
-
|
|
|
- <div class="titleStyle">五. bug指标</div>
|
|
|
-
|
|
|
- <el-table :data="tableData" border>
|
|
|
- <el-table-column prop="totalBug" label="bug总数" min-width="200" align="center" edit="false">
|
|
|
- <template slot-scope="scope">
|
|
|
- <el-input v-if="scope.row.totalBug.edit" ref="totalBug" v-model="scope.row.totalBug.value" style="width: 100%" @blur="scope.row.totalBug.edit = false" />
|
|
|
- <span v-else>{{ scope.row.totalBug.value }}</span>
|
|
|
- </template>
|
|
|
- </el-table-column>
|
|
|
- <el-table-column prop="fixBug" min-width="200" align="center" label="已解决bug数">
|
|
|
- <template slot-scope="scope">
|
|
|
- <el-input v-if="scope.row.fixBug.edit" ref="fixBug" v-model="scope.row.fixBug.value" style="width: 100%" @blur="scope.row.fixBug.edit = false" />
|
|
|
- <span v-else>{{ scope.row.fixBug.value }}</span>
|
|
|
- </template>
|
|
|
- </el-table-column>
|
|
|
- <el-table-column prop="remainBug" min-width="200" align="center" label="遗留bug数">
|
|
|
- <template slot-scope="scope">
|
|
|
- <el-input v-if="scope.row.remainBug.edit" ref="remainBug" v-model="scope.row.remainBug.value" style="width: 100%" @blur="scope.row.remainBug.edit = false" />
|
|
|
- <span v-else>{{ scope.row.remainBug.value }}</span>
|
|
|
- </template>
|
|
|
- </el-table-column>
|
|
|
- <el-table-column prop="rateOfFix" min-width="200" align="center" label="bug解决率">
|
|
|
- <template slot-scope="scope">
|
|
|
- <el-input v-if="scope.row.rateOfFix.edit" ref="rateOfFix" v-model="scope.row.rateOfFix.value" style="width: 100%" @blur="scope.row.rateOfFix.edit = false" />
|
|
|
- <span v-else>{{ scope.row.rateOfFix.value }}</span>
|
|
|
- </template>
|
|
|
- </el-table-column>
|
|
|
- </el-table>
|
|
|
- <el-row>
|
|
|
- <el-col :span="24"><div style="margin: 2% 0;">1、遗留问题</div>{{ ClientDatayl.bugInfo }}</el-col>
|
|
|
- </el-row>
|
|
|
-
|
|
|
- <div class="rich" v-html="editorEle1" />
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- </el-dialog>
|
|
|
-
|
|
|
- <!-- 发送报告 -->
|
|
|
- <el-dialog title="发送邮件" width="30%" :visible.sync="dialogFormVisible_one">
|
|
|
- <el-form label-position="center" :model="form" label-width="80px">
|
|
|
- <el-form-item label="发送 : ">
|
|
|
- <el-input v-model="form.name" placeholder="请填写邮箱前缀,邮箱名以 , 分割" />
|
|
|
- </el-form-item>
|
|
|
- <el-form-item label="抄送 : ">
|
|
|
- <el-input v-model="form.names" placeholder="请填写邮箱前缀,邮箱名以 , 分割" />
|
|
|
- </el-form-item>
|
|
|
- </el-form>
|
|
|
- <div slot="footer" class="dialog-footer">
|
|
|
- <el-button @click="dialogFormVisible_one = false">取 消</el-button>
|
|
|
- <el-button type="primary" @click="sendReport(form)">确 定</el-button>
|
|
|
- </div>
|
|
|
- </el-dialog>
|
|
|
</div>
|
|
|
</template>
|
|
|
|
|
|
<script>
|
|
|
-import { projectTestReportSendmail, bugFinishList } from '@/api/ResultPage'
|
|
|
-import { projectTestReport } from '@/api/testPresentetion'
|
|
|
-import html2canvas from 'html2canvas'
|
|
|
+import { bugFinishList } from '@/api/ResultPage'
|
|
|
+// import { projectTestReportSendmail, bugFinishList } from '@/api/ResultPage'
|
|
|
+// import { projectTestReport } from '@/api/testPresentetion'
|
|
|
|
|
|
export default {
|
|
|
name: 'ResultPageyL',
|
|
|
+ props: {
|
|
|
+ message: {
|
|
|
+ type: Object,
|
|
|
+ required: true
|
|
|
+ }
|
|
|
+ },
|
|
|
data() {
|
|
|
return {
|
|
|
showDelay1: false,
|
|
@@ -442,8 +220,6 @@ export default {
|
|
|
safeResultChange: { color: '' },
|
|
|
moniterResultChange: { color: '' },
|
|
|
showData: false,
|
|
|
- dialogTableVisible: false,
|
|
|
- dialogFormVisible_one: false,
|
|
|
status: '',
|
|
|
acceptanceResult: '',
|
|
|
sctResult: '',
|
|
@@ -454,7 +230,6 @@ export default {
|
|
|
showDisabled1: true,
|
|
|
ClientDatayl: {},
|
|
|
editorElem: '',
|
|
|
- editorElem1: '',
|
|
|
editorElems: '',
|
|
|
editorElems1: '',
|
|
|
editorFrom: '',
|
|
@@ -473,106 +248,105 @@ export default {
|
|
|
fctResult: '',
|
|
|
moniterResult: '',
|
|
|
rqtResult: '',
|
|
|
- safeResult: '',
|
|
|
- form: {}
|
|
|
+ safeResult: ''
|
|
|
}
|
|
|
},
|
|
|
created() {
|
|
|
this.idGet()
|
|
|
- // this.getRouterData()
|
|
|
},
|
|
|
methods: {
|
|
|
idGet() {
|
|
|
- projectTestReport({ id: this.$route.query.id }).then((res) => {
|
|
|
- this.ClientDatayl = res.data
|
|
|
- this.editorElem1 = this.ClientDatayl.projectBackground
|
|
|
- this.editorElems1 = this.ClientDatayl.fctInfo
|
|
|
- this.editorFrom1 = this.ClientDatayl.sctInfo
|
|
|
- this.editorFro = this.ClientDatayl.acceptanceResultInfo
|
|
|
- this.editorEle1 = this.ClientDatayl.bugTarget
|
|
|
- this.editorElem = this.ClientDatayl.projectBackground
|
|
|
- this.editorElems = this.ClientDatayl.moduleInfo
|
|
|
- this.editorFrom = this.ClientDatayl.functionInfo
|
|
|
- this.editorF = this.ClientDatayl.onlineRisk
|
|
|
- this.editorEle = this.ClientDatayl.rqtInfo
|
|
|
- this.editorData = this.ClientDatayl.bugInfo
|
|
|
- this.editorEl = this.ClientDatayl.fctInfo
|
|
|
- this.editorSix = this.ClientDatayl.pftInfo
|
|
|
- this.editorEight = this.ClientDatayl.safeResultInfo
|
|
|
- this.editorNine = this.ClientDatayl.moniterResultInfo
|
|
|
- this.bugNum = { type: this.ClientDatayl.type, taskId: this.ClientDatayl.taskId, projectId: this.ClientDatayl.projectId }
|
|
|
- if (this.ClientDatayl.type === 2) {
|
|
|
- this.towShow = true
|
|
|
- this.oneShow = false
|
|
|
- } else {
|
|
|
- this.oneShow = true
|
|
|
- this.towShow = false
|
|
|
- }
|
|
|
- if (this.ClientDatayl.status === 1) {
|
|
|
- this.status = '通过'
|
|
|
- } else {
|
|
|
- this.status = '未通过'
|
|
|
- this.status1.color = 'red'
|
|
|
- }
|
|
|
- if (this.ClientDatayl.taskLateStatus === 1) {
|
|
|
- this.ClientDatayl.taskLateStatus = '否'
|
|
|
- this.showDelay1 = false
|
|
|
- this.taskLateDisabled.color = 'green'
|
|
|
- } else {
|
|
|
- this.ClientDatayl.taskLateStatus = '是'
|
|
|
- this.taskLateDisabled.color = 'red'
|
|
|
- this.showDelay1 = true
|
|
|
- }
|
|
|
- if (this.ClientDatayl.safeInfo !== '') {
|
|
|
- this.ClientDatayl.getInfoBtn = '是'
|
|
|
- this.getInfoBtnDisabled.color = 'red'
|
|
|
- this.showData = true
|
|
|
- } else {
|
|
|
- this.ClientDatayl.getInfoBtn = '否'
|
|
|
- this.getInfoBtnDisabled.color = 'green'
|
|
|
- this.showData = false
|
|
|
- }
|
|
|
- switch (this.ClientDatayl.pftResult) {
|
|
|
- case 1: this.pftResult = '通过'; this.pftResult1.color = 'green'; break
|
|
|
- case 2: this.pftResult = '未通过'; this.pftResult1.color = 'red'; break
|
|
|
- case 3: this.pftResult = '未执行'; this.pftResult1.color = 'Orange'; break
|
|
|
- }
|
|
|
- switch (this.ClientDatayl.sctResult) {
|
|
|
- case 1: this.sctResult = '测试通过'; this.sctResult1.color = 'green'; break
|
|
|
- case 2: this.sctResult = '测试未通过'; this.sctResult1.color = 'red'; break
|
|
|
- }
|
|
|
- switch (this.ClientDatayl.acceptanceResult) {
|
|
|
- case 1: this.acceptanceResult = '通过'; this.acceptanceResult1.color = 'green'; break
|
|
|
- case 2: this.acceptanceResult = '未通过'; this.acceptanceResult1.color = 'red'; break
|
|
|
- case 3: this.acceptanceResult = '未执行'; this.acceptanceResult1.color = 'Orange'; break
|
|
|
- }
|
|
|
- switch (this.ClientDatayl.fctResult) { // 功能测试
|
|
|
- case 1: this.fctResult = '通过'; this.fctResultChange.color = 'green'; break
|
|
|
- case 2: this.fctResult = '未通过'; this.fctResultChange.color = 'red'; break
|
|
|
- case 3: this.fctResult = '未执行'; this.fctResultChange.color = 'Orange'; break
|
|
|
- }
|
|
|
- switch (this.ClientDatayl.rqtResult) { // 可靠性测试
|
|
|
- case 1: this.rqtResult = '通过'; this.rqtResultChange.color = 'green'; break
|
|
|
- case 2: this.rqtResult = '未通过'; this.rqtResultChange.color = 'red'; break
|
|
|
- case 3: this.rqtResult = '未执行'; this.rqtResultChange.color = 'Orange'; break
|
|
|
- }
|
|
|
- switch (this.ClientDatayl.pftResult) { // 稳定性测试
|
|
|
- case 1: this.pftResult = '通过'; this.pftResultChange.color = 'green'; break
|
|
|
- case 2: this.pftResult = '未通过'; this.pftResultChange.color = 'red'; break
|
|
|
- case 3: this.pftResult = '未执行'; this.pftResultChange.color = 'Orange'; break
|
|
|
- }
|
|
|
- switch (this.ClientDatayl.safeResult) { // 安全性测试
|
|
|
- case 1: this.safeResult = '通过'; this.safeResultChange.color = 'green'; break
|
|
|
- case 2: this.safeResult = '未通过'; this.safeResultChange.color = 'red'; break
|
|
|
- case 3: this.safeResult = '未执行'; this.safeResultChange.color = 'Orange'; break
|
|
|
- }
|
|
|
- switch (this.ClientDatayl.moniterResult) { // 线上监控
|
|
|
- case 1: this.moniterResult = '通过'; this.moniterResultChange.color = 'green'; break
|
|
|
- case 2: this.moniterResult = '未通过'; this.moniterResultChange.color = 'red'; break
|
|
|
- case 3: this.moniterResult = '未执行'; this.moniterResultChange.color = 'Orange'; break
|
|
|
- }
|
|
|
- this.getBugData(this.bugNum)
|
|
|
- })
|
|
|
+ // projectTestReport({ id: this.message.id }).then((res) => {
|
|
|
+ this.ClientDatayl = this.message
|
|
|
+ console.log(this.ClientDatayl, 'ddddddd')
|
|
|
+ // this.editorElem1 = this.ClientDatayl.projectBackground
|
|
|
+ this.editorElems1 = this.ClientDatayl.fctInfo
|
|
|
+ this.editorFrom1 = this.ClientDatayl.sctInfo
|
|
|
+ this.editorFro = this.ClientDatayl.acceptanceResultInfo
|
|
|
+ this.editorEle1 = this.ClientDatayl.bugTarget
|
|
|
+ this.editorElem = this.ClientDatayl.projectBackground
|
|
|
+ this.editorElems = this.ClientDatayl.moduleInfo
|
|
|
+ this.editorFrom = this.ClientDatayl.functionInfo
|
|
|
+ this.editorF = this.ClientDatayl.onlineRisk
|
|
|
+ this.editorEle = this.ClientDatayl.rqtInfo
|
|
|
+ this.editorData = this.ClientDatayl.bugInfo
|
|
|
+ this.editorEl = this.ClientDatayl.fctInfo
|
|
|
+ this.editorSix = this.ClientDatayl.pftInfo
|
|
|
+ this.editorEight = this.ClientDatayl.safeResultInfo
|
|
|
+ this.editorNine = this.ClientDatayl.moniterResultInfo
|
|
|
+ this.bugNum = { type: this.ClientDatayl.type, taskId: this.ClientDatayl.taskIds[0] }
|
|
|
+ if (this.ClientDatayl.type === 2) {
|
|
|
+ this.towShow = true
|
|
|
+ this.oneShow = false
|
|
|
+ } else {
|
|
|
+ this.oneShow = true
|
|
|
+ this.towShow = false
|
|
|
+ }
|
|
|
+ if (this.ClientDatayl.status === 1) {
|
|
|
+ this.status = '通过'
|
|
|
+ } else {
|
|
|
+ this.status = '未通过'
|
|
|
+ this.status1.color = 'red'
|
|
|
+ }
|
|
|
+ if (this.ClientDatayl.taskLateStatus === 1) {
|
|
|
+ this.ClientDatayl.taskLateStatus = '否'
|
|
|
+ this.showDelay1 = false
|
|
|
+ this.taskLateDisabled.color = 'green'
|
|
|
+ } else {
|
|
|
+ this.ClientDatayl.taskLateStatus = '是'
|
|
|
+ this.taskLateDisabled.color = 'red'
|
|
|
+ this.showDelay1 = true
|
|
|
+ }
|
|
|
+ if (this.ClientDatayl.safeInfo !== '') {
|
|
|
+ this.ClientDatayl.getInfoBtn = '是'
|
|
|
+ this.getInfoBtnDisabled.color = 'red'
|
|
|
+ this.showData = true
|
|
|
+ } else {
|
|
|
+ this.ClientDatayl.getInfoBtn = '否'
|
|
|
+ this.getInfoBtnDisabled.color = 'green'
|
|
|
+ this.showData = false
|
|
|
+ }
|
|
|
+ switch (this.ClientDatayl.pftResult) {
|
|
|
+ case 1: this.pftResult = '通过'; this.pftResult1.color = 'green'; break
|
|
|
+ case 2: this.pftResult = '未通过'; this.pftResult1.color = 'red'; break
|
|
|
+ case 3: this.pftResult = '未执行'; this.pftResult1.color = 'Orange'; break
|
|
|
+ }
|
|
|
+ switch (this.ClientDatayl.sctResult) {
|
|
|
+ case 1: this.sctResult = '测试通过'; this.sctResult1.color = 'green'; break
|
|
|
+ case 2: this.sctResult = '测试未通过'; this.sctResult1.color = 'red'; break
|
|
|
+ }
|
|
|
+ switch (this.ClientDatayl.acceptanceResult) {
|
|
|
+ case 1: this.acceptanceResult = '通过'; this.acceptanceResult1.color = 'green'; break
|
|
|
+ case 2: this.acceptanceResult = '未通过'; this.acceptanceResult1.color = 'red'; break
|
|
|
+ case 3: this.acceptanceResult = '未执行'; this.acceptanceResult1.color = 'Orange'; break
|
|
|
+ }
|
|
|
+ switch (this.ClientDatayl.fctResult) { // 功能测试
|
|
|
+ case 1: this.fctResult = '通过'; this.fctResultChange.color = 'green'; break
|
|
|
+ case 2: this.fctResult = '未通过'; this.fctResultChange.color = 'red'; break
|
|
|
+ case 3: this.fctResult = '未执行'; this.fctResultChange.color = 'Orange'; break
|
|
|
+ }
|
|
|
+ switch (this.ClientDatayl.rqtResult) { // 可靠性测试
|
|
|
+ case 1: this.rqtResult = '通过'; this.rqtResultChange.color = 'green'; break
|
|
|
+ case 2: this.rqtResult = '未通过'; this.rqtResultChange.color = 'red'; break
|
|
|
+ case 3: this.rqtResult = '未执行'; this.rqtResultChange.color = 'Orange'; break
|
|
|
+ }
|
|
|
+ switch (this.ClientDatayl.pftResult) { // 稳定性测试
|
|
|
+ case 1: this.pftResult = '通过'; this.pftResultChange.color = 'green'; break
|
|
|
+ case 2: this.pftResult = '未通过'; this.pftResultChange.color = 'red'; break
|
|
|
+ case 3: this.pftResult = '未执行'; this.pftResultChange.color = 'Orange'; break
|
|
|
+ }
|
|
|
+ switch (this.ClientDatayl.safeResult) { // 安全性测试
|
|
|
+ case 1: this.safeResult = '通过'; this.safeResultChange.color = 'green'; break
|
|
|
+ case 2: this.safeResult = '未通过'; this.safeResultChange.color = 'red'; break
|
|
|
+ case 3: this.safeResult = '未执行'; this.safeResultChange.color = 'Orange'; break
|
|
|
+ }
|
|
|
+ switch (this.ClientDatayl.moniterResult) { // 线上监控
|
|
|
+ case 1: this.moniterResult = '通过'; this.moniterResultChange.color = 'green'; break
|
|
|
+ case 2: this.moniterResult = '未通过'; this.moniterResultChange.color = 'red'; break
|
|
|
+ case 3: this.moniterResult = '未执行'; this.moniterResultChange.color = 'Orange'; break
|
|
|
+ }
|
|
|
+ this.getBugData(this.bugNum)
|
|
|
+ // })
|
|
|
},
|
|
|
getBugData(e) {
|
|
|
bugFinishList(e).then(res => {
|
|
@@ -591,44 +365,28 @@ export default {
|
|
|
}
|
|
|
}
|
|
|
})
|
|
|
- },
|
|
|
- download() {
|
|
|
- this.getPdf('resumeId', this.name)
|
|
|
- },
|
|
|
- download1() {
|
|
|
- this.getPdf('resumeId1', this.name)
|
|
|
- },
|
|
|
- sendReport(e) {
|
|
|
- var ele = this.ClientDatayl
|
|
|
- setTimeout(() => {
|
|
|
- var that = this
|
|
|
- html2canvas(document.getElementById('resumeId'), { useCORS: true }).then(function(canvas) {
|
|
|
- var imgData = canvas.toDataURL('image/png')
|
|
|
- var sendImgData = imgData.substring(imgData.indexOf(',') + 1)
|
|
|
- var postData = { 'reportId': ele.id, 'imgStr': sendImgData, 'url': window.location.href, 'emailUser': e.name, 'copyTo': e.names }
|
|
|
- projectTestReportSendmail(postData).then(res => {
|
|
|
- that.dialogFormVisible_one = false
|
|
|
- res.code === 200 ? that.$message.success('发送测试报告成功') : that.$message.error('发送测试报告失败,请联系管理员!')
|
|
|
- })
|
|
|
- })
|
|
|
- }, 500)
|
|
|
- },
|
|
|
-
|
|
|
- sendReport1(e) {
|
|
|
- var ele = this.ClientDatayl
|
|
|
- setTimeout(() => {
|
|
|
- var that = this
|
|
|
- html2canvas(document.getElementById('resumeId1'), { useCORS: true }).then(function(canvas) {
|
|
|
- var imgData = canvas.toDataURL('image/png')
|
|
|
- var sendImgData = imgData.substring(imgData.indexOf(',') + 1)
|
|
|
- var postData = { 'reportId': ele.id, 'imgStr': sendImgData, 'url': window.location.href, 'emailUser': e.name, 'copyTo': e.names }
|
|
|
- projectTestReportSendmail(postData).then(res => {
|
|
|
- that.dialogFormVisible_one = false
|
|
|
- res.code === 200 ? that.$message.success('发送测试报告成功') : that.$message.error('发送测试报告失败,请联系管理员!')
|
|
|
- })
|
|
|
- })
|
|
|
- }, 500)
|
|
|
}
|
|
|
+ // download() {
|
|
|
+ // this.getPdf('resumeId', this.name)
|
|
|
+ // },
|
|
|
+ // download1() {
|
|
|
+ // this.getPdf('resumeId1', this.name)
|
|
|
+ // },
|
|
|
+ // sendReport(e) {
|
|
|
+ // var ele = this.ClientDatayl
|
|
|
+ // setTimeout(() => {
|
|
|
+ // var that = this
|
|
|
+ // html2canvas(document.getElementById('resumeId'), { useCORS: true }).then(function(canvas) {
|
|
|
+ // var imgData = canvas.toDataURL('image/png')
|
|
|
+ // var sendImgData = imgData.substring(imgData.indexOf(',') + 1)
|
|
|
+ // var postData = { 'reportId': ele.id, 'imgStr': sendImgData, 'url': window.location.href, 'emailUser': e.name, 'copyTo': e.names }
|
|
|
+ // projectTestReportSendmail(postData).then(res => {
|
|
|
+ // that.dialogFormVisible_one = false
|
|
|
+ // res.code === 200 ? that.$message.success('发送测试报告成功') : that.$message.error('发送测试报告失败,请联系管理员!')
|
|
|
+ // })
|
|
|
+ // })
|
|
|
+ // }, 500)
|
|
|
+ // },
|
|
|
}
|
|
|
}
|
|
|
</script>
|
|
@@ -642,7 +400,7 @@ export default {
|
|
|
height:100%;
|
|
|
display: inline-block;
|
|
|
font-size: 14px;
|
|
|
- color: #606266;
|
|
|
+ color: #333B4A;
|
|
|
}
|
|
|
.titleStyle {
|
|
|
color: #333B4A;
|