下单页高亮显示上一个操作的订单,并修复换货名称异常 #13

Merged
longbot merged 3 commits from longbot/WEB:Improvement-order-page into main 2025-08-25 08:09:36 +00:00
2 changed files with 28 additions and 11 deletions

View File

@ -1,3 +1,5 @@
import styles from '../../../style/order-list.css';
import InternationalPhoneInput from '@/components/InternationalPhoneInput'; import InternationalPhoneInput from '@/components/InternationalPhoneInput';
import { HistoryOrder } from '@/pages/Statistics/Order'; import { HistoryOrder } from '@/pages/Statistics/Order';
import { ORDER_STATUS_ENUM } from '@/constants'; import { ORDER_STATUS_ENUM } from '@/constants';
@ -84,6 +86,7 @@ const ListPage: React.FC = () => {
const actionRef = useRef<ActionType>(); const actionRef = useRef<ActionType>();
const [activeKey, setActiveKey] = useState<string>('all'); const [activeKey, setActiveKey] = useState<string>('all');
const [count, setCount] = useState<any[]>([]); const [count, setCount] = useState<any[]>([]);
const [activeLine, setActiveLine] = useState<number>(-1);
const tabs: TabsProps['items'] = useMemo(() => { const tabs: TabsProps['items'] = useMemo(() => {
const total = count.reduce((acc, cur) => acc + Number(cur.count), 0); const total = count.reduce((acc, cur) => acc + Number(cur.count), 0);
const tabs = [ const tabs = [
@ -265,7 +268,7 @@ const ListPage: React.FC = () => {
record.orderStatus, record.orderStatus,
) ? ( ) ? (
<> <>
<Shipping id={record.id as number} tableRef={actionRef} /> <Shipping id={record.id as number} tableRef={actionRef} setActiveLine={setActiveLine}/>
<Divider type="vertical" /> <Divider type="vertical" />
</> </>
) : ( ) : (
@ -276,6 +279,7 @@ const ListPage: React.FC = () => {
record={record} record={record}
tableRef={actionRef} tableRef={actionRef}
orderId={record.id as number} orderId={record.id as number}
setActiveLine={setActiveLine}
/> />
<Divider type="vertical" /> <Divider type="vertical" />
<Dropdown <Dropdown
@ -393,6 +397,9 @@ const ListPage: React.FC = () => {
scroll={{ x: 'max-content' }} scroll={{ x: 'max-content' }}
actionRef={actionRef} actionRef={actionRef}
rowKey="id" rowKey="id"
rowClassName={(record) => {
return record.id === activeLine ? styles['selected-line-order-protable']: '';
}}
toolBarRender={() => [ toolBarRender={() => [
<CreateOrder tableRef={actionRef} />, <CreateOrder tableRef={actionRef} />,
<SyncForm tableRef={actionRef} />, <SyncForm tableRef={actionRef} />,
@ -480,7 +487,8 @@ const Detail: React.FC<{
tableRef: React.MutableRefObject<ActionType | undefined>; tableRef: React.MutableRefObject<ActionType | undefined>;
orderId: number; orderId: number;
record: API.Order; record: API.Order;
}> = ({ tableRef, orderId, record }) => { setActiveLine: Function
}> = ({ tableRef, orderId, record, setActiveLine }) => {
const [visiable, setVisiable] = useState(false); const [visiable, setVisiable] = useState(false);
const { message } = App.useApp(); const { message } = App.useApp();
const ref = useRef<ActionType>(); const ref = useRef<ActionType>();
@ -510,7 +518,10 @@ const Detail: React.FC<{
return ( return (
<> <>
<Button key="detail" type="primary" onClick={() => setVisiable(true)}> <Button key="detail" type="primary" onClick={() => {
setVisiable(true);
setActiveLine(record.id);
}}>
<FileDoneOutlined /> <FileDoneOutlined />
</Button> </Button>
@ -1049,7 +1060,8 @@ const Shipping: React.FC<{
tableRef?: React.MutableRefObject<ActionType | undefined>; tableRef?: React.MutableRefObject<ActionType | undefined>;
descRef?: React.MutableRefObject<ActionType | undefined>; descRef?: React.MutableRefObject<ActionType | undefined>;
reShipping?: boolean; reShipping?: boolean;
}> = ({ id, tableRef, descRef, reShipping = false }) => { setActiveLine: Function;
}> = ({ id, tableRef, descRef, reShipping = false, setActiveLine }) => {
const [options, setOptions] = useState<any[]>([]); const [options, setOptions] = useState<any[]>([]);
const formRef = useRef<ProFormInstance>(); const formRef = useRef<ProFormInstance>();
@ -1071,7 +1083,11 @@ const Shipping: React.FC<{
}, },
}} }}
trigger={ trigger={
<Button type="primary"> <Button type="primary"
onClick={() => {
setActiveLine(id);
}}
>
<CodeSandboxOutlined /> <CodeSandboxOutlined />
</Button> </Button>
@ -1843,7 +1859,6 @@ const SalesChange: React.FC<{
detailRef?: React.MutableRefObject<ActionType | undefined>; detailRef?: React.MutableRefObject<ActionType | undefined>;
reShipping?: boolean; reShipping?: boolean;
}> = ({ id, detailRef }) => { }> = ({ id, detailRef }) => {
const [options, setOptions] = useState<any[]>([]);
const formRef = useRef<ProFormInstance>(); const formRef = useRef<ProFormInstance>();
@ -1908,9 +1923,8 @@ const SalesChange: React.FC<{
> >
<ProForm.Group> <ProForm.Group>
<ProFormSelect <ProFormSelect
params={{ options }} params={{ }}
request={async ({ keyWords, options }) => { request={async ({ keyWords }) => {
if (!keyWords || keyWords.length < 2) return options;
try { try {
const { data } = await productcontrollerSearchproducts({ const { data } = await productcontrollerSearchproducts({
name: keyWords, name: keyWords,
@ -1921,10 +1935,10 @@ const SalesChange: React.FC<{
label: `${item.name} - ${item.nameCn}`, label: `${item.name} - ${item.nameCn}`,
value: item?.sku, value: item?.sku,
}; };
}) || options })
); );
} catch (error) { } catch (error) {
return options; return [];
} }
}} }}
name="sku" name="sku"

3
src/style/order-list.css Normal file
View File

@ -0,0 +1,3 @@
.selected-line-order-protable {
background-color: #add8e6;
}