Prechádzať zdrojové kódy

Merge branch 'feature/middle-jyf' into feature/work-test

jiayufei 3 rokov pred
rodič
commit
059ccc5e41

+ 2 - 2
src/views/modules/account-config/account-config-server.js

@@ -3,8 +3,8 @@
  * @author jiayufei
  */
 
-export const urlAcount = 'http://118.24.244.213:8808'; // 线上
+// export const urlAcount = 'http://118.24.244.213:8808'; // 线上
 // export const urlAcount = 'http://apipre.tjyourong.com.cn'; // 预生产
 // export const urlAcount = 'http://192.168.1.43:8808'; // 子安
-// export const urlAcount = 'http://139.186.165.84:8808'; // 测试
+export const urlAcount = 'http://139.186.165.84:8808'; // 测试
 // export const urlAcount = 'http://192.168.1.8:8080'; // 学超

+ 1 - 1
src/views/modules/account-config/account-config.vue

@@ -69,7 +69,7 @@
                     {{ record.accountBudgetMode === '1' ? '不限' : text }}
                 </span>
                 <span slot="action" slot-scope="text, record">
-                    <a @click="handleCopy(record)">复制</a>
+                    <a @click="handleCopy(record)" disabled>复制</a>
                     <a-divider type="vertical"/>
                     <a @click="handleEdit(record)">编辑</a>
                     <a-divider type="vertical"/>

+ 66 - 162
src/views/modules/account-config/components/configuration-modal.vue

@@ -79,6 +79,13 @@
                 </div>
                 <div class="separate-module-con">
                     <p class="rock-title">广告组信息</p>
+                    <a-form-model-item label="营销链路">
+                        <a-radio-group v-model="configForm.marketingPurpose" button-style="solid">
+                            <a-radio-button value="ACKNOWLEDGE" disabled>品牌认知</a-radio-button>
+                            <a-radio-button value="INTENTION" disabled>用户意向</a-radio-button>
+                            <a-radio-button value="CONVERSION">行动转化</a-radio-button>
+                        </a-radio-group>
+                    </a-form-model-item>
                     <a-form-model-item label="推广目标">
                         <a-radio-group :disabled="modalTitle === 'edit'" v-model="configForm.campaignLandingType" button-style="solid">
                             <a-radio-button value="APP">应用</a-radio-button>
@@ -198,25 +205,15 @@
                             />
                         </a-form-model-item>
                     </div>
-                    <!-- <a-form-model-item v-if="configForm.adDownloadType === 'DOWNLOAD_URL'" label="下载链接" prop="adDownloadUrl">
-                        <a-input
-                            class="common-input-long"
-                            :disabled="modalTitle === 'edit'"
-                            v-model="configForm.adDownloadUrl"
-                            placeholder="请输入下载链接"
-                            allow-clear
-                            @change="handleDownloadLink"
-                        />
+                    <a-form-model-item v-if="configForm.adDownloadType === 'DOWNLOAD_URL'" label="优先应用商店下载">
+                        <a-radio-group
+                            v-model="configForm.adDownloadMode"
+                            button-style="solid"
+                        >
+                            <a-radio-button value="DEFAULT">不启用</a-radio-button>
+                            <a-radio-button value="APP_STORE_DELIVERY">启用</a-radio-button>
+                        </a-radio-group>
                     </a-form-model-item>
-                    <a-form-model-item v-if="configForm.adDownloadType === 'DOWNLOAD_URL'" label="应用包名" prop="adPackage">
-                        <a-input
-                            class="common-input-long"
-                            :disabled="modalTitle === 'edit'"
-                            v-model="configForm.adPackage"
-                            placeholder="请输入应用包名"
-                            allow-clear
-                        />
-                    </a-form-model-item> -->
                     <a-form-model-item label="直达链接内容">
                         <a-input
                             class="common-input-long"
@@ -248,15 +245,6 @@
                             </div>
                         </div>
                     </div>
