qinzhipeng_v 5 년 전
부모
커밋
5e8cbe3955

+ 26 - 0
src/api/taskIndex.js

@@ -140,3 +140,29 @@ export function deleteEvent(id, data) {
     data
   })
 }
+
+// 获取日报
+export function projectTestReport(data) {
+  return request({
+    url: TeamManagement + `/projectTestReport/getByTaskId`,
+    method: 'post',
+    data
+  })
+}
+
+// 获取日报
+export function dailyReport(data) {
+  return request({
+    url: TeamManagement + `/dailyReport/getByTaskId`,
+    method: 'post',
+    data
+  })
+}
+
+export function launchTest(data) {
+  return request({
+    url: TeamManagement + `/launchTest/getByTaskId`,
+    method: 'post',
+    data
+  })
+}

+ 2 - 2
src/api/testPresentetion.js

@@ -1,5 +1,5 @@
 import request from '@/utils/request'
-import { Presentation, mockUrl } from '@/apiConfig/api'
+import { Presentation } from '@/apiConfig/api'
 // ================================== Interface ======================================
 
 // 全局list
@@ -73,7 +73,7 @@ export function launchTest(params) {
 // echarts
 export function projectTestReport(params) {
   return request({
-    url: mockUrl + '/projectTestReport/get',
+    url: Presentation + '/projectTestReport/get',
     method: 'get',
     params
   })

+ 11 - 43
src/views/Platform/presentation/Acceptance.vue

@@ -171,13 +171,7 @@
 
       <div id="editorNine" class="toolbar" />
       <div id="editorNine1" class="text" />
-
-      <dir align="right" style="display: flex; margin: 5vw 0 0 50vw;">
-        <div style="flex: 1;"><el-button v-show="preview" @click="clickPreview(ClientData)"> 预 览 </el-button></div>
-        <div v-show="showButton" style="flex: 1;"><el-button type="primary" @click="getCreateData(ClientData, tableData)"> 保 存 </el-button></div>
-        <div v-show="showButton1" style="flex: 1;"><el-button type="primary" @click="getQueryData(ClientData, tableData)"> 更 新 </el-button></div>
-        <div style="flex: 1;"><el-button @click="open()"> 取 消 </el-button></div>
-      </dir>
+      <div v-show="showButton1" style="flex: 1;"><el-button type="primary" @click="getQueryData(ClientData, tableData)"> 更 新 </el-button></div>
     </el-form>
   </div>
 </template>
@@ -213,7 +207,6 @@ export default {
       fctResultChange2: 'info',
       getInfoBtn: 'info',
       getInfoBtn1: 'info',
-      preview: false,
       userInformation: localStorage.getItem('username'),
       userNames: localStorage.getItem('realname'),
       serviceDataRules: {
@@ -231,7 +224,6 @@ export default {
       },
       showData: false,
       showDelay: false,
-      showButton: true,
       showButton1: '',
       content: null,
       editorContent: '',
@@ -330,7 +322,6 @@ export default {
   },
   methods: {
     getRouterData() {
-      this.showButton = true
       this.showButton1 = false
 
       if (this.$route.query.projectId) { // 项目页面新建
@@ -360,8 +351,6 @@ export default {
 
       if (this.$route.query.data) { // 报告主页更新
         this.showButton1 = true
-        this.showButton = false
-        this.preview = true
         projectTestReport({ id: this.$route.query.id }).then((res) => {
           this.ClientData = res.data
           this.editorElem.txt.html(this.ClientData.projectBackground)
@@ -511,20 +500,9 @@ export default {
         }
       })
     },
-    open(ele) {
-      this.$confirm('是否放弃修改,离开页面?', '确认信息', {
-        distinguishCancelAndClose: true,
-        confirmButtonText: '继续修改',
-        cancelButtonText: '放弃修改'
-      })
-        .then(() => { this.$message({ type: 'info', message: '继续修改' }) })
-        .catch(action => { action === 'cancel' ? this.$router.go(-1) : '' })
-    },
-
     // 更新准出报告
     getQueryData(ele, vel) {
       this.ClientData = ele
-      // this.ClientData.bugTarget = JSON.stringify(vel[0])
       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 : ''
@@ -552,13 +530,17 @@ export default {
         }
       })
     },
+    parentHandleclick() {
+      this.getCreateData(this.ClientData, this.tableData)
+    },
 
     // 新建准出提交
     getCreateData(ele, vel) {
       this.$refs['ClientData'].validate((valid) => {
         if (valid) {
+          var url = location.href // 获取url中"?"符后的字串
+          var arr = url.split('=')
           this.ClientData = ele
-          // this.ClientData.bugTarget = JSON.stringify(vel[0])
           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 : ''
@@ -569,18 +551,8 @@ export default {
           typeof (this.editorEight) === 'string' ? this.ClientData.safeResultInfo = this.editorEight : ''
           typeof (this.editorNine) === 'string' ? this.ClientData.moniterResultInfo = this.editorNine : ''
           this.$route.query.id ? this.ClientData.taskId = this.$route.query.id : ''
-          if (this.$route.query.projectId) { // 项目页面
-            this.ClientData.bizId = this.bizIdCode
-            this.ClientData.projectId = this.projectIdCode
-          }
-          if (this.$route.query.task) { // 任务页面
-            this.ClientData.bizId = this.bizIdCode
-            this.ClientData.taskId = this.projectIdCode
-          }
-          if (this.$route.query.projectData) { // 主页面新建
-            this.$route.query.projectData.typeString === 1 ? this.ClientData.projectId = this.projectIdCode : this.ClientData.taskId = this.projectIdCode
-            this.ClientData.bizId = this.bizIdCode
-          }
+          this.ClientData.bizId = Number(localStorage.getItem('bizId'))
+          this.ClientData.taskIds = [Number(arr[1])]
           this.ClientData.fctResult = this.fctResult
           this.ClientData.rqtResult = this.rqtResult
           this.ClientData.pftResult = this.pftResult
@@ -594,10 +566,10 @@ export default {
           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.$message.success(res.msg)
+              this.$emit('quasiExit', res.data)
             } else {
-              this.$message.error('保存失败')
+              this.$message.error(res.msg)
             }
           })
         } else {
@@ -605,10 +577,6 @@ export default {
         }
       })
     },
-    clickPreview(ele) {
-      this.$router.push({ path: '/Platform/presentation/ResultPageyL', query: { id: this.$route.query.id }})
-    },
-
     // 准出延期
     lateStatusChange(e) {
       if (e === 1) {

+ 8 - 45
src/views/Platform/presentation/ClientAcceptance.vue

@@ -119,13 +119,7 @@
       <el-row>
         <el-col :span="24" style="margin:1% 0;">遗留问题<el-input v-model="ClientData.bugInfo" type="textarea" size="small" placeholder="请填写内容" style="margin-top:1%;" /></el-col>
       </el-row>
-
-      <div align="center" style="display: flex; margin: 2vw 0 2vw 30vw;">
-        <div style="flex: 1;"><el-button v-show="preview" @click="clickPreview(ClientData)"> 预 览 </el-button></div>
-        <div v-show="showButton" style="flex: 1;"><el-button type="primary" @click="getCreateData(ClientData, tableData)"> 保 存 </el-button></div>
-        <div v-show="showButton1" style="flex: 1;"><el-button type="primary" @click="getQueryData(ClientData, tableData)"> 更 新 </el-button></div>
-        <div style="flex: 1;"><el-button @click="open()"> 取 消 </el-button></div>
-      </div>
+      <div v-show="showButton1" style="flex: 1;"><el-button type="primary" @click="getQueryData(ClientData, tableData)"> 更 新 </el-button></div>
     </el-form>
   </div>
 </template>
@@ -153,7 +147,6 @@ export default {
       acceptanceResultChange: 'info',
       acceptanceResultChange1: 'info',
       acceptanceResultChange2: 'info',
-      preview: false,
       userInformation: localStorage.getItem('username'),
       userNames: localStorage.getItem('realname'),
       serviceDataRules: {
@@ -168,7 +161,6 @@ export default {
         tester: [{ required: true, message: '测试人员不能为空', trigger: 'change' }],
         testTimeEnd: [{ required: true, message: '测试周期不能为空', trigger: 'change' }]
       },
-      showButton: true,
       showButton1: '',
       content: null,
       editorContent: '',
@@ -224,15 +216,7 @@ export default {
   },
   methods: {
     getRouterData() {
-      this.showButton = true
       this.showButton1 = false
-      if (this.$route.query.projectId) { // 项目页面新建
-        this.ClientData = {}
-        this.bizIdCode = this.$route.query.projectId.bizId
-        this.projectIdCode = this.$route.query.projectId.id
-        this.bugNum = { type: 2, projectId: this.projectIdCode }
-        this.getBugData()
-      }
 
       if (this.$route.query.task) { // 任务页面新建
         this.ClientData = {}
@@ -253,8 +237,6 @@ export default {
 
       if (this.$route.query.data) { // 准出主页面
         this.showButton1 = true
-        this.showButton = false
-        this.preview = true
         projectTestReport({ id: this.$route.query.id }).then((res) => {
           this.ClientData = res.data
           this.bugNum = { type: 2, taskId: this.$route.query.taskId, projectId: this.$route.query.projectId }
@@ -356,20 +338,15 @@ export default {
         this.formatData()
       })
     },
-    open() {
-      this.$confirm('是否放弃修改,离开页面?', '确认信息', {
-        distinguishCancelAndClose: true,
-        confirmButtonText: '继续修改',
-        cancelButtonText: '放弃修改'
-      })
-        .then(() => { this.$message({ type: 'info', message: '继续修改' }) })
-        .catch(action => { action === 'cancel' ? this.$router.go(-1) : '' })
+    parentHandleclick() {
+      this.getCreateData(this.ClientData, this.tableData)
     },
     getCreateData(ele, vel) {
       this.$refs['ClientData'].validate((valid) => {
         if (valid) {
           this.ClientData = ele
-          // this.ClientData.bugTarget = JSON.stringify(vel[0])
+          var url = location.href // 获取url中"?"符后的字串
+          var arr = url.split('=')
           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 : ''
@@ -377,18 +354,8 @@ export default {
           this.ClientData.pftResult = this.pftResult
           this.ClientData.sctResult = this.sctResult
           this.ClientData.acceptanceResult = this.acceptanceResult
-          if (this.$route.query.projectId) { // 项目页面
-            this.ClientData.bizId = this.bizIdCode
-            this.ClientData.projectId = this.projectIdCode
-          }
-          if (this.$route.query.task) { // 任务页面
-            this.ClientData.bizId = this.bizIdCode
-            this.ClientData.taskId = this.projectIdCode
-          }
-          if (this.$route.query.projectData) { // 主页面新建
-            this.$route.query.projectData.typeString === 1 ? this.ClientData.projectId = this.projectIdCode : this.ClientData.taskId = this.projectIdCode
-            this.ClientData.bizId = this.bizIdCode
-          }
+          this.ClientData.bizId = Number(localStorage.getItem('bizId'))
+          this.ClientData.taskIds = [Number(arr[1])]
           this.ClientData.status = this.status
           this.ClientData.taskLateStatus = this.taskLateStatus
           this.ClientData.type = 1
@@ -397,7 +364,6 @@ export default {
           projectTestReportCreate(this.objData).then(res => {
             if (res.code === 200) {
               this.$message({ type: 'success', message: '保存成功' })
-              this.$router.go(-1)
             } else {
               this.$message.error(res.msg)
             }
@@ -464,9 +430,6 @@ export default {
         this.taskLateStatus = 2
       }
     },
-    clickPreview(ele) {
-      this.$router.push({ path: '/Platform/presentation/ResultPageyL', query: { data: ele }})
-    },
 
     // 测试结果
     changeStatus(e) {
@@ -552,7 +515,7 @@ export default {
 
 <style scoped>
 .tag {
-     width:80px;
+     width:60px;
      text-align: center;
      cursor:pointer
   }

+ 53 - 61
src/views/Platform/presentation/Templates/ClientReport.vue

@@ -1,5 +1,5 @@
 <template>
-  <el-dialog :visible.sync="dialogDaliy" width="80%" height="100%" top="4vh" :close-on-click-modal="false">
+  <el-dialog :visible.sync="dialogDaliy" width="80%" :close-on-click-modal="false">
     <div class="flex_start titFont">
       <div class="titIcon" />
       <span style="margin-left: 1%; width: 100px;">准出报告</span>
@@ -26,57 +26,35 @@
         <el-button size="small" type="primary" @click="NextStep()">下一步</el-button>
       </div>
     </div>
-    <el-dialog :visible.sync="dialogDaliy1" width="80%" height="100%" top="4vh" append-to-body :close-on-click-modal="false" :before-close="handleClose1">
-      <div class="flex_start titFont">
-        <div class="titIcon" />
-        <span style="margin-left: 1%; width: 100px;">准出报告</span>
-      </div>
-      <div style="margin: 2% 0%; font-size: 16pt; color: #333B4A;">
-        <el-steps :active="active1" align-center finish-status="success">
-          <el-step style="font-size: 16pt; color: #333B4A;" title="选择模版" />
-          <el-step title="填写报告" />
-          <el-step style="font-size: 16pt; color: #333B4A;" title="发送报告" />
-        </el-steps>
-      </div>
+    <div v-show="showTow">
       <div class="descr" style=" margin-bottom: 2%; height: 480px; overflow:scroll; overflow-x: hidden">
         <ClientAcceptance v-if="ClientAcceptance1" ref="ClientAcceptance" />
-        <Acceptance v-if="Acceptance1" />
+        <Acceptance v-if="Acceptance1" ref="Acceptance" />
       </div>
       <div align="center">
         <el-button size="small" type="primary" @click="handleClose1()">上一步</el-button>
         <el-button size="small" type="primary" @click="created_out()">保存,下一步</el-button>
       </div>
-      <el-dialog :visible.sync="dialogDaliy2" width="80%" height="100%" top="4vh" append-to-body :close-on-click-modal="false" :before-close="handleClose2">
-        <div class="flex_start titFont">
-          <div class="titIcon" />
-          <span style="margin-left: 1%; width: 100px;">准出报告</span>
-        </div>
-        <div style="margin: 2% 0%; font-size: 16pt; color: #333B4A;">
-          <el-steps :active="active2" align-center finish-status="success">
-            <el-step style="font-size: 16pt; color: #333B4A;" title="选择模版" />
-            <el-step title="填写报告" />
-            <el-step style="font-size: 16pt; color: #333B4A;" title="发送报告" />
-          </el-steps>
-        </div>
-        <div style="margin: 0% 12%;font-size:18px; font-family:PingFangSC-Medium,PingFang SC; font-weight:500; color:rgba(51,59,74,1); line-height:29px;">
-          邮件列表
-        </div>
-        <div class="Layout" style="margin: 2% 12%;">
-          <div class="Layout"><div class="div1">收件人</div><el-input v-model="value" size="small" clearable filterable placeholder="请输入" /></div>
-          <div class="Layout"><div class="div1">抄送</div><el-input v-model="value" size="small" clearable filterable placeholder="请输入" /></div>
-        </div>
-        <div style="margin: 0 12%; font-size:18px; font-family:PingFangSC-Medium,PingFang SC; font-weight:500; color:rgba(51,59,74,1); line-height:29px;">
-          报告预览
-        </div>
-        <div class="descr" style=" margin-bottom: 2%; height: 350px; overflow:scroll; overflow-x: hidden">
-          <ResultPageyL />
-        </div>
-        <div align="center">
-          <el-button size="small" type="primary" @click="gou_out()">上一步</el-button>
-          <el-button size="small" type="primary">发送</el-button>
-        </div>
-      </el-dialog>
-    </el-dialog>
+    </div>
+    <div v-show="showThree">
+      <div style="margin: 0% 12%;font-size:18px; font-family:PingFangSC-Medium,PingFang SC; font-weight:500; color:rgba(51,59,74,1); line-height:29px;">
+        邮件列表
+      </div>
+      <div class="Layout" style="margin: 2% 12%;">
+        <div class="Layout"><div class="div1">收件人</div><el-input v-model="form.name" size="small" clearable filterable placeholder="请输入" /></div>
+        <div class="Layout"><div class="div1">抄送</div><el-input v-model="form.names" size="small" clearable filterable placeholder="请输入" /></div>
+      </div>
+      <div style="margin: 0 12%; font-size:18px; font-family:PingFangSC-Medium,PingFang SC; font-weight:500; color:rgba(51,59,74,1); line-height:29px;">
+        报告预览
+      </div>
+      <div class="descr" style=" margin-bottom: 2%; height: 350px; overflow:scroll; overflow-x: hidden">
+        <ResultPageyL />
+      </div>
+      <div align="center">
+        <el-button size="small" type="primary" @click="gou_out()">上一步</el-button>
+        <el-button size="small" type="primary">发送</el-button>
+      </div>
+    </div>
   </el-dialog>
 </template>
 
@@ -94,50 +72,64 @@ export default {
   data() {
     return {
       dialogDaliy: false,
-      dialogDaliy1: false,
-      dialogDaliy2: false,
       Acceptance1: false,
       ClientAcceptance1: false,
+      showTow: false,
+      showThree: false,
       Client: false,
       showOne: true,
       radio: '3',
-      value: '',
+      form: {},
       active: 1,
-      active1: 2,
-      active2: 3,
       src: 'https://fuss10.elemecdn.com/3/28/bbf893f792f03a54408b3b7a7ebf0jpeg.jpeg'
     }
   },
   methods: {
     init() {
       this.dialogDaliy = true
+      this.showOne = true
+      this.showThree = false
+      this.showTow = false
+      this.active = 1
+      this.radio = '3'
     },
     handleClose1() {
-      this.dialogDaliy1 = false
+      this.showOne = true
+      this.showTow = false
+      this.active = 1
     },
     created_out() {
-      this.dialogDaliy2 = true
+      if (this.radio === '1') {
+        this.$refs.ClientAcceptance.parentHandleclick()
+      }
+      if (this.radio === '2') {
+        this.$refs.Acceptance.parentHandleclick()
+      }
+      // this.active = 3
+      // this.showThree = true
+      // this.showTow = false
+      Acceptance
     },
     gou_out() {
-      this.dialogDaliy2 = false
+      this.showThree = false
+      this.showTow = true
+      this.active = 2
     },
     NextStep() {
       switch (Number(this.radio)) {
         case 1:
-          this.dialogDaliy1 = true
+          this.active = 2
+          this.showOne = false
+          this.showTow = true
           this.ClientAcceptance1 = true
           this.Acceptance1 = false
-          // this.$nextTick(() => {
-          //   this.$refs.Present.init()
-          // })
           break
         case 2:
-          this.dialogDaliy1 = true
+          this.active = 2
+          this.showOne = false
+          this.showTow = true
           this.ClientAcceptance1 = false
           this.Acceptance1 = true
-          // this.$nextTick(() => {
-          //   this.$refs.Present.init()
-          // })
           break
         case 3:
           this.$message({ message: '请选择要创建的‘模版’', type: 'error', duration: 1000, offset: 150 })

+ 124 - 73
src/views/projectManage/taskList/taskViewDetails.vue

@@ -142,18 +142,13 @@
             <div style="width:4px;height:17px;background:#409EFF;border-radius:1px;" />
             <div style="width:83px;height:20px;font-size:16px;font-family:MicrosoftYaHei;color:rgba(51,59,74,1);margin-left:6px">排期事件</div>
           </div>
-          <el-row :gutter="20" style="margin: 2% 0.8%">
-            <el-col :span="12">
-              <el-button size="mini" type="primary" plain icon="el-icon-plus" @click="add_Event">添加事件</el-button>
-            </el-col>
-            <el-col :span="12" :push="7">
-              <el-radio-group v-model="radio" size="mini" style="margin-left: 5%">
-                <el-radio-button label="列表" @click.native="GanttChart(1)" />
-                <el-radio-button label="甘特图" @click.native="GanttChart(2)" />
-              </el-radio-group>
-
-            </el-col>
-          </el-row>
+          <div style="margin: 2% 20px; display: flex; align-items: center; justify-content: space-between;">
+            <el-button size="mini" type="primary" plain icon="el-icon-plus" @click="add_Event">添加事件</el-button>
+            <el-radio-group v-model="radio" size="mini" style="margin-left: 5%">
+              <el-radio-button label="列表" @click.native="GanttChart(1)" />
+              <el-radio-button label="甘特图" @click.native="GanttChart(2)" />
+            </el-radio-group>
+          </div>
           <div>
             <div v-show="Gantt" style="padding:0 46px">
               <gantt
@@ -163,45 +158,46 @@
                 :versions="appVersion"
               />
             </div>
-            <el-table
-              v-show="table_show"
-              :data="arr_event"
-              style="width: 100%;"
-              size="mini"
-              :header-cell-style="{ background: '#6AB4FF', color: '#FFFFFF' }"
-              show-overflow-tooltip="true"
-            >
-              <el-table-column label="事件类型" min-width="100" align="center">
-                <template slot-scope="scope">{{ scope.row.name }}</template>
-              </el-table-column>
-              <el-table-column label="描述" min-width="200" align="center">
-                <template slot-scope="scope">{{ scope.row.desc }}</template>
-              </el-table-column>
-              <el-table-column label="排期" min-width="200" align="center">
-                <template slot-scope="scope">{{ scope.row.startTime | naspOut }} - {{ scope.row.endTime | naspOut }}</template>
-              </el-table-column>
-              <el-table-column label="人员" min-width="200" align="center">
-                <template slot-scope="scope">
-                  <div v-for="item of scope.row.peopleObject" :key="item.idapId">{{ item.name }}</div>
-                </template>
-              </el-table-column>
-              <el-table-column label="操作" min-width="100">
-                <template slot-scope="scope">
-                  <el-button size="mini" type="primary" plain @click="event_query(scope.row.id)">编辑</el-button>
-                  <el-button
-                    v-if="scope.row.canDelete === 1? false : true"
-                    size="mini"
-                    type="primary"
-                    plain
-                    @click="event_delete(scope.row.id)"
-                  >删除</el-button>
-                </template>
-              </el-table-column>
-            </el-table>
-
+            <div style="margin: 0 20px;">
+              <el-table
+                v-show="table_show"
+                :data="arr_event"
+                style="width: 100%;"
+                size="small"
+                :header-cell-style="{ background: '#E9E9E9', color: '#333B4A' }"
+                show-overflow-tooltip="true"
+              >
+                <el-table-column label="事件类型" min-width="100" align="center">
+                  <template slot-scope="scope">{{ scope.row.name }}</template>
+                </el-table-column>
+                <el-table-column label="描述" min-width="200" align="center">
+                  <template slot-scope="scope">{{ scope.row.desc }}</template>
+                </el-table-column>
+                <el-table-column label="排期" min-width="200" align="center">
+                  <template slot-scope="scope">{{ scope.row.startTime | naspOut }} - {{ scope.row.endTime | naspOut }}</template>
+                </el-table-column>
+                <el-table-column label="人员" min-width="200" align="center">
+                  <template slot-scope="scope">
+                    <div v-for="item of scope.row.peopleObject" :key="item.idapId">{{ item.name }}</div>
+                  </template>
+                </el-table-column>
+                <el-table-column label="操作" min-width="100">
+                  <template slot-scope="scope">
+                    <el-button size="mini" type="primary" plain @click="event_query(scope.row.id)">编辑</el-button>
+                    <el-button
+                      v-if="scope.row.canDelete === 1? false : true"
+                      size="mini"
+                      type="primary"
+                      plain
+                      @click="event_delete(scope.row.id)"
+                    >删除</el-button>
+                  </template>
+                </el-table-column>
+              </el-table>
+            </div>
             <el-row
               :gutter="20"
-              style="margin: 2% 3%; color: #333B4A; padding-bottom:2%;border-bottom:1px solid #E9E9E9;"
+              style="margin: 1.5% 20px; color: #333B4A; padding-bottom:1.5%;border-bottom:1px solid #E9E9E9;"
             >
               <el-col :span="12">
                 <div class="dateSet">排期汇总:{{ tiem_date.startTime | naspOut }} ~ {{ tiem_date.endTime | naspOut }}</div>
@@ -209,7 +205,7 @@
             </el-row>
             <el-row
               :gutter="20"
-              style="margin: 2% 3%; color: #333B4A; padding-bottom:2%;border-bottom:1px solid #E9E9E9;"
+              style="margin: 1.5% 20px; color: #333B4A; padding-bottom:1.5%;border-bottom:1px solid #E9E9E9;"
             >
               <el-col :span="8">
                 <div class="dateSet">实际提测时间:{{ task_form.launchTestRealTime | naspOut }}</div>
@@ -223,7 +219,7 @@
             </el-row>
             <el-row
               :gutter="20"
-              style="margin: 2% 3%; color: #333B4A; padding-bottom:2%;border-bottom:1px solid #E9E9E9; "
+              style="margin: 1.5% 20px; color: #333B4A; padding-bottom:1.5%;border-bottom:1px solid #E9E9E9; "
             >
               <el-col :span="8">
                 <div class="dateSet">预计上线版本:{{ task_form.preOnlineVersion }}</div>
@@ -252,7 +248,7 @@
               </el-dropdown-menu>
             </el-dropdown>
           </span>
-          <el-tabs tab-position="top">
+          <el-tabs tab-position="top" @tab-click="click_launchTestInfoDOS">
             <el-tab-pane label="Bug" style="position: relative;">
               <div
                 style="padding: 1.5% 0;font-family: MicrosoftYaHei;color: rgba(51,51,51,1);font-size: 14px;align-items: center;display: flex; justify-content: space-start; align-items: center;border-top: 1px solid #E9E9E9;"
@@ -265,7 +261,7 @@
                   @click="bug_list(item.code)"
                 ><span :style="{color: item.msg === '全部'? colorSty :''}">{{ item.msg }}</span></span>
               </div>
-              <el-table size="mini" :data="bugBaseInfoDOList" min-height="200" style="width: 100%; font-size: 14px; color:rgba(102,102,102,1);" show-overflow-tooltip="true" :default-sort="{prop: 'priorityCode'}" :header-cell-style="{ color: '#4A4A4A', fontSize: '14px', fontWeight: '500',borderTop: '0.5px solid #EEF0F5'}">
+              <el-table size="mini" :data="bugBaseInfoDOList" min-height="200" style="width: 100%; font-size: 14px; color:rgba(102,102,102,1);" show-overflow-tooltip="true" :default-sort="{prop: 'priorityCode'}" :header-cell-style="{ background: '#E9E9E9', color: '#333B4A', fontSize: '14px', fontWeight: '500',borderTop: '0.5px solid #EEF0F5'}">
                 <el-table-column label="优先级" prop="priorityCode" sortable align="center">
                   <template slot-scope="scope">
                     <div class="div_priority" :style="{background: priorityColors[scope.row.priorityCode]}">{{ scope.row.priorityLevel | oneA }}</div>
@@ -310,20 +306,20 @@
               <el-table
                 :data="launchTestInfoDOS"
                 style="width: 100%;margin:2% 0;"
-                size="mini"
-                :header-cell-style="{ background: '#6AB4FF', color: '#FFFFFF' }"
+                size="small"
+                :header-cell-style="{ background: '#E9E9E9', color: '#333B4A' }"
                 show-overflow-tooltip="true"
               >
-                <el-table-column label="ID" min-width="100" align="center">
-                  <template slot-scope="scope">{{ scope.row.id }}</template>
-                </el-table-column>
                 <el-table-column label="标题名称" min-width="100" align="center">
                   <template slot-scope="scope">{{ scope.row.name }}</template>
                 </el-table-column>
                 <el-table-column label="状态" min-width="100" align="center">
                   <template slot-scope="scope">{{ scope.row.statusString }}</template>
                 </el-table-column>
-                <el-table-column label="创建日期" min-width="100" align="center">
+                <el-table-column label="创建人" min-width="100" align="center">
+                  <template slot-scope="scope">{{ scope.row.creater }}</template>
+                </el-table-column>
+                <el-table-column label="创建日期" min-width="200" align="center">
                   <template slot-scope="scope">{{ scope.row.gmtCreate }}</template>
                 </el-table-column>
                 <el-table-column label="操作" align="center" width="300">
@@ -346,21 +342,36 @@
                   </template>
                 </el-table-column>
               </el-table>
+              <div align="right">
+                <el-pagination
+                  background
+                  :current-page="currentPage"
+                  :page-sizes="[15]"
+                  :page-size="15"
+                  layout="total, prev, pager, next, jumper"
+                  :total="total"
+                  @size-change="handleSizeChange"
+                  @current-change="handleCurrentChange"
+                />
+              </div>
             </el-tab-pane>
             <el-tab-pane label="测试报告" style="overflow: auto;width: 100%;">
               <el-table
                 :data="dailyTestReports"
                 style="width: 100%;margin:2% 0;"
-                size="mini"
-                :header-cell-style="{ background: '#6AB4FF', color: '#FFFFFF' }"
+                size="small"
+                :header-cell-style="{ background: '#E9E9E9', color: '#333B4A' }"
                 show-overflow-tooltip="true"
               >
-                <el-table-column label="ID" min-width="100" align="center">
-                  <template slot-scope="scope">{{ scope.row.id }}</template>
-                </el-table-column>
                 <el-table-column label="标题名称" min-width="100" align="center">
                   <template slot-scope="scope">{{ scope.row.reportName }}</template>
                 </el-table-column>
+                <el-table-column label="状态" min-width="100" align="center">
+                  <template slot-scope="scope">{{ scope.row.gmtCreate }}</template>
+                </el-table-column>
+                <el-table-column label="创建人" min-width="100" align="center">
+                  <template slot-scope="scope">{{ scope.row.gmtCreate }}</template>
+                </el-table-column>
                 <el-table-column label="创建日期" min-width="100" align="center">
                   <template slot-scope="scope">{{ scope.row.gmtCreate }}</template>
                 </el-table-column>
@@ -370,23 +381,35 @@
               <el-table
                 :data="projectTestReportDOS"
                 style="width: 100%;margin:2% 0;"
-                size="mini"
-                :header-cell-style="{ background: '#6AB4FF', color: '#FFFFFF' }"
+                size="small"
+                :header-cell-style="{ background: '#E9E9E9', color: '#333B4A' }"
                 show-overflow-tooltip="true"
               >
-                <el-table-column label="ID" min-width="100" align="center">
-                  <template slot-scope="scope">{{ scope.row.id }}</template>
-                </el-table-column>
                 <el-table-column label="标题名称" min-width="100" align="center">
-                  <template slot-scope="scope">{{ scope.row.reportName }}</template>
+                  <template slot-scope="scope">{{ scope.row.name }}</template>
                 </el-table-column>
                 <el-table-column label="状态" min-width="100" align="center">
                   <template slot-scope="scope">{{ scope.row.statusString }}</template>
                 </el-table-column>
+                <el-table-column label="创建人" min-width="100" align="center">
+                  <template slot-scope="scope">{{ scope.row.creater }}</template>
+                </el-table-column>
                 <el-table-column label="创建日期" min-width="100" align="center">
                   <template slot-scope="scope">{{ scope.row.gmtCreate }}</template>
                 </el-table-column>
               </el-table>
+              <div align="right">
+                <el-pagination
+                  background
+                  :current-page="currentPage"
+                  :page-sizes="[15]"
+                  :page-size="15"
+                  layout="total, prev, pager, next, jumper"
+                  :total="total"
+                  @size-change="handleSizeChange"
+                  @current-change="handleCurrentChange"
+                />
+              </div>
             </el-tab-pane>
             <el-tab-pane label="评论">
               <p v-show="commentShow" style="color:#9B9B9B">还没有评论,快来评论吧!</p>
@@ -403,7 +426,7 @@
                 show-word-limit
               />
               <p style="text-align: right;">
-                <el-button size="mini" type="primary" @click="comment(content)">发表评论</el-button>
+                <el-button size="small" type="primary" @click="comment(content)">发表评论</el-button>
               </p>
             </el-tab-pane>
           </el-tabs>
@@ -554,7 +577,10 @@ import {
   ScheduleUpdate,
   commentCreate,
   commentList,
-  deleteEvent
+  deleteEvent,
+  projectTestReport,
+  dailyReport,
+  launchTest
 } from '@/api/taskIndex' // ajax
 import openDialog from '@/views/projectManage/dialog_vue'
 import { launchTestUpdate } from '@/api/projectPage.js'
@@ -706,6 +732,31 @@ export default {
     this.get_echarts()
   },
   methods: {
+    click_launchTestInfoDOS(e) {
+      console.log(e.index)
+      var url = window.location.href // 获取url中"?"符后的字
+      this.taskId = url.split('?id=')
+      switch (e.index) {
+        case '1':
+          launchTest({ taskId: this.taskId[1], curIndex: this.curIndex, pageSize: this.pageSize }).then(res => {
+            this.launchTestInfoDOS = res.data.list // 准出
+            this.total = res.data.total
+          })
+          break
+        case '2':
+          dailyReport({ taskId: this.taskId[1], curIndex: this.curIndex, pageSize: this.pageSize }).then(res => {
+            this.dailyTestReports = res.data.list
+            this.total = res.data.total
+          })
+          break
+        case '3':
+          projectTestReport({ taskId: this.taskId[1], curIndex: this.curIndex, pageSize: this.pageSize }).then(res => {
+            this.projectTestReportDOS = res.data.list
+            this.total = res.data.total
+          })
+          break
+      }
+    },
     click_bugName(id) {
       this.bugId = id
       this.initCount++
@@ -738,7 +789,7 @@ export default {
         this.table_loading = false
         this.launchTestInfoDOS = res.data.launchTestInfoDOS // 提测
         this.dailyTestReports = res.data.dailyTestReports // 测试
-        this.projectTestReportDOS = res.data.projectTestReportDOS // 准出
+        // this.projectTestReportDOS = res.data.projectTestReportDOS // 准出
         this.bug_list(-1)
         this.task_form.bugBaseInfoDOList !== null ? (this.bugBaseInfoDOList = res.date.bugBaseInfoDOList) : (this.bugBaseInfoDOList = []) // bug
         const param = {