wjx 8 місяців тому
батько
коміт
3be66c5a84
100 змінених файлів з 374 додано та 269 видалено
  1. 1 1
      config/config.ts
  2. 3 3
      package.json
  3. 0 1
      src/Hook/useEcharts.tsx
  4. 1 1
      src/components/ActionModal/index.tsx
  5. 1 1
      src/components/ActionModal/more.tsx
  6. 1 1
      src/components/Alink/index.tsx
  7. 0 59
      src/components/BatchAddLabel/index.tsx
  8. 2 2
      src/components/Cropper/index.tsx
  9. 2 2
      src/components/CropperImg/index.tsx
  10. 13 13
      src/components/CustomList/index.tsx
  11. 6 6
      src/components/EarlyWarning/addEdit.tsx
  12. 1 1
      src/components/EarlyWarning/expandedRowTable.tsx
  13. 2 2
      src/components/EarlyWarning/look.tsx
  14. 1 1
      src/components/EarlyWarning/ruleAccountLog.tsx
  15. 1 1
      src/components/EarlyWarning/ruleLog.tsx
  16. 1 1
      src/components/EarlyWarning/setEarlyWarning.tsx
  17. 1 1
      src/components/EarlyWarning/setEarlyWarnings.tsx
  18. 1 1
      src/components/EarlyWarning/setEarlyWarningsAccount.tsx
  19. 2 2
      src/components/Expression/index.tsx
  20. 4 4
      src/components/FileBox/components/fileModal/index.tsx
  21. 3 3
      src/components/FileBox/components/fileModal/sortModal.tsx
  22. 3 3
      src/components/FileBox/components/imgModal/index.tsx
  23. 1 1
      src/components/FileBox/components/newsModal/index.tsx
  24. 1 1
      src/components/FileBox/components/newsModal/left.tsx
  25. 1 1
      src/components/FileBox/components/syncModal/index.tsx
  26. 3 3
      src/components/FileBoxAD/components/Cropper/index.tsx
  27. 3 3
      src/components/FileBoxAD/components/fileModal/index.tsx
  28. 4 4
      src/components/FileBoxAD/components/fileModal/sortModal.tsx
  29. 3 3
      src/components/FileBoxAD/components/imgModal/index.tsx
  30. 3 3
      src/components/FileBoxAD/components/imgsModal/index.tsx
  31. 1 1
      src/components/FileBoxAD/components/moveTo/index.tsx
  32. 1 1
      src/components/FileBoxAD/components/newsModal/index.tsx
  33. 1 1
      src/components/FileBoxAD/components/newsModal/left.tsx
  34. 1 1
      src/components/FileBoxAD/components/syncModal/index.tsx
  35. 1 1
      src/components/FileBoxAD/components/uploadsTable/index.tsx
  36. 1 1
      src/components/FileBoxAD/index.tsx
  37. 1 1
      src/components/Formitem/index.tsx
  38. 2 2
      src/components/HeaderSearch/index.tsx
  39. 2 2
      src/components/MaterialModal/index.tsx
  40. 5 5
      src/components/MaterialModal/modalBox.tsx
  41. 5 5
      src/components/MaterialModal/msgWxGraphicListModal.tsx
  42. 2 2
      src/components/MaterialModal/previewLocalModal.tsx
  43. 1 1
      src/components/MaterialModal/previewModal.tsx
  44. 1 1
      src/components/MaterialModal/smModalBox.tsx
  45. 6 6
      src/components/MaterialModal/textModal.tsx
  46. 2 2
      src/components/MaterialModal/updata.tsx
  47. 1 1
      src/components/MaterialModal/wxGraphicListModal.tsx
  48. 1 1
      src/components/MaterialModal/wxGraphicModal.tsx
  49. 1 1
      src/components/MaterialModal/wxHistorBD.tsx
  50. 1 1
      src/components/MaterialModal/wxModalBox.tsx
  51. 11 7
      src/components/MaterialModal/wxMpnews.tsx
  52. 3 3
      src/components/NoticeIcon/NoticeIcon.tsx
  53. 1 1
      src/components/RightContent/AvatarDropdown.tsx
  54. 1 1
      src/components/WeChatImgCard/index.tsx
  55. 1 1
      src/pages/adMonitor/adMonitorList/columnTrend.tsx
  56. 3 3
      src/pages/adMonitor/adMonitorList/components/Details.tsx
  57. 1 1
      src/pages/adMonitor/adMonitorList/components/FilterQuery.tsx
  58. 1 1
      src/pages/adMonitor/adMonitorList/components/planDetail.tsx
  59. 5 5
      src/pages/adMonitor/adMonitorList/monitor1.tsx
  60. 5 5
      src/pages/adMonitor/adMonitorList/tablePlanListConfig.tsx
  61. 2 2
      src/pages/launchSystemNew/account/components/qqAuto.tsx
  62. 1 1
      src/pages/launchSystemNew/account/game/addAccountToGroup.tsx
  63. 1 1
      src/pages/launchSystemNew/account/game/appointPut.tsx
  64. 2 2
      src/pages/launchSystemNew/account/game/changeRecord.tsx
  65. 1 1
      src/pages/launchSystemNew/account/game/checkAccount.tsx
  66. 2 2
      src/pages/launchSystemNew/account/game/divideIntoGroups.tsx
  67. 2 2
      src/pages/launchSystemNew/account/game/index.tsx
  68. 1 1
      src/pages/launchSystemNew/account/novel/addAccountToGroup.tsx
  69. 1 1
      src/pages/launchSystemNew/account/novel/appointPut.tsx
  70. 2 2
      src/pages/launchSystemNew/account/novel/changeRecord.tsx
  71. 1 1
      src/pages/launchSystemNew/account/novel/checkAccount.tsx
  72. 2 2
      src/pages/launchSystemNew/account/novel/divideIntoGroups.tsx
  73. 2 2
      src/pages/launchSystemNew/account/novel/index.tsx
  74. 161 0
      src/pages/launchSystemNew/account/novel/qqAuto.tsx
  75. 8 8
      src/pages/launchSystemNew/adq/ad/FilterQuery.tsx
  76. 1 1
      src/pages/launchSystemNew/adq/ad/adPlanList.tsx
  77. 1 1
      src/pages/launchSystemNew/adq/ad/copy.tsx
  78. 4 4
      src/pages/launchSystemNew/adq/ad/index.tsx
  79. 1 1
      src/pages/launchSystemNew/adq/ad/planTag.tsx
  80. 1 1
      src/pages/launchSystemNew/adq/ad/updateAd.tsx
  81. 4 4
      src/pages/launchSystemNew/adq/campaign/index.tsx
  82. 1 1
      src/pages/launchSystemNew/adq/targeting/tableConfig.tsx
  83. 4 4
      src/pages/launchSystemNew/components/TableData/index.tsx
  84. 3 3
      src/pages/launchSystemNew/components/TableData/indexTab.tsx
  85. 1 1
      src/pages/launchSystemNew/components/adModal/index.tsx
  86. 7 7
      src/pages/launchSystemNew/components/adPopover/index.tsx
  87. 2 2
      src/pages/launchSystemNew/components/adcreativePopover/index.tsx
  88. 4 4
      src/pages/launchSystemNew/components/addLandingPage/index.tsx
  89. 1 1
      src/pages/launchSystemNew/components/addLandingPage/selectAccount.tsx
  90. 1 1
      src/pages/launchSystemNew/components/bathLauCopy/index.tsx
  91. 1 1
      src/pages/launchSystemNew/components/creativeModal/index.tsx
  92. 1 1
      src/pages/launchSystemNew/components/crowdPackModal/index.tsx
  93. 2 2
      src/pages/launchSystemNew/components/customerServiceModal/index.tsx
  94. 1 1
      src/pages/launchSystemNew/components/dataSourceModal/index.tsx
  95. 1 1
      src/pages/launchSystemNew/components/expandModal/index.tsx
  96. 1 1
      src/pages/launchSystemNew/components/goodsModal/index.tsx
  97. 1 1
      src/pages/launchSystemNew/components/idModal/index.tsx
  98. 1 1
      src/pages/launchSystemNew/components/lookLanding/index.tsx
  99. 1 1
      src/pages/launchSystemNew/components/newsModal/videoNews.tsx
  100. 1 1
      src/pages/launchSystemNew/components/pageModal/index.tsx

+ 1 - 1
config/config.ts