-                    <a-form-model-item v-if="configForm.adDownloadType === 'DOWNLOAD_URL'" label="优先应用商店下载">
-                        <a-radio-group
-                            v-model="configForm.adDownloadMode"
-                            button-style="solid"
-                        >
-                            <a-radio-button value="DEFAULT">不启用</a-radio-button>
-                            <a-radio-button value="APP_STORE_DELIVERY">启用</a-radio-button>
-                        </a-radio-group>
-                    </a-form-model-item>
                 </div>
                 <div class="separate-module-con">
                     <p class="rock-title">优化目标</p>
@@ -302,8 +290,8 @@
                             @change="handleAdverPosition"
                         >
                             <a-radio-button value="a">系统优选广告位</a-radio-button>
-                            <a-radio-button value="b">按媒体指定位置</a-radio-button>
-                            <a-radio-button value="c">按场景指定位置</a-radio-button>
+                            <a-radio-button value="b">首选媒体</a-radio-button>
+                            <!-- <a-radio-button value="c">按场景指定位置</a-radio-button> -->
                         </a-radio-group>
                     </a-form-model-item>
                     <div class="adver-position-radio">
@@ -347,7 +335,7 @@
                                 </a-tooltip>
                             </a-radio-button>
                             <a-radio-button value="ORIGINAL_VIDEO">原生</a-radio-button>
-                            <a-radio-button value="SPLASH_VIDEO">开屏</a-radio-button>
+                            <a-radio-button value="SPLASH_VIDEO" disabled>开屏</a-radio-button>
                         </a-radio-group>
                     </a-form-model-item>
                 </div>
@@ -821,6 +809,12 @@
                 </div>
                 <div class="separate-module-con">
                     <p class="rock-title">创意信息</p>
+                    <a-form-model-item v-if="!configForm.adUnionVideoType" label="使用抖音号投放">
+                        <a-radio-group v-model="configForm.creativeIesCoreUserId" button-style="solid">
+                            <a-radio-button value="1">不使用</a-radio-button>
+                            <a-radio-button value="2" disabled>使用</a-radio-button>
+                        </a-radio-group>
+                    </a-form-model-item>
                     <a-form-model-item label="创意方式">
                         <a-radio-group v-model="configForm.creativeMaterialMode" button-style="solid">
                             <a-radio-button value="STATIC_ASSEMBLE" :disabled="modalTitle === 'edit'">程序化创意</a-radio-button>
@@ -848,7 +842,7 @@
                                 </a-select-option>
                             </a-select>
                         </a-form-model-item>
-                        <a-form-model-item label="来源" prop="creativeSource">
+                        <a-form-model-item v-if="configForm.adDownloadType === 'EXTERNAL_URL'" label="来源" prop="creativeSource">
                             <a-input
                                 class="common-input-long"
                                 placeholder="请输入来源"
@@ -865,35 +859,23 @@
                             />
                         </a-form-model-item>
                         <a-form-model-item label="搭配试玩">
-                            <a-radio-group v-model="configForm.collocationPlay" button-style="solid" disabled>
+                            <a-radio-group v-model="configForm.creativePlayableUrl" button-style="solid">
                                 <a-radio-button value="a">不启用</a-radio-button>
-                                <a-radio-button value="b">启用</a-radio-button>
+                                <a-radio-button value="b" disabled>启用</a-radio-button>
                             </a-radio-group>
                         </a-form-model-item>
-                        <a-form-model-item v-if="configForm.adDownloadType === 'DOWNLOAD_URL'" label="自动生成视频素材">
+                        <a-form-model-item label="自动生成视频素材">
                             <a-radio-group v-model="configForm.creativeIsPresentedVideo" button-style="solid">
                                 <a-radio-button :value="0">不启用</a-radio-button>
                                 <a-radio-button :value="1">启用</a-radio-button>
                             </a-radio-group>
                         </a-form-model-item>
-                        <a-form-model-item v-if="configForm.adDownloadType === 'DOWNLOAD_URL'" label="最优创意衍生计划">
+                        <a-form-model-item v-if="configForm.adDownloadType === 'EXTERNAL_URL'" label="最优创意衍生计划">
                             <a-radio-group v-model="configForm.creativeGenerateDerivedAd" button-style="solid">
                                 <a-radio-button :value="0">不启用</a-radio-button>
                                 <a-radio-button :value="1">启用</a-radio-button>
                             </a-radio-group>
                         </a-form-model-item>
