diff --git a/apps/web/src/app/admin/staffinfo-manage/defaultFields.ts b/apps/web/src/app/admin/staffinfo-manage/defaultFields.ts index f849947..09cdfd5 100644 --- a/apps/web/src/app/admin/staffinfo-manage/defaultFields.ts +++ b/apps/web/src/app/admin/staffinfo-manage/defaultFields.ts @@ -15,8 +15,8 @@ export const defaultFields = [ label: '性别', type: 'radio', options: [ - { label: '男', value: 'male' }, - { label: '女', value: 'female' }, + { label: '男', value: '男' }, + { label: '女', value: '女' }, ], group: '基本信息', order: 7 }, @@ -57,11 +57,7 @@ export const defaultFields = [ // 职务信息组 { name: 'rank', label: '衔职级别', - type: 'select', - options: [ - { label: '', value: '' }, - { label: '', value: '' }, - ], + type: 'text', group: '职务信息', order: 13 }, { name: 'rankDate', label: '衔职时间', type: 'date', group: '职务信息', order: 14 }, diff --git a/apps/web/src/app/main/staffinfo_show/staffmessage_page.tsx b/apps/web/src/app/main/staffinfo_show/staffmessage_page.tsx index 6c0a193..90410a5 100644 --- a/apps/web/src/app/main/staffinfo_show/staffmessage_page.tsx +++ b/apps/web/src/app/main/staffinfo_show/staffmessage_page.tsx @@ -4,7 +4,20 @@ import { api, useStaff } from "@nice/client"; import 'ag-grid-community/styles/ag-grid.css'; import 'ag-grid-community/styles/ag-theme-alpine.css'; import { SetFilterModule } from 'ag-grid-enterprise'; -import { Button, message } from 'antd'; +import { Button, CascaderProps, message } from 'antd'; +import { areaOptions } from '@web/src/app/main/staffinfo_write/area-options'; +function getAreaName(codes: string[], level?: number): string { + const result: string[] = []; + let currentLevel: CascaderProps['options'] = areaOptions; + for (const code of codes) { + const found = currentLevel?.find(opt => opt.value === code); + if (!found) break; + result.push(String(found.label)); + currentLevel = found.children || []; + if (level && result.length >= level) break; // 添加层级控制 + } + return level ? result[level - 1] || '' : result.join(' / ') || codes.join('/'); +} export default function StaffMessage() { const [rowData, setRowData] = useState([]); @@ -51,13 +64,18 @@ export default function StaffMessage() { // 新增删除处理函数 const handleDelete = useCallback(async () => { if (selectedRows.length === 0) return; + console.log('待删除的选中行数据:', selectedRows); // 新增调试语句 try { await softDeleteByIds.mutateAsync({ - ids: selectedRows?.map(row => row.id) + ids: selectedRows?.map(row => { + console.log('当前行ID:', row.id); // 检查每个ID + return row.id + }) }); message.success('删除成功'); } catch (error) { message.error('删除失败'); + console.error('详细错误信息:', error); // 输出完整错误堆栈 } // 重新获取数据或本地过滤已删除项 }, [selectedRows]); @@ -84,11 +102,31 @@ export default function StaffMessage() { field: field.name, headerName: field.label || field.name, filter: 'agSetColumnFilter', + cellStyle: { whiteSpace: 'pre-line' }, + autoHeight: true, valueGetter: params => { - // 从 fieldValues 对象中获取值 - return params.data.fieldValues?.find( + // 获取原始值 + const rawValue = params.data.fieldValues?.find( (fv: any) => fv.fieldId === field.id )?.value; + + // 根据字段类型格式化 + switch(field.type) { + case 'cascader': + return rawValue ? getAreaName(rawValue.split('/')) : ''; + + case 'date': + // 格式化日期(假设存储的是ISO字符串) + return rawValue ? new Date(rawValue).toLocaleDateString() : ''; + + case 'textarea': + // 换行处理 + + return rawValue?.replace(/,/g, '\n'); + + default: + return rawValue; + } } })), [fields.data] @@ -109,12 +147,13 @@ export default function StaffMessage() { <> -
+

人员总览

setSelectedRows(e.api.getSelectedRows())} diff --git a/apps/web/src/app/main/staffinfo_write/staffinfo_write.page.tsx b/apps/web/src/app/main/staffinfo_write/staffinfo_write.page.tsx index 145e5d5..06cfb3d 100644 --- a/apps/web/src/app/main/staffinfo_write/staffinfo_write.page.tsx +++ b/apps/web/src/app/main/staffinfo_write/staffinfo_write.page.tsx @@ -80,8 +80,8 @@ const StaffInfoWrite = () => { return ( { setHasTrain(e.target.value); @@ -96,8 +96,8 @@ const StaffInfoWrite = () => { return ( { setHasCert(e.target.value); @@ -247,7 +247,7 @@ const StaffInfoWrite = () => { return (
-

人员信息管理

+

人员信息填报