feat: 打开供应商邮件

2.0/email-builder
Lei OT 10 months ago
parent d705fa7e22
commit ade510a701

@ -53,6 +53,7 @@ const initialConversationState = {
totalNotify: 0,
msgListLoading: false,
detailPopupOpen: false,
};
const globalNotifySlice = (set) => ({
@ -467,6 +468,18 @@ const messageSlice = (set, get) => ({
},
});
/**
* Email
*/
const emailSlice = (set, get) => ({
emailMsg: {},
setEmailMsg: (emailMsg) => set({ emailMsg }),
detailPopupOpen: false,
setDetailOpen: (v) => set({ detailPopupOpen: v }),
openDetail: () => set(() => ({ detailPopupOpen: true })),
closeDetail: () => set(() => ({ detailPopupOpen: false })),
})
export const useConversationStore = create(
devtools((set, get) => ({
...initialConversationState,
@ -479,6 +492,7 @@ export const useConversationStore = create(
...tagsSlice(set, get),
...filterSlice(set, get),
...globalNotifySlice(set, get),
...emailSlice(set, get),
// state actions
addError: (error) => set((state) => ({ errors: [...state.errors, error] })),

@ -18,6 +18,9 @@ const TagColorStyle = (tag) => {
}
}
/**
* @property {*} emailMsg - 邮件数据. { msgOrigin: { from, to, id, email: { subject, mai_sn, } } }
*/
const EmailDetail = ({ open, setOpen, emailMsg, ...props }) => {
// console.log('emailDetail', emailMsg);

@ -12,6 +12,7 @@ import QuotesHistory from "./QuotesHistory";
import ConversationBind from "./../ConversationBind";
import ConversationsNewItem from "./../ConversationsNewItem";
import { useConversationNewItem } from "@/hooks/useConversation";
import EmailDetail from './../Components/EmailDetail';
const CustomerProfile = () => {
const { notification, message } = App.useApp();
@ -22,6 +23,7 @@ const CustomerProfile = () => {
const currentOrder = useConversationStore(state => state.currentConversation?.coli_sn || "");
const currentConversationID = useConversationStore(state => state.currentConversation?.sn || "");
const [updateCurrentConversation] = useConversationStore(state => [state.updateCurrentConversation]);
const [emailDetail, setEmailMsg, detailPopupOpen, setDetailOpen, openDetail] = useConversationStore(state => [state.emailDetail, state.setEmailMsg, state.detailPopupOpen, state.setDetailOpen, state.openDetail]);
const loginUser = useAuthStore(state => state.loginUser);
const [
orderDetail, customerDetail, lastQuotation, quotationList, fetchOrderDetail, setOrderPropValue, appendOrderComment, fetchOtherEmail, otherEmailList
@ -83,6 +85,12 @@ const CustomerProfile = () => {
const renderOtherEmailList = () => {
}
const handleEmailClick = (emailItem) => {
const emailMsg = { msgOrigin: { from: '', to: '', id: emailItem.MAI_SN, email: { mai_sn: emailItem.MAI_SN, subject: emailItem.MAI_Subject, id: emailItem.MAI_SN } } }
setEmailMsg(emailMsg);
openDetail();
}
if (currentOrder) {
@ -223,6 +231,7 @@ const CustomerProfile = () => {
className='hover:bg-stone-50'
onClick={() => {
console.info('email...')
handleEmailClick(email)
}}>
<Flex
vertical
@ -275,6 +284,8 @@ const CustomerProfile = () => {
</Button>
</Spin>
<ConversationsNewItem initialValues={newChatFormValues} open={newChatModalVisible} onCreate={handleNewChat} onCancel={() => setNewChatModalVisible(false)} />
<EmailDetail open={detailPopupOpen} setOpen={setDetailOpen} emailMsg={emailDetail} key={`email-detail-1-${emailDetail.id}`} />
</div>
);
} else {

Loading…
Cancel
Save