Browse Source

qulity 研发字段

panxiandiao_i 5 năm trước cách đây
mục cha
commit
1d980c64e5

+ 21 - 0
src/router/index.js

@@ -479,6 +479,27 @@ export const constantRoutes = [
         // hidden: true,
         component: () => import('@/views/onlineProblem/problemList.vue'),
         meta: { title: '线上问题' }
+      },
+      {
+        path: '/Platform/defectManagement/problemCreate',
+        name: '新建线上问题',
+        hidden: true,
+        component: () => import('@/views/onlineProblem/problemCreate'),
+        meta: { title: '新建线上问题' }
+      },
+      {
+        path: '/Platform/defectManagement/problemQuery',
+        name: '查看线上问题',
+        hidden: true,
+        component: () => import('@/views/onlineProblem/problemQuery'),
+        meta: { title: '查看线上问题' }
+      },
+      {
+        path: '/Platform/defectManagement/problemUpdate',
+        name: '更新线上问题',
+        hidden: true,
+        component: () => import('@/views/onlineProblem/problemUpdate'),
+        meta: { title: '更新线上问题' }
       }
     ]
   },

+ 28 - 14
src/views/Platform/bugManage/bugCreate.vue

@@ -144,20 +144,23 @@
         <el-input v-model="form.remark" type="textarea" autocomplete="off" rows="5" style="margin: 20px 0;" />
         <div>
           <el-upload
+            ref="upload"
             class="upload-demo"
             multiple
-            capture
-            accept="image/jpeg, image/png, image/gif, audio/mp4, video/mp4, audio/mpeg, application/vnd.ms-excel"
-            :on-change="handleChange"
             :file-list="fileList"
             action="http://star.xiaojukeji.com/upload/img.node"
+            :on-success="handleChange"
+            :auto-upload="false"
           >
             <!-- action="http://page-daily.kuaidadi.com/upload/img.node" 线下 -->
             <!-- action="http://star.xiaojukeji.com/upload/img.node" 线上 -->
             <!-- action="https://jsonplaceholder.typicode.com/posts/" 原始地址-->
-            <el-button size="small">点击上传</el-button>
+            <!-- <el-button size="small">点击上传</el-button> -->
+            <el-button slot="trigger" size="small" type="primary" @click="createdDis">选取文件</el-button>
+            <el-button style="margin-left: 10px;" size="small" type="success" @click="submitUpload">上传到服务器</el-button>
           </el-upload>
         </div>
+        <!-- accept="image/jpeg, image/png, image/gif, audio/mp4, video/mp4, application/pdf, audio/mpeg, text/plain, application/vnd.ms-excel, application/vnd.ms-works, application/msword" -->
         <el-form-item class="submit">
           <el-button size="mini" type="primary" @click="createFormData(form)">提 交</el-button>
           <el-button class="move-button" size="mini" @click="$router.go(-1)">取 消</el-button>