-                        <a-form-model-item label="创意展现">
-                            <a-radio-group v-model="configForm.creativeDisplayMode" button-style="solid">
-                                <a-radio-button value="CREATIVE_DISPLAY_MODE_CTR">优选模式</a-radio-button>
-                                <a-radio-button value="CREATIVE_DISPLAY_MODE_RANDOM">轮播模式</a-radio-button>
-                            </a-radio-group>
-                        </a-form-model-item>
-                        <div v-if="configForm.creativeDisplayMode === 'CREATIVE_DISPLAY_MODE_CTR'" class="adver-position-radio">
-                            选择优选模式,系统会自动对效果好的创意进行展示量倾斜,创意效果越好展示量越高
-                        </div>
-                        <div v-if="configForm.creativeDisplayMode === 'CREATIVE_DISPLAY_MODE_RANDOM'" class="adver-position-radio">
-                            使用创意轮播,系统将平分各创意展现机会,便于广告主比较各创意投放效果
-                        </div>
                     </div>
                     <div v-else-if="configForm.adUnionVideoType === 'ORIGINAL_VIDEO'">
                         <a-form-model-item label="创意内容">
@@ -919,7 +901,7 @@
                                 </a-select-option>
                             </a-select>
                         </a-form-model-item>
-                        <a-form-model-item label="来源" prop="creativeSource">
+                        <a-form-model-item v-if="configForm.adDownloadType === 'EXTERNAL_URL'" label="来源" prop="creativeSource">
                             <a-input
                                 class="common-input-long"
                                 placeholder="请输入来源"
@@ -935,18 +917,18 @@
                                 allow-clear
                             />
                         </a-form-model-item>
-                        <a-form-model-item label="创意展现">
-                            <a-radio-group v-model="configForm.creativeDisplayMode" button-style="solid">
-                                <a-radio-button value="CREATIVE_DISPLAY_MODE_CTR">优选模式</a-radio-button>
-                                <a-radio-button value="CREATIVE_DISPLAY_MODE_RANDOM">轮播模式</a-radio-button>
+                         <a-form-model-item label="自动生成视频素材">
+                            <a-radio-group v-model="configForm.creativeIsPresentedVideo" button-style="solid">
+                                <a-radio-button :value="0">不启用</a-radio-button>
+                                <a-radio-button :value="1">启用</a-radio-button>
+                            </a-radio-group>
+                        </a-form-model-item>
+                        <a-form-model-item v-if="configForm.adDownloadType === 'EXTERNAL_URL'" label="最优创意衍生计划">
+                            <a-radio-group v-model="configForm.creativeGenerateDerivedAd" button-style="solid">
+                                <a-radio-button :value="0">不启用</a-radio-button>
+                                <a-radio-button :value="1">启用</a-radio-button>
                             </a-radio-group>
                         </a-form-model-item>
-                        <div v-if="configForm.creativeDisplayMode === 'CREATIVE_DISPLAY_MODE_CTR'" class="adver-position-radio">
-                            选择优选模式,系统会自动对效果好的创意进行展示量倾斜,创意效果越好展示量越高
-                        </div>
-                        <div v-if="configForm.creativeDisplayMode === 'CREATIVE_DISPLAY_MODE_RANDOM'" class="adver-position-radio">
-                            使用创意轮播,系统将平分各创意展现机会,便于广告主比较各创意投放效果
-                        </div>
                     </div>
                     <div v-else-if="configForm.adUnionVideoType === 'SPLASH_VIDEO'">
                         <a-form-model-item label="创意内容">
@@ -1019,60 +1001,15 @@
                                 <a-radio-button value="CREATIVE_IMAGE_MODE_LARGE_VERTICAL" :disabled="pictureStatus">大图竖图</a-radio-button>
                             </a-radio-group>
                         </a-form-model-item>
