wjx 1 week ago
parent
commit
5d3d5c6d78

+ 10 - 1
src/components/QueryForm/queryFormNovel.tsx

@@ -28,6 +28,8 @@ interface Props {
     isMemo?: boolean
     /** 是否开启 本地备注 搜索 */
     isRemark?: boolean
+    /** 是否开启 小说名称 搜索 */
+    isBookNameList?: boolean
 
     /** 是否开启 投手 搜索 */
     isPutUserId?: boolean
@@ -89,7 +91,7 @@ const QueryFormNovel: React.FC<Props> = (props) => {
     /**************************/
     const { initialState } = useModel('@@initialState');
     const {
-        onChange, initialValues, isAccountId, isAdgroupName, isAdgroupId, isDynamicCreativeName, isDynamicCreativeId, isMemo, isRemark, isCpaBid, isPutUserId, isPutUserIdList, isPricing, isStatus, isMarketingGoal, isMarketingTargetType, isPromotedObjectType, isPromotedObjectName, isOptimizationGoal, isDeliveryMode, isDeleted, isDeepConversionSpec, isConfiguredStatus, day1, day2, day3,
+        onChange, initialValues, isAccountId, isAdgroupName, isAdgroupId, isDynamicCreativeName, isDynamicCreativeId, isMemo, isRemark, isBookNameList, isCpaBid, isPutUserId, isPutUserIdList, isPricing, isStatus, isMarketingGoal, isMarketingTargetType, isPromotedObjectType, isPromotedObjectName, isOptimizationGoal, isDeliveryMode, isDeleted, isDeepConversionSpec, isConfiguredStatus, day1, day2, day3,
         isCostTotalMin, isThousandDisplayPriceTotalMin, isConversionsCountTotalMin, isIncomeRoi1, isRegCost, isRegCostPla, isCpc
     } = props
     const [form] = Form.useForm()
@@ -145,12 +147,19 @@ const QueryFormNovel: React.FC<Props> = (props) => {
             {isMemo && <Col><Form.Item name='memo'>
                 <Input placeholder="腾讯备注" style={{ width: 150 }} />
             </Form.Item></Col>}
+            
+            {/* 小说名称 */}
+            {isBookNameList && <Col><Form.Item name='bookNameList'>
+                <Input placeholder="书名(多个,,换行空格隔开)" style={{ width: 150 }} />
+            </Form.Item></Col>}
 
             {/* 腾讯备注 */}
             {isRemark && <Col><Form.Item name='remark'>
                 <Input placeholder="本地备注" style={{ width: 150 }} />
             </Form.Item></Col>}
 
+
+
             {/* 出价 */}
             {isCpaBid && <Col><Form.Item name='cpaBid'>
                 <InputNumber placeholder="出价" style={{ width: 120 }} />

+ 12 - 5
src/pages/iaaData/novel/tencent/adList/index.tsx

@@ -187,6 +187,7 @@ const TencentNovelAd: React.FC<{ configName?: string, dayConfigName?: string }>
                 isMarketingTargetType
                 isMemo
                 isRemark
+                isBookNameList
                 isDeleted
                 isStatus
                 isPromotedObjectName
@@ -204,7 +205,7 @@ const TencentNovelAd: React.FC<{ configName?: string, dayConfigName?: string }>
                 day3={{ placeholder: ['消耗日期开始', '消耗日期结束'] }}
                 onChange={(data: any) => {
                     console.log(data)
-                    const { day1, day2, day3, ...params } = data
+                    const { day1, day2, day3, bookNameList, ...params } = data
                     let newQueryForm = JSON.parse(JSON.stringify(queryForm))
                     newQueryForm.pageNum = 1
                     if (day1 && day1?.length === 2) {
@@ -230,6 +231,12 @@ const TencentNovelAd: React.FC<{ configName?: string, dayConfigName?: string }>
                         delete newQueryForm['dataTimeMin']
                         delete newQueryForm['dataTimeMax']
                     }
+
+                    if (bookNameList) {
+                        newQueryForm['bookNameList'] = bookNameList.replace(/[,,\s]/g, ',').split(',').filter((a: any) => a)
+                    } else {
+                        delete newQueryForm['bookNameList']
+                    }
                     setQueryForm({ ...newQueryForm, ...params })
                 }}
             />}
@@ -263,10 +270,10 @@ const TencentNovelAd: React.FC<{ configName?: string, dayConfigName?: string }>
             rowSelection={{
                 selectedRowKeys: selectedRows.map(item => item.adgroupId + ''),
                 getCheckboxProps: (record: any) => ({
-                    disabled: 
-                        handleType === 3 ? record.status === 'STATUS_DELETED' || record?.accountId === '总计' || !(record?.deepConversionSpec?.deepConversionWorthSpec?.goal === 'GOAL_1DAY_PURCHASE_ROAS') : 
-                        handleType === 4 ? record.status === 'STATUS_DELETED' || record?.accountId === '总计' || !(record?.deepConversionSpec?.deepConversionWorthSpec?.goal === 'GOAL_1DAY_MONETIZATION_ROAS') : 
-                        record.status === 'STATUS_DELETED' || record?.accountId === '总计'
+                    disabled:
+                        handleType === 3 ? record.status === 'STATUS_DELETED' || record?.accountId === '总计' || !(record?.deepConversionSpec?.deepConversionWorthSpec?.goal === 'GOAL_1DAY_PURCHASE_ROAS') :
+                            handleType === 4 ? record.status === 'STATUS_DELETED' || record?.accountId === '总计' || !(record?.deepConversionSpec?.deepConversionWorthSpec?.goal === 'GOAL_1DAY_MONETIZATION_ROAS') :
+                                record.status === 'STATUS_DELETED' || record?.accountId === '总计'
                 }),
                 onSelect: (record: { adgroupId: number }, selected: boolean) => {
                     if (selected) {

+ 15 - 11
src/pages/iaaData/novel/tencent/adList/tableConfig.tsx

@@ -148,11 +148,15 @@ function columns12(dayHandle: (data: any) => void, onChange?: () => void): { lab
                     render: (a: string) => (<WidthEllipsis value={MARKETING_TARGET_TYPE_ENUM[a as keyof typeof MARKETING_TARGET_TYPE_ENUM]} />)
                 },
                 {
-                    title: '标记备注', dataIndex: 'tagRemark', label: '广告基本信息', align: 'center', width: 80, default: 23,
+                    title: '书名', dataIndex: 'bookName', label: '广告基本信息', align: 'center', width: 110, default: 23,
                     render: (a: string) => (<WidthEllipsis value={a} />)
                 },
                 {
-                    title: '创意预览', dataIndex: 'dynamicCreativeVOList', label: '腾讯广告列表', width: 150, default: 32,
+                    title: '标记备注', dataIndex: 'tagRemark', label: '广告基本信息', align: 'center', width: 80, default: 24,
+                    render: (a: string) => (<WidthEllipsis value={a} />)
+                },
+                {
+                    title: '创意预览', dataIndex: 'dynamicCreativeVOList', label: '腾讯广告列表', width: 150, default: 33,
                     render: (a: any, b: any) => {
                         if (b?.accountId === '总计') {
                             return '--'
@@ -174,7 +178,7 @@ function columns12(dayHandle: (data: any) => void, onChange?: () => void): { lab
             label: '广告消耗信息',
             data: [
                 {
-                    title: '消耗', dataIndex: 'cost', label: '广告消耗信息', align: 'center', width: 85, default: 24, sorter: true,
+                    title: '消耗', dataIndex: 'cost', label: '广告消耗信息', align: 'center', width: 85, default: 25, sorter: true,
                     className: 'padding_0',
                     render: (a: number) => <div style={{ height: 27, position: 'relative' }}>
                         <Progress
@@ -190,31 +194,31 @@ function columns12(dayHandle: (data: any) => void, onChange?: () => void): { lab
                     </div>
                 },
                 {
-                    title: '曝光量', dataIndex: 'viewCount', label: '广告消耗信息', align: 'center', width: 70, default: 25, sorter: true,
+                    title: '曝光量', dataIndex: 'viewCount', label: '广告消耗信息', align: 'center', width: 70, default: 26, sorter: true,
                     render: (a: string) => <Statistic value={a || 0} />
                 },
                 {
-                    title: '千次曝光成本', dataIndex: 'thousandDisplayPrice', label: '广告消耗信息', align: 'right', width: 65, default: 26, sorter: true,
+                    title: '千次曝光成本', dataIndex: 'thousandDisplayPrice', label: '广告消耗信息', align: 'right', width: 65, default: 27, sorter: true,
                     render: (a: string) => <Statistic value={a || 0} precision={2} />
                 },
                 {
-                    title: '点击量', dataIndex: 'clickCount', label: '广告消耗信息', align: 'center', width: 70, default: 27, sorter: true,
+                    title: '点击量', dataIndex: 'clickCount', label: '广告消耗信息', align: 'center', width: 70, default: 28, sorter: true,
                     render: (a: string) => <Statistic value={a || 0} />
                 },
                 {
-                    title: '点击率', dataIndex: 'ctr', label: '广告消耗信息', align: 'center', width: 70, default: 28, sorter: true,
+                    title: '点击率', dataIndex: 'ctr', label: '广告消耗信息', align: 'center', width: 70, default: 29, sorter: true,
                     render: (a: number) => <Statistic value={a ? a * 100 : 0} precision={2} valueStyle={!a ? {} : a >= 50 ? { color: 'red' } : { color: '#0f990f' }} suffix="%" />
                 },
                 {
-                    title: '点击均价', dataIndex: 'cpc', label: '广告消耗信息', align: 'center', width: 65, default: 29, sorter: true,
+                    title: '点击均价', dataIndex: 'cpc', label: '广告消耗信息', align: 'center', width: 65, default: 30, sorter: true,
                     render: (a: string) => <Statistic value={a || 0} precision={2} />
                 },
                 {
-                    title: '不感兴趣点击次数', dataIndex: 'noInterestCount', label: '广告消耗信息', align: 'center', width: 65, default: 30, sorter: true,
+                    title: '不感兴趣点击次数', dataIndex: 'noInterestCount', label: '广告消耗信息', align: 'center', width: 65, default: 31, sorter: true,
                     render: (a: string) => <Statistic value={a || 0} />
                 },
                 {
-                    title: '朋友圈视频播放次数', dataIndex: 'videoPlayCount', label: '广告消耗信息', align: 'center', width: 65, default: 31, sorter: true,
+                    title: '朋友圈视频播放次数', dataIndex: 'videoPlayCount', label: '广告消耗信息', align: 'center', width: 65, default: 32, sorter: true,
                     render: (a: string) => <Statistic value={a || 0} />
                 },
             ]
@@ -813,7 +817,7 @@ function columns12(dayHandle: (data: any) => void, onChange?: () => void): { lab
             label: '操作',
             data: [
                 {
-                    title: '操作', dataIndex: 'cz', label: '操作', align: 'center', width: 150, default: 33,
+                    title: '操作', dataIndex: 'cz', label: '操作', align: 'center', width: 150, default: 34,
                     render: (_: number, b: any) => {
                         if (b?.accountId === '总计') return '--'
                         return <Space>