ソースを参照

修复广告账户搜索回车,广告列表支持翻页多选

shenwu 2 年 前
コミット
bb6d3d5a53
1 ファイル変更29 行追加34 行削除
  1. 29 34
      src/pages/launchSystemNew/adq/ad/index.tsx

+ 29 - 34
src/pages/launchSystemNew/adq/ad/index.tsx

@@ -416,41 +416,36 @@ const Ad: React.FC<Props> = (props) => {
                             record?.deepConversionSpec?.deepConversionWorthSpec?.goal === 'GOAL_1DAY_PURCHASE_ROAS'
                         )
                 }),
-                onChange: (selectedRowKeys: any, selectedRowss: any) => {
-                    console.log(selectedRowss)
-                    let newArr: any = [...selectedRows]
-                    let ajaxData = listAjax?.data.data.records?.filter((record: any) => {
-                        if (model) {
-                            return record.status !== 'STATUS_DELETED'
-                        } else {
-                            return record.status !== 'STATUS_DELETED' && record?.promotedObjectType === 'PROMOTED_OBJECT_TYPE_WECHAT_OFFICIAL_ACCOUNT' && record?.optimizationGoal === 'OPTIMIZATIONGOAL_FOLLOW' && record?.deepConversionSpec?.deepConversionWorthSpec?.goal === 'GOAL_1DAY_PURCHASE_ROAS'
-                        }
-                    })
-                    let type = selectedRowss.length === 0 ? 'delAll' : selectedRowss.length === ajaxData?.length ? 'add' : 'del'
-                    console.log(selectedRowss.length, listAjax?.data.data.records.length, ajaxData.length)
-                    switch (type) {
-                        case 'add':
-                            console.log('新增')
-                            newArr = [...newArr, ...selectedRowss]
-                            break;
-                        case 'del':
-                            console.log('删除')
-                            newArr.forEach((item: { adgroupId: any }) => {
-                                if (selectedRowss.every((i: { adgroupId: any }) => i.adgroupId != item.adgroupId)) {
-                                    newArr = newArr.filter((i: { adgroupId: any }) => i.adgroupId != item.adgroupId)
-                                }
-                            })
-                            break;
-                        case 'delAll':
-                            console.log('删除全部')
-                            newArr.forEach((item: { adgroupId: any }) => {
-                                if (listAjax?.data.data.records.some((i: { adgroupId: any }) => i.adgroupId == item.adgroupId)) {
-                                    newArr = newArr.filter((i: { adgroupId: any }) => i.adgroupId != item.adgroupId)
-                                }
-                            })
-                            break;
+                onSelect: (record: { adgroupId: number, mpName: string }, selected: boolean) => {
+                    if (selected) {
+                        selectedRows.push({ ...record })
+                        setSelectedRows([...selectedRows])
+                    } else {
+                        let newSelectAccData = selectedRows.filter((item: { adgroupId: number }) => item.adgroupId!== record.adgroupId)
+                        setSelectedRows([...newSelectAccData])
+                    }
+                },
+                onSelectAll: (selected: boolean, selectedRowss: { adgroupId: number }[], changeRows: { adgroupId: number }[]) => {
+                    if (selected) {
+                        let newSelectAccData = [...selectedRows]
+                        changeRows.forEach((item: { adgroupId: number }) => {
+                            let index = newSelectAccData.findIndex((ite: { adgroupId: number }) => ite.adgroupId === item.adgroupId)
+                            if (index === -1) {
+                                newSelectAccData.push({ ...item })
+                            }
+                        })
+                        setSelectedRows([...newSelectAccData])
+                    } else {
+                        let newSelectAccData = selectedRows.filter((item: { adgroupId: number }) => {
+                            let index = changeRows.findIndex((ite: { adgroupId: number }) => ite.adgroupId === item.adgroupId)
+                            if (index !== -1) {
+                                return false
+                            } else {
+                                return true
+                            }
+                        })
+                        setSelectedRows([...newSelectAccData])
                     }
-                    setSelectedRows(newArr)
                 }
             }}
             onChange={(props: any) => {