2 Commits 96f7bef6d8 ... 0d8bb6bd85

Author SHA1 Message Date
  caoliqin 0d8bb6bd85 Merge branch 'master' of http://1.14.104.71:10880/root/ylrz_his_scrm_companyUI 1 day ago
  caoliqin f9a50a1017 feat:看课记录添加所属企微查询 1 day ago
2 changed files with 74 additions and 0 deletions
  1. 9 0
      src/api/qw/qwUser.js
  2. 65 0
      src/views/course/courseWatchLog/index.vue

+ 9 - 0
src/api/qw/qwUser.js

@@ -7,3 +7,12 @@ export function getQwUserAll() {
     method: 'get'
   })
 }
+
+// 根据条件查询企微用户列表
+export function getQwList(params) {
+  return request({
+    url: '/qw/user/qwList',
+    method: 'get',
+    params: params
+  })
+}

+ 65 - 0
src/views/course/courseWatchLog/index.vue

@@ -81,6 +81,21 @@
           </el-option>
         </el-select>
       </el-form-item>
+
+      <el-form-item label="所属企微" prop="qwUserName">
+        <el-select v-model="queryParams.qwUserName" clearable filterable remote
+                   placeholder="请输入关键词" :remote-method="loadQwUserOptions"
+                   v-select-load-more="loadMoreQwUserOptions"
+                   :loading="qwUserOptionsLoading">
+          <el-option
+            v-for="item in qwUserOptions"
+            :key="item.qwUserId"
+            :label="item.qwUserName"
+            :value="item.qwUserName">
+          </el-option>
+        </el-select>
+      </el-form-item>
+
     <!-- sop名称 -->
     <el-form-item label="SOP名称" prop="sopId" v-if="queryParams.sendType == 2">
       <el-autocomplete
@@ -570,6 +585,7 @@ import Vue from 'vue'
 import Calendar from 'vue-mobile-calendar'
 import {infoSop} from "@/api/qw/sop";
 import {getCompanyUserListLikeName} from "../../../api/company/companyUser";
+import {getQwList} from "@/api/qw/qwUser";
 Vue.use(Calendar)
 
 export default {
@@ -718,6 +734,7 @@ export default {
         externalUserName:null,
         duration: null,
         qwUserId: null,
+        qwUserName: null,
         companyUserId: null,
         companyId: null,
         courseId: null,
@@ -749,6 +766,16 @@ export default {
       },
       companyUserOptions: [],
       companyUserOptionsLoading: false,
+      // 企微信息
+      qwUserOptions: [],
+      // 员工选项列表
+      qwUserOptionsParams: {
+        name: undefined,
+        hasNextPage: false,
+        pageNum: 1,
+        pageSize: 10
+      },
+      qwUserOptionsLoading: false,
     };
   },
   created() {
@@ -779,6 +806,21 @@ export default {
       this.companyUserOptionsLoading = true;
       this.getCompanyUserListLikeName()
     },
+    /**
+     * 根据条件查询企微列表
+     * @param query 参数
+     */
+    loadQwUserOptions(query) {
+      this.qwUserOptions = [];
+      if (query === '') {
+        return;
+      }
+      this.qwUserOptionsParams.pageNum = 1
+      // 将搜索关键词设置到queryParams中
+      this.queryParams.qwUserName = query
+      this.qwUserOptionsLoading = true;
+      this.getQwList()
+    },
     /**
      * 加载更多员工选项
      */
@@ -802,6 +844,29 @@ export default {
       });
     },
 
+    getQwList() {
+      console.log("企微参数", this.queryParams);
+      getQwList(this.queryParams).then(response => {
+        this.qwUserOptions = [...this.qwUserOptions, ...response.rows]
+        // 根据实际返回的数据结构设置hasNextPage
+        this.qwUserOptionsParams.hasNextPage = response.rows && response.rows.length >= this.qwUserOptionsParams.pageSize
+        this.qwUserOptionsLoading = false;
+      });
+    },
+
+    /**
+     * 加载更多员工选项
+     */
+    loadMoreQwUserOptions() {
+      if (!this.qwUserOptionsParams.hasNextPage) {
+        return;
+      }
+
+      this.qwUserOptionsParams.pageNum += 1
+      this.getQwList()
+    },
+
+
     // 重置日历组件
     resetCalendars() {
       this.scheduleTime = [];