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

dev/ckeditor
Lei OT 4 months ago
commit 5d41b44270

@ -322,7 +322,7 @@ export const queryEmailListAction = async ({ opi_sn = '', pagesize = 10, last_id
/** /**
* 更新邮件属性 * 更新邮件属性
*/ */
export const updateEmailAction = async (params = { opi_sn: '', mai_sn_list: [], set: {} }) => { export const updateEmailAction = async (params = { opi_sn: 0, mai_sn_list: [], set: {} }) => {
const { errcode, result } = await postJSON(`${API_HOST_V3}/mail_update`, params) const { errcode, result } = await postJSON(`${API_HOST_V3}/mail_update`, params)
return errcode === 0 ? {} : result return errcode === 0 ? {} : result
} }

@ -75,8 +75,7 @@ const OrderProfile = ({ coliSN, ...props }) => {
<CompassOutlined className=' pr-1' /> <CompassOutlined className=' pr-1' />
Thailand Thailand
</Typography.Text> </Typography.Text>
<Typography.Text>
<Typography.Text href={'/callcenter/call/' + customerDetail.phone}>
<PhoneOutlined className=' pr-1' /> <PhoneOutlined className=' pr-1' />
{customerDetail.phone} {customerDetail.phone}
</Typography.Text> </Typography.Text>

@ -158,6 +158,24 @@ export const useEmailList = (mailboxDirNode) => {
const { OPI_SN: opi_sn, COLI_SN, VKey, VParent, ApplyDate, OrderSourceType, IsTrue } = mailboxDirNode const { OPI_SN: opi_sn, COLI_SN, VKey, VParent, ApplyDate, OrderSourceType, IsTrue } = mailboxDirNode
const markAsRead = useCallback((sn_list) => {
updateEmailAction({
opi_sn: opi_sn,
mai_sn_list: sn_list,
set: { read: 1}
});
refresh()
}, []);
const markAsProcessed = useCallback((sn_list) => {
updateEmailAction({
opi_sn: opi_sn,
mai_sn_list: sn_list,
set: { processed: 1}
});
refresh()
}, []);
const getMailList = useCallback(async () => { const getMailList = useCallback(async () => {
console.log('getMailList', mailboxDirNode) console.log('getMailList', mailboxDirNode)
if (!opi_sn || !VKey || (!IsTrue && !COLI_SN)) { if (!opi_sn || !VKey || (!IsTrue && !COLI_SN)) {
@ -200,7 +218,7 @@ export const useEmailList = (mailboxDirNode) => {
getMailList() getMailList()
}, [getMailList]) }, [getMailList])
return { loading, isFreshData, error, mailList, refresh } return { loading, isFreshData, error, mailList, refresh, markAsRead, markAsProcessed }
} }
const orderMailTypes = new Map([ const orderMailTypes = new Map([

@ -41,7 +41,7 @@ const MailBox = ({ mailboxDir, onMailItemClick, onSelect, ...props }) => {
] ]
const [form] = Form.useForm() const [form] = Form.useForm()
const [selectedItems, setSelectedItems] = useState([]) const [selectedItems, setSelectedItems] = useState([])
const { mailList, loading, error, refresh } = useEmailList(mailboxDir) const { mailList, loading, error, refresh, markAsRead, markAsProcessed } = useEmailList(mailboxDir)
const [pagination, setPagination] = useState({ const [pagination, setPagination] = useState({
current: 1, current: 1,
@ -145,7 +145,7 @@ const MailBox = ({ mailboxDir, onMailItemClick, onSelect, ...props }) => {
selectedItems.length > 0 && selectedItems.length > 0 &&
selectedItems.length < pagination.pagedList.length selectedItems.length < pagination.pagedList.length
} }
checked={pagination.pagedList.every((item) => checked={pagination.pagedList.length === 0 ? false : pagination.pagedList.every((item) =>
selectedItems.some((selected) => selected.MAI_SN === item.MAI_SN) selectedItems.some((selected) => selected.MAI_SN === item.MAI_SN)
)} )}
onChange={(e) => { onChange={(e) => {
@ -162,10 +162,19 @@ const MailBox = ({ mailboxDir, onMailItemClick, onSelect, ...props }) => {
></Checkbox> ></Checkbox>
</Tooltip> </Tooltip>
<Tooltip title='标记已读'> <Tooltip title='标记已读'>
<Button shape='circle' type='text' size='small' icon={<ReadOutlined />} /> <Button shape='circle' type='text' size='small' icon={<ReadOutlined />}
onClick={() => {
console.info('markAsRead: ', selectedItems.map((item) => item.MAI_SN))
markAsRead(selectedItems.map((item) => item.MAI_SN))
}}
/>
</Tooltip> </Tooltip>
<Tooltip title='已处理'> <Tooltip title='已处理'>
<Button shape='circle' type='text' size='small' icon={<MailCheckIcon />} /> <Button shape='circle' type='text' size='small' icon={<MailCheckIcon />}
onClick={() => {
console.info('markAsProcessed: ', selectedItems.map((item) => item.MAI_SN))
markAsProcessed(selectedItems.map((item) => item.MAI_SN))
}} />
</Tooltip> </Tooltip>
<Tooltip title='刷新'> <Tooltip title='刷新'>
<Button shape='circle' type='text' size='small' icon={<ReloadOutlined />} onClick={refresh} /> <Button shape='circle' type='text' size='small' icon={<ReloadOutlined />} onClick={refresh} />
@ -191,12 +200,12 @@ const MailBox = ({ mailboxDir, onMailItemClick, onSelect, ...props }) => {
// onFinish={handleSubmit} // onFinish={handleSubmit}
> >
<Row justify='start' gutter={16}> <Row justify='start' gutter={16}>
<Col span={8}> <Col span={10}>
<Form.Item label='订单号' name='orderNumber'> <Form.Item label='订单号' name='orderNumber'>
<Input placeholder='订单号' allowClear /> <Input placeholder='订单号' allowClear />
</Form.Item> </Form.Item>
</Col> </Col>
<Col span={10}> <Col span={12}>
<Form.Item label='日期' name='confirmDateRange'> <Form.Item label='日期' name='confirmDateRange'>
<RangePicker allowClear={true} inputReadOnly={true} presets={DATE_RANGE_PRESETS} /> <RangePicker allowClear={true} inputReadOnly={true} presets={DATE_RANGE_PRESETS} />
</Form.Item> </Form.Item>

Loading…
Cancel
Save