-                        <a-form-model-item v-if="isTAwemeStatus" label="卡片主图">
-                            <a-upload
-                                name="avatar"
-                                list-type="picture-card"
-                                class="avatar-uploader"
-                                :show-upload-list="false"
-                                :before-upload="beforeUpload"
-                            >
-                                <div v-if="imageUrl" class="upload-img-class" @mouseover="handleChangeActive">
-                                    <div class="img-flex-url">
-                                        <img :src="imageUrl" alt="avatar"/>
-                                    </div>
-                                    <!-- TODO 划过图片显示覆盖层 -->
-                                    <!-- <div v-if="isCoverImgDiv" class="cover-img-div" @mouseleave="handleRemoveActive">
-                                        <a-icon class="delete-icon-class" type="delete" @click.stop="handleDeleteImg"/>
-                                    </div> -->
-                                </div>
-                                <div v-else>
-                                    <a-icon type="plus" style="margin-top: 10px;"/>
-                                    <div class="ant-upload-text">Upload</div>
-                                </div>
-                            </a-upload>
-                            <span class="especial-label">*</span>
-                        </a-form-model-item>
-                        <a-form-model-item v-if="isTAwemeStatus" label="卡片标题" prop="creativeProductDescription">
+                        <a-form-model-item label="创意组件" prop="componentId">
                             <a-input
                                 class="common-input-long"
-                                placeholder="请输入卡片标题"
-                                v-model="configForm.creativeProductDescription"
+                                placeholder="请输入创意组件"
+                                v-model="configForm.componentId"
                                 allow-clear
                             />
                         </a-form-model-item>
-                        <a-form-model-item v-if="isTAwemeStatus" label="推广卖点">
-                            <a-button type="primary" @click="handleAddOrigin">
-                                <a-icon type="plus" />推广卖点
-                            </a-button>
-                            <span class="especial-label">*</span>
-                        </a-form-model-item>
-                        <div v-if="isTAwemeStatus" class="adver-position-radio">
-                            <a-form-model-item
-                                v-for="(item, index) in configForm.defaultFormList"
-                                :key="item.id"
-                                class="examin-form-model"
-                                :prop="'defaultFormList.' + index + '.value'"
-                                :rules="[
-                                    {required: true, message: '请输入', trigger: 'blur'},
-                                    {min: 6, max: 9, message: '请输入6-9个字', trigger: 'blur'},
-                                ]"
-                            >
-                                <a-input class="common-input-long" v-model="item.value" placeholder="请输入" allow-clear/>
-                                <a-icon class="examin-form-icon" type="delete" @click="handleDelOrigin(item)"/>
-                            </a-form-model-item>
-                        </div>
-                        <a-form-model-item v-if="isTomatoStatus" label="行动号召" prop="creativeActionText" key="SPLASH_VIDEO_ONE">
+                        <a-form-model-item v-if="configForm.adDownloadType === 'EXTERNAL_URL'" label="行动号召" prop="creativeActionText" key="SPLASH_VIDEO_ONE">
                             <a-select
                                 class="common-input-long"
                                 v-model="configForm.creativeActionText"
@@ -1086,30 +1023,7 @@
                                 </a-select-option>
                             </a-select>
                         </a-form-model-item>
-                        <a-form-model-item v-if="isTAwemeStatus" label="行动号召">
-                            <a-radio-group v-model="configForm.creativeEnablePersonalAction" button-style="solid">
-                                <a-radio-button :value="true">开启智能优选</a-radio-button>
-                                <a-radio-button :value="false">关闭智能优选</a-radio-button>
-                            </a-radio-group>
-                            <span class="especial-label">*</span>
-                        </a-form-model-item>
-                        <div v-if="isTAwemeStatus" class="adver-position-radio">
-                            <a-form-model-item prop="creativeCallToAction">
-                                <a-select
-                                    class="common-input-long"
-                                    v-model="configForm.creativeCallToAction"
-                                >
-                                    <a-select-option
-                                        v-for="(item, index) in creativeOptions"
-                                        :key="index + 1"
-                                        :value="item"
-                                    >
-                                        {{ item }}
-                                    </a-select-option>
-                                </a-select>
-                            </a-form-model-item>
-                        </div>
-                        <a-form-model-item label="来源" :prop="getSource">
+                        <a-form-model-item v-if="configForm.adDownloadType === 'EXTERNAL_URL'" label="来源" :prop="getSource">
                             <a-input
                                 class="common-input-long"
                                 placeholder="请输入来源"
