Browse Source

feat: 看课状态TAB拆分

xdd 2 days ago
parent
commit
386c22a4bd
1 changed files with 38 additions and 1 deletions
  1. 38 1
      src/views/course/courseWatchLog/index.vue

+ 38 - 1
src/views/course/courseWatchLog/index.vue

@@ -73,7 +73,9 @@
                    placeholder="请输入关键词" :remote-method="loadCompanyUserOptions"
                    v-select-load-more="loadMoreCompanyUserOptions"
                    @change="handleCompanyUserChange"
-                   :loading="companyUserOptionsLoading">
+                   :loading="companyUserOptionsLoading"
+                   @visible-change="handleCompanyUserDropdownVisible"
+        >
           <el-option
             v-for="item in companyUserOptions"
             :key="item.dictValue"
@@ -87,6 +89,7 @@
                    placeholder="请输入关键词"
                    v-select-load-more="loadMoreCompanyUserOptions"
                    @change="handleCompanyUserChange"
+                   @visible-change="handleQwUserDropdownVisible"
                    :loading="companyUserOptionsLoading">
           <el-option
             v-for="item in companyUserOptionsByAll"
@@ -100,6 +103,7 @@
         <el-select v-model="queryParams.qwUserName" clearable filterable remote
                    placeholder="请输入关键词" :remote-method="loadQwUserOptions"
                    v-select-load-more="loadMoreQwUserOptions"
+                   @visible-change="handleQwUserDropdownVisible"
                    :loading="qwUserOptionsLoading">
           <el-option
             v-for="item in qwUserOptions"
@@ -605,6 +609,10 @@ export default {
   name: "CourseWatchLog",
   data() {
     return {
+      companyUserFirstLoad: true, // 首次加载标志
+      qwUserFirstLoad: true,     // 首次加载标志
+      companyUserDropdownVisible: false, // 下拉框显示状态
+      qwUserDropdownVisible: false,     // 下拉框显示状态
       companyName:process.env.VUE_APP_COURSE_COMPANY_NAME,
       // 日历 key 控制刷新
       scheduleCalendarKey: 0,
@@ -807,6 +815,35 @@ export default {
     this.getCompanyUserListLikeName(true);
   },
   methods: {
+    /**
+     * 处理所属销售下拉框显示状态变化
+     */
+    handleCompanyUserDropdownVisible(visible) {
+      this.companyUserDropdownVisible = visible;
+      if (visible && this.companyUserFirstLoad) {
+        // 首次展开下拉框时加载数据
+        this.companyUserFirstLoad = false;
+        this.loadCompanyUserOptions('');
+      } else if (visible && this.companyUserOptions.length === 0) {
+        // 下拉框显示但无数据时重新加载
+        this.loadCompanyUserOptions('');
+      }
+    },
+    /**
+     * 处理所属企微下拉框显示状态变化
+     */
+    handleQwUserDropdownVisible(visible) {
+      this.qwUserDropdownVisible = visible;
+      if (visible && this.qwUserFirstLoad) {
+        // 首次展开下拉框时加载数据
+        this.qwUserFirstLoad = false;
+        this.loadQwUserOptions('');
+      } else if (visible && this.qwUserOptions.length === 0) {
+        // 下拉框显示但无数据时重新加载
+        this.loadQwUserOptions('');
+      }
+    },
+
     /**
      * 当销售被选择
      * 级联更新企微列表