Browse Source

页面优化

qinzhipeng_v 6 years ago
parent
commit
56d558b9b0

+ 2 - 2
src/api/InterfaceReport.js

@@ -1,8 +1,8 @@
 import request from '@/utils/request'
-
+import { mockUrl } from '@/apiConfig/api'
 // ================================== Interface ======================================
 
-const mockUrl = 'http://10.179.24.176:8980' // 线下
+// const mockUrl = 'http://10.179.24.176:8980' // 线下
 // const mockUrl = 'http://10.179.24.123:8980' // 线上
 
 // 全局list

+ 2 - 2
src/api/ResultPage.js

@@ -1,8 +1,8 @@
 import request from '@/utils/request'
-
+import { mockUrl } from '@/apiConfig/api'
 // ================================== Interface ======================================
 
-const mockUrl = 'http://10.179.24.176:8980' // 线下
+// const mockUrl = 'http://10.179.24.176:8980' // 线下
 // const mockUrl = 'http://10.179.24.123:8980' // 线上
 
 // 全局list

+ 2 - 2
src/api/caseProject.js

@@ -1,8 +1,8 @@
 import request from '@/utils/request'
-
+import { mockUrl } from '@/apiConfig/api'
 // ================================== Interface ======================================
 
-const mockUrl = 'http://10.179.24.176:8980' // 线下
+// const mockUrl = 'http://10.179.24.176:8980' // 线下
 // const mockUrl = 'http://10.179.24.123:8980' // 线上
 
 // 创建文件夹

+ 2 - 2
src/api/defectManage.js

@@ -1,8 +1,8 @@
 import request from '@/utils/request'
-
+import { mockUrl } from '@/apiConfig/api'
 // ================================== Interface ======================================
 
-const mockUrl = 'http://10.179.24.176:8980' // 线下
+// const mockUrl = 'http://10.179.24.176:8980' // 线下
 // const mockUrl = 'http://10.179.24.123:8980' // 线上
 
 // 全局list

+ 2 - 2
src/api/httpmock.js

@@ -1,9 +1,9 @@
 import request from '@/utils/request'
-
+import { mockUrl } from '@/apiConfig/mock'
 // ================================== Interface ======================================
 
 // const mockUrl = 'http://mock.Intra.xiaojukeji.com'
