index.tsx 2.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. import React, { useContext, useState } from 'react';
  2. import style from '../../../../../businessPlan/create/index.less'
  3. import useNewToken from '@/Hook/useNewToken';
  4. import { DispatchOfficialChatCreate } from '../..';
  5. import { Button, Empty, message } from 'antd';
  6. import SettingsContent from './settingsContent';
  7. import PreviewContent from './previewContent';
  8. const Content: React.FC = () => {
  9. /*******************************************/
  10. const { token } = useNewToken()
  11. const { setSettings, settings, onPreviewReset, isEditSc } = useContext(DispatchOfficialChatCreate)!;
  12. const [newVisible, setNewVisible] = useState<boolean>(false);
  13. /*******************************************/
  14. return <>
  15. <div className={`${style.settingsBody_content_row}`} style={{ width: '65%' }}>
  16. <div className={`${style.settingsBody_content_col}`} style={{ width: '100%' }}>
  17. <div className={style.title}>
  18. <span>内容</span>
  19. </div>
  20. <div className={style.detail}>
  21. <div className={style.detail_title}>群发内容配置</div>
  22. <div className={style.detail_body}>
  23. {settings?.strategyDTO && Object.keys(settings?.strategyDTO).length > 0 ? <>
  24. <PreviewContent strategyList={settings?.strategyDTO?.strategyList} />
  25. </> : <Empty image={Empty.PRESENTED_IMAGE_SIMPLE} />}
  26. </div>
  27. </div>
  28. <div className={style.detail_footer}>
  29. {settings?.strategyDTO && Object.keys(settings?.strategyDTO).length > 0
  30. ? <Button type="link" style={{ padding: 0, fontSize: 12 }} size="small" onClick={() => setNewVisible(true)}>编辑</Button>
  31. : <Button type="link" style={{ padding: 0, fontSize: 12 }} size="small" onClick={() => message.error('请先设置策略')}>编辑</Button>
  32. }
  33. </div>
  34. </div>
  35. </div>
  36. {/* 群聊群发内容配置 */}
  37. {newVisible && <SettingsContent
  38. visible={newVisible}
  39. value={settings?.strategyDTO}
  40. onClose={() => setNewVisible(false)}
  41. isEditSc={isEditSc}
  42. onChange={(values) => {
  43. setSettings({
  44. ...settings,
  45. strategyDTO: {
  46. ...settings.strategyDTO,
  47. ...values
  48. }
  49. })
  50. setNewVisible(false)
  51. onPreviewReset();
  52. }}
  53. />}
  54. </>;
  55. };
  56. export default React.memo(Content);