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)
return errcode === 0 ? {} : result
}

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

@ -158,6 +158,24 @@ export const useEmailList = (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 () => {
console.log('getMailList', mailboxDirNode)
if (!opi_sn || !VKey || (!IsTrue && !COLI_SN)) {
@ -200,7 +218,7 @@ export const useEmailList = (mailboxDirNode) => {
getMailList()
}, [getMailList])
return { loading, isFreshData, error, mailList, refresh }
return { loading, isFreshData, error, mailList, refresh, markAsRead, markAsProcessed }
}
const orderMailTypes = new Map([

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

Loading…
Cancel
Save