shenwu 2 anos atrás
pai
commit
c6f4ff4ad4

+ 20 - 8
src/pages/launchSystemNew/launchManage/localAd/creative/index.tsx

@@ -2,7 +2,7 @@
 import { FnAjax, useAjax } from '@/Hook/useAjax'
 import { ListData, } from '@/services/launchAdq'
 import { PromotedObjectType } from '@/services/launchAdq/enum'
-import { createSysAdcreative, getSysAdcreativeList } from '@/services/launchAdq/creative'
+import { createSysAdcreative, getSysAdcreativeInfo, getSysAdcreativeList } from '@/services/launchAdq/creative'
 import { Col, Row, Input, Select, Button } from 'antd'
 import React, { useEffect, useState, useCallback } from 'react'
 import TableData from '../../../components/TableData'
@@ -11,19 +11,21 @@ import tableConfig from './tableConfig'
 
 export interface ModalConfig {
     visible: boolean;
-    title?: string;
+    type?:'add'|'look'|'edit',
+    dataInfo?:null
 }
 
 function Creative() {
     // 变量
     const [modalConfig, setModalConfig] = useState<ModalConfig>({
         visible: false,
-        title: '新建'
+        type:'add'
     })
     const [oldsearchData, setOldsearchData] = useState<any>(null)
     // api方法
-    const sysAdcreativeList: FnAjax<ListData<any>|any> = useAjax((params) => getSysAdcreativeList(params),{formatResult:true})
+    const sysAdcreativeList: FnAjax<ListData<any> | any> = useAjax((params) => getSysAdcreativeList(params), { formatResult: true })
     const createSysAdgroup = useAjax((params) => createSysAdcreative(params))
+    const targetingInfo = useAjax((params) => getSysAdcreativeInfo(params),{formatResult:true})
     // 初始获取列表
     useEffect(() => {
         getList({ pageSize: 20, pageNum: 1 })
@@ -49,14 +51,24 @@ function Creative() {
         createSysAdgroup.run(arg).then(res => {
             if (res) {
                 sysAdcreativeList.refresh()
-                handleModalConfig({ visible: false })
+                handleModalConfig({ visible: false,dataInfo:null,type:'add' })
             }
         })
     }, [sysAdcreativeList])
-    console.log(sysAdcreativeList)
+    // 获取详情
+    const getInfo = useCallback((adgroupsId, type) => {
+        targetingInfo.run(adgroupsId).then((res: any) => {
+            setModalConfig({ ...modalConfig, visible: true, type, dataInfo: res.data })
+        })
+    }, [modalConfig])
+    // 回调
+    const callback = useCallback((data, type) => {
+        getInfo(data.id, type)
+
+    }, [])
     return <div>
         <TableData
-            columns={tableConfig}
+            columns={()=>tableConfig(callback)}
             ajax={sysAdcreativeList}
             dataSource={sysAdcreativeList?.data?.data?.records}
             loading={sysAdcreativeList?.loading}
@@ -114,7 +126,7 @@ function Creative() {
                 getList({ pageNum: current, pageSize })
             }}
         />
-        {modalConfig.visible && <AdModal visible={modalConfig.visible} title={modalConfig.title} PupFn={handleModalConfig} callback={submit} confirmLoading={createSysAdgroup.loading} />}
+        {modalConfig.visible && <AdModal visible={modalConfig.visible} type={modalConfig.type} PupFn={handleModalConfig} callback={submit} confirmLoading={createSysAdgroup.loading} dataInfo={modalConfig.dataInfo}/>}
     </div>
 }
 export default Creative

+ 7 - 3
src/pages/launchSystemNew/launchManage/localAd/creative/modal.tsx

@@ -15,12 +15,15 @@ interface Props {
     visible: boolean,
     PupFn: (arg: ModalConfig) => void,
     callback: (params: any) => void,
-    confirmLoading: boolean
+    confirmLoading: boolean,
+    type?: 'add' | 'look' | 'edit',//新增,查看,编辑
+    dataInfo?: any
 }
 /**创意模板*/
 function CreativeModal(props: Props) {
-    let { visible, title, confirmLoading, PupFn, callback } = props
+    let { visible, title, confirmLoading, PupFn, callback ,type} = props
     const { init } = useModel('useLaunchAdq.useBdMediaPup')
+    let arg = type === 'look' ? { footer: null } : {}
     // 请求
     const getAdcreativeTemplate = useAjax((params) => get_adcreative_template(params))
     const getAdcreativeTemplateList = useAjax((params) => get_adcreative_template_list(params))
@@ -284,12 +287,13 @@ function CreativeModal(props: Props) {
     }, [])
     return <Modal
         visible={visible}
-        title={title + '创意'}
+        title={type === 'add' ? '新建创意' : type === 'look' ? '创意详情' : '编辑创意'}
         onCancel={() => { PupFn({ visible: false }) }}
         onOk={handleOk}
         width={1200}
         confirmLoading={confirmLoading}
         className='myModal'
+        {...arg}
     >
         <Form
             form={form}

+ 7 - 5
src/pages/launchSystemNew/launchManage/localAd/creative/tableConfig.tsx

@@ -1,7 +1,7 @@
 import { PageTypeEnum, PromotedObjectType } from '@/services/launchAdq/enum'
 import React from 'react'
 import { Space } from 'antd'
-function tableConfig(): any {
+function tableConfig(callback:(data:any,type:'edit'|'look')=>void): any {
     return [
         {
             title: 'ID',
@@ -69,11 +69,13 @@ function tableConfig(): any {
             dataIndex: 'cz',
             key: 'cz',
             align: 'center',
-            render: () => {
+            render:(a: any,b: any)=>{
                 return <Space>
-                    <a>详情</a>
-                </Space>
-            }
+                     <a onClick={()=>{
+                         callback(b,'look')
+                     }}>详情</a>
+                 </Space>
+             }
         }
     ]
 }