@@ -1135,13 +1049,13 @@
                             />
                         </a-form-model-item>
                         <div v-if="subTitleMsgStatus" style="width: 500px;color: #f00;margin-left: 140px">{{ subTitleMsg }}</div>
-                        <a-form-model-item v-if="configForm.adDownloadType === 'DOWNLOAD_URL'" label="自动生成视频素材">
+                        <a-form-model-item label="自动生成视频素材">
                             <a-radio-group v-model="configForm.creativeIsPresentedVideo" button-style="solid">
                                 <a-radio-button :value="0">不启用</a-radio-button>
                                 <a-radio-button :value="1">启用</a-radio-button>
                             </a-radio-group>
                         </a-form-model-item>
-                        <a-form-model-item v-if="configForm.adDownloadType === 'DOWNLOAD_URL'" label="最优创意衍生计划">
+                        <a-form-model-item v-if="configForm.adDownloadType === 'EXTERNAL_URL'" label="最优创意衍生计划">
                             <a-radio-group v-model="configForm.creativeGenerateDerivedAd" button-style="solid">
                                 <a-radio-button :value="0">不启用</a-radio-button>
                                 <a-radio-button :value="1">启用</a-radio-button>
@@ -1159,23 +1073,11 @@
                                 <a-radio-button :value="0">开启</a-radio-button>
                             </a-radio-group>
                         </a-form-model-item>
-                        <a-form-model-item label="创意展现">
-                            <a-radio-group v-model="configForm.creativeDisplayMode" button-style="solid">
-                                <a-radio-button value="CREATIVE_DISPLAY_MODE_CTR">优选模式</a-radio-button>
-                                <a-radio-button value="CREATIVE_DISPLAY_MODE_RANDOM">轮播模式</a-radio-button>
-                            </a-radio-group>
-                        </a-form-model-item>
-                        <div v-if="configForm.creativeDisplayMode === 'CREATIVE_DISPLAY_MODE_CTR'" class="adver-position-radio">
-                            选择优选模式,系统会自动对效果好的创意进行展示量倾斜,创意效果越好展示量越高
-                        </div>
-                        <div v-if="configForm.creativeDisplayMode === 'CREATIVE_DISPLAY_MODE_RANDOM'" class="adver-position-radio">
-                            使用创意轮播,系统将平分各创意展现机会,便于广告主比较各创意投放效果
-                        </div>
                     </div>
                 </div>
                 <div class="separate-module-con">
                     <p class="rock-title">创意分类</p>
-                    <a-form-model-item label="创意分类" prop="creativeThirdIndustryIds">
+                    <a-form-model-item label="创意分类">
                         <a-cascader
                             v-model="configForm.creativeThirdIndustryIds"
                             class="common-input-long"
@@ -1195,7 +1097,7 @@
                             @change="handleEnterChang"
                         >
                         </a-select>
-                        <span class="especial-label">*</span>
+                        <!-- <span class="especial-label">*</span> -->
                     </a-form-model-item>
                     <div class="adver-position-radio">
                         <div class="creative-label-content">
