wjx před 5 měsíci
rodič
revize
cf982ac1bd

+ 28 - 12
src/pages/launchSystemV3/tencenTasset/accountAssetSharing/addSubAccount.tsx

@@ -3,7 +3,7 @@ import React, { useEffect, useState } from "react"
 import '../../tencentAdPutIn/index.less'
 import { getAccountAllListApi } from "@/services/launchAdq/adAuthorize"
 import { useAjax } from "@/Hook/useAjax"
-import { authAccountAssetsGroupAccountApi, getConversionInfoApi } from "@/services/adqV3/global"
+import { authAccountAssetsGroupAccountApi, batchAuthAccountAssetsGroupAccountApi, getConversionInfoApi } from "@/services/adqV3/global"
 import { GOAL_ROAS_ENUM, OPTIMIZATIONGOAL_ENUM } from "../../tencentAdPutIn/const"
 
 interface Props {
@@ -31,6 +31,7 @@ const AddSubAccount: React.FC<Props> = ({ authType, authMainAccountId, accountAs
 
     const getAccountAllList = useAjax(() => getAccountAllListApi())
     const authAccountAssetsGroupAccount = useAjax((params) => authAccountAssetsGroupAccountApi(params))
+    const batchAuthAccountAssetsGroupAccount = useAjax((params) => batchAuthAccountAssetsGroupAccountApi(params))
     const getConversionInfo = useAjax((params) => getConversionInfoApi(params))
     /************************************/
 
@@ -58,17 +59,30 @@ const AddSubAccount: React.FC<Props> = ({ authType, authMainAccountId, accountAs
         form.validateFields().then(valid => {
             console.log(valid)
             let params = { ...valid, accountAssetsGroupId: accountAssetsGroupId }
-            if (valid.assetId) {
-                const assetName = tableData.find(item => item.value === valid.assetId).name
-                params.assetName = assetName
-            }
-            authAccountAssetsGroupAccount.run(params).then(res => {
-                console.log(res)
-                if (res) {
-                    message.success('授权成功')
-                    onChange?.()
+            if (authType === 'conversion') {
+                if (valid.assetId?.length) {
+                    params.assetsDTOS = valid.assetId.map((id: any) => {
+                        const assetName = tableData.find(item => item.value === id).name
+                        return { assetId: id, assetName }
+                    })
+                    delete valid.assetId
                 }
-            })
+                batchAuthAccountAssetsGroupAccount.run(params).then(res => {
+                    console.log(res)
+                    if (res) {
+                        message.success('授权成功')
+                        onChange?.()
+                    }
+                })
+            } else {
+                authAccountAssetsGroupAccount.run(params).then(res => {
+                    console.log(res)
+                    if (res) {
+                        message.success('授权成功')
+                        onChange?.()
+                    }
+                })
+            }
         })
     }
 
@@ -78,7 +92,7 @@ const AddSubAccount: React.FC<Props> = ({ authType, authMainAccountId, accountAs
         onCancel={onClose}
         className="modalResetCss"
         onOk={handleOk}
-        confirmLoading={authAccountAssetsGroupAccount.loading}
+        confirmLoading={authAccountAssetsGroupAccount.loading || batchAuthAccountAssetsGroupAccount.loading}
     >
         <Form
             name="basicAddSub"
@@ -91,9 +105,11 @@ const AddSubAccount: React.FC<Props> = ({ authType, authMainAccountId, accountAs
                     placeholder="请选择授权资产"
                     allowClear
                     showSearch
+                    mode="multiple"
                     filterOption={(input, option) =>
                         (option?.label as any)?.toLowerCase().indexOf(input.toLowerCase()) >= 0
                     }
+                    maxTagCount={5}
                     loading={getConversionInfo.loading}
                     options={tableData}
                     dropdownMatchSelectWidth={false}

+ 13 - 1
src/services/adqV3/global.ts

@@ -799,13 +799,25 @@ export async function getAccountAssetsGroupAccountListApi(data: { groupId: numbe
  * @param data 
  * @returns 
  */
-export async function authAccountAssetsGroupAccountApi(data: { accountAssetsGroupId: number, accountId: number[] }) {
+export async function authAccountAssetsGroupAccountApi(data: { accountAssetsGroupId: number, accountId: number[], assetId?: number, assetName?: string }) {
     return request(api + `/adq/v3/marketingAssets/accountAssetsGroup/auth`, {
         method: 'POST',
         data
     })
 }
 
+/**
+ * 批量授权
+ * @param data 
+ * @returns 
+ */
+export async function batchAuthAccountAssetsGroupAccountApi(data: { accountAssetsGroupId: number, accountId: number[], assetsDTOS: { assetId: number, assetName: string }[] }) {
+    return request(api + `/adq/v3/marketingAssets/accountAssetsGroup/batchAuth`, {
+        method: 'POST',
+        data
+    })
+}
+
 /**
  * 同步素材
  * @param data