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) => {
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, //
applyDateEnd: undefined, //
status: undefined, //
userType: undefined, // ceo/cto/staff/user
};
// form
const queryForm = reactive({ ...queryFormState });
@ -456,6 +457,17 @@ import PenaltyApplyForm from './penalty-apply-form.vue';
//
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);
}
}

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

Loading…
Cancel
Save