wangziqian 4 gadi atpakaļ
vecāks
revīzija
4594e63acf

+ 16 - 16
src/views/projectManage/bugList/file/createdBug.vue

@@ -15,7 +15,15 @@
             <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 :filter-method="selectFilter" placeholder="请选择" style="width:100%;" @click.native="bugListSelect">
+                  <el-select
+                    v-model="formInline.taskId"
+                    filterable
+                    :remote="true"
+                    :remote-method="debounceQuery"
+                    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>
@@ -313,7 +321,6 @@ export default {
       Editionlist: [], // 版本
       bizIdEnumList: [], // bug业务线
       taskEnumList: [], // 所属任务
-      taskEnumListCopy: [], // 所属任务副本
       bugTypeEnumList: [], // bug类型
       priorityEnumList: [], // 缺陷等级
       clientTypeEnumList: [], // 版本
@@ -491,19 +498,7 @@ 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() { // 获取所属任务列表
+    async getTaskList(val) { // 获取所属任务列表
       const params = {
         bizId: Number(localStorage.getItem('bizId'))
       }
@@ -518,12 +513,17 @@ export default {
           params.id = this.$route.query.id
           break
       }
+      if (val) {
+        params.name = val
+      }
       const res = await taskListCreate(params)
       if (res.code === 200) {
         this.taskEnumList = res.data || []
-        this.taskEnumListCopy = _.cloneDeep(this.taskEnumList)
       }
     },
+    debounceQuery: _.debounce(function() {
+      this.getTaskList(...arguments)
+    }, 500),
     bugListSelect() {
       this.$set(this.formInline, 'creatorList', this.userNames)
       settingGetBizList({}).then(res => {

+ 2 - 3
src/views/projectManage/projectList/components/modifySchedule.vue

@@ -95,8 +95,7 @@ const _ = require('lodash')
 import searchPeople from '@/components/select/searchPeople'
 import normalDialog from '@/components/dialog/normalDialog'
 import selDatePicker from '@/components/picker/SelDatePicker'
-import { taskList } from '@/api/projectIndex'
-import { taskList as allTaskList, configShowTaskEnum } from '@/api/taskIndex'
+import { taskList, configShowTaskEnum } from '@/api/taskIndex'
 import { getSeprateDayInfo, scheduleCreate, scheduleGet, scheduleUpdate, scheduleDelete } from '@/api/projectViewDetails'
 import danger from '@/assets/感叹@2x.png'
 import '@/styles/PublicStyle/index.scss'
@@ -253,7 +252,7 @@ export default {
         return
       }
       this.loading = true
-      const res = await allTaskList({
+      const res = await taskList({
         bizId: Number(localStorage.getItem('bizId')),
         name: query
       })

+ 22 - 3
src/views/reportManagement/testPresentation.vue

@@ -86,7 +86,15 @@
     <el-dialog title="选择任务" :visible.sync="centerDialogVisible" width="30%" center>
       <div class="Layout_space_between">
         <div style="width:100px;">选择任务 :</div>
-        <el-select v-model="queryData.code" filterable placeholder="请选择任务" size="mini" style="width:100%;">
+        <el-select
+          v-model="queryData.code"
+          filterable
+          :remote="true"
+          :remote-method="debounceQuery"
+          placeholder="请选择任务"
+          size="mini"
+          style="width:100%;"
+        >
           <el-option v-for="item in restaurants" :key="item.id" :label="item.name" :value="item.id" />
         </el-select>
       </div>
@@ -134,6 +142,7 @@
 </template>
 
 <script>
+const _ = require('lodash')
 import '@/styles/PublicStyle/index.scss'
 import { dailyReportDelete } from '@/api/testPresentetion' // 日报
 import { projectTestReportList } from '@/api/ResultPage' // 准出
@@ -377,12 +386,22 @@ export default {
     async getQueryData() { // 获取任务数据
       this.centerDialogVisible = true
       this.$set(this.queryData, 'code', '')
-      const res = await taskListCreate({ bizId: localStorage.getItem('bizId') })
+      this.getTaskList()
+    },
+    // 远程搜索任务
+    async getTaskList(val) {
+      const params = {
+        bizId: localStorage.getItem('bizId')
+      }
+      if (val) { params.name = val }
+      const res = await taskListCreate(params)
       if (res.code === 200) {
         this.restaurants = res.data.taskInfoList
       }
     },
-
+    debounceQuery: _.debounce(function() {
+      this.getTaskList(...arguments)
+    }, 500),
     async createPresentation(vel) {
       if (vel !== '') {
         if (this.title === '测试日报') {