-const mockUrl = 'http://10.179.88.110:8089'
+// const mockUrl = 'http://10.179.88.110:8089'
 
 export function fetchServiceList(data) {
   return request({

+ 2 - 2
src/api/httprule.js

@@ -1,8 +1,8 @@
 import request from '@/utils/request'
-
+import { mockUrl } from '@/apiConfig/mock'
 // ================================== Rule ======================================
 // const mockUrl = 'http://mock.Intra.xiaojukeji.com'
-const mockUrl = 'http://10.179.88.110:8089'
+// const mockUrl = 'http://10.179.88.110:8089'
 
 export function fetchRuleById(data) {
   return request({

+ 2 - 2
src/api/interface.js

@@ -1,8 +1,8 @@
 import request from '@/utils/request'
-
+import { mockUrl } from '@/apiConfig/mock'
 // ================================== Interface ======================================
 
-const mockUrl = 'http://10.179.88.110:8089'
+// const mockUrl = 'http://10.179.88.110:8089'
 // const mockUrl = 'http://mock.Intra.xiaojukeji.com'
 
 export function fetchEnvInfo(envChannel) {

+ 2 - 2
src/api/projectPage.js

@@ -1,8 +1,8 @@
 import request from '@/utils/request'
-
+import { mockUrl } from '@/apiConfig/api'
 // ================================== Interface ======================================
 
-const mockUrl = 'http://10.179.24.176:8980' // 线下
+// const mockUrl = 'http://10.179.24.176:8980' // 线下
 // const mockUrl = 'http://10.179.24.123:8980' // 线上
 
 export function projectInit(data) {

+ 2 - 2
src/api/rule.js

@@ -1,7 +1,7 @@
 import request from '@/utils/request'
-
+import { mockUrl } from '@/apiConfig/mock'
 // ================================== Rule ======================================
-const mockUrl = 'http://10.179.88.110:8089'
+// const mockUrl = 'http://10.179.88.110:8089'
 // const mockUrl = 'http://mock.Intra.xiaojukeji.com'
 
 export function fetchRuleById(data) {

+ 2 - 2
src/api/testPresentetion.js

@@ -1,7 +1,7 @@
 import request from '@/utils/request'
-
+import { mockUrl } from '@/apiConfig/api'
 // ================================== Interface ======================================
-const mockUrl = 'http://10.179.24.176:8980' // 线下
+// const mockUrl = 'http://10.179.24.176:8980' // 线下
 // const mockUrl = 'http://10.179.24.123:8980' // 线上
 
 // 全局list

+ 3 - 0
src/apiConfig/api.js

@@ -0,0 +1,3 @@
+/*eslint-disable*/   //规避eslint的检查,如没有eslint可不写
+export const mockUrl = 'http://10.179.24.176:8980' // 线下
+// export const mockUrl = 'http://10.179.24.123:8980' // 线上

+ 3 - 0
src/apiConfig/mock.js

@@ -0,0 +1,3 @@
+/*eslint-disable*/   //规避eslint的检查,如没有eslint可不写
+export const mockUrl = 'http://10.179.88.110:8089' // 线下
+// export const mockUrl = 'http://mock.Intra.xiaojukeji.com' // 线上

+ 1 - 1
src/layout/components/Navbar.vue

@@ -46,7 +46,7 @@ export default {
   },
   data() {
     return {
-      bizOptions: [{ name: '企业级', value: '100' }, { name: '滴滴代驾', value: '261' }, { name: 'prado', value: '330' }, { name: 'carbo', value: '331' }, { name: '海马', value: '309' }],
+      bizOptions: [{ name: '万象', value: '101' }, { name: '企业级', value: '100' }, { name: '滴滴代驾', value: '261' }, { name: 'prado', value: '330' }, { name: 'carbo', value: '331' }, { name: '海马', value: '309' }],
       bizShow: '',
       navbarLogo: {
         name: 'navbarLogo',

+ 2 - 2
src/router/index.js

@@ -87,7 +87,7 @@ export const constantRoutes = [
       {
         path: 'useCasePage',
         name: 'useCasePage',
-        // hidden: true,
+        hidden: true,
         component: () => import('@/views/Platform/useCasePage'),
         meta: { title: '用例管理' }
       },
@@ -181,7 +181,7 @@ export const constantRoutes = [
           {
             path: 'defectManageQuery',
             name: '缺陷查看',
-            // hidden: true,
+            hidden: true,
             component: () => import('@/views/Platform/presentation/defectManageQuery'),
             meta: { title: '缺陷查看' }
           }

+ 27 - 4
src/views/Platform/defectManagement.vue

@@ -11,8 +11,8 @@
         </el-select>
         <el-input v-model="queryCode.currentHandler" clearable filterable placeholder="经办人" style="width:12%;margin-right:5px;" />
         <el-input v-model="queryCode.creator" clearable filterable placeholder="创建人" style="width:12%;margin-right:5px;" />
-        <el-date-picker v-model="queryCode.gmtCreateEnd" style="width:12%;margin-right:5px;" type="datetime" placeholder="创建时间" /> -
-        <el-date-picker v-model="queryCode.gmtCreateBegin" style="width:12%;margin-right:5px;" type="datetime" placeholder="截止时间" />
+        <el-date-picker v-model="queryCode.gmtCreateBegin" style="width:12%;margin-right:5px;" type="datetime" placeholder="创建时间" /> -
+        <el-date-picker v-model="queryCode.gmtCreateEnd" style="width:12%;margin-right:5px;" type="datetime" placeholder="截止时间" />
         <el-input v-model="queryCode.bugName" clearable filterable placeholder="主题" style="width:12%;margin-right:5px;" />
         <el-button type="primary" @click="dataQuery(queryCode)">查询</el-button>
         <el-button type="primary" @click="createdCode()">新建bug</el-button>
@@ -103,10 +103,15 @@
           </div>
           <div style="flex:1">
             <el-form-item label="平台类型" prop="platformType" :label-width="formLabelWidth">
-              <el-select v-model="form.platformType" placeholder="平台类型">
+              <el-select v-model="form.platformType" placeholder="平台类型" @change="clickChangeType(form.platformType)">
                 <el-option v-for="item in platformTypeStr" :key="item.name" :label="item.name" :value="item.name" />
               </el-select>
             </el-form-item>
+            <el-form-item label="业务模块" prop="businessType" :label-width="formLabelWidth">
+              <el-select v-model="form.businessType" placeholder="业务模块">
+                <el-option v-for="item in businessTypeStr" :key="item.name" :label="item.name" :value="item.name" />
+              </el-select>
+            </el-form-item>
             <el-form-item label="所处阶段" prop="stage" :label-width="formLabelWidth">
               <el-select v-model="form.stage" placeholder="所处阶段">
                 <el-option v-for="item in stageStr" :key="item.name" :label="item.name" :value="item.name" />
@@ -180,6 +185,7 @@
             <el-form-item v-show="statusShow" label="问题原因和修复方法" :label-width="formLabelWidth">{{ form.reasonsAndSolutionForTheProblem }}</el-form-item>
             <el-form-item label="问题原因 : " :label-width="formLabelWidth1">{{ form.reason }}</el-form-item>
             <el-form-item label="平台类型 : " :label-width="formLabelWidth1">{{ form.platformType }}</el-form-item>
+            <el-form-item label="业务模块 : " :label-width="formLabelWidth1">{{ form.businessType }}</el-form-item>
             <el-form-item label="所处阶段 : " :label-width="formLabelWidth1">{{ form.stage }}</el-form-item>
             <el-form-item label="发现方法 : " :label-width="formLabelWidth1">{{ form.discoveryMethod }}</el-form-item>
             <el-form-item v-show="repairShow" label="修复结果 : " :label-width="formLabelWidth1">{{ form.repairResult }}</el-form-item>
@@ -193,6 +199,7 @@
             <el-form-item label="附件 : " :label-width="formLabelWidth1">{{ form.accessory }}</el-form-item>
           </div>
           <div style="flex:1; margin-left:30px;">
+            <el-form-item label="业务线 : " :label-width="formLabelWidth1">{{ form.bizId }}</el-form-item>
             <el-form-item label="bug责任人 : " :label-width="formLabelWidth1">{{ form.assigner }}</el-form-item>
             <el-form-item label="bug创建人 : " :label-width="formLabelWidth1">{{ form.creator }}</el-form-item>
             <el-form-item label="bug处理人 : " :label-width="formLabelWidth1">{{ form.currentHandler }}</el-form-item>
@@ -233,6 +240,7 @@ export default {
       platformTypeStr: [],
       stageStr: [],
       discoveryMethodStr: [],
+      businessTypeStr: [],
       repairResultStr: [],
       isDeleteStr: [{ name: '保留', value: 0 }, { name: '删除', value: 1 }],
       serviceDataRules: {
@@ -246,7 +254,8 @@ export default {
         stage: [{ required: true, message: '所处阶段不能为空', trigger: 'change' }],
         assigner: [{ required: true, message: 'bug责任人不能为空', trigger: 'change' }],
         currentHandler: [{ required: true, message: 'bug处理人不能为空', trigger: 'change' }],
-        bugDescribe: [{ required: true, message: 'bug描述不能为空', trigger: 'change' }]
+        bugDescribe: [{ required: true, message: 'bug描述不能为空', trigger: 'change' }],
+        businessType: [{ required: true, message: '业务模块不能为空', trigger: 'change' }]
       },
       userInformation: localStorage.getItem('username'),
       userNames: localStorage.getItem('realname'),
@@ -266,6 +275,9 @@ export default {
       dialogFormQuery: false,
       formLabelWidth: '120px',
       formLabelWidth1: '140px',
+      serviceTypeEnumList: [],
+      clientTypeEnumList: [],
+      bizIdEnumList: [],
       objData: '',
       userData: '',
       titName: '',
@@ -302,8 +314,16 @@ export default {
         this.bugLevelStr = res.data.priorityEnumList
         this.discoveryMethodStr = res.data.discoveryMethodEnumList
         this.repairResultStr = res.data.repairResultEnumList
+        this.clientTypeEnumList = res.data.clientTypeEnumList
+        this.serviceTypeEnumList = res.data.serviceTypeEnumList
+        this.bizIdEnumList = res.data.bizIdEnumList
       })
     },
+    clickChangeType(e) {
+      console.log(e)
+      this.form.businessType = ''
+      e === '服务端' ? this.businessTypeStr = this.serviceTypeEnumList : this.businessTypeStr = this.clientTypeEnumList
+    },
     dataQuery(e) {
       this.bizJson = localStorage.getItem('key')
       this.indexPage = e
@@ -399,6 +419,9 @@ export default {
       this.buildShow(e)
       bugGet(e).then(res => {
         this.form = res.data
+        for (var a of this.bizIdEnumList) {
+          res.data.bizId === a.code ? this.form.bizId = a.name : ''
+        }
       })
     },
     successFun() {

+ 65 - 36
src/views/Platform/presentation/Acceptance.vue

@@ -1,14 +1,14 @@
 <template>
   <!-- 准出报告,新增服务端报告 -->
-  <el-form :inline="true" :model="ClientData" style="margin:7% 3%;">
+  <el-form ref="ClientData" :inline="true" :model="ClientData" :rules="serviceDataRules" style="margin:7% 3%;">
     <el-row :gutter="20">
       <el-col :span="13">
-        <el-form-item class="backStyle">
+        <el-form-item class="backStyle" prop="reportName">
           <el-input v-model="ClientData.reportName" style="width:40vw;" placeholder="报告标题(xxx项目准出报告)" />
         </el-form-item>
       </el-col>
       <el-col :span="11">
-        <el-form-item label="by" class="backStyle" style="margin-left:70px;background: white">
+        <el-form-item label="by" prop="ownner" class="backStyle" style="margin-left:50px;background: white">
           <el-input v-model="ClientData.ownner" style="width:20vw; margin-left:30px; border:2px solid #ccc;" placeholder="who" />
         </el-form-item>
       </el-col>
@@ -17,16 +17,16 @@
     <el-row :gutter="20" type="flex">
       <el-col :span="12">
         <el-form-item label="测试结果" class="backStyle">
-          <el-radio v-model="status" style="margin: 0 90px;" label="1" @change="changeStatus(1)">通过</el-radio>
-          <el-radio v-model="status" style="padding-right: 140px;" label="2" @change="changeStatus">不通过</el-radio>
+          <el-radio v-model="status" style="margin: 0 87px;" label="1" @change="changeStatus(1)">通过</el-radio>
+          <el-radio v-model="status" style="padding-right: 150px;" label="2" @change="changeStatus">不通过</el-radio>
         </el-form-item>
-        <el-form-item label="准入结果" class="backStyle" style="margin-left:77px;"><el-input v-model="ClientData.smokeTestResult" style="width:31.5vw;" placeholder="准入次数/通过次数/失败次数" /></el-form-item>
+        <el-form-item label="准入结果" prop="smokeTestResult" class="backStyle" style="margin-left:69px;"><el-input v-model="ClientData.smokeTestResult" style="width:31.1vw;" placeholder="准入次数/通过次数/失败次数" /></el-form-item>
       </el-col>
     </el-row>
     <el-row :gutter="23">
       <el-col :span="23">
-        <el-form-item label="开发人员" class="backStyle"><el-input v-model="ClientData.developer" style="width:30.5vw;" /></el-form-item>
-        <el-form-item label="开发周期" class="backStyle" style="margin-left:80px;">
+        <el-form-item label="开发人员" prop="developer" class="backStyle"><el-input v-model="ClientData.developer" style="width:30.1vw;" /></el-form-item>
+        <el-form-item label="开发周期" prop="devTimeEnd" class="backStyle" style="margin-left:70px;">
           <el-date-picker v-model="ClientData.devTimeEnd" type="date" placeholder="选择日期" /> -
           <el-date-picker v-model="ClientData.devTimeStart" type="date" placeholder="选择日期" />
         </el-form-item>
@@ -34,8 +34,8 @@
     </el-row>
     <el-row :gutter="23">
       <el-col :span="23">
-        <el-form-item label="测试人员" class="backStyle"><el-input v-model="ClientData.tester" style="width:30.5vw;" /></el-form-item>
-        <el-form-item label="测试周期" class="backStyle" style="margin-left:80px;">
+        <el-form-item label="测试人员" prop="tester" class="backStyle"><el-input v-model="ClientData.tester" style="width:30.1vw;" /></el-form-item>
+        <el-form-item label="测试周期" prop="testTimeEnd" class="backStyle" style="margin-left:70px;">
           <el-date-picker v-model="ClientData.testTimeEnd" type="date" placeholder="选择日期" /> -
           <el-date-picker v-model="ClientData.testTimeStart" type="date" placeholder="选择日期" />
         </el-form-item>
@@ -46,10 +46,10 @@
         <el-form-item label="准出延期" class="backStyle">
           <el-radio-group v-model="taskLateStatus">
             <el-radio v-model="taskLateStatus" style="margin: 0 90px;" label="2" @change="lateStatusChange(2)">否</el-radio>
-            <el-radio v-model="taskLateStatus" style="padding-right: 177px;" label="1" @change="lateStatusChange(1)">是</el-radio>
+            <el-radio v-model="taskLateStatus" style="padding-right: 187px;" label="1" @change="lateStatusChange(1)">是</el-radio>
           </el-radio-group>
         </el-form-item>
-        <el-form-item v-show="showDelay" label="延期原因" class="backStyle" style="margin-left:82px;"><el-input v-model="ClientData.taskLateReason" style="width:30.5vw;" /></el-form-item>
+        <el-form-item v-show="showDelay" label="延期原因" prop="taskLateReason" class="backStyle" style="margin-left:73px;"><el-input v-model="ClientData.taskLateReason" style="width:31.3vw;" /></el-form-item>
       </el-col>
     </el-row>
     <el-form-item label="二、项目背景" class="backStyle" />
@@ -123,6 +123,18 @@ export default {
       userInformation: localStorage.getItem('username'),
       userNames: localStorage.getItem('realname'),
       bizIdData: localStorage.getItem('key'),
+      serviceDataRules: {
+        reportName: [{ required: true, message: '报告标题不能为空', trigger: 'change' }],
+        ownner: [{ required: true, message: 'by不能为空', trigger: 'change' }],
+        status: [{ required: true, message: '测试结果不能为空', trigger: 'change' }],
+        taskLateStatus: [{ required: true, message: '准出延期不能为空', trigger: 'change' }],
+        taskLateReason: [{ required: true, message: '延期原因不能为空', trigger: 'change' }],
+        smokeTestResult: [{ required: true, message: '准入结果不能为空', trigger: 'change' }],
+        developer: [{ required: true, message: '开发人员不能为空', trigger: 'change' }],
+        devTimeEnd: [{ required: true, message: '开发周期不能为空', trigger: 'change' }],
+        tester: [{ required: true, message: '测试人员不能为空', trigger: 'change' }],
+        testTimeEnd: [{ required: true, message: '测试周期不能为空', trigger: 'change' }]
+      },
       showDelay: false,
       showButton: true,
       showButton1: '',
@@ -212,6 +224,7 @@ export default {
     this.editorNine.customConfig.onchange = (html) => { this.editorNine = html }
     this.editorNine.create()
 
+    this.editorElem.txt.html(``)
     this.editorElems.txt.html(`<p></p><table 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><p></p>`)
     this.editorData.txt.html(`<p></p><table width="100%"><colgroup><col width="20%"><col width="20%"><col width="20%"><col width="20%"><col width="20%"></colgroup><thead><tr><th>bug总数</th><th>已解决bug数</th><th>遗留bug数</th><th>reopen率</th><th>无效bug数</th></tr></thead><tbody><tr><td><br></td><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><td><br></td></tr></tbody></table><p>遗留问题:</p><br>`)
     this.editorEl.txt.html(`<p></p><table 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><p></p>`)
@@ -290,31 +303,47 @@ export default {
       })
     },
     getCreateData(ele) {
-      this.ClientData = ele
-      this.ClientData.projectBackground = this.editorElem
-      this.ClientData.moduleInfo = this.editorElems
-      this.ClientData.functionInfo = this.editorFrom
-      this.ClientData.onlineRisk = this.editorF
-      this.ClientData.rqtInfo = this.editorEle
-      this.ClientData.bugTarget = this.editorData
-      this.ClientData.fctInfo = this.editorEl
-      this.ClientData.pftInfo = this.editorSix
-      this.ClientData.safeResultInfo = this.editorEight
-      this.ClientData.moniterResultInfo = this.editorNine
-      this.ClientData.taskId = this.$route.query.id
-      this.ClientData.bizId = this.bizIdData
-      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({ type: 'success', message: '保存成功' })
-          this.$router.go(-1)
+      this.$refs['ClientData'].validate((valid) => {
+        if (valid) {
+          this.ClientData = ele
+          typeof (this.editorElem) === 'string' ? this.ClientData.projectBackground = this.editorElem : ''
+          typeof (this.editorElems) === 'string' ? this.ClientData.moduleInfo = this.editorElems : ''
+          typeof (this.editorFrom) === 'string' ? this.ClientData.functionInfo = this.editorFrom : ''
+          typeof (this.editorF) === 'string' ? this.ClientData.onlineRisk = this.editorF : ''
+          typeof (this.editorEle) === 'string' ? this.ClientData.rqtInfo = this.editorEle : ''
+          typeof (this.editorData) === 'string' ? this.ClientData.bugTarget = this.editorData : ''
+          typeof (this.editorEl) === 'string' ? this.ClientData.fctInfo = this.editorEl : ''
+          typeof (this.editorSix) === 'string' ? this.ClientData.pftInfo = this.editorSix : ''
+          typeof (this.editorEight) === 'string' ? this.ClientData.safeResultInfo = this.editorEight : ''
+          typeof (this.editorNine) === 'string' ? this.ClientData.moniterResultInfo = this.editorNine : ''
+          // this.ClientData.projectBackground = this.editorElem
+          // this.ClientData.moduleInfo = this.editorElems
+          // this.ClientData.functionInfo = this.editorFrom
+          // this.ClientData.onlineRisk = this.editorF
+          // this.ClientData.rqtInfo = this.editorEle
+          // this.ClientData.bugTarget = this.editorData
+          // this.ClientData.fctInfo = this.editorEl
+          // this.ClientData.pftInfo = this.editorSix
+          // this.ClientData.safeResultInfo = this.editorEight
+          // this.ClientData.moniterResultInfo = this.editorNine
+          this.ClientData.taskId = this.$route.query.id
+          this.ClientData.bizId = this.bizIdData
+          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({ type: 'success', message: '保存成功' })
+              this.$router.go(-1)
+            } else {
+              this.$message.error('保存失败')
+            }
+          })
         } else {
-          this.$message.error('保存失败')
+          return false
         }
       })
     },

+ 2 - 0
src/views/Platform/presentation/Assumptions.vue

@@ -71,6 +71,7 @@ export default {
     return {
       userInformation: localStorage.getItem('username'),
       userNames: localStorage.getItem('realname'),
+      bizJson: localStorage.getItem('key'),
       pageSize: 20,
       curIndex: 1,
       total: 0,
@@ -100,6 +101,7 @@ export default {
   methods: {
     getList() {
       this.indexPage = {
+        bizId: this.bizJson,
         pageSize: this.pageSize,
         curIndex: this.curIndex
       }

+ 53 - 30
src/views/Platform/presentation/ClientAcceptance.vue

@@ -1,14 +1,14 @@
 <template>
   <!-- 准出报告,新增客户端报告 -->
-  <el-form :inline="true" :model="ClientData" style="margin:7% 3%;">
+  <el-form ref="ClientData" :inline="true" :model="ClientData" :rules="serviceDataRules" style="margin:7% 3%;">
     <el-row :gutter="20">
       <el-col :span="13">
-        <el-form-item class="backStyle">
+        <el-form-item class="backStyle" prop="reportName">
           <el-input v-model="ClientData.reportName" style="width:40vw;" placeholder="报告标题(xxx项目准出报告)" />
         </el-form-item>
       </el-col>
       <el-col :span="11">
-        <el-form-item label="by" style=" margin: 20px 0 0 60px;margin-left:70px;background: white">
+        <el-form-item label="by" prop="ownner" style="margin: 20px 0 0 60px;margin-left:70px;background: white">
           <el-input v-model="ClientData.ownner" style="width:20vw; border:2px solid #ccc;border-radius: 4px;" placeholder="who" />
         </el-form-item>
       </el-col>
@@ -20,13 +20,13 @@
           <el-radio v-model="status" style="margin: 0 90px;" label="1" @change="changeStatus(1)">通过</el-radio>
           <el-radio v-model="status" style="padding-right: 140px;" label="2" @change="changeStatus">不通过</el-radio>
         </el-form-item>
-        <el-form-item label="准入结果" class="backStyle" style="margin-left:77px;"><el-input v-model="ClientData.smokeTestResult" style="width:30.5vw;" placeholder="准入次数/通过次数/失败次数" /></el-form-item>
+        <el-form-item label="准入结果" prop="smokeTestResult" class="backStyle" style="margin-left:77px;"><el-input v-model="ClientData.smokeTestResult" style="width:30.5vw;" placeholder="准入次数/通过次数/失败次数" /></el-form-item>
       </el-col>
     </el-row>
     <el-row :gutter="23">
       <el-col :span="23">
-        <el-form-item label="开发人员" class="backStyle"><el-input v-model=" ClientData.developer" style="width:30.5vw;" /></el-form-item>
-        <el-form-item label="开发周期" class="backStyle" style="margin-left:80px;">
+        <el-form-item label="开发人员" prop="developer" class="backStyle"><el-input v-model=" ClientData.developer" style="width:30.5vw;" /></el-form-item>
+        <el-form-item label="开发周期" prop="devTimeEnd" class="backStyle" style="margin-left:80px;">
           <el-date-picker v-model="ClientData.devTimeEnd" style="width:14.5vw;" type="date" placeholder="选择日期" format="yyyy 年 MM 月 dd 日" /> —
           <el-date-picker v-model="ClientData.devTimeStart" style="width:14.5vw;" type="date" placeholder="选择日期" format="yyyy 年 MM 月 dd 日" />
         </el-form-item>
@@ -34,8 +34,8 @@
     </el-row>
     <el-row :gutter="23">
       <el-col :span="23">
-        <el-form-item label="测试人员" class="backStyle"><el-input v-model="ClientData.tester" style="width:30.5vw;" /></el-form-item>
-        <el-form-item label="测试周期" class="backStyle" style="margin-left:80px;">
+        <el-form-item label="测试人员" prop="tester" class="backStyle"><el-input v-model="ClientData.tester" style="width:30.5vw;" /></el-form-item>
+        <el-form-item label="测试周期" prop="testTimeEnd" class="backStyle" style="margin-left:80px;">
           <el-date-picker v-model="ClientData.testTimeEnd" style="width:14.5vw;" type="date" placeholder="选择日期" /> —
           <el-date-picker v-model="ClientData.testTimeStart" style="width:14.5vw;" type="date" placeholder="选择日期" />
         </el-form-item>
@@ -47,7 +47,7 @@
           <el-radio v-model="taskLateStatus" style="margin: 0 90px;" label="2" @change="clickshow">否</el-radio>
           <el-radio v-model="taskLateStatus" style="padding-right: 177px;" label="1" @change="clickshow(1)">是</el-radio>
         </el-form-item>
-        <el-form-item v-show="showDelay" label="延期原因" class="backStyle" style="margin-left:82px;"><el-input v-model="ClientData.taskLateReason" style="width:30.5vw;" /></el-form-item>
+        <el-form-item v-show="showDelay" prop="taskLateReason" label="延期原因" class="backStyle" style="margin-left:82px;"><el-input v-model="ClientData.taskLateReason" style="width:30.5vw;" /></el-form-item>
       </el-col>
     </el-row>
     <el-form-item label="二、项目背景" class="backStyle" />
@@ -101,6 +101,18 @@ export default {
       userInformation: localStorage.getItem('username'),
       userNames: localStorage.getItem('realname'),
       bizIdData: localStorage.getItem('key'),
+      serviceDataRules: {
+        reportName: [{ required: true, message: '报告标题不能为空', trigger: 'change' }],
+        ownner: [{ required: true, message: 'by不能为空', trigger: 'change' }],
+        status: [{ required: true, message: '测试结果不能为空', trigger: 'change' }],
+        taskLateStatus: [{ required: true, message: '准出延期不能为空', trigger: 'change' }],
+        taskLateReason: [{ required: true, message: '延期原因不能为空', trigger: 'change' }],
+        smokeTestResult: [{ required: true, message: '准入结果不能为空', trigger: 'change' }],
+        developer: [{ required: true, message: '开发人员不能为空', trigger: 'change' }],
+        devTimeEnd: [{ required: true, message: '开发周期不能为空', trigger: 'change' }],
+        tester: [{ required: true, message: '测试人员不能为空', trigger: 'change' }],
+        testTimeEnd: [{ required: true, message: '测试周期不能为空', trigger: 'change' }]
+      },
       showButton: true,
       showButton1: '',
       content: null,
@@ -198,28 +210,39 @@ export default {
         .catch(action => { action === 'cancel' ? this.$router.go(-1) : '' })
     },
     getCreateData(ele) {
-      this.ClientData = ele
-      this.ClientData.projectBackground = this.editorElem
-      this.ClientData.fctInfo = this.editorElems
-      this.ClientData.sctInfo = this.editorFrom
-      this.ClientData.acceptanceResultInfo = this.editorFro
-      this.ClientData.bugTarget = this.editorEle
-      this.ClientData.pftResult = this.pftResult
-      this.ClientData.sctResult = this.sctResult
-      this.ClientData.acceptanceResult = this.acceptanceResult
-      this.ClientData.taskId = this.$route.query.id
-      this.ClientData.bizId = this.bizIdData
-      this.ClientData.status = this.status
-      this.ClientData.taskLateStatus = this.taskLateStatus
-      this.ClientData.type = 1
-      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({ type: 'success', message: '保存成功' })
-          this.$router.go(-1)
+      this.$refs['ClientData'].validate((valid) => {
+        if (valid) {
+          this.ClientData = ele
+          typeof (this.editorElem) === 'string' ? this.ClientData.projectBackground = this.editorElem : ''
+          typeof (this.editorElems) === 'string' ? this.ClientData.fctInfo = this.editorElems : ''
+          typeof (this.editorFrom) === 'string' ? this.ClientData.sctInfo = this.editorFrom : ''
+          typeof (this.editorFro) === 'string' ? this.ClientData.acceptanceResultInfo = this.editorFro : ''
+          typeof (this.editorEle) === 'string' ? this.ClientData.bugTarget = this.editorEle : ''
+          // this.ClientData.projectBackground = this.editorElem
+          // this.ClientData.fctInfo = this.editorElems
+          // this.ClientData.sctInfo = this.editorFrom
+          // this.ClientData.acceptanceResultInfo = this.editorFro
+          // this.ClientData.bugTarget = this.editorEle
+          this.ClientData.pftResult = this.pftResult
+          this.ClientData.sctResult = this.sctResult
+          this.ClientData.acceptanceResult = this.acceptanceResult
+          this.ClientData.taskId = this.$route.query.id
+          this.ClientData.bizId = this.bizIdData
+          this.ClientData.status = this.status
+          this.ClientData.taskLateStatus = this.taskLateStatus
+          this.ClientData.type = 1
+          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({ type: 'success', message: '保存成功' })
+              this.$router.go(-1)
+            } else {
+              this.$message.error('保存失败')
+            }
+          })
         } else {
-          this.$message.error('保存失败')
+          return false
         }
       })
     },

+ 27 - 17
src/views/Platform/presentation/DailyNewsAdded.vue

@@ -1,19 +1,19 @@
 <template>
   <!-- 日报报告,新增报告 -->
-  <el-form :inline="true" :model="fromCreateData" style="margin:7% 3%;">
+  <el-form ref="fromCreateData" :inline="true" :model="fromCreateData" :rules="serviceDataRules" style="margin:7% 3%;">
     <el-row :gutter="20">
       <el-col :span="13">
-        <el-form-item class="backStyle">
+        <el-form-item class="backStyle" prop="reportName">
           <el-input v-model="fromCreateData.reportName" style="width:40vw;" placeholder="报告标题" />
         </el-form-item>
       </el-col>
       <el-col :span="11">
-        <el-form-item label="by" style="margin-left:70px;background: white">
+        <el-form-item label="by" prop="ownner" style="margin-left:70px;background: white">
           <el-input v-model="fromCreateData.ownner" style="width:20vw; margin-left:30px; border:2px solid #ccc;border-radius: 4px;" placeholder="who" />
         </el-form-item>
       </el-col>
     </el-row>
-    <el-radio-group v-model="showbut">
+    <el-radio-group v-show="false" v-model="showbut">
       <el-radio label="1" @change="deleteProject(1)">开启项目节点</el-radio>
       <el-radio label="2" @change="deleteProject(2)">关闭项目节点</el-radio>
     </el-radio-group>
@@ -90,6 +90,10 @@ export default {
       userInformation: localStorage.getItem('username'),
       userNames: localStorage.getItem('realname'),
       bizJson: localStorage.getItem('key'),
+      serviceDataRules: {
+        reportName: [{ required: true, message: '报告标题不能为空', trigger: 'change' }],
+        ownner: [{ required: true, message: 'by不能为空', trigger: 'change' }]
+      },
       value: '',
       steps: [],
       content: null,
@@ -221,20 +225,26 @@ export default {
         .catch(action => { action === 'cancel' ? this.$router.go(-1) : '' })
     },
     getCreateData(ele) {
-      this.fromCreateData = ele
-      this.fromCreateData.testExplain = this.testExplain
-      this.fromCreateData.bugExplain = this.bugExplain
-      this.fromCreateData.problemRisks = this.problemRisks
-      this.fromCreateData.taskId = this.$route.query.id
-      this.fromCreateData.bizId = this.bizJson
-      this.userData = { id: '', ename: this.userInformation, name: this.userNames }
-      this.objData = { dailyTestReport: this.fromCreateData, user: this.userData }
-      dailyReportCreate(this.objData).then(res => {
-        if (res.code === 200) {
-          this.$message({ type: 'success', message: '保存成功' })
-          this.$router.go(-1)
+      this.$refs['ClientData'].validate((valid) => {
+        if (valid) {
+          this.fromCreateData = ele
+          this.fromCreateData.testExplain = this.testExplain
+          this.fromCreateData.bugExplain = this.bugExplain
+          this.fromCreateData.problemRisks = this.problemRisks
+          this.fromCreateData.taskId = this.$route.query.id
+          this.fromCreateData.bizId = this.bizJson
+          this.userData = { id: '', ename: this.userInformation, name: this.userNames }
+          this.objData = { dailyTestReport: this.fromCreateData, user: this.userData }
+          dailyReportCreate(this.objData).then(res => {
+            if (res.code === 200) {
+              this.$message({ type: 'success', message: '保存成功' })
+              this.$router.go(-1)
+            } else {
+              this.$message.error('保存失败')
+            }
+          })
         } else {
-          this.$message.error('保存失败')
+          return false
         }
       })
     },

+ 51 - 33
src/views/Platform/presentation/PresentReport.vue

@@ -1,15 +1,15 @@
 <template>
   <!-- 提测报告,新增报告 -->
   <div>
-    <el-form :inline="true" :model="dataChange" style="padding:30px; margin:7% 3%;background:#fff;">
+    <el-form ref="dataChange" :inline="true" :model="dataChange" :rules="serviceDataRules" style="padding:30px; margin:7% 3%;background:#fff;">
       <el-row :gutter="20">
         <el-col :span="13">
           <el-form-item prop="name">
-            <el-input v-model="dataChange.name" style="width:40vw;" placeholder="报告标题(端-版本-需求提测报告)" />
+            <el-input v-model="dataChange.name" style="width:38vw;" placeholder="报告标题(端-版本-需求提测报告)" />
           </el-form-item>
         </el-col>
         <el-col :span="11">
-          <el-form-item label="by" style="margin-left:110px;background: white">
+          <el-form-item label="by" prop="submitter" style="margin-left:80px;background: white">
             <el-input v-model="dataChange.submitter" style="width:20vw; margin-left:30px; border:2px solid #ccc;border-radius: 4px;" placeholder="who" />
           </el-form-item>
         </el-col>
@@ -17,28 +17,28 @@
       <el-row :gutter="20"><el-col :span="12"><el-form-item label="一、提测详情" class="cententTit" /></el-col></el-row>
       <el-row :gutter="20" type="flex">
         <el-col :span="12">
-          <el-form-item label="是否延期">
+          <el-form-item label="是否延期" prop="lateStatus">
             <el-radio v-model="lateStatus" style="margin: 0 90px;" label="2" @change="lateStatusChange">否</el-radio>
             <el-radio v-model="lateStatus" style="padding-right: 185px;" label="1" @change="lateStatusChange(1)">是</el-radio>
           </el-form-item>
-          <el-form-item v-show="showDelay" label="延期原因" style="margin-left:75px;"><el-input v-model="dataChange.latereason" style="width:30.5vw;" /></el-form-item>
+          <el-form-item v-show="showDelay" label="延期原因" prop="latereason" style="margin-left:75px;"><el-input v-model="dataChange.latereason" style="width:29.8vw;" /></el-form-item>
         </el-col>
       </el-row>
       <el-row :gutter="23">
         <el-col :span="23">
-          <el-form-item label="测试地址 "><el-input v-model="dataChange.packageUrl" style="width:73vw; padding-left:7px;" /></el-form-item>
+          <el-form-item label="测试地址 " prop="packageUrl"><el-input v-model="dataChange.packageUrl" style="width:72.5vw; padding-left:7px;" /></el-form-item>
         </el-col>
       </el-row>
       <el-row :gutter="23">
         <el-col :span="23">
-          <el-form-item label="打包分支 "><el-input v-model="dataChange.packageBranch" style="width:73vw; padding-left:7px;" /></el-form-item>
+          <el-form-item label="打包分支 " prop="packageBranch"><el-input v-model="dataChange.packageBranch" style="width:72.5vw; padding-left:7px;" /></el-form-item>
         </el-col>
       </el-row>
       <el-row :gutter="20" type="flex">
         <el-col :span="12">
-          <el-form-item label="提测环境 "><el-input v-model="dataChange.env" style="width:30.8vw; padding-left:7px;" /></el-form-item>
+          <el-form-item label="提测环境 " prop="env"><el-input v-model="dataChange.env" style="width:30.8vw; padding-left:7px;" /></el-form-item>
           <el-form-item label="优先级 " prop="priority" style="margin-left:75px;">
-            <el-select v-model="dataChange.priority" style="width:32vw;padding-left:18px;" placeholder="请选择优先级">
+            <el-select v-model="dataChange.priority" style="width:30.7vw;padding-left:18px;" placeholder="请选择优先级">
               <el-option v-for="item in priorityStrings" :key="item.value" :label="item.name" :value="item.name" />
             </el-select>
           </el-form-item>
@@ -46,30 +46,30 @@
       </el-row>
       <el-row :gutter="20" type="flex">
         <el-col :span="12">
-          <el-form-item label="新增Apollo">
+          <el-form-item label="新增Apollo" prop="configInfo">
             <el-radio v-model="configInfo" style="margin: 0 83px;" label="2" @change="changeApollo">否</el-radio>
             <el-radio v-model="configInfo" style="padding-right: 185px;" label="1" @change="changeApollo(1)">是</el-radio>
           </el-form-item>
-          <el-form-item v-show="showApollo" label="Apollo名称" style="margin-left:75px;"><el-input v-model="dataChange.configInfo" style="width:29.5vw;" /></el-form-item>
+          <el-form-item v-show="showApollo" label="Apollo名称" prop="configInfo" style="margin-left:75px;"><el-input v-model="dataChange.configInfo" style="width:28.5vw;" /></el-form-item>
         </el-col>
       </el-row>
       <el-row :gutter="20" type="flex">
         <el-col :span="12">
-          <el-form-item label="依赖组件">
+          <el-form-item label="依赖组件" prop="dependentComponents">
             <el-radio v-model="dependentComponents" style="margin: 0 90px;" label="2" @change="changeRelyOn">否</el-radio>
             <el-radio v-model="dependentComponents" style="padding-right: 185px;" label="1" @change="changeRelyOn(1)">是</el-radio>
           </el-form-item>
-          <el-form-item v-show="showRelyOn" label="组件名称" style="margin-left:75px;"><el-input v-model="dataChange.dependentComponents" style="width:30.5vw;" /></el-form-item>
+          <el-form-item v-show="showRelyOn" label="组件名称" prop="dependentComponents" style="margin-left:75px;"><el-input v-model="dataChange.dependentComponents" style="width:29.3vw;" /></el-form-item>
         </el-col>
       </el-row>
       <el-row :gutter="23">
         <el-col :span="23">
-          <el-form-item label="PM & UI "><el-input v-model="dataChange.pmUi" style="width:73vw; padding-left:7px;" /></el-form-item>
+          <el-form-item label="PM & UI " prop="pmUi"><el-input v-model="dataChange.pmUi" style="width:72.5vw; padding-left:7px;" /></el-form-item>
         </el-col>
       </el-row>
       <el-row :gutter="23">
         <el-col :span="23">
-          <el-form-item label="需求list" style="padding:2px;"><el-input v-model="dataChange.functionInfo" style="width:73vw;" type="textarea" :rows="5" /></el-form-item>
+          <el-form-item label="需求list" prop="functionInfo" style="padding:2px;"><el-input v-model="dataChange.functionInfo" style="width:73vw;" type="textarea" :rows="5" /></el-form-item>
         </el-col>
       </el-row>
       <el-row :gutter="23">
@@ -119,6 +119,20 @@ export default {
   data() {
     return {
       priorityStrings: [{ name: 'p0', value: 0 }, { name: 'p1', value: 1 }, { name: 'p2', value: 2 }, { name: 'p3', value: 3 }],
+      serviceDataRules: {
+        name: [{ required: true, message: '报告标题不能为空', trigger: 'change' }],
+        submitter: [{ required: true, message: 'by不能为空', trigger: 'change' }],
+        pmUi: [{ required: true, message: 'PM & UI不能为空', trigger: 'change' }],
+        lateStatus: [{ required: true, message: '是否延期不能为空', trigger: 'change' }],
+        latereason: [{ required: true, message: '延期原因不能为空', trigger: 'change' }],
+        dependentComponents: [{ required: true, message: '依赖组建不能为空', trigger: 'change' }],
+        configInfo: [{ required: true, message: '新增Apollo不能为空', trigger: 'change' }],
+        priority: [{ required: true, message: '优先级不能为空', trigger: 'change' }],
+        packageUrl: [{ required: true, message: '测试地址不能为空', trigger: 'change' }],
+        packageBranch: [{ required: true, message: '打包分支不能为空', trigger: 'change' }],
+        functionInfo: [{ required: true, message: '需求list不能为空', trigger: 'change' }],
+        env: [{ required: true, message: '提测环境不能为空', trigger: 'change' }]
+      },
       showDelay: false,
       showApollo: false,
       showRelyOn: false,
@@ -196,25 +210,29 @@ export default {
       })
     },
     getCreateData(ele) {
-      this.dataChange = ele
-      console.log(ele)
-      this.dataChange.joinTest = this.DetailsOfProposal
-      this.dataChange.taskId = this.$route.query.id
-      this.dataChange.bizId = this.bizIdData
-      this.dataChange.type = 1
-
-      this.dataChange.lateStatus === 1 ? this.dataChange.lateStatus = 1 : this.dataChange.lateStatus = 2
-      this.dataChange.configInfo === 1 ? this.dataChange.configInfo = ele.lateReason : this.dataChange.configInfo = ''
-      this.dataChange.dependentComponents === 1 ? this.dataChange.dependentComponents = ele.lateReason : this.dataChange.dependentComponents = ''
-
-      this.userData = { id: '', ename: this.userInformation, name: this.userNames }
-      this.objData = { launchTestInfo: this.dataChange, user: this.userData }
-      launchTestCreate(this.objData).then(res => {
-        if (res.code === 200) {
-          this.$message({ type: 'success', message: '保存成功' })
-          this.$router.go(-1)
+      this.$refs['dataChange'].validate((valid) => {
+        if (valid) {
+          this.dataChange = ele
+          this.dataChange.joinTest = this.DetailsOfProposal
+          this.dataChange.taskId = this.$route.query.id
+          this.dataChange.bizId = this.bizIdData
+          this.dataChange.type = 1
+          this.dataChange.lateStatus === 1 ? this.dataChange.lateStatus = 1 : this.dataChange.lateStatus = 2
+          this.dataChange.configInfo === 1 ? this.dataChange.configInfo = ele.lateReason : this.dataChange.configInfo = ''
+          this.dataChange.dependentComponents === 1 ? this.dataChange.dependentComponents = ele.lateReason : this.dataChange.dependentComponents = ''
+          this.userData = { id: '', ename: this.userInformation, name: this.userNames }
+          this.objData = { launchTestInfo: this.dataChange, user: this.userData }
+          launchTestCreate(this.objData).then(res => {
+            if (res.code === 200) {
+              this.$message({ type: 'success', message: '保存成功' })
+              this.$router.go(-1)
+            } else {
+              this.$message.error('保存失败')
+            }
+          })
         } else {
-          this.$message.error('保存失败')
+          console.log('error submit!!')
+          return false
         }
       })
     },

+ 6 - 9
src/views/Platform/presentation/ResultPage.vue

@@ -7,7 +7,7 @@
     </div>
     <template>
       <el-table :data="tableData" fit border style="width: 100%">
-        <el-table-column label="报告名称" width="280" align="center">
+        <el-table-column label="报告名称" width="200" align="center">
           <template slot-scope="scope">
             <a href="javascript:void(0)" style="color:#20a0ff" @click="toReportView(tableData, scope.row.id)">{{ scope.row.reportName }}</a>
           </template>
@@ -17,7 +17,7 @@
             <span>{{ scope.row.ownner }}</span>
           </template>
         </el-table-column>
-        <el-table-column label="日期" width="280" align="center">
+        <el-table-column label="日期" width="240" align="center">
           <template slot-scope="scope">
             <span>{{ scope.row.gmtCreate }}</span>
           </template>
@@ -27,7 +27,7 @@
             <span>{{ scope.row.statusString }}</span>
           </template>
         </el-table-column>
-        <el-table-column label="操作" align="center" fixed="right" min-width="230">
+        <el-table-column label="操作" align="center" fixed="right" min-width="210">
           <template slot-scope="scope">
             <el-button size="mini" @click="queryPresentation(scope.row)">更新</el-button>
             <el-tooltip content="功能正在实现中···" placement="top">
@@ -71,6 +71,7 @@ export default {
     return {
       userInformation: localStorage.getItem('username'),
       userNames: localStorage.getItem('realname'),
+      bizJson: localStorage.getItem('key'),
       pageSize: 20,
       curIndex: 1,
       total: 0,
@@ -95,6 +96,7 @@ export default {
   methods: {
     getList() {
       this.indexPage = {
+        bizId: this.bizJson,
         pageSize: this.pageSize,
         curIndex: this.curIndex
       }
@@ -196,12 +198,7 @@ export default {
       this.getList()
     },
     errorFun() {
-      this.$notify({
-        title: 'Failed',
-        message: 'Created Failed',
-        type: 'error',
-        duration: 2000
-      })
+      this.$notify({ title: 'Failed', message: 'Created Failed', type: 'error', duration: 2000 })
     }
   }
 }

+ 6 - 5
src/views/Platform/presentation/acceptTheReport.vue

@@ -36,10 +36,10 @@
           </el-row>
           <el-row :gutter="20">
             <el-col :span="12">
-              <el-form-item label="涉及安全项">
+              <el-form-item label="涉及安全项 :">
                 <span :style="safeStatus1">{{ safeStatus }}</span>
-              </el-form-item>
-              <el-form-item v-show="showData" label="完成结果">{{ fromCreateData.safeInfo }}</el-form-item>
+              </el-form-item><br>
+              <el-form-item v-show="showData" label="完成结果 :">{{ fromCreateData.safeInfo }}</el-form-item>
             </el-col>
           </el-row>
           <a href="http://wiki.intra.xiaojukeji.com/pages/viewpage.action?pageId=237016271" style="color:blue; font-size:13px;">普惠SDL准入标准</a>
@@ -154,7 +154,7 @@ export default {
       bizIdData: localStorage.getItem('key'),
       configInfo1: { color: 'green' },
       dependentComponents1: { color: 'green' },
-      lateStatus1: { color: 'green' },
+      lateStatus1: { color: 'red' },
       safeStatus1: { color: 'green' },
       showDelay: false,
       showDelay1: false,
@@ -204,6 +204,7 @@ export default {
     },
     getRouterData() {
       this.fromCreateData = this.$route.query.data
+      console.log(this.fromCreateData)
       if (this.fromCreateData.type === 2) {
         this.towShow = false
         this.oneShow = true
@@ -228,7 +229,7 @@ export default {
       } else {
         this.showDelay = false
         this.lateStatus = '否'
-        this.lateStatus1.color = 'red'
+        this.lateStatus1.color = 'green'
       }
       if (this.fromCreateData.configInfo === 1) {
         this.showDelay1 = true

+ 9 - 5
src/views/Platform/presentation/defectManageQuery.vue

@@ -156,11 +156,15 @@ export default {
   },
   methods: {
     getList() {
-      this.url = window.location.href // 获取url中"?"符后的字串
-      this.arrurl = this.url.split('?id=')
-      bugGet(this.arrurl[1]).then(res => {
-        this.form = res.data
-      })
+      if (this.$route.query.data) {
+        this.form = this.$route.query.data
+      } else {
+        this.url = window.location.href // 获取url中"?"符后的字串
+        this.arrurl = this.url.split('?id=')
+        bugGet(this.arrurl[1]).then(res => {
+          this.form = res.data
+        })
+      }
     },
     bugListSelect() {
       bugGetEnum().then(res => {

+ 5 - 7
src/views/Platform/presentation/presentationReport.vue

@@ -159,8 +159,8 @@ export default {
       userData: '',
       showDelay: false,
       labelWidth: '60px',
-      lateStatus: '1',
-      lateSta: '1',
+      lateStatus: '',
+      lateSta: '',
       fromCreateData: {},
       editorContent: '',
       showData: false,
@@ -243,16 +243,14 @@ export default {
         .catch(action => { action === 'cancel' ? this.$router.go(-1) : '' })
     },
     getCreateData(ele) {
-      this.editorContent = this.editorContent
-      this.DetailsOfProposal
       this.fromCreateData = ele
-      this.fromCreateData.joinTest = this.editorContent
-      this.fromCreateData.moduleInfo = this.DetailsOfProposal
+      typeof (this.editorContent) === 'string' ? this.fromCreateData.joinTest = this.editorContent : ''
+      typeof (this.DetailsOfProposal) === 'string' ? this.fromCreateData.moduleInfo = this.DetailsOfProposal : ''
+      this.fromCreateData.lateReason = ele.lateReason
       this.fromCreateData.lateStatus = this.lateStatus
       this.fromCreateData.taskId = this.$route.query.id
       this.fromCreateData.bizId = this.bizIdData
       this.fromCreateData.type = 2
-      this.fromCreateData.lateStatus === 1 ? this.fromCreateData.lateReason = ele.lateReason : this.fromCreateData.lateReason = ''
       this.userData = { id: '', ename: this.userInformation, name: this.userNames }
       this.objData = { launchTestInfo: this.fromCreateData, user: this.userData }
       launchTestCreate(this.objData).then(res => {

+ 2 - 0
src/views/Platform/presentation/testPresentation.vue

@@ -77,6 +77,7 @@ export default {
     return {
       userInformation: localStorage.getItem('username'),
       userNames: localStorage.getItem('realname'),
+      bizJson: localStorage.getItem('key'),
       centerDialogVisible: false,
       centerDialogVisible1: false,
       getListAllData: '',
@@ -150,6 +151,7 @@ export default {
   methods: {
     getList() {
       this.indexPage = {
+        bizId: this.bizJson,
         pageSize: this.pageSize,
         curIndex: this.curIndex
       }

+ 132 - 97
src/views/Platform/projectPage.vue

@@ -11,17 +11,11 @@
           <el-option v-for="item in statusOptionss" :key="item.value" :label="item.name" :value="item.value" />
         </el-select>
         <el-button class="filter-item" type="primary" size="medium" icon="el-icon-search" @click="querychange(queryLists)">查询</el-button>
-        <!-- <el-button class="filter-item" type="primary" size="medium" icon="el-icon-search">导出</el-button> -->
         <el-button class="filter-item" type="primary" size="medium" icon="el-icon-search" @click="dialogFormVisible = true, changeaddData()">新增</el-button>
       </div>
     </el-header>
 
-    <el-table
-      :data="list"
-      style="width: 100%;margin-bottom: 20px;margin-top: 20px;"
-      row-key="id"
-      lazy
-    >
+    <el-table :data="list" style="width: 100%;margin-bottom: 20px;margin-top: 20px;" row-key="id" lazy>
       <!-- :tree-props="{children: 'taskInfoDOList', hasChildren: 'hasChildren'}" -->
       <el-table-column label="序号" prop="id" sortable align="center" min-width="80">
         <template slot-scope="scope">
@@ -45,7 +39,7 @@
       </el-table-column>
       <el-table-column label="上线时间" min-width="200px" align="center">
         <template slot-scope="scope">
-          <span>{{ scope.row.modifyTime }}</span>
+          <span>{{ scope.row.allOnlineTime }}</span>
         </template>
       </el-table-column>
       <el-table-column v-if="statusproject" label="进展" min-width="200px" align="center">
@@ -77,26 +71,26 @@
         </el-form-item>
         <div style="display: flex;">
           <div style="flex:1;">
-            <el-form-item label="业务线" prop="bizId" :label-width="formLabelWidths">
-              <el-select v-model="form.bizId" placeholder="业务线">
-                <el-option v-for="item in bizOptions" :key="item.value" :label="item.name" :value="item.value" />
+            <el-form-item label="业务线" prop="bizIdString" :label-width="formLabelWidths">
+              <el-select v-model="form.bizIdString" placeholder="业务线">
+                <el-option v-for="item in bizOptions" :key="item.value" :label="item.name" :value="item.name" />
               </el-select>
             </el-form-item>
             <el-form-item label="状态" prop="statusString" :label-width="formLabelWidths">
               <el-select v-model="form.statusString" placeholder="状态">
-                <el-option v-for="item in statusOptionss" :key="item.value" :label="item.name" :value="item.value" />
+                <el-option v-for="item in statusOptionss" :key="item.value" :label="item.name" :value="item.name" />
               </el-select>
             </el-form-item>
           </div>
           <div style="flex:1;">
             <el-form-item label="优先级" prop="priorityString" :label-width="formLabelWidths">
               <el-select v-model="form.priorityString" placeholder="优先级">
-                <el-option v-for="item in priorityStrings" :key="item.value" :label="item.name" :value="item.value" />
+                <el-option v-for="item in priorityStrings" :key="item.value" :label="item.name" :value="item.name" />
               </el-select>
             </el-form-item>
             <el-form-item label="进展" prop="stageString" :label-width="formLabelWidths">
               <el-select v-model="form.stageString" placeholder="进展">
-                <el-option v-for="item in stageStrings" :key="item.value" :label="item.name" :value="item.value" />
+                <el-option v-for="item in stageStrings" :key="item.value" :label="item.name" :value="item.name" />
               </el-select>
             </el-form-item>
           </div>
@@ -211,8 +205,8 @@
         </el-form-item>
         <div style="display: flex;">
           <div style="flex:1;">
-            <el-form-item label="业务线" prop="bizId" label-width="100px">
-              <el-select v-model="formTask.bizId" placeholder="业务线">
+            <el-form-item label="业务线" prop="bizIdString" label-width="100px">
+              <el-select v-model="formTask.bizIdString" placeholder="业务线">
                 <el-option v-for="item in bizOptions" :key="item.value" :label="item.name" :value="item.value" />
               </el-select>
             </el-form-item>
@@ -338,21 +332,22 @@
       </div>
     </el-dialog>
 
+    <!-- 二页面 -->
     <el-dialog width="80%" :visible.sync="dialogTableVisible">
       <div style="font-size:18px;color:#000000;">项目管理</div><hr>
       <div>
         <div style=" diaplay: flex; padding-top:30px;">
           <span class="tableproject" style="flex:1;">状态</span>
-          <el-select v-model="projectData.status" style="width: 100px;" size="mini" placeholder="状态" @change="updateData(projectData)">
-            <el-option v-for="item in statusOptionss" :key="item.value" :label="item.name" :value="item.value" />
+          <el-select v-model="projectData.statusString" style="width: 100px;" size="mini" placeholder="状态" @change="updateData(projectData)">
+            <el-option v-for="item in statusOptionss" :key="item.value" :label="item.name" :value="item.name" />
           </el-select>
           <span class="tableproject" style="flex:1;">优先级</span>
-          <el-select v-model="projectData.priority" style="width: 100px;" size="mini" placeholder="优先级" @change="updateData(projectData)">
-            <el-option v-for="item in priorityStrings" :key="item.value" :label="item.name" :value="item.value" />
+          <el-select v-model="projectData.priorityString" style="width: 100px;" size="mini" placeholder="优先级" @change="updateData(projectData)">
+            <el-option v-for="item in priorityStrings" :key="item.value" :label="item.name" :value="item.name" />
           </el-select>
           <span class="tableproject" style="flex:1;">进展</span>
           <el-select v-model="projectData.stageString" placeholder="进展" style="width: 100px;" size="mini" @change="updateData(projectData)">
-            <el-option v-for="item in stageStrings" :key="item.value" :label="item.name" :value="item.value" />
+            <el-option v-for="item in stageStrings" :key="item.value" :label="item.name" :value="item.name" />
           </el-select>
           <el-button type="primary" size="small" style="float:right;margin-right:7%" @click="dialogFormVisible = true, changeData">编辑</el-button>
         </div><hr>
@@ -417,6 +412,7 @@
           </div>
         </div>
       </transition>
+
       <div style="margin-top:20px;">
         <div style="font-size:18px;color:#000000;">任务信息
           <el-button type="primary" size="small" style="float:right;margin:-8px 7% 0 0;" @click=" dialogFormTaskVisible = true, changeaddTaskData()">新增</el-button>
@@ -436,7 +432,7 @@
               <span class="projectStyle" @click="taskInformation = true, getClickId(scope.row, scope.row.id)">{{ scope.row.name }}</span>
             </template>
           </el-table-column>
-          <el-table-column label="状态" prop="status" align="center" min-width="60">
+          <el-table-column label="状态" prop="statusString" align="center" min-width="60">
             <template slot-scope="scope">
               <span>{{ scope.row.statusString }}</span>
             </template>
@@ -446,9 +442,9 @@
               <span>{{ scope.row.createTime }}</span>
             </template>
           </el-table-column>
-          <el-table-column label="上线时间" prop="modifyTime" align="center" min-width="150">
+          <el-table-column label="计划上线时间" prop="modifyTime" align="center" min-width="150">
             <template slot-scope="scope">
-              <span>{{ scope.row.modifyTime }}</span>
+              <span>{{ scope.row.onlinePlanTime }}</span>
             </template>
           </el-table-column>
           <el-table-column label="操作" align="center" min-width="150">
@@ -461,17 +457,18 @@
       </div>
     </el-dialog>
 
+    <!-- 三页面 -->
     <el-dialog width="80%" :visible.sync="taskInformation">
       <div style="font-size:18px;color:#000000;">任务信息</div><hr>
       <div width="70%" style="padding-top:30px;">
         <div style="padding-bottom:5px; diaplay: flex;">
           <span class="tableproject" style="flex:1;">状态</span>
-          <el-select v-model="taskDatas.status" style="width: 100px;" size="mini" placeholder="状态" @change="updateaddTaskData(taskDatas)">
-            <el-option v-for="item in statusOptionss" :key="item.value" :label="item.name" :value="item.value" />
+          <el-select v-model="taskDatas.statusString" style="width: 100px;" size="mini" placeholder="状态" @change="updateaddTaskData(taskDatas)">
+            <el-option v-for="item in statusOptionss" :key="item.value" :label="item.name" :value="item.name" />
           </el-select>
           <span class="tableproject" style="flex:1;">优先级</span>
-          <el-select v-model="taskDatas.priority" style="width: 100px;" size="mini" placeholder="优先级" @change="updateaddTaskData(taskDatas)">
-            <el-option v-for="item in priorityStrings" :key="item.value" :label="item.name" :value="item.value" />
+          <el-select v-model="taskDatas.priorityString" style="width: 100px;" size="mini" placeholder="优先级" @change="updateaddTaskData(taskDatas)">
+            <el-option v-for="item in priorityStrings" :key="item.value" :label="item.name" :value="item.name" />
           </el-select>
           <el-button type="primary" size="small" @click="createReport(1, taskDatas)">新建提测报告</el-button>
           <el-button type="primary" size="small" @click="createReport(2, taskDatas)">新建日报报告</el-button>
@@ -486,10 +483,15 @@
             <el-form-item label="PM :"><span>{{ taskDatas.pm }}</span></el-form-item>
             <el-form-item label="RD :"><span>{{ taskDatas.rd }}</span></el-form-item>
             <el-form-item label="QA :"><span>{{ taskDatas.qa }}</span></el-form-item>
+            <el-form-item label="打回次数 :"><span>{{ taskDatas.reopen }}</span></el-form-item>
           </el-form>
           <el-form style="flex:1;" label="right" size="mini" label-width="110px">
-            <el-form-item label="打回次数 :"><span>{{ taskDatas.reopen }}</span></el-form-item>
+            <el-form-item label="业务线 :"><span>{{ taskDatas.bizIdString }}</span></el-form-item>
+            <el-form-item label="任务类型 :"><span>{{ taskDatas.taskType }}</span></el-form-item>
+            <el-form-item label="平台类型 :"><span>{{ taskDatas.typeString }}</span></el-form-item>
+            <el-form-item label="是否免测 :"><span>{{ taskDatas.noTestString }}</span></el-form-item>
             <el-form-item label="业务模块 :"><span>{{ taskDatas.businessType }}</span></el-form-item>
+
           </el-form>
         </div>
         <el-form label="right" style="margin-left:30px;" size="mini" label-width="210px">
@@ -533,18 +535,17 @@
                 <template slot-scope="scope"><span>{{ scope.row.id }}</span></template>
               </el-table-column>
               <el-table-column label="标题" prop="name" align="center" min-width="100">
-                <template slot-scope="scope"><span @click="queryData(scope.row.id, listTaskDatas)"><a href="#">{{ scope.row.name }}</a></span></template>
+                <template slot-scope="scope"><span class="projectStyle" @click="queryData(scope.row.id, listTaskDatas)"><a href="#">{{ scope.row.name }}</a></span></template>
               </el-table-column>
               <el-table-column label="创建时间" prop="gmtCreate" align="center" min-width="150">
                 <template slot-scope="scope"><span>{{ scope.row.gmtCreate }}</span></template>
               </el-table-column>
-              <el-table-column label="状态" prop="status" align="center" min-width="80">
+              <el-table-column label="状态" prop="statusString" align="center" min-width="80">
                 <template slot-scope="scope"><span>{{ scope.row.statusString }}</span></template>
               </el-table-column>
               <el-table-column label="操作" align="center" min-width="150">
                 <template slot-scope="scope">
                   <el-button type="primary" size="small" disabled>查看</el-button>
-                  <!-- <el-button type="primary" size="small" disabled>编辑</el-button> -->
                   <el-button type="primary" size="small" @click="yesCallBack1(2,scope.row.id)">打回</el-button>
                   <el-button type="primary" size="small" @click="yesCallBack(1,scope.row.id)">通过</el-button>
                 </template>
@@ -580,7 +581,25 @@
               </el-table-column>
             </el-table>
           </el-tab-pane>
-          <el-tab-pane label="bug报告">bug报告正在开发中····</el-tab-pane>
+          <el-tab-pane label="bug报告">
+            <el-table :data="projectBug" style="width: 100%">
+              <el-table-column label="ID" align="center" min-width="60">
+                <template slot-scope="scope"><span>{{ scope.row.id }}</span></template>
+              </el-table-column>
+              <el-table-column label="标题" align="center" min-width="100">
+                <template slot-scope="scope"><span class="projectStyle" @click="queryBugData(scope.row.id, projectBug)"><a href="#">{{ scope.row.bugName }}</a></span></template>
+              </el-table-column>
+              <el-table-column label="状态" align="center" min-width="80">
+                <template slot-scope="scope"><span>{{ scope.row.status }}</span></template>
+              </el-table-column>
+              <el-table-column label="当前处理人" align="center" min-width="100">
+                <template slot-scope="scope"><span>{{ scope.row.currentHandler }}</span></template>
+              </el-table-column>
+              <el-table-column label="创建时间" align="center" min-width="150">
+                <template slot-scope="scope"><span>{{ scope.row.gmtCreate }}</span></template>
+              </el-table-column>
+            </el-table>
+          </el-tab-pane>
         </el-tabs>
         <div style="height:aotu; text-align:center;">----------------------------------我是底线---------------------------------</div>
       </div>
@@ -610,6 +629,7 @@ export default {
       dailyTestReports: [],
       businessTypeStr: [],
       taskTypeStr: [],
+      projectBug: [],
       tabPosition: 'top',
       textarea: '',
       CallBackTheReason: '',
@@ -628,32 +648,14 @@ export default {
       stageStrings: [{ name: '正常', value: 1 }, { name: 'delay', value: 2 }, { name: 'pending', value: 3 }],
       priorityStrings: [{ name: 'p0', value: 0 }, { name: 'p1', value: 1 }, { name: 'p2', value: 2 }, { name: 'p3', value: 3 }],
       statusOptionss: [{ name: '待评估', value: 0 }, { name: '待需求产出', value: 1 }, { name: '待评审', value: 2 }, { name: '待排期', value: 3 }, { name: '待开发', value: 4 }, { name: '开发中', value: 5 }, { name: '待测试', value: 6 }, { name: '测试中', value: 7 }, { name: '验收中', value: 8 }, { name: '已上线', value: 9 }],
-      bizOptions: [{ name: '企业级', value: '100' }, { name: '滴滴代驾', value: 261 }, { name: 'prado', value: 330 }, { name: 'carbo', value: 331 }, { name: '海马', value: 309 }],
+      bizOptions: [{ name: '万象', value: 101 }, { name: '企业级', value: 100 }, { name: '滴滴代驾', value: 261 }, { name: 'prado', value: 330 }, { name: 'carbo', value: 331 }, { name: '海马', value: 309 }],
       userInformation: localStorage.getItem('username'),
       userNames: localStorage.getItem('realname'),
       statusShow: '',
       childrenList: '',
       parameter: '',
-      queryLists: {
-        stage: '',
-        priority: '',
-        creater: '',
-        curIndex: '',
-        pageSize: '',
-        statusString: '',
-        name: '',
-        dateQuery: ''
-      },
-      queryListData: {
-        stage: '',
-        priority: '',
-        creater: '',
-        curIndex: '',
-        pageSize: '',
-        status: '',
-        name: '',
-        dateQuery: ''
-      },
+      queryLists: {},
+      queryListData: {},
       projectShow: '',
       statusproject: false,
       projectData: {},
@@ -705,7 +707,7 @@ export default {
         notest: [{ required: true, message: '是否免测不能为空', trigger: 'change' }],
         type: [{ required: true, message: '平台类型不能为空', trigger: 'change' }],
         name: [{ required: true, message: '项目名称不能为空', trigger: 'change' }],
-        bizId: [{ required: true, message: '业务线不能为空', trigger: 'change' }],
+        bizIdString: [{ required: true, message: '业务线不能为空', trigger: 'change' }],
         statusString: [{ required: true, message: '状态不能为空', trigger: 'change' }],
         priorityString: [{ required: true, message: '优先级不能为空', trigger: 'change' }],
         stageString: [{ required: true, message: '进展不能为空', trigger: 'change' }],
@@ -749,10 +751,23 @@ export default {
       this.$refs['serviceDataForms'].validate((valid) => {
         if (valid) {
           this.bizData = vel
-          this.bizData.stage = vel.stageString
-          this.bizData.status = vel.statusString
-          this.bizData.priority = vel.priorityString
+          for (var a of this.statusOptionss) {
+            vel.statusString === a.name ? this.bizData.status = a.value : ''
+          }
+          for (var s of this.priorityStrings) {
+            vel.priorityString === s.name ? this.bizData.priority = s.value : ''
+          }
+          for (var f of this.stageStrings) {
+            vel.stageString === f.name ? this.bizData.stage = f.value : ''
+          }
+          // this.bizData.stage = vel.stageString
+          // this.bizData.status = vel.statusString
+          // this.bizData.priority = vel.priorityString
+        } else {
+          console.log('error submit!!')
+          return false
         }
+
         this.userData = { id: '', ename: this.userInformation, name: this.userNames }
         this.objData = { projectInfo: this.bizData, user: this.userData }
         addProject(this.objData).then(response => {
@@ -761,7 +776,7 @@ export default {
             this.successFun()
             this.dialogFormVisible = false
           } else {
-            this.errorFun()
+            this.errorFun(response.msg)
           }
         })
       })
@@ -773,31 +788,40 @@ export default {
       this.form = vel
     },
     updateData(vel) {
+      this.bizData = vel
+      for (var a of this.statusOptionss) {
+        vel.statusString === a.name ? this.bizData.status = a.value : ''
+      }
+      for (var s of this.priorityStrings) {
+        vel.priorityString === s.name ? this.bizData.priority = s.value : ''
+      }
+      for (var d of this.bizOptions) {
+        vel.bizIdString === d.name ? this.bizData.bizId = d.value : ''
+      }
+      for (var f of this.stageStrings) {
+        vel.stageString === f.name ? this.bizData.stage = f.value : ''
+      }
       if (vel === this.projectData) {
         this.bizData = {
-          status: vel.status,
-          id: this.parameter,
-          priority: vel.priority,
-          stage: vel.stage
+          id: this.parameter
         }
       } else {
-        this.bizData = vel
         this.bizData.id = vel.id
-        this.bizData.status = vel.status
-        this.bizData.priority = vel.priority
-        // this.bizData.stageString = vel.stageString
-        this.bizData.stage = vel.stage
       }
+      this.bizData.status = vel.status
+      this.bizData.priority = vel.priority
+      this.bizData.stage = vel.stage
       this.userData = { id: '', ename: this.userInformation, name: this.userNames }
       this.objData = { projectInfo: this.bizData, user: this.userData }
       updateProject(this.objData).then(response => {
         if (response.code === 200) {
           this.dialogFormVisible = false
           this.dialogTableVisible = false
+          this.bizData = {}
           this.successFun()
           this.getList()
         } else {
-          this.errorFun()
+          this.errorFun(response.msg)
         }
       })
     },
@@ -828,7 +852,7 @@ export default {
           this.getList()
           this.successFun()
         } else {
-          this.errorFun()
+          this.errorFun(response.msg)
         }
       })
     },
@@ -866,15 +890,9 @@ export default {
         type: 'warning'
       }).then(() => {
         this.deleteTaskDataOut(e)
-        this.$message({
-          type: 'success',
-          message: '删除成功!'
-        })
+        this.$message({ type: 'success', message: '删除成功!' })
       }).catch(() => {
-        this.$message({
-          type: 'info',
-          message: '已取消删除'
-        })
+        this.$message({ type: 'info', message: '已取消删除' })
       })
     },
     // 任务删除
@@ -886,7 +904,7 @@ export default {
           this.successFun()
           this.dialogTableVisible = false
         } else {
-          this.errorFun()
+          this.errorFun(response.msg)
         }
       })
     },
@@ -916,11 +934,16 @@ export default {
       this.$refs['serviceTaskDataForms'].validate((valid) => {
         if (valid) {
           this.formTask = vel
+          this.formTask.bizId = vel.bizIdString
           this.formTask.priority = vel.priorityString
           this.formTask.status = vel.statusString
           this.formTask.stage = vel.stageString
           this.formTask.projectId = this.parameter
+        } else {
+          console.log('error submit!!')
+          return false
         }
+
         this.userData = { id: '', ename: this.userInformation, name: this.userNames }
         this.objData = { taskInfo: this.formTask, user: this.userData }
         createTaskData(this.objData).then(response => {
@@ -930,7 +953,7 @@ export default {
             this.dialogTableVisible = false
             this.dialogFormTaskVisible = false
           } else {
-            this.errorFun()
+            this.errorFun(response.msg)
           }
         })
       })
@@ -941,31 +964,34 @@ export default {
       this.formTask = ele
       this.queryTaskData(this.formTask)
       getTaskData(e).then(response => {
-        console.log(response)
         this.taskDatas = response.data
         this.listTaskDatas = response.data.launchTestInfoList
         this.listTaskDatas.statusString = this.taskDatas.statusString
         this.projectTestReports = response.data.projectTestReports
         this.projectTestReports.statusString = this.taskDatas.statusString
         this.dailyTestReports = response.data.dailyTestReports
+        this.projectBug = response.data.bugBaseInfoDOS
         // this.dailyTestReports.statusString = this.taskDatas.statusString
       })
     },
 
     updateaddTaskData(vel) {
-      // if (vel === this.taskDatas) {
-      //   this.formTask = {
-      //     status: vel.status,
-      //     id: vel.id,
-      //     priority: vel.priority
-      //   }
-      // } else {
       this.formTask = vel
       this.formTask.projectId = this.parameter
-      this.formTask.status = vel.status
-      // this.formTask.stage = vel.stage
-      this.formTask.priority = vel.priority
-      // }
+      // this.formTask.priority = vel.priority
+      for (var e of this.bizOptions) {
+        // vel.bizIdString === e.name ? this.formTask.bizId = e.value : ''
+        typeof (vel.bizIdString) === 'number' ? this.formTask.bizId = vel.bizIdString : vel.bizIdString === e.name ? this.formTask.bizId = e.value : ''
+      }
+      for (var ele of this.statusOptionss) {
+        typeof (vel.statusString) === 'number' ? this.formTask.status = vel.statusString : vel.statusString === ele.name ? this.formTask.status = ele.value : ''
+      }
+      for (var el of this.statusOptionss) {
+        typeof (vel.stageString) === 'number' ? this.formTask.stage = vel.stageString : vel.stageString === el.name ? this.formTask.stage = el.value : ''
+      }
+      for (var els of this.priorityStrings) {
+        typeof (vel.priorityString) === 'number' ? this.formTask.priority = vel.priorityString : vel.priorityString === els.name ? this.formTask.priority = els.value : ''
+      }
       this.userData = { id: '', ename: this.userInformation, name: this.userNames }
       this.objData = { taskInfo: this.formTask, user: this.userData }
       updateTaskList(this.objData).then(response => {
@@ -977,7 +1003,7 @@ export default {
           this.getList()
           this.successFun()
         } else {
-          this.errorFun()
+          this.errorFun(response.msg)
         }
       })
     },
@@ -1026,8 +1052,8 @@ export default {
     successFun() {
       this.$notify({ title: 'Success', message: 'Created Successfully', type: 'success', duration: 2000 })
     },
-    errorFun() {
-      this.$notify({ title: 'Failed', message: 'Created Failed', type: 'error', duration: 2000 })
+    errorFun(e) {
+      this.$notify({ title: 'Failed', message: e, type: 'error', duration: 2000 })
     },
     yesCallBack(e, ele) {
       this.centerDialogVisible = false
@@ -1039,10 +1065,11 @@ export default {
       this.userData = { id: '', ename: this.userInformation, name: this.userNames }
       this.objData = { launchTestInfo: this.tt, user: this.userData }
       launchTestUpdate(this.objData).then(res => {
-        res.code === 200 ? this.successFun() : this.errorFun()
+        res.code === 200 ? this.successFun() : this.errorFun(res.msg)
       })
     },
     clickType(e) {
+      this.formTask.businessType = ''
       e === 1 ? this.businessTypeStr = this.serviceTypeEnumList : this.businessTypeStr = this.clientTypeEnumList
     },
     yesCallBack1(e, ele) {
@@ -1056,8 +1083,16 @@ export default {
           this.mub = val
         }
       }
-      console.log(this.mub)
       this.$router.push({ path: '/Platform/presentation/acceptTheReport', query: { data: this.mub }})
+    },
+    queryBugData(e, ele) {
+      // location.href = 'http://localhost:9528/#/Platform/presentation/defectManageQuery?id=' + e
+      for (var val of ele) {
+        if (e === val.id) {
+          this.mub = val
+        }
+      }
+      this.$router.push({ path: '/Platform/presentation/defectManageQuery', query: { data: this.mub }})
     }
   }
 }