فهرست منبع

Merge remote-tracking branch 'origin/master'

zyp 4 روز پیش
والد
کامیت
732d6803a4

+ 1 - 1
src/components/Pagination/index.vue

@@ -36,7 +36,7 @@ export default {
     pageSizes: {
       type: Array,
       default() {
-        return [10, 20, 30, 50,100,200,300]
+        return [5,10, 20, 30, 50,100,200,300]
       }
     },
     // 移动端页码按钮的数量端默认值5

+ 28 - 0
src/utils/common.js

@@ -288,6 +288,34 @@ export function formatTime(timer) {
 	}
 }
 
+/**
+ * 获取日期范围
+ * @param {number} days - 从今天往前推的天数  
+ * @returns {Array} 返回格式化的日期数组 [开始日期, 结束日期]
+ * @example
+ * // 获取最近7天的日期范围
+ * const dateRange = getDateRange(7);
+ * // 返回: ["2024-01-01", "2024-01-08"]
+ */
+export function getDateRange(days) {
+	const today = new Date();
+	const startDate = new Date();
+	startDate.setDate(today.getDate() - days);
+
+	// 格式化日期为年-月-日格式
+	const formatDate = (date) => {
+		const year = date.getFullYear();
+		const month = String(date.getMonth() + 1).padStart(2, '0');
+		const day = String(date.getDate()).padStart(2, '0');
+		return `${year}-${month}-${day}`;
+	};
+
+	return [
+		formatDate(startDate), // days天前
+		formatDate(today)      // 今天
+	];
+}
+
 
 // export function callNumber(mobile){
 // 	var that=this;

+ 24 - 0
src/utils/request.js

