index.tsx 3.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273
  1. import useNewToken from '@/Hook/useNewToken';
  2. import React, { useContext, useState } from 'react';
  3. import style from '../../../../businessPlan/create/index.less'
  4. import { DispatchMomentsTaskCreate } from '../..';
  5. import { App, Button, Empty } from 'antd';
  6. import SettingsContent from './settingsContent';
  7. import PreviewMomentsContent from './previewMomentsContent';
  8. const Content: React.FC = () => {
  9. /*******************************************/
  10. const { token } = useNewToken()
  11. const { message } = App.useApp()
  12. const { setSettings, settings, onPreviewReset } = useContext(DispatchMomentsTaskCreate)!;
  13. const [newVisible, setNewVisible] = useState<boolean>(false);
  14. /*******************************************/
  15. return <>
  16. <div className={`${style.settingsBody_content_row}`} style={{ width: '65%' }}>
  17. <div className={`${style.settingsBody_content_col}`} style={{ width: '100%' }}>
  18. <div className={style.title}>
  19. <span>内容</span>
  20. </div>
  21. <div className={style.detail}>
  22. <div className={style.detail_title}>朋友圈内容配置</div>
  23. <div className={style.detail_body}>
  24. {settings?.massSendingStrategy && Object.keys(settings?.massSendingStrategy).length > 0 ? <>
  25. <PreviewMomentsContent
  26. strategyList={settings?.massSendingStrategy?.strategyList || []}
  27. />
  28. </> : <Empty image={Empty.PRESENTED_IMAGE_SIMPLE} />}
  29. </div>
  30. </div>
  31. <div className={style.detail_footer}>
  32. <Button
  33. type="link"
  34. style={{ padding: 0, fontSize: 12, color: token.colorPrimary }}
  35. size='small'
  36. onClick={() => {
  37. if (!(settings?.massSendingStrategy && Object.keys(settings?.massSendingStrategy))) {
  38. message.error('请先配置策略')
  39. return
  40. }
  41. setNewVisible(true);
  42. }}
  43. >编辑</Button>
  44. </div>
  45. </div>
  46. </div>
  47. {/* 配置朋友圈对象 */}
  48. {newVisible && <SettingsContent
  49. visible={newVisible}
  50. onClose={() => setNewVisible(false)}
  51. onChange={(values) => {
  52. const corpUsers = settings?.corpUsers?.map(item => {
  53. delete item?.groupMsgContent
  54. return item
  55. })
  56. setSettings({
  57. ...settings,
  58. corpUsers,
  59. massSendingStrategy: values
  60. });
  61. onPreviewReset();
  62. setNewVisible(false);
  63. }}
  64. value={settings?.massSendingStrategy}
  65. />}
  66. </>;
  67. };
  68. export default Content;