|
@@ -1,681 +0,0 @@
|
|
|
-<template>
|
|
|
- <!-- 准出报告,新增服务端报告 -->
|
|
|
- <div class="eleStyle">
|
|
|
- <el-form ref="ClientData" :inline="true" :model="ClientData" :rules="serviceDataRules" style="margin: 0% 3%;">
|
|
|
- <div style="display: flex;white-space: nowrap;">
|
|
|
- <el-form-item label="标题" style="flex: 1;" prop="reportName">
|
|
|
- <el-input v-model="ClientData.reportName" size="small" style="width:15vw;" placeholder="报告标题(xxx项目准出报告)" />
|
|
|
- </el-form-item>
|
|
|
- <el-form-item label="by" prop="ownner" style="flex: 1;text-align:right;">
|
|
|
- <el-input v-model="ClientData.ownner" size="small" placeholder="who" />
|
|
|
- </el-form-item>
|
|
|
- </div>
|
|
|
- <div class="backStyle" style="margin-bottom: 2% ;">一. 项目概述</div>
|
|
|
- <div style="display: flex; white-space: nowrap;">
|
|
|
- <el-form-item label="* 测试结果" style="flex: 1;" prop="status">
|
|
|
- <el-button :type="tagBtn" size="small" style="margin: 0 2vw;" class="tag" @click="changeStatus(1)"> 通过 </el-button>
|
|
|
- <el-button :type="tagBtn1" size="small" class="tag" @click="changeStatus(2)"> 不通过 </el-button>
|
|
|
- </el-form-item>
|
|
|
- <el-form-item label="准入结果" prop="smokeTestResult" style="flex: 2;text-align:right;"><el-input v-model="ClientData.smokeTestResult" style="width: 25vw;" size="small" placeholder="准入次数/通过次数/失败次数" /></el-form-item>
|
|
|
- </div>
|
|
|
- <div style="display: flex; white-space: nowrap;">
|
|
|
- <el-form-item label="* 准出延期" style="flex: 1;" prop="taskLateStatus">
|
|
|
- <el-button :type="tagChange" size="small" style="margin: 0 2vw;" class="tag" @click="lateStatusChange(1)"> 否 </el-button>
|
|
|
- <el-button :type="tagChange1" size="small" class="tag" @click="lateStatusChange(2)"> 是 </el-button>
|
|
|
- </el-form-item>
|
|
|
- <el-form-item v-if="showDelay" label="延期原因" prop="taskLateReason" style="flex: 2;text-align:right;"><el-input v-model="ClientData.taskLateReason" size="small" style="width: 25vw;" /></el-form-item>
|
|
|
- </div>
|
|
|
-
|
|
|
- <div style="display: flex;white-space: nowrap;">
|
|
|
- <el-form-item label="* 涉及安全项" style="flex: 1;">
|
|
|
- <el-button :type="getInfoBtn" size="small" style="margin: 0 1vw" class="tag" @click="showStatusData(2)"> 是 </el-button>
|
|
|
- <el-button :type="getInfoBtn1" size="small" style="margin-left: 1.7vw;" class="tag" @click="showStatusData(1)"> 否 </el-button>
|
|
|
- </el-form-item>
|
|
|
- <el-form-item v-if="showData" label="完成结果" prop="safeInfo" style="flex: 2;text-align:right;"><el-input v-model="ClientData.safeInfo" size="small" style="width: 25vw;" /></el-form-item>
|
|
|
- </div>
|
|
|
-
|
|
|
- <el-form-item label="SDL链接 : " style="white-space: nowrap;"><el-link href="http://wiki.intra.xiaojukeji.com/pages/viewpage.action?pageId=237016271" type="primary" target="_blank"> 普惠SDL准入标准</el-link></el-form-item>
|
|
|
-
|
|
|
- <div style="display: flex; white-space: nowrap;">
|
|
|
- <el-form-item label="开发人员" style="flex: 1;" prop="developer"><el-input v-model="ClientData.developer" size="small" style="width:15vw;" /></el-form-item>
|
|
|
- <el-form-item label="开发周期" style="flex: 1;text-align:right;">
|
|
|
- <el-date-picker v-model="ClientData.devTimeEnd" size="small" type="date" placeholder="请选择开始日期" style=" width: 12.5vw;" />
|
|
|
- <el-date-picker v-model="ClientData.devTimeStart" size="small" type="date" placeholder="请选择开始日期" style="margin-left:1.3vw; width: 12.5vw;" />
|
|
|
- </el-form-item>
|
|
|
- </div>
|
|
|
-
|
|
|
- <div style="display: flex; white-space: nowrap;">
|
|
|
- <el-form-item label="测试人员" style="flex: 1;" prop="tester"><el-input v-model="ClientData.tester" style="width: 15vw;" /></el-form-item>
|
|
|
- <el-form-item label="测试周期" style="flex: 1;text-align:right;">
|
|
|
- <el-date-picker v-model="ClientData.testTimeEnd" size="small" type="date" placeholder="请选择开始日期" style=" width: 12.5vw;" />
|
|
|
- <el-date-picker v-model="ClientData.testTimeStart" size="small" type="date" placeholder="请选择开始日期" style="margin-left: 1.3vw; width: 12.5vw;" />
|
|
|
- </el-form-item>
|
|
|
- </div>
|
|
|
-
|
|
|
- <div class="backStyle" style="margin-bottom:2%;">二. 项目背景</div>
|
|
|
- <normal-area id="clients-children-projectBackground" :value.sync="clienEdit.projectBackground" :height="200" />
|
|
|
-
|
|
|
- <div class="backStyle">三. 模块信息</div>
|
|
|
- <div class="titStyle" style="margin: 20px 0;">1、模块信息</div>
|
|
|
-
|
|
|
- <normal-area id="clients-children-moduleInfo" :value.sync="clienEdit.moduleInfo" :height="200" />
|
|
|
-
|
|
|
- <div class="titStyle" style="margin: 20px 0;">2、本期功能</div>
|
|
|
-
|
|
|
- <normal-area id="clients-children-functionInfo" :value.sync="clienEdit.functionInfo" :height="200" />
|
|
|
-
|
|
|
- <div class="titStyle" style="margin: 20px 0;">3、风险点</div>
|
|
|
-
|
|
|
- <normal-area id="clients-children-onlineRisk" :value.sync="clienEdit.onlineRisk" :height="200" />
|
|
|
-
|
|
|
- <div class="titStyle" style="margin: 20px 0;">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 class="titStyle" style="margin: 20px 0;">5、遗留问题</div><el-input v-model="ClientData.bugInfo" type="textarea" placeholder="请填写内容" /></el-col>
|
|
|
- </el-row>
|
|
|
-
|
|
|
- <div class="backStyle">四. 测试项</div>
|
|
|
-
|
|
|
- <div class="titStyle BJIsize">
|
|
|
- <el-form-item>1、功能测试</el-form-item>
|
|
|
- <div class="BJIsize">
|
|
|
- <el-tag :type="fctResultChange" size="small" effect="dark" class="tag" @click="fctResultradio(3)"> 未执行 </el-tag>
|
|
|
- <el-tag :type="fctResultChange1" size="small" style="margin: 0 5%;" effect="dark" class="tag" @click="fctResultradio(1)"> 测试通过 </el-tag>
|
|
|
- <el-tag :type="fctResultChange2" size="small" effect="dark" class="tag" @click="fctResultradio(2)"> 测试未通过 </el-tag>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
-
|
|
|
- <normal-area id="clients-children-fctInfo" :value.sync="clienEdit.fctInfo" :height="200" />
|
|
|
-
|
|
|
- <div class="titStyle BJIsize">
|
|
|
- <el-form-item style="flex:1; ">2、可靠性测试</el-form-item>
|
|
|
- <div class="BJIsize">
|
|
|
- <el-tag :type="rqtResultChange" size="small" effect="dark" class="tag" @click="rqtResultradio(3)"> 未执行 </el-tag>
|
|
|
- <el-tag :type="rqtResultChange1" size="small" style="margin: 0 5%;" effect="dark" class="tag" @click="rqtResultradio(1)"> 测试通过 </el-tag>
|
|
|
- <el-tag :type="rqtResultChange2" size="small" effect="dark" class="f" @click="rqtResultradio(2)"> 测试未通过 </el-tag>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
-
|
|
|
- <normal-area id="clients-children-rqtInfo" :value.sync="clienEdit.rqtInfo" :height="200" />
|
|
|
-
|
|
|
- <div class="titStyle BJIsize">
|
|
|
- <el-form-item style="flex:1; ">3、稳定性测试</el-form-item>
|
|
|
- <div class="BJIsize">
|
|
|
- <el-tag :type="pftResultChange" size="small" effect="dark" class="tag" @click="pftResultradio(3)"> 未执行 </el-tag>
|
|
|
- <el-tag :type="pftResultChange1" size="small" style="margin: 0 5%;" effect="dark" class="tag" @click="pftResultradio(1)"> 测试通过 </el-tag>
|
|
|
- <el-tag :type="pftResultChange2" size="small" effect="dark" class="tag" @click="pftResultradio(2)"> 测试未通过 </el-tag>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
-
|
|
|
- <normal-area id="clients-children-pftInfo" :value.sync="clienEdit.pftInfo" :height="200" />
|
|
|
-
|
|
|
- <div class="titStyle BJIsize">
|
|
|
- <el-form-item style="flex:1; ">4、安全性测试</el-form-item>
|
|
|
- <div class="BJIsize">
|
|
|
- <el-tag :type="safeResultChange" size="small" effect="dark" class="tag" @click="safeResultradio(3)"> 未执行 </el-tag>
|
|
|
- <el-tag :type="safeResultChange1" size="small" style="margin: 0 5%;" effect="dark" class="tag" @click="safeResultradio(1)"> 测试通过 </el-tag>
|
|
|
- <el-tag :type="safeResultChange2" size="small" effect="dark" class="tag" @click="safeResultradio(2)"> 测试未通过 </el-tag>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- <normal-area id="clients-children-safeResultInfo" :value.sync="clienEdit.safeResultInfo" :height="200" />
|
|
|
-
|
|
|
- <div class="titStyle BJIsize">
|
|
|
- <el-form-item style="flex:1; ">5、线上监控</el-form-item>
|
|
|
- <div class="BJIsize">
|
|
|
- <el-tag :type="moniterResultChange" size="small" effect="dark" class="tag" @click="moniterResultradio(3)"> 未执行 </el-tag>
|
|
|
- <el-tag :type="moniterResultChange1" size="small" style="margin: 0 5%;" effect="dark" class="tag" @click="moniterResultradio(1)"> 测试通过 </el-tag>
|
|
|
- <el-tag :type="moniterResultChange2" size="small" effect="dark" class="tag" @click="moniterResultradio(2)"> 测试未通过 </el-tag>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- <normal-area id="clients-children-moniterResultInfo" :value.sync="clienEdit.moniterResultInfo" :height="200" />
|
|
|
- </el-form>
|
|
|
- </div>
|
|
|
-</template>
|
|
|
-
|
|
|
-<script>
|
|
|
-import { projectTestReportUpdate, projectTestReportCreate, bugFinishList } from '@/api/ResultPage'
|
|
|
-import normalArea from '@/components/input/normalArea'
|
|
|
-export default {
|
|
|
- name: 'Acceptance',
|
|
|
- components: {
|
|
|
- normalArea
|
|
|
- },
|
|
|
- props: {
|
|
|
- clienData: {
|
|
|
- type: Object,
|
|
|
- required: true
|
|
|
- }
|
|
|
- },
|
|
|
- data() {
|
|
|
- return {
|
|
|
- userData: '',
|
|
|
- objData: '',
|
|
|
- tagBtn: 'info',
|
|
|
- tagBtn1: 'info',
|
|
|
- tagChange: 'info',
|
|
|
- tagChange1: 'info',
|
|
|
- moniterResultChange: 'info',
|
|
|
- moniterResultChange1: 'info',
|
|
|
- moniterResultChange2: 'info',
|
|
|
- safeResultChange: 'info',
|
|
|
- safeResultChange1: 'info',
|
|
|
- safeResultChange2: 'info',
|
|
|
- rqtResultChange: 'info',
|
|
|
- rqtResultChange1: 'info',
|
|
|
- rqtResultChange2: 'info',
|
|
|
- pftResultChange: 'info',
|
|
|
- pftResultChange1: 'info',
|
|
|
- pftResultChange2: 'info',
|
|
|
- fctResultChange: 'info',
|
|
|
- fctResultChange1: 'info',
|
|
|
- fctResultChange2: 'info',
|
|
|
- getInfoBtn: 'info',
|
|
|
- getInfoBtn1: 'info',
|
|
|
- userInformation: localStorage.getItem('username'),
|
|
|
- userNames: localStorage.getItem('realname'),
|
|
|
- serviceDataRules: {
|
|
|
- reportName: [{ required: true, message: '报告标题不能为空', trigger: 'change' }],
|
|
|
- ownner: [{ required: true, message: 'by不能为空', trigger: 'change' }],
|
|
|
- safeInfo: [{ required: true, message: '完成结果不能为空', trigger: 'change' }],
|
|
|
- status: [{ required: false, message: '测试结果不能为空', trigger: 'change' }],
|
|
|
- taskLateStatus: [{ required: false, message: '准出延期不能为空', trigger: 'change' }],
|
|
|
- taskLateReason: [{ required: true, message: '延期原因不能为空', trigger: 'change' }],
|
|
|
- smokeTestResult: [{ required: true, message: '准入结果不能为空', trigger: 'change' }],
|
|
|
- developer: [{ required: true, message: '开发人员不能为空', trigger: 'change' }],
|
|
|
- tester: [{ required: true, message: '测试人员不能为空', trigger: 'change' }]
|
|
|
- },
|
|
|
- showData: false,
|
|
|
- showDelay: false,
|
|
|
- content: null,
|
|
|
- editorContent: '',
|
|
|
- taskLateStatus: 0,
|
|
|
- value: '',
|
|
|
- status: '',
|
|
|
- ClientData: {},
|
|
|
- clienEdit: {
|
|
|
- projectBackground: '',
|
|
|
- moduleInfo: `<p></p><table border="1" style="border: 1px solid #DEE2E7" width="100%"><colgroup><col width="20%"><col width="20%"></colgroup><thead><tr><th>提测模块</th><th>提测分支</th></tr></thead><tbody><tr><td><br></td><td><br></td></tr><tr><td><br></td><td><br></td></tr></tbody></table>`,
|
|
|
- functionInfo: '',
|
|
|
- onlineRisk: '',
|
|
|
- fctInfo: `<p></p><table border="1" style="border: 1px solid #DEE2E7" width="100%"><colgroup><col width="20%"><col width="20%"><col width="20%"><col width="20%"></colgroup><thead><tr><th>子类</th><th>测试功能点</th><th>测试结果</th><th>备注</th></tr></thead><tbody><tr><td><br></td><td><br></td><td><br></td><td><br></td></tr><tr><td><br></td><td><br></td><td><br></td><td><br></td></tr></tbody></table>`,
|
|
|
- rqtInfo: `<p></p><table border="1" style="border: 1px solid #DEE2E7" width="100%"><colgroup><col width="20%"><col width="20%"><col width="20%"><col width="20%"></colgroup><thead><tr><th>子类</th><th>描述</th><th>测试结果</th><th>备注</th></tr></thead><tbody><tr><td><br></td><td><br></td><td><br></td><td><br></td></tr><tr><td><br></td><td><br></td><td><br></td><td><br></td></tr></tbody></table>`,
|
|
|
- pftInfo: `<p></p><table border="1" style="border: 1px solid #DEE2E7" width="100%"><colgroup><col width="20%"><col width="20%"><col width="20%"><col width="20%"></colgroup><thead><tr><th>子类</th><th>描述</th><th>测试结果</th><th>备注</th></tr></thead><tbody><tr><td><br></td><td><br></td><td><br></td><td><br></td></tr><tr><td><br></td><td><br></td><td><br></td><td><br></td></tr></tbody></table>`,
|
|
|
- safeResultInfo: `<p></p><table border="1" style="border: 1px solid #DEE2E7" width="100%"><colgroup><col width="20%"><col width="20%"><col width="20%"><col width="20%"></colgroup><thead><tr><th>子类</th><th>描述</th><th>测试结果</th><th>备注</th></tr></thead><tbody><tr><td><br></td><td><br></td><td><br></td><td><br></td></tr><tr><td><br></td><td><br></td><td><br></td><td><br></td></tr></tbody></table>`,
|
|
|
- moniterResultInfo: `<p></p><table border="1" style="border: 1px solid #DEE2E7" width="100%"><colgroup><col width="20%"><col width="20%"><col width="20%"><col width="20%"></colgroup><thead><tr><th>子类</th><th>描述</th><th>测试结果</th><th>备注</th></tr></thead><tbody><tr><td><br></td><td><br></td><td><br></td><td><br></td></tr><tr><td><br></td><td><br></td><td><br></td><td><br></td></tr></tbody></table>`
|
|
|
- },
|
|
|
- tableData: [],
|
|
|
- fctResult: '',
|
|
|
- rqtResult: '',
|
|
|
- pftResult: '',
|
|
|
- safeResult: '',
|
|
|
- Tsk: [],
|
|
|
- moniterResult: '',
|
|
|
- accpId: ''
|
|
|
- }
|
|
|
- },
|
|
|
- created() {
|
|
|
- this.getRouterData()
|
|
|
- },
|
|
|
- methods: {
|
|
|
- getRouterData() {
|
|
|
- this.getBugData(this.clienData)
|
|
|
- console.log(this.clienData, '准出服务端')
|
|
|
- this.ClientData = this.clienData
|
|
|
- this.$nextTick(() => {
|
|
|
- this.clienEdit.projectBackground = this.ClientData.projectBackground || this.clienEdit.projectBackground
|
|
|
- this.clienEdit.moduleInfo = this.ClientData.moduleInfo || this.clienEdit.moduleInfo
|
|
|
- this.clienEdit.functionInfo = this.ClientData.functionInfo || this.clienEdit.functionInfo
|
|
|
- this.clienEdit.onlineRisk = this.ClientData.onlineRisk || this.clienEdit.onlineRisk
|
|
|
- this.clienEdit.fctInfo = this.ClientData.fctInfo || this.clienEdit.fctInfo
|
|
|
- this.clienEdit.rqtInfo = this.ClientData.rqtInfo || this.clienEdit.rqtInfo
|
|
|
- this.clienEdit.pftInfo = this.ClientData.pftInfo || this.clienEdit.pftInfo
|
|
|
- this.clienEdit.safeResultInfo = this.ClientData.safeResultInfo || this.clienEdit.safeResultInfo
|
|
|
- this.clienEdit.moniterResultInfo = this.ClientData.moniterResultInfo || this.clienEdit.moniterResultInfo
|
|
|
- })
|
|
|
- if (this.ClientData.status === 1) {
|
|
|
- this.tagBtn = 'success'
|
|
|
- this.status = '1'
|
|
|
- } else {
|
|
|
- this.tagBtn1 = 'danger'
|
|
|
- this.status = '2'
|
|
|
- }
|
|
|
- if (this.ClientData.taskLateStatus === 1) {
|
|
|
- this.tagChange = 'success'
|
|
|
- this.taskLateStatus = '1'
|
|
|
- this.showDelay = false
|
|
|
- } else {
|
|
|
- this.tagChange1 = 'danger'
|
|
|
- this.taskLateStatus = '2'
|
|
|
- this.showDelay = true
|
|
|
- }
|
|
|
-
|
|
|
- if (this.ClientData.safeInfo !== '') {
|
|
|
- this.getInfoBtn1 = 'info'
|
|
|
- this.getInfoBtn = 'danger'
|
|
|
- this.lateStatus = 2
|
|
|
- this.showData = true
|
|
|
- } else {
|
|
|
- this.getInfoBtn1 = 'success'
|
|
|
- this.getInfoBtn = 'info'
|
|
|
- this.lateStatus = 1
|
|
|
- this.showData = false
|
|
|
- this.$set(this.ClientData, 'safeInfo', '')
|
|
|
- }
|
|
|
-
|
|
|
- if (this.ClientData.fctResult) { // 功能测试
|
|
|
- switch (this.ClientData.fctResult) {
|
|
|
- case 1:
|
|
|
- this.fctResultChange1 = 'success'
|
|
|
- this.fctResult = 1
|
|
|
- break
|
|
|
- case 2:
|
|
|
- this.fctResultChange2 = 'danger'
|
|
|
- this.fctResult = 2
|
|
|
- break
|
|
|
- case 3:
|
|
|
- this.fctResultChange = 'warning'
|
|
|
- this.fctResult = 3
|
|
|
- break
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- if (this.ClientData.rqtResult) { // 可靠性测试
|
|
|
- switch (this.ClientData.rqtResult) {
|
|
|
- case 1:
|
|
|
- this.rqtResultChange1 = 'success'
|
|
|
- this.rqtResult = 1
|
|
|
- break
|
|
|
- case 2:
|
|
|
- this.rqtResultChange2 = 'danger'
|
|
|
- this.rqtResult = 2
|
|
|
- break
|
|
|
- case 3:
|
|
|
- this.rqtResultChange = 'warning'
|
|
|
- this.rqtResult = 3
|
|
|
- break
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- if (this.ClientData.pftResult) { // 稳定性测试
|
|
|
- switch (this.ClientData.pftResult) {
|
|
|
- case 1:
|
|
|
- this.pftResultChange1 = 'success'
|
|
|
- this.pftResult = 1
|
|
|
- break
|
|
|
- case 2:
|
|
|
- this.pftResultChange2 = 'danger'
|
|
|
- this.pftResult = 2
|
|
|
- break
|
|
|
- case 3:
|
|
|
- this.pftResultChange = 'warning'
|
|
|
- this.pftResult = 3
|
|
|
- break
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- if (this.ClientData.safeResult) { // 安全性测试
|
|
|
- switch (this.ClientData.safeResult) {
|
|
|
- case 1:
|
|
|
- this.safeResultChange1 = 'success'
|
|
|
- this.safeResult = 1
|
|
|
- break
|
|
|
- case 2:
|
|
|
- this.safeResultChange2 = 'danger'
|
|
|
- this.safeResult = 2
|
|
|
- break
|
|
|
- case 3:
|
|
|
- this.safeResultChange = 'warning'
|
|
|
- this.safeResult = 3
|
|
|
- break
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- if (this.ClientData.moniterResult) { // 线上监控
|
|
|
- switch (this.ClientData.moniterResult) {
|
|
|
- case 1:
|
|
|
- this.moniterResultChange1 = 'success'
|
|
|
- this.moniterResult = 1
|
|
|
- break
|
|
|
- case 2:
|
|
|
- this.moniterResultChange2 = 'danger'
|
|
|
- this.moniterResult = 2
|
|
|
- break
|
|
|
- case 3:
|
|
|
- this.moniterResultChange = 'warning'
|
|
|
- this.moniterResult = 3
|
|
|
- break
|
|
|
- }
|
|
|
- }
|
|
|
- },
|
|
|
-
|
|
|
- getBugData(vel) {
|
|
|
- var url = location.href // 获取url中"?"符后的字串
|
|
|
- var arr = url.split('=')
|
|
|
- let task_s = ''
|
|
|
- vel.taskIds ? task_s = vel.taskIds : task_s = [Number(arr[1])]
|
|
|
- bugFinishList({ type: 1, taskIds: task_s }).then(res => {
|
|
|
- res.data.launchInfo !== null ? this.$set(this.ClientData, 'smokeTestResult', res.data.launchInfo) : ''
|
|
|
- this.tableData = [res.data]
|
|
|
- this.formatData()
|
|
|
- })
|
|
|
- },
|
|
|
-
|
|
|
- formatData() {
|
|
|
- this.tableData.forEach(item => {
|
|
|
- for (var key in item) {
|
|
|
- item[key] = {
|
|
|
- value: item[key],
|
|
|
- edit: false
|
|
|
- }
|
|
|
- }
|
|
|
- })
|
|
|
- },
|
|
|
- // 更新准出报告
|
|
|
- getQueryData(ele, vel) {
|
|
|
- this.$refs['ClientData'].validate((valid) => {
|
|
|
- if (valid) {
|
|
|
- this.ClientData = ele
|
|
|
- this.ClientData.projectBackground = this.clienEdit.projectBackground
|
|
|
- this.ClientData.moduleInfo = this.clienEdit.moduleInfo
|
|
|
- this.ClientData.functionInfo = this.clienEdit.functionInfo
|
|
|
- this.ClientData.onlineRisk = this.clienEdit.onlineRisk
|
|
|
- this.ClientData.fctInfo = this.clienEdit.fctInfo
|
|
|
- this.ClientData.rqtInfo = this.clienEdit.rqtInfo
|
|
|
- this.ClientData.pftInfo = this.clienEdit.pftInfo
|
|
|
- this.ClientData.safeResultInfo = this.clienEdit.safeResultInfo
|
|
|
- this.ClientData.moniterResultInfo = this.clienEdit.moniterResultInfo
|
|
|
- this.ClientData.fctResult = this.fctResult
|
|
|
- this.ClientData.rqtResult = this.rqtResult
|
|
|
- this.ClientData.pftResult = this.pftResult
|
|
|
- this.ClientData.safeResult = this.safeResult
|
|
|
- this.ClientData.moniterResult = this.moniterResult
|
|
|
- this.ClientData.status = this.status
|
|
|
- this.ClientData.id === undefined ? this.ClientData.id = this.accpId : ''
|
|
|
- this.ClientData.taskLateStatus = this.taskLateStatus
|
|
|
- this.userData = { id: '', ename: this.userInformation, name: this.userNames }
|
|
|
- this.objData = { projectTestReport: this.ClientData, user: this.userData }
|
|
|
- projectTestReportUpdate(this.objData).then(res => {
|
|
|
- if (res.code === 200) {
|
|
|
- this.$message({ type: 'success', message: '更新成功' })
|
|
|
- this.$emit('QuasiReport', res.data)
|
|
|
- }
|
|
|
- })
|
|
|
- } else {
|
|
|
- return false
|
|
|
- }
|
|
|
- })
|
|
|
- },
|
|
|
- parentHandleclick(e, task, id) {
|
|
|
- if (e === 1) {
|
|
|
- this.Tsk = task
|
|
|
- this.getCreateData(this.ClientData, this.tableData)
|
|
|
- } else {
|
|
|
- this.accpId = id
|
|
|
- this.getQueryData(this.ClientData, this.tableData)
|
|
|
- }
|
|
|
- },
|
|
|
-
|
|
|
- // 新建准出提交
|
|
|
- getCreateData(ele, vel) {
|
|
|
- this.$refs['ClientData'].validate((valid) => {
|
|
|
- if (valid) {
|
|
|
- this.ClientData = ele
|
|
|
- this.ClientData.projectBackground = this.clienEdit.projectBackground
|
|
|
- this.ClientData.moduleInfo = this.clienEdit.moduleInfo
|
|
|
- this.ClientData.functionInfo = this.clienEdit.functionInfo
|
|
|
- this.ClientData.onlineRisk = this.clienEdit.onlineRisk
|
|
|
- this.ClientData.fctInfo = this.clienEdit.fctInfo
|
|
|
- this.ClientData.rqtInfo = this.clienEdit.rqtInfo
|
|
|
- this.ClientData.pftInfo = this.clienEdit.pftInfo
|
|
|
- this.ClientData.safeResultInfo = this.clienEdit.safeResultInfo
|
|
|
- this.ClientData.moniterResultInfo = this.clienEdit.moniterResultInfo
|
|
|
- this.$route.query.id ? this.ClientData.taskId = this.$route.query.id : ''
|
|
|
- this.ClientData.bizId = Number(localStorage.getItem('bizId'))
|
|
|
- this.ClientData.taskIds = this.Tsk
|
|
|
- this.ClientData.fctResult = this.fctResult
|
|
|
- this.ClientData.rqtResult = this.rqtResult
|
|
|
- this.ClientData.pftResult = this.pftResult
|
|
|
- this.ClientData.safeResult = this.safeResult
|
|
|
- this.ClientData.moniterResult = this.moniterResult
|
|
|
- this.ClientData.status = this.status
|
|
|
- this.ClientData.taskLateStatus = this.taskLateStatus
|
|
|
- this.ClientData.type = 2
|
|
|
- this.ClientData.lateStatus === 1 ? this.ClientData.lateReason = ele.lateReason : this.ClientData.lateReason = ''
|
|
|
- this.userData = { id: '', ename: this.userInformation, name: this.userNames }
|
|
|
- this.objData = { projectTestReport: this.ClientData, user: this.userData }
|
|
|
- projectTestReportCreate(this.objData).then(res => {
|
|
|
- if (res.code === 200) {
|
|
|
- this.$message.success(res.msg)
|
|
|
- this.$emit('QuasiReport', res.data)
|
|
|
- }
|
|
|
- })
|
|
|
- } else {
|
|
|
- return false
|
|
|
- }
|
|
|
- })
|
|
|
- },
|
|
|
- // 准出延期
|
|
|
- lateStatusChange(e) {
|
|
|
- if (e === 1) {
|
|
|
- this.tagChange = 'success'
|
|
|
- this.tagChange1 = 'info'
|
|
|
- this.showDelay = false
|
|
|
- this.taskLateStatus = 1
|
|
|
- this.$set(this.ClientData, 'taskLateReason', '')
|
|
|
- } else {
|
|
|
- this.tagChange = 'info'
|
|
|
- this.tagChange1 = 'danger'
|
|
|
- this.showDelay = true
|
|
|
- this.taskLateStatus = 2
|
|
|
- }
|
|
|
- },
|
|
|
-
|
|
|
- // 涉及安全项
|
|
|
- showStatusData(e) {
|
|
|
- if (e === 1) {
|
|
|
- this.getInfoBtn1 = 'success'
|
|
|
- this.getInfoBtn = 'info'
|
|
|
- this.showData = false
|
|
|
- this.$set(this.ClientData, 'safeInfo', '')
|
|
|
- } else {
|
|
|
- this.getInfoBtn1 = 'info'
|
|
|
- this.getInfoBtn = 'danger'
|
|
|
- this.showData = true
|
|
|
- }
|
|
|
- },
|
|
|
-
|
|
|
- // 测试结果
|
|
|
- changeStatus(e) {
|
|
|
- if (e === 1) {
|
|
|
- this.ClientData.status = 1
|
|
|
- this.tagBtn = 'success'
|
|
|
- this.tagBtn1 = 'info'
|
|
|
- this.status = 1
|
|
|
- } else {
|
|
|
- this.ClientData.status = 2
|
|
|
- this.tagBtn = 'info'
|
|
|
- this.tagBtn1 = 'danger'
|
|
|
- this.status = 2
|
|
|
- }
|
|
|
- },
|
|
|
-
|
|
|
- // 1、功能测试
|
|
|
- fctResultradio(e) {
|
|
|
- this.fctResultChange = 'info'
|
|
|
- this.fctResultChange1 = 'info'
|
|
|
- this.fctResultChange2 = 'info'
|
|
|
- switch (e) {
|
|
|
- case 1:
|
|
|
- this.fctResultChange1 = 'success'
|
|
|
- this.fctResult = 1
|
|
|
- break
|
|
|
- case 2:
|
|
|
- this.fctResultChange2 = 'danger'
|
|
|
- this.fctResult = 2
|
|
|
- break
|
|
|
- case 3:
|
|
|
- this.fctResultChange = 'warning'
|
|
|
- this.fctResult = 3
|
|
|
- break
|
|
|
- }
|
|
|
- },
|
|
|
-
|
|
|
- // 可靠性测试
|
|
|
- rqtResultradio(e) {
|
|
|
- this.rqtResultChange = 'info'
|
|
|
- this.rqtResultChange1 = 'info'
|
|
|
- this.rqtResultChange2 = 'info'
|
|
|
- switch (e) {
|
|
|
- case 1:
|
|
|
- this.rqtResultChange1 = 'success'
|
|
|
- this.rqtResult = 1
|
|
|
- break
|
|
|
- case 2:
|
|
|
- this.rqtResultChange2 = 'danger'
|
|
|
- this.rqtResult = 2
|
|
|
- break
|
|
|
- case 3:
|
|
|
- this.rqtResultChange = 'warning'
|
|
|
- this.rqtResult = 3
|
|
|
- break
|
|
|
- }
|
|
|
- },
|
|
|
- // 稳定性测试
|
|
|
- pftResultradio(e) {
|
|
|
- this.pftResultChange = 'info'
|
|
|
- this.pftResultChange1 = 'info'
|
|
|
- this.pftResultChange2 = 'info'
|
|
|
- switch (e) {
|
|
|
- case 1:
|
|
|
- this.pftResultChange1 = 'success'
|
|
|
- this.pftResult = 1
|
|
|
- break
|
|
|
- case 2:
|
|
|
- this.pftResultChange2 = 'danger'
|
|
|
- this.pftResult = 2
|
|
|
- break
|
|
|
- case 3:
|
|
|
- this.pftResultChange = 'warning'
|
|
|
- this.pftResult = 3
|
|
|
- break
|
|
|
- }
|
|
|
- },
|
|
|
-
|
|
|
- // 安全性测试
|
|
|
- safeResultradio(e) {
|
|
|
- this.safeResultChange = 'info'
|
|
|
- this.safeResultChange1 = 'info'
|
|
|
- this.safeResultChange2 = 'info'
|
|
|
- switch (e) {
|
|
|
- case 1:
|
|
|
- this.safeResultChange1 = 'success'
|
|
|
- this.safeResult = 1
|
|
|
- break
|
|
|
- case 2:
|
|
|
- this.safeResultChange2 = 'danger'
|
|
|
- this.safeResult = 2
|
|
|
- break
|
|
|
- case 3:
|
|
|
- this.safeResultChange = 'warning'
|
|
|
- this.safeResult = 3
|
|
|
- break
|
|
|
- }
|
|
|
- },
|
|
|
-
|
|
|
- // 线上监控
|
|
|
- moniterResultradio(e) {
|
|
|
- this.moniterResultChange = 'info'
|
|
|
- this.moniterResultChange1 = 'info'
|
|
|
- this.moniterResultChange2 = 'info'
|
|
|
- switch (e) {
|
|
|
- case 1:
|
|
|
- this.moniterResultChange1 = 'success'
|
|
|
- this.moniterResult = 1
|
|
|
- break
|
|
|
- case 2:
|
|
|
- this.moniterResultChange2 = 'danger'
|
|
|
- this.moniterResult = 2
|
|
|
- break
|
|
|
- case 3:
|
|
|
- this.moniterResultChange = 'warning'
|
|
|
- this.moniterResult = 3
|
|
|
- break
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
-}
|
|
|
-</script>
|
|
|
-
|
|
|
-<style scoped>
|
|
|
- .tag {
|
|
|
- width:80px;
|
|
|
- text-align: center;
|
|
|
- cursor:pointer
|
|
|
- }
|
|
|
- .backStyle {
|
|
|
- font-size: 17px;
|
|
|
- font-weight: bold;
|
|
|
- border-radius: 4px;
|
|
|
- margin-top: 2%;
|
|
|
- }
|
|
|
- .eleStyle {
|
|
|
- width: 100%;
|
|
|
- height:100%;
|
|
|
- display: inline-block;
|
|
|
- }
|
|
|
- .titStyle {
|
|
|
- font-size: 15px;
|
|
|
- color:#606266;
|
|
|
- }
|
|
|
- .toolbar {
|
|
|
- border: 1px solid #DEE2E7;
|
|
|
- }
|
|
|
- .text {
|
|
|
- text-align: left;
|
|
|
- min-height: 100px;
|
|
|
- font-size: 15px;
|
|
|
- color: #606266;
|
|
|
- border: 1px solid #DEE2E7;
|
|
|
- height: auto;
|
|
|
- }
|
|
|
- .BJIsize {
|
|
|
- display: flex;
|
|
|
- align-items: center;
|
|
|
- justify-content: space-between;
|
|
|
- }
|
|
|
- .eleStyle >>> .el-col {
|
|
|
- white-space: pre-line;
|
|
|
- }
|
|
|
-</style>
|