@@ -25,6 +25,30 @@ service.interceptors.request.use(config => {
     config.headers['Authorization'] = 'Bearer ' + getToken() // 让每个请求携带自定义token 请根据实际情况自行修改
     config.headers['X-Frontend-Type'] = 'company'
   }
+  // get请求映射params参数
+  if (config.method === 'get' && config.params) {
+    let url = config.url + '?';
+    for (const propName of Object.keys(config.params)) {
+      const value = config.params[propName];
+      var part = encodeURIComponent(propName) + "=";
+      if (value !== null && typeof(value) !== "undefined") {
+        if (typeof value === 'object') {
+          for (const key of Object.keys(value)) {
+            if (value[key] !== null && typeof (value[key]) !== 'undefined') {
+              let params = propName + '[' + key + ']';
+              let subPart = encodeURIComponent(params) + '=';
+              url += subPart + encodeURIComponent(value[key]) + '&';
+            }
+          }
+        } else {
+          url += part + encodeURIComponent(value) + "&";
+        }
+      }
+    }
+    url = url.slice(0, -1);
+    config.params = {};
+    config.url = url;
+  }
   return config
 }, error => {
     console.log(error)

+ 64 - 21
src/views/course/courseWatchLog/index.vue

@@ -173,16 +173,29 @@
           <div style="font-size: 20px;margin-top: 20px;margin-bottom: 20px;">
             <span class="name-background">{{ item.name }}</span>
           </div>
-          <div class="tag-container">
-            <a
-              v-for="tagItem in item.tag"
-              class="tag-box"
-              @click="tagSelection(tagItem)"
-              :class="{ 'tag-selected': tagItem.isSelected }"
-            >
-              {{ tagItem.name }}
-            </a>
+          <!-- 添加外层滚动容器 -->
+          <div class="scroll-wrapper">
+            <div class="tag-container">
+              <a
+                v-for="tagItem in item.tag"
+                class="tag-box"
+                @click="tagSelection(tagItem)"
+                :class="{ 'tag-selected': tagItem.isSelected }"
+              >
+                {{ tagItem.name }}
+              </a>
+            </div>
           </div>
+<!--          <div class="tag-container">-->
+<!--            <a-->
+<!--              v-for="tagItem in item.tag"-->
+<!--              class="tag-box"-->
+<!--              @click="tagSelection(tagItem)"-->
+<!--              :class="{ 'tag-selected': tagItem.isSelected }"-->
+<!--            >-->
+<!--              {{ tagItem.name }}-->
+<!--            </a>-->
+<!--          </div>-->
         </div>
       </el-form>
       <pagination
@@ -209,15 +222,18 @@
           <div style="font-size: 20px;margin-top: 20px;margin-bottom: 20px;">
             <span class="name-background">{{ item.name }}</span>
           </div>
-          <div class="tag-container">
-            <a
-              v-for="tagItem in item.tag"
-              class="tag-box"
-              @click="tagSelection(tagItem)"
-              :class="{ 'tag-selected': tagItem.isSelected }"
-            >
-              {{ tagItem.name }}
-            </a>
+          <!-- 添加外层滚动容器 -->
+          <div class="scroll-wrapper">
+            <div class="tag-container">
+              <a
+                v-for="tagItem in item.tag"
+                class="tag-box"
+                @click="tagSelection(tagItem)"
+                :class="{ 'tag-selected': tagItem.isSelected }"
+              >
+                {{ tagItem.name }}
+              </a>
+            </div>
           </div>
         </div>
       </el-form>
@@ -316,7 +332,7 @@ export default {
 
       queryTagParams:{
         pageNum: 1,
-        pageSize: 10,
+        pageSize: 5,
         total:0,
         name:null,
         corpId:null,
@@ -604,10 +620,22 @@ export default {
 
     handleSearchTags(name){
 
-      searchTags({name:name,corpId:this.queryParams.corpId}).then(response => {
+      if (!name){
+        return this.$message.error("请输入要搜索的标签")
+      }
+
+      this.queryTagParams.name=name;
+      this.queryTagParams.corpId=this.queryParams.corpId;
+
+      searchTags(this.queryTagParams).then(response => {
         this.tagGroupList = response.rows;
       });
 
+      // searchTags({name:name,corpId:this.queryParams.corpId}).then(response => {
+      //   this.tagGroupList = response.rows;
+      // });
+
+
     },
 
     cancelSearchTags(){
@@ -620,7 +648,7 @@ export default {
 
       this.queryTagParams= {
         pageNum: 1,
-        pageSize: 10,
+        pageSize: 5,
         total:0,
         name:null,
       };
@@ -791,4 +819,19 @@ export default {
   margin-left: 10px;
   vertical-align: bottom;
 }
+/* 新增的滚动容器样式(不影响原有样式) */
+.scroll-wrapper {
+  max-height: 130px; /* 大约三行的高度 */
+  overflow-y: auto;  /* 垂直滚动 */
+  padding-right: 5px; /* 为滚动条留出空间 */
+}
+
+/* 美化滚动条(可选) */
+.scroll-wrapper::-webkit-scrollbar {
+  width: 6px;
+}
+.scroll-wrapper::-webkit-scrollbar-thumb {
+  background: rgba(0, 0, 0, 0.2);
+  border-radius: 3px;
+}
 </style>

+ 53 - 21
src/views/course/courseWatchLog/myCourseWatchLog.vue

@@ -174,15 +174,18 @@
           <div style="font-size: 20px;margin-top: 20px;margin-bottom: 20px;">
             <span class="name-background">{{ item.name }}</span>
           </div>
-          <div class="tag-container">
-            <a
-              v-for="tagItem in item.tag"
-              class="tag-box"
-              @click="tagSelection(tagItem)"
-              :class="{ 'tag-selected': tagItem.isSelected }"
-            >
-              {{ tagItem.name }}
-            </a>
+          <!-- 添加外层滚动容器 -->
+          <div class="scroll-wrapper">
+            <div class="tag-container">
+              <a
+                v-for="tagItem in item.tag"
+                class="tag-box"
+                @click="tagSelection(tagItem)"
+                :class="{ 'tag-selected': tagItem.isSelected }"
+              >
+                {{ tagItem.name }}
+              </a>
+            </div>
           </div>
         </div>
       </el-form>
@@ -210,15 +213,18 @@
           <div style="font-size: 20px;margin-top: 20px;margin-bottom: 20px;">
             <span class="name-background">{{ item.name }}</span>
           </div>
-          <div class="tag-container">
-            <a
-              v-for="tagItem in item.tag"
-              class="tag-box"
-              @click="tagSelection(tagItem)"
-              :class="{ 'tag-selected': tagItem.isSelected }"
-            >
-              {{ tagItem.name }}
-            </a>
+          <!-- 添加外层滚动容器 -->
+          <div class="scroll-wrapper">
+            <div class="tag-container">
+              <a
+                v-for="tagItem in item.tag"
+                class="tag-box"
+                @click="tagSelection(tagItem)"
+                :class="{ 'tag-selected': tagItem.isSelected }"
+              >
+                {{ tagItem.name }}
+              </a>
+            </div>
           </div>
         </div>
       </el-form>
@@ -310,7 +316,7 @@ export default {
 
       queryTagParams:{
         pageNum: 1,
-        pageSize: 10,
+        pageSize: 5,
         total:0,
         name:null,
         corpId:null,
@@ -575,10 +581,21 @@ export default {
 
     handleSearchTags(name){
 
-      searchTags({name:name,corpId:this.queryParams.corpId}).then(response => {
+      if (!name){
+        return this.$message.error("请输入要搜索的标签")
+      }
+
+      this.queryTagParams.name=name;
+      this.queryTagParams.corpId=this.queryParams.corpId;
+
+      searchTags(this.queryTagParams).then(response => {
         this.tagGroupList = response.rows;
       });
 
+      // searchTags({name:name,corpId:this.queryParams.corpId}).then(response => {
+      //   this.tagGroupList = response.rows;
+      // });
+
     },
 
     cancelSearchTags(){
@@ -591,7 +608,7 @@ export default {
 
       this.queryTagParams= {
         pageNum: 1,
-        pageSize: 10,
+        pageSize: 5,
         total:0,
         name:null,
       };
@@ -762,4 +779,19 @@ export default {
   margin-left: 10px;
   vertical-align: bottom;
 }
+/* 新增的滚动容器样式(不影响原有样式) */
+.scroll-wrapper {
+  max-height: 130px; /* 大约三行的高度 */
+  overflow-y: auto;  /* 垂直滚动 */
+  padding-right: 5px; /* 为滚动条留出空间 */
+}
+
+/* 美化滚动条(可选) */
+.scroll-wrapper::-webkit-scrollbar {
+  width: 6px;
+}
+.scroll-wrapper::-webkit-scrollbar-thumb {
+  background: rgba(0, 0, 0, 0.2);
+  border-radius: 3px;
+}
 </style>

+ 11 - 0
src/views/course/courseWatchLog/qw/statistics.vue

@@ -67,6 +67,7 @@
 <script>
 import { listCourseWatchLog, getCourseWatchLog, delCourseWatchLog, addCourseWatchLog, updateCourseWatchLog, exportCourseWatchLog,statisticsList } from "@/api/course/qw/courseWatchLog";
 import { courseList,videoList } from '@/api/course/courseRedPacketLog'
+import { getDateRange } from '@/utils/common'
 export default {
   name: "CourseWatchLog",
   data() {
@@ -124,6 +125,12 @@ export default {
     };
   },
   created() {
+    // 设置默认时间范围为最近7天
+    this.createTime = getDateRange(7);
+    // 设置查询参数的时间
+    this.queryParams.sTime = this.createTime[0];
+    this.queryParams.eTime = this.createTime[1];
+
     courseList().then(response => {
       this.courseLists = response.list;
     });
@@ -163,6 +170,10 @@ export default {
     },
     /** 查询短链课程看课记录列表 */
     getList() {
+      if (!this.queryParams.sTime || !this.queryParams.eTime) {
+        this.$message.warning("请选择创建时间");
+        return;
+      }
       this.loading = true;
       statisticsList(this.queryParams).then(response => {
         this.courseWatchLogList = response.rows;

+ 11 - 0
src/views/course/courseWatchLog/statistics.vue

@@ -68,6 +68,7 @@
 import { listCourseWatchLog, getCourseWatchLog, delCourseWatchLog, addCourseWatchLog, updateCourseWatchLog, exportCourseWatchLog,statisticsList } from "@/api/course/courseWatchLog";
 import { courseList,videoList } from '@/api/course/courseRedPacketLog'
 import PaginationMore from "../../../components/PaginationMore/index.vue";
+import {getDateRange} from "@/utils/common";
 export default {
   name: "CourseWatchLog",
   components: {PaginationMore},
@@ -126,6 +127,12 @@ export default {
     };
   },
   created() {
+    // 设置默认时间范围为最近7天
+    this.createTime = getDateRange(7);
+    // 设置查询参数的时间
+    this.queryParams.sTime = this.createTime[0];
+    this.queryParams.eTime = this.createTime[1];
+
     courseList().then(response => {
       this.courseLists = response.list;
     });
@@ -165,6 +172,10 @@ export default {
     },
     /** 查询短链课程看课记录列表 */
     getList() {
+      if (!this.queryParams.sTime || !this.queryParams.eTime) {
+        this.$message.warning("请选择创建时间");
+        return;
+      }
       this.loading = true;
       statisticsList(this.queryParams).then(response => {
         this.courseWatchLogList = response.rows;

+ 53 - 21
src/views/course/courseWatchLog/watchLog.vue

@@ -319,15 +319,18 @@
           <div style="font-size: 20px;margin-top: 20px;margin-bottom: 20px;">
             <span class="name-background">{{ item.name }}</span>
           </div>
-          <div class="tag-container">
-            <a
-              v-for="tagItem in item.tag"
-              class="tag-box"
-              @click="tagSelection(tagItem)"
-              :class="{ 'tag-selected': tagItem.isSelected }"
-            >
-              {{ tagItem.name }}
-            </a>
+          <!-- 添加外层滚动容器 -->
+          <div class="scroll-wrapper">
+            <div class="tag-container">
+              <a
+                v-for="tagItem in item.tag"
+                class="tag-box"
+                @click="tagSelection(tagItem)"
+                :class="{ 'tag-selected': tagItem.isSelected }"
+              >
+                {{ tagItem.name }}
+              </a>
+            </div>
           </div>
         </div>
       </el-form>
@@ -355,15 +358,18 @@
           <div style="font-size: 20px;margin-top: 20px;margin-bottom: 20px;">
             <span class="name-background">{{ item.name }}</span>
           </div>
-          <div class="tag-container">
-            <a
-              v-for="tagItem in item.tag"
-              class="tag-box"
-              @click="tagSelection(tagItem)"
-              :class="{ 'tag-selected': tagItem.isSelected }"
-            >
-              {{ tagItem.name }}
-            </a>
+          <!-- 添加外层滚动容器 -->
+          <div class="scroll-wrapper">
+            <div class="tag-container">
+              <a
+                v-for="tagItem in item.tag"
+                class="tag-box"
+                @click="tagSelection(tagItem)"
+                :class="{ 'tag-selected': tagItem.isSelected }"
+              >
+                {{ tagItem.name }}
+              </a>
+            </div>
           </div>
         </div>
       </el-form>
@@ -497,7 +503,7 @@ export default {
 
       queryTagParams:{
         pageNum: 1,
-        pageSize: 10,
+        pageSize: 5,
         total:0,
         name:null,
         corpId:null,
@@ -821,10 +827,21 @@ export default {
 
     handleSearchTags(name){
 
-      searchTags({name:name,corpId:this.queryParams.corpId}).then(response => {
+      if (!name){
+        return this.$message.error("请输入要搜索的标签")
+      }
+
+      this.queryTagParams.name=name;
+      this.queryTagParams.corpId=this.queryParams.corpId;
+
+      searchTags(this.queryTagParams).then(response => {
         this.tagGroupList = response.rows;
       });
 
+      // searchTags({name:name,corpId:this.queryParams.corpId}).then(response => {
+      //   this.tagGroupList = response.rows;
+      // });
+
     },
 
     cancelSearchTags(){
@@ -837,7 +854,7 @@ export default {
 
       this.queryTagParams= {
         pageNum: 1,
-        pageSize: 10,
+        pageSize: 5,
         total:0,
         name:null,
       };
@@ -1008,4 +1025,19 @@ export default {
   margin-left: 10px;
   vertical-align: bottom;
 }
+/* 新增的滚动容器样式(不影响原有样式) */
+.scroll-wrapper {
+  max-height: 130px; /* 大约三行的高度 */
+  overflow-y: auto;  /* 垂直滚动 */
+  padding-right: 5px; /* 为滚动条留出空间 */
+}
+
+/* 美化滚动条(可选) */
+.scroll-wrapper::-webkit-scrollbar {
+  width: 6px;
+}
+.scroll-wrapper::-webkit-scrollbar-thumb {
+  background: rgba(0, 0, 0, 0.2);
+  border-radius: 3px;
+}
 </style>

+ 12 - 0
src/views/course/courseWatchLog/watchLogStatistics.vue

@@ -61,6 +61,7 @@
 import { listCourseWatchLog, getCourseWatchLog, delCourseWatchLog, addCourseWatchLog, updateCourseWatchLog, exportCourseWatchLog,watchLogStatistics,watchLogStatisticsExport } from "@/api/course/courseWatchLog";
 import {allList}from "@/api/company/company";
 import { courseList,videoList } from '@/api/course/courseRedPacketLog'
+import {getDateRange} from "@/utils/common";
 export default {
   name: "CourseWatchLog",
   data() {
@@ -122,6 +123,12 @@ export default {
     };
   },
   created() {
+    // 设置默认时间范围为最近7天
+    this.createTime = getDateRange(7);
+    // 设置查询参数的时间
+    this.queryParams.sTime = this.createTime[0];
+    this.queryParams.eTime = this.createTime[1];
+
     courseList().then(response => {
       this.courseLists = response.list;
     });
@@ -171,6 +178,11 @@ export default {
     },
     /** 查询短链课程看课记录列表 */
     getList() {
+      if (!this.queryParams.sTime || !this.queryParams.eTime) {
+        this.$message.warning("请选择创建时间");
+        return;
+      }
+
       this.loading = true;
       if(this.queryParams.logType == "10"){
         this.queryParams.logType = null;

+ 19 - 1
src/views/course/userCourse/index.vue

@@ -30,6 +30,16 @@
           @keyup.enter.native="handleQuery"
         />
       </el-form-item>
+      <el-form-item label="关联的公司" prop="companyIds">
+        <el-select v-model="queryParams.companyIdsList" multiple placeholder="请选择公司" filterable clearable style="width: 90%;">
+          <el-option
+            v-for="dict in companyOptions"
+            :key="dict.dictValue"
+            :label="dict.dictLabel"
+            :value="dict.dictValue"
+          />
+        </el-select>
+      </el-form-item>
       <el-form-item>
         <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
         <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
@@ -111,6 +121,7 @@ import Editor from '@/components/Editor/wang';
 import ImageUpload from '@/components/ImageUpload/index';
 import userCourseCatalogDetails from '../../components/course/userCourseCatalogDetails.vue';
 import { getAllCourseCategoryList,getCatePidList ,getCateListByPid} from "@/api/course/userCourseCategory";
+import {allList} from "@/api/company/company";
 
 export default {
   name: "UserCourse",
@@ -133,6 +144,7 @@ export default {
       projectOptions:[],
       tagsOptions:[],
       tags:[],
+      companyIds: [],
       courseTypeOptions:[],
       orOptions: [],
       specShowOptions: [],
@@ -156,6 +168,7 @@ export default {
       total: 0,
       // 课程表格数据
       userCourseList: [],
+      companyOptions: [],
       // 弹出层标题
       title: "",
       // 是否显示弹出层
@@ -180,7 +193,8 @@ export default {
         hotRanking: null,
         integral: null,
         price: null,
-        isPrivate: 1
+        isPrivate: 1,
+        companyIdsList:[],
       },
       // 表单参数
       form: {},
@@ -276,6 +290,9 @@ export default {
     this.getDicts("sys_company_or").then(response => {
       this.orOptions = response.data;
     });
+    allList().then(response => {
+      this.companyOptions = response.rows;
+    });
   },
   methods: {
 
@@ -378,6 +395,7 @@ export default {
       };
       this.tags=[];
       this.subCategoryOptions=[]
+      this.companyIds = []
       this.resetForm("form");
     },
     /** 搜索按钮操作 */

+ 42 - 21
src/views/fastGpt/fastGptRole/fastGptRoleUpdate.vue

@@ -37,7 +37,7 @@
                                 @click="handleEditRoleTag(tagsForm, index)"
                                 @close="handleCloseRoleTag(tagsForm, index)"
                                 style="margin: 3px;">
-                          {{ getTagNames(tagsForm.tagIds) }} 
+                          {{ getTagNames(tagsForm.tagIds) }}
                         </el-tag>
                       </div>
                     </div>
@@ -51,7 +51,7 @@
                     v-hasPermi="['fastGptRole:fastGptRole:edit']"
                   >添加标签人设</el-button>
               </el-form-item> -->
-			  
+
 <!--      		<el-form-item label="修改栏目" prop="contactInfo">
       		  <el-select v-model="contactInfo"  multiple filterable placeholder="请选择修改栏目" clearable size="small" style="width: 50%" >
       		    <el-option
@@ -102,15 +102,18 @@
         <div style="font-size: 20px;margin-top: 20px;margin-bottom: 20px;">
           <span class="name-background">{{ item.name }}</span>
         </div>
-        <div class="tag-container">
-          <a
-            v-for="tagItem in item.tag"
-            class="tag-box"
-            @click="tagSelection(tagItem)"
-            :class="{ 'tag-selected': tagItem.isSelected }"
-          >
-            {{ tagItem.name }}
-          </a>
+        <!-- 添加外层滚动容器 -->
+        <div class="scroll-wrapper">
+          <div class="tag-container">
+            <a
+              v-for="tagItem in item.tag"
+              class="tag-box"
+              @click="tagSelection(tagItem)"
+              :class="{ 'tag-selected': tagItem.isSelected }"
+            >
+              {{ tagItem.name }}
+            </a>
+          </div>
         </div>
       </div>
       <div slot="footer" class="dialog-footer">
@@ -153,15 +156,18 @@
         <div style="font-size: 20px;margin-top: 20px;margin-bottom: 20px;">
           <span class="name-background">{{ item.name }}</span>
         </div>
-        <div class="tag-container">
-          <a
-            v-for="tagItem in item.tag"
-            class="tag-box"
-            @click="tagSelection(tagItem)"
-            :class="{ 'tag-selected': tagItem.isSelected }"
-          >
-            {{ tagItem.name }}
-          </a>
+        <!-- 添加外层滚动容器 -->
+        <div class="scroll-wrapper">
+          <div class="tag-container">
+            <a
+              v-for="tagItem in item.tag"
+              class="tag-box"
+              @click="tagSelection(tagItem)"
+              :class="{ 'tag-selected': tagItem.isSelected }"
+            >
+              {{ tagItem.name }}
+            </a>
+          </div>
         </div>
       </div>
       <div slot="footer" class="dialog-footer">
@@ -370,7 +376,7 @@ export default {
     this.getDicts("sys_fastgpt_role_external_info").then((response) => {
     	  this.externalInfoOptions = response.data;
     });
-	
+
 	getAllRoleType().then(response => {
         this.typeOptions = response.data;
       });
@@ -796,4 +802,19 @@ export default {
   overflow-y: auto; /* 内容超出时显示滚动条 */
   line-height: 1.5em; /* 行高设置,确保每行高度一致 */
 }
+/* 新增的滚动容器样式(不影响原有样式) */
+.scroll-wrapper {
+  max-height: 130px; /* 大约三行的高度 */
+  overflow-y: auto;  /* 垂直滚动 */
+  padding-right: 5px; /* 为滚动条留出空间 */
+}
+
+/* 美化滚动条(可选) */
+.scroll-wrapper::-webkit-scrollbar {
+  width: 6px;
+}
+.scroll-wrapper::-webkit-scrollbar-thumb {
+  background: rgba(0, 0, 0, 0.2);
+  border-radius: 3px;
+}
 </style>

+ 32 - 11
src/views/qw/autoTags/dayPartingIndex.vue

@@ -275,15 +275,18 @@
         <div style="font-size: 20px;margin-top: 20px;margin-bottom: 20px;">
           <span class="name-background">{{ item.name }}</span>
         </div>
-        <div class="tag-container">
-          <a
-            v-for="tagItem in item.tag"
-            class="tag-box"
-            @click="tagSelection(tagItem)"
-            :class="{ 'tag-selected': tagItem.isSelected }"
-          >
-            {{ tagItem.name }}
-          </a>
+        <!-- 添加外层滚动容器 -->
+        <div class="scroll-wrapper">
+          <div class="tag-container">
+            <a
+              v-for="tagItem in item.tag"
+              class="tag-box"
+              @click="tagSelection(tagItem)"
+              :class="{ 'tag-selected': tagItem.isSelected }"
+            >
+              {{ tagItem.name }}
+            </a>
+          </div>
         </div>
       </div>
       <pagination
@@ -389,7 +392,7 @@ export default {
 
       queryTagParams: {
         pageNum: 1,
-        pageSize: 10,
+        pageSize: 5,
         total:0,
         name:null,
         corpId:null,
@@ -585,7 +588,7 @@ export default {
 
       this.queryTagParams= {
         pageNum: 1,
-        pageSize: 10,
+        pageSize: 5,
         total:0,
         name:null,
       };
@@ -638,6 +641,9 @@ export default {
 
     handleSearchTags(){
 
+      if (!this.queryTagParams.name){
+        return this.$message.error("请输入要搜索的标签")
+      }
       this.queryTagParams.corpId=this.queryParams.corpId;
       searchTags(this.queryTagParams).then(response => {
         this.tagGroupList = response.rows;
@@ -1007,4 +1013,19 @@ export default {
   overflow-y: auto; /* 内容超出时显示滚动条 */
   line-height: 1.5em; /* 行高设置,确保每行高度一致 */
 }
+/* 新增的滚动容器样式(不影响原有样式) */
+.scroll-wrapper {
+  max-height: 130px; /* 大约三行的高度 */
+  overflow-y: auto;  /* 垂直滚动 */
+  padding-right: 5px; /* 为滚动条留出空间 */
+}
+
+/* 美化滚动条(可选) */
+.scroll-wrapper::-webkit-scrollbar {
+  width: 6px;
+}
+.scroll-wrapper::-webkit-scrollbar-thumb {
+  background: rgba(0, 0, 0, 0.2);
+  border-radius: 3px;
+}
 </style>

+ 35 - 11
src/views/qw/autoTags/groupIndex.vue

@@ -222,15 +222,19 @@
         <div style="font-size: 20px;margin-top: 20px;margin-bottom: 20px;">
           <span class="name-background">{{ item.name }}</span>
         </div>
-        <div class="tag-container">
-          <a
-            v-for="tagItem in item.tag"
-            class="tag-box"
-            @click="tagSelection(tagItem)"
-            :class="{ 'tag-selected': tagItem.isSelected }"
-          >
-            {{ tagItem.name }}
-          </a>
+
+        <!-- 添加外层滚动容器 -->
+        <div class="scroll-wrapper">
+          <div class="tag-container">
+            <a
+              v-for="tagItem in item.tag"
+              class="tag-box"
+              @click="tagSelection(tagItem)"
+              :class="{ 'tag-selected': tagItem.isSelected }"
+            >
+              {{ tagItem.name }}
+            </a>
+          </div>
         </div>
       </div>
       <pagination
@@ -319,7 +323,7 @@ export default {
 
       queryTagParams: {
         pageNum: 1,
-        pageSize: 10,
+        pageSize: 5,
         total:0,
         name:null,
         corpId:null,
@@ -431,7 +435,7 @@ export default {
 
       this.queryTagParams= {
         pageNum: 1,
-        pageSize: 10,
+        pageSize: 5,
         total:0,
         name:null,
       };
@@ -506,6 +510,11 @@ export default {
     },
 
     handleSearchTags(){
+
+      if (!this.queryTagParams.name){
+        return this.$message.error("请输入要搜索的标签")
+      }
+
       this.queryTagParams.corpId=this.queryParams.corpId;
       searchTags(this.queryTagParams).then(response => {
         this.tagGroupList = response.rows;
@@ -805,4 +814,19 @@ export default {
   overflow-y: auto; /* 内容超出时显示滚动条 */
   line-height: 1.5em; /* 行高设置,确保每行高度一致 */
 }
+/* 新增的滚动容器样式(不影响原有样式) */
+.scroll-wrapper {
+  max-height: 130px; /* 大约三行的高度 */
+  overflow-y: auto;  /* 垂直滚动 */
+  padding-right: 5px; /* 为滚动条留出空间 */
+}
+
+/* 美化滚动条(可选) */
+.scroll-wrapper::-webkit-scrollbar {
+  width: 6px;
+}
+.scroll-wrapper::-webkit-scrollbar-thumb {
+  background: rgba(0, 0, 0, 0.2);
+  border-radius: 3px;
+}
 </style>

+ 38 - 10
src/views/qw/contactWay/index.vue

@@ -625,15 +625,18 @@
         <div style="font-size: 20px;margin-top: 20px;margin-bottom: 20px;">
           <span class="name-background">{{ item.name }}</span>
         </div>
-        <div class="tag-container">
-          <a
-            v-for="tagItem in item.tag"
-            class="tag-box"
-            @click="tagSelection(tagItem)"
-            :class="{ 'tag-selected': tagItem.isSelected }"
-          >
-            {{ tagItem.name }}
-          </a>
+        <!-- 添加外层滚动容器 -->
+        <div class="scroll-wrapper">
+          <div class="tag-container">
+            <a
+              v-for="tagItem in item.tag"
+              class="tag-box"
+              @click="tagSelection(tagItem)"
+              :class="{ 'tag-selected': tagItem.isSelected }"
+            >
+              {{ tagItem.name }}
+            </a>
+          </div>
         </div>
       </div>
       <div slot="footer" class="dialog-footer">
@@ -883,9 +886,19 @@ export default {
     },
     handleSearchTags(name){
 
-      searchTags({name:name,corpId:this.queryParams.corpId}).then(response => {
+      if (!name){
+        return this.$message.error("请输入要搜索的标签")
+      }
+
+      this.queryTagParams.name=name;
+      this.queryTagParams.corpId=this.queryParams.corpId;
+
+      searchTags(this.queryTagParams).then(response => {
         this.tagGroupList = response.rows;
       });
+      // searchTags({name:name,corpId:this.queryParams.corpId}).then(response => {
+      //   this.tagGroupList = response.rows;
+      // });
 
     },
     cancelSearchTags(){
@@ -1497,4 +1510,19 @@ export default {
   margin-left: 10px;
   vertical-align: bottom;
 }
+/* 新增的滚动容器样式(不影响原有样式) */
+.scroll-wrapper {
+  max-height: 130px; /* 大约三行的高度 */
+  overflow-y: auto;  /* 垂直滚动 */
+  padding-right: 5px; /* 为滚动条留出空间 */
+}
+
+/* 美化滚动条(可选) */
+.scroll-wrapper::-webkit-scrollbar {
+  width: 6px;
+}
+.scroll-wrapper::-webkit-scrollbar-thumb {
+  background: rgba(0, 0, 0, 0.2);
+  border-radius: 3px;
+}
 </style>

+ 63 - 29
src/views/qw/externalContact/deptIndex.vue

@@ -490,15 +490,18 @@
         <div style="font-size: 20px;margin-top: 20px;margin-bottom: 20px;">
           <span class="name-background">{{ item.name }}</span>
         </div>
-        <div class="tag-container">
-          <a
-            v-for="tagItem in item.tag"
-            class="tag-box"
-            @click="tagSelection(tagItem)"
-            :class="{ 'tag-selected': tagItem.isSelected }"
-          >
-            {{ tagItem.name }}
-          </a>
+        <!-- 添加外层滚动容器 -->
+        <div class="scroll-wrapper">
+          <div class="tag-container">
+            <a
+              v-for="tagItem in item.tag"
+              class="tag-box"
+              @click="tagSelection(tagItem)"
+              :class="{ 'tag-selected': tagItem.isSelected }"
+            >
+              {{ tagItem.name }}
+            </a>
+          </div>
         </div>
       </div>
 
@@ -571,15 +574,18 @@
           <div style="font-size: 20px;margin-top: 20px;margin-bottom: 20px;">
             <span class="name-background">{{ item.name }}</span>
           </div>
-          <div class="tag-container">
-            <a
-              v-for="tagItem in item.tag"
-              class="tag-box"
-              @click="tagSelection(tagItem)"
-              :class="{ 'tag-selected': tagItem.isSelected }"
-            >
-              {{ tagItem.name }}
-            </a>
+          <!-- 添加外层滚动容器 -->
+          <div class="scroll-wrapper">
+            <div class="tag-container">
+              <a
+                v-for="tagItem in item.tag"
+                class="tag-box"
+                @click="tagSelection(tagItem)"
+                :class="{ 'tag-selected': tagItem.isSelected }"
+              >
+                {{ tagItem.name }}
+              </a>
+            </div>
           </div>
         </div>
       </el-form>
@@ -607,15 +613,18 @@
           <div style="font-size: 20px;margin-top: 20px;margin-bottom: 20px;">
             <span class="name-background">{{ item.name }}</span>
           </div>
-          <div class="tag-container">
-            <a
-              v-for="tagItem in item.tag"
-              class="tag-box"
-              @click="tagSelection(tagItem)"
-              :class="{ 'tag-selected': tagItem.isSelected }"
-            >
-              {{ tagItem.name }}
-            </a>
+          <!-- 添加外层滚动容器 -->
+          <div class="scroll-wrapper">
+            <div class="tag-container">
+              <a
+                v-for="tagItem in item.tag"
+                class="tag-box"
+                @click="tagSelection(tagItem)"
+                :class="{ 'tag-selected': tagItem.isSelected }"
+              >
+                {{ tagItem.name }}
+              </a>
+            </div>
           </div>
         </div>
       </el-form>
@@ -941,7 +950,7 @@ export default {
 
       queryTagParams:{
         pageNum: 1,
-        pageSize: 10,
+        pageSize: 5,
         total:0,
         name:null,
         corpId:null,
@@ -1558,10 +1567,20 @@ export default {
     },
     handleSearchTags(name){
 
-      searchTags({name:name,corpId:this.queryParams.corpId}).then(response => {
+      if (!name){
+        return this.$message.error("请输入要搜索的标签")
+      }
+      this.queryTagParams.name=name;
+      this.queryTagParams.corpId=this.queryParams.corpId;
+
+      searchTags(this.queryTagParams).then(response => {
         this.tagGroupList = response.rows;
       });
 
+      // searchTags({name:name,corpId:this.queryParams.corpId}).then(response => {
+      //   this.tagGroupList = response.rows;
+      // });
+
     },
 
     cancelSearchTags(){
@@ -2043,4 +2062,19 @@ export default {
   padding: 20px;
   box-sizing: border-box; /* 确保 padding 不影响总宽度 */
 }
+/* 新增的滚动容器样式(不影响原有样式) */
+.scroll-wrapper {
+  max-height: 130px; /* 大约三行的高度 */
+  overflow-y: auto;  /* 垂直滚动 */
+  padding-right: 5px; /* 为滚动条留出空间 */
+}
+
+/* 美化滚动条(可选) */
+.scroll-wrapper::-webkit-scrollbar {
+  width: 6px;
+}
+.scroll-wrapper::-webkit-scrollbar-thumb {
+  background: rgba(0, 0, 0, 0.2);
+  border-radius: 3px;
+}
 </style>

+ 60 - 29
src/views/qw/externalContact/index.vue

@@ -465,15 +465,18 @@
         <div style="font-size: 20px;margin-top: 20px;margin-bottom: 20px;">
           <span class="name-background">{{ item.name }}</span>
         </div>
-        <div class="tag-container">
-          <a
-            v-for="tagItem in item.tag"
-            class="tag-box"
-            @click="tagSelection(tagItem)"
-            :class="{ 'tag-selected': tagItem.isSelected }"
-          >
-            {{ tagItem.name }}
-          </a>
+        <!-- 添加外层滚动容器 -->
+        <div class="scroll-wrapper">
+          <div class="tag-container">
+            <a
+              v-for="tagItem in item.tag"
+              class="tag-box"
+              @click="tagSelection(tagItem)"
+              :class="{ 'tag-selected': tagItem.isSelected }"
+            >
+              {{ tagItem.name }}
+            </a>
+          </div>
         </div>
       </div>
 
@@ -501,15 +504,18 @@
           <div style="font-size: 20px;margin-top: 20px;margin-bottom: 20px;">
             <span class="name-background">{{ item.name }}</span>
           </div>
-          <div class="tag-container">
-            <a
-              v-for="tagItem in item.tag"
-              class="tag-box"
-              @click="tagSelection(tagItem)"
-              :class="{ 'tag-selected': tagItem.isSelected }"
-            >
-              {{ tagItem.name }}
-            </a>
+          <!-- 添加外层滚动容器 -->
+          <div class="scroll-wrapper">
+            <div class="tag-container">
+              <a
+                v-for="tagItem in item.tag"
+                class="tag-box"
+                @click="tagSelection(tagItem)"
+                :class="{ 'tag-selected': tagItem.isSelected }"
+              >
+                {{ tagItem.name }}
+              </a>
+            </div>
           </div>
         </div>
       </el-form>
@@ -537,15 +543,18 @@
           <div style="font-size: 20px;margin-top: 20px;margin-bottom: 20px;">
             <span class="name-background">{{ item.name }}</span>
           </div>
-          <div class="tag-container">
-            <a
-              v-for="tagItem in item.tag"
-              class="tag-box"
-              @click="tagSelection(tagItem)"
-              :class="{ 'tag-selected': tagItem.isSelected }"
-            >
-              {{ tagItem.name }}
-            </a>
+          <!-- 添加外层滚动容器 -->
+          <div class="scroll-wrapper">
+            <div class="tag-container">
+              <a
+                v-for="tagItem in item.tag"
+                class="tag-box"
+                @click="tagSelection(tagItem)"
+                :class="{ 'tag-selected': tagItem.isSelected }"
+              >
+                {{ tagItem.name }}
+              </a>
+            </div>
           </div>
         </div>
       </el-form>
@@ -797,7 +806,7 @@ export default {
 
       queryTagParams:{
         pageNum: 1,
-        pageSize: 10,
+        pageSize: 5,
         total:0,
         name:null,
         corpId:null,
@@ -1359,7 +1368,14 @@ export default {
     },
     handleSearchTags(name){
 
-      searchTags({name:name,corpId:this.queryParams.corpId}).then(response => {
+      if (!name){
+        return this.$message.error("请输入要搜索的标签")
+      }
+
+      this.queryTagParams.name=name;
+      this.queryTagParams.corpId=this.queryParams.corpId;
+
+      searchTags(this.queryTagParams).then(response => {
         this.tagGroupList = response.rows;
       });
 
@@ -1788,4 +1804,19 @@ export default {
 .suggestion-item:hover {
   background-color: #f5f7fa;
 }
+/* 新增的滚动容器样式(不影响原有样式) */
+.scroll-wrapper {
+  max-height: 130px; /* 大约三行的高度 */
+  overflow-y: auto;  /* 垂直滚动 */
+  padding-right: 5px; /* 为滚动条留出空间 */
+}
+
+/* 美化滚动条(可选) */
+.scroll-wrapper::-webkit-scrollbar {
+  width: 6px;
+}
+.scroll-wrapper::-webkit-scrollbar-thumb {
+  background: rgba(0, 0, 0, 0.2);
+  border-radius: 3px;
+}
 </style>

+ 81 - 31
src/views/qw/externalContact/myExternalContact.vue

@@ -452,21 +452,40 @@
         <el-button type="primary" icon="el-icon-search" size="mini" @click="handleSearchTags(queryTagParams.name)">搜索</el-button>
         <el-button type="primary" icon="el-icon-plus" size="mini" @click="cancelSearchTags">重置</el-button>
       </div>
-      <div v-for="item in tagGroupList" :key="item.id"  >
+      <div v-for="item in tagGroupList" :key="item.id">
         <div style="font-size: 20px;margin-top: 20px;margin-bottom: 20px;">
           <span class="name-background">{{ item.name }}</span>
         </div>
-        <div class="tag-container">
-          <a
-            v-for="tagItem in item.tag"
-            class="tag-box"
-            @click="tagSelection(tagItem)"
-            :class="{ 'tag-selected': tagItem.isSelected }"
-          >
-            {{ tagItem.name }}
-          </a>
+
+        <!-- 添加外层滚动容器 -->
+        <div class="scroll-wrapper">
+          <div class="tag-container">
+            <a
+              v-for="tagItem in item.tag"
+              class="tag-box"
+              @click="tagSelection(tagItem)"
+              :class="{ 'tag-selected': tagItem.isSelected }"
+            >
+              {{ tagItem.name }}
+            </a>
+          </div>
         </div>
       </div>
+<!--      <div v-for="item in tagGroupList" :key="item.id"  >-->
+<!--        <div style="font-size: 20px;margin-top: 20px;margin-bottom: 20px;">-->
+<!--          <span class="name-background">{{ item.name }}</span>-->
+<!--        </div>-->
+<!--        <div class="tag-container">-->
+<!--          <a-->
+<!--            v-for="tagItem in item.tag"-->
+<!--            class="tag-box"-->
+<!--            @click="tagSelection(tagItem)"-->
+<!--            :class="{ 'tag-selected': tagItem.isSelected }"-->
+<!--          >-->
+<!--            {{ tagItem.name }}-->
+<!--          </a>-->
+<!--        </div>-->
+<!--      </div>-->
 
       <pagination
         v-show="tagTotal>0"
@@ -492,15 +511,17 @@
           <div style="font-size: 20px;margin-top: 20px;margin-bottom: 20px;">
             <span class="name-background">{{ item.name }}</span>
           </div>
-          <div class="tag-container">
-            <a
-              v-for="tagItem in item.tag"
-              class="tag-box"
-              @click="tagSelection(tagItem)"
-              :class="{ 'tag-selected': tagItem.isSelected }"
-            >
-              {{ tagItem.name }}
-            </a>
+          <div class="scroll-wrapper">
+            <div class="tag-container">
+              <a
+                v-for="tagItem in item.tag"
+                class="tag-box"
+                @click="tagSelection(tagItem)"
+                :class="{ 'tag-selected': tagItem.isSelected }"
+              >
+                {{ tagItem.name }}
+              </a>
+            </div>
           </div>
         </div>
       </el-form>
@@ -528,15 +549,17 @@
           <div style="font-size: 20px;margin-top: 20px;margin-bottom: 20px;">
             <span class="name-background">{{ item.name }}</span>
           </div>
-          <div class="tag-container">
-            <a
-              v-for="tagItem in item.tag"
-              class="tag-box"
-              @click="tagSelection(tagItem)"
-              :class="{ 'tag-selected': tagItem.isSelected }"
-            >
-              {{ tagItem.name }}
-            </a>
+          <div class="scroll-wrapper">
+            <div class="tag-container">
+              <a
+                v-for="tagItem in item.tag"
+                class="tag-box"
+                @click="tagSelection(tagItem)"
+                :class="{ 'tag-selected': tagItem.isSelected }"
+              >
+                {{ tagItem.name }}
+              </a>
+            </div>
           </div>
         </div>
       </el-form>
@@ -812,7 +835,7 @@ export default {
 
       queryTagParams:{
         pageNum: 1,
-        pageSize: 10,
+        pageSize: 5,
         total:0,
         name:null,
         corpId:null,
@@ -1012,10 +1035,21 @@ export default {
 
     handleSearchTags(name){
 
-      searchTags({name:name,corpId:this.queryParams.corpId}).then(response => {
+      if (!name){
+        return this.$message.error("请输入要搜索的标签")
+      }
+
+      this.queryTagParams.name=name;
+      this.queryTagParams.corpId=this.queryParams.corpId;
+
+      searchTags(this.queryTagParams).then(response => {
         this.tagGroupList = response.rows;
       });
 
+      // searchTags({name:name,corpId:this.queryParams.corpId}).then(response => {
+      //   this.tagGroupList = response.rows;
+      // });
+
     },
 
     handleGetMyQwUserList(){
@@ -1044,7 +1078,7 @@ export default {
 
       this.queryTagParams= {
         pageNum: 1,
-        pageSize: 10,
+        pageSize: 5,
         total:0,
         name:null,
       };
@@ -1744,4 +1778,20 @@ export default {
   margin-left: 10px;
   vertical-align: bottom;
 }
+
+/* 新增的滚动容器样式(不影响原有样式) */
+.scroll-wrapper {
+  max-height: 130px; /* 大约三行的高度 */
+  overflow-y: auto;  /* 垂直滚动 */
+  padding-right: 5px; /* 为滚动条留出空间 */
+}
+
+/* 美化滚动条(可选) */
+.scroll-wrapper::-webkit-scrollbar {
+  width: 6px;
+}
+.scroll-wrapper::-webkit-scrollbar-thumb {
+  background: rgba(0, 0, 0, 0.2);
+  border-radius: 3px;
+}
 </style>

+ 1 - 1
src/views/qw/externalContactTransfer/index.vue

@@ -312,7 +312,7 @@ export default {
       // 查询参数
       queryParams: {
         pageNum: 1,
-        pageSize: 500,
+        pageSize: 300,
         userId: null,
         externalUserId: null,
         name: null,

+ 38 - 11
src/views/qw/groupMsg/index.vue

@@ -369,15 +369,18 @@
           <div style="font-size: 20px;margin-top: 20px;margin-bottom: 20px;">
             <span class="name-background">{{ item.name }}</span>
           </div>
-          <div class="tag-container">
-            <a
-              v-for="tagItem in item.tag"
-              class="tag-box"
-              @click="tagSelection(tagItem)"
-              :class="{ 'tag-selected': tagItem.isSelected }"
-            >
-              {{ tagItem.name }}
-            </a>
+          <!-- 添加外层滚动容器 -->
+          <div class="scroll-wrapper">
+            <div class="tag-container">
+              <a
+                v-for="tagItem in item.tag"
+                class="tag-box"
+                @click="tagSelection(tagItem)"
+                :class="{ 'tag-selected': tagItem.isSelected }"
+              >
+                {{ tagItem.name }}
+              </a>
+            </div>
           </div>
         </div>
         <pagination
@@ -676,7 +679,7 @@ export default {
 
       queryTagParams:{
         pageNum: 1,
-        pageSize: 10,
+        pageSize: 5,
         total:0,
         name:null,
         corpId:null,
@@ -906,9 +909,19 @@ export default {
     },
     handleSearchTags(name){
 
-      searchTags({name:name,corpId:this.queryParams.corpId}).then(response => {
+      if (!name){
+        return this.$message.error("请输入要搜索的标签")
+      }
+
+      this.queryTagParams.name=name;
+      this.queryTagParams.corpId=this.queryParams.corpId;
+
+      searchTags(this.queryTagParams).then(response => {
         this.tagGroupList = response.rows;
       });
+      // searchTags({name:name,corpId:this.queryParams.corpId}).then(response => {
+      //   this.tagGroupList = response.rows;
+      // });
 
     },
     cancelSearchTags(){
@@ -1619,5 +1632,19 @@ export default {
   overflow-y: auto; /* 内容超出时显示滚动条 */
   line-height: 1.5em; /* 行高设置,确保每行高度一致 */
 }
+/* 新增的滚动容器样式(不影响原有样式) */
+.scroll-wrapper {
+  max-height: 130px; /* 大约三行的高度 */
+  overflow-y: auto;  /* 垂直滚动 */
+  padding-right: 5px; /* 为滚动条留出空间 */
+}
 
+/* 美化滚动条(可选) */
+.scroll-wrapper::-webkit-scrollbar {
+  width: 6px;
+}
+.scroll-wrapper::-webkit-scrollbar-thumb {
+  background: rgba(0, 0, 0, 0.2);
+  border-radius: 3px;
+}
 </style>

+ 41 - 10
src/views/qw/sop/addSop.vue

@@ -394,16 +394,29 @@
           <div style="font-size: 20px;margin-top: 20px;margin-bottom: 20px;">
             <span class="name-background">{{ item.name }}</span>
           </div>
-          <div class="tag-container">
-            <a
-              v-for="tagItem in item.tag"
-              class="tag-box"
-              @click="tagSelection(tagItem)"
-              :class="{ 'tag-selected': tagItem.isSelected }"
-            >
-              {{ tagItem.name }}
-            </a>
+          <!-- 添加外层滚动容器 -->
+          <div class="scroll-wrapper">
+            <div class="tag-container">
+              <a
+                v-for="tagItem in item.tag"
+                class="tag-box"
+                @click="tagSelection(tagItem)"
+                :class="{ 'tag-selected': tagItem.isSelected }"
+              >
+                {{ tagItem.name }}
+              </a>
+            </div>
           </div>
+<!--          <div class="tag-container">-->
+<!--            <a-->
+<!--              v-for="tagItem in item.tag"-->
+<!--              class="tag-box"-->
+<!--              @click="tagSelection(tagItem)"-->
+<!--              :class="{ 'tag-selected': tagItem.isSelected }"-->
+<!--            >-->
+<!--              {{ tagItem.name }}-->
+<!--            </a>-->
+<!--          </div>-->
         </div>
 
         <pagination
@@ -487,7 +500,7 @@ export default {
 
       queryTagParams: {
         pageNum: 1,
-        pageSize: 10,
+        pageSize: 5,
         total: 0,
         name: null,
         corpId: null,
@@ -613,6 +626,9 @@ export default {
 
     handleSearchTags() {
 
+      if (!this.queryTagParams.name){
+        return this.$message.error("请输入要搜索的标签")
+      }
       searchTags(this.queryTagParams).then(response => {
         this.tagGroupList = response.rows;
         this.total = response.total;
@@ -1233,4 +1249,19 @@ export default {
   overflow-y: auto; /* 内容超出时显示滚动条 */
   line-height: 1.5em; /* 行高设置,确保每行高度一致 */
 }
+/* 新增的滚动容器样式(不影响原有样式) */
+.scroll-wrapper {
+  max-height: 130px; /* 大约三行的高度 */
+  overflow-y: auto;  /* 垂直滚动 */
+  padding-right: 5px; /* 为滚动条留出空间 */
+}
+
+/* 美化滚动条(可选) */
+.scroll-wrapper::-webkit-scrollbar {
+  width: 6px;
+}
+.scroll-wrapper::-webkit-scrollbar-thumb {
+  background: rgba(0, 0, 0, 0.2);
+  border-radius: 3px;
+}
 </style>

+ 41 - 12
src/views/qw/sopUserLogsInfo/sopUserLogsInfoDetails.vue

@@ -422,15 +422,18 @@
         <div style="font-size: 20px;margin-top: 20px;margin-bottom: 20px;">
           <span class="name-background">{{ item.name }}</span>
         </div>
-        <div class="tag-container">
-          <a
-            v-for="tagItem in item.tag"
-            class="tag-box"
-            @click="tagSelection(tagItem)"
-            :class="{ 'tag-selected': tagItem.isSelected }"
-          >
-            {{ tagItem.name }}
-          </a>
+        <!-- 添加外层滚动容器 -->
+        <div class="scroll-wrapper">
+          <div class="tag-container">
+            <a
+              v-for="tagItem in item.tag"
+              class="tag-box"
+              @click="tagSelection(tagItem)"
+              :class="{ 'tag-selected': tagItem.isSelected }"
+            >
+              {{ tagItem.name }}
+            </a>
+          </div>
         </div>
       </div>
 
@@ -533,7 +536,7 @@ export default {
 
       queryTagParams:{
         pageNum: 1,
-        pageSize: 10,
+        pageSize: 5,
         total:0,
         name:null,
         corpId:null,
@@ -713,10 +716,21 @@ export default {
 
     handleSearchTags(name){
 
-      searchTags({name:name,corpId:this.queryParams.corpId}).then(response => {
+      if (!name){
+        return this.$message.error("请输入要搜索的标签")
+      }
+
+      this.queryTagParams.name=name;
+      this.queryTagParams.corpId=this.queryParams.corpId;
+
+      searchTags(this.queryTagParams).then(response => {
         this.tagGroupList = response.rows;
       });
 
+      // searchTags({name:name,corpId:this.queryParams.corpId}).then(response => {
+      //   this.tagGroupList = response.rows;
+      // });
+
     },
 
 
@@ -740,7 +754,7 @@ export default {
 
       this.queryTagParams= {
         pageNum: 1,
-        pageSize: 10,
+        pageSize: 5,
         total:0,
         name:null,
       };
@@ -1337,4 +1351,19 @@ export default {
   margin-left: 10px;
   vertical-align: bottom;
 }
+/* 新增的滚动容器样式(不影响原有样式) */
+.scroll-wrapper {
+  max-height: 130px; /* 大约三行的高度 */
+  overflow-y: auto;  /* 垂直滚动 */
+  padding-right: 5px; /* 为滚动条留出空间 */
+}
+
+/* 美化滚动条(可选) */
+.scroll-wrapper::-webkit-scrollbar {
+  width: 6px;
+}
+.scroll-wrapper::-webkit-scrollbar-thumb {
+  background: rgba(0, 0, 0, 0.2);
+  border-radius: 3px;
+}
 </style>