Merge remote-tracking branch 'origin/main'

2.0/email-builder
Lei OT 10 months ago
commit a01c81978a

@ -229,7 +229,6 @@ const CustomerProfile = () => {
>
<div><Typography.Text ellipsis={{tooltip: email.SenderReceiver}} style={{width: 280}}><b>From: </b>{email.SenderReceiver}</Typography.Text></div>
<div><Typography.Text ellipsis={{tooltip: email.MAI_Subject}} style={{width: 280}}><b>Subject: </b>{email.MAI_Subject}</Typography.Text></div>
<Tag>{email.MAI_COLI_ID}</Tag>
</Flex>
</List.Item>
)}

@ -1,5 +1,5 @@
import { Radio, Row, Col, Tooltip, Flex, Form, Input, Button, InputNumber, Select, message } from 'antd'
import { useState, useEffect } from 'react'
import { Radio, Row, Col, Tooltip, Flex, App, Typography, Form, Input, Button, InputNumber, Select, message } from 'antd'
import { useState, useEffect, useCallback } from 'react'
import HtmlPreview from './HtmlPreview'
import useAuthStore from '@/stores/AuthStore'
import useConversationStore from '@/stores/ConversationStore'
@ -7,6 +7,8 @@ import { useOrderStore } from '@/stores/OrderStore'
import { InfoCircleOutlined } from '@ant-design/icons'
function GeneratePayment() {
const { notification } = App.useApp()
const [messageApi, contextHolder] = message.useMessage()
const [generateForm] = Form.useForm()
@ -18,15 +20,21 @@ function GeneratePayment() {
const [isHtmlLoading, setHtmlLoading] = useState(false)
const [generatedObject, setGeneratedObject] = useState('')
const handleGenerate = () => {
const handleGenerate = useCallback(() => {
setHtmlLoading(true)
generatePayment(generateForm.getFieldsValue())
.then((result) => {
setGeneratedObject(result)
})
.catch((ex) => console.info(ex))
.catch((ex) =>
notification.error({
message: 'Notification',
description: ex.message,
placement: 'top',
duration: 4,
}))
.finally(() => setHtmlLoading(false))
}
}, [])
useEffect(() => {
if (currentOrder) {
@ -162,9 +170,7 @@ function GeneratePayment() {
<Button
type='primary'
loading={isHtmlLoading}
onClick={() => {
handleGenerate()
}}>
onClick={handleGenerate}>
生成
</Button>
</Flex>
@ -173,19 +179,19 @@ function GeneratePayment() {
<Col span={6}>
<Flex gap='small' vertical>
<Flex gap='small'>
<span>支付按钮</span>
<Tooltip placement='topLeft' title='发送邮件使用'>
<InfoCircleOutlined />
</Tooltip>
<span>支付按钮</span>
</Flex>
<HtmlPreview value={generatedObject.payhtml} loading={isHtmlLoading} onCopied={() => messageApi.success('已复制')} />
<Flex gap='small'>
<span>支付链接</span>
<Tooltip placement='topLeft' title='发送 WhatsApp 使用'>
<InfoCircleOutlined />
</Tooltip>
<span>支付链接</span>
</Flex>
<Input readOnly value={generatedObject.paylink} />
<Typography.Text>{generatedObject.paylink}</Typography.Text>
</Flex>
</Col>
{contextHolder}

@ -1,10 +1,9 @@
import { useEffect, useCallback } from 'react'
import { Row, Col, Space, Descriptions, Avatar, Tag, Divider, List, App, Button, Flex, Select, Spin, Form, Typography, QRCode, Tooltip } from 'antd'
import { UserOutlined, InfoCircleOutlined, CloseCircleFilled, ReloadOutlined, CheckCircleFilled } from '@ant-design/icons'
import { UserOutlined, InfoCircleOutlined, ReloadOutlined, CheckCircleFilled } from '@ant-design/icons'
import useAuthStore from '@/stores/AuthStore'
function Profile() {
const { notification } = App.useApp()
const [wabaForm] = Form.useForm()
@ -17,7 +16,6 @@ function Profile() {
}, [])
const handelUpdateWABA = useCallback(() => {
console.info('handelUpdateWABA: %o', wabaForm.getFieldsValue())
setWhatsAppBusiness(loginUser.userId, wabaForm.getFieldsValue().whatsAppBusiness)
.then(() => {
notification.info({
@ -26,7 +24,7 @@ function Profile() {
placement: 'top',
})
})
.catch(ex => {
.catch((ex) => {
notification.error({
message: 'Notification',
description: ex.message,
@ -107,11 +105,7 @@ function Profile() {
<span>商业号身份</span>
</Space>
}>
<Form
layout='vertical'
form={wabaForm}
initialValues={{whatsAppBusiness: loginUser.whatsAppBusiness}}
>
<Form layout='vertical' className='w-3/5' form={wabaForm} initialValues={{ whatsAppBusiness: loginUser.whatsAppBusiness }}>
<Form.Item name='whatsAppBusiness'>
<Select
options={[
@ -126,10 +120,12 @@ function Profile() {
{
value: 'GH 客运',
label: 'GH 客运(无)',
disabled: true,
},
{
value: 'GH 客服',
label: 'GH 客服(无)',
disabled: true,
},
{
value: 'CT 事业部',
@ -145,9 +141,7 @@ function Profile() {
/>
</Form.Item>
<Form.Item>
<Button
type='primary'
onClick={handelUpdateWABA}>
<Button type='primary' onClick={handelUpdateWABA}>
保存
</Button>
</Form.Item>

Loading…
Cancel
Save