panxiandiao_i 5 жил өмнө
parent
commit
3c90e74014

+ 46 - 2
src/views/Platform/bugManage/bugQuery.vue

@@ -53,6 +53,7 @@
         </div>
         <div class="display-messege-end">
           <div class="divide-threeparts">reopen次数 :&nbsp;&nbsp;&nbsp;{{ form.reopenTimes }}</div>
+          <div class="divide-threeparts">reopen原因 :&nbsp;&nbsp;&nbsp;{{ form.reopenReason }}</div>
         </div>
       </div>
       <div class="block-end">
@@ -159,6 +160,17 @@
         <el-button type="primary" @click="queryFormDataRepair">确 定</el-button>
       </div>
     </el-dialog>
+    <el-dialog :visible.sync="dialogInReopen" width="40%">
+      <el-form ref="refeshReopenDialog" :model="pauseData" :rules="serviceDataRules">
+        <el-form-item label="reopen原因" prop="pauseReopenReason" label-width="30%">
+          <el-input v-model="pauseData.pauseReopenReason" type="textarea" autocomplete="off" rows="3" style="width:76%;" />
+        </el-form-item>
+      </el-form>
+      <div slot="footer" class="dialog-footer">
+        <el-button @click="dialogInReopen = false">取 消</el-button>
+        <el-button type="primary" @click="queryFormDataReopen">确 定</el-button>
+      </div>
+    </el-dialog>
   </div>
 </template>
 
@@ -174,6 +186,7 @@ export default {
         id: ''
       },
       fileList: [],
+      dialogInReopen: false,
       uptataKey: [],
       formUpdateValue: {},
       dialogVisible: false,
@@ -183,13 +196,16 @@ export default {
         bugTypePause: '',
         pauseCurrentHandler: '',
         pauseRepairResult: '',
-        pauseReasonsAndSolutionForTheProblem: ''
+        pauseReasonsAndSolutionForTheProblem: '',
+        pauseReopenReason: ''
       },
       serviceDataRules: {
         pauseCurrentHandler: [{ required: true, message: '处理人不能为空', trigger: 'blur' }],
         reasonPause: [{ required: true, message: '问题原因不能为空', trigger: 'change' }],
         bugTypePause: [{ required: true, message: 'bug类型不能为空', trigger: 'change' }],
-        pauseRepairResult: [{ required: true, message: '修复结果不能为空', trigger: 'change' }]
+        pauseRepairResult: [{ required: true, message: '修复结果不能为空', trigger: 'change' }],
+        pauseReopenReason: [{ required: true, message: 'reopen原因不能为空', trigger: 'change' }]
+        // pauseReasonsAndSolutionForTheProblem: [{ required: true, message: '修复方式不能为空', trigger: 'change' }]
       },
       bizId: '',
       optionsCurrentHandlerQA: [],
