|
@@ -74,6 +74,7 @@
|
|
@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>
|
|
</div>
|
|
</div>
|
|
<div class="separate-module-con">
|
|
<div class="separate-module-con">
|
|
<p class="rock-title">广告组信息</p>
|
|
<p class="rock-title">广告组信息</p>
|
|
@@ -428,7 +429,7 @@
|
|
</a-form-model-item>
|
|
</a-form-model-item>
|
|
</a-tab-pane>
|
|
</a-tab-pane>
|
|
<a-tab-pane key="2" tab="选择定向包">
|
|
<a-tab-pane key="2" tab="选择定向包">
|
|
- <a-form-model-item class="select-orientation-class" label="选择已有定向包" prop="adAudiencePackageId">
|
|
|
|
|
|
+ <a-form-model-item class="select-orientation-class" label="选择已有定向包" :prop="selectPackageTabs === '2' ? 'adAudiencePackageId' : ''">
|
|
<a-select
|
|
<a-select
|
|
class="common-input-long"
|
|
class="common-input-long"
|
|
v-model="configForm.adAudiencePackageId"
|
|
v-model="configForm.adAudiencePackageId"
|
|
@@ -461,27 +462,27 @@
|
|
<div v-if="packageMessageDetail.length" class="orientation-content-substance">
|
|
<div v-if="packageMessageDetail.length" class="orientation-content-substance">
|
|
<div class="content-substance-singal">
|
|
<div class="content-substance-singal">
|
|
<span class="singal-spn">定向人群包:</span>
|
|
<span class="singal-spn">定向人群包:</span>
|
|
- <span>{{ packageMessageDetail[0].description }}</span>
|
|
|
|
|
|
+ <span class="singal-content">{{ packageMessageDetail[0].description }}</span>
|
|
</div>
|
|
</div>
|
|
<div class="content-substance-singal">
|
|
<div class="content-substance-singal">
|
|
<span class="singal-spn">地域:</span>
|
|
<span class="singal-spn">地域:</span>
|
|
- <span>{{ packageMessageDetail[0].replaceCitys }}</span>
|
|
|
|
|
|
+ <span class="singal-content">{{ packageMessageDetail[0].replaceCitys }}</span>
|
|
</div>
|
|
</div>
|
|
<div class="content-substance-singal">
|
|
<div class="content-substance-singal">
|
|
<span class="singal-spn">性别:</span>
|
|
<span class="singal-spn">性别:</span>
|
|
- <span>{{ packageMessageDetail[0].replaceSex }}</span>
|
|
|
|
|
|
+ <span class="singal-content">{{ packageMessageDetail[0].replaceSex }}</span>
|
|
</div>
|
|
</div>
|
|
<div class="content-substance-singal">
|
|
<div class="content-substance-singal">
|
|
<span class="singal-spn">年龄:</span>
|
|
<span class="singal-spn">年龄:</span>
|
|
- <span>{{ packageMessageDetail[0].replaceAge }}</span>
|
|
|
|
|
|
+ <span class="singal-content">{{ packageMessageDetail[0].replaceAge }}</span>
|
|
</div>
|
|
</div>
|
|
<div class="content-substance-singal">
|
|
<div class="content-substance-singal">
|
|
<span class="singal-spn">平台:</span>
|
|
<span class="singal-spn">平台:</span>
|
|
- <span>{{ packageMessageDetail[0].replacePlate }}</span>
|
|
|
|
|
|
+ <span class="singal-content">{{ packageMessageDetail[0].replacePlate }}</span>
|
|
</div>
|
|
</div>
|
|
<div class="content-substance-singal">
|
|
<div class="content-substance-singal">
|
|
<span class="singal-spn">智能放量:</span>
|
|
<span class="singal-spn">智能放量:</span>
|
|
- <span>{{ packageMessageDetail[0].replaceEnabled }}</span>
|
|
|
|
|
|
+ <span class="singal-content">{{ packageMessageDetail[0].replaceEnabled }}</span>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div v-else class="orientation-content-msg">
|
|
<div v-else class="orientation-content-msg">
|
|
@@ -518,8 +519,6 @@
|
|
@blur="handleAdBudgetBlur"
|
|
@blur="handleAdBudgetBlur"
|
|
/>
|
|
/>
|
|
</a-input-group>
|
|
</a-input-group>
|
|
- <div v-if="adBudgetShowTitle" style="width: 500px;color: #f00;">单次修改预算幅度, 不能低于100.0元</div>
|
|
|
|
- <span class="especial-label budget-mode-label">*</span>
|
|
|
|
</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'" v-model="configForm.adScheduleType" button-style="solid" @change="handleAdScheduleType">
|
|
@@ -599,6 +598,7 @@
|
|
@blur="handleAdMaxBidBlur"
|
|
@blur="handleAdMaxBidBlur"
|
|
/> 元
|
|
/> 元
|
|
</a-form-model-item>
|
|
</a-form-model-item>
|
|
|
|
+ <div v-if="isAdCpaBidBlur" style="width: 500px;color: #f00;margin-left: 140px;">{{ adCpaBidBlurTxt }}</div>
|
|
</div>
|
|
</div>
|
|
<div v-if="configForm.adBidCreateType === 'STEP'">
|
|
<div v-if="configForm.adBidCreateType === 'STEP'">
|
|
<a-form-model-item label="目标转化出价" class="dp-link-start" prop="adMinBid">
|
|
<a-form-model-item label="目标转化出价" class="dp-link-start" prop="adMinBid">
|
|
@@ -624,6 +624,7 @@
|
|
@blur="handleAdMaxBidBlur"
|
|
@blur="handleAdMaxBidBlur"
|
|
/> 元
|
|
/> 元
|
|
</a-form-model-item>
|
|
</a-form-model-item>
|
|
|
|
+ <div v-if="isAdCpaBidBlur" style="width: 500px;color: #f00;margin-left: 140px">{{ adCpaBidBlurTxt }}</div>
|
|
<a-form-model-item label="浮动间隔" prop="adStepBid">
|
|
<a-form-model-item label="浮动间隔" prop="adStepBid">
|
|
<a-input-number
|
|
<a-input-number
|
|
class="common-input"
|
|
class="common-input"
|
|
@@ -918,7 +919,7 @@ export default {
|
|
{
|
|
{
|
|
value: '4G',
|
|
value: '4G',
|
|
label: '4G'
|
|
label: '4G'
|
|
- },
|
|
|
|
|
|
+ }
|
|
],
|
|
],
|
|
adHideIfConvertedDataOption: [ // 过滤已转化用户option
|
|
adHideIfConvertedDataOption: [ // 过滤已转化用户option
|
|
{
|
|
{
|
|
@@ -1284,7 +1285,7 @@ export default {
|
|
this.configForm.adRetargetingTagsExclude = '';
|
|
this.configForm.adRetargetingTagsExclude = '';
|
|
this.configForm.updateGetingExclude = [];
|
|
this.configForm.updateGetingExclude = [];
|
|
this.configForm.adRetargetingTagsType = '';
|
|
this.configForm.adRetargetingTagsType = '';
|
|
- this.configForm.adPlatform = 'NONE';
|
|
|
|
|
|
+ // this.configForm.adPlatform = 'NONE';
|
|
this.configForm.adDeviceSelectType = ['NONE'];
|
|
this.configForm.adDeviceSelectType = ['NONE'];
|
|
this.configForm.adAndroidVersion = 'NONE';
|
|
this.configForm.adAndroidVersion = 'NONE';
|
|
this.configForm.adSelectAc = ['NONE'];
|
|
this.configForm.adSelectAc = ['NONE'];
|
|
@@ -1335,7 +1336,15 @@ export default {
|
|
this.configForm.adMinBid = Number(Number(e.target.value).toFixed(2));
|
|
this.configForm.adMinBid = Number(Number(e.target.value).toFixed(2));
|
|
},
|
|
},
|
|
handleAdMaxBidBlur(e) {
|
|
handleAdMaxBidBlur(e) {
|
|
- this.configForm.adMaxBid = Number(Number(e.target.value).toFixed(2));
|
|
|
|
|
|
+ const defaultValue = e.target.value;
|
|
|
|
+ this.configForm.adMaxBid = Number(Number(defaultValue).toFixed(2));
|
|
|
|
+ if (this.configForm.adBudget > 0 && defaultValue > this.configForm.adBudget) {
|
|
|
|
+ this.isAdCpaBidBlur = true;
|
|
|
|
+ this.adCpaBidBlurTxt = '出价不能大于预算';
|
|
|
|
+ }
|
|
|
|
+ else {
|
|
|
|
+ this.isAdCpaBidBlur = false;
|
|
|
|
+ }
|
|
},
|
|
},
|
|
handleDirectionalList() {
|
|
handleDirectionalList() {
|
|
const paramsData = {
|
|
const paramsData = {
|
|
@@ -1441,6 +1450,7 @@ export default {
|
|
this.configForm.adMinBid = '';
|
|
this.configForm.adMinBid = '';
|
|
this.configForm.adMaxBid = '';
|
|
this.configForm.adMaxBid = '';
|
|
this.configForm.adStepBid = 0;
|
|
this.configForm.adStepBid = 0;
|
|
|
|
+ this.isAdCpaBidBlur = false;
|
|
this.$refs['ruleForm'].clearValidate(['adMinBid']);
|
|
this.$refs['ruleForm'].clearValidate(['adMinBid']);
|
|
this.$refs['ruleForm'].clearValidate(['adMaxBid']);
|
|
this.$refs['ruleForm'].clearValidate(['adMaxBid']);
|
|
},
|
|
},
|
|
@@ -1513,6 +1523,10 @@ export default {
|
|
else {
|
|
else {
|
|
this.isAdCpaBidBlur = false;
|
|
this.isAdCpaBidBlur = false;
|
|
}
|
|
}
|
|
|
|
+ },
|
|
|
|
+ handleAccountBudget(e) {
|
|
|
|
+ const adBudgetInput = e.target.value;
|
|
|
|
+ this.configForm.accountBudget = Number(Number(adBudgetInput).toFixed(2));
|
|
if (this.modalTitle === 'edit') {
|
|
if (this.modalTitle === 'edit') {
|
|
if (Number(adBudgetInput) >= Number(this.defaultAdBudget) && Number(adBudgetInput) < (Number(this.defaultAdBudget) + 100)) {
|
|
if (Number(adBudgetInput) >= Number(this.defaultAdBudget) && Number(adBudgetInput) < (Number(this.defaultAdBudget) + 100)) {
|
|
this.adBudgetShowTitle = true;
|
|
this.adBudgetShowTitle = true;
|
|
@@ -1525,9 +1539,6 @@ export default {
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
},
|
|
- handleAccountBudget(e) {
|
|
|
|
- this.configForm.accountBudget = Number(Number(e.target.value).toFixed(2));
|
|
|
|
- },
|
|
|
|
handleExportRules(value, min, max, callback) {
|
|
handleExportRules(value, min, max, callback) {
|
|
let cnReg = /([\u4e00-\u9fa5]|[\u3000-\u303F]|[\uFF00-\uFF60])/;
|
|
let cnReg = /([\u4e00-\u9fa5]|[\u3000-\u303F]|[\uFF00-\uFF60])/;
|
|
let length = 0;
|
|
let length = 0;
|
|
@@ -1686,13 +1697,17 @@ export default {
|
|
this.configForm.campaignCnt = detailData.campaignCnt || '';
|
|
this.configForm.campaignCnt = detailData.campaignCnt || '';
|
|
this.configForm.campaignAdCnt = detailData.campaignAdCnt || '';
|
|
this.configForm.campaignAdCnt = detailData.campaignAdCnt || '';
|
|
this.configForm.launchTarget = detailData.launchTarget || 'OCPM';
|
|
this.configForm.launchTarget = detailData.launchTarget || 'OCPM';
|
|
- this.configForm.adDownloadType = detailData.adDownloadType || 'DOWNLOAD_URL';
|
|
|
|
|
|
+ this.configForm.adDownloadType = detailData.adDownloadType;
|
|
|
|
+ this.configForm.adPlatform = detailData.adPlatform;
|
|
this.configForm.adExternalUrl = detailData.adExternalUrl || '';
|
|
this.configForm.adExternalUrl = detailData.adExternalUrl || '';
|
|
this.configForm.adOpenUrl = detailData.adOpenUrl || '';
|
|
this.configForm.adOpenUrl = detailData.adOpenUrl || '';
|
|
this.configForm.adDownloadUrl = detailData.adDownloadUrl || '';
|
|
this.configForm.adDownloadUrl = detailData.adDownloadUrl || '';
|
|
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';
|
|
|
|
+ if (detailData.adDownloadType === 'DOWNLOAD_URL') {
|
|
|
|
+ this.handleGetPackage();
|
|
|
|
+ }
|
|
setTimeout(() => {
|
|
setTimeout(() => {
|
|
this.listArr = detailData.adCity.split(',');
|
|
this.listArr = detailData.adCity.split(',');
|
|
this.configForm.adSelectCity = detailData.adCity.split(',');
|
|
this.configForm.adSelectCity = detailData.adCity.split(',');
|
|
@@ -1743,7 +1758,6 @@ export default {
|
|
this.configForm.adSelectAc = detailData.adAc.split(',');
|
|
this.configForm.adSelectAc = detailData.adAc.split(',');
|
|
this.configForm.adDeviceSelectType = detailData.adDeviceType.split(',');
|
|
this.configForm.adDeviceSelectType = detailData.adDeviceType.split(',');
|
|
this.configForm.adSuperiorPopularityType = detailData.adSuperiorPopularityType;
|
|
this.configForm.adSuperiorPopularityType = detailData.adSuperiorPopularityType;
|
|
- this.configForm.adPlatform = detailData.adPlatform;
|
|
|
|
this.configForm.adAc = detailData.adAc;
|
|
this.configForm.adAc = detailData.adAc;
|
|
this.configForm.adHideIfExists = String(detailData.adHideIfExists);
|
|
this.configForm.adHideIfExists = String(detailData.adHideIfExists);
|
|
this.configForm.adHideIfConverted = detailData.adHideIfConverted;
|
|
this.configForm.adHideIfConverted = detailData.adHideIfConverted;
|
|
@@ -1751,7 +1765,7 @@ export default {
|
|
this.configForm.adSmartBidType = detailData.adSmartBidType;
|
|
this.configForm.adSmartBidType = detailData.adSmartBidType;
|
|
this.configForm.adBudgetMode = detailData.adBudgetMode;
|
|
this.configForm.adBudgetMode = detailData.adBudgetMode;
|
|
this.configForm.adBudget = detailData.adBudget;
|
|
this.configForm.adBudget = detailData.adBudget;
|
|
- this.defaultAdBudget = detailData.adBudget;
|
|
|
|
|
|
+ this.defaultAdBudget = detailData.accountBudget;
|
|
this.configForm.adScheduleType = detailData.adScheduleType;
|
|
this.configForm.adScheduleType = detailData.adScheduleType;
|
|
this.configForm.launchDateRange[0] = detailData.adStartTime;
|
|
this.configForm.launchDateRange[0] = detailData.adStartTime;
|
|
this.configForm.launchDateRange[1] = detailData.adEndTime;
|
|
this.configForm.launchDateRange[1] = detailData.adEndTime;
|
|
@@ -1775,7 +1789,6 @@ export default {
|
|
this.imageUrl = detailData.imageUrl;
|
|
this.imageUrl = detailData.imageUrl;
|
|
this.urlResult = detailData.imageUrl;
|
|
this.urlResult = detailData.imageUrl;
|
|
this.md5Result = detailData.creativeProductImageCode;
|
|
this.md5Result = detailData.creativeProductImageCode;
|
|
- this.handleGetPackage();
|
|
|
|
if (detailData.adAndroidOsv !== 'NONE') {
|
|
if (detailData.adAndroidOsv !== 'NONE') {
|
|
this.configForm.adAndroidVersion = 'a';
|
|
this.configForm.adAndroidVersion = 'a';
|
|
this.configForm.androidChangeValue = detailData.adAndroidOsv;
|
|
this.configForm.androidChangeValue = detailData.adAndroidOsv;
|
|
@@ -2103,6 +2116,9 @@ 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('请选择省市');
|