Просмотр исходного кода

xiufu邮件模板测试弹框的问题

pm 2 месяцев назад
Родитель
Сommit
20cb159a60
1 измененных файлов с 11 добавлено и 4 удалено
  1. 11 4
      src/components/mailTemplate/MailTemplateSendForm.tsx

+ 11 - 4
src/components/mailTemplate/MailTemplateSendForm.tsx

@@ -1,4 +1,5 @@
 import React, { useState, useImperativeHandle, forwardRef } from 'react';
+import { useTranslation } from 'react-i18next';
 import { Modal, Form, Input, message } from 'antd';
 import { emailTemplateApi, MailSendReqVO } from '../../api/emailTemplate';
 
@@ -13,6 +14,7 @@ export interface MailTemplateSendFormRef {
 }
 
 const MailTemplateSendForm = forwardRef<MailTemplateSendFormRef, MailTemplateSendFormProps>(({ onSuccess }, ref) => {
+  const { t } = useTranslation();
   const [dialogVisible, setDialogVisible] = useState(false);
   const [formLoading, setFormLoading] = useState(false);
   const [form] = Form.useForm();
@@ -34,9 +36,12 @@ const MailTemplateSendForm = forwardRef<MailTemplateSendFormRef, MailTemplateSen
       setTemplateContent(data.content || '');
       setTemplateCode(data.code || '');
       
-      // 解析参数
-      if (data.params) {
-        const paramsArray = data.params.split(',').map((p: string) => p.trim()).filter((p: string) => p);
+      // 解析参数(params 可能为字符串或数组)
+      if (data.params != null && data.params !== '') {
+        const raw = data.params;
+        const paramsArray = Array.isArray(raw)
+          ? raw.map((p: any) => String(p).trim()).filter((p: string) => p)
+          : String(raw).split(',').map((p: string) => p.trim()).filter((p: string) => p);
         setTemplateParams(paramsArray);
         
         // 初始化表单参数值
@@ -102,10 +107,12 @@ const MailTemplateSendForm = forwardRef<MailTemplateSendFormRef, MailTemplateSen
 
   return (
     <Modal
-      title="测试"
+      title={t('mailTemplate.test')}
       open={dialogVisible}
       onCancel={() => setDialogVisible(false)}
       onOk={submitForm}
+      okText={t('common.save')}
+      cancelText={t('common.cancel')}
       confirmLoading={formLoading}
       width={600}
       destroyOnClose