wangziqian 5 年之前
父節點
當前提交
bc0b6112c5
共有 2 個文件被更改,包括 34 次插入4 次删除
  1. 20 3
      src/views/projectManage/bugList/file/createdBug.vue
  2. 14 1
      src/views/quality/components/developmentCycle.vue

+ 20 - 3
src/views/projectManage/bugList/file/createdBug.vue

@@ -15,8 +15,8 @@
             <div class="Layouts" style="width: 100%;">
               <div style="width:100%; margin: 0 4%;">
                 <el-form-item label="所属任务" prop="taskId">
-                  <el-select v-model="formInline.taskId" filterable placeholder="请选择" style="width:100%;" @click.native="bugListSelect">
-                    <el-option v-for="item in taskEnumList" :key="item.id" :label="item.name + item.taskId" :value="item.id">
+                  <el-select v-model="formInline.taskId" filterable :filter-method="selectFilter" placeholder="请选择" style="width:100%;" @click.native="bugListSelect">
+                    <el-option v-for="item in taskEnumList" :key="item.id" :label="item.name" :value="item.id">
                       <div class="belong-task">
                         <div class="task-id">{{ item.taskId }}</div>
                         <div class="modules-name">
@@ -226,6 +226,7 @@
 </template>
 
 <script>
+const _ = require('lodash')
 import E from 'wangeditor'
 import { bugGetEnum, settingGetBizList, taskListCreate, releaseList, bugCreate, settingQueryBizModuleList } from '@/api/defectManage'
 import { memberQueryMemberInfoByIDAPorName } from '@/api/projectIndex'
@@ -312,6 +313,7 @@ export default {
       Editionlist: [], // 版本
       bizIdEnumList: [], // bug业务线
       taskEnumList: [], // 所属任务
+      taskEnumListCopy: [], // 所属任务副本
       bugTypeEnumList: [], // bug类型
       priorityEnumList: [], // 缺陷等级
       clientTypeEnumList: [], // 版本
@@ -488,6 +490,18 @@ export default {
         this.options = []
       }
     },
+    selectFilter(val) { // 所属任务搜索
+    // 判断是否为空
+      if (val) {
+        // 同时筛选Lable与value的值
+        this.taskEnumList = this.taskEnumListCopy.filter((item) => {
+          return item.name.indexOf(val) > -1 || item.name.toUpperCase().indexOf(val.toUpperCase()) > -1 || `${item.id}`.toUpperCase().indexOf(val.toUpperCase()) > -1
+        })
+      } else {
+        // 赋值还原
+        this.taskEnumList = _.cloneDeep(this.taskEnumListCopy)
+      }
+    },
     async getTaskList() { // 获取所属任务列表
       const params = {
         bizId: Number(localStorage.getItem('bizId'))
@@ -504,7 +518,10 @@ export default {
           break
       }
       const res = await taskListCreate(params)
-      if (res.code === 200) this.taskEnumList = res.data || []
+      if (res.code === 200) {
+        this.taskEnumList = res.data || []
+        this.taskEnumListCopy = _.cloneDeep(this.taskEnumList)
+      }
     },
     bugListSelect() {
       this.$set(this.formInline, 'creatorList', this.userNames)

+ 14 - 1
src/views/quality/components/developmentCycle.vue

@@ -54,7 +54,11 @@ export default {
         tooltip: {
           showDelay: 0,
           formatter: function(params) {
-            return `交付日期:${params.data[0]}<br/> 研发交付周期:${params.data[1]}天`
+            if (params.componentType === 'markLine') {
+              return `平均研发交付周期:${params.value.toFixed(1)}天`
+            } else {
+              return `交付日期:${params.data[0]}<br/> 研发交付周期:${params.data[1]}天`
+            }
           },
           axisPointer: {
             show: true,
@@ -77,6 +81,14 @@ export default {
           data: this.chartData,
           type: 'scatter',
           symbolSize: 10,
+          markLine: {
+            data: [{ type: 'average', name: '平均研发交付周期' }],
+            label: {
+              formatter: function(params) {
+                return params.value.toFixed(1)
+              }
+            }
+          },
           itemStyle: {
             shadowBlur: 10,
             shadowColor: 'rgba(25, 100, 150, 0.5)',
@@ -93,6 +105,7 @@ export default {
       }
     },
     toLink(params) {
+      if (!params.data[2]) return
       if (this.type === 'require') {
         const newTab = this.$router.resolve({ name: '需求详情', query: { id: params.data[2] }})
         window.open(newTab.href, '_blank')