diff --git a/frontend/src/views/Settings.vue b/frontend/src/views/Settings.vue
index 836d66b..0c8fb28 100644
--- a/frontend/src/views/Settings.vue
+++ b/frontend/src/views/Settings.vue
@@ -396,9 +396,28 @@
style="margin-bottom: 16px;"
/>
+
+
+
+
+
+
+
+
+ 找到 {{ filteredDepartments.length }} 个部门
+
+
+
([])
const platforms = ref([])
const categories = ref([])
const departments = ref([])
+const departmentSearchText = ref('')
const currentScorePool = ref(null)
const currentDept = ref(null)
const scoreAdjustForm = reactive({
@@ -1554,6 +1574,30 @@ const departmentUsers = computed(() => {
})
})
+// 过滤后的部门列表(用于搜索)
+const filteredDepartments = computed(() => {
+ if (!departmentSearchText.value || !departmentSearchText.value.trim()) {
+ return departments.value
+ }
+
+ const searchText = departmentSearchText.value.trim().toLowerCase()
+ return departments.value.filter(dept => {
+ // 搜索部门名称
+ if (dept.deptName && dept.deptName.toLowerCase().includes(searchText)) {
+ return true
+ }
+ // 搜索部门编码
+ if (dept.deptCode && dept.deptCode.toLowerCase().includes(searchText)) {
+ return true
+ }
+ // 搜索负责人名称
+ if (dept.leaderName && dept.leaderName.toLowerCase().includes(searchText)) {
+ return true
+ }
+ return false
+ })
+})
+
const hasUserData = computed(() => {
return unassignedUsers.value.length > 0 || departmentUserCards.value.some((dept) => dept.users.length > 0)
})
@@ -1832,6 +1876,12 @@ const filterUserOption = (input: string, option: any) => {
return realName.includes(searchText) || username.includes(searchText)
}
+// 部门搜索处理
+const onDepartmentSearch = () => {
+ // 搜索逻辑通过 computed 属性 filteredDepartments 自动处理
+ // 此方法仅用于响应搜索事件,实际过滤在 computed 中完成
+}
+
// 显示积分池管理弹窗
const showScorePoolModal = async (dept: DepartmentOverview) => {
if (!dept.id) return