Browse Source

feat:排序修改

master
wang 1 month ago
parent
commit
404dadb371
  1. 6
      src/api/system/employee-api.js
  2. 12
      src/views/business/erp/penalty-apply/penalty-apply-list.vue
  3. 80
      src/views/business/erp/service/service-applications-list.vue

6
src/api/system/employee-api.js

@ -90,4 +90,10 @@ export const employeeApi = {
queryEmployeeByDeptId: (departmentId) => { queryEmployeeByDeptId: (departmentId) => {
return getRequest(`/employee/getAllEmployeeByDepartmentId/${departmentId}`); return getRequest(`/employee/getAllEmployeeByDepartmentId/${departmentId}`);
}, },
/**
* 搜索员工下拉框搜索用
*/
searchEmployee: (params) => {
return getRequest('/employee/search', params);
},
}; };

12
src/views/business/erp/penalty-apply/penalty-apply-list.vue

@ -346,6 +346,7 @@ import PenaltyApplyForm from './penalty-apply-form.vue';
applyDateStart: undefined, // applyDateStart: undefined, //
applyDateEnd: undefined, // applyDateEnd: undefined, //
status: undefined, // status: undefined, //
userType: undefined, // ceo/cto/staff/user
}; };
// form // form
const queryForm = reactive({ ...queryFormState }); const queryForm = reactive({ ...queryFormState });
@ -456,6 +457,17 @@ import PenaltyApplyForm from './penalty-apply-form.vue';
// //
isFirmAdmin.value = roleCodes.includes('staff'); isFirmAdmin.value = roleCodes.includes('staff');
// userType
if (isCeo.value) {
queryForm.userType = 'ceo';
} else if (isCto.value) {
queryForm.userType = 'cto';
} else if (isFirmAdmin.value) {
queryForm.userType = 'staff';
} else {
queryForm.userType = 'user';
}
console.log('用户角色代码:', roleCodes, 'isCeo:', isCeo.value, 'isUser:', isUser.value, 'isCto:', isCto.value, 'isFirmAdmin:', isFirmAdmin.value); console.log('用户角色代码:', roleCodes, 'isCeo:', isCeo.value, 'isUser:', isUser.value, 'isCto:', isCto.value, 'isFirmAdmin:', isFirmAdmin.value);
} }
} }

80
src/views/business/erp/service/service-applications-list.vue

@ -14,7 +14,7 @@
<a-form-item label="执业机构" v-if="isAssociationRole || isCeo" class="smart-query-form-item"> <a-form-item label="执业机构" v-if="isAssociationRole || isCeo" class="smart-query-form-item">
<DepartmentTreeSelect style="width: 250px" v-model:value="queryForm.firmId" placeholder="请选择执业机构" @change="handleFirmChange" /> <DepartmentTreeSelect style="width: 250px" v-model:value="queryForm.firmId" placeholder="请选择执业机构" @change="handleFirmChange" />
</a-form-item> </a-form-item>
<a-form-item label="律师名称" v-if="isAssociationRole || isCtoRole || isCeo" class="smart-query-form-item"> <a-form-item label="律师名称" v-if="isAssociationRole || isCtoRole || isCeo || isFirmAdmin" class="smart-query-form-item">
<a-select <a-select
v-model:value="queryForm.userId" v-model:value="queryForm.userId"
style="width: 200px" style="width: 200px"
@ -23,7 +23,7 @@
:allowClear="true" :allowClear="true"
:filterOption="false" :filterOption="false"
optionFilterProp="children" optionFilterProp="children"
@focus="loadEmployeesByFirm" @focus="loadEmployeesByFirm()"
@search="handleLawyerSearch" @search="handleLawyerSearch"
@change="handleLawyerChange" @change="handleLawyerChange"
@clear="handleLawyerClear" @clear="handleLawyerClear"
@ -484,26 +484,8 @@ import { getRoleInfo } from '/@/utils/role-util';
const employeeList = ref([]); const employeeList = ref([]);
// //
const searchKeyword = ref(''); const searchKeyword = ref('');
// // 使API
const filteredEmployeeList = computed(() => { const filteredEmployeeList = computed(() => employeeList.value);
let result = employeeList.value;
//
if (queryForm.firmId) {
result = result.filter(item => item.departmentId == queryForm.firmId);
}
//
if (searchKeyword.value) {
const keyword = searchKeyword.value.toLowerCase();
result = result.filter(item =>
(item.actualName && item.actualName.toLowerCase().includes(keyword)) ||
(item.departmentName && item.departmentName.toLowerCase().includes(keyword))
);
}
return result;
});
// //
const auditModalVisible = ref(false); const auditModalVisible = ref(false);
@ -618,13 +600,6 @@ import { getRoleInfo } from '/@/utils/role-util';
return optionText.includes(input.toLowerCase()); return optionText.includes(input.toLowerCase());
} }
//
function handleLawyerSearch(keyword) {
searchKeyword.value = keyword;
}
// //
async function handleBatchAudit() { async function handleBatchAudit() {
if (!batchAuditForm.auditResult) { if (!batchAuditForm.auditResult) {
@ -833,34 +808,50 @@ import { getRoleInfo } from '/@/utils/role-util';
} }
} }
// // 使
async function loadAllEmployees() { async function loadEmployeesByFirm(keyword = '') {
try { try {
if (employeeList.value.length === 0) { // ctostaff
let resp = await employeeApi.queryAll(); // /CEO
employeeList.value = resp.data; let firmId = undefined;
} if (loginInfo.value) {
} catch (e) { const roleCode = loginInfo.value.roleCode || '';
console.error('加载员工数据失败:', e); if (roleCode === 'cto' || roleCode === 'staff') {
firmId = loginInfo.value.departmentId;
} }
} }
// const params = {
async function loadEmployeesByFirm() { firmId: queryForm.firmId || firmId,
try { keyword: keyword || undefined,
if (employeeList.value.length === 0) { limit: 50
await loadAllEmployees(); };
} const resp = await employeeApi.searchEmployee(params);
employeeList.value = resp.data || [];
} catch (e) { } catch (e) {
console.error('加载员工数据失败:', e); console.error('加载员工数据失败:', e);
} }
} }
//
let searchTimer = null;
//
function handleLawyerSearch(keyword) {
clearTimeout(searchTimer);
searchKeyword.value = keyword;
searchTimer = setTimeout(() => {
loadEmployeesByFirm(keyword);
}, 300); // 300ms
}
// //
function handleFirmChange(firmId) { function handleFirmChange(firmId) {
// //
queryForm.userId = undefined; queryForm.userId = undefined;
searchKeyword.value = ''; searchKeyword.value = '';
//
loadEmployeesByFirm('');
} }
// //
@ -868,9 +859,10 @@ import { getRoleInfo } from '/@/utils/role-util';
searchKeyword.value = ''; searchKeyword.value = '';
} }
// //
function handleLawyerClear() { function handleLawyerClear() {
searchKeyword.value = ''; searchKeyword.value = '';
loadEmployeesByFirm('');
} }
// //

Loading…
Cancel
Save