模板参数输入

dev/mobile
Lei OT 2 years ago
parent 37656c35f0
commit 3e7d80068f

@ -89,7 +89,7 @@ function ChatHistory() {
}; };
const getMessages = async (chatItem) => { const getMessages = async (chatItem) => {
setLoading(true); setLoading(true);
const data = await fetchMessages({ opisn: chatItem.opi_sn, whatsappid: chatItem.whatsapp_phone_number, lasttime: chatItem?.lasttime || '2024-01-01T00:00:00' }); const data = await fetchMessages({ opisn: chatItem.opi_sn, whatsappid: chatItem.whatsapp_phone_number, lasttime: chatItem?.lasttime || '' });
setLoading(false); setLoading(false);
setChatItemMessages(prevValue => prevValue.concat(data)); setChatItemMessages(prevValue => prevValue.concat(data));
const thisLastTime = data.length > 0 ? data[data.length - 1].orgmsgtime : ''; const thisLastTime = data.length > 0 ? data[data.length - 1].orgmsgtime : '';

@ -1,4 +1,4 @@
import { useState, useRef, useEffect, memo } from 'react'; import { useState, useRef, useEffect } from 'react';
import { App, Popover, Flex, Button, List, Input } from 'antd'; import { App, Popover, Flex, Button, List, Input } from 'antd';
import { MessageOutlined, SendOutlined } from '@ant-design/icons'; import { MessageOutlined, SendOutlined } from '@ant-design/icons';
import useAuthStore from '@/stores/AuthStore' import useAuthStore from '@/stores/AuthStore'
@ -92,7 +92,7 @@ const InputTemplate = ({ disabled = false, invokeSendMessage }) => {
}); });
}; };
const RenderForm = memo(function renderForm({tempItem}) { const renderForm = (tempItem) => {
const templateText = tempItem.components.body?.[0]?.text || ''; const templateText = tempItem.components.body?.[0]?.text || '';
const tempArr = splitTemplate(templateText); const tempArr = splitTemplate(templateText);
const keys = (templateText.match(/{{(.*?)}}/g) || []).map((key) => key.replace(/{{|}}/g, '')); const keys = (templateText.match(/{{(.*?)}}/g) || []).map((key) => key.replace(/{{|}}/g, ''));
@ -111,16 +111,16 @@ const InputTemplate = ({ disabled = false, invokeSendMessage }) => {
size={'small'} size={'small'}
title={ele.key} title={ele.key}
placeholder={paramsVal[ele.key] || ele.key} placeholder={paramsVal[ele.key] || ele.key}
defaultValue={paramsVal[ele.key] || ''} // defaultValue={paramsVal[ele.key] || ''}
onPressEnter={() => handleSendTemplate(tempItem)} onPressEnter={() => handleSendTemplate(tempItem)}
/> />
) )
); );
}); };
return ( return (
<> <>
<Popover overlayClassName='w-3/5' <Popover overlayClassName='w-3/5'
fresh forceRender destroyTooltipOnHide={true} fresh
content={ content={
<> <>
<Input.Search <Input.Search
@ -155,7 +155,7 @@ const InputTemplate = ({ disabled = false, invokeSendMessage }) => {
description={ description={
<> <>
<div className=' max-h-40 overflow-y-auto divide-dashed divide-x-0 divide-y divide-gray-300'> <div className=' max-h-40 overflow-y-auto divide-dashed divide-x-0 divide-y divide-gray-300'>
<div className='text-slate-500'><RenderForm tempItem={item}/></div> <div className='text-slate-500'>{renderForm(item)}</div>
{item.components?.footer?.[0] ? <div className=''>{item.components.footer[0].text || ''}</div> : null} {item.components?.footer?.[0] ? <div className=''>{item.components.footer[0].text || ''}</div> : null}
</div> </div>
{/* <div className='text-right px-2'> {/* <div className='text-right px-2'>

Loading…
Cancel
Save