@@ -311,6 +327,32 @@ export default {
     cancelInput() {
       this.pauseData.pauseCurrentHandler = ''
     },
+    // reopen弹窗
+    queryFormDataReopen() {
+      this.$refs.refeshReopenDialog.validate((valid) => {
+        if (valid) {
+          this.formUpdateValue.currentHandler = this.form.currentHandler
+          this.formUpdateValue.id = this.form.id
+          this.formUpdateValue.status = this.form.status
+          this.formUpdateValue.reopenReason = this.pauseData.pauseReopenReason
+          this.userData = { id: '', ename: this.userInformation, name: this.userNames }
+          this.objData = { bugBaseInfo: this.formUpdateValue, user: this.userData }
+          bugUpdate(this.objData).then(res => {
+            if (res.code === 200) {
+              this.successFun()
+              this._initBegin()
+              if (this.$refs.refeshReopenDialog !== undefined) {
+                this.$refs.refeshReopenDialog.resetFields()
+              }
+            } else {
+              this.errorFun()
+            }
+          })
+          this.dialogInReopen = false
+          this.formUpdateValue = {}
+        }
+      })
+    },
     statusChange(e) {
       if (e === 1) {
         this.dialogInDevelopment = true
@@ -323,6 +365,8 @@ export default {
         this.pauseData.bugTypePause = this.form.bugType
       } else if (e === 3) {
         this.dialogInRepairResult = true
+      } else if (e === 4) {
+        this.dialogInReopen = true
       } else {
         this.formUpdateValue.currentHandler = this.form.currentHandler
         this.formUpdateValue.id = this.form.id

+ 62 - 9
src/views/Platform/defectManagement.vue

@@ -20,7 +20,7 @@
             <el-select v-model="queryCode.priorityList" size="medium" style="width:15%;margin-right: 15px;" multiple filterable clearable collapse-tags placeholder="级别">
               <el-option v-for="item in bugStatusPriority" :key="item.code" :label="item.name" :value="item.code" />
             </el-select>
-            <el-button type="primary" size="medium" style="margin-right:10px;" icon="el-icon-plus" circle @click="showOrHide()" />
+            <el-button type="primary" size="medium" style="margin-right:10px;" icon="el-icon-plus" circle @click="searchCondition()" />
           </div>
           <div class="set-between">
             <el-button type="primary" size="medium" plain @click="dataQuery(queryCode)">查询</el-button>
@@ -44,7 +44,7 @@
         <el-select v-if="isPlatformShow" v-model="queryCode.platformType" size="medium" style="width:17.5%;margin-right: 15px;" clearable placeholder="平台类型" @change="clickChangeBusiness(queryCode.platformType)">
           <el-option v-for="item in platformTypeStr" :key="item.code" :label="item.name" :value="item.code" />
         </el-select>
-        <el-select v-if="isBusinessShow" v-model="queryCode.clientType" size="medium" style="width:17.5%;margin-right: 15px;" clearable placeholder="业务模块" @change="clickChangeModule(queryCode.clientType)">
+        <el-select v-if="isBusinessShow" v-model="queryCode.clientTypeList" size="medium" style="width:17.5%;margin-right: 15px;" multiple filterable clearable collapse-tags placeholder="业务模块" @change="clickChangeModule(queryCode.clientTypeList)">
           <el-option v-for="item in businessTypeStr" :key="item.code" :label="item.name" :value="item.code" />
         </el-select>
         <el-select v-show="groupShow" v-model="queryCode.teamId" size="medium" style="width:17.5%;margin-right: 15px;" multiple filterable clearable collapse-tags placeholder="团队" @visible-change="realTimeChange">
@@ -53,6 +53,7 @@
         <el-select v-show="groupShow" v-model="queryCode.repairResult" size="medium" style="width:17.5%;margin: 15px 10px 0px 0px;" clearable placeholder="修复状态">
           <el-option v-for="item in repairResultStr" :key="item.code" :label="item.name" :value="item.code" />
         </el-select>
+        <el-input v-show="groupShow" v-model="queryCode.reopenTimes" placeholder="reopen次数大于多少次" type="number" autocomplete="off" clearable size="medium" style="width:20%;margin: 15px 10px 0px 0px;" />
         <div class="set-locate">
           <el-table
             :data="tableData"
@@ -94,7 +95,7 @@
                     <el-dropdown-item icon="el-icon-coin" @click.native="getMember(), dialogInDevelopment = true, formStatus = scope.row, pauseData.pauseCurrentHandler = scope.row.assigner.split(',')">开发中</el-dropdown-item>
                     <el-dropdown-item icon="el-icon-coin" @click.native="getMember(), dialogWaitTest = true, formStatus = scope.row, pauseData.pauseCurrentHandler = scope.row.creator.split(','), pauseData.bugTypePause = scope.row.bugType">待测试</el-dropdown-item>
                     <el-dropdown-item icon="el-icon-coin" @click.native="dialogInRepairResult = true, formStatus = scope.row">已完成</el-dropdown-item>
-                    <el-dropdown-item icon="el-icon-coin" @click.native="reopenAndWait(scope.row, 4)">reopen</el-dropdown-item>
+                    <el-dropdown-item icon="el-icon-coin" @click.native="dialogInReopen = true, formStatus = scope.row">reopen</el-dropdown-item>
                   </el-dropdown-menu>
                 </el-dropdown>
               </template>
@@ -280,6 +281,17 @@
           <el-button type="primary" @click="queryFormDataRepair">确 定</el-button>
         </div>
       </el-dialog>
+      <el-dialog :visible.sync="dialogInReopen" width="40%">
+        <el-form ref="refeshReopenDialog" :model="pauseData" :rules="serviceDataRulesStatus">
+          <el-form-item label="reopen原因" prop="pauseReopenReason" label-width="30%">
+            <el-input v-model="pauseData.pauseReopenReason" type="textarea" autocomplete="off" rows="3" style="width:76%;" />
+          </el-form-item>
+        </el-form>
+        <div slot="footer" class="dialog-footer">
+          <el-button @click="dialogInReopen = false">取 消</el-button>
+          <el-button type="primary" @click="queryFormDataReopen">确 定</el-button>
+        </div>
+      </el-dialog>
       <el-dialog class="adjustHeight" :title="titName" :visible.sync="dialogFormVisible" width="70%">
         <el-form ref="form" :model="form" :rules="serviceDataRules">
           <div class="set-background">
@@ -473,6 +485,7 @@ export default {
     return {
       isPlatformShow: false,
       isBusinessShow: false,
+      dialogInReopen: false,
       groupShow: false,
       projectStr: [],
       bugTypeStr: [],
@@ -522,13 +535,16 @@ export default {
         bugTypePause: '',
         pauseCurrentHandler: '',
         pauseRepairResult: '',
-        pauseReasonsAndSolutionForTheProblem: ''
+        pauseReasonsAndSolutionForTheProblem: '',
+        pauseReopenReason: ''
       },
       serviceDataRulesStatus: {
         pauseCurrentHandler: [{ required: true, message: '处理人不能为空', trigger: 'blur' }],
         reasonPause: [{ required: true, message: '问题原因不能为空', trigger: 'change' }],
         bugTypePause: [{ required: true, message: 'bug类型不能为空', trigger: 'change' }],
-        pauseRepairResult: [{ required: true, message: '修复结果不能为空', trigger: 'change' }]
+        pauseRepairResult: [{ required: true, message: '修复结果不能为空', trigger: 'change' }],
+        pauseReopenReason: [{ required: true, message: 'reopen原因不能为空', trigger: 'change' }]
+        // pauseReasonsAndSolutionForTheProblem: [{ required: true, message: '修复方式不能为空', trigger: 'change' }]
       },
       dialogInDevelopment: false,
       dialogWaitTest: false,
@@ -541,7 +557,7 @@ export default {
       queryCode: {
         repairResult: '',
         teamId: '',
-        clientType: '',
+        clientTypeList: [],
         platformType: '',
         taskId: '',
         priorityList: [],
@@ -549,7 +565,8 @@ export default {
         projectId: '',
         bugName: '',
         creator: '',
-        assigner: ''
+        assigner: '',
+        reopenTimes: ''
       },
       statusShow: false,
       repairShow: false,
@@ -661,6 +678,29 @@ export default {
         }
       }
     },
+    // reopen弹窗
+    queryFormDataReopen() {
+      this.$refs.refeshReopenDialog.validate((valid) => {
+        if (valid) {
+          this.formUpdateValue.currentHandler = this.formStatus.currentHandler
+          this.formUpdateValue.id = this.formStatus.id
+          this.formUpdateValue.status = 4
+          this.formUpdateValue.reopenReason = this.pauseData.pauseReopenReason
+          this.userData = { id: '', ename: this.userInformation, name: this.userNames }
+          this.objData = { bugBaseInfo: this.formUpdateValue, user: this.userData }
+          bugUpdate(this.objData).then(res => {
+            if (res.code === 200) {
+              this.successFun('UpDate')
+              this.getList()
+            } else {
+              this.errorFun(res.msg)
+            }
+          })
+          this.dialogInReopen = false
+          this.formUpdateValue = {}
+        }
+      })
+    },
     dataQuery(e) {
       this.bizJson = localStorage.getItem('key')
       this.indexPage = e
@@ -694,7 +734,7 @@ export default {
           if (this.bizJson) {
             this.platformTypeStr = this.bizOptionsRR.filter(value => value.code === parseInt(this.bizJson))[0].child
             this.$set(this.queryCode, 'platformType', '')
-            this.$set(this.queryCode, 'clientType', '')
+            this.$set(this.queryCode, 'clientTypeList', '')
           } else {
             this.isPlatformShow = false
             this.isBusinessShow = false
@@ -842,6 +882,19 @@ export default {
         }
       })
     },
+    searchCondition() {
+      this.timeShow = !this.timeShow
+      this.groupShow = !this.groupShow
+      this.isPlatformShow = !this.isPlatformShow
+      this.$set(this.queryCode, 'repairResult', '')
+      this.$set(this.queryCode, 'reopenTimes', '')
+      this.$set(this.queryCode, 'taskId', '')
+      this.$set(this.queryCode, 'teamId', '')
+      this.queryCode.platformType = ''
+      this.queryCode.clientTypeList = []
+      this.queryCode.teamId = ''
+      this.isBusinessShow === true ? this.isBusinessShow = false : this.isBusinessShow = false
+    },
     // 团队查询
     realTimeChange() {
       const user = { ename: this.userInformation, name: this.userNames }
@@ -854,7 +907,7 @@ export default {
       if (e && this.platformTypeStr.filter(value => value.code === e)[0].child) {
         this.isBusinessShow = true
         this.businessTypeStr = this.platformTypeStr.filter(value => value.code === e)[0].child
-        this.$set(this.queryCode, 'clientType', '')
+        this.$set(this.queryCode, 'clientTypeList', '')
       } else {
         this.queryCode.clientType = ''
         this.isBusinessShow = false