|
|
@@ -2,9 +2,12 @@ import React, { useState, useEffect } from 'react';
|
|
|
import { Table, Button, Modal, Form, Input, DatePicker, Select, message, Space, Popconfirm } from 'antd';
|
|
|
import { PlusOutlined, EditOutlined, DeleteOutlined, SearchOutlined } from '@ant-design/icons';
|
|
|
import type { ColumnsType } from 'antd/es/table';
|
|
|
+import dayjs from 'dayjs';
|
|
|
import { InferRequestType, InferResponseType } from 'hono/client';
|
|
|
import { orderRecordClient } from '@/client/api';
|
|
|
import { ClientSelect } from '@/client/admin/components/ClientSelect';
|
|
|
+import { UserSelect } from '@/client/admin/components/UserSelect';
|
|
|
+import { LinkmanSelect } from '@/client/admin/components/LinkmanSelect';
|
|
|
|
|
|
const { RangePicker } = DatePicker;
|
|
|
const { Option } = Select;
|
|
|
@@ -211,7 +214,7 @@ const OrderRecords: React.FC = () => {
|
|
|
setEditingRecord(record);
|
|
|
form.setFieldsValue({
|
|
|
...record,
|
|
|
- orderDate: dayjs(record.orderDate),
|
|
|
+ orderDate: record.orderDate ? dayjs(record.orderDate) : null,
|
|
|
deliveryDate: record.deliveryDate ? dayjs(record.deliveryDate) : null,
|
|
|
});
|
|
|
setModalVisible(true);
|
|
|
@@ -247,7 +250,7 @@ const OrderRecords: React.FC = () => {
|
|
|
const values = await form.validateFields();
|
|
|
const formData = {
|
|
|
...values,
|
|
|
- orderDate: values.orderDate.format('YYYY-MM-DD'),
|
|
|
+ orderDate: values.orderDate ? values.orderDate.format('YYYY-MM-DD') : null,
|
|
|
deliveryDate: values.deliveryDate ? values.deliveryDate.format('YYYY-MM-DD') : null,
|
|
|
};
|
|
|
|
|
|
@@ -355,6 +358,15 @@ const OrderRecords: React.FC = () => {
|
|
|
>
|
|
|
<Input placeholder="请输入公司名称" />
|
|
|
</Form.Item>
|
|
|
+
|
|
|
+ <Form.Item
|
|
|
+ name="clientId"
|
|
|
+ label="选择客户"
|
|
|
+ rules={[{ required: true, message: '请选择客户' }]}
|
|
|
+ >
|
|
|
+ <ClientSelect placeholder="请选择客户" />
|
|
|
+ </Form.Item>
|
|
|
+
|
|
|
<Form.Item
|
|
|
name="orderNumber"
|
|
|
label="订单编号"
|
|
|
@@ -362,13 +374,38 @@ const OrderRecords: React.FC = () => {
|
|
|
>
|
|
|
<Input placeholder="请输入订单编号" />
|
|
|
</Form.Item>
|
|
|
+
|
|
|
+ <Form.Item
|
|
|
+ name="linkmanId"
|
|
|
+ label="选择联系人"
|
|
|
+ >
|
|
|
+ <LinkmanSelect placeholder="请选择联系人" />
|
|
|
+ </Form.Item>
|
|
|
+
|
|
|
<Form.Item
|
|
|
name="contactPerson"
|
|
|
label="联系人"
|
|
|
- rules={[{ required: true, message: '请输入联系人' }]}
|
|
|
+ rules={[{ required: true, message: '请输入联系人姓名' }]}
|
|
|
+ >
|
|
|
+ <Input placeholder="请输入联系人姓名" />
|
|
|
+ </Form.Item>
|
|
|
+
|
|
|
+ <Form.Item
|
|
|
+ name="userId"
|
|
|
+ label="选择业务员"
|
|
|
+ rules={[{ required: true, message: '请选择业务员' }]}
|
|
|
>
|
|
|
- <Input placeholder="请输入联系人" />
|
|
|
+ <UserSelect placeholder="请选择业务员" />
|
|
|
</Form.Item>
|
|
|
+
|
|
|
+ <Form.Item
|
|
|
+ name="salesperson"
|
|
|
+ label="业务员姓名"
|
|
|
+ rules={[{ required: true, message: '请输入业务员姓名' }]}
|
|
|
+ >
|
|
|
+ <Input placeholder="请输入业务员姓名" />
|
|
|
+ </Form.Item>
|
|
|
+
|
|
|
<Form.Item
|
|
|
name="orderDate"
|
|
|
label="下单日期"
|
|
|
@@ -376,9 +413,11 @@ const OrderRecords: React.FC = () => {
|
|
|
>
|
|
|
<DatePicker style={{ width: '100%' }} />
|
|
|
</Form.Item>
|
|
|
+
|
|
|
<Form.Item name="deliveryDate" label="交单日期">
|
|
|
<DatePicker style={{ width: '100%' }} />
|
|
|
</Form.Item>
|
|
|
+
|
|
|
<Form.Item
|
|
|
name="advancePayment"
|
|
|
label="预付款"
|
|
|
@@ -386,6 +425,7 @@ const OrderRecords: React.FC = () => {
|
|
|
>
|
|
|
<Input type="number" placeholder="请输入预付款" />
|
|
|
</Form.Item>
|
|
|
+
|
|
|
<Form.Item
|
|
|
name="orderAmount"
|
|
|
label="订单金额"
|
|
|
@@ -393,6 +433,7 @@ const OrderRecords: React.FC = () => {
|
|
|
>
|
|
|
<Input type="number" placeholder="请输入订单金额" />
|
|
|
</Form.Item>
|
|
|
+
|
|
|
<Form.Item
|
|
|
name="orderStatus"
|
|
|
label="订单状态"
|
|
|
@@ -403,13 +444,6 @@ const OrderRecords: React.FC = () => {
|
|
|
<Option value={1}>已完成</Option>
|
|
|
</Select>
|
|
|
</Form.Item>
|
|
|
- <Form.Item
|
|
|
- name="salesperson"
|
|
|
- label="业务员"
|
|
|
- rules={[{ required: true, message: '请输入业务员' }]}
|
|
|
- >
|
|
|
- <Input placeholder="请输入业务员" />
|
|
|
- </Form.Item>
|
|
|
</Form>
|
|
|
</Modal>
|
|
|
</div>
|