|
@@ -74,7 +74,16 @@
|
|
@blur="handleAccountBudget"
|
|
@blur="handleAccountBudget"
|
|
/> 元
|
|
/> 元
|
|
</a-form-model-item>
|
|
</a-form-model-item>
|
|
- <div v-if="adBudgetShowTitle" style="width: 500px;color: #f00;margin-left: 140px;">单次修改预算幅度, 不能低于100.0元</div>
|
|
|
|
|
|
+ <!-- <a-form-model-item v-if="configForm.accountBudgetMode === '2'" label="账户日预算" prop="accountBudget">
|
|
|
|
+ <a-input-number
|
|
|
|
+ v-model="configForm.accountBudget"
|
|
|
|
+ :min="1000"
|
|
|
|
+ :max="9999999.99"
|
|
|
|
+ :step="0.01"
|
|
|
|
+ @blur="handleAccountBudget"
|
|
|
|
+ /> 元
|
|
|
|
+ </a-form-model-item> -->
|
|
|
|
+ <!-- <div v-if="adBudgetShowTitle" style="width: 500px;color: #f00;margin-left: 140px;">单次修改预算幅度, 不能低于100.0元</div> -->
|
|
</div>
|
|
</div>
|
|
<div class="separate-module-con">
|
|
<div class="separate-module-con">
|
|
<p class="rock-title">广告组信息</p>
|
|
<p class="rock-title">广告组信息</p>
|
|
@@ -97,10 +106,21 @@
|
|
<a-form-model-item label="广告组名称" prop="campaignName">
|
|
<a-form-model-item label="广告组名称" prop="campaignName">
|
|
<a-input
|
|
<a-input
|
|
class="common-input-long"
|
|
class="common-input-long"
|
|
|
|
+ id="campaignName"
|
|
v-model="configForm.campaignName"
|
|
v-model="configForm.campaignName"
|
|
allow-clear
|
|
allow-clear
|
|
placeholder="请输入广告组名称"
|
|
placeholder="请输入广告组名称"
|
|
/>
|
|
/>
|
|
|
|
+ <!-- <div>
|
|
|
|
+ <a-tag
|
|
|
|
+ v-for="item in campaignTags"
|
|
|
|
+ :key="item"
|
|
|
|
+ color="#1890ff"
|
|
|
|
+ @click="handleGetChangeAll(item, 'campaignName', 'campaignName')"
|
|
|
|
+ >
|
|
|
|
+ + {{ item }}
|
|
|
|
+ </a-tag>
|
|
|
|
+ </div> -->
|
|
</a-form-model-item>
|
|
</a-form-model-item>
|
|
<a-form-model-item label="广告计划名称" prop="adName">
|
|
<a-form-model-item label="广告计划名称" prop="adName">
|
|
<a-input
|
|
<a-input
|
|
@@ -115,7 +135,7 @@
|
|
v-for="item in adNameTags"
|
|
v-for="item in adNameTags"
|
|
:key="item"
|
|
:key="item"
|
|
color="#1890ff"
|
|
color="#1890ff"
|
|
- @click="handleGetChangeAll(item, 'groupName')"
|
|
|
|
|
|
+ @click="handleGetChangeAll(item, 'groupName', 'adName')"
|
|
>
|
|
>
|
|
+ {{ item }}
|
|
+ {{ item }}
|
|
</a-tag>
|
|
</a-tag>
|
|
@@ -192,6 +212,29 @@
|
|
allow-clear
|
|
allow-clear
|
|
/>
|
|
/>
|
|
</a-form-model-item>
|
|
</a-form-model-item>
|
|
|
|
+ <a-form-model-item v-if="platformLoadingType === 'APP_ANDROID'" label="应用下载详情页" prop="creativeWebUrl">
|
|
|
|
+ <a-input
|
|
|
|
+ class="common-input-long"
|
|
|
|
+ v-model="configForm.creativeWebUrl"
|
|
|
|
+ placeholder="请输入应用下载详情页"
|
|
|
|
+ :disabled="modalTitle === 'edit'"
|
|
|
|
+ allow-clear
|
|
|
|
+ @change="handleCreativeWebUrl"
|
|
|
|
+ />
|
|
|
|
+ <span style="margin-left: 10px;"><a :disabled="modalTitle === 'edit'" @click="handleHaveWebUrl">使用已有</a></span>
|
|
|
|
+ </a-form-model-item>
|
|
|
|
+ <div v-if="platformLoadingType === 'APP_ANDROID'" class="adver-position-radio">
|
|
|
|
+ <div class="create-web-url-class">
|
|
|
|
+ <div class="web-url-img">
|
|
|
|
+ <img v-if="landingPageShowData.thumbnail" :src="landingPageShowData.thumbnail"/>
|
|
|
|
+ <img v-else src="@/assets/noImg.png"/>
|
|
|
|
+ </div>
|
|
|
|
+ <div class="web-url-content">
|
|
|
|
+ <div class="url-content-name"><a>{{ landingPageShowData.name }}</a></div>
|
|
|
|
+ <div class="url-content-id">ID:{{ landingPageShowData.siteId || '暂无' }}</div>
|
|
|
|
+ </div>
|
|
|
|
+ </div>
|
|
|
|
+ </div>
|
|
<a-form-model-item v-if="configForm.adDownloadType === 'DOWNLOAD_URL'" label="优先应用商店下载">
|
|
<a-form-model-item v-if="configForm.adDownloadType === 'DOWNLOAD_URL'" label="优先应用商店下载">
|
|
<a-radio-group
|
|
<a-radio-group
|
|
v-model="configForm.adDownloadMode"
|
|
v-model="configForm.adDownloadMode"
|
|
@@ -264,7 +307,7 @@
|
|
</div>
|
|
</div>
|
|
<div v-if="configForm.adverPosition === 'b'" class="position-radio-change">
|
|
<div v-if="configForm.adverPosition === 'b'" class="position-radio-change">
|
|
<p>位置选择</p>
|
|
<p>位置选择</p>
|
|
- <a-checkbox-group v-model="configForm.checkboxChangeValue">
|
|
|
|
|
|
+ <a-checkbox-group v-model="configForm.checkboxChangeValue" @change="NewCheckboxChangeValue">
|
|
<a-checkbox :style="radioStyle" value="INVENTORY_FEED">今日头条</a-checkbox>
|
|
<a-checkbox :style="radioStyle" value="INVENTORY_FEED">今日头条</a-checkbox>
|
|
<a-checkbox :style="radioStyle" value="INVENTORY_VIDEO_FEED">西瓜视频</a-checkbox>
|
|
<a-checkbox :style="radioStyle" value="INVENTORY_VIDEO_FEED">西瓜视频</a-checkbox>
|
|
<a-checkbox :style="radioStyle" value="INVENTORY_HOTSOON_FEED">抖音火山版</a-checkbox>
|
|
<a-checkbox :style="radioStyle" value="INVENTORY_HOTSOON_FEED">抖音火山版</a-checkbox>
|
|
@@ -502,6 +545,7 @@
|
|
<a-form-model-item class="select-orientation-class" label="选择已有定向包" :prop="configForm.adDirectionalFlag === 'choice' ? 'adAudiencePackageId' : ''">
|
|
<a-form-model-item class="select-orientation-class" label="选择已有定向包" :prop="configForm.adDirectionalFlag === 'choice' ? 'adAudiencePackageId' : ''">
|
|
<a-select
|
|
<a-select
|
|
class="common-input-long"
|
|
class="common-input-long"
|
|
|
|
+ style="width: 320px;"
|
|
v-model="configForm.adAudiencePackageId"
|
|
v-model="configForm.adAudiencePackageId"
|
|
allow-clear
|
|
allow-clear
|
|
placeholder="请选择已有定向包名称"
|
|
placeholder="请选择已有定向包名称"
|
|
@@ -513,7 +557,10 @@
|
|
:key="index"
|
|
:key="index"
|
|
:value="item.audience_package_id"
|
|
:value="item.audience_package_id"
|
|
>
|
|
>
|
|
- {{ item.name }}
|
|
|
|
|
|
+ <div class="orient-list">
|
|
|
|
+ <span class="orient-option-left" style="display: inline-block;width: 150px;white-space: nowrap;overflow: hidden;text-overflow: ellipsis;">{{ item.name }}</span>
|
|
|
|
+ <span class="orient-option-right" style="display: inline-block;width: 150px;text-align:right;white-space: nowrap;overflow: hidden;text-overflow: ellipsis;">{{ item.changeName }}</span>
|
|
|
|
+ </div>
|
|
</a-select-option>
|
|
</a-select-option>
|
|
</a-select>
|
|
</a-select>
|
|
<span style="margin-left: 20px;">
|
|
<span style="margin-left: 20px;">
|
|
@@ -591,7 +638,12 @@
|
|
</a-input-group>
|
|
</a-input-group>
|
|
</a-form-model-item>
|
|
</a-form-model-item>
|
|
<a-form-model-item label="投放时间">
|
|
<a-form-model-item label="投放时间">
|
|
- <a-radio-group :disabled="modalTitle === 'edit'" v-model="configForm.adScheduleType" button-style="solid" @change="handleAdScheduleType">
|
|
|
|
|
|
+ <a-radio-group
|
|
|
|
+ :disabled="modalTitle === 'edit' || configForm.adBudgetMode === 'BUDGET_MODE_TOTAL'"
|
|
|
|
+ v-model="configForm.adScheduleType"
|
|
|
|
+ button-style="solid"
|
|
|
|
+ @change="handleAdScheduleType"
|
|
|
|
+ >
|
|
<a-radio-button value="SCHEDULE_FROM_NOW">从今天起长期投放</a-radio-button>
|
|
<a-radio-button value="SCHEDULE_FROM_NOW">从今天起长期投放</a-radio-button>
|
|
<a-radio-button value="SCHEDULE_START_END">设置开始和结束日期</a-radio-button>
|
|
<a-radio-button value="SCHEDULE_START_END">设置开始和结束日期</a-radio-button>
|
|
</a-radio-group>
|
|
</a-radio-group>
|
|
@@ -720,13 +772,13 @@
|
|
</div>
|
|
</div>
|
|
<div class="separate-module-con">
|
|
<div class="separate-module-con">
|
|
<p class="rock-title">创意信息</p>
|
|
<p class="rock-title">创意信息</p>
|
|
- <a-form-model-item label="创意方式">
|
|
|
|
|
|
+ <a-form-model-item v-if="isTomatoStatus" label="创意方式">
|
|
<a-radio-group v-model="configForm.creativeMaterialMode" button-style="solid">
|
|
<a-radio-group v-model="configForm.creativeMaterialMode" button-style="solid">
|
|
<a-radio-button value="STATIC_ASSEMBLE" :disabled="modalTitle === 'edit'">程序化创意</a-radio-button>
|
|
<a-radio-button value="STATIC_ASSEMBLE" :disabled="modalTitle === 'edit'">程序化创意</a-radio-button>
|
|
<a-radio-button value="NONE" :disabled="modalTitle === 'edit'">自定义创意</a-radio-button>
|
|
<a-radio-button value="NONE" :disabled="modalTitle === 'edit'">自定义创意</a-radio-button>
|
|
</a-radio-group>
|
|
</a-radio-group>
|
|
</a-form-model-item>
|
|
</a-form-model-item>
|
|
- <a-form-model-item label="创意内容">
|
|
|
|
|
|
+ <a-form-model-item v-if="isTomatoStatus" label="创意内容">
|
|
<a-radio-group v-model="configForm.creativeImageMode" button-style="solid">
|
|
<a-radio-group v-model="configForm.creativeImageMode" button-style="solid">
|
|
<a-radio-button value="CREATIVE_IMAGE_MODE_VIDEO_VERTICAL">竖版视频</a-radio-button>
|
|
<a-radio-button value="CREATIVE_IMAGE_MODE_VIDEO_VERTICAL">竖版视频</a-radio-button>
|
|
<a-radio-button value="CREATIVE_IMAGE_MODE_VIDEO">横版视频</a-radio-button>
|
|
<a-radio-button value="CREATIVE_IMAGE_MODE_VIDEO">横版视频</a-radio-button>
|
|
@@ -735,7 +787,7 @@
|
|
<a-radio-button value="CREATIVE_IMAGE_MODE_LARGE_VERTICAL">大图竖图</a-radio-button>
|
|
<a-radio-button value="CREATIVE_IMAGE_MODE_LARGE_VERTICAL">大图竖图</a-radio-button>
|
|
</a-radio-group>
|
|
</a-radio-group>
|
|
</a-form-model-item>
|
|
</a-form-model-item>
|
|
- <a-form-model-item label="卡片主图">
|
|
|
|
|
|
+ <a-form-model-item v-if="isTAwemeStatus" label="卡片主图">
|
|
<a-upload
|
|
<a-upload
|
|
name="avatar"
|
|
name="avatar"
|
|
list-type="picture-card"
|
|
list-type="picture-card"
|
|
@@ -759,7 +811,7 @@
|
|
</a-upload>
|
|
</a-upload>
|
|
<span class="especial-label">*</span>
|
|
<span class="especial-label">*</span>
|
|
</a-form-model-item>
|
|
</a-form-model-item>
|
|
- <a-form-model-item label="卡片标题" prop="creativeProductDescription">
|
|
|
|
|
|
+ <a-form-model-item v-if="isTAwemeStatus" label="卡片标题" prop="creativeProductDescription">
|
|
<a-input
|
|
<a-input
|
|
class="common-input-long"
|
|
class="common-input-long"
|
|
placeholder="请输入卡片标题"
|
|
placeholder="请输入卡片标题"
|
|
@@ -767,13 +819,13 @@
|
|
allow-clear
|
|
allow-clear
|
|
/>
|
|
/>
|
|
</a-form-model-item>
|
|
</a-form-model-item>
|
|
- <a-form-model-item label="推广卖点">
|
|
|
|
|
|
+ <a-form-model-item v-if="isTAwemeStatus" label="推广卖点">
|
|
<a-button type="primary" @click="handleAddOrigin">
|
|
<a-button type="primary" @click="handleAddOrigin">
|
|
<a-icon type="plus" />推广卖点
|
|
<a-icon type="plus" />推广卖点
|
|
</a-button>
|
|
</a-button>
|
|
<span class="especial-label">*</span>
|
|
<span class="especial-label">*</span>
|
|
</a-form-model-item>
|
|
</a-form-model-item>
|
|
- <div class="adver-position-radio">
|
|
|
|
|
|
+ <div v-if="isTAwemeStatus" class="adver-position-radio">
|
|
<a-form-model-item
|
|
<a-form-model-item
|
|
v-for="(item, index) in configForm.defaultFormList"
|
|
v-for="(item, index) in configForm.defaultFormList"
|
|
:key="item.id"
|
|
:key="item.id"
|
|
@@ -788,14 +840,14 @@
|
|
<a-icon class="examin-form-icon" type="delete" @click="handleDelOrigin(item)"/>
|
|
<a-icon class="examin-form-icon" type="delete" @click="handleDelOrigin(item)"/>
|
|
</a-form-model-item>
|
|
</a-form-model-item>
|
|
</div>
|
|
</div>
|
|
- <a-form-model-item label="行动号召">
|
|
|
|
|
|
+ <a-form-model-item v-if="isTAwemeStatus" label="行动号召">
|
|
<a-radio-group v-model="configForm.creativeEnablePersonalAction" button-style="solid">
|
|
<a-radio-group v-model="configForm.creativeEnablePersonalAction" button-style="solid">
|
|
<a-radio-button :value="true">开启智能优选</a-radio-button>
|
|
<a-radio-button :value="true">开启智能优选</a-radio-button>
|
|
<a-radio-button :value="false">关闭智能优选</a-radio-button>
|
|
<a-radio-button :value="false">关闭智能优选</a-radio-button>
|
|
</a-radio-group>
|
|
</a-radio-group>
|
|
<span class="especial-label">*</span>
|
|
<span class="especial-label">*</span>
|
|
</a-form-model-item>
|
|
</a-form-model-item>
|
|
- <div class="adver-position-radio">
|
|
|
|
|
|
+ <div v-if="isTAwemeStatus" class="adver-position-radio">
|
|
<a-form-model-item prop="creativeCallToAction">
|
|
<a-form-model-item prop="creativeCallToAction">
|
|
<a-select
|
|
<a-select
|
|
class="common-input-long"
|
|
class="common-input-long"
|
|
@@ -811,7 +863,7 @@
|
|
</a-select>
|
|
</a-select>
|
|
</a-form-model-item>
|
|
</a-form-model-item>
|
|
</div>
|
|
</div>
|
|
- <a-form-model-item label="来源" :prop="getSource">
|
|
|
|
|
|
+ <a-form-model-item v-if="isTomatoStatus" label="来源" :prop="getSource">
|
|
<a-input
|
|
<a-input
|
|
class="common-input-long"
|
|
class="common-input-long"
|
|
placeholder="请输入来源"
|
|
placeholder="请输入来源"
|
|
@@ -830,7 +882,7 @@
|
|
<a-form-model-item v-if="configForm.adDownloadType === 'DOWNLOAD_URL' && platformLoadingType === 'APP_ANDROID'" label="副标题">
|
|
<a-form-model-item v-if="configForm.adDownloadType === 'DOWNLOAD_URL' && platformLoadingType === 'APP_ANDROID'" label="副标题">
|
|
<a-input
|
|
<a-input
|
|
class="common-input-long"
|
|
class="common-input-long"
|
|
- placeholder="请输入来源"
|
|
|
|
|
|
+ placeholder="请输入副标题"
|
|
v-model="configForm.creativeSubTitle"
|
|
v-model="configForm.creativeSubTitle"
|
|
allow-clear
|
|
allow-clear
|
|
@blur="handleCreativeSubTitleBlur"
|
|
@blur="handleCreativeSubTitleBlur"
|
|
@@ -849,32 +901,32 @@
|
|
<a-radio-button :value="1">启用</a-radio-button>
|
|
<a-radio-button :value="1">启用</a-radio-button>
|
|
</a-radio-group>
|
|
</a-radio-group>
|
|
</a-form-model-item>
|
|
</a-form-model-item>
|
|
- <a-form-model-item label="广告评论">
|
|
|
|
|
|
+ <a-form-model-item v-if="isTomatoStatus" label="广告评论">
|
|
<a-radio-group v-model="configForm.creativeIsCommentDisable" button-style="solid">
|
|
<a-radio-group v-model="configForm.creativeIsCommentDisable" button-style="solid">
|
|
<a-radio-button :value="1">关闭</a-radio-button>
|
|
<a-radio-button :value="1">关闭</a-radio-button>
|
|
<a-radio-button :value="0">开启</a-radio-button>
|
|
<a-radio-button :value="0">开启</a-radio-button>
|
|
</a-radio-group>
|
|
</a-radio-group>
|
|
</a-form-model-item>
|
|
</a-form-model-item>
|
|
- <a-form-model-item label="客户端下载视频">
|
|
|
|
|
|
+ <a-form-model-item v-if="isTomatoStatus" label="客户端下载视频">
|
|
<a-radio-group v-model="configForm.creativeDownloadStatus" button-style="solid">
|
|
<a-radio-group v-model="configForm.creativeDownloadStatus" button-style="solid">
|
|
<a-radio-button :value="1">关闭</a-radio-button>
|
|
<a-radio-button :value="1">关闭</a-radio-button>
|
|
<a-radio-button :value="0">开启</a-radio-button>
|
|
<a-radio-button :value="0">开启</a-radio-button>
|
|
</a-radio-group>
|
|
</a-radio-group>
|
|
</a-form-model-item>
|
|
</a-form-model-item>
|
|
- <a-form-model-item label="创意展现">
|
|
|
|
|
|
+ <a-form-model-item v-if="isTomatoStatus" label="创意展现">
|
|
<a-radio-group v-model="configForm.creativeDisplayMode" button-style="solid">
|
|
<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_CTR">优选模式</a-radio-button>
|
|
<a-radio-button value="CREATIVE_DISPLAY_MODE_RANDOM">轮播模式</a-radio-button>
|
|
<a-radio-button value="CREATIVE_DISPLAY_MODE_RANDOM">轮播模式</a-radio-button>
|
|
</a-radio-group>
|
|
</a-radio-group>
|
|
</a-form-model-item>
|
|
</a-form-model-item>
|
|
- <div v-if="configForm.creativeDisplayMode === 'CREATIVE_DISPLAY_MODE_CTR'" class="adver-position-radio">
|
|
|
|
|
|
+ <div v-if="isTomatoStatus && configForm.creativeDisplayMode === 'CREATIVE_DISPLAY_MODE_CTR'" class="adver-position-radio">
|
|
选择优选模式,系统会自动对效果好的创意进行展示量倾斜,创意效果越好展示量越高
|
|
选择优选模式,系统会自动对效果好的创意进行展示量倾斜,创意效果越好展示量越高
|
|
</div>
|
|
</div>
|
|
- <div v-if="configForm.creativeDisplayMode === 'CREATIVE_DISPLAY_MODE_RANDOM'" class="adver-position-radio">
|
|
|
|
|
|
+ <div v-if="isTomatoStatus && configForm.creativeDisplayMode === 'CREATIVE_DISPLAY_MODE_RANDOM'" class="adver-position-radio">
|
|
使用创意轮播,系统将平分各创意展现机会,便于广告主比较各创意投放效果
|
|
使用创意轮播,系统将平分各创意展现机会,便于广告主比较各创意投放效果
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
- <div class="separate-module-con">
|
|
|
|
|
|
+ <div v-if="isTomatoStatus" class="separate-module-con">
|
|
<p class="rock-title">创意分类</p>
|
|
<p class="rock-title">创意分类</p>
|
|
<a-form-model-item label="创意分类" prop="creativeThirdIndustryIds">
|
|
<a-form-model-item label="创意分类" prop="creativeThirdIndustryIds">
|
|
<a-cascader
|
|
<a-cascader
|
|
@@ -921,6 +973,46 @@
|
|
</div>
|
|
</div>
|
|
</a-form-model>
|
|
</a-form-model>
|
|
</div>
|
|
</div>
|
|
|
|
+ <a-modal
|
|
|
|
+ v-if="isWebUrl"
|
|
|
|
+ title="使用落地页"
|
|
|
|
+ :visible="isWebUrl"
|
|
|
|
+ dialog-class="web-url-modal"
|
|
|
|
+ :footer="false"
|
|
|
|
+ @cancel="handleCancelAll"
|
|
|
|
+ >
|
|
|
|
+ <div class="mater-viedo-content">
|
|
|
|
+ <a-row class="viedo-serach-class" :gutter="24">
|
|
|
|
+ <a-col :span="9">
|
|
|
|
+ <a-form-item label="落地页名称" :labelCol="modalCol" :wrapperCol="modalWrapper">
|
|
|
|
+ <a-input v-model="weburlModel" placeholder="请输入落地页名称关键字"/>
|
|
|
|
+ </a-form-item>
|
|
|
|
+ </a-col>
|
|
|
|
+ <a-col :span="8">
|
|
|
|
+ <a-button type="primary" style="position: relative;top: 4px;" @click="handleWebUrlSearch">搜索</a-button>
|
|
|
|
+ <a-button type="primary" style="position: relative;top: 4px;margin-left: 15px;" @click="handleWebUrlUpdate">重置</a-button>
|
|
|
|
+ </a-col>
|
|
|
|
+ </a-row>
|
|
|
|
+ <div class="viedo-content-class">
|
|
|
|
+ <div v-if="viedoDefaultList.length" class="viedo-content-group">
|
|
|
|
+ <li
|
|
|
|
+ class="content-modal-li"
|
|
|
|
+ v-for="(item, index) in viedoDefaultList"
|
|
|
|
+ :key="index"
|
|
|
|
+ @click="handleViedoListClick(item)"
|
|
|
|
+ >
|
|
|
|
+ <img v-if="item.thumbnail" :src="item.thumbnail"/>
|
|
|
|
+ <img v-else src="@/assets/noImg.png"/>
|
|
|
|
+ <div class="checkbox-select-show"><a>{{ item.name }}</a></div>
|
|
|
|
+ <div class="checkbox-select-time">ID:{{ item.siteId }}</div>
|
|
|
|
+ </li>
|
|
|
|
+ </div>
|
|
|
|
+ <div v-else class="no-data-group">
|
|
|
|
+ 暂无数据
|
|
|
|
+ </div>
|
|
|
|
+ </div>
|
|
|
|
+ </div>
|
|
|
|
+ </a-modal>
|
|
</div>
|
|
</div>
|
|
</template>
|
|
</template>
|
|
<script>
|
|
<script>
|
|
@@ -1025,8 +1117,28 @@ export default {
|
|
callback();
|
|
callback();
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
+ else if (this.modalTitle === 'add') {
|
|
|
|
+ callback();
|
|
|
|
+ }
|
|
};
|
|
};
|
|
return {
|
|
return {
|
|
|
|
+ landingPageShowData: {},
|
|
|
|
+ weburlModel: '',
|
|
|
|
+ modalCol: {
|
|
|
|
+ lg: {span: 6},
|
|
|
|
+ sm: {span: 6},
|
|
|
|
+ xs: {span: 6},
|
|
|
|
+ md: {span: 6}
|
|
|
|
+ },
|
|
|
|
+ modalWrapper: {
|
|
|
|
+ lg: {span: 18},
|
|
|
|
+ sm: {span: 18},
|
|
|
|
+ xs: {span: 14},
|
|
|
|
+ md: {span: 14}
|
|
|
|
+ },
|
|
|
|
+ viedoDefaultList: [],
|
|
|
|
+ viedoDefaultListUpdate: [],
|
|
|
|
+ isWebUrl: false,
|
|
sureLoading: false,
|
|
sureLoading: false,
|
|
subTitleMsgStatus: false,
|
|
subTitleMsgStatus: false,
|
|
subTitleMsg: '',
|
|
subTitleMsg: '',
|
|
@@ -1146,7 +1258,7 @@ export default {
|
|
listArr: [],
|
|
listArr: [],
|
|
regionCityListUrl: 'ctop/bytedanceAreaInfo/list',
|
|
regionCityListUrl: 'ctop/bytedanceAreaInfo/list',
|
|
defaultAdBudget: '',
|
|
defaultAdBudget: '',
|
|
- adBudgetShowTitle: false,
|
|
|
|
|
|
+ // adBudgetShowTitle: false,/
|
|
adBudgetNum: 300,
|
|
adBudgetNum: 300,
|
|
campaignStatus: false,
|
|
campaignStatus: false,
|
|
detailData: {},
|
|
detailData: {},
|
|
@@ -1156,12 +1268,51 @@ export default {
|
|
md5Result: '',
|
|
md5Result: '',
|
|
urlResult: '',
|
|
urlResult: '',
|
|
createOptions: [],
|
|
createOptions: [],
|
|
|
|
+ campaignTags: ['序号', '日期'],
|
|
adNameTags: ['出价方式', '素材名称', '日期', '创意方式'],
|
|
adNameTags: ['出价方式', '素材名称', '日期', '创意方式'],
|
|
fieldNames: {
|
|
fieldNames: {
|
|
label: 'industryName',
|
|
label: 'industryName',
|
|
value: 'industryId',
|
|
value: 'industryId',
|
|
children: 'children'
|
|
children: 'children'
|
|
},
|
|
},
|
|
|
|
+ promotionTypeList: [
|
|
|
|
+ {
|
|
|
|
+ value: 'EXTERNAL',
|
|
|
|
+ label: '落地页'
|
|
|
|
+ },
|
|
|
|
+ {
|
|
|
|
+ value: 'ARTICLE',
|
|
|
|
+ label: '文章推广'
|
|
|
|
+ },
|
|
|
|
+ {
|
|
|
|
+ value: 'GOODS',
|
|
|
|
+ label: '商品推广'
|
|
|
|
+ },
|
|
|
|
+ {
|
|
|
|
+ value: 'DPA',
|
|
|
|
+ label: '商品目录'
|
|
|
|
+ },
|
|
|
|
+ {
|
|
|
|
+ value: 'STORE',
|
|
|
|
+ label: '门店推广'
|
|
|
|
+ },
|
|
|
|
+ {
|
|
|
|
+ value: 'AWEME',
|
|
|
|
+ label: '抖音号推广'
|
|
|
|
+ },
|
|
|
|
+ {
|
|
|
|
+ value: 'SHOP',
|
|
|
|
+ label: '店铺直投'
|
|
|
|
+ },
|
|
|
|
+ {
|
|
|
|
+ value: 'APP_ANDROID',
|
|
|
|
+ label: '应用下载-安卓'
|
|
|
|
+ },
|
|
|
|
+ {
|
|
|
|
+ value: 'APP_IOS',
|
|
|
|
+ label: '应用下载-IOS'
|
|
|
|
+ }
|
|
|
|
+ ],
|
|
ageArr: [
|
|
ageArr: [
|
|
{
|
|
{
|
|
value: 'NONE',
|
|
value: 'NONE',
|
|
@@ -1256,13 +1407,17 @@ export default {
|
|
{validator: adMaxBidValidator, trigger: 'blur'}
|
|
{validator: adMaxBidValidator, trigger: 'blur'}
|
|
],
|
|
],
|
|
adName: [
|
|
adName: [
|
|
- {required: true, message: '请输入广告计划名称'},
|
|
|
|
|
|
+ {required: true, message: '请输入广告计划名称', trigger: 'blur'},
|
|
{validator: handleCharacterLen100, trigger: 'blur'}
|
|
{validator: handleCharacterLen100, trigger: 'blur'}
|
|
],
|
|
],
|
|
creativeProductDescription: [
|
|
creativeProductDescription: [
|
|
{required: true, message: '请输入', trigger: 'blur'},
|
|
{required: true, message: '请输入', trigger: 'blur'},
|
|
{min: 1, max: 7, message: '请输入1-7个字', trigger: 'blur'}
|
|
{min: 1, max: 7, message: '请输入1-7个字', trigger: 'blur'}
|
|
],
|
|
],
|
|
|
|
+ creativeWebUrl: [
|
|
|
|
+ {required: true, message: '请输入', trigger: 'blur'},
|
|
|
|
+ {validator: handleConfirmValue, trigger: 'blur'}
|
|
|
|
+ ],
|
|
adAudiencePackageId: [{required: true, message: '请选择', trigger: 'change'}],
|
|
adAudiencePackageId: [{required: true, message: '请选择', trigger: 'change'}],
|
|
creativeCallToAction: [{required: true, message: '请选择', trigger: 'change'}],
|
|
creativeCallToAction: [{required: true, message: '请选择', trigger: 'change'}],
|
|
adConvertType: [{required: true, message: '请选择', trigger: 'change'}],
|
|
adConvertType: [{required: true, message: '请选择', trigger: 'change'}],
|
|
@@ -1270,6 +1425,8 @@ export default {
|
|
creativeThirdIndustryIds: [{required: true, message: '请选择', trigger: 'change'}]
|
|
creativeThirdIndustryIds: [{required: true, message: '请选择', trigger: 'change'}]
|
|
},
|
|
},
|
|
configForm: {
|
|
configForm: {
|
|
|
|
+ creativeWebUrl: '',
|
|
|
|
+ adAppType: '',
|
|
adDirectionalFlag: 'add',
|
|
adDirectionalFlag: 'add',
|
|
adInterestActionMode: 'UNLIMITED',
|
|
adInterestActionMode: 'UNLIMITED',
|
|
creativeDisplayMode: 'CREATIVE_DISPLAY_MODE_CTR',
|
|
creativeDisplayMode: 'CREATIVE_DISPLAY_MODE_CTR',
|
|
@@ -1360,7 +1517,9 @@ export default {
|
|
adAutoExtendTargets: '',
|
|
adAutoExtendTargets: '',
|
|
creativeCallToAction: '', // 行动号召
|
|
creativeCallToAction: '', // 行动号召
|
|
creativeLabel: undefined // 倡议标签
|
|
creativeLabel: undefined // 倡议标签
|
|
- }
|
|
|
|
|
|
+ },
|
|
|
|
+ isTomatoStatus: true,
|
|
|
|
+ isTAwemeStatus: true
|
|
};
|
|
};
|
|
},
|
|
},
|
|
computed: {
|
|
computed: {
|
|
@@ -1368,12 +1527,6 @@ export default {
|
|
if (!this.configForm.accountId) {
|
|
if (!this.configForm.accountId) {
|
|
return '请选择账户';
|
|
return '请选择账户';
|
|
}
|
|
}
|
|
- else if (this.configForm.adDownloadType === 'DOWNLOAD_URL' && !this.platformLoadingType) {
|
|
|
|
- return '请填写投放内容';
|
|
|
|
- }
|
|
|
|
- else if (this.configForm.adDownloadType === 'EXTERNAL_URL' && !this.configForm.adExternalUrl) {
|
|
|
|
- return '请填写投放内容';
|
|
|
|
- }
|
|
|
|
else {
|
|
else {
|
|
return 'able';
|
|
return 'able';
|
|
}
|
|
}
|
|
@@ -1394,9 +1547,41 @@ export default {
|
|
},
|
|
},
|
|
NewAdExternalUrl() {
|
|
NewAdExternalUrl() {
|
|
return this.configForm.adExternalUrl;
|
|
return this.configForm.adExternalUrl;
|
|
|
|
+ },
|
|
|
|
+ NewPlatformLoadingType() {
|
|
|
|
+ return this.platformLoadingType;
|
|
|
|
+ },
|
|
|
|
+ NewIsTAwemeStatus() {
|
|
|
|
+ return this.isTAwemeStatus;
|
|
}
|
|
}
|
|
},
|
|
},
|
|
watch: {
|
|
watch: {
|
|
|
|
+ NewIsTAwemeStatus(newVal) {
|
|
|
|
+ if (!newVal) {
|
|
|
|
+ this.md5Result = '';
|
|
|
|
+ this.urlResult = '';
|
|
|
|
+ this.imageUrl = '';
|
|
|
|
+ this.configForm.creativeProductDescription = '';
|
|
|
|
+ this.configForm.defaultFormList = [];
|
|
|
|
+ this.configForm.creativeEnablePersonalAction = '';
|
|
|
|
+ this.configForm.creativeCallToAction = '';
|
|
|
|
+ }
|
|
|
|
+ else {
|
|
|
|
+ this.configForm.creativeEnablePersonalAction = true;
|
|
|
|
+ }
|
|
|
|
+ },
|
|
|
|
+ NewPlatformLoadingType(newVal, oldVal) {
|
|
|
|
+ if (newVal) {
|
|
|
|
+ this.configForm.adAppType = newVal;
|
|
|
|
+ }
|
|
|
|
+ if (newVal && this.configForm.accountId) {
|
|
|
|
+ this.handleGetChengZiSite();
|
|
|
|
+ }
|
|
|
|
+ else {
|
|
|
|
+ this.landingPageShowData = {};
|
|
|
|
+ this.configForm.creativeWebUrl = '';
|
|
|
|
+ }
|
|
|
|
+ },
|
|
NewAdExternalUrl(newVal, oldVal) {
|
|
NewAdExternalUrl(newVal, oldVal) {
|
|
if (newVal && this.configForm.accountId) {
|
|
if (newVal && this.configForm.accountId) {
|
|
const paramsData = {
|
|
const paramsData = {
|
|
@@ -1408,7 +1593,6 @@ export default {
|
|
promotionContent: this.configForm.adDownloadType
|
|
promotionContent: this.configForm.adDownloadType
|
|
};
|
|
};
|
|
this.handleGetOptimizationObjective(paramsData);
|
|
this.handleGetOptimizationObjective(paramsData);
|
|
- this.handleGetAdAudiencePackage();
|
|
|
|
}
|
|
}
|
|
},
|
|
},
|
|
NewAdPackage(newVal, oldVal) {
|
|
NewAdPackage(newVal, oldVal) {
|
|
@@ -1426,11 +1610,6 @@ export default {
|
|
this.handleGetOptimizationObjective(paramsData);
|
|
this.handleGetOptimizationObjective(paramsData);
|
|
}
|
|
}
|
|
},
|
|
},
|
|
- platformLoadingType(newVal, oldVal) {
|
|
|
|
- if (newVal && this.configForm.accountId) {
|
|
|
|
- this.handleGetAdAudiencePackage();
|
|
|
|
- }
|
|
|
|
- },
|
|
|
|
NewAountId(newVal, oldVal) {
|
|
NewAountId(newVal, oldVal) {
|
|
if (newVal && this.configForm.adPackage) {
|
|
if (newVal && this.configForm.adPackage) {
|
|
const paramsData = {
|
|
const paramsData = {
|
|
@@ -1446,12 +1625,17 @@ export default {
|
|
this.handleGetOptimizationObjective(paramsData);
|
|
this.handleGetOptimizationObjective(paramsData);
|
|
}
|
|
}
|
|
if (newVal && this.platformLoadingType) {
|
|
if (newVal && this.platformLoadingType) {
|
|
- this.handleGetAdAudiencePackage();
|
|
|
|
|
|
+ this.handleGetChengZiSite();
|
|
|
|
+ }
|
|
|
|
+ else {
|
|
|
|
+ this.landingPageShowData = {};
|
|
|
|
+ this.configForm.creativeWebUrl = '';
|
|
}
|
|
}
|
|
if (newVal) {
|
|
if (newVal) {
|
|
this.handleGetCreativeClassification();
|
|
this.handleGetCreativeClassification();
|
|
this.handleGetAdvertiserStrategy();
|
|
this.handleGetAdvertiserStrategy();
|
|
this.handleDirectionalList();
|
|
this.handleDirectionalList();
|
|
|
|
+ this.handleGetAdAudiencePackage();
|
|
}
|
|
}
|
|
else {
|
|
else {
|
|
this.createOptions = [];
|
|
this.createOptions = [];
|
|
@@ -1474,11 +1658,69 @@ export default {
|
|
methods: {
|
|
methods: {
|
|
...mapGetters(['nickname', 'avatar', 'userInfo']),
|
|
...mapGetters(['nickname', 'avatar', 'userInfo']),
|
|
moment,
|
|
moment,
|
|
|
|
+ NewCheckboxChangeValue(newVal) {
|
|
|
|
+ if (newVal.length) {
|
|
|
|
+ if (newVal.includes('INVENTORY_AWEME_FEED')) {
|
|
|
|
+ this.isTAwemeStatus = true;
|
|
|
|
+ }
|
|
|
|
+ else {
|
|
|
|
+ this.isTAwemeStatus = false;
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ else {
|
|
|
|
+ this.isTAwemeStatus = true;
|
|
|
|
+ }
|
|
|
|
+ },
|
|
|
|
+ handleGetChengZiSite() {
|
|
|
|
+ const paramsData = {
|
|
|
|
+ accountId: this.configForm.accountId
|
|
|
|
+ };
|
|
|
|
+ getAction(urlAcount + '/bytedance-api/advertiser/aiBytedanceAdvertiserStrategy/getChengZiSite', paramsData).then(result => {
|
|
|
|
+ if (result.code === 0) {
|
|
|
|
+ this.viedoDefaultList = result.result;
|
|
|
|
+ this.viedoDefaultListUpdate = result.result;
|
|
|
|
+ }
|
|
|
|
+ else {
|
|
|
|
+ this.$message.error(result.message);
|
|
|
|
+ }
|
|
|
|
+ }).catch(error => {
|
|
|
|
+ console.log(error, 'eeee');
|
|
|
|
+ });
|
|
|
|
+ },
|
|
|
|
+ handleViedoListClick(data) {
|
|
|
|
+ this.landingPageShowData = data;
|
|
|
|
+ this.configForm.creativeWebUrl = data.creativeWebUrl;
|
|
|
|
+ this.weburlModel = '';
|
|
|
|
+ this.isWebUrl = false;
|
|
|
|
+ },
|
|
|
|
+ handleWebUrlSearch() {
|
|
|
|
+ let defaultList = [];
|
|
|
|
+ this.viedoDefaultListUpdate.forEach(item => {
|
|
|
|
+ if (item.name && item.name.indexOf(this.weburlModel) !== -1) {
|
|
|
|
+ defaultList.push(item);
|
|
|
|
+ }
|
|
|
|
+ });
|
|
|
|
+ this.viedoDefaultList = defaultList;
|
|
|
|
+ },
|
|
|
|
+ handleWebUrlUpdate() {
|
|
|
|
+ this.viedoDefaultList = [...this.viedoDefaultListUpdate];
|
|
|
|
+ this.weburlModel = '';
|
|
|
|
+ },
|
|
|
|
+ handleCancelAll() {
|
|
|
|
+ this.handleWebUrlUpdate();
|
|
|
|
+ this.isWebUrl = false;
|
|
|
|
+ },
|
|
|
|
+ handleHaveWebUrl() {
|
|
|
|
+ this.isWebUrl = true;
|
|
|
|
+ },
|
|
handleAdhideConver(e) {
|
|
handleAdhideConver(e) {
|
|
const defaultValue = e.target.value;
|
|
const defaultValue = e.target.value;
|
|
if (defaultValue === 'CUSTOMER' || defaultValue === 'APP') {
|
|
if (defaultValue === 'CUSTOMER' || defaultValue === 'APP') {
|
|
this.configForm.adConvertedTimeDuration = 'THREE_MONTH';
|
|
this.configForm.adConvertedTimeDuration = 'THREE_MONTH';
|
|
}
|
|
}
|
|
|
|
+ else {
|
|
|
|
+ this.configForm.adConvertedTimeDuration = '';
|
|
|
|
+ }
|
|
},
|
|
},
|
|
handleAdAutoExtend(e) {
|
|
handleAdAutoExtend(e) {
|
|
const defaultValue = e.target.value;
|
|
const defaultValue = e.target.value;
|
|
@@ -1671,13 +1913,20 @@ export default {
|
|
},
|
|
},
|
|
handleGetAdAudiencePackage() {
|
|
handleGetAdAudiencePackage() {
|
|
const params = {
|
|
const params = {
|
|
- accountId: this.configForm.accountId,
|
|
|
|
- landingType: this.configForm.adDownloadType === 'DOWNLOAD_URL' ? this.platformLoadingType : 'EXTERNAL'
|
|
|
|
|
|
+ accountId: this.configForm.accountId
|
|
};
|
|
};
|
|
getAction(urlAcount + '/bytedance-api/advertiser/aiBytedanceAdvertiserStrategy/getAdAudiencePackage', params)
|
|
getAction(urlAcount + '/bytedance-api/advertiser/aiBytedanceAdvertiserStrategy/getAdAudiencePackage', params)
|
|
.then(result => {
|
|
.then(result => {
|
|
if (result.code === 0) {
|
|
if (result.code === 0) {
|
|
- this.selectiveList = result.result || [];
|
|
|
|
|
|
+ const defaultList = result.result;
|
|
|
|
+ this.promotionTypeList.forEach(item => {
|
|
|
|
+ defaultList.forEach(val => {
|
|
|
|
+ if (item.landing_type === val.value) {
|
|
|
|
+ val.changeName = item.label;
|
|
|
|
+ }
|
|
|
|
+ });
|
|
|
|
+ });
|
|
|
|
+ this.selectiveList = defaultList;
|
|
}
|
|
}
|
|
else {
|
|
else {
|
|
this.$message.error(result.message);
|
|
this.$message.error(result.message);
|
|
@@ -1860,12 +2109,14 @@ export default {
|
|
if (e.target.value === 'a') {
|
|
if (e.target.value === 'a') {
|
|
this.configForm.radioChangeValue = '';
|
|
this.configForm.radioChangeValue = '';
|
|
this.configForm.checkboxChangeValue = [];
|
|
this.configForm.checkboxChangeValue = [];
|
|
|
|
+ this.isTAwemeStatus = true;
|
|
}
|
|
}
|
|
else if (e.target.value === 'b') {
|
|
else if (e.target.value === 'b') {
|
|
this.configForm.radioChangeValue = '';
|
|
this.configForm.radioChangeValue = '';
|
|
}
|
|
}
|
|
else if (e.target.value === 'c') {
|
|
else if (e.target.value === 'c') {
|
|
this.configForm.checkboxChangeValue = [];
|
|
this.configForm.checkboxChangeValue = [];
|
|
|
|
+ this.isTAwemeStatus = true;
|
|
}
|
|
}
|
|
},
|
|
},
|
|
handleAccountMode(e) {
|
|
handleAccountMode(e) {
|
|
@@ -1878,6 +2129,9 @@ export default {
|
|
},
|
|
},
|
|
handleAdDownLoadType(e) {
|
|
handleAdDownLoadType(e) {
|
|
this.optimizationOption = [];
|
|
this.optimizationOption = [];
|
|
|
|
+ this.landingPageShowData = {};
|
|
|
|
+ this.configForm.creativeWebUrl = '';
|
|
|
|
+ this.platformLoadingType = '';
|
|
const defaultValue = e.target.value;
|
|
const defaultValue = e.target.value;
|
|
if (defaultValue === 'DOWNLOAD_URL') {
|
|
if (defaultValue === 'DOWNLOAD_URL') {
|
|
this.configForm.adExternalUrl = '';
|
|
this.configForm.adExternalUrl = '';
|
|
@@ -1888,6 +2142,7 @@ export default {
|
|
this.configForm.adDownloadUrl = '';
|
|
this.configForm.adDownloadUrl = '';
|
|
this.configForm.adPackage = '';
|
|
this.configForm.adPackage = '';
|
|
this.configForm.adConvertId = '';
|
|
this.configForm.adConvertId = '';
|
|
|
|
+ this.configForm.adAppType = '';
|
|
this.$refs.ruleForm.clearValidate(['adDownloadUrl']);
|
|
this.$refs.ruleForm.clearValidate(['adDownloadUrl']);
|
|
this.$refs.ruleForm.clearValidate(['adPackage']);
|
|
this.$refs.ruleForm.clearValidate(['adPackage']);
|
|
}
|
|
}
|
|
@@ -1966,6 +2221,23 @@ export default {
|
|
this.configForm.adPackage = detailData.adPackage || '';
|
|
this.configForm.adPackage = detailData.adPackage || '';
|
|
this.configForm.adConvertType = detailData.adConvertType || '';
|
|
this.configForm.adConvertType = detailData.adConvertType || '';
|
|
this.configForm.adDistrict = detailData.adDistrict || 'NONE';
|
|
this.configForm.adDistrict = detailData.adDistrict || 'NONE';
|
|
|
|
+ this.configForm.adAppType = detailData.adAppType;
|
|
|
|
+ getAction(urlAcount + '/bytedance-api/advertiser/aiBytedanceAdvertiserStrategy/getChengZiSite', {accountId: detailData.accountId}).then(result => {
|
|
|
|
+ if (result.code === 0) {
|
|
|
|
+ const defaultResult = result.result;
|
|
|
|
+ defaultResult.forEach(item => {
|
|
|
|
+ if (item.creativeWebUrl === detailData.creativeWebUrl) {
|
|
|
|
+ this.landingPageShowData = item;
|
|
|
|
+ }
|
|
|
|
+ });
|
|
|
|
+ this.configForm.creativeWebUrl = detailData.creativeWebUrl;
|
|
|
|
+ }
|
|
|
|
+ else {
|
|
|
|
+ this.$message.error(result.message);
|
|
|
|
+ }
|
|
|
|
+ }).catch(error => {
|
|
|
|
+ console.log(error, 'eeee');
|
|
|
|
+ });
|
|
if (detailData.adDownloadType === 'DOWNLOAD_URL') {
|
|
if (detailData.adDownloadType === 'DOWNLOAD_URL') {
|
|
this.handleGetPackage();
|
|
this.handleGetPackage();
|
|
}
|
|
}
|
|
@@ -2003,7 +2275,7 @@ export default {
|
|
this.optimizationOption = updateResult[0].external_actions;
|
|
this.optimizationOption = updateResult[0].external_actions;
|
|
setTimeout(() => {
|
|
setTimeout(() => {
|
|
this.configForm.adConvertId = detailData.adConvertId;
|
|
this.configForm.adConvertId = detailData.adConvertId;
|
|
- }, 1000);
|
|
|
|
|
|
+ }, 1500);
|
|
}
|
|
}
|
|
else {
|
|
else {
|
|
this.$message.error(result.message);
|
|
this.$message.error(result.message);
|
|
@@ -2082,9 +2354,9 @@ export default {
|
|
this.configForm.adMaxBid = detailData.adMaxBid;
|
|
this.configForm.adMaxBid = detailData.adMaxBid;
|
|
this.configForm.adStepBid = detailData.adStepBid;
|
|
this.configForm.adStepBid = detailData.adStepBid;
|
|
this.configForm.adBidCreateType = detailData.adBidCreateType;
|
|
this.configForm.adBidCreateType = detailData.adBidCreateType;
|
|
- this.configForm.creativeThirdIndustryIds[0] = detailData.creativeThirdIndustryId.substr(0, 4);
|
|
|
|
- this.configForm.creativeThirdIndustryIds[1] = detailData.creativeThirdIndustryId.substr(0, 6);
|
|
|
|
- this.configForm.creativeThirdIndustryIds[2] = detailData.creativeThirdIndustryId;
|
|
|
|
|
|
+ this.configForm.creativeThirdIndustryIds[0] = detailData.creativeThirdIndustryId && detailData.creativeThirdIndustryId.substr(0, 4);
|
|
|
|
+ this.configForm.creativeThirdIndustryIds[1] = detailData.creativeThirdIndustryId && detailData.creativeThirdIndustryId.substr(0, 6);
|
|
|
|
+ this.configForm.creativeThirdIndustryIds[2] = detailData.creativeThirdIndustryId && detailData.creativeThirdIndustryId;
|
|
this.imageUrl = detailData.imageUrl;
|
|
this.imageUrl = detailData.imageUrl;
|
|
this.urlResult = detailData.imageUrl;
|
|
this.urlResult = detailData.imageUrl;
|
|
this.md5Result = detailData.creativeProductImageCode;
|
|
this.md5Result = detailData.creativeProductImageCode;
|
|
@@ -2120,6 +2392,12 @@ export default {
|
|
else if (detailData.creativeInventoryType) {
|
|
else if (detailData.creativeInventoryType) {
|
|
this.configForm.adverPosition = 'b';
|
|
this.configForm.adverPosition = 'b';
|
|
this.configForm.checkboxChangeValue = detailData.creativeInventoryType.split(',');
|
|
this.configForm.checkboxChangeValue = detailData.creativeInventoryType.split(',');
|
|
|
|
+ if (this.configForm.checkboxChangeValue.includes('INVENTORY_AWEME_FEED')) {
|
|
|
|
+ this.isTAwemeStatus = true;
|
|
|
|
+ }
|
|
|
|
+ else {
|
|
|
|
+ this.isTAwemeStatus = false;
|
|
|
|
+ }
|
|
}
|
|
}
|
|
else {
|
|
else {
|
|
this.configForm.adverPosition = 'a';
|
|
this.configForm.adverPosition = 'a';
|
|
@@ -2205,16 +2483,16 @@ export default {
|
|
});
|
|
});
|
|
},
|
|
},
|
|
// 点击获取光标位置进行字段插入
|
|
// 点击获取光标位置进行字段插入
|
|
- handleGetChangeAll(item, field) {
|
|
|
|
|
|
+ handleGetChangeAll(item, field, type) {
|
|
let node = document.getElementById(field);
|
|
let node = document.getElementById(field);
|
|
let startPos = node.selectionStart; // input 第0个字符到选中的字符
|
|
let startPos = node.selectionStart; // input 第0个字符到选中的字符
|
|
let endPos = node.selectionEnd; // 选中的字符到最后的字符
|
|
let endPos = node.selectionEnd; // 选中的字符到最后的字符
|
|
let txt = node.value;
|
|
let txt = node.value;
|
|
if (startPos === 0 || endPos === 0) {
|
|
if (startPos === 0 || endPos === 0) {
|
|
- this.configForm.adName += '-{{' + item + '}}-';
|
|
|
|
|
|
+ this.configForm[type] += '-{{' + item + '}}-';
|
|
}
|
|
}
|
|
else {
|
|
else {
|
|
- this.configForm.adName = txt.substring(0, startPos) + '-{{' + item + '}}-' + txt.substring(endPos);
|
|
|
|
|
|
+ this.configForm[type] = txt.substring(0, startPos) + '-{{' + item + '}}-' + txt.substring(endPos);
|
|
node.selectionStart = startPos + item.length + 6;
|
|
node.selectionStart = startPos + item.length + 6;
|
|
node.selectionEnd = startPos + item.length + 6;
|
|
node.selectionEnd = startPos + item.length + 6;
|
|
}
|
|
}
|
|
@@ -2261,8 +2539,19 @@ export default {
|
|
});
|
|
});
|
|
});
|
|
});
|
|
},
|
|
},
|
|
|
|
+ handleCreativeWebUrl(e) {
|
|
|
|
+ const defaultValue = e.target.value;
|
|
|
|
+ this.landingPageShowData = {};
|
|
|
|
+ },
|
|
handleDownloadLink(e) {
|
|
handleDownloadLink(e) {
|
|
- this.handleGetPackage();
|
|
|
|
|
|
+ const defaultValue = e.target.value;
|
|
|
|
+ if (defaultValue) {
|
|
|
|
+ this.handleGetPackage();
|
|
|
|
+ }
|
|
|
|
+ else {
|
|
|
|
+ this.platformLoadingType = '';
|
|
|
|
+ this.configForm.adPackage = '';
|
|
|
|
+ }
|
|
},
|
|
},
|
|
handleDeleteImg() {
|
|
handleDeleteImg() {
|
|
this.imageUrl = '';
|
|
this.imageUrl = '';
|
|
@@ -2391,9 +2680,6 @@ export default {
|
|
},
|
|
},
|
|
handleRelaxSure() {
|
|
handleRelaxSure() {
|
|
let paramsFormData = this.configForm;
|
|
let paramsFormData = this.configForm;
|
|
- if (this.adBudgetShowTitle) {
|
|
|
|
- return;
|
|
|
|
- }
|
|
|
|
if (this.configForm.adDistrict === 'CITY') {
|
|
if (this.configForm.adDistrict === 'CITY') {
|
|
if (!this.configForm.adSelectCity.length) {
|
|
if (!this.configForm.adSelectCity.length) {
|
|
this.$message.error('请选择省市');
|
|
this.$message.error('请选择省市');
|
|
@@ -2430,15 +2716,17 @@ export default {
|
|
this.$message.error('请选择投放时段');
|
|
this.$message.error('请选择投放时段');
|
|
return;
|
|
return;
|
|
}
|
|
}
|
|
- if (!this.urlResult) {
|
|
|
|
|
|
+ // this.isTomatoStatus = true;
|
|
|
|
+ // this.isTAwemeStatus = true;
|
|
|
|
+ if (this.isTAwemeStatus && !this.urlResult) {
|
|
this.$message.error('请上传图片');
|
|
this.$message.error('请上传图片');
|
|
return;
|
|
return;
|
|
}
|
|
}
|
|
- if (!this.configForm.defaultFormList.length) {
|
|
|
|
|
|
+ if (this.isTAwemeStatus && !this.configForm.defaultFormList.length) {
|
|
this.$message.error('请添加卖点');
|
|
this.$message.error('请添加卖点');
|
|
return;
|
|
return;
|
|
}
|
|
}
|
|
- if (!this.creativeTag.length) {
|
|
|
|
|
|
+ if (this.isTomatoStatus && !this.creativeTag.length) {
|
|
this.$message.error('请添加标签');
|
|
this.$message.error('请添加标签');
|
|
return;
|
|
return;
|
|
}
|
|
}
|
|
@@ -2460,9 +2748,17 @@ export default {
|
|
paramsFormData.creativeSmartInventory = 1;
|
|
paramsFormData.creativeSmartInventory = 1;
|
|
}
|
|
}
|
|
else if (paramsFormData.adverPosition === 'b') {
|
|
else if (paramsFormData.adverPosition === 'b') {
|
|
|
|
+ if (!paramsFormData.checkboxChangeValue.length) {
|
|
|
|
+ this.$message.error('请选择媒体指定位置');
|
|
|
|
+ return;
|
|
|
|
+ }
|
|
paramsFormData.creativeInventoryTypes = paramsFormData.checkboxChangeValue;
|
|
paramsFormData.creativeInventoryTypes = paramsFormData.checkboxChangeValue;
|
|
}
|
|
}
|
|
else if (paramsFormData.adverPosition === 'c') {
|
|
else if (paramsFormData.adverPosition === 'c') {
|
|
|
|
+ if (!paramsFormData.radioChangeValue) {
|
|
|
|
+ this.$message.error('请选择场景指定位置');
|
|
|
|
+ return;
|
|
|
|
+ }
|
|
paramsFormData.creativeSceneInventory = paramsFormData.radioChangeValue;
|
|
paramsFormData.creativeSceneInventory = paramsFormData.radioChangeValue;
|
|
}
|
|
}
|
|
if (paramsFormData.launchTimeInterval === 'buxian') {
|
|
if (paramsFormData.launchTimeInterval === 'buxian') {
|