Merge remote-tracking branch 'origin/dev/2025a' into dev/2025a

# Conflicts:
#	src/views/orders/components/MailBox.jsx
dev/ckeditor
Lei OT 4 months ago
commit 1d513ec038

@ -7,7 +7,7 @@ import {
HeartTwoTone, HeartTwoTone,
MoneyCollectTwoTone, MoneyCollectTwoTone,
FolderOutlined, FolderOutlined,
DeleteOutlined, ClockCircleOutlined, DeleteOutlined, EditOutlined,
FormOutlined FormOutlined
} from '@ant-design/icons' } from '@ant-design/icons'
@ -124,7 +124,7 @@ const OrderProfile = (props) => {
<Divider orientation='left'> <Divider orientation='left'>
<Typography.Text strong>附加信息</Typography.Text> <Typography.Text strong>附加信息</Typography.Text>
<Tooltip title='修改'> <Tooltip title='修改'>
<FileAddOutlined className='pl-1' /> <EditOutlined className='pl-1' />
</Tooltip> </Tooltip>
</Divider> </Divider>
<Typography.Text> <Typography.Text>

@ -1,9 +1,39 @@
import { useCallback, useEffect, useState } from 'react' import { useCallback, useEffect, useState } from 'react'
import { ReloadOutlined, ReadOutlined, CheckSquareOutlined } from '@ant-design/icons' import { ReloadOutlined, ReadOutlined, CheckSquareOutlined, StarOutlined, RightOutlined, LeftOutlined } from '@ant-design/icons'
import { Flex, Button, Tooltip, List, Radio, Typography, Divider, Drawer, Dropdown, Input, Checkbox } from 'antd' import { Flex, Button, Tooltip, List, Form, Row, Col, Drawer, Dropdown, Input, Checkbox, DatePicker, Select, Breadcrumb } from 'antd'
import dayjs from 'dayjs'
const { RangePicker } = DatePicker
const MailBox = (props) => { const MailBox = (props) => {
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 [openOrder, setOpenOrder] = useState(false) const [openOrder, setOpenOrder] = useState(false)
const [form] = Form.useForm()
return ( return (
<> <>
<div className='bg-white h-auto px-1 flex gap-1 items-center'> <div className='bg-white h-auto px-1 flex gap-1 items-center'>
@ -83,70 +113,88 @@ const MailBox = (props) => {
<div className='bg-white overflow-y-auto' style={{ height: 'calc(100vh - 198px)' }}> <div className='bg-white overflow-y-auto' style={{ height: 'calc(100vh - 198px)' }}>
<List <List
// header={null} header={
header={<div>{props.title}</div>} <Flex align='center' justify="space-between">
<Breadcrumb
items={[
{
title: (
<>
<StarOutlined />
<span>今日任务</span>
</>
),
},
{
title: (
<>
<span>lyj20210810144702</span>
</>
),
},
]}
/>
<Flex align="center" justify="space-between">
<span>51-100 of 562</span>
<Button icon={<LeftOutlined />} type="text" iconPosition={'end'}></Button>
<Button icon={<RightOutlined />} type="text" iconPosition={'end'}></Button>
</Flex>
</Flex>
}
itemLayout='vertical' itemLayout='vertical'
size='large' size='large'
pagination={false} pagination={false}
dataSource={props.dataSource} dataSource={props.dataSource}
renderItem={(item) => ( renderItem={(item) => (
<li className={`flex border border-solid border-t-0 border-x-0 border-gray-200 hover:bg-gray-100 p-2 ${props?.selectedIds?.includes(item.key) ? 'bg-gray-100' : ''}`}> <li className='flex border border-solid border-t-0 border-x-0 border-gray-200 hover:bg-neutral-50 p-2'>
<div className='flex-1' onClick={() => props?.onMailClick(item.key)}>
<Flex gap='small' vertical={true} justify='space-between' className='cursor-pointer'>
<span className="font-bold">{item.title}</span>
<span className="text-neutral-500 text-wrap break-words break-all ">{item.description + ' ' + item.mailDate}</span>
{item.orderNo + ' ' + item.country}
</Flex>
</div>
<div className=''> <div className=''>
<Checkbox></Checkbox> <Checkbox></Checkbox>
</div> </div>
<div className='flex-1 pl-2'>
<Flex gap='small' vertical={true} justify='space-between' className='cursor-pointer'>
<span className='font-bold'>{item.title}</span>
<span className='text-neutral-500 text-wrap break-words break-all '>{item.description + ' ' + item.mailDate}</span>
{item.orderNo + ' ' + (item.country === null ? '' : item.country)}
</Flex>
</div>
</li> </li>
)} )}
/> />
</div> </div>
<Drawer title={'高级搜索'} placement='top' getContainer={false} size={'large'} mask={true} maskClosable={true} open={openOrder} onClose={() => setOpenOrder(false)}> <Drawer title={'高级搜索'} placement='top' getContainer={false} size={'large'} mask={true} maskClosable={true} open={openOrder} onClose={() => setOpenOrder(false)}>
<Divider orientation='left'> <Form
<Typography.Text strong>是否重要</Typography.Text> layout={'vertical'}
</Divider> form={form}
<Radio.Group initialValues={{}}
options={[ // onFinish={handleSubmit}
{ label: '重点', value: '1' }, >
{ label: '次重点', value: '2' }, <Row justify='start' gutter={16}>
{ label: '一般', value: '3' }, <Col span={4}>
]} <Form.Item label='订单号' name='orderNumber'>
/> <Input placeholder='订单号' allowClear />
</Form.Item>
<Divider orientation='left'> </Col>
<Typography.Text strong>状态</Typography.Text> <Col span={4}>
</Divider> <Form.Item label='出发日期' name='startDateRange'>
<Radio.Group <RangePicker allowClear={true} inputReadOnly={true} presets={DATE_RANGE_PRESETS} />
options={[ </Form.Item>
{ label: '新订单', value: '4' }, </Col>
{ label: '报价中', value: '5' }, <Col span={4}>
{ label: '以后联系', value: '6' }, <Form.Item label='确认日期' name='confirmDateRange'>
{ label: '等待付订金', value: '7' }, <RangePicker allowClear={true} inputReadOnly={true} presets={DATE_RANGE_PRESETS} />
{ label: '成行', value: '8' }, </Form.Item>
{ label: '丢失', value: '9' }, </Col>
{ label: '取消', value: '10' }, </Row>
{ label: '未报价', value: '11' }, <Row justify='start' align='middle' gutter={16}>
]} <Col span={1} offset={1}>
/> <Button type='primary' htmlType='submit'>
搜索
<Divider orientation='left'> </Button>
<Typography.Text strong> 催信</Typography.Text> </Col>
</Divider> </Row>
<Checkbox.Group </Form>
options={[
{ label: '一催', value: 'Apple', className: 'label-1' },
{ label: '二催', value: 'Pear', className: 'label-2' },
{ label: '三催', value: 'Orange', className: 'label-3' },
{ label: '重点团', value: '2233342', className: 'label-3' },
{ label: '已发 travel advisor survey', value: '43535', className: 'label-3' },
]}
defaultValue={['Apple']}
/>
</Drawer> </Drawer>
</> </>
) )

Loading…
Cancel
Save