@@ -75,7 +75,7 @@ export default defineConfig({
   // @ts-ignore
   title: false,
   ignoreMomentLocale: true,
-  proxy: proxy[REACT_APP_ENV || 'dev'],
+  proxy: proxy[(REACT_APP_ENV || 'dev') as keyof typeof proxy],
   manifest: {
     basePath: '/',
   },

+ 3 - 3
package.json

@@ -62,7 +62,7 @@
     "@types/sortablejs": "^1.10.6",
     "@types/spark-md5": "^3.0.2",
     "ahooks": "^2.9.1",
-    "antd": "4.20.0",
+    "antd": "4.24.12",
     "antd-img-crop": "^3.13.2",
     "array-move": "^3.0.1",
     "classnames": "^2.2.6",
@@ -105,8 +105,8 @@
     "@types/jest": "^26.0.0",
     "@types/lodash": "^4.14.144",
     "@types/qs": "^6.5.3",
-    "@types/react": "^16.9.17",
-    "@types/react-dom": "^16.8.4",
+    "@types/react": "^18.0.9",
+    "@types/react-dom": "^18.0.5",
     "@types/react-helmet": "^5.0.13",
     "@umijs/fabric": "^2.2.0",
     "@umijs/plugin-blocks": "^2.0.5",

+ 0 - 1
src/Hook/useEcharts.tsx

@@ -1,5 +1,4 @@
 import React, { useEffect, useRef, useState } from 'react'
-import * as echarts from 'echarts'
 import { EChartsOption, init, dispose, registerMap } from 'echarts'
 import { Empty } from 'antd'
 import { china } from '@/utils/dictionary'

+ 1 - 1
src/components/ActionModal/index.tsx

@@ -28,7 +28,7 @@ let ActionModal = (props: Props) => {
             state?.actionWX ? <Modal
                 title="选择公众号"
                 width={740}
-                visible={visible}
+                open={visible}
                 keyboard={false}
                 maskClosable={false}
                 closable={false}

+ 1 - 1
src/components/ActionModal/more.tsx

@@ -197,7 +197,7 @@ let MoreModal = (props: Props) => {
         <Modal
             title="批量选择公众号"
             width={1040}
-            visible={visible}
+            open={visible}
             onOk={handleOk}
             onCancel={handleCancel}
             okText='确定'

+ 1 - 1
src/components/Alink/index.tsx

@@ -55,7 +55,7 @@ function Alink(props: Props) {
     }, [])
     return <div>
         <Modal
-            visible={visible}
+            open={visible}
             title={title}
             onCancel={onCancel}
             onOk={handleOk}

+ 0 - 59
src/components/BatchAddLabel/index.tsx

@@ -1,59 +0,0 @@
-import { message, Modal, Select, Space } from "antd";
-import { SelectValue } from "antd/lib/select";
-import React, { useCallback, useEffect, useState } from "react";
-import { useModel } from "umi";
-
-
-interface Props {
-    show?: boolean,
-    onClose?: () => void,
-    onChange?: (value: string[]) => void,
-    ajax?: any
-}
-
-function BatchAddLabel(props: Props) {
-    const { show = false, onClose, onChange, ajax } = props
-
-    /** 变量开始 */
-    const [labelIds, setLabelIds] = useState<string[] | undefined>([])
-    /** 变量结束 */
-
-    const { getLabels } = useModel('useLaunch.useMaterial')
-
-    useEffect(() => {
-        getLabels.run({ pageNum: 1, pageSize: 200 })
-    }, [])
-    
-    // 设置标签
-    const setLable = (value: any) => {
-        setLabelIds(value)
-    }
-
-    // 确定按钮
-    const handleOk = useCallback(() => {
-        if (labelIds && labelIds.length > 0) {
-            onChange && onChange(labelIds)
-        } else {
-            message.error('请选择标签')
-        }
-    }, [labelIds])
-
-    return <Modal 
-        visible={show}
-        width={460}
-        title="批量添加标签"
-        onCancel={() => {onClose && onClose()}}
-        maskClosable={false}
-        onOk={handleOk}
-        confirmLoading={ajax && ajax?.loading}
-    >
-        <Space>
-            <span>标签:</span>
-            <Select value={labelIds} style={{width: 350}} onChange={(value: SelectValue) => { setLable(value) }} placeholder="选择标签" mode="multiple">
-                {getLabels?.data?.records.map((item: any) => (<Select.Option value={item?.id?.toString()} key={item?.label + item?.id}>{item?.label}</Select.Option>))}
-            </Select>
-        </Space>
-    </Modal>
-}
-
-export default React.memo(BatchAddLabel)

+ 2 - 2
src/components/Cropper/index.tsx

@@ -180,7 +180,7 @@ export const Demo = (props: Props) => {
             </Dragger>
         }
         {visible && <Modal
-            visible={visible}
+            open={visible}
             onCancel={cancel}
             width={1000}
             footer={<div style={{ display: 'flex', justifyContent: 'center' }}>
@@ -255,7 +255,7 @@ export const Demo = (props: Props) => {
                                                         disabled={isChangeCropperSize ? isChangeCropperSize : isLaunch ? false : false}
                                                         min={1}
                                                         max={1536}
-                                                        onChange={(e) => { setDetail({ ...detail, height: e }) }}
+                                                        onChange={(e) => { setDetail({ ...detail, height: e || 0 }) }}
                                                     />
                                             }
                                         </Form.Item>

+ 2 - 2
src/components/CropperImg/index.tsx

@@ -49,7 +49,7 @@ function CropperImg(props: PropsType) {
     }, [visible, cropper])
 
     return <Modal
-        visible={visible}
+        open={visible}
         onCancel={() => { onClose && onClose() }}
         width={1000}
         footer={<div style={{ display: 'flex', justifyContent: 'center' }}>
@@ -127,7 +127,7 @@ function CropperImg(props: PropsType) {
                                                     disabled={isChangeCropperSize ? isChangeCropperSize : false}
                                                     min={1}
                                                     max={1536}
-                                                    onChange={(e) => { setDetail({ ...detail, height: e }) }}
+                                                    onChange={(e) => { setDetail({ ...detail, height: e || 0 }) }}
                                                 />
                                         }
                                     </Form.Item>

+ 13 - 13
src/components/CustomList/index.tsx

@@ -7,7 +7,7 @@ import { SortableContainer, SortableElement, SortableHandle } from "react-sortab
 import arrayMove from "array-move";
 
 const DragHandle = SortableHandle(() => <DrawStem className='draw' />);
-const SortableItem = SortableElement(({ item, del, setConfig }: any) => {
+const SortableItem: any = SortableElement(({ item, del, setConfig }: any) => {
     const [visible, setVisible] = useState<boolean>(false)
     const [width, setWidth] = useState<number>(item?.width || 0)
     return <li className='liDraw'>
@@ -19,7 +19,7 @@ const SortableItem = SortableElement(({ item, del, setConfig }: any) => {
             <Popover
                 content={
                     <div>
-                        <InputNumber min={0} max={500} onChange={(value: number) => {
+                        <InputNumber min={0} max={500} onChange={(value) => {
                             if (value) {
                                 setWidth(value)
                             }
@@ -31,10 +31,10 @@ const SortableItem = SortableElement(({ item, del, setConfig }: any) => {
                     </div>
                 }
                 trigger="click"
-                visible={visible}
+                open={visible}
                 placement='left'
 
-                onVisibleChange={(visible) => { setVisible(visible) }}
+                onOpenChange={(visible) => { setVisible(visible) }}
             >
                 <Tooltip title='宽度设置'><a><ColumnWidthOutlined /></a></Tooltip>
             </Popover>
@@ -43,7 +43,7 @@ const SortableItem = SortableElement(({ item, del, setConfig }: any) => {
     </li>
 });
 /** 外层 */
-const SortableList = SortableContainer(({ children }: { children: any }) => (<ul className='selectedList'>{children}</ul>));
+const SortableList: any = SortableContainer(({ children }: { children: any }) => (<ul className='selectedList'>{children}</ul>));
 
 interface dataProps {
     title: string,
@@ -142,10 +142,10 @@ function CustomListModel(props: customProps) {
     }
     console.log('selectData===>',)
     // 首次赋值默认宽
-    const setListWidth = useCallback((selectData) => {
+    const setListWidth = useCallback((selectData: any) => {
         if (selectData?.length === columns?.length && !selectData?.every((item: any) => item.width)) {
             let newSelectData: any[] = []
-            newSelectData = selectData?.map((item: { [x: string]: any }, index: string | number) => {
+            newSelectData = selectData?.map((item: { [x: string]: any }, index: number) => {
                 item['width'] = columns[index]['width']
                 return item
             })
@@ -260,7 +260,7 @@ function CustomListModel(props: customProps) {
         onClose && onClose()
     }, [])
     // 设置悬浮
-    const changeFixed = useCallback((name: string, value: number) => {
+    const changeFixed = useCallback((name: string, value: number | null) => {
         let v = Number(value)
         if (!isNaN(v)) {
             setFixed({ ...fixed, [name]: value })
@@ -272,7 +272,7 @@ function CustomListModel(props: customProps) {
         onClose && onClose()
     }
     // 设置配置参数
-    const setConfig = useCallback((data) => {
+    const setConfig = useCallback((data: any) => {
         let newServerData = selectData?.map((item) => {
             if (item.dataIndex === data.dataIndex) {
                 item = data
@@ -300,7 +300,7 @@ function CustomListModel(props: customProps) {
     return <Modal
         title={null}
         footer={null}
-        visible={visible}
+        open={visible}
         width={1100}
         className='customListModel'
         onCancel={cancel}
@@ -345,11 +345,11 @@ function CustomListModel(props: customProps) {
                     <a onClick={defaultConfig} style={{ marginRight: 30 }}>恢复默认</a>
                 </div>
                 <div style={{ display: 'flex', flexFlow: 'row nowarp', padding: '0 28px', justifyContent: 'space-between' }}>
-                    <div>左侧固定列数:<InputNumber size='small' style={{ width: 50 }} onChange={(value: number) => { changeFixed('left', value) }} value={fixed.left} max={100} min={0} /></div>
-                    <div>右侧固定列数:<InputNumber size='small' style={{ width: 50 }} onChange={(value: number) => { changeFixed('right', value) }} value={fixed.right} max={100} min={0} /></div>
+                    <div>左侧固定列数:<InputNumber size='small' style={{ width: 50 }} onChange={(value) => { changeFixed('left', value) }} value={fixed.left} max={100} min={0} /></div>
+                    <div>右侧固定列数:<InputNumber size='small' style={{ width: 50 }} onChange={(value) => { changeFixed('right', value) }} value={fixed.right} max={100} min={0} /></div>
                 </div>
                 <SortableList axis='y' onSortEnd={onSortEnd} useDragHandle>
-                    {selectData.map((item: dataProps, index: number) => <SortableItem key={'li' + index} index={index} item={item} del={() => { selectHandle(false, item) }} setConfig={setConfig} />)}
+                    {selectData.map((item: dataProps, index: number) => <SortableItem key={'li' + index} index={index} item={item as any} del={() => { selectHandle(false, item) }} setConfig={setConfig} />)}
                 </SortableList>
                 <div className='rightOperate'>
                     <div style={{ margin: '0 auto' }}>

+ 6 - 6
src/components/EarlyWarning/addEdit.tsx

@@ -27,7 +27,7 @@ const AddEdit: React.FC<Props> = (props) => {
     /******************************/
 
     useEffect(() => {
-        if (rules?.some((item: { field: string[] }) => item?.field?.includes('cost_trend_last_three_hour') && !(item?.['cost_trend_last_three_hour']?.value === 1))) {
+        if (rules?.some((item: any) => item?.field?.includes('cost_trend_last_three_hour') && !(item?.['cost_trend_last_three_hour']?.value === 1))) {
             form.setFieldsValue({ rules: rules.map((item: any) => ({ ...item, cost_trend_last_three_hour: { value: 1, condition: '=' } })) })
         }
     }, [rules])
@@ -76,7 +76,7 @@ const AddEdit: React.FC<Props> = (props) => {
             <strong>{initialValues?.id ? '修改预警规则' : '新增预警规则'}</strong>
             <span style={{ fontSize: 12, color: 'red' }}>(条件与条件之间是或者关系,条件内字段是并且关系, 满足任意一条件立即触发报警提醒)</span>
         </Space>}
-        visible={visible}
+        open={visible}
         onOk={handleOk}
         width={750}
         confirmLoading={addSysWarningRule.loading || editSysWarningRule.loading}
@@ -113,7 +113,7 @@ const AddEdit: React.FC<Props> = (props) => {
                             ((option?.label ?? '') as any).toLowerCase().includes(input.toLowerCase())
                         }
                     >
-                        {Object.keys(WarningTypeEnum).map((item, index) => <Select.Option value={item} key={index}>{WarningTypeEnum[item]}</Select.Option>)}
+                        {Object.keys(WarningTypeEnum).map((item, index) => <Select.Option value={item} key={index}>{WarningTypeEnum[item as keyof typeof WarningTypeEnum]}</Select.Option>)}
                     </Select>
                 </Form.Item>
                 <Form.Item name="notifyFrequency" label={<strong>通知频率</strong>} rules={[{ required: true, message: '请选择通知频率' }]}>
@@ -159,16 +159,16 @@ const AddEdit: React.FC<Props> = (props) => {
                                         ((option?.children ?? '') as any).toLowerCase().includes(input.toLowerCase())
                                     }
                                 >
-                                    {Object.keys(MonitorFieldEnum).map((item, index) => <Select.Option disabled={rules?.[key]?.['field']?.length >= 3 && !rules?.[key]['field'].includes(item)} value={item} key={index}>{MonitorFieldEnum[item]}</Select.Option>)}
+                                    {Object.keys(MonitorFieldEnum).map((item, index) => <Select.Option disabled={rules?.[key]?.['field']?.length >= 3 && !rules?.[key]['field'].includes(item)} value={item} key={index}>{MonitorFieldEnum[item as keyof typeof MonitorFieldEnum]}</Select.Option>)}
                                 </Select>
                             </Form.Item>
                             {rules?.[key]?.['field']?.map((field: string, index: number) => <Form.Item
                                 {...restField}
                                 key={index}
-                                label={<strong>{MonitorFieldEnum[field]}</strong>}
+                                label={<strong>{MonitorFieldEnum[field as keyof typeof MonitorFieldEnum]}</strong>}
                                 name={[name, field]}
                                 rules={[{
-                                    required: true, message: MonitorFieldEnum[field] + '的值不能为0', validator(rule, value, callback) {
+                                    required: true, message: MonitorFieldEnum[field as keyof typeof MonitorFieldEnum] + '的值不能为0', validator(rule, value, callback) {
                                         if (!value?.value) {
                                             return Promise.reject()
                                         }

+ 1 - 1
src/components/EarlyWarning/expandedRowTable.tsx

@@ -67,7 +67,7 @@ const ExpandedRowTable: React.FC<Props> = ({ data, visible, onChange, onClose })
 
     return <Drawer
         title="详情"
-        visible={visible}
+        open={visible}
         onClose={onClose}
         width={'70%'}
         extra={<a onClick={() => getList()}><SyncOutlined />刷新</a>}

+ 2 - 2
src/components/EarlyWarning/look.tsx

@@ -22,8 +22,8 @@ const Look: React.FC<Props> = ({ rules }) => {
         title={<span
             style={{ color: '#000' }}
             dangerouslySetInnerHTML={{
-                __html: rules.map(item => `<span style="color: red; ">(</span> ${item.rule.map(rule => `${MonitorFieldEnum[rule.field]}${rule.condition}${rule.value}`)
-                    .join(' <span style="color: #1890ff; ">并且</span> ')},满足条件后:${OperationTypeObj[item.operationType]},${item?.operationValue ? '操作值:' + item?.operationValue : ''} <span style="color: red; ">)</span>`)
+                __html: rules.map(item => `<span style="color: red; ">(</span> ${item.rule.map(rule => `${MonitorFieldEnum[rule.field as keyof typeof MonitorFieldEnum]}${rule.condition}${rule.value}`)
+                    .join(' <span style="color: #1890ff; ">并且</span> ')},满足条件后:${OperationTypeObj[item.operationType as keyof typeof OperationTypeObj]},${item?.operationValue ? '操作值:' + item?.operationValue : ''} <span style="color: red; ">)</span>`)
                     .join(` <span style="color: red; font-weight: 700; font-size: 16px ">或者</span> `)
             }}
         ></span>}

+ 1 - 1
src/components/EarlyWarning/ruleAccountLog.tsx

@@ -34,7 +34,7 @@ const RuleAccountLog: React.FC<Props> = ({ accountId, adgroupName, adgroupId, on
         getAdWarningLogAdList.run(queryForm)
     }, [queryForm])
 
-    return <Drawer title={`${adgroupName} 操作日志`} placement="right" width={'70%'} onClose={onClose} visible={visible}>
+    return <Drawer title={`${adgroupName} 操作日志`} placement="right" width={'70%'} onClose={onClose} open={visible}>
         <TableData
             size="small"
             isCard={false}

+ 1 - 1
src/components/EarlyWarning/ruleLog.tsx

@@ -34,7 +34,7 @@ const RuleLog: React.FC<Props> = ({ ruleName, ruleId, onClose, visible }) => {
         getAdWarningLogRuleList.run(queryForm)
     }, [queryForm])
 
-    return <Drawer title={`${ruleName} 操作日志`} placement="right" width={'70%'} onClose={onClose} visible={visible}>
+    return <Drawer title={`${ruleName} 操作日志`} placement="right" width={'70%'} onClose={onClose} open={visible}>
         <TableData
             size="small"
             isCard={false}

+ 1 - 1
src/components/EarlyWarning/setEarlyWarning.tsx

@@ -41,7 +41,7 @@ const SetEarlyWarning: React.FC<Props> = (props) => {
     return <>
         <Button icon={<AlertOutlined />} onClick={openModal} disabled={selectedRows.length === 0}>设置预警</Button>
         {visible && <Modal
-            visible={visible}
+            open={visible}
             title="预警设置"
             onOk={handleOk}
             confirmLoading={modifySysWarningRule.loading}

+ 1 - 1
src/components/EarlyWarning/setEarlyWarnings.tsx

@@ -41,7 +41,7 @@ const SetEarlyWarnings: React.FC<Props> = (props) => {
     return <>
         <Button icon={<AlertOutlined />} type="link" onClick={openModal}>设置预警</Button>
         {visible && <Modal
-            visible={visible}
+            open={visible}
             title="预警设置"
             onOk={handleOk}
             confirmLoading={configAdWarningRule.loading}

+ 1 - 1
src/components/EarlyWarning/setEarlyWarningsAccount.tsx

@@ -42,7 +42,7 @@ const SetEarlyWarningsAccount: React.FC<Props> = (props) => {
     return <>
         <Button icon={<AlertOutlined />} style={{ padding: 0, color: 'red' }} type="link" onClick={openModal}>设置预警</Button>
         {visible && <Modal
-            visible={visible}
+            open={visible}
             title="预警设置"
             onOk={handleOk}
             confirmLoading={configRuleAccount.loading}

+ 2 - 2
src/components/Expression/index.tsx

@@ -68,8 +68,8 @@ function Expression(props: Props) {
                 </div>
             }
             trigger="click"
-            visible={isShow}
-            onVisibleChange={exit}
+            open={isShow}
+            onOpenChange={exit}
         >
             <MehOutlined onClick={exit} />
         </Popover>

+ 4 - 4
src/components/FileBox/components/fileModal/index.tsx

@@ -24,7 +24,7 @@ function FileModal(props: { isAll?: boolean }) {
     }, [actionItem])
     console.log(state)
     return <Modal
-        visible={fileVisible}
+        open={fileVisible}
         destroyOnClose
         onOk={(e) => { actionItem ? nameOk(selectWx) : fileOk(e, undefined, selectWx); initSelectWx() }}
         onCancel={() => { offEditFile(); initSelectWx() }}
@@ -39,9 +39,9 @@ function FileModal(props: { isAll?: boolean }) {
                 style={{ width: '100%' }}
                 value={sort}
                 placeholder='请输入序号, 数值越大越靠前'
-                onChange={(e: number) => {
-                    set({ sort: e })
-                }} 
+                onChange={(e) => {
+                    set({ sort: e || 0 })
+                }}
             />
         </div>
 

+ 3 - 3
src/components/FileBox/components/fileModal/sortModal.tsx

@@ -26,7 +26,7 @@ function SortModal(props: Props) {
     }
 
     return <Modal
-        visible={sortVisible}
+        open={sortVisible}
         width={400}
         title={'编辑排序'}
         closable={false}
@@ -38,8 +38,8 @@ function SortModal(props: Props) {
             style={{ width: '100%', marginTop: 10 }}
             value={sort}
             placeholder='请输入序号, 数值越大越靠前'
-            onChange={(e: number) => {
-                setSort(e)
+            onChange={(e) => {
+                setSort(e || 0)
             }} 
         />
     </Modal>

+ 3 - 3
src/components/FileBox/components/imgModal/index.tsx

@@ -13,8 +13,8 @@ let ImgModal = React.memo((props: { isAll?: boolean }) => {
     const { imgVisrible, fileType, actionItem } = state
     const { state: { selectWx }, initSelectWx} = useModel('useOperating.useWxGroupList')//公众号筛选
     return <Modal
-        title={(actionItem ? '编辑' : '新建') + typeEnum[fileType as string]}
-        visible={imgVisrible}
+        title={(actionItem ? '编辑' : '新建') + typeEnum[fileType as keyof typeof typeEnum]}
+        open={imgVisrible}
         onOk={(e) => { fileOk(e, fromsubmit, selectWx);initSelectWx() }}
         onCancel={()=>{
             offEditFile();
@@ -24,7 +24,7 @@ let ImgModal = React.memo((props: { isAll?: boolean }) => {
         maskClosable={false}
     >
         <FormItem
-            formConfig={config(typeEnum[fileType as string])}
+            formConfig={config(typeEnum[fileType as keyof typeof typeEnum])}
             flow='column'
             getFormSubmit={callback}
             defaultProps={{ sort: 0 }}

+ 1 - 1
src/components/FileBox/components/newsModal/index.tsx

@@ -35,7 +35,7 @@ const DrawerPage = React.forwardRef((props: any, ref) => {
         placement="right"
         closable={false}
         onClose={onClose}
-        visible={visible}
+        open={visible}
         getContainer={false}
         width='90%'
         destroyOnClose

+ 1 - 1
src/components/FileBox/components/newsModal/left.tsx

@@ -126,7 +126,7 @@ const Left = React.memo((props: { isWx?: boolean }) => {
             }
             <span onClick={() => { setShowNews(true) }} style={{ marginTop: 10 }}><PlusOutlined />导入文章</span>
             <Modal
-                visible={showNews}
+                open={showNews}
                 title='导入文章'
                 onCancel={() => { setShowNews(false) }}
                 onOk={handleImportNews}

+ 1 - 1
src/components/FileBox/components/syncModal/index.tsx

@@ -205,7 +205,7 @@ let SyncModal = React.forwardRef((props: Props, ref) => {
         <Modal
             title="选择公众号同步"
             width={1040}
-            visible={visible}
+            open={visible}
             onOk={handleOk}
             onCancel={handleCancel}
             okText='确定'

+ 3 - 3
src/components/FileBoxAD/components/Cropper/index.tsx

@@ -114,7 +114,7 @@ const CropperImg: React.FC<Props> = (props) => {
     }
 
     return <Modal
-        visible={visible}
+        open={visible}
         onCancel={cancel}
         width={1000}
         footer={<div style={{ display: 'flex', justifyContent: 'center' }}>
@@ -177,7 +177,7 @@ const CropperImg: React.FC<Props> = (props) => {
                                             style={{ width: 200 }}
                                             value={detail.width}
                                             min={1}
-                                            onChange={(e) => { setDetail({ ...detail, width: e }) }}
+                                            onChange={(e) => { setDetail({ ...detail, width: e || 0 }) }}
                                         />
                                     </Form.Item>}
 
@@ -187,7 +187,7 @@ const CropperImg: React.FC<Props> = (props) => {
                                             value={detail.height}
                                             min={1}
                                             max={imgSize.height}
-                                            onChange={(e) => { setDetail({ ...detail, height: e }) }}
+                                            onChange={(e) => { setDetail({ ...detail, height: e || 0 }) }}
                                         />
                                     </Form.Item>}
 

+ 3 - 3
src/components/FileBoxAD/components/fileModal/index.tsx

@@ -24,7 +24,7 @@ function FileModal(props: { isAll?: boolean }) {
     }, [actionItem])
 
     return <Modal
-        visible={fileVisible}
+        open={fileVisible}
         destroyOnClose
         onOk={(e) => { actionItem ? nameOk(selectWx) : addFolder(); initSelectWx() }}
         onCancel={() => { offEditFile(); initSelectWx() }}
@@ -40,8 +40,8 @@ function FileModal(props: { isAll?: boolean }) {
                 style={{ width: '100%' }}
                 value={sort}
                 placeholder='请输入序号, 数值越大越靠前'
-                onChange={(e: number) => {
-                    set({ sort: e })
+                onChange={(e) => {
+                    set({ sort: e || 0 })
                 }}
             />
         </div>

+ 4 - 4
src/components/FileBoxAD/components/fileModal/sortModal.tsx

@@ -30,7 +30,7 @@ function SortModal(props: Props) {
     }
 
     return <Modal
-        visible={sortVisible}
+        open={sortVisible}
         width={400}
         title={'编辑排序'}
         closable={false}
@@ -42,9 +42,9 @@ function SortModal(props: Props) {
             style={{ width: '100%', marginTop: 10 }}
             value={sort}
             placeholder='请输入序号, 数值越大越靠前'
-            onChange={(e: number) => {
-                setSort(e)
-            }} 
+            onChange={(e) => {
+                setSort(e || 0)
+            }}
         />
     </Modal>
 }

+ 3 - 3
src/components/FileBoxAD/components/imgModal/index.tsx

@@ -46,7 +46,7 @@ let ImgModal = React.memo((props: { isAll?: boolean }) => {
     return <div>
         <Modal
             title={<strong>{(actionItem ? '编辑' : '新建') + typeEnum[mediaType as keyof typeof typeEnum]}</strong>}
-            visible={imgVisrible}
+            open={imgVisrible}
             onOk={(e) => { handleOk(e) }}
             confirmLoading={upLoadLoading}
             onCancel={() => {
@@ -72,7 +72,7 @@ let ImgModal = React.memo((props: { isAll?: boolean }) => {
                     label={<strong>排序</strong>}
                     tooltip="数值越大越靠前"
                 >
-                    <InputNumber value={queryForm.sort} onChange={(e) => setQueryForm({ ...queryForm, sort: e })} placeholder="请输入排序" />
+                    <InputNumber value={queryForm.sort} onChange={(e) => setQueryForm({ ...queryForm, sort: e || 0 })} placeholder="请输入排序" />
                 </Form.Item>
                 <Form.Item label={<strong>{'上传' + typeEnum[mediaType as keyof typeof typeEnum]}</strong>}>
                     {mediaType === 'IMG' ? <Space>
@@ -143,7 +143,7 @@ let ImgModal = React.memo((props: { isAll?: boolean }) => {
         </Modal>
 
         <Modal
-            visible={previewVisible}
+            open={previewVisible}
             footer={null}
             onCancel={() => {
                 setPreviewVisible(false)

+ 3 - 3
src/components/FileBoxAD/components/imgsModal/index.tsx

@@ -36,7 +36,7 @@ let ImgsModal = React.memo((props: { isAll?: boolean }) => {
     return <div>
         <Modal
             title={<strong>{(actionItem ? '编辑' : '批量新建') + typeEnum[mediaType as keyof typeof typeEnum]}</strong>}
-            visible={imgsVisrible}
+            open={imgsVisrible}
             onOk={(e) => { handleOk(e) }}
             confirmLoading={upLoadLoading}
             onCancel={() => {
@@ -64,13 +64,13 @@ let ImgsModal = React.memo((props: { isAll?: boolean }) => {
                     label={<strong>图片大小</strong>}
                     tooltip="单位KB,0代表不填默认图片300KB;图片太大会压缩到此大小下"
                 >
-                    <InputNumber value={queryForm.fileSize} onChange={(e) => setQueryForm({ ...queryForm, fileSize: e })} placeholder="请输入图片大小" />
+                    <InputNumber value={queryForm.fileSize} onChange={(e) => setQueryForm({ ...queryForm, fileSize: e || 0 })} placeholder="请输入图片大小" />
                 </Form.Item>}
                 <Form.Item
                     label={<strong>排序</strong>}
                     tooltip="数值越大越靠前"
                 >
-                    <InputNumber value={queryForm.sort} onChange={(e) => setQueryForm({ ...queryForm, sort: e })} placeholder="请输入排序" />
+                    <InputNumber value={queryForm.sort} onChange={(e) => setQueryForm({ ...queryForm, sort: e || 0 })} placeholder="请输入排序" />
                 </Form.Item>
                 <Form.Item
                     label={<strong>{'上传' + typeEnum[mediaType as keyof typeof typeEnum]}</strong>}

+ 1 - 1
src/components/FileBoxAD/components/moveTo/index.tsx

@@ -46,7 +46,7 @@ const MoveTo: React.FC<Props> = ({ isAll, visible, onClose, catalogueData = [] }
 
     return <Modal
         title="移动至"
-        visible={visible}
+        open={visible}
         onCancel={() => onClose?.()}
         onOk={handleOk}
         confirmLoading={loading}

+ 1 - 1
src/components/FileBoxAD/components/newsModal/index.tsx

@@ -35,7 +35,7 @@ const DrawerPage = React.forwardRef((props: any, ref) => {
         placement="right"
         closable={false}
         onClose={onClose}
-        visible={visible}
+        open={visible}
         getContainer={false}
         width='90%'
         destroyOnClose

+ 1 - 1
src/components/FileBoxAD/components/newsModal/left.tsx

@@ -126,7 +126,7 @@ const Left = React.memo((props: { isWx?: boolean }) => {
             }
             <span onClick={() => { setShowNews(true) }} style={{ marginTop: 10 }}><PlusOutlined />导入文章</span>
             <Modal
-                visible={showNews}
+                open={showNews}
                 title='导入文章'
                 onCancel={() => { setShowNews(false) }}
                 onOk={handleImportNews}

+ 1 - 1
src/components/FileBoxAD/components/syncModal/index.tsx

@@ -205,7 +205,7 @@ let SyncModal = React.forwardRef((props: Props, ref) => {
         <Modal
             title="选择公众号同步"
             width={1040}
-            visible={visible}
+            open={visible}
             onOk={handleOk}
             onCancel={handleCancel}
             okText='确定'

+ 1 - 1
src/components/FileBoxAD/components/uploadsTable/index.tsx

@@ -170,7 +170,7 @@ const UploadsTable: React.FC<Props> = ({ fileList, visible, onClose, onChange, m
 
     return <Modal
         title={<strong>上传{mediaType === 'IMG' ? '图片' : '视频'}预览</strong>}
-        visible={visible}
+        open={visible}
         className='modalResetCss'
         width={1100}
         closable={false}

+ 1 - 1
src/components/FileBoxAD/index.tsx

@@ -184,7 +184,7 @@ function FlieBox(props: Props) {
         }
     }, [item])
     // 拖动事件配置
-    const moveConfig = useCallback((item) => {
+    const moveConfig = useCallback((item: any) => {
         return {
             draggable: true,
             onDragStart: (ev: any) => {

+ 1 - 1
src/components/Formitem/index.tsx

@@ -316,7 +316,7 @@ let Page = React.forwardRef((props: Props, ref) => {
                                     </div>
                                 }
                                 <Modal
-                                    visible={previewVisible}
+                                    open={previewVisible}
                                     footer={null}
                                     onCancel={() => {
                                         setPreviewVisible(false)

+ 2 - 2
src/components/HeaderSearch/index.tsx

@@ -31,7 +31,7 @@ const HeaderSearch: React.FC<HeaderSearchProps> = (props) => {
     ...restProps
   } = props;
 
-  const inputRef = useRef<Input | null>(null);
+  const inputRef = useRef(null);
 
   const [value, setValue] = useMergeValue<string | undefined>(defaultValue, {
     value: props.value,
@@ -53,7 +53,7 @@ const HeaderSearch: React.FC<HeaderSearchProps> = (props) => {
       onClick={() => {
         setSearchMode(true);
         if (searchMode && inputRef.current) {
-          inputRef.current.focus();
+          (inputRef.current as any).focus();
         }
       }}
       onTransitionEnd={({ propertyName }) => {

+ 2 - 2
src/components/MaterialModal/index.tsx

@@ -32,7 +32,7 @@ let MaterialModal = React.memo((props: Props) => {
     let { state } = useModel('useOperating.useMaterialModal')
 
     //选中图片
-    let handleClick = useCallback((url) => {
+    let handleClick = useCallback((url: any) => {
         setAction(url)
     }, [])
     //个人共用切换
@@ -133,7 +133,7 @@ let MaterialModal = React.memo((props: Props) => {
         <Modal
             width={750}
             title={props.title}
-            visible={props.visible}
+            open={props.visible}
             okText='插入'
             cancelText='取消'
             onCancel={() => props.onCancel()}

+ 5 - 5
src/components/MaterialModal/modalBox.tsx

@@ -90,7 +90,7 @@ const ModalPage = (props: Props) => {
         }
     }, [])
     //选中图片
-    let handleClick = useCallback((url, data?: any) => {
+    let handleClick = useCallback((url: any, data?: any) => {
         console.log(url)
         setAction(url)
         setActionData(data)
@@ -246,7 +246,7 @@ const ModalPage = (props: Props) => {
     return <Modal
         title={title}
         width={900}
-        visible={visible}
+        open={visible}
         onOk={ok}
         onCancel={onCancel}
     >
@@ -266,7 +266,7 @@ const ModalPage = (props: Props) => {
                                         onChange={(value: any) => handleSelect(value, true)}
                                         mode='multiple'
                                         filterOption={(input, option) =>
-                                            option?.children.toLowerCase().indexOf(input.toLowerCase()) >= 0
+                                            (option?.children as any)?.toLowerCase().indexOf(input.toLowerCase()) >= 0
                                         }
                                     >
                                         {
@@ -284,7 +284,7 @@ const ModalPage = (props: Props) => {
                                         placeholder='类型搜索'
                                         onChange={(value: any) => handleSelect(value, false)}
                                         filterOption={(input, option) =>
-                                            option?.children.toLowerCase().indexOf(input.toLowerCase()) >= 0
+                                            (option?.children as any)?.toLowerCase().indexOf(input.toLowerCase()) >= 0
                                         }
                                     >
                                         {
@@ -350,7 +350,7 @@ const ModalPage = (props: Props) => {
                             </TabPane>
                         }
                     </Tabs>
-                    <UploadModal labelName={config1[mediaType]} ref={refM} submit={modalOk} title={title} classs={classGet?.data} tags={tagData?.data} />
+                    <UploadModal labelName={config1[mediaType as keyof typeof config1]} ref={refM} submit={modalOk} title={title} classs={classGet?.data} tags={tagData?.data} />
                 </>
             }
             {

+ 5 - 5
src/components/MaterialModal/msgWxGraphicListModal.tsx

@@ -135,7 +135,7 @@ const MsgWxGraphicListModal: React.FC<Props> = (props) => {
         })
         arr = arr.map((item: any) => {
             console.log(item)
-            let obj = {
+            let obj: any = {
                 knewsThumbUrl: item.thumbUrl, // 图片
                 title: item.title.replace(/<[/]?span[^>]*>/ig, '#'), // 图文标题
                 description: item.digest, // 描述内容
@@ -275,7 +275,7 @@ const MsgWxGraphicListModal: React.FC<Props> = (props) => {
     return <Modal
         title={title || '编辑图文内容'}
         width={1100}
-        visible={visible}
+        open={visible}
         onCancel={() => {
             onCancel()
             dispatchMate({ type: 'initData' })
@@ -357,8 +357,8 @@ const MsgWxGraphicListModal: React.FC<Props> = (props) => {
                                                 style={{ width: '100%' }}
                                                 value={sort}
                                                 placeholder='请输入序号, 数值越大越靠前'
-                                                onChange={(e: number) => {
-                                                    setSort(e)
+                                                onChange={(e) => {
+                                                    setSort(e || 0)
                                                 }}
                                             />
                                         </Col>}
@@ -433,7 +433,7 @@ const MsgWxGraphicListModal: React.FC<Props> = (props) => {
             />
             {/* 链接导入弹窗 */}
             <Modal
-                visible={showNews}
+                open={showNews}
                 title='导入文章'
                 onCancel={() => { setShowNews(false) }}
                 onOk={handleImportNews}

+ 2 - 2
src/components/MaterialModal/previewLocalModal.tsx

@@ -56,7 +56,7 @@ const PreviewLocalModal: React.FC<Props> = (props) => {
         })
     }
 
-    return <Modal title="本地素材预览" okText='发送预览' confirmLoading={localPreview?.loading} visible={visible} onOk={handleOk} onCancel={() => onClose && onClose()}>
+    return <Modal title="本地素材预览" okText='发送预览' confirmLoading={localPreview?.loading} open={visible} onOk={handleOk} onCancel={() => onClose && onClose()}>
         <Select
             showSearch
             style={{ width: '100%', marginTop: 15 }}
@@ -65,7 +65,7 @@ const PreviewLocalModal: React.FC<Props> = (props) => {
             onChange={(value) => { setSelectWx(value); setFansId(undefined); setFansData([]) }}
             allowClear
             filterOption={(input, option) =>
-                option?.children.toLowerCase().indexOf(input.toLowerCase()) >= 0
+                (option?.children as any)?.toLowerCase().indexOf(input.toLowerCase()) >= 0
             }
             value={selectWx}
         >

+ 1 - 1
src/components/MaterialModal/previewModal.tsx

@@ -299,7 +299,7 @@ function PreviewModal(props: { data?: { msgType?: string, theEdit?: any, mpIds?:
         }
         <Modal
             width={500}
-            visible={ylVisible}
+            open={ylVisible}
             title="发送手机预览"
             onCancel={() => setYlVisible(false)}
             // onOk={handlePreview}

+ 1 - 1
src/components/MaterialModal/smModalBox.tsx

@@ -151,7 +151,7 @@ const SmModalBox = (props: Props) => {
     return <Modal
         title={title}
         width={1200}
-        visible={visible}
+        open={visible}
         onOk={ok}
         onCancel={onCancel}
         maskClosable={false}

+ 6 - 6
src/components/MaterialModal/textModal.tsx

@@ -1,4 +1,4 @@
-import { Button, Input, message, Modal, Popover, Radio, Space, Tooltip } from 'antd'
+import { Button, Input, message, Modal, Popover, Radio, Space } from 'antd'
 import React, { useCallback, useEffect, useRef, useState } from 'react'
 import Expression from '@/components/Expression'
 import style from './text.less'
@@ -12,7 +12,7 @@ type Props = {
     hdLink?: boolean,
     fansName?: boolean
 }
-const sanitizeConf: sanitizeHtml.IOptions = {
+const sanitizeConf: any = {
     allowedTags: ['br', 'a'],
     allowedAttributes: { a: ["href", "_href", "data-miniprogram-appid", "data-miniprogram-path"] },
     allowedSchemes: ['http', 'https', 'weixin']
@@ -225,7 +225,7 @@ const WxTextModal = React.memo((props: Props) => {
     }, [ref, text, isHtml])
     //文本选中
     let handleSelectText = useCallback((event: React.SyntheticEvent<HTMLPreElement, Event>) => {
-        let selection = window.getSelection ? window.getSelection() : (document.getSelection ? document.getSelection() : (document?.selection ? document?.selection.createRange().text : ""))
+        let selection = window.getSelection ? window.getSelection() : (document.getSelection ? document.getSelection() : ((document as any)?.selection ? (document as any)?.selection.createRange().text : ""))
         let text = selection.toString() || selection.text
         if (text) {//存在文本弹窗
             let range = selection?.getRangeAt(0)
@@ -299,7 +299,7 @@ const WxTextModal = React.memo((props: Props) => {
     //处理选中的文本
     return <Modal
         title='编辑文字内容'
-        visible={visible}
+        open={visible}
         width={1100}
         onCancel={() => {
             handleClose()
@@ -320,8 +320,8 @@ const WxTextModal = React.memo((props: Props) => {
                         hdLink && <Popover
                             placement="right"
                             title={'新建互动链'}
-                            visible={isShow}
-                            onVisibleChange={(visible) => { setIsShow(visible) }}
+                            open={isShow}
+                            onOpenChange={(visible) => { setIsShow(visible) }}
                             content={<div className={style.popover}>
                                 <div>
                                     <label>连接文字:</label>

+ 2 - 2
src/components/MaterialModal/updata.tsx

@@ -99,7 +99,7 @@ function Updata(props: { mediaType: '3' | '2' | '1', callBcak: (str: boolean) =>
         {/* <span onClick={() => { dispatch({ type: 'visible', params: { visible: true } }) }}>批量创建素材</span> */}
         {/* <Button onClick={() => { dispatch({ type: 'visible', params: { visible: true } }) }} type='primary'>批量创建素材</Button> */}
         <Modal
-            visible={true}
+            open={true}
             title={<span>批量新增素材<small style={{ color: '#999' }}>(请先手动将文件名重命名为要创建的素材标题)</small></span>}
             onOk={submit}
             onCancel={cancel}
@@ -201,7 +201,7 @@ function Updata(props: { mediaType: '3' | '2' | '1', callBcak: (str: boolean) =>
                 </div>
             </Upload>
             <Modal
-                visible={previewVisible}
+                open={previewVisible}
                 title={previewTitle}
                 footer={null}
                 onCancel={() => {

+ 1 - 1
src/components/MaterialModal/wxGraphicListModal.tsx

@@ -191,7 +191,7 @@ const WxGraphicListModal = (props: Props) => {
     return <Modal
         title='编辑图文内容'
         width={1100}
-        visible={visible}
+        open={visible}
         onCancel={onCancel}
         onOk={callback}
     >

+ 1 - 1
src/components/MaterialModal/wxGraphicModal.tsx

@@ -157,7 +157,7 @@ const WxGraphicModal = (props: Props) => {
     return <Modal
         title='编辑图文内容'
         width={1100}
-        visible={visible}
+        open={visible}
         onCancel={onCancel}
         onOk={callback}
     >

+ 1 - 1
src/components/MaterialModal/wxHistorBD.tsx

@@ -42,7 +42,7 @@ const WxHistoryMpnews: React.FC<props> = (props) => {
         query()
     }, [query])
     return <Modal
-        visible={visible}
+    open={visible}
         title={<span>浏览器本地素材库<span style={{ color: 'red' }}>不需要的数据请手动删除避免太多数据会很卡,存放上限跟个人浏览器浏览器性能相关!</span></span>}
         onCancel={onCancel}
         onOk={ok}

+ 1 - 1
src/components/MaterialModal/wxModalBox.tsx

@@ -116,7 +116,7 @@ const ModalPage = (props: Props) => {
     return <Modal
         title={title}
         width={750}
-        visible={visible}
+        open={visible}
         onOk={ok}
         onCancel={onCancel}
         destroyOnClose

+ 11 - 7
src/components/MaterialModal/wxMpnews.tsx

@@ -37,7 +37,7 @@ const WxMpnews = React.memo((props: Props) => {
             getList()//获取列表
         }
     }, [fileType, belongUser, parentId])
-    let pageSizeChange = useCallback((pageNum, pageSize) => {
+    let pageSizeChange = useCallback((pageNum: number, pageSize: number) => {
         getData.run({
             pageNum: pageNum,
             pageSize: pageSize,
@@ -50,7 +50,7 @@ const WxMpnews = React.memo((props: Props) => {
         update.run({ mpId: actionWX?.id, mediaType: 'news' })
     }, [actionWX?.id])
     //选中图片
-    let handleClick = useCallback((data) => {
+    let handleClick = useCallback((data: any) => {
         setAction(data)
     }, [])
     //ok
@@ -77,7 +77,7 @@ const WxMpnews = React.memo((props: Props) => {
     }, [])
     return <div >
         <Modal
-            visible={visible}
+            open={visible}
             title='图文素材'
             onCancel={onCancel}
             onOk={ok}
@@ -87,10 +87,14 @@ const WxMpnews = React.memo((props: Props) => {
         >
             <Tabs defaultActiveKey="1" onChange={change} type='card'>
                 <Tabs.TabPane tab="本地素材" key="1">
-                    <Tabs onChange={(activeKey: any) => { set({ belongUser: activeKey }) }} activeKey={belongUser}>
-                        <Tabs.TabPane tab={'个人本地'} key={1} />
-                        <Tabs.TabPane tab={'公共本地'} key={0} />
-                    </Tabs>
+                    <Tabs
+                        onChange={(activeKey: any) => { set({ belongUser: activeKey }) }}
+                        activeKey={belongUser}
+                        items={[
+                            { label: '个人本地', key: '1' },
+                            { label: '公共本地', key: '0' },
+                        ]}
+                    />
                     <FileBox isAll={false} noFile={true} height={450} showDrawer={refD?.current?.showDrawer} isBd={true} />
                 </Tabs.TabPane>
                 <Tabs.TabPane tab="微信素材" key="2">

+ 3 - 3
src/components/NoticeIcon/NoticeIcon.tsx

@@ -15,7 +15,7 @@ export interface NoticeIconProps {
   className?: string;
   loading?: boolean;
   onClear?: (tabName: string, tabKey: string) => void;
-  onItemClick?: (item: API.NoticeIconData, tabProps: NoticeIconTabProps) => void;
+  onItemClick?: (item: any, tabProps: NoticeIconTabProps) => void;
   onViewMore?: (tabProps: NoticeIconTabProps, e: MouseEvent) => void;
   onTabChange?: (tabTile: string) => void;
   style?: React.CSSProperties;
@@ -108,8 +108,8 @@ const NoticeIcon: React.FC<NoticeIconProps> & {
       overlay={notificationBox}
       overlayClassName={styles.popover}
       trigger={['click']}
-      visible={visible}
-      onVisibleChange={setVisible}
+      open={visible}
+      onOpenChange={setVisible}
     >
       {trigger}
     </HeaderDropdown>

+ 1 - 1
src/components/RightContent/AvatarDropdown.tsx

@@ -181,7 +181,7 @@ const AvatarDropdown: React.FC<GlobalHeaderRightProps> = ({ menu }) => {
       </HeaderDropdown>
       <Modal
         title="修改密码"
-        visible={visible}
+        open={visible}
         onOk={submit}
         onCancel={() => setVisible(false)}
       >

+ 1 - 1
src/components/WeChatImgCard/index.tsx

@@ -69,7 +69,7 @@ function WeChatImgCard(props: Props) {
     }, [props?.defaultData])
     return <div>
         <Modal
-            visible={visible}
+            open={visible}
             title={title}
             onCancel={onCancel}
             onOk={handleOk}

+ 1 - 1
src/pages/adMonitor/adMonitorList/columnTrend.tsx

@@ -46,7 +46,7 @@ const ColumnTrend: React.FC<Props> = ({ data: { field, dataTimeMin, dataTimeMax,
 
     return <Modal
         title={'趋势图'}
-        visible={visible}
+        open={visible}
         onCancel={onClose}
         footer={null}
         width={1200}

+ 3 - 3
src/pages/adMonitor/adMonitorList/components/Details.tsx

@@ -42,7 +42,7 @@ const Details: React.FC<Props> = ({ data, onClose, visible }) => {
                 let data = trendColumns.map((field) => {
                     let value: any = {}
                     res?.data?.forEach((item: any, index: number) => {
-                        if (index === 0) value.legendName = LineField[field];
+                        if (index === 0) value.legendName = LineField[field as keyof typeof LineField];
                         value[item?.trend_unit] = item?.[field]
                     });
                     return value
@@ -95,7 +95,7 @@ const Details: React.FC<Props> = ({ data, onClose, visible }) => {
         title={data?.adgroup_name}
         placement="right"
         onClose={onClose}
-        visible={visible}
+        open={visible}
         width={'70%'}
         bodyStyle={{ padding: '0 10px', background: '#efefef' }}
         className="detail_drawer"
@@ -149,7 +149,7 @@ const Details: React.FC<Props> = ({ data, onClose, visible }) => {
                                     size="small"
                                 >
                                     {Object.keys(LineField).map((key) => <Select.Option value={key} key={key}>
-                                        {LineField[key]}
+                                        {LineField[key as keyof typeof LineField]}
                                     </Select.Option>)}
                                 </Select>
                             </Space>

+ 1 - 1
src/pages/adMonitor/adMonitorList/components/FilterQuery.tsx

@@ -162,7 +162,7 @@ const FilterQuery: React.FC<Props> = ({ onChange }) => {
                 </Space>}
                 trigger={'hover'}
                 placement="bottomLeft"
-                onVisibleChange={(e) => setVisible(e)}
+                onOpenChange={(e) => setVisible(e)}
                 getPopupContainer={() => document.getElementById('filterQueryContent') as any}
             >
                 <Button><FilterOutlined />筛选 {visible ? <UpOutlined /> : <DownOutlined />}</Button>

+ 1 - 1
src/pages/adMonitor/adMonitorList/components/planDetail.tsx

@@ -82,7 +82,7 @@ function PlanDetail(props: Props) {
             &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
             <span style={{ fontSize: 15, color: '#999' }}>广告名称:<span style={{ color: '#40a9ff' }}>{props?.data?.adgroupName}</span></span>
         </Space></>}
-        visible={visible}
+        open={visible}
         width={900}
         bodyStyle={{ padding: '0 5px', backgroundColor: '#f2f2f2' }}
         footer={null}

+ 5 - 5
src/pages/adMonitor/adMonitorList/monitor1.tsx

@@ -148,13 +148,13 @@ function Monitor(props: { onChange: () => void }) {
         let data = trendColumns.map((field) => {
             let value: any = {}
             res?.data?.forEach((item: any, index: number) => {
-                if (index === 0) value.legendName = LineField[field];
+                if (index === 0) value.legendName = LineField[field as keyof typeof LineField];
                 value[item?.trend_unit] = item?.[field]
             });
             return value
         })
         setLineDis(() => data)
-        setLineTitle(() => `广告总${LineField[trendColumns[0]]}趋势`)
+        setLineTitle(() => `广告总${LineField[trendColumns[0] as keyof typeof LineField]}趋势`)
     }, [queryForm, lineDis, trendColumns])
 
     /** 获取柱状图 */
@@ -204,7 +204,7 @@ function Monitor(props: { onChange: () => void }) {
     }, [])
 
     //图形排列样式改变重新获取数据刷新图形
-    const set = useCallback((b) => {
+    const set = useCallback((b: any) => {
         setPx(b)
         getCostTrendList.refresh()
         getCostTopList.refresh()
@@ -216,7 +216,7 @@ function Monitor(props: { onChange: () => void }) {
         let data = trendColumns.map((field) => {
             let value: any = {}
             res?.data?.forEach((item: any, index: number) => {
-                if (index === 0) value.legendName = LineField[field];
+                if (index === 0) value.legendName = LineField[field as keyof typeof LineField];
                 value[item?.trend_unit] = item?.[field]
             });
             return value
@@ -406,7 +406,7 @@ function Monitor(props: { onChange: () => void }) {
                                 size="small"
                             >
                                 {Object.keys(LineField).map((key) => <Select.Option value={key} key={key}>
-                                    {LineField[key]}
+                                    {LineField[key as keyof typeof LineField]}
                                 </Select.Option>)}
                             </Select>
                         </Space>

+ 5 - 5
src/pages/adMonitor/adMonitorList/tablePlanListConfig.tsx

@@ -112,7 +112,7 @@ function columnsMonitor(details: (id: number) => void) {
                 width: 105,
                 ellipsis: true,
                 render: (a: any) => {
-                    return GGStateData[a] || '--'
+                    return GGStateData[a as keyof typeof GGStateData] || '--'
                 }
             },
             // {
@@ -187,7 +187,7 @@ function columnsMonitor(details: (id: number) => void) {
                 width: 80,
                 ellipsis: true,
                 render: (a: any) => {
-                    return TUIGUANGMUBIAO[a] || '推广公众号'
+                    return TUIGUANGMUBIAO[a as keyof typeof TUIGUANGMUBIAO] || '推广公众号'
                 }
             },
             // {
@@ -217,7 +217,7 @@ function columnsMonitor(details: (id: number) => void) {
                 align: 'center',
                 width: 80,
                 render: (a: any) => {
-                    return CHUJIAFANGSHI[a] || '--'
+                    return CHUJIAFANGSHI[a as keyof typeof CHUJIAFANGSHI] || '--'
                 }
             },
             {
@@ -350,8 +350,8 @@ function columnsMonitor(details: (id: number) => void) {
                 align: 'center',
                 width: 115,
                 render: (a: any) => {
-                    return <Tooltip title={YOUHUAMUBIAO[a]}>
-                        <div className='oneText'>{YOUHUAMUBIAO[a] || '--'}</div>
+                    return <Tooltip title={YOUHUAMUBIAO[a as keyof typeof YOUHUAMUBIAO]}>
+                        <div className='oneText'>{YOUHUAMUBIAO[a as keyof typeof YOUHUAMUBIAO] || '--'}</div>
                     </Tooltip>
                 }
             },

+ 2 - 2
src/pages/launchSystemNew/account/components/qqAuto.tsx

@@ -100,7 +100,7 @@ function QQAuth(props: { qqVisible: boolean, callBack: () => void, adAppType: 0
         setData({ ...data, users: newArr })
     }, [data])
     return <Modal
-        visible={qqVisible}
+        open={qqVisible}
         footer={null}
         width={800}
         onCancel={callBack}
@@ -162,7 +162,7 @@ function QQAuth(props: { qqVisible: boolean, callBack: () => void, adAppType: 0
                 }
             </Row>
             <Modal
-                visible={visible}
+                open={visible}
                 footer={null}
                 width={250}
                 onCancel={() => { setVisible(false); location.reload() }}

+ 1 - 1
src/pages/launchSystemNew/account/game/addAccountToGroup.tsx

@@ -65,7 +65,7 @@ const AddAccountToGroup: React.FC<Props> = (props) => {
         <Button onClick={addAccountToGroupHandle} type='primary' icon={<PlusOutlined />}>修改分组中账户</Button>
         {visible && <Modal
             title='修改分组中账户'
-            visible={visible}
+            open={visible}
             onOk={handleOk}
             onCancel={closeHandle}
             confirmLoading={addNewAccountToGroup.loading}

+ 1 - 1
src/pages/launchSystemNew/account/game/appointPut.tsx

@@ -63,7 +63,7 @@ const AppointPut: React.FC<Props> = (props) => {
 
     return <Modal
         title="指派投放助理"
-        visible={visible}
+        open={visible}
         onOk={handleOk}
         onCancel={() => onClose?.()}
         confirmLoading={addAccountUser.loading}

+ 2 - 2
src/pages/launchSystemNew/account/game/changeRecord.tsx

@@ -69,7 +69,7 @@ function ChangeRecord(props: Props) {
 
     return <div>
 
-        <Drawer title={data?.name + ' 变更记录'} placement="right" width={1200} onClose={() => { onClose && onClose() }} visible={visible}>
+        <Drawer title={data?.name + ' 变更记录'} placement="right" width={1200} onClose={() => { onClose && onClose() }} open={visible}>
             <Tables
                 columns={columnsCrGdt(editHandle)}
                 dataSource={getGdtChangeRecord?.data?.records}
@@ -84,7 +84,7 @@ function ChangeRecord(props: Props) {
             />
         </Drawer>
 
-        {editVisible && <Modal title={editTitle} visible={editVisible} onOk={handleOk} onCancel={() => { setEditData(null); form.resetFields(); setEditVisible(false); }} confirmLoading={editAccountChangeRecord.loading || editGdtChangeRecord.loading}>
+        {editVisible && <Modal title={editTitle} open={editVisible} onOk={handleOk} onCancel={() => { setEditData(null); form.resetFields(); setEditVisible(false); }} confirmLoading={editAccountChangeRecord.loading || editGdtChangeRecord.loading}>
             <Form
                 name="basic"
                 form={form}

+ 1 - 1
src/pages/launchSystemNew/account/game/checkAccount.tsx

@@ -31,7 +31,7 @@ function CheckAccount(props: Props) {
         getResource.run({ resourceName: value, resourceType: 0})
     }
 
-    return <Modal title={`${'GDT'}切号`} visible={visible} onOk={handleOk} onCancel={() => { onClose && onClose() }} confirmLoading={checkGdtAccountGdt.loading}>
+    return <Modal title={`${'GDT'}切号`} open={visible} onOk={handleOk} onCancel={() => { onClose && onClose() }} confirmLoading={checkGdtAccountGdt.loading}>
         <Form
             name="basic"
             form={form}

+ 2 - 2
src/pages/launchSystemNew/account/game/divideIntoGroups.tsx

@@ -57,9 +57,9 @@ const DivideIntoGroups: React.FC<Props> = (props) => {
         </Spin>}
         title="选择分组"
         trigger="click"
-        visible={visible}
+        open={visible}
         overlayClassName="dig"
-        onVisibleChange={handleVisibleChange}
+        onOpenChange={handleVisibleChange}
     >
         <Tooltip title="分组">
             <Button size="small" style={{ color: '#eb2f96' }} onClick={() => setVisible(true)}><UsergroupAddOutlined /></Button>

+ 2 - 2
src/pages/launchSystemNew/account/game/index.tsx

@@ -301,7 +301,7 @@ const AdAuthorize: React.FC = () => {
             title="配置服务商"
             onOk={() => setServiceProviderName(openServer?.map(item => item.accountId))}
             onCancel={() => { setOpenServer([]); setServerName(null) }}
-            visible={openServer.length > 0}
+            open={openServer.length > 0}
             confirmLoading={api_putConfigServiceProvider.loading}
         >
             <Row gutter={[20, 20]}>
@@ -354,7 +354,7 @@ const AdAuthorize: React.FC = () => {
         {puShow && <AppointPut value={puData} visible={puShow} onClose={() => { setPuShow(false) }} allOfMember={erpUserALL} onChange={() => { setPuShow(false); getAdAccountList.refresh(); setSelectAccData([]) }} />}
 
         {remarkData.visible && <Modal
-            visible={remarkData.visible}
+            open={remarkData.visible}
             title='编辑账户'
             onCancel={() => { set_remarkData({ ...remarkData, visible: false, data: null }) }}
             onOk={remark}

+ 1 - 1
src/pages/launchSystemNew/account/novel/addAccountToGroup.tsx

@@ -65,7 +65,7 @@ const AddAccountToGroup: React.FC<Props> = (props) => {
         <Button onClick={addAccountToGroupHandle} type='primary' icon={<PlusOutlined />}>修改分组中账户</Button>
         {visible && <Modal
             title='修改分组中账户'
-            visible={visible}
+            open={visible}
             onOk={handleOk}
             onCancel={closeHandle}
             confirmLoading={addNewAccountToGroup.loading}

+ 1 - 1
src/pages/launchSystemNew/account/novel/appointPut.tsx

@@ -63,7 +63,7 @@ const AppointPut: React.FC<Props> = (props) => {
 
     return <Modal
         title="指派投放助理"
-        visible={visible}
+        open={visible}
         onOk={handleOk}
         onCancel={() => onClose?.()}
         confirmLoading={addAccountUser.loading}

+ 2 - 2
src/pages/launchSystemNew/account/novel/changeRecord.tsx

@@ -69,7 +69,7 @@ function ChangeRecord(props: Props) {
 
     return <div>
 
-        <Drawer title={data?.name + ' 变更记录'} placement="right" width={1200} onClose={() => { onClose && onClose() }} visible={visible}>
+        <Drawer title={data?.name + ' 变更记录'} placement="right" width={1200} onClose={() => { onClose && onClose() }} open={visible}>
             <Tables
                 columns={columnsCrGdt(editHandle)}
                 dataSource={getGdtChangeRecord?.data?.records}
@@ -84,7 +84,7 @@ function ChangeRecord(props: Props) {
             />
         </Drawer>
 
-        {editVisible && <Modal title={editTitle} visible={editVisible} onOk={handleOk} onCancel={() => { setEditData(null); form.resetFields(); setEditVisible(false); }} confirmLoading={editAccountChangeRecord.loading || editGdtChangeRecord.loading}>
+        {editVisible && <Modal title={editTitle} open={editVisible} onOk={handleOk} onCancel={() => { setEditData(null); form.resetFields(); setEditVisible(false); }} confirmLoading={editAccountChangeRecord.loading || editGdtChangeRecord.loading}>
             <Form
                 name="basic"
                 form={form}

+ 1 - 1
src/pages/launchSystemNew/account/novel/checkAccount.tsx

@@ -31,7 +31,7 @@ function CheckAccount(props: Props) {
         getResource.run({ resourceName: value, resourceType: 0})
     }
 
-    return <Modal title={`${'GDT'}切号`} visible={visible} onOk={handleOk} onCancel={() => { onClose && onClose() }} confirmLoading={checkGdtAccountGdt.loading}>
+    return <Modal title={`${'GDT'}切号`} open={visible} onOk={handleOk} onCancel={() => { onClose && onClose() }} confirmLoading={checkGdtAccountGdt.loading}>
         <Form
             name="basic"
             form={form}

+ 2 - 2
src/pages/launchSystemNew/account/novel/divideIntoGroups.tsx

@@ -57,9 +57,9 @@ const DivideIntoGroups: React.FC<Props> = (props) => {
         </Spin>}
         title="选择分组"
         trigger="click"
-        visible={visible}
+        open={visible}
         overlayClassName="dig"
-        onVisibleChange={handleVisibleChange}
+        onOpenChange={handleVisibleChange}
     >
         <Tooltip title="分组">
             <Button size="small" style={{ color: '#eb2f96' }} onClick={() => setVisible(true)}><UsergroupAddOutlined /></Button>

+ 2 - 2
src/pages/launchSystemNew/account/novel/index.tsx

@@ -306,7 +306,7 @@ const AdAuthorize: React.FC = () => {
             title="配置服务商"
             onOk={() => setServiceProviderName(openServer?.map(item => item.accountId))}
             onCancel={() => { setOpenServer([]); setServerName(null) }}
-            visible={openServer.length > 0}
+            open={openServer.length > 0}
             confirmLoading={api_putConfigServiceProvider.loading}
         >
             <Row gutter={[20, 20]}>
@@ -359,7 +359,7 @@ const AdAuthorize: React.FC = () => {
         {puShow && <AppointPut value={puData} visible={puShow} onClose={() => { setPuShow(false) }} allOfMember={erpUserALL} onChange={() => { setPuShow(false); getAdAccountList.refresh(); setSelectAccData([]) }} />}
 
         {remarkData.visible && <Modal
-            visible={remarkData.visible}
+            open={remarkData.visible}
             title='编辑账户'
             onCancel={() => { set_remarkData({ ...remarkData, visible: false, data: null }) }}
             onOk={remark}

+ 161 - 0
src/pages/launchSystemNew/account/novel/qqAuto.tsx

@@ -0,0 +1,161 @@
+import { useCallback, useState } from "react"
+import React from 'react'
+import { Col, Row, Radio, Input, Button, message, Space, Image, Modal, Popconfirm } from "antd";
+let name = {
+    0: '小说账号失败列表:',
+    1: '游戏账号失败列表:',
+}
+var time: any = null
+let api = "http://47.99.157.216:8023"
+// let api= "http://127.0.0.1:8023"
+function QQAuth(props: { qqVisible: boolean, callBack: () => void }) {
+    const { qqVisible, callBack } = props
+    let [visible, setVisible] = useState(false)
+    let [loading, setLoading] = useState(false)
+    let [codeUrl, setCodeUrl] = useState('')
+    let [err, setErr] = useState({})
+    let [data, setData] = useState({
+        userId: localStorage.getItem('userId'),
+        adAppType: 0,
+        users: [],
+        callbackPage: 'http%3A%2F%2Ferp.zanxiangnet.com%2FadCode',
+        authorization: `Bearer ${sessionStorage.getItem('Admin-Token')}`
+    })
+    let adAppIdonChange = useCallback((checkedValue) => {
+        let v = checkedValue.target.value
+        console.log("checkedValue===>", v)
+        setData({ ...data, adAppType: v })
+    }, [data])
+    let submit = useCallback(() => {
+        if (data.users.some(user => isNaN(user))) {
+            message.error('账号请使用数字!!!!!!')
+            return
+        }
+        setLoading(true)
+        fetch(api + '/qq/auth', {
+            method: 'POST',
+            headers: {
+                "content-type": "application/json",
+            },
+            body: JSON.stringify(data)
+        }).then(res => res.json()).then(r => {
+            if (r?.data?.codeImgUrl) {
+                setCodeUrl(r?.data?.codeImgUrl)
+                setVisible(true)
+                let n = 0
+                time = setInterval(() => {
+                    if (n < 60) {
+                        n += 1
+                        fetch(`${api}/qq/isOk?userId=${localStorage.getItem('userId')}`, {
+                            method: 'GET'
+                        }).then(res => res.json()).then(r => {
+                            if (r.data) {
+                                setVisible(false)
+                                setCodeUrl("")
+                                clearInterval(time)
+                                setLoading(false)
+                            }
+                        })
+                    } else {
+                        message.error('扫码超时请重新扫码!')
+                        setVisible(false)
+                        setCodeUrl("")
+                        clearInterval(time)
+                        setLoading(false)
+                    }
+
+                }, 1000)
+            } else {
+                message.success('已经开始授权,稍后自行查看结果!')
+                setLoading(false)
+            }
+            console.log(r)
+        })
+    }, [data])
+    let query = () => {
+        fetch(`${api}/qq/queryErr?userId=${localStorage.getItem('userId')}`, {
+            method: 'GET'
+        }).then(res => res.json()).then(r => {
+            console.log(r)
+            setErr(r.data)
+        })
+    }
+    let del = () => {
+        fetch(`${api}/qq/delCookie?userId=${localStorage.getItem('userId')}`, {
+            method: 'GET'
+        }).then(res => res.json()).then(r => {
+            console.log(r)
+            message.success('清理成功!!!!请重新扫码授权登录!!!')
+        })
+    }
+    let userIdChange = useCallback((e) => {
+        let value = e.target.value
+        let arr = value.split(/,|,/)
+        let newArr = arr?.map((str: string) => Number(str.replace(/\s/ig, '')))
+        setData({ ...data, users: newArr })
+    }, [data])
+    return <Modal
+        open={qqVisible}
+        footer={null}
+        width={800}
+        onCancel={callBack}
+        maskClosable={false}
+    >
+        <div>
+            <Row>
+                <Col span='24'>
+                    <Row>
+                        <Col span={3}><h3>平台选择:</h3></Col>
+                        <Col span={20}>
+                            <Radio.Group style={{ width: '100%' }} onChange={adAppIdonChange} defaultValue={data.adAppType}>
+                                <Radio value={0}>小说</Radio>
+                                {/* <Radio value={1}>游戏</Radio> */}
+                            </Radio.Group>
+                        </Col>
+                    </Row>
+                </Col>
+                <Col span='24'>
+                    <Row>
+                        <Col span={3}><h3>账号ID:</h3></Col>
+                        <Col span={20}> <Input.TextArea placeholder='多个账号请以,号隔开例:123456,222333,444444' rows={5} onChange={userIdChange} allowClear></Input.TextArea></Col>
+                    </Row>
+                </Col>
+            </Row>
+            <Row style={{ display: 'flex', justifyContent: 'center', marginTop: 20 }}>
+                <Space>
+                    <Button type='primary' onClick={submit} loading={loading}>提交</Button>
+                    <Button type='default' onClick={query} >查询授权失败账号</Button>
+                    <Popconfirm title={'清除账号状态将清除所有失败记录,并清空上一次扫码授权状态!'} onConfirm={del} >
+                        <Button type='primary' danger >清除账号状态</Button>
+                    </Popconfirm>
+
+                </Space>
+            </Row>
+            <Row>
+                {
+                    Object.keys(err).map((key, i) => {
+                        return <Col key={i} span={24}>
+                            <div>
+                                <h4>{name[key]}</h4>
+                                <p>{err[key]?.join()}</p>
+                            </div>
+                        </Col>
+                    })
+                }
+            </Row>
+            <Modal
+                open={visible}
+                footer={null}
+                width={200}
+                onCancel={() => setVisible(false)}
+                maskClosable={false}
+            >
+                <Image
+                    style={{ width: 150 }}
+                    src={codeUrl} />
+            </Modal>
+        </div>
+    </Modal>
+
+}
+export default QQAuth

+ 8 - 8
src/pages/launchSystemNew/adq/ad/FilterQuery.tsx

@@ -154,7 +154,7 @@ const FilterQuery: React.FC<Props> = ({ onChange, initialValues, queryForm, setQ
                 }
                 {...params}
             >
-                {Object.keys(OptimizationGoalEnum).map(key => <Select.Option value={key} key={key}>{OptimizationGoalEnum[key]}</Select.Option>)}
+                {Object.keys(OptimizationGoalEnum).map(key => <Select.Option value={key} key={key}>{OptimizationGoalEnum[key as keyof typeof OptimizationGoalEnum]}</Select.Option>)}
             </Select>
         },
         {
@@ -334,7 +334,7 @@ const FilterQuery: React.FC<Props> = ({ onChange, initialValues, queryForm, setQ
                 }}
             >
                 {Object.keys(AdStatusEnum).map(key => {
-                    return <Select.Option value={key} key={key}>{AdStatusEnum[key]}</Select.Option>
+                    return <Select.Option value={key} key={key}>{AdStatusEnum[key as keyof typeof AdStatusEnum]}</Select.Option>
                 })}
             </Select>
             <Select
@@ -387,7 +387,7 @@ const FilterQuery: React.FC<Props> = ({ onChange, initialValues, queryForm, setQ
                 }}
             >
                 {Object.keys(PromotedObjectType).map(key => {
-                    return <Select.Option value={key} key={key}>{PromotedObjectType[key]}</Select.Option>
+                    return <Select.Option value={key} key={key}>{PromotedObjectType[key as keyof typeof PromotedObjectType]}</Select.Option>
                 })}
             </Select>
 
@@ -404,10 +404,10 @@ const FilterQuery: React.FC<Props> = ({ onChange, initialValues, queryForm, setQ
                 title={<Space direction="vertical" size={0}>
                     <h3 style={{ fontWeight: 'bold', marginBottom: 0 }}>你可能找这类广告</h3>
                 </Space>}
-                visible={visible}
+                open={visible}
                 trigger={'click'}
                 placement="bottomLeft"
-                onVisibleChange={(e) => setVisible(e)}
+                onOpenChange={(e) => setVisible(e)}
                 getPopupContainer={() => document.getElementById('filterQueryContentAd') as any}
                 content={<div style={{ width: 500, height: 400, overflowY: 'auto', padding: '10px 16px' }}>
                     <Form
@@ -455,7 +455,7 @@ const FilterQuery: React.FC<Props> = ({ onChange, initialValues, queryForm, setQ
                 // }
                 switch (item.name) {
                     case 'status':
-                        value = AdStatusEnum[value]
+                        value = AdStatusEnum[value as keyof typeof AdStatusEnum]
                         break
                     case 'isDeleted':
                         value = typeof value === 'boolean' ? value ? '是' : '否' : '请选择'
@@ -464,10 +464,10 @@ const FilterQuery: React.FC<Props> = ({ onChange, initialValues, queryForm, setQ
                         value = typeof value === 'boolean' ? value ? '是' : '否' : '请选择'
                         break
                     case 'optimizationGoal':
-                        value = OptimizationGoalEnum[value] || '请选择'
+                        value = OptimizationGoalEnum[value as keyof typeof OptimizationGoalEnum] || '请选择'
                         break
                     case 'promotedObjectType':
-                        value = PromotedObjectType[value] || '请选择'
+                        value = PromotedObjectType[value as keyof typeof PromotedObjectType] || '请选择'
                         break
                     case 'adCreateTime': case 'putDate':
                         value = value ? '已经选择时间' : '请选择时间'

+ 1 - 1
src/pages/launchSystemNew/adq/ad/adPlanList.tsx

@@ -584,7 +584,7 @@ const AdPlanList: React.FC<{ userId: string }> = (props) => {
         </div>
         {detailShow && <Details visible={detailShow} onClose={() => { setDetailShow(false) }} data={detailData} />}
         {czjlShow && <Modal
-            visible={czjlShow}
+            open={czjlShow}
             onCancel={() => { setCzjlShow(false) }}
             onOk={() => { setCzjlShow(false) }}
             width={1200}

+ 1 - 1
src/pages/launchSystemNew/adq/ad/copy.tsx

@@ -91,7 +91,7 @@ const Copy: React.FC<Props> = (props) => {
     };
     return <Modal
         title="复制广告"
-        visible={visible}
+        open={visible}
         onOk={handleOk}
         width={800}
         onCancel={() => onClose?.()}

+ 4 - 4
src/pages/launchSystemNew/adq/ad/index.tsx

@@ -341,7 +341,7 @@ const Ad: React.FC<Props> = (props) => {
                     }}
                 >
                     {Object.keys(PromotedObjectType).map(key => {
-                        return <Select.Option value={key} key={key}>{PromotedObjectType[key]}</Select.Option>
+                        return <Select.Option value={key} key={key}>{PromotedObjectType[key as keyof typeof PromotedObjectType]}</Select.Option>
                     })}
                 </Select>
             </Col>
@@ -379,7 +379,7 @@ const Ad: React.FC<Props> = (props) => {
                 >
                     {
                         Object.keys(AdStatusEnum).map(key => {
-                            return <Select.Option value={key} key={key}>{AdStatusEnum[key]}</Select.Option>
+                            return <Select.Option value={key} key={key}>{AdStatusEnum[key as keyof typeof AdStatusEnum]}</Select.Option>
                         })
                     }
                 </Select>
@@ -441,7 +441,7 @@ const Ad: React.FC<Props> = (props) => {
                         set_queryFrom({ ...queryFrom, optimizationGoal: value })
                     }}
                 >
-                    {Object.keys(OptimizationGoalEnum).map(key => <Select.Option value={key} key={key}>{OptimizationGoalEnum[key]}</Select.Option>)}
+                    {Object.keys(OptimizationGoalEnum).map(key => <Select.Option value={key} key={key}>{OptimizationGoalEnum[key as keyof typeof OptimizationGoalEnum]}</Select.Option>)}
                 </Select>
             </Col>
             {/* <Col>
@@ -635,7 +635,7 @@ const Ad: React.FC<Props> = (props) => {
         />
         {detailShow && <Details visible={detailShow} onClose={() => { setDetailShow(false) }} data={{ adgroup_id: detailData.adgroupId, account_id: detailData.accountId }} />}
         {czjlShow && <Modal
-            visible={czjlShow}
+            open={czjlShow}
             onCancel={() => { setCzjlShow(false) }}
             onOk={() => { setCzjlShow(false) }}
             width={1200}

+ 1 - 1
src/pages/launchSystemNew/adq/ad/planTag.tsx

@@ -31,7 +31,7 @@ const PlanTag: React.FC<Props> = ({ data, visible, onClose, onChange }) => {
 
     return <Modal
         title={`${data.adgroup_name} 打标记`}
-        visible={visible}
+        open={visible}
         onCancel={onClose}
         onOk={handleOk}
         confirmLoading={adUserTag.loading}

+ 1 - 1
src/pages/launchSystemNew/adq/ad/updateAd.tsx

@@ -124,7 +124,7 @@ const UpdateAd: React.FC<Props> = ({ title = '修改广告', visible, onChange,
 
     return <Modal
         title={title}
-        visible={visible}
+        open={visible}
         onOk={handleOk}
         width={800}
         onCancel={() => onClose && onClose()}

+ 4 - 4
src/pages/launchSystemNew/adq/campaign/index.tsx

@@ -70,7 +70,7 @@ function Campaign(props: Props) {
         })
     }, [listAjax, selectedRows])
     // 启停
-    const switchHandle = useCallback((data, checked) => {
+    const switchHandle = useCallback((data: any, checked: boolean) => {
         let { accountId, campaignId } = data
         let configuredStatus = checked ? 'AD_STATUS_NORMAL' : 'AD_STATUS_SUSPEND'
         switchAjax.run({ accountId, campaignId, configuredStatus }).then(res => {
@@ -148,7 +148,7 @@ function Campaign(props: Props) {
                     {
                         Object.keys(PromotedObjectType).map(key => {
                             // let obj = JSON.parse(PromotedObjectType[key])
-                            return <Select.Option value={key} key={key}>{PromotedObjectType[key]}</Select.Option>
+                            return <Select.Option value={key} key={key}>{PromotedObjectType[key as keyof typeof PromotedObjectType]}</Select.Option>
                         })
                     }
                 </Select>
@@ -162,7 +162,7 @@ function Campaign(props: Props) {
                     {
                         Object.keys(ConfiguredStatusEnum).map(key => {
                             // let obj = JSON.parse(PromotedObjectType[key])
-                            return <Select.Option value={key} key={key}>{ConfiguredStatusEnum[key]}</Select.Option>
+                            return <Select.Option value={key} key={key}>{ConfiguredStatusEnum[key as keyof typeof ConfiguredStatusEnum]}</Select.Option>
                         })
                     }
                 </Select>
@@ -177,7 +177,7 @@ function Campaign(props: Props) {
                         Object.keys(CampaignTypeEnum).map(key => {
                             // let obj = JSON.parse(PromotedObjectType[key])
                             console.log(key)
-                            return <Select.Option value={key} key={key}>{CampaignTypeEnum[key]}</Select.Option>
+                            return <Select.Option value={key} key={key}>{CampaignTypeEnum[key as keyof typeof CampaignTypeEnum]}</Select.Option>
                         })
                     }
                 </Select>

+ 1 - 1
src/pages/launchSystemNew/adq/targeting/tableConfig.tsx

@@ -85,7 +85,7 @@ function tableConfig(tableIdClick: any): any {
             width: 170,
             render: (a: string | number, b: any) => {
                 return <div style={{ display: 'flex', flexFlow: 'column' }}>
-                    <span> {a && TargetingSourceTypeEnum[a]}</span>
+                    <span> {a && TargetingSourceTypeEnum[a as keyof typeof TargetingSourceTypeEnum]}</span>
                     {
                         !!b?.shareFromAccountId && <span>来源账号ID:<a>{b?.shareFromAccountId}</a></span>
                     }

+ 4 - 4
src/pages/launchSystemNew/components/TableData/index.tsx

@@ -191,8 +191,8 @@ function TableData(props: Prosp) {
                             <span style={{ fontSize: 10, color: '#999' }}>刷新时间:{ajax?.data?.reqTime}</span>
                             <Tooltip
                                 title='刷新'
-                                visible={tiptopShow.ajaxShow}
-                                onVisibleChange={(visible) => {
+                                open={tiptopShow.ajaxShow}
+                                onOpenChange={(visible) => {
                                     setTipTopShow({ ...tiptopShow, ajaxShow: visible })
                                 }}
                             ><RedoOutlined style={{ color: '#2196f3', fontSize: 17 }} /></Tooltip>
@@ -208,8 +208,8 @@ function TableData(props: Prosp) {
 
                             <Tooltip
                                 title='同步最新'
-                                visible={tiptopShow.syncAjaxShow}
-                                onVisibleChange={(visible) => {
+                                open={tiptopShow.syncAjaxShow}
+                                onOpenChange={(visible) => {
                                     setTipTopShow({ ...tiptopShow, syncAjaxShow: visible })
                                 }}
                             ><SyncOutlined style={{ color: 'red', fontSize: 17 }} /></Tooltip>

+ 3 - 3
src/pages/launchSystemNew/components/TableData/indexTab.tsx

@@ -132,7 +132,7 @@ function Page(props: Prosp) {
             download?: boolean,
         }) => {
             let { pagination, filters, sortData, bookName, download, } = props
-            let data = {}
+            let data: any = {}
             if (isCPitcher) {
                 data = { pitcher: isPitcher ? pitcher : selectdName }//'潘晨虹'||
             }
@@ -323,7 +323,7 @@ function Page(props: Prosp) {
             targetKeys?.forEach((v: string, index: number) => {
                 column?.forEach((item: { dataIndex: string, fixed: any }) => {
                     if (item.dataIndex === v) {
-                        if (index < fixedNum) {
+                        if (index < Number(fixedNum)) {
                             item.fixed = true
                         } else {
                             item.fixed = false
@@ -508,7 +508,7 @@ function Page(props: Prosp) {
                     <Drawer
                         title="table字段设置"
                         width={420}
-                        visible={visible}
+                        open={visible}
                         getContainer={ref?.current || false}
                         onClose={() => {
                             setVisible(false)

+ 1 - 1
src/pages/launchSystemNew/components/adModal/index.tsx

@@ -65,7 +65,7 @@ const AdModal: React.FC<Props> = (props) => {
         }
     }
 
-    return <Modal title={`选择广告`} bodyStyle={{ padding: 0 }} width={1000} visible={visible} onOk={handleOk} onCancel={() => { onClose && onClose() }}>
+    return <Modal title={`选择广告`} bodyStyle={{ padding: 0 }} width={1000} open={visible} onOk={handleOk} onCancel={() => { onClose && onClose() }}>
         <TableData
             hoverable={false}
             columns={tableConfig}

+ 7 - 7
src/pages/launchSystemNew/components/adPopover/index.tsx

@@ -36,13 +36,13 @@ const AdPopover: React.FC<Props> = (props) => {
             <div className={`${style.popover} ${style.aStyle}`}>
                 {getSysAdgroups?.data && <>
                     <div>广告名称: <span>{getSysAdgroups?.data?.adgroupName}</span></div>
-                    <div>推广目标: <span>{PromotedObjectType[getSysAdgroups?.data?.promotedObjectType]}</span></div>
-                    <div>广告版位: <span>{getSysAdgroups?.data?.siteSet?.map((item: string) => SiteSetEnum[item]).toString()}</span></div>
+                    <div>推广目标: <span>{PromotedObjectType[getSysAdgroups?.data?.promotedObjectType as keyof typeof PromotedObjectType]}</span></div>
+                    <div>广告版位: <span>{getSysAdgroups?.data?.siteSet?.map((item: string) => SiteSetEnum[item as keyof typeof SiteSetEnum]).toString()}</span></div>
                     <div>投放日期: <span>{getSysAdgroups?.data?.endDate ? getSysAdgroups?.data?.beginDate + '~' + getSysAdgroups?.data?.endDate : getSysAdgroups?.data?.beginDate + '~' + '长期投放'}</span></div>
-                    <div>出价方式: <span>{BidModeEnum[getSysAdgroups?.data?.bidMode]}</span></div>
-                    <div>优化目标: <span>{OptimizationGoalEnum[getSysAdgroups?.data?.optimizationGoal]}</span></div>
+                    <div>出价方式: <span>{BidModeEnum[getSysAdgroups?.data?.bidMode as keyof typeof BidModeEnum]}</span></div>
+                    <div>优化目标: <span>{OptimizationGoalEnum[getSysAdgroups?.data?.optimizationGoal as keyof typeof OptimizationGoalEnum]}</span></div>
                     <div>出价类型: <span>{getSysAdgroups?.data?.smartBidType === 'SMART_BID_TYPE_CUSTOM' ? '手动出价' : '自动出价'}</span></div>
-                    <div>出价策略: <span>{BidStrategyEnum[getSysAdgroups?.data?.bidStrategy]}</span></div>
+                    <div>出价策略: <span>{BidStrategyEnum[getSysAdgroups?.data?.bidStrategy as keyof typeof BidStrategyEnum]}</span></div>
                     <div>广告出价: <span>{getSysAdgroups?.data?.bidAmount}</span></div>
                     <div>广告日预算: <span>{getSysAdgroups?.data?.dailyBudget || '不限'}</span></div>
                 </>}
@@ -51,8 +51,8 @@ const AdPopover: React.FC<Props> = (props) => {
         // title="定向"
         trigger="click"
         placement="left"
-        visible={visible}
-        onVisibleChange={handleVisibleChange}
+        open={visible}
+        onOpenChange={handleVisibleChange}
     >
         {/* 查看广告 */}
         <a style={{ color: '#1890ff', fontSize: 12 }}>{name || id}</a>

+ 2 - 2
src/pages/launchSystemNew/components/adcreativePopover/index.tsx

@@ -39,8 +39,8 @@ const AdcreativePopover: React.FC<Props> = (props) => {
         </Spin>}
         trigger="click"
         placement="left"
-        visible={visible}
-        onVisibleChange={handleVisibleChange}
+        open={visible}
+        onOpenChange={handleVisibleChange}
     >
         {/* 查看创意 */}
         <a style={{ color: '#1890ff', fontSize: 12 }}>{name || id}</a>

+ 4 - 4
src/pages/launchSystemNew/components/addLandingPage/index.tsx

@@ -109,7 +109,7 @@ function AddLandingPage(props: Props) {
                     setShareTittle(() => shareContentSpec?.shareDescription || '')
                     if (globalSpec && Object.keys(globalSpec).length > 0) {
                         let globalElementsSpecList = globalSpec.globalElementsSpecList
-                        let newComponentItem = globalElementsSpecList?.map((item: { elementType: string }) => {
+                        let newComponentItem = globalElementsSpecList?.map((item: { elementType: string } | any) => {
                             let typeKey = getTypeKey(item.elementType)
                             let { elementType, ...data } = item[typeKey]
                             let typeKey1 = getTypeKey(elementType)
@@ -261,7 +261,7 @@ function AddLandingPage(props: Props) {
     });
 
     /** 选中设置 */
-    const installActive = useCallback((e, index: number) => {
+    const installActive = useCallback((e: any, index: number) => {
         e.stopPropagation(); e.preventDefault();
         let newCon = content?.map((item: any) => {
             return { ...item, comptActive: false }
@@ -1981,7 +1981,7 @@ function AddLandingPage(props: Props) {
         onClose={() => {
             modal.confirm(config);
         }}
-        visible={visible}
+        open={visible}
         width='90%'
         className={`addDraw ${style.drawer}`}
     >
@@ -1993,7 +1993,7 @@ function AddLandingPage(props: Props) {
                 <div style={{ marginBottom: 2, color: '#1f1f1f' }}>分享设置</div>
                 <div style={{ color: '#a3a3a3', fontSize: 12 }}>设置推广页的分享样式</div>
             </>}
-            visible={lastVisible}
+            open={lastVisible}
             confirmLoading={add.loading}
             onOk={saveHandle}
             onCancel={() => { setLastVisible(false) }}

+ 1 - 1
src/pages/launchSystemNew/components/addLandingPage/selectAccount.tsx

@@ -145,7 +145,7 @@ function SelectAccount(props: Props) {
     }, [adsChannelAccountMp, adsChannelAccountAdq])
     return <Modal
         title='选择账户'
-        visible={show}
+        open={show}
         onCancel={() => { onClose && onClose() }}
         maskClosable
         width={1000}

+ 1 - 1
src/pages/launchSystemNew/components/bathLauCopy/index.tsx

@@ -326,7 +326,7 @@ function BathLauCopy(props: Props) {
     return <Modal
         bodyStyle={{ height: 600, overflowY: 'auto' }}
         title="批量复制推广页"
-        visible={visible}
+        open={visible}
         onCancel={hideHandle}
         confirmLoading={loading}
         onOk={handleOk}

+ 1 - 1
src/pages/launchSystemNew/components/creativeModal/index.tsx

@@ -55,7 +55,7 @@ const CreativeModal: React.FC<Props> = (props) => {
         onChange && onChange(selectedRowKeys.toString())
     }
 
-    return <Modal title={`选择创意`} bodyStyle={{ padding: 0 }} width={1000} visible={visible} onOk={handleOk} onCancel={() => { onClose && onClose() }}>
+    return <Modal title={`选择创意`} bodyStyle={{ padding: 0 }} width={1000} open={visible} onOk={handleOk} onCancel={() => { onClose && onClose() }}>
         <TableData
             hoverable={false}
             columns={tableConfig}

+ 1 - 1
src/pages/launchSystemNew/components/crowdPackModal/index.tsx

@@ -152,7 +152,7 @@ const CrowdPackModal: React.FC<Props> = (props) => {
             <span>人群包</span>
             <Button size="small" onClick={() => { synGoodsList() }} type="link" loading={sysCrowdPack.loading}>同步人群包</Button>
         </Space>}
-        visible={visible}
+        open={visible}
         onCancel={() => { onClose && onClose() }}
         onOk={handleOk}
         width={1100}

+ 2 - 2
src/pages/launchSystemNew/components/customerServiceModal/index.tsx

@@ -113,7 +113,7 @@ const CustomerServiceModal: React.FC<Props> = (props) => {
                 <span>客服组</span>
                 <Button size="small" onClick={() => { setSysVisible(true) }} type='link'>同步客服组</Button>
             </Space>}
-            visible={visible}
+            open={visible}
             footer={<Space>
                 <Button onClick={() => setVisible(false)}>取消</Button>
                 {notConfigured?.length > 0 ? <Tooltip title={`${notConfigured?.map((item: { adAccountId: string }) => item.adAccountId)?.toString()}下按钮未全部配置客服`}>
@@ -164,7 +164,7 @@ const CustomerServiceModal: React.FC<Props> = (props) => {
         </Modal>}
 
         {/* 输入企业微信ID同步 */}
-        {sysVisible && <Modal title="输入企业微信ID同步" visible={sysVisible} onOk={handleSys} onCancel={() => setSysVisible(false)} okText='同步' confirmLoading={sysCropWechat.loading}>
+        {sysVisible && <Modal title="输入企业微信ID同步" open={sysVisible} onOk={handleSys} onCancel={() => setSysVisible(false)} okText='同步' confirmLoading={sysCropWechat.loading}>
             <Input value={corpId} onChange={(e) => setCorpId(e.target.value)} placeholder='输入企业微信ID同步' />
         </Modal>}
     </div>

+ 1 - 1
src/pages/launchSystemNew/components/dataSourceModal/index.tsx

@@ -114,7 +114,7 @@ const DataSourceModal: React.FC<Props> = (props) => {
             <span>数据源</span>
             <Button size="small" onClick={() => { synDataSourceList() }} type='link' loading={sysDataSource?.loading}>同步数据源</Button>
         </Space>}
-        visible={visible}
+        open={visible}
         onCancel={() => { onClose && onClose() }}
         onOk={handleOk}
         width={1100}

+ 1 - 1
src/pages/launchSystemNew/components/expandModal/index.tsx

@@ -147,7 +147,7 @@ const ExpandModal: React.FC<Props> = (props) => {
             <span>自动扩量</span>
             <Button size="small" onClick={() => { synGoodsList() }} type="link" loading={sysCrowdPack.loading}>同步扩量种子人群</Button>
         </Space>}
-        visible={visible}
+        open={visible}
         onCancel={() => { onClose && onClose() }}
         onOk={handleOk}
         width={1100}

+ 1 - 1
src/pages/launchSystemNew/components/goodsModal/index.tsx

@@ -121,7 +121,7 @@ const GoodsModal: React.FC<Props> = (props) => {
             <span>商品库</span>
             <Button size="small" onClick={() => { synGoodsList() }} type="link" loading={synGoods?.loading}>同步商品库</Button>
         </Space>}
-        visible={visible}
+        open={visible}
         onCancel={() => { onClose && onClose() }}
         onOk={handleOk}
         width={1100}

+ 1 - 1
src/pages/launchSystemNew/components/idModal/index.tsx

@@ -79,7 +79,7 @@ const IdModal: React.FC<Props> = (props) => {
             <span>商品库</span>
             <Button size="small" onClick={() => { synIdList() }} loading={sysId?.loading}>同步商品库</Button>
         </Space>}
-        visible={visible}
+        open={visible}
         onCancel={() => { onClose && onClose() }}
         onOk={handleOk}
         width={1100}

+ 1 - 1
src/pages/launchSystemNew/components/lookLanding/index.tsx

@@ -400,7 +400,7 @@ function LookLanding(props: Props) {
         placement="right"
         closable={false}
         onClose={() => { onClose && onClose() }}
-        visible={visible}
+        open={visible}
         width={420}
     >
         <Spin spinning={get.loading}>

+ 1 - 1
src/pages/launchSystemNew/components/newsModal/videoNews.tsx

@@ -25,7 +25,7 @@ const VideoNews: React.FC<Props> = ({ preview = false, src, maskBodyStyle, maskI
             </div>
         </div>
         {toPlay && <Modal
-            visible={toPlay}
+            open={toPlay}
             bodyStyle={{ backgroundColor: 'rgba(0,0,0,0.8)', overflow: 'hidden', borderRadius: 6 }}
             footer={null}
             closeIcon={<CloseOutlined style={{ color: '#FFF' }}/>}

+ 1 - 1
src/pages/launchSystemNew/components/pageModal/index.tsx

@@ -118,7 +118,7 @@ const PageModal: React.FC<Props> = (props) => {
             <span>ADQ落地页</span>
             <Button size="small" onClick={() => { synPageList() }} type="link" loading={loading}>同步落地页</Button>
         </Space>}
-        visible={visible}
+        open={visible}
         onCancel={() => { onClose && onClose() }}
         onOk={handleOk}
         width={1100}

Деякі файли не було показано, через те що забагато файлів було змінено