朱鑫波 4 роки тому
батько
коміт
5be2ac6466
2 змінених файлів з 222 додано та 23 видалено
  1. 2 2
      src/utils/request.js
  2. 220 21
      src/views/modules/autoLaunch/configLaunchInfo.vue

+ 2 - 2
src/utils/request.js

@@ -16,8 +16,8 @@ else if (process.env.NODE_ENV == 'debug') {
 else if (process.env.NODE_ENV == 'production') { 
   
   // axios.defaults.baseURL = 'http://192.168.1.251/jeecg-boot';
-  // axios.defaults.baseURL = 'http://139.186.165.84:8806/jeecg-boot';     
-  axios.defaults.baseURL = 'http://api.tjyourong.com.cn/jeecg-boot';
+  axios.defaults.baseURL = 'http://139.186.165.84:8806/jeecg-boot';     
+  // axios.defaults.baseURL = 'http://api.tjyourong.com.cn/jeecg-boot';
 }
 const service = axios.create({
 //   baseURL: '/jeecg-boot', // api base_url

+ 220 - 21
src/views/modules/autoLaunch/configLaunchInfo.vue

@@ -70,10 +70,74 @@
                 </div>
                 <div class="input-item">
                 <a-form-item>                
-                    <a-input v-decorator="['campaignName',{ rules: [{ required: true, message: '请填写计划的命名规则' }] }]"  allow-clear />
+                    <a-input v-decorator="['campaignName',{ rules: [{ required: true, message: '请填写计划的命名规则' }] }]"  allow-clear  id="campaignName"/>
                 </a-form-item>
                 </div>
             </div>  
+            <!-- <div class="row-item">
+                <div class="hint-item"> </div>
+                <div class="label-item">
+                <div class="text-item"></div>
+                </div>
+                <div class="input-item">
+                <a-form-item>                
+                   <a-tag color="#2db7f5" @click="getChangeAll('定向包', 'form', 'campaignName')"
+                >+定向包</a-tag
+              >
+              <a-tag color="#2db7f5" @click="getChangeAll('日期', 'form', 'campaignName')">+日期</a-tag>
+              <a-tag color="#2db7f5" @click="getChangeAll('标号', 'form', 'campaignName')">+标号</a-tag>
+              <a-tag color="#2db7f5" @click="getChangeAll('应用包名', 'form', 'campaignName')"
+                >+应用包名</a-tag
+              >
+              <a-tag color="#2db7f5" @click="getChangeAll('自定义', 'form', 'campaignName')"
+                >+自定义</a-tag
+              >
+                </a-form-item>
+                </div>
+            </div>   -->
+                        
+            <div class="row-item">
+                <div class="hint-item"> </div>
+                <div class="label-item">
+                <div class="text-item">广告计划单日预算</div>
+                <div class="required-item"></div>
+                </div>
+                <div class="input-item">
+                <a-form-item>                
+                <a-radio-group v-model="budgetType">
+                    <a-radio-button value="1">不限</a-radio-button>
+                    <a-radio-button value="2">统一预算</a-radio-button>
+                </a-radio-group>
+                </a-form-item>
+                </div>
+            </div>  
+
+            <div class="row-item" v-if="budgetType == '2'">
+                <div class="hint-item"> </div>
+                <div class="label-item">
+                <div class="text-item"></div>
+                <div class="required-item"></div>
+                </div>
+                <div class="input-item">
+                <a-form-item>                
+                    <a-input-number
+                        v-decorator="[
+                        'campaignDayBudget',
+                        {
+                            rules: [{ required: true, message: '不小于500, 不超过100000000,仅支持输入自然数' }],
+                        },
+                        ]"
+                        :min="500"
+                        :precision="0"
+                        :max="100000000"
+                        style="width: 100%"
+                        placeholder="不小于500, 不超过100000000,仅支持输入自然数"
+                    />
+                </a-form-item>
+                </div>
+            </div>  
+
+
             <div class="row-item">
                 <div class="hint-item"> </div>
                 <div class="label-item">
@@ -82,10 +146,76 @@
                 </div>
                 <div class="input-item">
                 <a-form-item>                
-                    <a-input v-decorator="['groupName',{ rules: [{ required: true, message: '请填写组的命名规则' }] }]"  allow-clear />
+                    <a-input v-decorator="['groupName',{ rules: [{ required: true, message: '请填写组的命名规则' }] }]"  allow-clear id="groupName"/>
                 </a-form-item>
                 </div>
             </div>  
+            <!-- <div class="row-item">
+                <div class="hint-item"> </div>
+                <div class="label-item">
+                <div class="text-item"></div>
+                </div>
+                <div class="input-item">
+                <a-form-item>                
+                   <a-tag color="#2db7f5" @click="getChangeAll('定向包', 'form', 'groupName')"
+                >+定向包</a-tag
+              >
+              <a-tag color="#2db7f5" @click="getChangeAll('日期', 'form', 'groupName')">+日期</a-tag>
+              <a-tag color="#2db7f5" @click="getChangeAll('标号', 'form', 'groupName')">+标号</a-tag>
+              <a-tag color="#2db7f5" @click="getChangeAll('应用包名', 'form', 'groupName')"
+                >+应用包名</a-tag
+              >
+               <a-tag color="#2db7f5" @click="getChangeAll('创意制作方式', 'form', 'groupName')"
+                >+创意制作方式</a-tag
+              >
+               <a-tag color="#2db7f5" @click="getChangeAll('广告位置', 'form', 'groupName')"
+                >+广告位置</a-tag
+              >
+               <a-tag color="#2db7f5" @click="getChangeAll('自定义', 'form', 'groupName')"
+                >+自定义</a-tag
+              >
+                </a-form-item>
+                </div>
+            </div>   -->
+            <div class="row-item">
+                <div class="hint-item"> </div>
+                <div class="label-item">
+                <div class="text-item">广告组单日预算</div>
+                <div class="required-item"></div>
+                </div>
+                <div class="input-item">
+                <a-form-item>                
+                    <a-radio-group v-model="dayBudgetType">
+                        <a-radio-button value="1">不限</a-radio-button>
+                        <a-radio-button value="2">统一预算</a-radio-button>
+                    </a-radio-group>
+                </a-form-item>
+                </div>
+            </div>
+            <div class="row-item" v-if="dayBudgetType=='2'">
+                <div class="hint-item"> </div>
+                <div class="label-item">
+                <div class="text-item"></div>
+                <div class="required-item"></div>
+                </div>
+                <div class="input-item">
+                <a-form-item>                
+                    <a-input-number
+                        v-decorator="[
+                        'unitDayBudget',
+                        {
+                            rules: [{ required: true, message: '不小于500, 不超过100000000,仅支持输入自然数' }],
+                        },
+                        ]"
+                        style="width: 100%"
+                        placeholder="不小于500, 不超过100000000,仅支持输入自然数"
+                        :min="500"
+                        :precision="0"
+                    />
+                </a-form-item>
+                </div>
+            </div>
+
             
         </div>
         <div class="moduler">
@@ -220,16 +350,16 @@
         </div>
         <div class="moduler">
             <div class="moduler-title">用户定向
-            <div style="margin-left:30px;position:relative;top:-2px">
+            <!-- <div style="margin-left:30px;position:relative;top:-2px">
                 <a-radio-group v-model="useDirectional" @change="useDirectionalChange">
                     <a-radio :value="1">
                         不使用定向
                     </a-radio>
-                    <!-- <a-radio :value="0">
+                    <a-radio :value="0">
                         使用定向包
-                    </a-radio> -->
+                    </a-radio>
                 </a-radio-group>
-            </div>
+            </div> -->
             </div>
             <div class="ad-range" v-if="useDirectional==1">
                     <div class="row-item">
@@ -308,7 +438,7 @@
                                     <a-form-item>
                                     <a-radio-group v-decorator="['androidOsv',{initialValue: 3,}]">
                                         <a-radio :value="3">不限</a-radio>
-                                        <a-radio :value="4">4X+</a-radio>
+                                        <a-radio :value="4">4x+</a-radio>
                                         <a-radio :value="5">5x+</a-radio>
                                         <a-radio :value="6">6x+</a-radio>
                                         <a-radio :value="7">7x+</a-radio>
@@ -319,7 +449,7 @@
                                     <a-form-item>
                                     <a-radio-group  v-decorator="['iosOsv',{initialValue: 6,}]">
                                         <a-radio :value="6">不限</a-radio>
-                                        <a-radio :value="7">7X+</a-radio>
+                                        <a-radio :value="7">7x+</a-radio>
                                         <a-radio :value="8">8x+</a-radio>
                                         <a-radio :value="9">9x+</a-radio>
                                         <a-radio :value="10">10x+</a-radio>
@@ -349,6 +479,7 @@
                             <div class="inventory-tags-lists-name"><strong>品牌名称</strong></div>
                             </div>
                             <div class="inventory-tags-lists-container" >
+                                <a-form-item>
                                 <a-checkbox-group
                                     v-decorator="['deviceBrand', { rules: [{ required: true, message: '请选择设备品牌' }] }]"
                                 >
@@ -364,6 +495,7 @@
                                 <a-checkbox :value="10" style="margin-bottom: 8px">其他</a-checkbox>
                                 <a-checkbox :value="11" v-if="getFormData('platformOs') == 0" style="margin-bottom: 8px">苹果</a-checkbox>
                                 </a-checkbox-group>
+                                 </a-form-item>
                             </div>
                         </div>                  
                         
@@ -385,9 +517,10 @@
                         <div style="width: 400px; margin-top: 24px;" class="inventoryTypes" v-if="devicePrice==1">
                             <div class="inventory-tags-lists-header" style="padding-left:15px">
                                 
-                            <div class="inventory-tags-lists-name"><strong>品牌名称</strong></div>
+                            <div class="inventory-tags-lists-name"><strong>价格区间</strong></div>
                             </div>
                             <div class="inventory-tags-lists-container" >
+                                 <a-form-item>
                                 <a-checkbox-group
                                 v-decorator="['devicePrice', { rules: [{ required: true, message: '请选择设备价格' }] }]"
                                 style="width: 120%"
@@ -403,6 +536,7 @@
                                 <a-checkbox :value="9" style="margin-left: 0; margin-bottom: 8px">5001~5500</a-checkbox>
                                 <a-checkbox :value="10" style="margin-bottom: 8px">5500以上</a-checkbox>
                                 </a-checkbox-group>
+                                 </a-form-item>
                             </div>
                         </div>                  
                         
@@ -1338,6 +1472,8 @@ export default {
     },
     data() {
         return {
+            budgetType:'1',
+            dayBudgetType:'1',
             clickTrackUrlTip:false,
             deviceBrand:0,
             devicePrice:0,
@@ -2046,7 +2182,8 @@ export default {
   
             this.form.validateFields((err, values) => {
                 //console.log(values) 
-                if (!err) {                   
+                if (!err) {     
+                    console.log(values)              
                     this.goNextloading=true;
                     if(this.district!='NONE'){
                         values.district=this.district
@@ -2125,11 +2262,8 @@ export default {
                          values.creativeCategory=undefined
                     }
                     
-                    if(this.deviceBrand==0){
-                        
-                    }
                     values.deviceBrand=this.deviceBrand==0?'[]':JSON.stringify(values.deviceBrand)
-                    values.devicePrice=this.devicePrice==0?'[]':JSON.stringify(values.deviceBrand)
+                    values.devicePrice=this.devicePrice==0?'[]':JSON.stringify(values.devicePrice)
                     values.accountId = this.accountId
                    
                     values.creativeTag=values.creativeTag?JSON.stringify(values.creativeTag):undefined
@@ -2138,6 +2272,8 @@ export default {
                     values.noGenderBreak=this.noGenderBreak?1:0
                     values.noAgeBreak=this.noAgeBreak?1:0
 
+                    values.campaignDayBudget = this.budgetType =='1'?0: values.campaignDayBudget*1000
+                    values.unitDayBudget = this.dayBudgetType =='1'?0: values.unitDayBudget*1000
                     //console.log('Received values of form: ', values)
                     let url=''
                     if(this.editRecordId){
@@ -2398,13 +2534,17 @@ export default {
                         }
                     }
                     
-                    if(res.result.deviceBrand){
+                    
                         
-                        this.deviceBrand=JSON.parse(res.result.deviceBrand).length>0?1:0;
-                    }
-                    if(res.result.devicePrice){
-                        this.devicePrice=JSON.parse(res.result.devicePrice).length>0?1:0
-                    }
+                    this.deviceBrand=res.result.deviceBrand?JSON.parse(res.result.deviceBrand).length>0?1:0:0;
+                    
+                    
+                    this.devicePrice=res.result.devicePrice?JSON.parse(res.result.devicePrice).length>0?1:0:0
+                    
+
+                    this.budgetType = res.result.campaignDayBudget?res.result.campaignDayBudget>0?'2':'1':'1'
+                    this.dayBudgetType = res.result.unitDayBudget?res.result.unitDayBudget>0?'2':'1':'1'
+
                     setTimeout(()=>{                       
                         this.form.setFieldsValue({
                              ...res.result,
@@ -2415,8 +2555,19 @@ export default {
                             appId:res.singleAppid?JSON.parse(res.result.appIdArray)[0]:JSON.parse(res.result.appIdArray),
                             deviceBrand:res.result.deviceBrand?JSON.parse(res.result.deviceBrand):[],
                             devicePrice:res.result.devicePrice?JSON.parse(res.result.devicePrice):[],
+                           
+                            campaignDayBudget:res.result.campaignDayBudget?res.result.campaignDayBudget/1000:null,
+                            unitDayBudget:res.result.unitDayBudget?res.result.unitDayBudget/1000:null
+                           
                         })
                     },0)
+                    setTimeout(()=>{
+                         this.form.setFieldsValue({
+                             androidOsv:res.result.androidOsv?res.result.androidOsv:3,
+                            iosOsv:res.result.iosOsv?res.result.iosOsv:6,
+                        })
+                        
+                    },100)
                     if((res.result.ocpxActionType == 180 || res.result.ocpxActionType == 53) && this.groupTypeData.deepConversionTypes&&this.groupTypeData.deepConversionTypes.length > 0){
                         // //console.log(1)
                         setTimeout(()=>{
@@ -2538,7 +2689,55 @@ export default {
         clickTrackUrlBlur(){
             // //console.log('blur')
             this.clickTrackUrlTip=false;
-        }
+        },
+        getChangeAll(type, form, field) {
+            var node = document.getElementById(field)
+            var v = '{{' + type + '}}-'
+            if (document.selection) {
+                //IE
+                node.focus()
+                var sel = document.selection.createRange()
+                sel.text = v
+                sel.select()
+                if (field == 'campaignName') {
+                this[form].setFieldsValue({ campaignName: sel.text })
+                } else if (field == 'unitName') {
+                this.unitInfo.unitName = sel.text
+                this.$refs.ruleForm.validateField('unitName')
+                }
+            } else if (node.selectionStart || node.selectionStart == '0') {
+                //MOZILLA/GOOGLE
+                var startPos = node.selectionStart
+                var endPos = node.selectionEnd
+                var restoreTop = node.scrollTop
+                node.value = node.value.substring(0, startPos) + v + node.value.substring(endPos, node.value.length)
+                if (restoreTop > 0) {
+                node.scrollTop = restoreTop
+                }
+                if (field == 'campaignName') {
+                this[form].setFieldsValue({ campaignName: node.value })
+                } else if (field == 'unitName') {
+                this.unitInfo.unitName = node.value
+                this.$refs.ruleForm.validateField('unitName')
+                }
+                node.focus()
+                node.selectionStart = startPos + v.length
+                node.selectionEnd = startPos + v.length
+                // this.campaignName = node.value
+            } else {
+                //OTHER
+                node.value += v
+                // console.log(node.value)
+                if (field == 'campaignName') {
+                this[form].setFieldsValue({ campaignName: node.value })
+                } else if (field == 'unitName') {
+                this.unitInfo.unitName = node.value
+                this.$refs.ruleForm.validateField('unitName')
+                }
+                node.focus()
+                // this.campaignName = node.value
+            }
+        },
     },
     created() {
         if(this.$route){