Change department to position

This commit is contained in:
2026-03-02 14:02:16 +08:00
parent 76d5cdf542
commit 11f3eda668
4 changed files with 26 additions and 21 deletions

View File

@@ -61,7 +61,7 @@ function EmployeeSerialsPage() {
} }
}; };
const handleGenerate = async (values: { companyName: string; department: string; employeeName: string; quantity: number }) => { const handleGenerate = async (values: { companyName: string; position: string; employeeName: string; quantity: number }) => {
setGenerateLoading(true); setGenerateLoading(true);
try { try {
const result = await employeeSerialApi.generate(values); const result = await employeeSerialApi.generate(values);
@@ -110,18 +110,23 @@ function EmployeeSerialsPage() {
setSelectedSerial(serial); setSelectedSerial(serial);
editForm.setFieldsValue({ editForm.setFieldsValue({
companyName: serial.companyName, companyName: serial.companyName,
department: serial.department, position: serial.position, // 映射 position 到 position
employeeName: serial.employeeName, employeeName: serial.employeeName,
isActive: serial.isActive, isActive: serial.isActive,
}); });
setEditModalVisible(true); setEditModalVisible(true);
}; };
const handleUpdate = async (values: { companyName?: string; department?: string; employeeName?: string; isActive?: boolean }) => { const handleUpdate = async (values: { companyName?: string; position?: string; employeeName?: string; isActive?: boolean }) => {
if (!selectedSerial) return; if (!selectedSerial) return;
setEditLoading(true); setEditLoading(true);
try { try {
await employeeSerialApi.update(selectedSerial.serialNumber, values); await employeeSerialApi.update(selectedSerial.serialNumber, {
companyName: values.companyName,
position: values.position, // 映射 position 到 position
employeeName: values.employeeName,
isActive: values.isActive,
});
message.success('更新成功'); message.success('更新成功');
setEditModalVisible(false); setEditModalVisible(false);
loadSerials(); loadSerials();
@@ -205,9 +210,9 @@ function EmployeeSerialsPage() {
key: 'companyName', key: 'companyName',
}, },
{ {
title: '部门', title: '职位',
dataIndex: 'department', dataIndex: 'position',
key: 'department', key: 'position',
}, },
{ {
title: '员工姓名', title: '员工姓名',
@@ -288,7 +293,7 @@ function EmployeeSerialsPage() {
extra={ extra={
<Space> <Space>
<Input.Search <Input.Search
placeholder="搜索序列号/企业/部门/员工" placeholder="搜索序列号/企业/职位/员工"
allowClear allowClear
style={{ width: 250 }} style={{ width: 250 }}
onSearch={handleSearch} onSearch={handleSearch}
@@ -350,11 +355,11 @@ function EmployeeSerialsPage() {
<Input placeholder="请输入企业名称" /> <Input placeholder="请输入企业名称" />
</Form.Item> </Form.Item>
<Form.Item <Form.Item
name="department" name="position"
label="部门" label="职位"
rules={[{ required: true, message: '请输入部门' }]} rules={[{ required: true, message: '请输入职位' }]}
> >
<Input placeholder="请输入部门" /> <Input placeholder="请输入职位" />
</Form.Item> </Form.Item>
<Form.Item <Form.Item
name="employeeName" name="employeeName"
@@ -436,10 +441,10 @@ function EmployeeSerialsPage() {
<Input placeholder="请输入企业名称" /> <Input placeholder="请输入企业名称" />
</Form.Item> </Form.Item>
<Form.Item <Form.Item
name="department" name="position"
label="部门" label="职位"
> >
<Input placeholder="请输入部门" /> <Input placeholder="请输入职位" />
</Form.Item> </Form.Item>
<Form.Item <Form.Item
name="employeeName" name="employeeName"
@@ -479,7 +484,7 @@ function EmployeeSerialsPage() {
<Space direction="vertical" style={{ width: '100%' }} size="middle"> <Space direction="vertical" style={{ width: '100%' }} size="middle">
<div> <div>
<p><strong>:</strong> {generatedData.serials?.[0]?.companyName}</p> <p><strong>:</strong> {generatedData.serials?.[0]?.companyName}</p>
<p><strong>:</strong> {generatedData.serials?.[0]?.department}</p> <p><strong>:</strong> {generatedData.serials?.[0]?.position}</p>
<p><strong>:</strong> {generatedData.serials?.[0]?.employeeName}</p> <p><strong>:</strong> {generatedData.serials?.[0]?.employeeName}</p>
<p><strong>:</strong> {generatedData.serials?.length || 0}</p> <p><strong>:</strong> {generatedData.serials?.length || 0}</p>
</div> </div>
@@ -521,7 +526,7 @@ function EmployeeSerialsPage() {
{selectedSerial?.serialNumber} {selectedSerial?.serialNumber}
</p> </p>
<p style={{ marginTop: '8px', fontSize: '12px', color: '#999' }}> <p style={{ marginTop: '8px', fontSize: '12px', color: '#999' }}>
{selectedSerial?.companyName} - {selectedSerial?.department} - {selectedSerial?.employeeName} {selectedSerial?.companyName} - {selectedSerial?.position} - {selectedSerial?.employeeName}
</p> </p>
</> </>
)} )}

View File

@@ -149,7 +149,7 @@ function PublicQueryPage() {
{serialType === 'employee' && (result as EmployeeSerialResult).department && ( {serialType === 'employee' && (result as EmployeeSerialResult).department && (
<> <>
<div className="detail-item"> <div className="detail-item">
<span className="label"></span> <span className="label"></span>
<span className="value">{(result as EmployeeSerialResult).department}</span> <span className="value">{(result as EmployeeSerialResult).department}</span>
</div> </div>
<div className="detail-item"> <div className="detail-item">

View File

@@ -221,7 +221,7 @@ export const dashboardApi = {
export const employeeSerialApi = { export const employeeSerialApi = {
generate: async (data: { generate: async (data: {
companyName: string; companyName: string;
department: string; position: string;
employeeName: string; employeeName: string;
quantity: number; quantity: number;
serialPrefix?: string; serialPrefix?: string;
@@ -290,7 +290,7 @@ export const employeeSerialApi = {
update: async (serialNumber: string, data: { update: async (serialNumber: string, data: {
companyName?: string; companyName?: string;
department?: string; position?: string;
employeeName?: string; employeeName?: string;
isActive?: boolean; isActive?: boolean;
}) => { }) => {

View File

@@ -94,7 +94,7 @@ export interface CompanyFilter {
export interface EmployeeSerial { export interface EmployeeSerial {
serialNumber: string; serialNumber: string;
companyName: string; companyName: string;
department: string; position: string;
employeeName: string; employeeName: string;
isActive: boolean; isActive: boolean;
createdAt: string; createdAt: string;