Просмотр исходного кода

✨ feat(clients): 完善客户管理页面功能

- 添加UserSelect组件用于用户选择
- 新增salesPersonId(业务员)和operatorId(操作员)字段
- 将responsibleUserId重命名为salesPersonId以明确业务含义
- 表单中使用UserSelect组件替换数字输入框,优化用户选择体验
- 新增负责人字段并使用UserSelect组件
- 调整表单布局,优化字段分组显示
yourname 8 месяцев назад
Родитель
Сommit
03b8650190
1 измененных файлов с 24 добавлено и 5 удалено
  1. 24 5
      src/client/admin/pages/Clients.tsx

+ 24 - 5
src/client/admin/pages/Clients.tsx

@@ -2,6 +2,7 @@ import React, { useState, useEffect } from 'react';
 import { Table, Button, Space, Input, Modal, Form ,Select} from 'antd';
 import { Table, Button, Space, Input, Modal, Form ,Select} from 'antd';
 import { App } from 'antd';
 import { App } from 'antd';
 import AreaTreeSelect from '@/client/admin/components/AreaTreeSelect';
 import AreaTreeSelect from '@/client/admin/components/AreaTreeSelect';
+import UserSelect from '@/client/admin/components/UserSelect';
 import { PlusOutlined, EditOutlined, DeleteOutlined, SearchOutlined } from '@ant-design/icons';
 import { PlusOutlined, EditOutlined, DeleteOutlined, SearchOutlined } from '@ant-design/icons';
 import { useQuery, useMutation, useQueryClient } from '@tanstack/react-query';
 import { useQuery, useMutation, useQueryClient } from '@tanstack/react-query';
 import { clientClient, areaClient } from '@/client/api';
 import { clientClient, areaClient } from '@/client/api';
@@ -133,6 +134,8 @@ const Clients: React.FC = () => {
         source: record.source,
         source: record.source,
         description: record.description,
         description: record.description,
         responsibleUserId: record.responsibleUserId,
         responsibleUserId: record.responsibleUserId,
+        salesPersonId: record.salesPersonId,
+        operatorId: record.operatorId,
         groupId: record.groupId,
         groupId: record.groupId,
         remarks: record.remarks,
         remarks: record.remarks,
         status: record.status,
         status: record.status,
@@ -293,12 +296,12 @@ const Clients: React.FC = () => {
     },
     },
     {
     {
       title: '业务员',
       title: '业务员',
-      dataIndex: 'responsibleUserId',
+      dataIndex: 'salesPersonId',
       key: 'salesperson',
       key: 'salesperson',
       width: 120,
       width: 120,
-      render: (responsibleUserId: number) => {
+      render: (salesPersonId: number) => {
         // 这里需要根据实际业务关联用户表
         // 这里需要根据实际业务关联用户表
-        return responsibleUserId || '-';
+        return salesPersonId || '-';
       },
       },
     },
     },
     {
     {
@@ -509,10 +512,10 @@ const Clients: React.FC = () => {
             </Form.Item>
             </Form.Item>
             
             
             <Form.Item
             <Form.Item
-              name="responsibleUserId"
+              name="salesPersonId"
               label="业务员"
               label="业务员"
             >
             >
-              <Input type="number" placeholder="请输入业务员ID" />
+              <UserSelect placeholder="请选择业务员" />
             </Form.Item>
             </Form.Item>
           </div>
           </div>
           
           
@@ -547,6 +550,15 @@ const Clients: React.FC = () => {
               <Input placeholder="请输入预计投标时间" />
               <Input placeholder="请输入预计投标时间" />
             </Form.Item>
             </Form.Item>
             
             
+            <Form.Item
+              name="operatorId"
+              label="操作员"
+            >
+              <UserSelect placeholder="请选择操作员" />
+            </Form.Item>
+          </div>
+          
+          <div className="grid grid-cols-2 gap-4">
             <Form.Item
             <Form.Item
               name="status"
               name="status"
               label="项目状态"
               label="项目状态"
@@ -557,6 +569,13 @@ const Clients: React.FC = () => {
                 <Select.Option value={1}>有效</Select.Option>
                 <Select.Option value={1}>有效</Select.Option>
               </Select>
               </Select>
             </Form.Item>
             </Form.Item>
+            
+            <Form.Item
+              name="responsibleUserId"
+              label="负责人"
+            >
+              <UserSelect placeholder="请选择负责人" />
+            </Form.Item>
           </div>
           </div>
           
           
           <Form.Item
           <Form.Item