From 1246657f2430b20673fcf6c355b5d36194beed4b Mon Sep 17 00:00:00 2001
From: Lei OT
Date: Tue, 5 Nov 2024 10:44:00 +0800
Subject: [PATCH] =?UTF-8?q?todo:=20=E9=82=AE=E4=BB=B6=E9=87=8D=E5=8F=91?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/actions/EmailActions.js | 9 +-
src/assets/icons/reset-left-fill.svg | 1 +
src/assets/icons/reset-left-line.svg | 1 +
src/assets/icons/restart-fill.svg | 1 +
src/assets/icons/restart-line.svg | 1 +
src/components/Icons.jsx | 4 +
.../Online/Components/BubbleEmail.jsx | 6 +-
.../Online/Components/EmailDetail.jsx | 90 +++++++++++++------
.../Online/Input/EmailEditorPopup.jsx | 20 ++++-
9 files changed, 104 insertions(+), 29 deletions(-)
create mode 100644 src/assets/icons/reset-left-fill.svg
create mode 100644 src/assets/icons/reset-left-line.svg
create mode 100644 src/assets/icons/restart-fill.svg
create mode 100644 src/assets/icons/restart-line.svg
diff --git a/src/actions/EmailActions.js b/src/actions/EmailActions.js
index 7706241..f6c0465 100644
--- a/src/actions/EmailActions.js
+++ b/src/actions/EmailActions.js
@@ -17,6 +17,9 @@ export const salesSignature = async (opisn, lgc = 1) => {
}
};
+/**
+ * 发送邮件
+ */
export const postSendEmail = async (body) => {
const { attaList, atta, content, ...bodyData } = body;
const formData = new FormData();
@@ -30,7 +33,11 @@ export const postSendEmail = async (body) => {
return result;
};
-export const postResendEmail = async (body) => {
+/**
+ * 重发邮件
+ * @param {object} { mai_sn }
+ */
+export const postResendEmailAction = async (body) => {
const { attaList, atta, content, ...bodyData } = body;
const formData = new FormData();
Object.keys(bodyData).forEach(function (key) {
diff --git a/src/assets/icons/reset-left-fill.svg b/src/assets/icons/reset-left-fill.svg
new file mode 100644
index 0000000..552333e
--- /dev/null
+++ b/src/assets/icons/reset-left-fill.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/assets/icons/reset-left-line.svg b/src/assets/icons/reset-left-line.svg
new file mode 100644
index 0000000..4a5ea68
--- /dev/null
+++ b/src/assets/icons/reset-left-line.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/assets/icons/restart-fill.svg b/src/assets/icons/restart-fill.svg
new file mode 100644
index 0000000..21ccfca
--- /dev/null
+++ b/src/assets/icons/restart-fill.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/assets/icons/restart-line.svg b/src/assets/icons/restart-line.svg
new file mode 100644
index 0000000..63c519e
--- /dev/null
+++ b/src/assets/icons/restart-line.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/components/Icons.jsx b/src/components/Icons.jsx
index 8ac97be..53c2465 100644
--- a/src/components/Icons.jsx
+++ b/src/components/Icons.jsx
@@ -10,6 +10,8 @@ import InboxSVG from '@/assets/icons/inbox-2-fill.svg?react';
import MailSendFillSVG from '@/assets/icons/mail-send-fill.svg?react';
import SendPlaneFillSVG from '@/assets/icons/send-plane-fill.svg?react';
import SendPlaneLineSVG from '@/assets/icons/send-plane-line.svg?react';
+import ResendLineSVG from '@/assets/icons/reset-left-line.svg?react';
+import EditLineSVG from '@/assets/icons/quill-pen-line.svg?react';
export const ReplyIcon = (props) => ;
@@ -21,6 +23,8 @@ export const InboxIcon = (props) => ;
export const MailSendIcon = (props) => ;
export const SendPlaneFillIcon = (props) => ;
export const SendPlaneLineIcon = (props) => ;
+export const ResendIcon = (props) => ;
+export const EditIcon = (props) => ;
const WABSvg = () => (
`;
+const generateMailContent = (mailData) => `
+
+ ${mailData.content}
+
`
+
const EmailEditorPopup = ({ open, setOpen, fromEmail, fromUser, conversationid, quoteid, initial = {}, mailData: _mailData, action = 'reply', ...props }) => {
const [mobile] = useStyleStore((state) => [state.mobile]);
const [userId, username, emailList] = useAuthStore((state) => [state.loginUser.userId, state.loginUser.username, state.loginUser.emailList]);
@@ -120,8 +125,9 @@ const EmailEditorPopup = ({ open, setOpen, fromEmail, fromUser, conversationid,
const preQuoteBody = generateQuoteContent(mailData);
- if ( !isEmpty(mailData.info))
+ if ( !isEmpty(mailData.info) && action !== 'edit') {
setInitialContent(preQuoteBody);
+ }
const _formValues = {
to: info?.MAI_From || fromEmail,
@@ -136,6 +142,18 @@ const EmailEditorPopup = ({ open, setOpen, fromEmail, fromUser, conversationid,
} else if (action === 'forward') {
form.setFieldsValue(forwardValues);
setInitialForm(forwardValues);
+ } else if (action === 'edit') {
+ const thisFormValues = {
+ to: info?.MAI_To || '',
+ cc: info?.MAI_CS || '',
+ subject: info?.MAI_Subject || '',
+ };
+ form.setFieldsValue(thisFormValues);
+ setInitialForm(thisFormValues);
+ const thisBody = generateMailContent(mailData);
+ console.log('thisBody', thisBody);
+
+ setInitialContent(thisBody)
}
return () => {};