wjx 8 meses atrás
pai
commit
a869da8191

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

@@ -361,7 +361,7 @@ function FlieBox(props: Props) {
                                     okText="是"
                                     cancelText="否"
                                     onCancel={delPupOff}
-                                    visible={delPupId === item.id}
+                                    open={delPupId === item.id}
                                     key={item.id}
                                 >
                                     <Spin tip='正在请求素材详情,请耐心等待...' spinning={get?.loading}>
@@ -490,7 +490,7 @@ function FlieBox(props: Props) {
                                     okText="是"
                                     cancelText="否"
                                     onCancel={delPupOff}
-                                    visible={delPupId === item.id}
+                                    open={delPupId === item.id}
                                     key={item.id}
                                 >
                                     <Spin tip='正在请求素材详情,请耐心等待...' spinning={get?.loading} data-id={item.id}>

+ 25 - 42
src/components/RightContent/AvatarDropdown.tsx

@@ -8,7 +8,7 @@ import { stringify } from 'querystring';
 import HeaderDropdown from '../HeaderDropdown';
 import styles from './index.less';
 import { useAjax } from '@/Hook/useAjax';
-import {api }from '@/services/api'
+import { api } from '@/services/api'
 import useCopy from '@/Hook/useCopy';
 
 export interface GlobalHeaderRightProps {
@@ -36,7 +36,7 @@ const loginOut = async () => {
 };
 
 const AvatarDropdown: React.FC<GlobalHeaderRightProps> = ({ menu }) => {
-  const {copy} =useCopy()
+  const { copy } = useCopy()
   const selectCompany = useAjax((companyId: number) => selectCompanyApi(companyId), { formatResult: true })
   const { initialState, setInitialState } = useModel('@@initialState');
   const { edit, modifyPassword } = useModel('useOperating.useUser')
@@ -62,10 +62,10 @@ const AvatarDropdown: React.FC<GlobalHeaderRightProps> = ({ menu }) => {
         setDialogVisible(() => true)
         return
       }
-      if(key === 'admin'){
-        let token = sessionStorage.getItem('Admin-Token') 
-        window.open(api.includes('test') || api === 'api'?`http://test.zanxiangnet.com/admin/#/login?token=${token}`:`https://mp.zanxiangnet.com/admin/#/login?token=${token}`)
-        return 
+      if (key === 'admin') {
+        let token = sessionStorage.getItem('Admin-Token')
+        window.open(api.includes('test') || api === 'api' ? `http://test.zanxiangnet.com/admin/#/login?token=${token}` : `https://mp.zanxiangnet.com/admin/#/login?token=${token}`)
+        return
       }
       history.push(`/account/${key}`);
     },
@@ -124,40 +124,23 @@ const AvatarDropdown: React.FC<GlobalHeaderRightProps> = ({ menu }) => {
     return loading;
   }
 
+  let items = []
+  if (menu) {
+    items.push({ label: '个人中心', key: 'center', icon: <UserOutlined /> })
+    items.push({ label: '个人设置', key: 'settings', icon: <SettingOutlined /> })
+  }
+  if (currentUser?.powerLevel === 999) {
+    items.push({ label: '管理系统', key: 'admin', icon: <SendOutlined /> })
+  }
+  items.push({ label: '切换公司', key: 'company', icon: <SwapOutlined /> })
+  items.push({ label: '修改密码', key: 'edit', icon: <EditOutlined /> })
+  items.push({ label: '退出登录', key: 'logout', icon: <LogoutOutlined /> })
+
   const menuHeaderDropdown = (
-    <Menu className={styles.menu} selectedKeys={[]} onClick={onMenuClick}>
-      {menu && (
-        <Menu.Item key="center">
-          <UserOutlined />
-          个人中心
-        </Menu.Item>
-      )}
-      {menu && (
-        <Menu.Item key="settings">
-          <SettingOutlined />
-          个人设置
-        </Menu.Item>
-      )}
-      {menu && <Menu.Divider />}
-      {
-        currentUser?.powerLevel === 999 && <Menu.Item key="admin">
-          <SendOutlined />
-          管理系统
-        </Menu.Item>
-      }
-      <Menu.Item key="company">
-        <SwapOutlined />
-        切换公司
-      </Menu.Item>
-      <Menu.Item key="edit">
-        <EditOutlined />
-        修改密码
-      </Menu.Item>
-      <Menu.Item key="logout">
-        <LogoutOutlined />
-        退出登录
-      </Menu.Item>
-    </Menu>
+    <Menu
+      items={items}
+      className={styles.menu} selectedKeys={[]} onClick={onMenuClick}
+    />
   );
 
   // 切换公司
@@ -171,9 +154,9 @@ const AvatarDropdown: React.FC<GlobalHeaderRightProps> = ({ menu }) => {
   return (
     <>
       <HeaderDropdown overlay={menuHeaderDropdown}>
-        <span className={`${styles.action} ${styles.account}`} onClick={()=>{
-          let AdminToken:any = sessionStorage.getItem('Admin-Token')
-            copy(AdminToken)
+        <span className={`${styles.action} ${styles.account}`} onClick={() => {
+          let AdminToken: any = sessionStorage.getItem('Admin-Token')
+          copy(AdminToken)
         }}>
           <Avatar size="small" className={styles.avatar} src={currentUser.avatar || headImg} alt="avatar" />
           <span className={`${styles.name} anticon`}>{currentUser.name}</span>

+ 11 - 5
src/pages/launchSystemV3/tencentAdPutIn/create/Dynamic/index.tsx

@@ -109,6 +109,17 @@ const Dynamic: React.FC<{ creativeTemplateAppellation?: string, creativeTemplate
                 setNewVisible(false)
             }}
             onChange={(dynamic) => {
+                let oldPageTypeList = mainJumpInfo?.map((item: { value: { pageType: any } }) => item.value) || []
+                let newPageTypeList = dynamic?.creativeComponents?.mainJumpInfo.map((item: { value: { pageType: any } }) => item.value)
+                if (
+                    oldPageTypeList?.[0]?.pageType !== newPageTypeList?.[0]?.pageType || 
+                    oldPageTypeList?.length !== newPageTypeList?.length || 
+                    (oldPageTypeList?.[0]?.pageType === "PAGE_TYPE_WECHAT_CANVAS" && newPageTypeList?.[0]?.pageType === "PAGE_TYPE_WECHAT_CANVAS" && oldPageTypeList?.[0]?.pageSpec?.wechatCanvasSpec?.overrideCanvasHeadOption !== newPageTypeList?.[0]?.pageSpec?.wechatCanvasSpec?.overrideCanvasHeadOption) ||
+                    dynamic.deliveryMode !== deliveryMode || // 投放模式
+                    dynamic?.creativeTemplateId !== creativeTemplateId // 创意形式
+                ) {
+                    setAccountCreateLogs(accountCreateLogs.map(item => ({ ...item, pageList: [] })))
+                }
                 if (
                     dynamic.deliveryMode === deliveryMode && // 投放模式
                     dynamic?.creativeTemplateId === creativeTemplateId // 创意形式
@@ -117,13 +128,8 @@ const Dynamic: React.FC<{ creativeTemplateAppellation?: string, creativeTemplate
                 } else {
                     setAddelivery({ ...addelivery, dynamic, dynamicMaterialDTos: {}, dynamicCreativesTextDTOS: {} })
                 }
-                let oldPageTypeList = mainJumpInfo?.map((item: { value: { pageType: any } }) => item.value) || []
-                let newPageTypeList = dynamic?.creativeComponents?.mainJumpInfo.map((item: { value: { pageType: any } }) => item.value)
                 setNewVisible(false)
                 clearData()
-                if (!arraysHaveSameValues(oldPageTypeList || [], newPageTypeList || [])) {
-                    setAccountCreateLogs(accountCreateLogs.map(item => ({ ...item, pageList: [] })))
-                }
             }}
         />}
     </div>

+ 60 - 48
src/pages/launchSystemV3/tencentAdPutIn/create/Material/addMaterial.tsx

@@ -299,60 +299,72 @@ const AddMaterial: React.FC<Props> = ({ creativeTemplateId, materialData, delive
                                 <strong style={{ fontSize: 18 }}>创意组{num + 1}</strong>
                                 {deliveryMode === 'DELIVERY_MODE_COMPONENT' && <>
                                     <Dropdown
-                                        overlay={<Menu>
-                                            <Menu.Item onClick={() => {
-                                                init({
-                                                    mediaType: 'VIDEO', num: 15, cloudSize: [[
-                                                        { relation: '>=', width: 1280, height: 720 },
-                                                        { relation: '>=', width: 720, height: 1280 }
-                                                    ]], maxSize: 512000 * 1024
-                                                })
-                                                setMaterialConfig({
-                                                    ...materialConfig,
-                                                    type: 'video',
-                                                    max: 15 - (dynamicGroup?.[num]?.['list']?.length || 0),
-                                                    index: num,
-                                                    adcreativeTemplateId: creativeTemplateId,
-                                                    isGroup: false
-                                                })
-                                                setTimeout(() => {
-                                                    setSelectVideoVisible(true)
-                                                }, 100)
-                                            }}>添加视频</Menu.Item>
-                                            <Menu.Item onClick={() => {
-                                                init({
-                                                    mediaType: 'IMG', num: 15, cloudSize: [[
-                                                        { relation: '=', width: 800, height: 800 },
-                                                        { relation: '=', width: 1280, height: 720 },
-                                                        { relation: '=', width: 720, height: 1280 },
-                                                        { relation: '=', width: 960, height: 334 },
-                                                        { relation: '=', width: 480, height: 320 },
-                                                    ]], maxSize: 400 * 1024
-                                                })
-                                                setMaterialConfig({
-                                                    ...materialConfig,
-                                                    type: 'image',
-                                                    max: 15 - (dynamicGroup?.[num]?.['list']?.length || 0),
-                                                    index: num,
-                                                    adcreativeTemplateId: creativeTemplateId,
-                                                    isGroup: false
-                                                })
-                                                setTimeout(() => {
-                                                    setSelectVideoVisible(true)
-                                                }, 100)
-                                            }}>新增图片</Menu.Item>
-                                        </Menu>}
+                                        menu={{
+                                            items: [
+                                                {
+                                                    label: '添加视频',
+                                                    key: 'addVideo',
+                                                    onClick: () => {
+                                                        init({
+                                                            mediaType: 'VIDEO', num: 15, cloudSize: [[
+                                                                { relation: '>=', width: 1280, height: 720 },
+                                                                { relation: '>=', width: 720, height: 1280 }
+                                                            ]], maxSize: 512000 * 1024
+                                                        })
+                                                        setMaterialConfig({
+                                                            ...materialConfig,
+                                                            type: 'video',
+                                                            max: 15 - (dynamicGroup?.[num]?.['list']?.length || 0),
+                                                            index: num,
+                                                            adcreativeTemplateId: creativeTemplateId,
+                                                            isGroup: false
+                                                        })
+                                                        setTimeout(() => {
+                                                            setSelectVideoVisible(true)
+                                                        }, 100)
+                                                    }
+                                                },
+                                                {
+                                                    label: '添加图片',
+                                                    key: 'addImg',
+                                                    onClick: () => {
+                                                        init({
+                                                            mediaType: 'IMG', num: 15, cloudSize: [[
+                                                                { relation: '=', width: 800, height: 800 },
+                                                                { relation: '=', width: 1280, height: 720 },
+                                                                { relation: '=', width: 720, height: 1280 },
+                                                                { relation: '=', width: 960, height: 334 },
+                                                                { relation: '=', width: 480, height: 320 },
+                                                            ]], maxSize: 400 * 1024
+                                                        })
+                                                        setMaterialConfig({
+                                                            ...materialConfig,
+                                                            type: 'image',
+                                                            max: 15 - (dynamicGroup?.[num]?.['list']?.length || 0),
+                                                            index: num,
+                                                            adcreativeTemplateId: creativeTemplateId,
+                                                            isGroup: false
+                                                        })
+                                                        setTimeout(() => {
+                                                            setSelectVideoVisible(true)
+                                                        }, 100)
+                                                    }
+                                                }
+                                            ]
+                                        }}
                                         placement="bottomLeft"
                                         arrow
                                     >
                                         <Button type="primary">添加图片/视频</Button>
                                     </Dropdown>
                                     <Dropdown
-                                        overlay={<Menu>
-                                            <Menu.Item disabled={dynamicGroup?.[num]?.['list']?.length >= 15} onClick={() => { selectGroupImg(num, 6) }}>1:1 六图</Menu.Item>
-                                            <Menu.Item disabled={dynamicGroup?.[num]?.['list']?.length >= 15} onClick={() => { selectGroupImg(num, 3) }}>1:1 三图</Menu.Item>
-                                            <Menu.Item disabled={dynamicGroup?.[num]?.['list']?.length >= 15} onClick={() => { selectGroupImg(num, 4) }}>1:1 四图</Menu.Item>
-                                        </Menu>}
+                                        menu={{
+                                            items: [
+                                                { label: '1:1 六图', key: '1', disabled: dynamicGroup?.[num]?.['list']?.length >= 15, onClick: () => { selectGroupImg(num, 6) } },
+                                                { label: '1:1 三图', key: '2', disabled: dynamicGroup?.[num]?.['list']?.length >= 15, onClick: () => { selectGroupImg(num, 3) } },
+                                                { label: '1:1 四图', key: '3', disabled: dynamicGroup?.[num]?.['list']?.length >= 15, onClick: () => { selectGroupImg(num, 4) } },
+                                            ]
+                                        }}
                                         placement="bottomLeft"
                                         arrow
                                     >

+ 15 - 10
src/pages/launchSystemV3/tencentAdPutIn/create/Save/index.tsx

@@ -50,16 +50,21 @@ const Save: React.FC<Props> = ({ addelivery: { dynamic: { deliveryMode, creative
     }
 
     return <>
-        <Dropdown overlay={<Menu>
-            <Menu.Item disabled={!(dynamicMaterialDTos && Object.keys(dynamicMaterialDTos).length > 0)} onClick={() => {
-                setType(1)
-                seve()
-            }}>根据创意形式保存素材</Menu.Item>
-            {/* <Menu.Item disabled={!(dynamicCreativesTextDTOS && Object.keys(dynamicCreativesTextDTOS).length > 0)} onClick={() => {
-                setType(2)
-                seve()
-            }}>保存文案</Menu.Item> */}
-        </Menu>}>
+        <Dropdown
+            menu={{
+                items: [
+                    {
+                        label: '根据创意形式保存素材',
+                        key: '1',
+                        onClick: () => {
+                            setType(1)
+                            seve()
+                        },
+                        disabled: !(dynamicMaterialDTos && Object.keys(dynamicMaterialDTos).length > 0)
+                    }
+                ]
+            }}
+        >
             <Button type='primary'>素材存为预设</Button>
         </Dropdown>