소스 검색

改造报告管理

qinzhipeng_v 5 년 전
부모
커밋
dc8b541e67

+ 1 - 1
package.json

@@ -43,7 +43,7 @@
     "swiper": "^5.3.6",
     "v-jsoneditor": "^1.2.2",
     "vue": "2.6.10",
-    "vue-awesome-swiper": "^4.0.4",
+    "vue-awesome-swiper": "^4.1.0",
     "vue-fullcalendar": "^1.0.9",
     "vue-json-viewer": "^2.2.8",
     "vue-qr": "^2.2.1",

+ 1 - 1
src/api/testPresentetion.js

@@ -49,7 +49,7 @@ export function dailyReportUpdate(data) {
 // echarts
 export function bugDailyList(data) {
   return request({
-    url: mockUrl + '/bug/DailyList',
+    url: Presentation + '/bug/DailyList',
     method: 'post',
     data
   })

+ 52 - 104
src/views/Platform/presentation/DailyNewsAdded.vue

@@ -1,7 +1,7 @@
 <template>
   <!-- 日报报告,新增报告 -->
   <div class="eleStyle">
-    <el-form ref="fromCreateData" :inline="true" :model="fromCreateData" :rules="serviceDataRules" style="margin:2% 12%;">
+    <el-form ref="fromCreateData" :inline="true" :model="fromCreateData" :rules="serviceDataRules" style="margin:0% 12%;">
       <div style="display: flex;white-space: nowrap;">
         <el-form-item label="标题" style="flex: 1;" prop="reportName">
           <el-input v-model="fromCreateData.reportName" size="small" style="width:15vw;" placeholder="报告标题(xxx项目日报报告)" />
@@ -19,21 +19,18 @@
       <div style="border: 1px,solid #ccc;">
         <div style="color: #606266">1、bug统计</div>
         <div style="display:flex;">
-          <div id="lineShow" style="flex:2; width: 800px;height:400px;" />
-          <div style="flex:1; width: 400px;height:400px;" />
-          <div id="barShow" style="flex:2; width: 800px;height:400px;" />
+          <div id="lineShow" style="flex:2; width: 400px;height:400px;" />
+          <div style="flex:1; width: 200px;height:400px;" />
+          <div id="barShow" style="flex:2; width: 400px;height:400px;" />
         </div>
         <div style="color: #606266; margin: 1% 0;">2、bug说明</div>
         <el-row>
           <el-col :span="24"><el-input v-model="fromCreateData.bugExplain" size="small" type="textarea" /></el-col>
         </el-row>
       </div>
-      <dir align="centers" style="display: flex; margin: 5vw 0 0 30vw;">
-        <div style="flex: 1;"><el-button v-show="preview" @click="clickPreview(fromCreateData)"> 预 览 </el-button></div>
-        <div v-show="showButton" style="flex: 1;"><el-button type="primary" @click="getCreateData(fromCreateData)"> 保 存 </el-button></div>
+      <!-- <dir align="centers" style="display: flex; margin: 5vw 0 0 30vw;">
         <div v-show="showButton1" style="flex: 1;"><el-button type="primary" @click="getQueryData(fromCreateData)"> 更 新 </el-button></div>
-        <div style="flex: 1;"><el-button @click="open(fromCreateData)"> 取 消 </el-button></div>
-      </dir>
+      </dir> -->
     </el-form>
   </div>
 </template>
@@ -41,7 +38,7 @@
 <script>
 import echarts from 'echarts'
 import Jodit from 'jodit'
-import { dailyReportCreate, dailyReportUpdate, bugDailyList, dailyReport } from '@/api/testPresentetion'
+import { dailyReportCreate, dailyReportUpdate, bugDailyList } from '@/api/testPresentetion'
 
 export default {
   name: 'DailyNewsAdded',
@@ -55,10 +52,8 @@ export default {
       },
       showbut1: false,
       showbut: '',
-      showButton1: '',
+      // showButton1: '',
       bugshow: '',
-      preview: false,
-      showButton: true,
       fromCreateData: {
         id: '',
         bizId: '',
@@ -104,47 +99,22 @@ export default {
       'showXPathInStatusbar': false
     })
     this.editor.value = '<br><h2>一. 进度和风险</h2><br><p>1,项目整体进度</p><br><br><p>2,项目风险与问题</p><br><table width="100%"><colgroup><col width="8%"><col width="8%"><col width="8%"><col width="8%"></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><br><h2>二. 测试情况</h2><br><p>1,测试进展</p><br><table width="100%"><colgroup><col width="8%"><col width="8%"><col width="8%"><col width="8%"><col width="8%"><col width="8%"><col width="8%"></colgroup><thead><tr><th>标题1</th><th>标题2</th><th>标题3</th><th>标题4</th><th>标题5</th><th>标题6</th><th>标题7</th></tr></thead><tbody><tr><td><br></td><td><br></td><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><td><br></td><td><br></td></tr></tbody></table><br><p>2,测试说明</p><br><br>'
+    this.getRouterData()
   },
   methods: {
     getRouterData() {
-      if (this.$route.query.data) { // 主页面编辑
-        this.fromCreateData = {}
-        this.showButton1 = true
-        this.showButton = false
-        this.preview = true
-        dailyReport({ id: this.$route.query.id }).then((res) => {
-          this.fromCreateData = res.data
-          this.editor.value = this.fromCreateData.testExplain
-        })
-        this.pro = { projectId: this.$route.query.projectId, taskId: this.$route.query.taskId }
-      }
-      if (this.$route.query.state1) { // 项目主页面新建
-        this.fromCreateData = {}
-        this.showButton1 = false
-        this.showButton = true
-        this.$route.query.projectId ? this.projectId = this.$route.query.projectId : ''
-        this.$route.query.taskId ? this.taskId = this.$route.query.taskId : ''
-        this.bizIdCode = this.$route.query.state1.bizId
-        this.pro = { projectId: this.projectId, taskId: this.taskId }
-      }
-      if (this.$route.query.task) { // 任务页面
-        this.fromCreateData = {}
-        this.showButton1 = false
-        this.showButton = true
-        this.bizIdCode = this.$route.query.task.bizId
-        this.$route.query.taskId ? this.idCode = this.$route.query.taskId : ''
-        this.pro = { taskId: this.idCode }
-      }
-      if (this.$route.query.project) { // 项目页面
-        this.fromCreateData = {}
-        this.showButton1 = false
-        this.showButton = true
-        this.bizIdCode = this.$route.query.projectId.bizId
-        this.$route.query.projectId ? this.idCode = this.$route.query.projectId : ''
-        this.pro = { projectId: this.idCode }
-      }
-
-      bugDailyList(this.pro).then(res => {
+      // if (this.$route.query.data) { // 主页面编辑
+      //   this.fromCreateData = {}
+      //   this.showButton1 = true
+      //   dailyReport({ id: this.$route.query.id }).then((res) => {
+      //     this.fromCreateData = res.data
+      //     this.editor.value = this.fromCreateData.testExplain
+      //   })
+      //   this.pro = { projectId: this.$route.query.projectId, taskId: this.$route.query.taskId }
+      // }
+      var url = location.href // 获取url中"?"符后的字串
+      var arr = url.split('=')
+      bugDailyList({ taskIds: [Number(arr[1])] }).then(res => {
         this.dateList = res.data.dateList
         this.statusMap = res.data.statusMap
         this.statusList = res.data.statusList
@@ -152,69 +122,52 @@ export default {
         for (var ele of this.numList) {
           this.bugName.push(ele.name)
         }
-
-        echarts.init(document.getElementById('lineShow')).setOption({
-          title: { left: 'center', text: 'bug数量汇总' },
-          tooltip: { trigger: 'axis' },
-          legend: { top: 30, data: this.bugName },
-          grid: { left: '5%', right: '10%', bottom: '12%', containLabel: true },
-          xAxis: { type: 'category', boundaryGap: true, data: this.dateList },
-          yAxis: { type: 'value' },
-          series: this.numList
-        })
-        echarts.init(document.getElementById('barShow')).setOption({
-          title: { text: 'bug状态汇总', x: 'center' },
-          color: ['#003366', '#006699', '#4cabce', '#e5323e'],
-          tooltip: { trigger: 'axis' },
-          legend: { top: 30, data: this.statusMap },
-          xAxis: [{ data: this.statusList }],
-          yAxis: [{}],
-          series: this.statusMap
+        setTimeout(item => {
+          echarts.init(document.getElementById('lineShow')).setOption({
+            title: { left: 'center', text: 'bug数量汇总' },
+            tooltip: { trigger: 'axis' },
+            legend: { top: 30, data: this.bugName },
+            grid: { left: '5%', right: '10%', bottom: '12%', containLabel: true },
+            xAxis: { type: 'category', boundaryGap: true, data: this.dateList },
+            yAxis: { type: 'value' },
+            series: this.numList
+          })
+        }, 500)
+        setTimeout(item => {
+          echarts.init(document.getElementById('barShow')).setOption({
+            title: { text: 'bug状态汇总', x: 'center' },
+            color: ['#003366', '#006699', '#4cabce', '#e5323e'],
+            tooltip: { trigger: 'axis' },
+            legend: { top: 30, data: this.statusMap },
+            xAxis: [{ data: this.statusList }],
+            yAxis: [{}],
+            series: this.statusMap
+          })
         })
-      })
+      }, 500)
     },
-
-    // 返回
-    open(ele) {
-      this.$confirm('是否放弃修改,离开页面?', '确认信息', {
-        distinguishCancelAndClose: true,
-        confirmButtonText: '继续修改',
-        cancelButtonText: '放弃修改'
-      })
-        .then(() => { this.$message({ type: 'info', message: '继续修改' }) })
-        .catch(action => { action === 'cancel' ? this.$router.go(-1) : '' })
+    parentHandleclick(e) {
+      this.getCreateData(this.fromCreateData)
     },
 
     // 新建bug提交
     getCreateData(ele) {
       this.$refs['fromCreateData'].validate((valid) => {
         if (valid) {
+          var url = location.href // 获取url中"?"符后的字串
+          var arr = url.split('=')
           this.fromCreateData = ele
           this.fromCreateData.testExplain = this.editor.editor.innerHTML
-          if (this.$route.query.task) { // 任务页面
-            this.fromCreateData.taskId = this.idCode
-            this.fromCreateData.bizId = this.bizIdCode
-          }
-          if (this.$route.query.projectId) { // 项目页面
-            this.fromCreateData.projectId = this.idCode
-            this.fromCreateData.bizId = this.bizIdCode
-          }
-
-          if (this.$route.query.state1) { // 项目主页面新建
-            this.fromCreateData.projectId = this.$route.query.state1.projectId
-            this.fromCreateData.taskId = this.$route.query.state1.taskId
-            this.fromCreateData.bizId = this.$route.query.state1.bizId
-          }
-
-          this.fromCreateData.bizId = this.bizIdCode
+          this.fromCreateData.bizId = Number(localStorage.getItem('bizId'))
+          this.fromCreateData.taskIds = [Number(arr[1])]
           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.$message.success(res.msg)
+              this.$emit('daily', res.data)
             } else {
-              this.$message.error('保存失败')
+              this.$message.error(res.msg)
             }
           })
         } else {
@@ -241,11 +194,6 @@ export default {
       })
     },
 
-    // 预览跳转
-    clickPreview(ele) {
-      this.$router.push({ path: '/Platform/presentation/testPresenyL', query: { id: this.$route.query.id }})
-    },
-
     deleteProject(e) {
       if (e === 1) {
         this.showbut1 = true

+ 78 - 53
src/views/Platform/presentation/Templates/DailyReport.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" :before-close="handleClose">
     <div class="flex_start titFont">
       <div class="titIcon" />
       <span style="margin-left: 1%; width: 100px;">测试报告</span>
@@ -20,62 +20,43 @@
         <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: 4% 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: 400px; overflow:scroll; overflow-x: hidden">
-        <DailyReport />
+        <DailyReport ref="DailyReport" @daily="daily" />
       </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">
-          <testPresenyL />
-        </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-if="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">
+        <testPresenyL id="Gambol" :message="preview" />
+      </div>
+      <div align="center">
+        <el-button size="small" type="primary" @click="gou_out()">上一步</el-button>
+        <el-button size="small" type="primary" @click="sendReport(form)">发送</el-button>
+      </div>
+    </div>
   </el-dialog>
 </template>
 
 <script>
 import DailyReport from '@/views/Platform/presentation/DailyNewsAdded.vue'
 import testPresenyL from '@/views/Platform/presentation/testPresenyL.vue'
+import { dailyReportSendmail } from '@/api/ResultPage'
+import html2canvas from 'html2canvas'
+
 export default {
   components: {
     DailyReport,
@@ -83,39 +64,83 @@ export default {
   },
   data() {
     return {
+      form: {},
+      preview: {},
       dialogDaliy: false,
-      dialogDaliy1: false,
-      dialogDaliy2: false,
       showOne: true,
+      showTow: false,
+      showThree: false,
       radio: '2',
       active: 1,
-      active1: 2,
-      active2: 3,
       src: 'https://fuss10.elemecdn.com/3/28/bbf893f792f03a54408b3b7a7ebf0jpeg.jpeg'
     }
   },
+  mounted() {
+    window.pageYOffset = 0
+    document.documentElement.scrollTop = 0
+    document.body.scrollTop = 0
+  },
   methods: {
     init() {
       this.dialogDaliy = true
+      this.showOne = true
+      this.showTow = false
+      this.showThree = false
+      this.active = 1
+    },
+    handleClose() {
+      this.dialogDaliy = false
+      this.radio = '2'
     },
     handleClose1() {
-      this.dialogDaliy1 = false
+      this.active = 1
+      this.showOne = true
+      this.showTow = false
     },
     created_out() {
-      this.dialogDaliy2 = true
+      this.$refs.DailyReport.parentHandleclick(1)
     },
     gou_out() {
-      this.dialogDaliy2 = false
+      this.showOne = false
+      this.showTow = true
+      this.showThree = false
+    },
+    daily(e) {
+      console.log(e, 'daily')
+      this.preview = e
+      this.showOne = false
+      this.showTow = false
+      this.showThree = true
+      this.active = 3
     },
     NextStep() {
       switch (Number(this.radio)) {
         case 1:
-          this.dialogDaliy1 = true
+          this.showOne = false
+          this.showTow = true
+          this.active = 2
           break
         case 2:
           this.$message({ message: '请选择要创建的‘模版’', type: 'error', duration: 1000, offset: 150 })
           break
       }
+    },
+    sendReport(e) {
+      var ele = this.preview
+      setTimeout(() => {
+        var that = this
+        var targetDom = document.getElementById('Gambol')
+        var copyDom = targetDom.cloneNode(true)
+        document.querySelector('body').appendChild(copyDom)
+        html2canvas(copyDom, { useCORS: true }).then(function(canvas) {
+          var url = canvas.toDataURL('image/png', 1)
+          url = url.toString().substring(url.indexOf(',') + 1)
+          var postData = { 'reportId': ele.id, 'imgStr': url, 'url': window.location.href, 'emailUser': e.name, 'copyTo': e.names }
+          dailyReportSendmail(postData).then(res => {
+            res.code === 200 ? that.$message({ type: 'success', message: '发送测试报告成功' }) : that.$message({ type: 'error', message: '发送测试报告失败,请联系管理员!' })
+          })
+        })
+      }, 1000)
     }
   }
 }

+ 8 - 6
src/views/Platform/presentation/Templates/TestReport.vue

@@ -1,5 +1,5 @@
 <template>
-  <el-dialog :visible.sync="dialogVisible1" width="80%" height="100%" top="4vh" :close-on-click-modal="false" :before-close="handleClose1">
+  <el-dialog :visible.sync="dialogVisible1" width="80%" :close-on-click-modal="false" :before-close="handleClose1">
     <div class="flex_start titFont">
       <div class="titIcon" />
       <span style="margin-left: 1%; width: 100px;">提测报告</span>
@@ -29,7 +29,7 @@
     <div v-show="showTow">
       <div class="descr" style=" margin-bottom: 2%; height: 440px; overflow:scroll; overflow-x: hidden">
         <Present v-if="Present1" ref="Present" @fatherMethod="fatherMethod" />
-        <presentation v-if="presentation1" ref="presentationRef" />
+        <presentation v-if="presentation1" ref="presentationRef" @fatherMethod="fatherMethod" />
       </div>
       <div align="center">
         <el-button size="small" type="primary" @click="PreviousStep()">上一步</el-button>
@@ -48,7 +48,7 @@
         <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: 320px; overflow:scroll; overflow-x: hidden">
+        <div class="descr" style=" margin-bottom: 2%; height: 350px; overflow:scroll; overflow-x: hidden">
           <acceptthe id="resumeId" ref="acceptthe" :message="preview" />
         </div>
       </div>
@@ -97,6 +97,7 @@ export default {
       this.showOne = true
       this.showTow = false
       this.showThree = false
+      this.active = 1
     },
     PreviousStep() {
       this.showTow = false
@@ -151,13 +152,14 @@ export default {
       var ele = this.preview
       setTimeout(() => {
         var that = this
-        html2canvas(document.getElementById('resumeId'), { useCORS: true }).then(function(canvas) {
+        var targetDom = document.getElementById('resumeId')
+        var copyDom = targetDom.cloneNode(true)
+        document.querySelector('body').appendChild(copyDom)
+        html2canvas(copyDom, { useCORS: true }).then(function(canvas) {
           var imgData = canvas.toDataURL('image/png')
           var sendImgData = imgData.substring(imgData.indexOf(',') + 1)
           var postData = { 'reportId': ele.id, 'imgStr': sendImgData, 'url': window.location.href, 'emailUser': e.name, 'copyTo': e.names }
           launchTestSendmail(postData).then(res => {
-            that.dialogFormVisible = false
-            that.dialogTableVisible = false
             res.code === 200 ? that.$message.success('发送测试报告成功') : that.$message.error('发送测试报告失败,请联系管理员!')
           })
         })

+ 70 - 217
src/views/Platform/presentation/acceptTheReport.vue

@@ -1,221 +1,95 @@
 <template>
   <!-- 提测预览 -->
   <div class="eleStyle_one">
-    <div style="height:100%;width:94%; margin: 0 3%; overflow: hidden;">
-      <div style="padding:2% 9%;">
-        <div style="display: flex; white-space: nowrap; font-family:SimSuncss">
-          <span style="flex:1;font-weight: bold;font-size: 24px;color: #3a8ee6">{{ fromCreateData.name }}</span>
-          <span style="flex:2;margin:1% 0 0 20px;font-size: 17px;">by {{ fromCreateData.submitter }}</span>
-          <!-- <span style="flex:1;">
-            <el-button type="primary" size="mini" style="margin:0 2% 0 0%;" @click="dialogTableVisible = true">发送报告</el-button>
-            <el-button size="mini" @click="dialogTableVisible = true">下载测试报告</el-button>
-          </span> -->
-        </div>
-        <div class="titleStyle" style="margin:1% 0;">一. 提测详情</div>
-        <div v-if="oneShow">
-          <el-form :model="fromCreateData">
-            <div style="display: flex;">
-              <div style="flex:1"><div class="marage">是否延期 : <span :style="lateStatus1">{{ lateStatus }}</span></div><br></div>
-              <div style="flex:1;"><div v-show="showDelay" class="marage">延期原因 : <span>{{ fromCreateData.lateReason }}</span></div><br></div>
-            </div>
-
-            <div style="display: flex;">
-              <div style="flex:1"><div class="marage">涉及安全项 : <span :style="safeStatus1">{{ safeStatus }}</span></div><br></div>
-              <div style="flex:1;"><div v-show="showData" class="marage">完成结果 : <span>{{ fromCreateData.safeInfo }}</span></div><br></div>
-            </div>
-
-            <div style="display: flex;">
-              <div style="flex:1">
-                <div class="marage">SDL链接 : <a href="http://wiki.intra.xiaojukeji.com/pages/viewpage.action?pageId=237016271" style="color:blue;">普惠SDL准入标准</a></div><br>
-                <div class="marage">是否跟版 : <span>{{ fromCreateData.isEdition }}</span></div><br>
-                <div class="marage">优 先 级 : <span>{{ fromCreateData.priority }}</span></div><br>
-              </div>
-              <div style="flex:1;">
-                <div class="marage">开发时间 : <span>{{ fromCreateData.devTimeStart }} 至 {{ fromCreateData.devTimeEnd }}</span></div><br>
-                <div class="marage">计划提测时间 : <span>{{ fromCreateData.planLaunchTime }}</span></div><br>
-                <div class="marage">实际提测时间 : <span>{{ fromCreateData.launchTime }}</span></div><br>
-              </div>
-            </div>
-            <div class="marage">prd地址 : <span>{{ fromCreateData.prdUrl }}</span></div><br>
-            <div class="marage">设计方案 : <span>{{ fromCreateData.devUrl }}</span></div><br>
-            <div class="marage">自测结果 : <span>{{ fromCreateData.selfTestInfo }}</span></div><br>
-            <div class="marage">测试建议 : <span>{{ fromCreateData.testSuggest }}</span></div><br>
-            <el-form-item label="提测模块" style="margin: 2px 0;" />
-            <div class="rich" v-html=" moduleInfoOne" />
-          </el-form>
-        </div>
-
-        <div v-if="towShow">
-          <el-form :model="fromCreateData">
-            <div style="display:flex;">
-              <div style="flex:1">
-                <el-form-item label="测试地址 : ">{{ fromCreateData.packageUrl }}</el-form-item><br>
-                <el-form-item label="提测环境 : ">{{ fromCreateData.env }}</el-form-item><br>
-                <el-form-item label="自测结果 : ">{{ fromCreateData.selfTestInfo }}</el-form-item><br>
-              </div>
-              <div style="flex:1">
-                <el-form-item label="打包分支 : ">{{ fromCreateData.packageBranch }}</el-form-item><br>
-                <el-form-item label="优 先 级 : ">{{ fromCreateData.priority }}</el-form-item><br>
-              </div>
-            </div>
-
-            <div style="display: flex;">
-              <div style="flex:1"><el-form-item label="新增Apollo : "><span :style="configInfo1">{{ config }}</span></el-form-item><br></div>
-              <div style="flex:1;"><el-form-item v-show="showDelay1" label="Apollo名称 : ">{{ fromCreateData.configInfo }}</el-form-item><br></div>
-            </div>
+    <div style="padding:2% 12%;">
+      <div style="display: flex; white-space: nowrap; font-family:SimSuncss">
+        <span style="flex:1;font-weight: bold;font-size: 24px;color: #3a8ee6">{{ fromCreateData.name }}</span>
+        <span style="flex:2;margin:1% 0 0 20px;font-size: 17px;">by {{ fromCreateData.submitter }}</span>
+      </div>
+      <div class="titleStyle" style="margin:1% 0;">一. 提测详情</div>
+      <div v-if="oneShow">
+        <el-form :model="fromCreateData">
+          <div style="display: flex;">
+            <div style="flex:1"><div class="marage">是否延期 : <span :style="lateStatus1">{{ lateStatus }}</span></div><br></div>
+            <div style="flex:1;"><div v-show="showDelay" class="marage">延期原因 : {{ fromCreateData.lateReason }}</div><br></div>
+          </div>
 
-            <div style="display: flex;">
-              <div style="flex:1"><el-form-item label="依赖组件 : "><span :style="dependentComponents1">{{ dependentCom }}</span></el-form-item></div>
-              <div style="flex:1;"><el-form-item v-show="showDelay2" label="组件名称 : ">{{ fromCreateData.dependentComponents }}</el-form-item></div>
-            </div>
+          <div style="display: flex;">
+            <div style="flex:1"><div class="marage">涉及安全项 : <span :style="safeStatus1">{{ safeStatus }}</span></div><br></div>
+            <div style="flex:1;"><div v-show="showData" class="marage">完成结果 : {{ fromCreateData.safeInfo }}</div><br></div>
+          </div>
 
-            <div style="display: flex;">
-              <div style="flex:1"><el-form-item label="是否延期 : "><span :style="lateStatus1">{{ lateStatus }}</span></el-form-item></div>
-              <div style="flex:1;"><el-form-item v-show="showDelay" label="延期原因 : ">{{ fromCreateData.lateReason }}</el-form-item></div>
+          <div style="display: flex;">
+            <div style="flex:1">
+              <div class="marage">SDL链接 : <a href="http://wiki.intra.xiaojukeji.com/pages/viewpage.action?pageId=237016271" style="color:blue;">普惠SDL准入标准</a></div><br>
+              <div class="marage">是否跟版 : {{ fromCreateData.isEdition }}</div><br>
+              <div class="marage">优 先 级 : {{ fromCreateData.priority }}</div><br>
             </div>
-
-            <el-form-item label="PM & UI : ">{{ fromCreateData.pmUi }}</el-form-item><br>
-            <div class="noWrap">
-              <el-form-item label="测试建议 :">{{ fromCreateData.testSuggest }}</el-form-item><br>
-              <el-form-item label="需求list :">{{ fromCreateData.functionInfo }}</el-form-item><br>
-              <el-form-item label="涉及接口 :">{{ fromCreateData.interfaceInfo }}</el-form-item><br>
+            <div style="flex:1;">
+              <div class="marage">开发时间 : {{ fromCreateData.devTimeStart }} 至 {{ fromCreateData.devTimeEnd }}</div><br>
+              <div class="marage">计划提测时间 : {{ fromCreateData.planLaunchTime }}</div><br>
+              <div class="marage">实际提测时间 : {{ fromCreateData.launchTime }}</div><br>
             </div>
-          </el-form>
-        </div>
-        <div class="titleStyle">二. 联调详情</div>
-        <div class="rich" v-html="joinTestOne" />
-
-        <div class="titleStyle">三. 其他</div>
-        <el-form>
-          <div v-if="oneShow" class="marage">新增配置 : {{ fromCreateData.configInfo }}</div><br>
-          <div class="marage">其他 : {{ fromCreateData.others }}</div><br>
-          <!-- <el-button style="float:right; margin:8% 50%;" @click="open()"> 返 回 </el-button> -->
+          </div>
+          <div class="marage">prd地址 : {{ fromCreateData.prdUrl }}</div><br>
+          <div class="marage">设计方案 : {{ fromCreateData.devUrl }}</div><br>
+          <div class="marage">自测结果 : {{ fromCreateData.selfTestInfo }}</div><br>
+          <div class="marage">测试建议 : {{ fromCreateData.testSuggest }}</div><br>
+          <el-form-item label="提测模块" style="margin: 2px 0;" />
+          <div class="rich" v-html=" moduleInfoOne" />
         </el-form>
       </div>
-    </div>
 
-    <el-dialog title="邮件预览" width="70%" center :visible.sync="dialogTableVisible" @open="dasd()">
-      <!-- <div align="center">
-        <el-button type="primary" size="mini" @click="dialogFormVisible = true">确定发送</el-button>
-        <el-button size="mini" @click="download()">确定下载</el-button>
-      </div> -->
-      <!-- <div id="resumeId" class="eleStyle_one">
-        <div style="height:100%;width:94%; background:#ffffff; margin: 3%; border-radius: 4px; overflow: hidden;">
-          <div style="padding:2% 9%;">
-            <div style="display: flex; white-space: nowrap; font-family:SimSuncss">
-              <span style="flex:1;font-weight: bold;font-size: 24px;color: #3a8ee6">{{ fromCreateData.name }}</span>
-              <span style="flex:2;margin:1% 0 0 20px;font-size: 17px;">by {{ fromCreateData.submitter }}
-              </span>
+      <div v-if="towShow">
+        <el-form :model="fromCreateData">
+          <div style="display:flex;">
+            <div style="flex:1">
+              <el-form-item label="测试地址 : ">{{ fromCreateData.packageUrl }}</el-form-item><br>
+              <el-form-item label="提测环境 : ">{{ fromCreateData.env }}</el-form-item><br>
+              <el-form-item label="自测结果 : ">{{ fromCreateData.selfTestInfo }}</el-form-item><br>
             </div>
-
-            <div class="titleStyle" style="margin:1% 0;">一. 提测详情</div>
-
-            <div v-if="oneShow">
-              <el-form :model="fromCreateData">
-                <div style="display: flex;">
-                  <div style="flex:1"><div class="marage">是否延期 : <span :style="lateStatus1">{{ lateStatus }}</span></div><br></div>
-                  <div style="flex:1;"><div v-show="showDelay" class="marage">延期原因 : <span>{{ fromCreateData.lateReason }}</span></div><br></div>
-                </div>
-
-                <div style="display: flex;">
-                  <div style="flex:1"><div class="marage">涉及安全项 : <span :style="safeStatus1">{{ safeStatus }}</span></div><br></div>
-                  <div style="flex:1;"><div v-show="showData" class="marage">完成结果 : <span>{{ fromCreateData.safeInfo }}</span></div><br></div>
-                </div>
-
-                <div style="display: flex;">
-                  <div style="flex:1">
-                    <div class="marage">SDL链接 : <a href="http://wiki.intra.xiaojukeji.com/pages/viewpage.action?pageId=237016271" style="color:blue;">普惠SDL准入标准</a></div><br>
-                    <div class="marage">是否跟版 : <span>{{ fromCreateData.isEdition }}</span></div><br>
-                    <div class="marage">优 先 级 : <span>{{ fromCreateData.priority }}</span></div><br>
-                  </div>
-                  <div style="flex:1;">
-                    <div class="marage">开发时间 : <span>{{ fromCreateData.devTimeStart }} 至 {{ fromCreateData.devTimeEnd }}</span></div><br>
-                    <div class="marage">计划提测时间 : <span>{{ fromCreateData.planLaunchTime }}</span></div><br>
-                    <div class="marage">实际提测时间 : <span>{{ fromCreateData.launchTime }}</span></div><br>
-                  </div>
-                </div>
-                <div class="marage">prd地址 : <span>{{ fromCreateData.prdUrl }}</span></div><br>
-                <div class="marage">设计方案 : <span>{{ fromCreateData.devUrl }}</span></div><br>
-                <div class="marage">自测结果 : <span>{{ fromCreateData.selfTestInfo }}</span></div><br>
-                <div class="marage">测试建议 : <span>{{ fromCreateData.testSuggest }}</span></div><br>
-                <el-form-item label="提测模块" style="margin: 2px 0;" />
-                <div class="rich" v-html=" moduleInfoOne" />
-              </el-form>
+            <div style="flex:1">
+              <el-form-item label="打包分支 : ">{{ fromCreateData.packageBranch }}</el-form-item><br>
+              <el-form-item label="优 先 级 : ">{{ fromCreateData.priority }}</el-form-item><br>
             </div>
+          </div>
 
-            <div v-if="towShow">
-              <el-form :model="fromCreateData">
-                <div style="display:flex;">
-                  <div style="flex:1">
-                    <el-form-item label="测试地址 : ">{{ fromCreateData.packageUrl }}</el-form-item><br>
-                    <el-form-item label="提测环境 : ">{{ fromCreateData.env }}</el-form-item><br>
-                    <el-form-item label="自测结果 : ">{{ fromCreateData.selfTestInfo }}</el-form-item><br>
-                  </div>
-                  <div style="flex:1">
-                    <el-form-item label="打包分支 : ">{{ fromCreateData.packageBranch }}</el-form-item><br>
-                    <el-form-item label="优 先 级 : ">{{ fromCreateData.priority }}</el-form-item><br>
-                  </div>
-                </div>
-
-                <div style="display: flex;">
-                  <div style="flex:1"><el-form-item label="新增Apollo : "><span :style="configInfo1">{{ config }}</span></el-form-item><br></div>
-                  <div style="flex:1;"><el-form-item v-show="showDelay1" label="Apollo名称">{{ fromCreateData.configInfo }}</el-form-item><br></div>
-                </div>
-
-                <div style="display: flex;">
-                  <div style="flex:1"><el-form-item label="依赖组件 : "><span :style="dependentComponents1">{{ dependentCom }}</span></el-form-item></div>
-                  <div style="flex:1;"><el-form-item v-show="showDelay2" label="组件名称 : ">{{ fromCreateData.dependentComponents }}</el-form-item></div>
-                </div>
+          <div style="display: flex;">
+            <div style="flex:1"><el-form-item label="新增Apollo : "><span :style="configInfo1">{{ config }}</span></el-form-item><br></div>
+            <div style="flex:1;"><el-form-item v-show="showDelay1" label="Apollo名称 : ">{{ fromCreateData.configInfo }}</el-form-item><br></div>
+          </div>
 
-                <div style="display: flex; margin:1% 0;">
-                  <div style="flex:1"><el-form-item label="是否延期 : "><span :style="lateStatus1">{{ lateStatus }}</span></el-form-item></div>
-                  <div style="flex:1;"><el-form-item v-show="showDelay" label="延期原因 : ">{{ fromCreateData.lateReason }}</el-form-item></div>
-                </div>
+          <div style="display: flex;">
+            <div style="flex:1"><el-form-item label="依赖组件 : "><span :style="dependentComponents1">{{ dependentCom }}</span></el-form-item></div>
+            <div style="flex:1;"><el-form-item v-show="showDelay2" label="组件名称 : ">{{ fromCreateData.dependentComponents }}</el-form-item></div>
+          </div>
 
-                <el-form-item label="PM & UI : ">{{ fromCreateData.pmUi }}</el-form-item><br>
-                <div class="noWrap">
-                  <el-form-item label="测试建议 :">{{ fromCreateData.testSuggest }}</el-form-item><br>
-                  <el-form-item label="需求list :">{{ fromCreateData.functionInfo }}</el-form-item><br>
-                  <el-form-item label="涉及接口 :">{{ fromCreateData.interfaceInfo }}</el-form-item><br>
-                </div>
-              </el-form>
-            </div>
-            <div class="titleStyle">二. 联调详情</div>
-            <div class="rich" v-html="joinTestOne" />
-            <div class="titleStyle">三. 其他</div>
-            <el-form>
-              <div v-if="oneShow" class="marage">新增配置 : {{ fromCreateData.configInfo }}</div><br>
-              <div class="marage" style="margin:8% 0%;">其他 : {{ fromCreateData.others }}</div><br>
-            </el-form>
+          <div style="display: flex;">
+            <div style="flex:1"><el-form-item label="是否延期 : "><span :style="lateStatus1">{{ lateStatus }}</span></el-form-item></div>
+            <div style="flex:1;"><el-form-item v-show="showDelay" label="延期原因 : ">{{ fromCreateData.lateReason }}</el-form-item></div>
           </div>
-        </div>
-      </div> -->
-    </el-dialog>
-    <!-- 发送报告 -->
-    <!-- <el-dialog title="发送邮件" width="30%" :visible.sync="dialogFormVisible">
-      <el-form label-position="center" :model="form" label-width="80px">
-        <el-form-item label="发送 : ">
-          <el-input v-model="form.name" placeholder="请填写邮箱前缀,邮箱名以 , 分割" />
-        </el-form-item>
-        <el-form-item label="抄送 : ">
-          <el-input v-model="form.names" placeholder="请填写邮箱前缀,邮箱名以 , 分割" />
-        </el-form-item>
-      </el-form>
-      {{ message }}
-      <div slot="footer" class="dialog-footer">
 
-        <el-button @click="dialogFormVisible = false">取 消</el-button>
-        <el-button type="primary" @click="sendReport(form)">确 定</el-button>
+          <el-form-item label="PM & UI : ">{{ fromCreateData.pmUi }}</el-form-item><br>
+          <div class="noWrap">
+            <el-form-item label="测试建议 :">{{ fromCreateData.testSuggest }}</el-form-item><br>
+            <el-form-item label="需求list :">{{ fromCreateData.functionInfo }}</el-form-item><br>
+            <el-form-item label="涉及接口 :">{{ fromCreateData.interfaceInfo }}</el-form-item><br>
+          </div>
+        </el-form>
       </div>
-    </el-dialog> -->
+      <div class="titleStyle">二. 联调详情</div>
+      <div class="rich" v-html="joinTestOne" />
+
+      <div class="titleStyle">三. 其他</div>
+      <el-form>
+        <div v-if="oneShow" class="marage">新增配置 : {{ fromCreateData.configInfo }}</div><br>
+        <div class="marage">其他 : {{ fromCreateData.others }}</div><br>
+      </el-form>
+    </div>
   </div>
 </template>
 
 <script>
-// import { launchTestSendmail } from '@/api/ResultPage'
-// import html2canvas from 'html2canvas'
-// import { launchTest } from '@/api/testPresentetion'
-
 export default {
   name: 'AcceptTheReport',
   props: {
@@ -230,8 +104,6 @@ export default {
       dependentComponents1: { color: 'green' },
       lateStatus1: { color: 'red' },
       safeStatus1: { color: 'green' },
-      // dialogTableVisible: false,
-      // dialogFormVisible: false,
       form: {},
       dependentCom: '',
       config: '',
@@ -254,9 +126,6 @@ export default {
     this.idGet()
   },
   methods: {
-    // dasd() {
-    //   this.idGet()
-    // },
     // download() {
     //   this.getPdf('resumeId', this.name)
     // },
@@ -306,23 +175,7 @@ export default {
         this.dependentCom = '否'
         this.dependentComponents1.color = 'red'
       }
-      // })
     }
-    // open() { this.$router.push({ path: '/Platform/presentation/Assumptions' }) }
-    // sendReport(e) {
-    //   var ele = this.fromCreateData
-    //   setTimeout(() => {
-    //     var that = this
-    //     html2canvas(document.getElementById('resumeId'), { useCORS: true }).then(function(canvas) {
-    //       var imgData = canvas.toDataURL('image/png')
-    //       var sendImgData = imgData.substring(imgData.indexOf(',') + 1)
-    //       var postData = { 'reportId': ele.id, 'imgStr': sendImgData, 'url': window.location.href, 'emailUser': e.name, 'copyTo': e.names }
-    //       launchTestSendmail(postData).then(res => {
-    //         res.code === 200 ? that.$message.success('发送测试报告成功') : that.$message.error('发送测试报告失败,请联系管理员!')
-    //       })
-    //     })
-    //   }, 500)
-    // }
   }
 }
 </script>

+ 48 - 144
src/views/Platform/presentation/testPresenyL.vue

@@ -1,93 +1,43 @@
 <template>
   <!-- 日报预览 -->
-  <div class="eleStyle">
-    <el-form :model="fromCreat" style="margin:0% 14%">
-      <div>
-        <div style="display: flex; white-space: nowrap; font-family:SimSuncss">
-          <span style="flex:1;font-weight: bold;font-size: 24px;color: #3a8ee6">{{ fromCreat.reportName }}</span>
-          <span style="flex:2;margin: 0.5% 0 0 20px;font-size: 17px;">by {{ fromCreat.ownner }}
-            <el-button v-show="btn" type="primary" size="mini" style="margin:0 2% 0 5%;" @click="dialogTableVisible = true">发送报告</el-button>
-            <el-button v-show="btn" size="mini" @click="dialogTableVisible = true">下载测试报告</el-button>
-          </span>
-        </div>
-        <div style="font-size:15px;color:#606266;" class="rich" v-html="projectProgress" />
-        <div class="titleStyle">三. bug情况</div>
-        <div style="border: 1px,solid #ccc;font-size:14px;color:#606266;">
-          <div style="margin: 1%;">1、bug统计</div>
-          <div style="display:flex;">
-            <div id="lineShow" style="flex:2; width: 800px;height:400px;" />
-            <div style="flex:1; width: 400px;height:400px;" />
-            <div id="barShow" style="flex:2; width: 800px;height:400px;" />
-          </div>
-          <div style="margin: 1%;">2、bug说明</div>
-          {{ bugshow }}
-        </div>
-      </div>
-      <el-button v-show="btn" style="float:right; margin:2% 50%;" @click="$router.go(-1)"> 返 回 </el-button>
-    </el-form>
-    <el-dialog title="邮件预览" width="70%" center :visible.sync="dialogTableVisible" @open="dasd()">
-      <div align="center">
-        <el-button type="primary" size="mini" @click="dialogFormVisible = true">确定发送</el-button>
-        <el-button size="mini" @click="download()">确定下载</el-button>
+  <div>
+    <el-form :model="fromCreat" style="margin:0% 14% 2%">
+      <div style="display: flex; white-space: nowrap; font-family:SimSuncss">
+        <span style="flex:1;font-weight: bold;font-size: 24px;color: #3a8ee6">{{ fromCreat.reportName }}</span>
+        <span style="flex:2;margin: 0.5% 0 0 20px;font-size: 17px;">by {{ fromCreat.ownner }}</span>
       </div>
-      <div id="Gambol" class="eleStyle">
-        <div style="height:100%;width:94%; background:#ffffff; margin: 3% 3% 8% 3%; border-radius: 4px; overflow: hidden;">
-          <el-form :model="fromCreat" style="margin:2% 9%">
-            <div>
-              <div style="display: flex; white-space: nowrap; font-family:SimSuncss">
-                <span style="flex:1;font-weight: bold;font-size: 24px;color: #3a8ee6">{{ fromCreat.reportName }}</span>
-                <span style="flex:2;margin:1% 0 0 20px;font-size: 17px;">by {{ fromCreat.ownner }}
-                </span>
-              </div>
-              <div style="font-size:15px;color:#606266;" class="rich" v-html="projectProgress" />
-              <div class="titleStyle">三. bug情况</div>
-              <div style="border: 1px,solid #ccc;font-size:14px;color:#606266;">
-                <div style="margin: 1%;">1、bug统计</div>
-                <div style="display:flex;">
-                  <div id="lineShow1" style="flex:2; width: 800px;height:400px;" />
-                  <div style="flex:1; width: 400px;height:400px;" />
-                  <div id="barShow1" style="flex:2; width: 800px;height:400px;" />
-                </div>
-                <div style="margin: 1%;">2、bug说明</div>
-                {{ bugshow }}
-              </div>
-            </div>
-          </el-form>
+      <div style="font-size:15px;color:#606266;" class="rich" v-html="projectProgress" />
+      <div class="titleStyle">三. bug情况</div>
+      <div style="border: 1px,solid #ccc;font-size:14px;color:#606266;">
+        <div style="margin: 1%;">1、bug统计</div>
+        <div style="display:flex;">
+          <div id="lineShow" style="flex:2;width: 400px;height:400px;" />
+          <div style="flex:1; width: 200px;height:400px;" />
+          <div id="barShow" style="flex:2; width: 400px;height:400px;" />
         </div>
+        <div style="margin: 1%;">2、bug说明</div>
+        {{ bugshow }}
       </div>
-    </el-dialog>
-    <!-- 发送报告 -->
-    <el-dialog title="发送邮件" width="30%" :visible.sync="dialogFormVisible">
-      <el-form label-position="center" :model="form" label-width="80px">
-        <el-form-item label="发送 : ">
-          <el-input v-model="form.name" placeholder="请填写邮箱前缀,邮箱名以 , 分割" />
-        </el-form-item>
-        <el-form-item label="抄送 : ">
-          <el-input v-model="form.names" placeholder="请填写邮箱前缀,邮箱名以 , 分割" />
-        </el-form-item>
-      </el-form>
-      <div slot="footer" class="dialog-footer">
-        <el-button @click="dialogFormVisible = false">取 消</el-button>
-        <el-button type="primary" @click="sendReport(form)">确 定</el-button>
-      </div>
-    </el-dialog>
+    </el-form>
   </div>
 </template>
 
 <script>
 import echarts from 'echarts'
-import { bugDailyList, dailyReport } from '@/api/testPresentetion'
-import { dailyReportSendmail } from '@/api/ResultPage'
-import html2canvas from 'html2canvas'
+import { bugDailyList } from '@/api/testPresentetion'
 
 export default {
   name: 'TestPresenyL',
+  props: {
+    message: {
+      type: Object,
+      required: true
+    }
+  },
   data() {
     return {
       userInformation: localStorage.getItem('username'),
       userNames: localStorage.getItem('realname'),
-      dialogTableVisible: false,
-      dialogFormVisible: false,
       bugshow: '',
       postData: {},
       fromCreat: {},
@@ -99,35 +49,34 @@ export default {
       statusMap: [],
       statusList: [],
       pro: '',
-      form: {},
-      name: '',
-      btn: true
+      name: ''
     }
   },
   created() {
     this.idGet()
   },
+  mounted() {
+    this.idGet()
+  },
   methods: {
-    dasd() {
-      this.idGet()
-    },
     idGet() {
-      dailyReport({ id: this.$route.query.id }).then((res) => {
-        this.fromCreat = res.data
-        this.name = this.fromCreat.reportName
-        this.gntCreateEnd = this.fromCreat.gmtCreate
-        this.bugshow = this.fromCreat.bugExplain
-        this.projectProgress = this.fromCreat.testExplain
-        this.pro = { projectId: this.fromCreat.projectId, taskId: this.fromCreat.taskId, gntCreateEnd: this.gntCreateEnd }
-        bugDailyList(this.pro).then(res => {
-          this.dateList = res.data.dateList
-          this.statusMap = res.data.statusMap
-          this.statusList = res.data.statusList
-          this.numList = res.data.bugMap
-          for (var ele of this.numList) {
-            this.bugName.push(ele.name)
-          }
-
+      // dailyReport({ id: this.$route.query.id }).then((res) => {
+      // console.log(this.message, 'dss')
+      this.fromCreat = this.message
+      this.name = this.fromCreat.reportName
+      this.gntCreateEnd = this.fromCreat.gmtCreate
+      this.bugshow = this.fromCreat.bugExplain
+      this.projectProgress = this.fromCreat.testExplain
+      this.pro = { taskIds: this.fromCreat.taskIds, gntCreateEnd: this.gntCreateEnd }
+      bugDailyList(this.pro).then(res => {
+        this.dateList = res.data.dateList
+        this.statusMap = res.data.statusMap
+        this.statusList = res.data.statusList
+        this.numList = res.data.bugMap
+        for (var ele of this.numList) {
+          this.bugName.push(ele.name)
+        }
+        setTimeout(item => {
           echarts.init(document.getElementById('lineShow')).setOption({
             title: { left: 'center', text: 'bug数量汇总' },
             tooltip: { trigger: 'axis' },
@@ -137,6 +86,8 @@ export default {
             yAxis: { type: 'value' },
             series: this.numList
           })
+        }, 500)
+        setTimeout(item => {
           echarts.init(document.getElementById('barShow')).setOption({
             title: { text: 'bug状态汇总', x: 'center' },
             color: ['#003366', '#006699', '#4cabce', '#e5323e'],
@@ -147,61 +98,14 @@ export default {
             yAxis: [{}],
             series: this.statusMap
           })
-          if (document.getElementById('lineShow1')) {
-            echarts.init(document.getElementById('lineShow1')).setOption({
-              title: { left: 'center', text: 'bug数量汇总' },
-              tooltip: { trigger: 'axis' },
-              legend: { top: 30, data: this.bugName },
-              grid: { left: '5%', right: '25%', bottom: '12%', containLabel: true },
-              xAxis: { type: 'category', boundaryGap: true, data: this.dateList },
-              yAxis: { type: 'value' },
-              series: this.numList
-            })
-            echarts.init(document.getElementById('barShow1')).setOption({
-              title: { text: 'bug状态汇总', x: 'center' },
-              color: ['#003366', '#006699', '#4cabce', '#e5323e'],
-              tooltip: { trigger: 'axis' },
-              legend: { top: 30, data: this.statusMap },
-              grid: { left: '5%', right: '25%', bottom: '12%', containLabel: true },
-              xAxis: [{ data: this.statusList }],
-              yAxis: [{}],
-              series: this.statusMap
-            })
-          }
-        })
+        }, 500)
       })
-    },
-    download() {
-      this.getPdf('Gambol', this.name)
-    },
-
-    sendReport(e) {
-      var ele = this.fromCreat
-      var node = document.getElementById('Gambol')
-      setTimeout(() => {
-        var that = this
-        html2canvas(node, { useCORS: true }).then(function(canvas) {
-          var url = canvas.toDataURL('image/png', 1)
-          url = url.toString().substring(url.indexOf(',') + 1)
-          var postData = { 'reportId': ele.id, 'imgStr': url, 'url': window.location.href, 'emailUser': e.name, 'copyTo': e.names }
-          dailyReportSendmail(postData).then(res => {
-            that.dialogFormVisible = false
-            that.dialogTableVisible = false
-            res.code === 200 ? that.$message({ type: 'success', message: '发送测试报告成功' }) : that.$message({ type: 'error', message: '发送测试报告失败,请联系管理员!' })
-          })
-        })
-      }, 1000)
     }
   }
 }
 </script>
 
 <style scoped>
-  .eleStyle {
-    width: 100%;
-    height:100%;
-    display: inline-block;
-  }
   .titleStyle {
     color: #333B4A;
     margin: 1% 0 1% 0;
@@ -210,7 +114,7 @@ export default {
   }
   #app .hideSidebar .sidebar-container {
     display: none;
-}
+  }
   .rich>>> table tr td{border:1px solid #ccc;font-size: 14px; color: #606266}
   .rich>>> table th{border:1px solid #ccc; font-size: 14px; background: #F0F7FF; color: #606266}
   .rich>>> table {border:1px solid #ccc; border-collapse: collapse;line-height: 30px; text-align: center;font-size: 14px; color: #606266}

+ 10 - 42
src/views/projectManage/taskList/taskViewDetails.vue

@@ -1248,46 +1248,27 @@ export default {
     errFun(errFun) {
       this.$message.error(errFun)
     },
-    handleSizeChange(size) {
-      //  分页
+    handleSizeChange(size) { //  分页
       this.pageSize = size
     },
-    handleCurrentChange(curIndex) {
-      //  分页
+    handleCurrentChange(curIndex) { //  分页
       this.curIndex = curIndex
     },
     dialogue() {},
     createReport(e, ele) {
       if (ele.typeString !== '服务端') {
         switch (e) {
-          case 1:
+          case 1: // 提测
             this.dialogVisible1 = true
             this.$nextTick(() => {
               this.$refs.TestReport.init()
             })
-            // if (this.task_form.statusString === '开发中') {
-            //   this.$router.push({
-            //     path: '/Platform/presentation/PresentReport',
-            //     query: { task: ele }
-            //   }) // 客户端提测
-            // } else {
-            //   this.$message({
-            //     message: '该状态下不支持提测,请先将状态更改为【开发中】',
-            //     type: 'success',
-            //     duration: 1000,
-            //     offset: 150
-            //   })
-            // }
             break
-          case 2:
-            // this.dialogDaily = true
+          case 2: // 日报
+            this.dialogDaily = true
             this.$nextTick(() => {
               this.$refs.DailyReport.init()
             })
-            // this.$router.push({
-            //   path: '/Platform/presentation/DailyNewsAdded',
-            //   query: { task: ele, taskId: ele.id }
-            // }) // 客户端日报
             break
           case 3:
             this.dialogClient = true
@@ -1322,25 +1303,12 @@ export default {
             this.$nextTick(() => {
               this.$refs.TestReport.init()
             })
-            // if (this.task_form.statusString === '开发中') {
-            //   this.$router.push({
-            //     path: '/Platform/presentation/presentationReport',
-            //     query: { task: ele }
-            //   }) // 服务端提测
-            // } else {
-            //   this.$message({
-            //     message: '该状态下不支持提测,请先将状态更改为【开发中】',
-            //     type: 'success',
-            //     duration: 1000,
-            //     offset: 150
-            //   })
-            // }
             break
-          case 2:
-            this.$router.push({
-              path: '/Platform/presentation/DailyNewsAdded',
-              query: { task: ele, taskId: ele.id }
-            }) // 服务端日报
+          case 2: // 日报
+            this.dialogDaily = true
+            this.$nextTick(() => {
+              this.$refs.DailyReport.init()
+            })
             break
           case 3:
             if (this.task_form.statusString === '测试中') {