订单高级查询: 独立搜索组件

dev/timezone
Lei OT 1 year ago
parent 02ada3e705
commit 4072c44bd6

@ -13,42 +13,15 @@ export const useOrderStore = create((set, get) => ({
fetchOrderList: async (formValues, loginUser) => {
let fetchOrderUrl = `${API_HOST}/getwlorder?opisn=${loginUser.userIdStr}&otype=${formValues.type}`
const params = {};
if (formValues.type === 'advance') {
let fromDate = null
let thruDate = null
if (isNotEmpty(formValues.startDateRange)) {
fromDate = formValues.startDateRange[0].format('YYYY-MM-DD')
thruDate = formValues.startDateRange[1].format('YYYY-MM-DD')
}
let confirmFromDate = null
let confirmThruDate = null
if (isNotEmpty(formValues.confirmDateRange)) {
confirmFromDate = formValues.confirmDateRange[0].format('YYYY-MM-DD')
confirmThruDate = formValues.confirmDateRange[1].format('YYYY-MM-DD')
}
fetchOrderUrl = prepareUrl('https://p9axztuwd7x8a7.mycht.cn/whatsapp_server/getdvancedwlorder')
.append('opisn', loginUser.userIdStr)
.append('startdate', fromDate)
.append('enddate', thruDate)
.append('tag', formValues.orderLabel)
.append('orderstate', formValues.orderStatus)
.append('remindstate', formValues.remindState)
.append('coli_id', formValues.orderNumber)
.append('firstName', formValues.firstName)
.append('lastName', formValues.lastName)
.append('emailphone', formValues.emailOrPhone)
.append('ConfirmDateStart', confirmFromDate)
.append('ConfirmDateEnd', confirmThruDate)
.build()
fetchOrderUrl = `${API_HOST}/getdvancedwlorder?opisn=${loginUser.userIdStr}`;
const { type, ...formParams } = formValues;
Object.assign(params, formParams)
}
return fetchJSON(fetchOrderUrl)
return fetchJSON(fetchOrderUrl, params)
.then(json => {
if (json.errcode === 0) {
set(() => ({
@ -148,4 +121,4 @@ export const RemindStateDefaultOptions = [
{ value: '1', label: '一催' },
{ value: '2', label: '二催' },
{ value: '3', label: '三催' }
]
]

@ -1,149 +1,23 @@
import { Conditional } from '@/components/Conditional'
import useAuthStore from '@/stores/AuthStore'
import useFormStore from '@/stores/FormStore'
import { useOrderStore, OrderLabelDefaultOptions, OrderStatusDefaultOptions, RemindStateDefaultOptions } from '@/stores/OrderStore'
import { useOrderStore } from '@/stores/OrderStore'
import { copy, isNotEmpty, isEmpty } from '@/utils/commons'
import { WhatsAppOutlined } from '@ant-design/icons'
import {
App, Badge, Button,
Col,
DatePicker,
App, Badge,
Empty,
Flex, Form, Input,
Radio, Row, Select, Space, Switch, Table,
Flex,
Radio, Space, Switch, Table,
Tabs, Divider,
Tag, Tooltip
} from 'antd'
import dayjs from 'dayjs'
import { memo, useCallback, useEffect, useState } from 'react'
import { useCallback, useEffect, useState } from 'react'
import { Link } from 'react-router-dom'
import { useShallow } from 'zustand/react/shallow'
import { UNREAD_MARK } from '@/actions/ConversationActions';
const { RangePicker } = DatePicker
const AdvanceSearchForm = memo(function noName({ initialValues, onSubmit }) {
const DATE_RANGE_PRESETS = [
{
label: '本周',
value: [dayjs().startOf('w'), dayjs().endOf('w')],
},
{
label: '上周',
value: [dayjs().startOf('w').subtract(7, 'days'), dayjs().endOf('w').subtract(7, 'days')],
},
{
label: '本月',
value: [dayjs().startOf('M'), dayjs().endOf('M')],
},
{
label: '上月',
value: [dayjs().subtract(1, 'M').startOf('M'), dayjs().subtract(1, 'M').endOf('M')],
},
{
label: '前三月',
value: [dayjs().subtract(2, 'M').startOf('M'), dayjs().endOf('M')],
},
{
label: '本年',
value: [dayjs().startOf('y'), dayjs().endOf('y')],
},
]
const orderLabelOptions = copy(OrderLabelDefaultOptions)
orderLabelOptions.unshift({ value: '', label: '全部' })
const orderStatusOptions = copy(OrderStatusDefaultOptions)
orderStatusOptions.unshift({ value: '', label: '全部' })
const remindStateOptions = copy(RemindStateDefaultOptions)
remindStateOptions.unshift({ value: '', label: '全部' })
const [form] = Form.useForm()
function handleSubmit(values) {
onSubmit?.(values)
}
return (
<Form
layout={'vertical'}
form={form}
initialValues={{
orderLabel: '', orderStatus: '', remindState: '', ...initialValues
}}
onFinish={handleSubmit}
>
<Row justify='start' gutter={16}>
<Col span={4}>
<Form.Item label='订单号' name='orderNumber'>
<Input placeholder='订单号' allowClear />
</Form.Item>
</Col>
<Col span={4}>
<Form.Item label='邮件地址/客人电话' name='emailOrPhone'>
<Input placeholder='邮件地址/客人电话' allowClear />
</Form.Item>
</Col>
<Col span={4}>
<Form.Item label='First name' name='firstName'>
<Input placeholder='First name' allowClear />
</Form.Item>
</Col>
<Col span={4}>
<Form.Item label='Last name' name='lastName'>
<Input placeholder='Last name' allowClear />
</Form.Item>
</Col>
</Row>
<Row justify='start' align='middle' gutter={16}>
<Col span={2}>
<Form.Item label='标签' name='orderLabel'>
<Select
options={orderLabelOptions}
/>
</Form.Item>
</Col>
<Col span={2}>
<Form.Item label='状态' name='orderStatus'>
<Select
options={orderStatusOptions}
/>
</Form.Item>
</Col>
<Col span={2}>
<Form.Item label='催信' name='remindState'>
<Select
options={remindStateOptions}
/>
</Form.Item>
</Col>
<Col span={4}>
<Form.Item label='出发日期' name='startDateRange'>
<RangePicker
allowClear={true}
inputReadOnly={true}
presets={DATE_RANGE_PRESETS}
/>
</Form.Item>
</Col>
<Col span={4}>
<Form.Item label='确认日期' name='confirmDateRange'>
<RangePicker
allowClear={true}
inputReadOnly={true}
presets={DATE_RANGE_PRESETS}
/>
</Form.Item>
</Col>
<Col span={1} offset={1}>
<Button type='primary' htmlType='submit'>搜索</Button>
</Col>
</Row>
</Form>
)
})
import AdvanceSearchForm from './AdvanceSearchForm';
function OrderGroupTable({ formValues }) {

Loading…
Cancel
Save