@@ -1580,6 +1482,9 @@ export default {
             wrapperCol: {span: 14},
             creativeOptions: [],
             rules: {
+                componentId: [
+                    {required: true, message: '请输入创意组件', trigger: 'blur'}
+                ],
                 creativeAppName: [
                     {required: true, message: '请输入', trigger: 'blur'},
                     {validator: handleCharacterLenCreativeApp, trigger: 'blur'}
@@ -1654,7 +1559,10 @@ export default {
                 creativeThirdIndustryIds: [{required: true, message: '请选择', trigger: 'change'}]
             },
             configForm: {
-                collocationPlay: 'a',
+                marketingPurpose: 'CONVERSION',
+                componentId: '',
+                creativeIesCoreUserId: '1',
+                creativePlayableUrl: 'a',
                 adUnionVideoType: '',
                 creativeWebUrl: '',
                 adAppType: '',
@@ -2717,6 +2625,7 @@ export default {
                         this.configForm.adBudgetMode = detailData.adBudgetMode;
                         this.configForm.adBudget = detailData.adBudget;
                         this.defaultAdBudget = detailData.accountBudget;
+                        this.configForm.componentId = detailData.componentId
                         this.configForm.adScheduleType = detailData.adScheduleType;
                         this.configForm.launchDateRange[0] = detailData.adStartTime;
                         this.configForm.launchDateRange[1] = detailData.adEndTime;
@@ -3123,9 +3032,11 @@ export default {
             }
             if (paramsFormData.checkboxChangeValue.length === 1 && paramsFormData.checkboxChangeValue[0] === 'INVENTORY_UNION_SLOT') {
                 paramsFormData.adDeliveryRange = 'UNION';
+                paramsFormData.creativeDownloadStatus = null;
             }
             else {
-                paramsFormData.adDeliveryRange = '';
+                paramsFormData.adDeliveryRange = 'DEFAULT';
+                paramsFormData.creativeDownloadStatus = 1
             }
             if (paramsFormData.adDirectionalFlag === 'choice' && !paramsFormData.adAudiencePackageId) {
                 this.$message.error('请选择已有定向包');
@@ -3157,18 +3068,6 @@ export default {
                 this.$message.error('请选择投放时段');
                 return;
             }
-            if (this.isTAwemeStatus && !this.urlResult) {
-                this.$message.error('请上传图片');
-                return;
-            }
-            if (this.isTAwemeStatus && !paramsFormData.defaultFormList.length) {
-                this.$message.error('请添加卖点');
-                return;
-            }
-            if (!this.creativeTag.length) {
-                this.$message.error('请添加标签');
-                return;
-            }
             if (this.campaignStatus) {
                 return;
             }
@@ -3184,7 +3083,8 @@ export default {
                 return;
             }
             if (paramsFormData.adverPosition === 'a') {
-                paramsFormData.creativeSmartInventory = 1;
+                paramsFormData.inventoryCatalog = 'SMART';
+                paramsFormData.smartInventory = 'SMART';
             }
             else if (paramsFormData.adverPosition === 'b') {
                 if (!paramsFormData.checkboxChangeValue.length) {
@@ -3226,6 +3126,10 @@ export default {
             else {
                 paramsFormData.adAndroidOsv = 'NONE';
             }
+            // TODO 使用抖音号和搭配试玩,暂时没有字段,默认参数为空
+            paramsFormData.creativeIesCoreUserId = '';
+            paramsFormData.creativePlayableUrl = '';
+
             paramsFormData.adCity = paramsFormData.adSelectCity.join(',');
             paramsFormData.adAge = paramsFormData.adSelectAge.join(',');
             paramsFormData.adAc = paramsFormData.adSelectAc.join(',');

+ 2 - 3
src/views/modules/kuaishouapp/batchCreation/creat/creatUnit.vue

@@ -520,7 +520,7 @@
             :disabled="getData('cpaBid')==null||getData('cpaBid') == ''"
           ></a-input-number>
           <span style="color: red" v-if="item.deepConversionBidCheck"
-            >深度转化目标成本必须高于优化目标成本,且不得高于3000元</span
+            >深度转化目标成本必须高于优化目标成本</span
           >
         </a-form-item>
         <a-form-item
@@ -2084,8 +2084,7 @@ export default {
     },
     deep_conversion_bidTip(index) {
       if (
-        this.allForm.group[index].deepConversionBid < this.getData('cpaBid') ||
-        this.allForm.group[index].deepConversionBid > 3000
+        this.allForm.group[index].deepConversionBid < this.getData('cpaBid')
       ) {
         this.allForm.group[index].deepConversionBidCheck = true
       } else {