@@ -230,10 +233,8 @@ export default {
       serviceDataRules: {
         bugName: [{ required: true, message: '标题不能为空', trigger: 'change' }],
         bizId: [{ required: true, message: '业务线不能为空', trigger: 'change' }],
-        // bugName: [{ required: true, message: '主题不能为空', trigger: 'change' }],
         taskId: [{ required: true, message: '任务不能为空', trigger: 'change' }],
         moduleId: [{ required: true, message: '工程模块不能为空', trigger: 'change' }],
-        // projectId: [{ required: true, message: '项目ID不能为空', trigger: 'change' }],
         bugType: [{ required: true, message: 'bug类型不能为空', trigger: 'change' }],
         reopenTimes: [{ required: true, message: 'reopen不能为空', trigger: 'change' }],
         discoveryMethod: [{ required: true, message: '发现方式不能为空', trigger: 'change' }],
@@ -252,8 +253,12 @@ export default {
       userData: '',
       businessTypeShow: false,
       moduleTypeShow: false,
+      accessory: '',
       userInformation: localStorage.getItem('username'),
-      userNames: localStorage.getItem('realname')
+      userNames: localStorage.getItem('realname'),
+      fileDbList: [],
+      dis: false
+      // fileDbList: [{ name: '智慧平台.png', url: 'http://pt-starimg.didistatic.com/static/starimg/node/qo4sKioLko1571277086594.png' }, { name: '智慧平台.png', url: 'http://pt-starimg.didistatic.com/static/starimg/node/qo4sKioLko1571277086594.png' }]
     }
   },
   created() {
@@ -261,16 +266,25 @@ export default {
     this.forkDown()
   },
   methods: {
-    handleChange(file, fileList) {
+    createdDis() {
+      this.dis = true
+    },
+    submitUpload() {
+      this.$refs.upload.submit()
+      this.dis = true
+      this.$message({ showClose: true, message: '文件正在上传······', type: 'success' })
+    },
+    handleChange(response, file, fileList) {
+      // setTimeout(function() {
       this.fileDbList = []
       this.fileList = fileList.slice(-3)
       for (var a of this.fileList) {
-        this.fileDbList.push({ name: a.name, url: 'http' + a.response.url })
-      }
-      var arr = []
-      for (var el of this.fileDbList) {
-        arr.push({ 'name': el.name, 'url': 'http' + el.response.url })
+        this.fileDbList.push({ 'name': a.name, 'url': 'http:' + a.response.url })
       }
+      this.accessory = JSON.stringify(this.fileDbList)
+      this.dis = false
+      this.$message({ showClose: true, message: '文件上传成功', type: 'success' })
+      // }, 500)
     },
     async bugListSelect() {
       await bugGetEnum().then(res => {
@@ -320,7 +334,6 @@ export default {
     },
     // 业务线取子数据
     clickChangePlatform(e) {
-      console.log(this.form.taskId)
       this.platformTypeStr = this.bizOptions.filter(value => value.code === e)[0].child
       this.businessTypeStr = []
       this.moduleStr = []
@@ -371,6 +384,7 @@ export default {
           if (this.$route.query.id && typeof this.form.bizId === 'string') {
             form.bizId = this.bizOptions.filter(value => value.name === form.bizId)[0].code
           }
+          form.accessory = this.accessory
           form.reopenTimes = parseInt(form.reopenTimes)
           form.projectId = this.taskIdStr.filter(value => value.id === this.form.taskId)[0].projectId
           if (form.assigner) {

+ 39 - 0
src/views/Platform/bugManage/bugQuery.vue

@@ -70,6 +70,21 @@
           app版本号 :&nbsp;&nbsp;&nbsp;{{ form.remark }}
         </div>
       </div>
+      <div class="block-end cla">
+        <div class="display-messege">
+          附件 :
+          <el-table :data="uptataKey" fit style="width: 100%;">
+            <el-table-column label="" min-width="150">
+              <template slot-scope="scope">{{ scope.row.name }}</template>
+            </el-table-column>
+            <el-table-column label="" min-width="300">
+              <template slot-scope="scope">
+                <a :href="scope.row.url" style="color:blue;">{{ scope.row.url }}</a>
+              </template>
+            </el-table-column>
+          </el-table>
+        </div>
+      </div>
     </el-form>
     <el-dialog :visible.sync="dialogInDevelopment" width="40%" @close="cancelInput()">
       <el-form ref="refeshDevelopmentDialog" :model="pauseData" :rules="serviceDataRules">
@@ -144,6 +159,7 @@ export default {
       form: {
         id: ''
       },
+      uptataKey: [],
       formUpdateValue: {},
       pauseData: {
         reasonPause: '',
@@ -185,8 +201,16 @@ export default {
   },
   created() {
     this._initBegin()
+    // this.getLocalStor()
   },
   methods: {
+    // getLocalStor() {
+    //   var str = localStorage.getItem('updata')
+    //   var obj = JSON.parse(str.split('{}')[0])
+    //   for (var a of obj) {
+    //     this.uptataKey.push(a)
+    //   }
+    // },
     // 先后获取
     async _initBegin() {
       await bugGetEnum().then(res => {
@@ -199,6 +223,15 @@ export default {
       })
       bugGet(this.$route.query.id).then(res => {
         this.form = res.data
+        if (res.data.accessory === '') {
+          var str = res.data.accessory
+          if (str !== '') {
+            var obj = JSON.parse(str.split('{}')[0])
+            for (var a of obj) {
+              this.uptataKey.push(a)
+            }
+          }
+        }
         for (const a of this.bizIdEnumList) {
           if (this.form.bizId === a.code) {
             this.bizId = this.form.bizName
@@ -381,6 +414,12 @@ export default {
 }
 </script>
 
+<style>
+ .cla .el-table td {
+    padding:0px;
+  }
+</style>
+
 <style lang="stylus" scoped>
   .set-background
     background-color #F2F3F6

+ 76 - 10
src/views/Platform/bugManage/bugUpdate.vue

@@ -144,24 +144,46 @@
         <el-input v-model="form.remark" type="textarea" autocomplete="off" rows="5" style="margin: 20px 0;" />
         <div>
           <el-upload
+            ref="upload"
             class="upload-demo"
             multiple
-            capture
             accept="image/jpeg, image/png, image/gif, audio/mp4, video/mp4, audio/mpeg, application/vnd.ms-excel"
-            :on-change="handleChange"
             :file-list="fileList"
             action="http://star.xiaojukeji.com/upload/img.node"
+            :on-success="handleChange"
+            :auto-upload="false"
           >
             <!-- action="http://page-daily.kuaidadi.com/upload/img.node" 线下 -->
             <!-- action="http://star.xiaojukeji.com/upload/img.node" 线上 -->
             <!-- action="https://jsonplaceholder.typicode.com/posts/" 原始地址-->
-            <el-button size="small">点击上传</el-button>
+            <!-- <el-button size="small">点击上传</el-button> -->
+            <el-button slot="trigger" size="small" type="primary" @click="createdDis">选取文件</el-button>
+            <el-button style="margin-left: 10px;" size="small" type="success" @click="submitUpload">上传到服务器</el-button>
           </el-upload>
         </div>
-        <el-form-item class="submit">
-          <el-button size="mini" type="primary" @click="createFormData(form)">提 交</el-button>
-          <el-button class="move-button" size="mini" @click="$router.go(-1)">取 消</el-button>
-        </el-form-item>
+        <div class="cla">
+          <el-table :data="uptataKey" fit style="width: 100%;">
+            <el-table-column label="" min-width="50">
+              <template slot-scope="scope">{{ scope.row.index }}</template>
+            </el-table-column>
+            <el-table-column label="" min-width="150">
+              <template slot-scope="scope">{{ scope.row.name }}</template>
+            </el-table-column>
+            <el-table-column label="" min-width="300">
+              <template slot-scope="scope"><a :href="scope.row.url" style="color:blue;">{{ scope.row.url }}</a></template>
+            </el-table-column>
+            <el-table-column fixed="right" label="" width="50" align="center">
+              <template slot-scope="scope">
+                <el-button class="deleteSty" @click="handleDelContractList(scope.row)"> x </el-button>
+              </template>
+            </el-table-column>
+          </el-table>
+
+          <el-form-item class="submit">
+            <el-button :disabled="dis" size="mini" type="primary" @click="createFormData(form)">提 交</el-button>
+            <el-button class="move-button" size="mini" @click="$router.go(-1)">取 消</el-button>
+          </el-form-item>
+        </div>
       </div>
       <!-- <div style="flex:1">
         <el-form-item v-show="statusShow" label="问题原因和修复方法" :label-width="formLabelWidth"><el-input v-model="form.reasonsAndSolutionForTheProblem" type="textarea" placeholder="问题原因和修复方法" rows="4" style="width:77.2%;" /></el-form-item>
@@ -219,6 +241,8 @@ export default {
       moduleStr: [],
       stageStr: [],
       fileList: [],
+      uptataKey: [],
+      // uptataKey: [{ name: '智慧平台.png', url: 'http://pt-starimg.didistatic.com/static/starimg/node/qo4sKioLko1571277086594.png' }, { name: '智慧平台.png', url: 'http://pt-starimg.didistatic.com/static/starimg/node/qo4sKioLko1571277086594.png' }],
       serviceTypeEnumList: [],
       clientTypeEnumList: [],
       bugLevelStr: [],
@@ -248,7 +272,9 @@ export default {
       businessTypeShow: false,
       moduleTypeShow: false,
       userInformation: localStorage.getItem('username'),
-      userNames: localStorage.getItem('realname')
+      userNames: localStorage.getItem('realname'),
+      accessory: '',
+      dis: false
     }
   },
   created() {
@@ -256,8 +282,23 @@ export default {
     this.taskIdGet()
   },
   methods: {
-    handleChange(file, fileList) {
+    createdDis() {
+      this.dis = true
+    },
+    submitUpload() {
+      this.$refs.upload.submit()
+      this.dis = true
+      this.$message({ showClose: true, message: '文件正在上传······', type: 'success' })
+    },
+    handleChange(response, file, fileList) {
+      this.fileDbList = []
       this.fileList = fileList.slice(-3)
+      for (var a of this.fileList) {
+        this.fileDbList.push({ 'name': a.name, 'url': 'http:' + a.response.url })
+      }
+      this.accessory = JSON.stringify(this.fileDbList)
+      this.dis = false
+      this.$message({ showClose: true, message: '文件上传成功', type: 'success' })
     },
     async _initBegin() {
       await bugGetEnum().then(res => {
@@ -279,6 +320,13 @@ export default {
       })
       bugGet(this.$route.query.id).then(res => {
         this.form = res.data
+        var str = res.data.accessory
+        if (str !== '') {
+          var obj = JSON.parse(str.split('{}')[0])
+          for (var a of obj) {
+            this.uptataKey.push(a)
+          }
+        }
         this.platformTypeStr = this.bizOptions.filter(value => value.code === this.form.bizId)[0].child
         if (this.form.clientType) {
           this.businessTypeShow = true
@@ -348,17 +396,26 @@ export default {
         }
       }))
     },
+    handleDelContractList(val) {
+      for (var i = 0; i <= this.uptataKey.length; i++) {
+        if (val.name === this.uptataKey[i].name) {
+          this.uptataKey.splice(i, 1)
+        }
+      }
+      console.log(this.uptataKey)
+    },
     // 提交表单并且返回刷新
     createFormData(form) {
       this.$refs.form.validate((valid) => {
         if (valid) {
-          form.reopenTimes = parseInt(form.reopenTimes)
           if (form.assigner) {
             form.assigner = form.assigner.join(',')
           }
           if (form.currentHandler) {
             form.currentHandler = form.currentHandler.join(',')
           }
+          form.reopenTimes = parseInt(form.reopenTimes)
+          form.accessory = this.accessory
           this.userData = { id: '', ename: this.userInformation, name: this.userNames }
           this.objData = { bugBaseInfo: form, user: this.userData }
           bugUpdate(this.objData).then(res => {
@@ -377,6 +434,15 @@ export default {
   }
 }
 </script>
+<style>
+ .cla .el-table td {
+    padding:0px;
+  }
+  .deleteSty {
+    cursor: pointer;
+    border: none;
+  }
+</style>
 
 <style lang="stylus" scoped>
   .set-background

+ 28 - 14
src/views/onlineProblem/problemCreate.vue

@@ -144,20 +144,23 @@
         <el-input v-model="form.remark" type="textarea" autocomplete="off" rows="5" style="margin: 20px 0;" />
         <div>
           <el-upload
+            ref="upload"
             class="upload-demo"
             multiple
-            capture
-            accept="image/jpeg, image/png, image/gif, audio/mp4, video/mp4, audio/mpeg, application/vnd.ms-excel"
-            :on-change="handleChange"
             :file-list="fileList"
             action="http://star.xiaojukeji.com/upload/img.node"
+            :on-success="handleChange"
+            :auto-upload="false"
           >
             <!-- action="http://page-daily.kuaidadi.com/upload/img.node" 线下 -->
             <!-- action="http://star.xiaojukeji.com/upload/img.node" 线上 -->
             <!-- action="https://jsonplaceholder.typicode.com/posts/" 原始地址-->
-            <el-button size="small">点击上传</el-button>
+            <!-- <el-button size="small">点击上传</el-button> -->
+            <el-button slot="trigger" size="small" type="primary" @click="createdDis">选取文件</el-button>
+            <el-button style="margin-left: 10px;" size="small" type="success" @click="submitUpload">上传到服务器</el-button>
           </el-upload>
         </div>
+        <!-- accept="image/jpeg, image/png, image/gif, audio/mp4, video/mp4, application/pdf, audio/mpeg, text/plain, application/vnd.ms-excel, application/vnd.ms-works, application/msword" -->
         <el-form-item class="submit">
           <el-button size="mini" type="primary" @click="createFormData(form)">提 交</el-button>
           <el-button class="move-button" size="mini" @click="$router.go(-1)">取 消</el-button>
@@ -230,10 +233,8 @@ export default {
       serviceDataRules: {
         bugName: [{ required: true, message: '标题不能为空', trigger: 'change' }],
         bizId: [{ required: true, message: '业务线不能为空', trigger: 'change' }],
-        // bugName: [{ required: true, message: '主题不能为空', trigger: 'change' }],
         taskId: [{ required: true, message: '任务不能为空', trigger: 'change' }],
         moduleId: [{ required: true, message: '工程模块不能为空', trigger: 'change' }],
-        // projectId: [{ required: true, message: '项目ID不能为空', trigger: 'change' }],
         bugType: [{ required: true, message: 'bug类型不能为空', trigger: 'change' }],
         reopenTimes: [{ required: true, message: 'reopen不能为空', trigger: 'change' }],
         discoveryMethod: [{ required: true, message: '发现方式不能为空', trigger: 'change' }],
@@ -252,8 +253,12 @@ export default {
       userData: '',
       businessTypeShow: false,
       moduleTypeShow: false,
+      accessory: '',
       userInformation: localStorage.getItem('username'),
-      userNames: localStorage.getItem('realname')
+      userNames: localStorage.getItem('realname'),
+      fileDbList: [],
+      dis: false
+      // fileDbList: [{ name: '智慧平台.png', url: 'http://pt-starimg.didistatic.com/static/starimg/node/qo4sKioLko1571277086594.png' }, { name: '智慧平台.png', url: 'http://pt-starimg.didistatic.com/static/starimg/node/qo4sKioLko1571277086594.png' }]
     }
   },
   created() {
@@ -261,16 +266,25 @@ export default {
     this.forkDown()
   },
   methods: {
-    handleChange(file, fileList) {
+    createdDis() {
+      this.dis = true
+    },
+    submitUpload() {
+      this.$refs.upload.submit()
+      this.dis = true
+      this.$message({ showClose: true, message: '文件正在上传······', type: 'success' })
+    },
+    handleChange(response, file, fileList) {
+      // setTimeout(function() {
       this.fileDbList = []
       this.fileList = fileList.slice(-3)
       for (var a of this.fileList) {
-        this.fileDbList.push({ name: a.name, url: 'http' + a.response.url })
-      }
-      var arr = []
-      for (var el of this.fileDbList) {
-        arr.push({ 'name': el.name, 'url': 'http' + el.response.url })
+        this.fileDbList.push({ 'name': a.name, 'url': 'http:' + a.response.url })
       }
+      this.accessory = JSON.stringify(this.fileDbList)
+      this.dis = false
+      this.$message({ showClose: true, message: '文件上传成功', type: 'success' })
+      // }, 500)
     },
     async bugListSelect() {
       await bugGetEnum().then(res => {
@@ -320,7 +334,6 @@ export default {
     },
     // 业务线取子数据
     clickChangePlatform(e) {
-      console.log(this.form.taskId)
       this.platformTypeStr = this.bizOptions.filter(value => value.code === e)[0].child
       this.businessTypeStr = []
       this.moduleStr = []
@@ -371,6 +384,7 @@ export default {
           if (this.$route.query.id && typeof this.form.bizId === 'string') {
             form.bizId = this.bizOptions.filter(value => value.name === form.bizId)[0].code
           }
+          form.accessory = this.accessory
           form.reopenTimes = parseInt(form.reopenTimes)
           form.projectId = this.taskIdStr.filter(value => value.id === this.form.taskId)[0].projectId
           if (form.assigner) {

+ 3 - 3
src/views/onlineProblem/problemList.vue

@@ -192,7 +192,7 @@ export default {
       }
       // this.bizId = ele.bizId
       this.form.taskId = ele.taskId
-      this.$router.push({ name: '更新Bug', params: { formData: this.form }, query: { id: this.form.id }})
+      this.$router.push({ name: '更新线上问题', params: { formData: this.form }, query: { id: this.form.id }})
       // this.dialogFormVisible = true
     },
     getQueryData() {
@@ -216,7 +216,7 @@ export default {
       // if (this.$refs['form'] !== undefined) {
       //   this.$refs['form'].resetFields()
       // }
-      this.$router.push({ name: '新建Bug' })
+      this.$router.push({ name: '新建线上问题' })
     },
     toReportView(e) {
       // this.buildShow(e)
@@ -225,7 +225,7 @@ export default {
         for (var a of this.bizIdEnumList) {
           res.data.bizId === a.code ? this.form.bizId = a.name : ''
         }
-        this.$router.push({ name: '查看Bug', query: { id: this.form.id }})
+        this.$router.push({ name: '查看线上问题', query: { id: this.form.id }})
       })
     },
 

+ 220 - 0
src/views/projectManage/taskList/taskKanBan.vue

@@ -0,0 +1,220 @@
+<template>
+  <div style="width: 100%;">
+    <div class="set-background">
+      <div class="block">
+        <el-tabs v-model="activeName">
+          <el-tab-pane label="列表" name="first">
+            <el-form :model="form">
+              <div class="set-between">
+                <!-- <el-form-item label="创建时间" label-width="70px"><el-date-picker v-model="form.createTime" align="left" size="medium" type="datetime" style="width:76%;" placeholder="选择日期" /></el-form-item> -->
+                <el-form-item label="任务名称" label-width="70px"><el-input v-model="form.name" placeholder="填写任务名称" autocomplete="off" clearable size="medium" style="width:76%;" /></el-form-item>
+                <el-form-item label="状态" label-width="40px">
+                  <el-select v-model="form.status" size="medium" style="width:60%;" clearable placeholder="状态">
+                    <el-option v-for="item in processStatusEnumList" :key="item.code" :label="item.name" :value="item.code" />
+                  </el-select>
+                </el-form-item>
+              </div>
+              <div class="set-between">
+                <el-button type="primary" plain size="medium" @click="dataQuery(form)">查询</el-button>
+              </div>
+            </el-form>
+            <div class="set-locate">
+              <el-table
+                :data="tableData"
+                border
+                style="width: 100%"
+                size="mini"
+              >
+                <el-table-column
+                  prop="id"
+                  label="ID"
+                  align="center"
+                  width="80"
+                />
+                <el-table-column
+                  label="任务名称"
+                  align="center"
+                >
+                  <template slot-scope="scope">
+                    <el-link style="font-weight: 400;" type="primary" :underline="false" @click="taskShow(scope.row.id)">{{ scope.row.name }}</el-link>
+                  </template>
+                </el-table-column>
+                <el-table-column
+                  label="状态"
+                  align="center"
+                  width="130"
+                >
+                  <template slot-scope="scope">
+                    <el-tag type="success"><span>{{ scope.row.statusString }}</span></el-tag>
+                  </template>
+                </el-table-column>
+                <el-table-column
+                  prop="createTime"
+                  label="创建时间"
+                  align="center"
+                />
+                <el-table-column
+                  label="操作"
+                  align="center"
+                  width="300"
+                >
+                  <template v-slot="scope">
+                    <div>
+                      <el-button size="mini" type="primary" plain @click="projectShowData(scope.row.id)">编辑</el-button>
+                      <el-button size="mini" type="danger" plain @click="dialogBug(scope.row.id)">删除</el-button>
+                      <el-dialog
+                        :visible.sync="dialogVisible"
+                        width="30%"
+                      >
+                        <span>确定要删除这条项目信息吗</span>
+                        <span slot="footer" class="dialog-footer">
+                          <el-button type="primary" size="mini" @click="delHmVirtual()">确 定</el-button>
+                          <el-button type="danger" size="mini" @click="dialogVisible = false">取 消</el-button>
+                        </span>
+                      </el-dialog>
+                    </div>
+                  </template>
+                </el-table-column>
+              </el-table>
+              <el-pagination background style="margin-top:30px;" align="center" :current-page="curIndex" :page-size="pageSize" layout="prev, pager, next" :total="total" @size-change="handleSizeChange" @current-change="handleCurrentChange" />
+            </div>
+          </el-tab-pane>
+          <el-tab-pane label="看板" name="second">
+            敬请期待
+          </el-tab-pane>
+        </el-tabs>
+      </div>
+    </div>
+  </div>
+</template>
+
+<script>
+import { taskListGet } from '@/api/defectManage'
+import { bugGetEnum } from '@/api/defectManage' // 下拉菜单data
+import { deleteTaskData } from '@/api/projectPage.js'
+
+export default {
+  data() {
+    return {
+      tableData: [],
+      form: {},
+      dialogVisible: false,
+      bizJson: localStorage.getItem('key'),
+      userInformation: localStorage.getItem('username'),
+      userNames: localStorage.getItem('realname'),
+      queryCode: {},
+      curIndex: 1,
+      pageSize: 20,
+      total: 0,
+      activeName: 'first',
+      pauseId: '',
+      processStatusEnumList: []
+    }
+  },
+  created() {
+    this.bugListSelectBeforeGet()
+  },
+  methods: {
+    async bugListSelectBeforeGet() {
+      await bugGetEnum().then(res => {
+        this.processStatusEnumList = res.data.processStatusEnumList
+      })
+      // 任务list
+      taskListGet({ bizId: this.bizJson }).then(response => {
+        this.tableData = response.data
+        if (response.data) {
+          this.total = response.data.length
+        }
+        // const processStatusEnumMap = this.processStatusEnumList.reduce((a, c) => {
+        //   return {
+        //     ...a,
+        //     [c.code]: c.name
+        //   }
+        // }, {})
+        // console.log(this.tableData)
+      })
+    },
+    dataQuery(queryCode) {
+      queryCode.bizId = localStorage.getItem('key')
+      queryCode.pageSize = this.pageSize
+      queryCode.curIndex = this.curIndex
+      taskListGet(queryCode).then(res => {
+        res.code === 200 ? this.tableData = res.data : this.errorFun(res.msg)
+      })
+    },
+    // id Bug
+    dialogBug(e) {
+      this.dialogVisible = true
+      this.pauseId = e
+    },
+    // 删除任务
+    delHmVirtual() {
+      this.userData = { id: '', ename: this.userInformation, name: this.userNames }
+      deleteTaskData(this.pauseId, this.userData).then(response => {
+        if (response.code === 200) {
+          this.bugListSelectBeforeGet()
+          this.successFun('delete')
+        } else {
+          this.errorFun(response.msg)
+        }
+      })
+      this.dialogVisible = false
+    },
+    handleSizeChange(size) {
+      this.pageSize = size
+    },
+    handleCurrentChange(curIndex) {
+      this.curIndex = curIndex
+    },
+    taskShow(e) {
+      this.$router.push({ name: '任务查看', query: { id: e }})
+    },
+    projectShowData(e) {
+      this.$router.push({ name: '任务更新', query: { id: e }})
+    },
+    successFun(successText) {
+      this.$notify({ title: 'Success', message: `${successText} Successfully`, type: 'success', duration: 2000 })
+    },
+    errorFun(errorText) {
+      this.$notify({ title: 'Failed', message: errorText, type: 'error', duration: 2000 })
+    }
+  }
+}
+</script>
+
+<style lang="stylus" scoped>
+
+  .set-background
+    background-color #F2F3F6
+    display flex
+    justify-content center
+    .block
+      background-color rgba(255,255,255,1)
+      box-shadow 0px 0px 11px 0px rgba(238,240,245,1)
+      border-radius 7px
+      width 96%
+      margin 25px 0
+      padding 10px 20px
+      min-height calc(100vh - 100px)
+    .block >>> .el-tabs__nav-wrap::after
+      background-color white
+    .block >>> .el-tabs__item
+      padding 0 10px 0 0
+    .block >>> .el-form
+      display flex
+      justify-content space-between
+      margin-top 10px
+    .block >>> .el-form-item__content
+      margin-left 0 !important
+    .block >>> th
+      background-color #F0F2F4 !important
+    .set-between
+      display flex
+    .set-between >>> .el-button
+      height 36px
+    .set-between >>> .el-form-item
+      display flex
+      margin-right -35px
+    .set-locate
+      margin-top 15px
+</style>

+ 12 - 11
src/views/quality/qualityMeasurement.vue

@@ -408,50 +408,51 @@
               size="mini"
             >
               <el-table-column
-                prop="name"
+                prop="handler"
                 label="姓名"
                 align="center"
               />
               <el-table-column label="研发质量" align="center">
                 <el-table-column
-                  prop="name"
+                  prop="defectsVO.totalProjectNum"
                   label="项目数"
                   align="center"
                 />
                 <el-table-column
-                  prop="name"
+                  prop="defectsVO.rejectPer"
                   label="平均打回"
                   align="center"
                 />
                 <el-table-column
-                  prop="name"
+                  prop="defectsVO.bugNum"
                   label="线下bug数"
                   align="center"
                 />
                 <el-table-column
-                  prop="name"
                   label="Bug修复率"
                   align="center"
-                />
+                >
+                  <template slot-scope="scope">{{ scope.row.defectsVO.bugFixedPer | toPercent }}</template>
+                </el-table-column>
               </el-table-column>
               <el-table-column label="发布质量" align="center">
                 <el-table-column
-                  prop="totalNum"
+                  prop="processVO.totalNum"
                   align="center"
                   label="上线次数"
                 />
                 <el-table-column
-                  prop="noTestPer"
+                  prop="processVO.noTestPer"
                   label="免提测上线占比"
                   align="center"
                 >
-                  <template slot-scope="scope">{{ scope.row.rollbackPer | toPercent }}</template>
+                  <template slot-scope="scope">{{ scope.row.processVO.rollbackPer | toPercent }}</template>
                 </el-table-column>
                 <el-table-column
                   align="center"
                   label="回滚率"
                 >
-                  <template slot-scope="scope">{{ scope.row.rollbackPer | toPercent }}</template>
+                  <template slot-scope="scope">{{ scope.row.processVO.rollbackPer | toPercent }}</template>
                 </el-table-column>
               </el-table-column>
             </el-table>
@@ -577,8 +578,8 @@ export default {
           } else {
             this.errorFun(res.msg)
           }
+          this.loadingOnlineProcess = false
         })
-        this.loadingOnlineProcess = false
       } else if (this.activeIndexSecondary === 'first') {
         this.loadingOnlineProcess = true
         this.deleteAfter()