From 4a4fbc85ac65dcff40d816853c64b8884f4f6bdf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E2=80=9Cwangzihua=E2=80=9D?= Date: Fri, 9 Jan 2026 11:16:10 +0800 Subject: [PATCH] =?UTF-8?q?feat:=E6=8A=A5=E8=A1=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../system/department-tree-select/index.vue | 15 +++++++++++++++ .../service-count/firm-statistics-detail.vue | 4 ++-- .../system/service-count/quarter-statistics.vue | 4 ++-- .../erp/service/service-applications-count.vue | 15 +++++++++++---- .../system/account/components/center/index.vue | 2 +- .../components/employee-form-modal/index.vue | 4 ++-- 6 files changed, 33 insertions(+), 11 deletions(-) diff --git a/src/components/system/department-tree-select/index.vue b/src/components/system/department-tree-select/index.vue index 053ab23..83519bb 100644 --- a/src/components/system/department-tree-select/index.vue +++ b/src/components/system/department-tree-select/index.vue @@ -20,6 +20,7 @@ allow-clear tree-default-expand-all :multiple="props.multiple" + :filterTreeNode="filterTreeNode" @change="onChange" /> @@ -52,6 +53,20 @@ emit('update:value', e); } + // 自定义筛选函数,支持汉字模糊匹配 + function filterTreeNode(inputValue, treeNode) { + // 获取节点的部门名称 + const departmentName = treeNode.departmentName || ''; + + // 如果输入为空,显示所有节点 + if (!inputValue) { + return true; + } + + // 支持汉字模糊匹配:检查部门名称是否包含输入的文字 + return departmentName.includes(inputValue); + } + defineExpose({ queryDepartmentTree, }); diff --git a/src/components/system/service-count/firm-statistics-detail.vue b/src/components/system/service-count/firm-statistics-detail.vue index 625fcb4..c0b6a5e 100644 --- a/src/components/system/service-count/firm-statistics-detail.vue +++ b/src/components/system/service-count/firm-statistics-detail.vue @@ -8,7 +8,7 @@

律所统计详情

-
统计时间:{{ queryParams.year }}年第{{ queryParams.quarter }}季度
+
统计时间:{{ queryParams.year }}年第{{ queryParams.quarter }}季度
@@ -24,7 +24,7 @@
律所服务统计报表
-
统计时间:{{ queryParams.year }}年第{{ queryParams.quarter }}季度
+
统计时间:{{ queryParams.year }}年第{{ queryParams.quarter }}季度
diff --git a/src/components/system/service-count/quarter-statistics.vue b/src/components/system/service-count/quarter-statistics.vue index c5d09b0..ce2f2ff 100644 --- a/src/components/system/service-count/quarter-statistics.vue +++ b/src/components/system/service-count/quarter-statistics.vue @@ -30,9 +30,9 @@ - + diff --git a/src/views/business/erp/service/service-applications-count.vue b/src/views/business/erp/service/service-applications-count.vue index 877c9c8..a89b5c1 100644 --- a/src/views/business/erp/service/service-applications-count.vue +++ b/src/views/business/erp/service/service-applications-count.vue @@ -37,9 +37,12 @@ - + + +
+ +
+
@@ -88,6 +91,7 @@ import { ExportOutlined, SearchOutlined, ReloadOutlined, ArrowLeftOutlined } fro import { message } from 'ant-design-vue'; import QuarterStatistics from '/@/components/system/service-count/quarter-statistics.vue'; import FirmStatisticsDetail from '/@/components/system/service-count/firm-statistics-detail.vue'; +import DepartmentTreeSelect from '/@/components/system/department-tree-select/index.vue'; import { loginApi } from '/@/api/system/login-api'; import { serviceApplicationsApi } from '/@/api/business/service-applications/service-applications-api'; @@ -100,7 +104,8 @@ const hasQueried = ref(false); const queryForm = reactive({ quarter: null, year: new Date().getFullYear(), - //firmName: '' + //firmName: '', + firmId: null }); const tableData = ref([]); const summaryData = ref(null); @@ -158,6 +163,7 @@ async function handleQuery() { quarter: queryForm.quarter, year: queryForm.year, firmName: queryForm.firmName, + firmId: queryForm.firmId, // 管理员接口默认分页参数 pageNum: 1, pageSize: 500 @@ -220,6 +226,7 @@ function handleReset() { queryForm.quarter = null; queryForm.year = new Date().getFullYear(); queryForm.firmName = ''; + queryForm.firmId = null; tableData.value = []; summaryData.value = null; hasQueried.value = false; diff --git a/src/views/system/account/components/center/index.vue b/src/views/system/account/components/center/index.vue index 62ead70..f3af292 100644 --- a/src/views/system/account/components/center/index.vue +++ b/src/views/system/account/components/center/index.vue @@ -130,7 +130,7 @@ { pattern: regular.phone, message: '请输入正确的手机号码', trigger: 'blur' }, ], gender: [{ required: true, message: '性别不能为空' }], - email: [{ required: true, message: '请输入邮箱' }], + //email: [{ required: true, message: '请输入邮箱' }], }; // 头像地址 let avatarUrl = ref(); diff --git a/src/views/system/employee/components/employee-form-modal/index.vue b/src/views/system/employee/components/employee-form-modal/index.vue index a724b2b..dfb6b09 100644 --- a/src/views/system/employee/components/employee-form-modal/index.vue +++ b/src/views/system/employee/components/employee-form-modal/index.vue @@ -49,7 +49,7 @@ - + {{ item.roleName }} @@ -152,7 +152,7 @@ departmentId: [{ required: true, message: '部门不能为空' }], disabledFlag: [{ required: true, message: '状态不能为空' }], leaveFlag: [{ required: true, message: '在职状态不能为空' }], - email: [{ required: true, message: '请输入邮箱' }], + //email: [{ required: true, message: '请输入邮箱' }], }; // 校验表单