朱鑫波 4 anni fa
parent
commit
5ae9c839a4

+ 1 - 0
public/index.html

@@ -10,6 +10,7 @@
   <link rel="icon" href="<%= BASE_URL %>logo.png">
   <link href="<%= BASE_URL %>color.less">
   <!-- <script src="https://cdnjs.cloudflare.com/ajax/libs/babel-polyfill/7.2.5/polyfill.js"></script> -->
+  <script src="<%= BASE_URL %>polyfill.js"></script>
   <script src="<%= BASE_URL %>web-office-sdk-v1.1.1.umd.js"></script>
   <link
   rel="stylesheet"

+ 101 - 101
src/styles/reset.less

@@ -1,92 +1,92 @@
-html,
-body,
-div,
-span,
-applet,
-object,
-iframe,
-h1,
-h2,
-h3,
-h4,
-h5,
-h6,
-p,
-blockquote,
-pre,
-a,
-abbr,
-acronym,
-address,
-big,
-cite,
-code,
-del,
-dfn,
-em,
-img,
-ins,
-kbd,
-q,
-s,
-samp,
-small,
-strike,
-strong,
-sub,
-sup,
-tt,
-var,
-b,
-u,
-i,
-center,
-dl,
-dt,
-dd,
-ol,
-ul,
-li,
-fieldset,
-form,
-label,
-legend,
-table,
-caption,
-tbody,
-tfoot,
-thead,
-tr,
-th,
-td,
-article,
-aside,
-canvas,
-details,
-embed,
-figure,
-figcaption,
-footer,
-header,
-hgroup,
-menu,
-nav,
-output,
-ruby,
-section,
-summary,
-time,
-mark,
-audio,
-video {
-  margin: 0;
-  padding: 0;
-  border: 0;
-  font-size: 100%;
-  font: inherit;
-  vertical-align: baseline;
-  -webkit-tap-highlight-color: transparent;
-}
+// html,
+// body,
+// div,
+// span,
+// applet,
+// object,
+// iframe,
+// h1,
+// h2,
+// h3,
+// h4,
+// h5,
+// h6,
+// p,
+// blockquote,
+// pre,
+// a,
+// abbr,
+// acronym,
+// address,
+// big,
+// cite,
+// code,
+// del,
+// dfn,
+// em,
+// img,
+// ins,
+// kbd,
+// q,
+// s,
+// samp,
+// small,
+// strike,
+// strong,
+// sub,
+// sup,
+// tt,
+// var,
+// b,
+// u,
+// i,
+// center,
+// dl,
+// dt,
+// dd,
+// ol,
+// ul,
+// li,
+// fieldset,
+// form,
+// label,
+// legend,
+// table,
+// caption,
+// tbody,
+// tfoot,
+// thead,
+// tr,
+// th,
+// td,
+// article,
+// aside,
+// canvas,
+// details,
+// embed,
+// figure,
+// figcaption,
+// footer,
+// header,
+// hgroup,
+// menu,
+// nav,
+// output,
+// ruby,
+// section,
+// summary,
+// time,
+// mark,
+// audio,
+// video {
+//   margin: 0;
+//   padding: 0;
+//   border: 0;
+//   font-size: 100%;
+//   font: inherit;
+//   vertical-align: baseline;
+//   -webkit-tap-highlight-color: transparent;
+// }
 
 /* HTML5 display-role reset for older browsers */
 article,
@@ -125,17 +125,17 @@ q:after {
   content: none;
 }
 
-table {
-  border-collapse: collapse;
-  border-spacing: 0;
-}
+// table {
+//   border-collapse: collapse;
+//   border-spacing: 0;
+// }
 
-a {
-  text-decoration: none;
-  color: inherit;
-}
+// a {
+//   text-decoration: none;
+//   color: inherit;
+// }
 
-input[type='number']::-webkit-inner-spin-button,
-input[type='number']::-webkit-outer-spin-button {
-  -webkit-appearance: none;
-}
+// input[type='number']::-webkit-inner-spin-button,
+// input[type='number']::-webkit-outer-spin-button {
+//   -webkit-appearance: none;
+// }

+ 13 - 11
src/views/modules/kuaishouapp/account/advertisingGroup.vue

@@ -111,9 +111,10 @@
               <span slot="actionTwo" slot-scope="text, record">
                 <a @click="editDetail(record)">编辑</a>
                 <a-divider type="vertical" />
-                <a @click="copyDetail(record)">复制</a>
+                <a @click="copyDetail(record)" :disabled="record.unitType+'' == '7'||record.unitType+'' == '5'">复制</a>
                 <a-divider type="vertical" />
                 <a @click="realTimedata(record)">查看实时数据</a>
+                
               </span>
               <span slot="status" slot-scope="text">{{ text | status }}</span>
               <span slot="putStatus" slot-scope="text">{{ text | putStatus }}</span>
@@ -132,7 +133,7 @@
               <span slot="sceneId" slot-scope="text"><span v-for="item of text"
                   :key="item">{{ item | sceneId }}</span></span>
               <span slot="showMode" slot-scope="text">{{ text | showModel }}</span>
-              <span slot="unitType" slot-scope="text">{{ text == 4 ? '自定义' : '' }}</span>
+              <span slot="unitType" slot-scope="text">{{ text == 4 ? '自定义' : '程序化创意2.0' }}</span>
               <span slot="urlType" slot-scope="text">{{ text | urlType }}</span>
 
               <template slot="dayBudget" slot-scope="text, record">
@@ -903,6 +904,7 @@ let realTimeColumn=[
           0: '未知',
           1: '优选广告位',
           3: '视频播放页广告-便利贴广告',
+          5: '联盟广告',
           6: '上下滑大屏广告',
           7: '信息流广告'
         }
@@ -1192,15 +1194,15 @@ let realTimeColumn=[
         localStorage.setItem('campaignId', record.campaignId)
         if (localStorage.getItem('originality')) {
           var dataElse = JSON.parse(localStorage.getItem('originality'))
-          for (let i = 0; i < dataElse.length; i++) {
-            if (dataElse[i].unitId == record.unitId) {
-              this.$router.replace({
-                path: '/account/originality'
-              })
-              return
-            }
-          }
-          dataElse.push(record)
+          // for (let i = 0; i < dataElse.length; i++) {
+          //   if (dataElse[i].unitId == record.unitId) {
+          //     this.$router.replace({
+          //       path: '/account/originality'
+          //     })
+          //     return
+          //   }
+          // }
+          dataElse= [record] 
           localStorage.setItem('originality', JSON.stringify(dataElse))
         } else {
           var data = [record]

+ 99 - 26
src/views/modules/kuaishouapp/account/editGroup.vue

@@ -90,6 +90,16 @@
           <a-checkbox value="smartisan">锤子</a-checkbox>
         </a-checkbox-group>
       </a-form-item>
+
+      <a-form-item label="投放范围" :labelCol="{ lg: { span: 7 }, sm: { span: 7 } }"
+        :wrapperCol="{ lg: { span: 10 }, sm: { span: 17 } }"
+        v-if="allianceAccount">
+        <a-radio-group buttonStyle="solid" v-model="allForm.allianceAccount" :disabled="typeCopy=='edit'">
+          <a-radio-button value="1">默认</a-radio-button>
+          <a-radio-button value="2">联盟广告</a-radio-button>
+        </a-radio-group>
+      </a-form-item>
+
       <div style="text-align:center;font-size:16px;margin-bottom:10px">
         目标人群
       </div>
@@ -103,7 +113,7 @@
         </a-select>
       </a-form-item>
       <targeted-population ref="population" :populationData.sync="populationData"
-        :platform="getPlatForm(getData('appId'))" />
+        :platform="getPlatForm(getData('appId'))"  :lol="allForm.allianceAccount"/>
       <a-form-item label=" " :labelCol="{ lg: { span: 7 }, sm: { span: 7 } }"
         :wrapperCol="{ lg: { span: 10 }, sm: { span: 17 } }" class="else-label">
         <div style="display:flex;">
@@ -181,7 +191,7 @@
         </span>
       </a-form-item>
       <a-form-item label="场景广告位" :labelCol="{ lg: { span: 7 }, sm: { span: 7 } }"
-        :wrapperCol="{ lg: { span: 17 }, sm: { span: 17 } }">
+        :wrapperCol="{ lg: { span: 17 }, sm: { span: 17 } }" v-if="allForm.allianceAccount=='1'">
         <!-- v-decorator="['speed', { initialValue: '1' }]" -->
         <a-radio-group buttonStyle="solid" :disabled="typeCopy=='edit'" v-model="allForm.sceneIdAll">
           <a-radio-button :value="1">优选广告位</a-radio-button>
@@ -216,17 +226,48 @@
                       :wrapperCol="{ lg: { span: 18 }, sm: { span: 17 } }">
                       <a-radio-group buttonStyle="solid" v-model="item.bidType" @change="resData(index)">
                         <a-radio-button :value="1">点击数</a-radio-button>
-                        <a-radio-button :value="2">行为数</a-radio-button>
-                        <a-radio-button :value="180"
-                          v-if="campaignType == '2' && allForm.groupTypeData.isActivate == '1'">激活</a-radio-button>
-                        <a-radio-button :value="53" v-if="
-                            (campaignType == '4' || campaignType == '5') && allForm.groupTypeData.isFormSubmit == '1'
-                          ">表单提交</a-radio-button>
+
+                        <a-radio-button :value="10">转化数</a-radio-button>
                       </a-radio-group>
                     </a-form-item>
+                    <a-form-item label="转化目标" :labelCol="{ lg: { span: 6 }, sm: { span: 7 } }"
+                      :wrapperCol="{ lg: { span: 18 }, sm: { span: 17 } }" v-if="item.bidType==10">
+                      <a-select v-model="item.ocpxActionType">
+
+                        <a-select-option :value="2">行为数</a-select-option>
+                        <a-select-option :value="180"
+                          v-if="campaignType == '2' && allForm.groupTypeData.isActivate == '1'">激活</a-select-option>
+                        <a-select-option :value="53" v-if="
+                            (campaignType == '4' || campaignType == '5') && allForm.groupTypeData.isFormSubmit == '1'
+                          ">表单提交</a-select-option>
+
+                        <a-select-option :value="394" v-if="
+                             allForm.groupTypeData.isOrderSubmit == '1'
+                          ">订单提交</a-select-option>
+                        <a-select-option :value="348" v-if="
+                             allForm.groupTypeData.isValidClue == '1'
+                          ">使用有效线索</a-select-option>
+                        <a-select-option :value="383" v-if="
+                             allForm.groupTypeData.isCreditGrant == '1'
+                          ">授信出价</a-select-option>
+                         <a-select-option :value="384" v-if="
+                            allForm.groupTypeData.isWanJian == '1'
+                          ">完件出价</a-select-option>
+                          <a-select-option :value="190" v-if="
+                             allForm.groupTypeData.isPurchase == '1'
+                          ">付费出价</a-select-option>
+                          <a-select-option :value="191" v-if="
+                             allForm.groupTypeData.isFirstdayRoi == '1'
+                          ">首日ROI</a-select-option>
+                          <a-select-option :value="396" v-if="
+                             allForm.groupTypeData.isRegister == '1'
+                          ">注册优化目标</a-select-option>
+                      </a-select>
+
+                    </a-form-item>
                     <a-form-item label="深度转化目标" :labelCol="{ lg: { span: 6 }, sm: { span: 7 } }"
                       :wrapperCol="{ lg: { span: 18 }, sm: { span: 17 } }" v-if="
-                        (item.bidType == 180 || item.bidType == 53) &&
+                        (item.ocpxActionType == 180 || item.ocpxActionType == 53) &&
                           allForm.groupTypeData.deepConversionTypes.length > 0
                       ">
                       <a-select v-model="item.deepConversionType" allowClear>
@@ -255,17 +296,17 @@
                         :style="{ borderColor: item.showTipCheck ? 'red' : '#d9d9d9' }" style="width:100%">
                       </a-input-number>
                       <span style="color:red" v-if="item.showTipCheck">{{
-                        item.bidType == 2
+                        item.bidType == 1
                           ? '不得低于1元,不得高于项目最高出价' + maxBid + '元'
                           : '不得低于1元,不得高于项目最高出价' + maxBid + '元'
                       }}</span>
-                      <span style="color:red;font-weight:700" v-else-if="item.bidType==2&&item.cpaBid&&item.cpaBid>1">
+                      <span style="color:red;font-weight:700" v-else-if="item.ocpxActionType==2&&item.cpaBid&&item.cpaBid>1">
                         行为出价大于1元,请注意!!!
                       </span>
                     </a-form-item>
                     <a-form-item label="深度转化出价" :labelCol="{ lg: { span: 6 }, sm: { span: 7 } }"
                       :wrapperCol="{ lg: { span: 18 }, sm: { span: 17 } }" v-if="
-                        (item.bidType == 180 || item.bidType == 53) &&
+                        (item.ocpxActionType == 180 || item.ocpxActionType == 53) &&
                           allForm.groupTypeData.deepConversionTypes.length > 0 &&
                           item.deepConversionType != ''
                       ">
@@ -335,6 +376,7 @@
     },
     data() {
       return {
+        allianceAccount:false,
         visibleFail: false,
         visibleData: null,
         checkedTrue: false,
@@ -383,7 +425,8 @@
           useAppMarket: false,
           appStore: ['huawei', 'oppo', 'vivo', 'xiaomi',
             'meizu', 'smartisan'
-          ]
+          ],
+          allianceAccount:'1'
         },
         typeCopy: "edit",
         dataList: [],
@@ -604,7 +647,8 @@
             }
             //   dataJson.useAppMarket = dataJson.useAppMarket==0?false:true
 
-            this.allForm.sceneIdAll = JSON.parse(dataJson.sceneId).filter(item => item == 1).length > 0 ? 1 : 2
+            this.allForm.sceneIdAll = JSON.parse(dataJson.sceneId).filter(item => item == 1).length > 0 ? 1 : JSON.parse(dataJson.sceneId)[0] ==5 ? 5 : 2
+            this.allForm.allianceAccount = this.allForm.sceneIdAll==5?'2':'1'
             this.allForm.useAppMarket = dataJson.useAppMarket ? (dataJson.useAppMarket == 0 ? false : true) : false
             this.allForm.appStore = this.allForm.useAppMarket ? JSON.parse(dataJson.appStore) : ['huawei', 'oppo',
               'vivo', 'xiaomi',
@@ -620,7 +664,7 @@
             this.allForm.scheduleTime = dataJson.scheduleTime.indexOf('1') != -1 ? '2' : '1'
             this.allForm.scheduleTimeData = dataJson.scheduleTime
             this.allForm.group = [{
-              bidType: dataJson.ocpxActionType,
+              bidType: dataJson.bidType,
               bid: dataJson.bid,
               cpaBid: dataJson.cpaBid / 1000,
               showTipCheck: false,
@@ -628,7 +672,8 @@
               unitName: unitNameCopy ? unitNameCopy : dataJson.unitName,
               unitNameCheck: false,
               deepConversionType: dataJson.deepConversionType,
-              deepConversionBid: dataJson.deepConversionBid / 1000
+              deepConversionBid: dataJson.deepConversionBid / 1000,
+              ocpxActionType:dataJson.ocpxActionType
             }]
 
             this.populationData = dataJson
@@ -720,13 +765,14 @@
                 cpaBid: item.cpaBid != '' ? item.cpaBid * 1000 : '',
                 bid: item.bid != '' ? item.bid * 1000 : '',
                 deepConversionBid: item.deepConversionBid != '' ? item.deepConversionBid * 1000 : '',
-                ocpxActionType: item.bidType,
+                ocpxActionType: item.ocpxActionType,
                 bidType: item.bidType == 1 ? 2 : 10
               }
             })[0]
             var json = {
               ...values,
-              sceneId: this.allForm.sceneIdAll == 1 ? [this.allForm.sceneIdAll] : this.allForm.sceneId,
+              // sceneId: this.allForm.sceneIdAll == 1 ? [this.allForm.sceneIdAll] : this.allForm.sceneId,
+              sceneId: this.allForm.allianceAccount=='1'?this.allForm.sceneIdAll == 1 ? [this.allForm.sceneIdAll] : this.allForm.sceneId:[5],
               dayBudget: values.dayBudget * 1000
             }
             var params = {
@@ -747,6 +793,8 @@
                 params.appStore = this.allForm.appStore
               }
             }
+
+
             if (this.isUpdateTrackUrl) {
               if (this.showSite && (this.getPlatForm(this.getData('appId')) == '1' || this.getPlatForm(this.getData(
                   'appId')) == '2')) {
@@ -787,9 +835,16 @@
                 templateContent: JSON.stringify(this.populationData)
               }).then(res => {})
             }
+            if(this.allForm.allianceAccount=='1'){
+              var {...paramsEnd} = params
+            }else{
+              var {fansStar,appType,businessInterestType,interestVideo,isOpen,noAgeBreak,noGenderBreak,noAreaBreak,...paramsElse} = params.allForm
+              params.allForm = paramsElse
+              var {businessInterestType,isOpen,noAgeBreak,noGenderBreak,noAreaBreak,...paramsEnd} = params
+            }
             if (this.typeCopy == 'edit') {
               var param = {
-                ...params,
+                ...paramsEnd,
                 ...groupArr
               }
               postAction('/kuaishou/batch/updateUnit', param).then(res => {
@@ -803,13 +858,13 @@
                 }
               })
             } else if (this.typeCopy == 'copy') {
-              params.type = 'copy'
-              params.copyUnitId = this.unitId
-              params.copyToCampaignId = this.copyCampaignId
-              params.campaignId = this.oneCampaignId
-              params.createCount = 1
-              params.groupArr = [groupArr]
-              postAction('/kuaishou/batch/copyUnit', params).then(res => {
+              paramsEnd.type = 'copy'
+              paramsEnd.copyUnitId = this.unitId
+              paramsEnd.copyToCampaignId = this.copyCampaignId
+              paramsEnd.campaignId = this.oneCampaignId
+              paramsEnd.createCount = 1
+              paramsEnd.groupArr = [groupArr]
+              postAction('/kuaishou/batch/copyUnit', paramsEnd).then(res => {
                 if (res.success) {
                   if (res.result.failCount > 0) {
                     this.visibleFail = true
@@ -944,6 +999,24 @@
           this.allForm.groupTypeData = res.result
         }
       })
+
+      getAction('/kuaishou/batch/getWhiteList',{
+        accountId:localStorage.getItem('accountId')
+      }).then(res=>{
+        if(res.success){
+          console.log(res)
+          if(res.result){
+            if(res.result.alliance_account == 1){
+              this.allianceAccount = true
+            }else{
+              this.allianceAccount = false
+            }
+          }else{
+            this.allianceAccount = false
+          }
+        }
+      })
+
       getAction('/kuaishou/batch/getProjectMaxBid', {
         accountId: localStorage.getItem('accountId')
       }).then(res => {

+ 104 - 36
src/views/modules/kuaishouapp/account/editGroupNew.vue

@@ -89,6 +89,16 @@
           <a-checkbox value="smartisan">锤子</a-checkbox>
         </a-checkbox-group>
       </a-form-item>
+
+      <a-form-item label="投放范围" :labelCol="{ lg: { span: 7 }, sm: { span: 7 } }"
+        :wrapperCol="{ lg: { span: 10 }, sm: { span: 17 } }"
+        v-if="allianceAccount">
+        <a-radio-group buttonStyle="solid" v-model="allForm.allianceAccount" disabled>
+          <a-radio-button value="1">默认</a-radio-button>
+          <a-radio-button value="2">联盟广告</a-radio-button>
+        </a-radio-group>
+      </a-form-item>
+
       <div style="text-align:center;font-size:16px;margin-bottom:10px">
         目标人群
       </div>
@@ -102,7 +112,7 @@
         </a-select>
       </a-form-item>
       <targeted-population ref="population" :populationData.sync="populationData"
-        :platform="getPlatForm(getData('appId'))" />
+        :platform="getPlatForm(getData('appId'))" :lol="allForm.allianceAccount"/>
       <a-form-item label=" " :labelCol="{ lg: { span: 7 }, sm: { span: 7 } }"
         :wrapperCol="{ lg: { span: 10 }, sm: { span: 17 } }" class="else-label">
         <div style="display:flex;">
@@ -182,8 +192,9 @@
           }}
         </span>
       </a-form-item>
+      {{allForm.allianceAccount}}
       <a-form-item label="场景广告位" :labelCol="{ lg: { span: 7 }, sm: { span: 7 } }"
-        :wrapperCol="{ lg: { span: 17 }, sm: { span: 17 } }">
+        :wrapperCol="{ lg: { span: 17 }, sm: { span: 17 } }" v-if="allForm.allianceAccount=='1'">
         <!-- v-decorator="['speed', { initialValue: '1' }]" -->
         <a-radio-group buttonStyle="solid" v-model="allForm.sceneIdAll">
           <a-radio-button :value="1">优选广告位</a-radio-button>
@@ -218,17 +229,48 @@
                       :wrapperCol="{ lg: { span: 18 }, sm: { span: 17 } }">
                       <a-radio-group buttonStyle="solid" v-model="item.bidType" @change="resData(index)">
                         <a-radio-button :value="1">点击数</a-radio-button>
-                        <a-radio-button :value="2">行为数</a-radio-button>
-                        <a-radio-button :value="180"
-                          v-if="campaignType == '2' && allForm.groupTypeData.isActivate == '1'">激活</a-radio-button>
-                        <a-radio-button :value="53" v-if="
-                            (campaignType == '4' || campaignType == '5') && allForm.groupTypeData.isFormSubmit == '1'
-                          ">表单提交</a-radio-button>
+
+                        <a-radio-button :value="10">转化数</a-radio-button>
                       </a-radio-group>
                     </a-form-item>
+                    <a-form-item label="转化目标" :labelCol="{ lg: { span: 6 }, sm: { span: 7 } }"
+                      :wrapperCol="{ lg: { span: 18 }, sm: { span: 17 } }" v-if="item.bidType==10">
+                      <a-select v-model="item.ocpxActionType">
+
+                        <a-select-option :value="2">行为数</a-select-option>
+                        <a-select-option :value="180"
+                          v-if="campaignType == '2' && allForm.groupTypeData.isActivate == '1'">激活</a-select-option>
+                        <a-select-option :value="53" v-if="
+                            (campaignType == '4' || campaignType == '5') && allForm.groupTypeData.isFormSubmit == '1'
+                          ">表单提交</a-select-option>
+
+                        <a-select-option :value="394" v-if="
+                             allForm.groupTypeData.isOrderSubmit == '1'
+                          ">订单提交</a-select-option>
+                        <a-select-option :value="348" v-if="
+                             allForm.groupTypeData.isValidClue == '1'
+                          ">使用有效线索</a-select-option>
+                        <a-select-option :value="383" v-if="
+                             allForm.groupTypeData.isCreditGrant == '1'
+                          ">授信出价</a-select-option>
+                         <a-select-option :value="384" v-if="
+                            allForm.groupTypeData.isWanJian == '1'
+                          ">完件出价</a-select-option>
+                          <a-select-option :value="190" v-if="
+                             allForm.groupTypeData.isPurchase == '1'
+                          ">付费出价</a-select-option>
+                          <a-select-option :value="191" v-if="
+                             allForm.groupTypeData.isFirstdayRoi == '1'
+                          ">首日ROI</a-select-option>
+                          <a-select-option :value="396" v-if="
+                             allForm.groupTypeData.isRegister == '1'
+                          ">注册优化目标</a-select-option>
+                      </a-select>
+
+                    </a-form-item>
                     <a-form-item label="深度转化目标" :labelCol="{ lg: { span: 6 }, sm: { span: 7 } }"
                       :wrapperCol="{ lg: { span: 18 }, sm: { span: 17 } }" v-if="
-                        (item.bidType == 180 || item.bidType == 53) &&
+                        (item.ocpxActionType == 180 || item.ocpxActionType == 53) &&
                           allForm.groupTypeData.deepConversionTypes.length > 0
                       ">
                       <a-select v-model="item.deepConversionType" allowClear>
@@ -257,17 +299,17 @@
                         :style="{ borderColor: item.showTipCheck ? 'red' : '#d9d9d9' }" style="width:100%">
                       </a-input-number>
                       <span style="color:red" v-if="item.showTipCheck">{{
-                        item.bidType == 2
+                        item.bidType == 1
                           ? '不得低于1元,不得高于项目最高出价' + maxBid + '元'
                           : '不得低于1元,不得高于项目最高出价' + maxBid + '元'
                       }}</span>
-                      <span style="color:red;font-weight:700" v-else-if="item.bidType==2&&item.cpaBid&&item.cpaBid>1">
+                      <span style="color:red;font-weight:700" v-else-if="item.ocpxActionType==2&&item.cpaBid&&item.cpaBid>1">
                         行为出价大于1元,请注意!!!
                       </span>
                     </a-form-item>
                     <a-form-item label="深度转化出价" :labelCol="{ lg: { span: 6 }, sm: { span: 7 } }"
                       :wrapperCol="{ lg: { span: 18 }, sm: { span: 17 } }" v-if="
-                        (item.bidType == 180 || item.bidType == 53) &&
+                        (item.ocpxActionType == 180 || item.ocpxActionType == 53) &&
                           allForm.groupTypeData.deepConversionTypes.length > 0 &&
                           item.deepConversionType != ''
                       ">
@@ -346,6 +388,7 @@
     },
     data() {
       return {
+        allianceAccount:false,
         checkedTrue: false,
         nameValue: '',
         visible: false,
@@ -394,7 +437,8 @@
           useAppMarket: false,
           appStore: ['huawei', 'oppo', 'vivo', 'xiaomi',
             'meizu', 'smartisan'
-          ]
+          ],
+          allianceAccount:'1'
         },
         typeCopy: "typeOne",
         dataList: [],
@@ -464,13 +508,7 @@
           } else {
             this.allForm.group[index].showTipCheck = false
           }
-        } else if (this.allForm.group[index].bidType == 2) {
-          if (this.allForm.group[index].cpaBid < 1 || this.allForm.group[index].cpaBid > this.maxBid) {
-            this.allForm.group[index].showTipCheck = true
-          } else {
-            this.allForm.group[index].showTipCheck = false
-          }
-        } else {
+        }  else {
           if (this.allForm.group[index].cpaBid < 1 || this.allForm.group[index].cpaBid > this.maxBid) {
             this.allForm.group[index].showTipCheck = true
           } else {
@@ -623,7 +661,8 @@
             }
             //   dataJson.useAppMarket = dataJson.useAppMarket==0?false:true
             dataJson.dayBudget = dataJson.dayBudget / 1000
-            this.allForm.sceneIdAll = JSON.parse(dataJson.sceneId).filter(item => item == 1).length > 0 ? 1 : 2
+            this.allForm.sceneIdAll = JSON.parse(dataJson.sceneId).filter(item => item == 1).length > 0 ? 1 : JSON.parse(dataJson.sceneId)[0] ==5 ? 5 : 2
+            this.allForm.allianceAccount = this.allForm.sceneIdAll==5?'2':'1'
             this.allForm.useAppMarket = dataJson.useAppMarket ? (dataJson.useAppMarket == 0 ? false : true) : false
             this.allForm.appStore = this.allForm.useAppMarket ? JSON.parse(dataJson.appStore) : ['huawei', 'oppo',
               'vivo', 'xiaomi',
@@ -637,7 +676,7 @@
             this.allForm.scheduleTime = dataJson.scheduleTime.indexOf('1') != -1 ? '2' : '1'
             this.allForm.scheduleTimeData = dataJson.scheduleTime
             this.allForm.group = [{
-              bidType: dataJson.ocpxActionType,
+              bidType: dataJson.bidType,
               bid: dataJson.bid,
               cpaBid: dataJson.cpaBid / 1000,
               showTipCheck: false,
@@ -645,7 +684,8 @@
               unitName: type == 'typeOne' ? [dataJson.unitName] : unitNameCopy,
               unitNameCheck: false,
               deepConversionType: dataJson.deepConversionType,
-              deepConversionBid: dataJson.deepConversionBid / 1000
+              deepConversionBid: dataJson.deepConversionBid / 1000,
+              ocpxActionType:dataJson.ocpxActionType
             }]
 
             this.populationData = dataJson
@@ -769,6 +809,14 @@
                 }
               }
             }
+            
+            if(this.allForm.allianceAccount=='1'){
+              var {...paramsEnd} = params
+            }else{
+              var {fansStar,appType,businessInterestType,interestVideo,isOpen,noAgeBreak,noGenderBreak,noAreaBreak,...paramsElse} = params.allForm
+              params.allForm = paramsElse
+              var {businessInterestType,isOpen,noAgeBreak,noGenderBreak,noAreaBreak,...paramsEnd} = params
+            }
             if (this.checkedTrue) {
               var data = this.populationData
               postAction('/kuaishou/batch/addDirectionalTemplate', {
@@ -777,6 +825,8 @@
                 templateContent: JSON.stringify(this.populationData)
               }).then(res => {})
             }
+
+
             if (this.typeCopy == 'typeOne') {
               var groupArr = this.allForm.group.map(item => {
                 return {
@@ -785,12 +835,12 @@
                   cpaBid: item.cpaBid != '' ? item.cpaBid * 1000 : '',
                   bid: item.bid != '' ? item.bid * 1000 : '',
                   deepConversionBid: item.deepConversionBid != '' ? item.deepConversionBid * 1000 : '',
-                  ocpxActionType: item.bidType,
+                  ocpxActionType: item.ocpxActionType,
                   bidType: item.bidType == 1 ? 2 : 10
                 }
               })[0]
               var param = {
-                ...params,
+                ...paramsEnd,
                 groupArr: groupArr
               }
               param.createType = '1'
@@ -829,23 +879,23 @@
                   cpaBid: item.cpaBid != '' ? item.cpaBid * 1000 : '',
                   bid: item.bid != '' ? item.bid * 1000 : '',
                   deepConversionBid: item.deepConversionBid != '' ? item.deepConversionBid * 1000 : '',
-                  ocpxActionType: item.bidType,
+                  ocpxActionType: item.ocpxActionType,
                   bidType: item.bidType == 1 ? 2 : 10
                 }
               })[0]
               console.log(groupArrTwo)
-              params.type = 'copy'
-              params.createType = '2'
-              params.createCount = this.countAll
-              params.copyUnitId = this.unitId
-              params.copyToCampaignId = this.copyCampaignId
-              params.campaignId = this.oneCampaignId
-              params.createCount = 1
-              params.groupArr = groupArrTwo
-              params.unitNames = groupArrTwo.unitName.map(item => {
+              paramsEnd.type = 'copy'
+              paramsEnd.createType = '2'
+              paramsEnd.createCount = this.countAll
+              paramsEnd.copyUnitId = this.unitId
+              paramsEnd.copyToCampaignId = this.copyCampaignId
+              paramsEnd.campaignId = this.oneCampaignId
+              paramsEnd.createCount = 1
+              paramsEnd.groupArr = groupArrTwo
+              paramsEnd.unitNames = groupArrTwo.unitName.map(item => {
                 return item.unitName
               })
-              postAction('/kuaishou/batch/copyUnitUpdate', params).then(res => {
+              postAction('/kuaishou/batch/copyUnitUpdate', paramsEnd).then(res => {
                 if (res.success) {
                   if (res.result.failInfo.length > 0) {
                     // this.form.setFieldsValue(pick(params, ['sceneId']))
@@ -981,6 +1031,24 @@
           this.allForm.groupTypeData = res.result
         }
       })
+
+      getAction('/kuaishou/batch/getWhiteList',{
+        accountId:localStorage.getItem('accountId')
+      }).then(res=>{
+        if(res.success){
+          console.log(res)
+          if(res.result){
+            if(res.result.alliance_account == 1){
+              this.allianceAccount = true
+            }else{
+              this.allianceAccount = false
+            }
+          }else{
+            this.allianceAccount = false
+          }
+        }
+      })
+
       getAction('/kuaishou/batch/getProjectMaxBid', {
         accountId: localStorage.getItem('accountId')
       }).then(res => {

File diff suppressed because it is too large
+ 624 - 445
src/views/modules/kuaishouapp/account/originality.vue


+ 1 - 1
src/views/modules/kuaishouapp/account/stepForm/Step1.vue

@@ -68,7 +68,7 @@ import moment from 'moment'
 import { mapActions, mapGetters } from 'vuex'
 
 export default {
-  name: 'BaseForm',
+  name: 'Step1',
   data() {
     return {
       promotionName: '',

+ 86 - 26
src/views/modules/kuaishouapp/account/stepForm/Step2.vue

@@ -143,7 +143,7 @@
         </a-select>
       </a-form-item>
       <targeted-population ref="population" :populationData.sync="populationData"
-        :platform="getPlatForm(getData('appId'))" />
+        :platform="getPlatForm(getData('appId'))" :lol="allForm.allianceAccount"/>
       <a-form-item label=" " :labelCol="{ lg: { span: 7 }, sm: { span: 7 } }"
         :wrapperCol="{ lg: { span: 10 }, sm: { span: 17 } }" class="else-label">
         <div style="display:flex;">
@@ -223,7 +223,7 @@
         </span>
       </a-form-item>
       <a-form-item label="场景广告位" :labelCol="{ lg: { span: 7 }, sm: { span: 7 } }"
-        :wrapperCol="{ lg: { span: 17 }, sm: { span: 17 } }">
+        :wrapperCol="{ lg: { span: 17 }, sm: { span: 17 } }" v-if="allForm.allianceAccount == '1'">
         <!-- v-decorator="['speed', { initialValue: '1' }]" -->
         <a-radio-group buttonStyle="solid" v-decorator="['sceneId', { initialValue: '1' }]">
           <a-radio-button value="1">优选广告位</a-radio-button>
@@ -241,6 +241,13 @@
           <a-checkbox :value="3">视频播放页广告</a-checkbox>
         </a-checkbox-group>
       </a-form-item>
+       <a-form-item label="创意制作方式" :labelCol="{ lg: { span: 7 }, sm: { span: 7 } }"
+        :wrapperCol="{ lg: { span: 10 }, sm: { span: 17 } }">
+         <a-radio-group buttonStyle="solid" v-decorator="['unitType', { initialValue: '4' }]">
+          <a-radio-button value="4">自定义</a-radio-button>
+          <a-radio-button value="7">程序化创意2.0</a-radio-button>
+        </a-radio-group>
+       </a-form-item>
       <div style="text-align:center;font-size:16px">优化目标和计费</div>
       <a-form-item label=" " :labelCol="{ lg: { span: 6 }, sm: { span: 6 } }"
         :wrapperCol="{ lg: { span: 18 }, sm: { span: 18 } }" class="else-label">
@@ -258,19 +265,62 @@
                     <div style="clear:both"></div>
                     <a-form-item label="优化目标" :labelCol="{ lg: { span: 6 }, sm: { span: 7 } }"
                       :wrapperCol="{ lg: { span: 18 }, sm: { span: 17 } }">
+
                       <a-radio-group buttonStyle="solid" v-model="item.bidType" @change="resData(index)">
                         <a-radio-button :value="1">点击数</a-radio-button>
-                        <a-radio-button :value="2">行为数</a-radio-button>
-                        <a-radio-button :value="180"
-                          v-if="campaignType == '2' && allForm.groupTypeData.isActivate == '1'">激活</a-radio-button>
-                        <a-radio-button :value="53" v-if="
-                            (campaignType == '4' || campaignType == '5') && allForm.groupTypeData.isFormSubmit == '1'
-                          ">表单提交</a-radio-button>
+
+                        <a-radio-button :value="10">转化数</a-radio-button>
                       </a-radio-group>
+
+                              <!-- //   isOrderSubmit: 0   //订单提交优化目标
+        //   isValidClue: 0    //使用有效线索
+        //   isCreditGrant: 0  //授信出价
+        //   deepConversionTypes: [{deepConversionType: 3, desc: "付费"}]
+        //   isWanJian: 0     //完件出价
+        //   isPurchase: 1   //付费出价
+        //   isFirstdayRoi: 0  //首日ROI
+        //   isActivate: 0   //激活出价
+        //   isFormSubmit: 1  // 表单出价
+        //   isRegister: 0    //注册优化目标 -->
+                    </a-form-item>
+                    <a-form-item label="转化目标" :labelCol="{ lg: { span: 6 }, sm: { span: 7 } }"
+                      :wrapperCol="{ lg: { span: 18 }, sm: { span: 17 } }" v-if="item.bidType==10">
+                      <a-select v-model="item.ocpxActionType">
+
+                        <a-select-option :value="2">行为数</a-select-option>
+                        <a-select-option :value="180"
+                          v-if="campaignType == '2' && allForm.groupTypeData.isActivate == '1'">激活</a-select-option>
+                        <a-select-option :value="53" v-if="
+                            (campaignType == '4' || campaignType == '5') && allForm.groupTypeData.isFormSubmit == '1'
+                          ">表单提交</a-select-option>
+
+                        <a-select-option :value="394" v-if="
+                             allForm.groupTypeData.isOrderSubmit == '1'
+                          ">订单提交</a-select-option>
+                        <a-select-option :value="348" v-if="
+                             allForm.groupTypeData.isValidClue == '1'
+                          ">使用有效线索</a-select-option>
+                        <a-select-option :value="383" v-if="
+                             allForm.groupTypeData.isCreditGrant == '1'
+                          ">授信出价</a-select-option>
+                         <a-select-option :value="384" v-if="
+                            allForm.groupTypeData.isWanJian == '1'
+                          ">完件出价</a-select-option>
+                          <a-select-option :value="190" v-if="
+                             allForm.groupTypeData.isPurchase == '1'
+                          ">付费出价</a-select-option>
+                          <a-select-option :value="191" v-if="
+                             allForm.groupTypeData.isFirstdayRoi == '1'
+                          ">首日ROI</a-select-option>
+                          <a-select-option :value="396" v-if="
+                             allForm.groupTypeData.isRegister == '1'
+                          ">注册优化目标</a-select-option>
+                      </a-select>
+
                     </a-form-item>
                     <a-form-item label="深度转化目标" :labelCol="{ lg: { span: 6 }, sm: { span: 7 } }"
                       :wrapperCol="{ lg: { span: 18 }, sm: { span: 17 } }" v-if="
-                        (item.bidType == 180 || item.bidType == 53) &&
+                        (item.ocpxActionType == 180 || item.ocpxActionType == 53) &&
                           allForm.groupTypeData.deepConversionTypes.length > 0
                       ">
                       <a-select v-model="item.deepConversionType" allowClear>
@@ -292,7 +342,7 @@
                         :style="{ borderColor: item.showTipCheck ? 'red' : '#d9d9d9' }" style="width:100%">
                       </a-input-number>
                       <span style="color:red"
-                        v-if="item.showTipCheck&&item.bidType==180">不得低于0.2元,不得高于项目最高出价{{ maxBid }}元</span>
+                        v-if="item.showTipCheck&&item.ocpxActionType==180">不得低于0.2元,不得高于项目最高出价{{ maxBid }}元</span>
                     </a-form-item>
                     <a-form-item label="目标成本" :labelCol="{ lg: { span: 6 }, sm: { span: 7 } }"
                       :wrapperCol="{ lg: { span: 18 }, sm: { span: 17 } }" v-else>
@@ -300,17 +350,17 @@
                         :style="{ borderColor: item.showTipCheck ? 'red' : '#d9d9d9' }" style="width:100%">
                       </a-input-number>
                       <span style="color:red" v-if="item.showTipCheck">{{
-                        item.bidType == 2
+                        item.bidType == 1
                           ? '不得低于1元,不得高于项目最高出价' + maxBid + '元'
                           : '不得低于1元,不得高于项目最高出价' + maxBid + '元'
                       }}</span>
-                      <span style="color:red;font-weight:700" v-else-if="item.bidType==2&&item.cpaBid&&item.cpaBid>1">
+                      <span style="color:red;font-weight:700" v-else-if="item.ocpxActionType==2&&item.cpaBid&&item.cpaBid>1">
                         行为出价大于1元,请注意!!!
                       </span>
                     </a-form-item>
                     <a-form-item label="深度转化出价" :labelCol="{ lg: { span: 6 }, sm: { span: 7 } }"
                       :wrapperCol="{ lg: { span: 18 }, sm: { span: 17 } }" v-if="
-                        (item.bidType == 180 || item.bidType == 53) &&
+                        (item.ocpxActionType == 180 || item.ocpxActionType == 53) &&
                           allForm.groupTypeData.deepConversionTypes.length > 0 &&
                           item.deepConversionType != ''
                       ">
@@ -480,7 +530,7 @@
   ]
 
   export default {
-    name: 'BaseForm',
+    name: 'Step2',
     components: {
       creatApplication,
       targetedPopulation,
@@ -546,7 +596,7 @@
           success: [],
           sceneId: [7],
           appStore: ['huawei', 'oppo', 'vivo', 'xiaomi', 'meizu', 'smartisan'],
-          allianceAccount:false
+          allianceAccount:"1"
         },
         convertType: '1',
         dataList: []
@@ -623,7 +673,7 @@
       },
       addGroup() {
         this.allForm.group.push({
-          bidType: this.campaignType == '2' && this.allForm.groupTypeData.isActivate == '1' ? 180 : 2,
+          bidType:  10,
           bid: '',
           cpaBid: '',
           showTipCheck: false,
@@ -631,7 +681,8 @@
           unitName: '',
           unitNameCheck: false,
           deepConversionType: '',
-          deepConversionBid: ''
+          deepConversionBid: '',
+          ocpxActionType:this.campaignType == '2' && this.allForm.groupTypeData.isActivate == '1' ? 180 : 2,
         })
       },
       resData(index) {
@@ -831,6 +882,7 @@
       },
       handleSubmit(e) {
         //   this.$refs.population.handleSubmit()
+
         e.preventDefault()
         this.$refs.population.handleSubmit()
         this.form.validateFieldsAndScroll((err, values) => {
@@ -843,14 +895,14 @@
                 cpaBid: item.cpaBid != '' ? item.cpaBid * 1000 : '',
                 bid: item.bid != '' ? item.bid * 1000 : '',
                 deepConversionBid: item.deepConversionBid != '' ? item.deepConversionBid * 1000 : '',
-                ocpxActionType: item.bidType,
+                ocpxActionType: item.ocpxActionType,
                 bidType: item.bidType == 1 ? 2 : 10
               }
             })
             var json = {
               ...values,
               convertId: this.convertId ? this.convertId.key : null,
-              sceneId: values.sceneId == 1 ? [values.sceneId] : this.allForm.sceneId,
+              sceneId: this.allForm.allianceAccount=='1'?values.sceneId == 1 ? [values.sceneId] : this.allForm.sceneId:[5],
               dayBudget: values.dayBudget * 1000
             }
             var params = {
@@ -859,7 +911,6 @@
               groupArr: groupArr,
               accountId: localStorage.getItem('accountId'),
               campaignId: localStorage.getItem('campaignId'),
-              unitType: 4,
               beginTime: moment(this.timeRange[0]).format('YYYY-MM-DD'),
               endTime: this.allForm.time == '2' ? moment(this.timeRange[1]).format('YYYY-MM-DD') : '',
               scheduleTime: this.allForm.scheduleTime == '2' ?
@@ -872,7 +923,14 @@
                 params.appStore = this.allForm.appStore
               }
             }
-            console.log(params)
+            if(this.allForm.allianceAccount=='1'){
+              var {...paramsEnd} = params
+            }else{
+              var {fansStar,appType,businessInterestType,interestVideo,isOpen,noAgeBreak,noGenderBreak,noAreaBreak,...paramsElse} = params.allForm
+              params.allForm = paramsElse
+              var {businessInterestType,isOpen,noAgeBreak,noGenderBreak,noAreaBreak,...paramsEnd} = params
+            }
+            //fansStar  appType  businessInterestType   interestVideo isOpen
             if (this.checkedTrue) {
               var data = this.populationData
               postAction('/kuaishou/batch/addDirectionalTemplate', {
@@ -881,22 +939,24 @@
                 templateContent: JSON.stringify(this.populationData)
               }).then(res => {})
             }
-            postAction('/kuaishou/batch/createUnit', params).then(res => {
+            postAction('/kuaishou/batch/createUnit', paramsEnd).then(res => {
               if (res.success) {
                 this.visible = true
                 this.allForm.fail = res.result.fail
                 this.allForm.success = res.result.success
                 this.loading = false
                 if (res.result.success.length > 0) {
-                  var dataJson = JSON.stringify(
-                    res.result.success.map(item => {
+
+                  var dataElse =  res.result.success.map(item => {
                       return {
                         tab: item.unitName,
                         key: item.unitId,
-                        bidType: item.ocpxActionType
+                        bidType: item.ocpxActionType,
+                        sceneId:JSON.stringify(item.sceneId),
+                        unitType: item.unitType
                       }
                     })
-                  )
+                  var dataJson = JSON.stringify(dataElse)
                   localStorage.setItem('pans', dataJson)
                   localStorage.setItem('appId', this.getData('appId'))
                 }

+ 251 - 57
src/views/modules/kuaishouapp/account/stepForm/Step3.vue

@@ -125,16 +125,19 @@
           <a-form-item label="广告组名称" :labelCol="labelCol" :wrapperCol="wrapperCol">
             <a-input v-model="pane.tab" readOnly></a-input>
           </a-form-item>
-          <a-form-item label="素材类型" :labelCol="labelCol" :wrapperCol="wrapperCol">
-            <a-radio-group buttonStyle="solid" v-decorator="['creativeMaterialType', { initialValue: '1' }]">
+
+          <a-form-item label="素材类型" :labelCol="labelCol" :wrapperCol="wrapperCol" v-if="pane.sceneId.indexOf(5)>=0||pane.sceneId.indexOf(1)>=0||pane.sceneId.indexOf(7)>=0||pane.sceneId.indexOf(6)>=0">
+            <a-radio-group buttonStyle="solid" v-decorator="['creativeMaterialType', { initialValue: '1' }]"  @change="changeType(bestIndex)">
               <a-radio-button value="1">竖版视频</a-radio-button>
               <a-radio-button value="2">横版视频</a-radio-button>
+              <!-- <a-radio-button value="4" v-if="JSON.parse(pane.sceneId).indexOf(7)>0">便利贴创意</a-radio-button> -->
+              
             </a-radio-group>
           </a-form-item>
           <!-- <a-form-item label="素材同步" :labelCol="labelCol" :wrapperCol="wrapperCol">
            
           </a-form-item> -->
-          <a-form-item label="创意内容" :labelCol="labelCol">
+          <a-form-item label="创意内容" :labelCol="labelCol"  v-if="pane.sceneId.indexOf(5)>=0||pane.sceneId.indexOf(1)>=0||pane.sceneId.indexOf(7)>=0||pane.sceneId.indexOf(6)>=0">
             <a-layout>
               <a-layout-content style="padding:10px;">
 
@@ -146,9 +149,9 @@
                       <div style="clear:both"></div>
                       <div class="dynamically_add_form_item">
 
-                        <a-form-item label="">
+                        <a-form-item label="" v-if="getData('creativeMaterialType')!='4'">
                           <a @click="getVideoList('video', index, item, bestIndex)">选择视频</a>
-                          <a @click="uploadVideo(index,bestIndex)" style="margin-left:10px">上传视频</a>
+                          <a @click="uploadVideo(index,bestIndex,item)" style="margin-left:10px">上传视频</a>
 
                           <br />
                           <video :src="item.videoList.url" controls="controls" style="width:25%"
@@ -170,7 +173,7 @@
                         </div>
                         <a-form-item label="">
                           <a @click="getVideoList('image', index, item, bestIndex)">选择封面</a>
-                          <a @click="uploadImages(index,bestIndex)" style="margin-left:10px">上传封面</a>
+                          <a @click="uploadImages(index,bestIndex,item)" style="margin-left:10px">上传封面</a>
                           <a @click="showImages(index,bestIndex)" v-if="item.chouzhenShow"
                             style="margin-left:10px">推荐封面</a>
                           <br />
@@ -210,6 +213,83 @@
               </a-layout-content>
             </a-layout>
           </a-form-item>
+
+          <a-form-item label="便利贴广告" :labelCol="labelCol"  v-if="pane.sceneId.indexOf(3)>=0">
+            <a-layout>
+              <a-layout-content style="padding:10px;">
+
+                <a-row>
+                  <a-col :span="24" v-for="(item, index) of pane.postAdList" :key="index">
+                    <a-card title :ref="item">
+                      <a-icon type="close" style="float:right;cursor: pointer;"
+                        @click="deleteCreative(bestIndex, index,'postAdList')" />
+                      <div style="clear:both"></div>
+                      <div class="dynamically_add_form_item">
+                        <div class="downLoad" style="overflow:auto">
+                          <ul class="actor-photo-list step3-image"
+                            :style="{ width: item.imageUrlList.length>4?25 * item.imageUrlList.length + '%':'100%' }"
+                            v-if="item.imageUrlList.length > 0">
+                            <a-checkbox-group v-model="item.checkArrImage"
+                              style="width:100%;  display: flex;padding-left: 0;" @change="onChangeCheckImage">
+                              <li v-for="(item, index) of item.imageUrlList" :key="index">
+                                <a-checkbox :value="item.code" style="height:100%;width:100%">
+                                  <img class="video" :src="item.url" />
+                                </a-checkbox>
+                              </li>
+                            </a-checkbox-group>
+                          </ul>
+                        </div>
+                        <a-form-item label="">
+                          <a @click="getVideoList('image', index, item, bestIndex,'postAdList')">选择封面</a>
+                          <a @click="uploadImages(index,bestIndex,item,'postAdList')" style="margin-left:10px">上传封面</a>
+                          <a @click="showImages(index,bestIndex)" v-if="item.chouzhenShow"
+                            style="margin-left:10px">推荐封面</a>
+                          <br />
+                          <span v-for="(item,deleteIndex) of item.imageList" style="position:relative;">
+                            <img :src="item.url" style="width:18%;margin:1%;" :key="item.url" />
+                            <a-icon type="close-circle" @click="deleteData(index,bestIndex,deleteIndex,'postAdList')"
+                              style="position: absolute;right: 0px;" />
+                          </span>
+
+
+                        </a-form-item>
+                        <a-form-item label="广告语">
+                          <a @click="showTitle(index,bestIndex)">推荐广告语</a>
+
+
+                          <a-textarea class="rending" placeholder="请输入广告语" v-model.trim="item.description"
+                            :autosize="{ minRows: 2, maxRows: 6 }"></a-textarea>
+                          <span v-if="item.description.length>30" style="color:red">广告语长度不能超过30个字符</span>
+                          <br>
+                          <a @click="cunTitle(index,bestIndex)">收藏</a>
+                          <a @click="showCunTitle(index,bestIndex)" style="margin-left:10px">收藏列表</a>
+                          <br>
+                          <a-tag v-for="(itemTag,indexTag) of tags" :key="indexTag"
+                            @click="getChange(item, itemTag, index)">{{itemTag.name}}</a-tag>
+                        </a-form-item>
+                        
+                        <a-form-item label="短广告语">
+                            <a-textarea class="rending" placeholder="请输入短广告语" v-model.trim="item.shortSlogan"
+                            :autosize="{ minRows: 2, maxRows: 6 }" :maxLength="8"></a-textarea>
+                            <span v-if="item.shortSlogan.length>8" style="color:red">短广告语长度不能超过30个字符</span>
+                        </a-form-item>
+                        <a-form-item label="创意标题">
+                          <a-input v-model="item.name"></a-input>
+                        </a-form-item>
+                      </div>
+                    </a-card>
+                  </a-col>
+                </a-row>
+                <div :style="{ marginBottom: '16px' }">
+                  <a-button @click="addAdList(bestIndex)" :disabled="contentAll>=15||pane.postAdList.length>=1">
+                    添加便利贴</a-button>
+                </div>
+              </a-layout-content>
+            </a-layout>
+          </a-form-item>
+
+
+
           <a-form-item label="行动号召" :labelCol="labelCol" :wrapperCol="wrapperCol">
             <a-select v-decorator="['actionBarText', { rules: [{ required: true, message: '行动号召按钮文案' }] }]" showSearch
               allowClear placeholder="选择行动号召按钮文案" optionFilterProp="children" :filterOption="filterOption">
@@ -430,8 +510,6 @@
             <a-list size="large" bordered :dataSource="title">
               <a-list-item slot="renderItem" slot-scope="item">
                 <a slot="actions" @click="okTitle(item)">选择</a>
-
-
                 {{ item }}
               </a-list-item>
             </a-list>
@@ -530,6 +608,7 @@
     },
     data() {
       return {
+        sceneIdValue:'1',
         trackName: '',
         showImageChouzhen: false,
         showImageStr: null,
@@ -658,10 +737,34 @@
         acceptImage: 'image/jpeg,image/jpg',
         accessKeyId: 'LTAIbNbqWzSOklQV',
         accessKeySecret: '1rkPz7JNoXk8sJevPaeYHWqfkQXBGh',
-        messageTip: null
+        messageTip: null,
+        verticalPhoto:[],
+        horizontalPhoto:[],
+        creativeMaterialType:'1',
+        postAdTrue:false,
       }
     },
     methods: {
+      changeType(index) {
+        this.$nextTick(() => {
+          console.log(this.getData('creativeMaterialType'))
+          // if (this.getData('creativeMaterialType') == '1') {
+          //   if (this.verticalPhoto.length > 0) {
+          //     this.pans[index].list = this.verticalPhoto
+          //   } else {
+          //     this.addCreative(index)
+          //   }
+          // } else {
+          //   if (this.horizontalPhoto.length > 0) {
+          //     this.pans[index].list = this.horizontalPhoto
+          //   } else {
+          //     this.addCreative(index)
+          //   }
+          // }
+
+          // this.addCreative(index)
+        })
+      },
       ...mapGetters(["nickname", "avatar", "userInfo"]),
       onSearch(value) {
         console.log(value, this.trackName);
@@ -960,17 +1063,30 @@
           })
         } else {
           //   this.pans[index].list[item.key].imageList.push(...item.image)
-
-          if (item.image.length + this.contentAll > 15) {
-            this.$message.error('当前选择封面' + item.image.length + '张,最多可选择' + (15 - this.contentAll) + '张')
-            return
-          } else {
-            this.pans[index].list[item.key].imageList.push(...item.image)
-            this.chouzhen = false
-            this.chouzhenList = []
-            this.checkList = []
-            this.checkAll = false
+          if(this.creativeMaterialType == '4'){
+            if (item.image.length + this.contentAll > 15) {
+              this.$message.error('当前选择封面' + item.image.length + '张,最多可选择' + (15 - this.contentAll) + '张')
+              return
+            } else {
+              this.pans[index].postAdList[item.key].imageList.push(...item.image)
+              this.chouzhen = false
+              this.chouzhenList = []
+              this.checkList = []
+              this.checkAll = false
+            }
+          }else{
+            if (item.image.length + this.contentAll > 15) {
+              this.$message.error('当前选择封面' + item.image.length + '张,最多可选择' + (15 - this.contentAll) + '张')
+              return
+            } else {
+              this.pans[index].list[item.key].imageList.push(...item.image)
+              this.chouzhen = false
+              this.chouzhenList = []
+              this.checkList = []
+              this.checkAll = false
+            }
           }
+         
         }
       },
       getData(className) {
@@ -998,7 +1114,7 @@
         this.ipagination.current = page
         var params = {}
         params.accountId = localStorage.getItem('accountId')
-        params.materialType = this.getData('creativeMaterialType')
+        params.materialType =this.creativeMaterialType 
         params.pageSize = this.ipagination.pageSize
         params.pageNo = page
         params.channelType = this.channelType
@@ -1033,6 +1149,7 @@
           this.active = 0
           this.time = []
           this.channelType = 0
+          this.creativeMaterialType = item.creativeMaterialType
           //   var params = {}
           //   params.accountId = localStorage.getItem('accountId')
           //   params.materialType = this.getData('creativeMaterialType')
@@ -1041,8 +1158,9 @@
           //   params.params.channelType = 0 = 0
           //   this.showVideoList('/kuaishou/batch/getVideoList', params)
         } else {
+          this.creativeMaterialType = item.creativeMaterialType
           this.$refs.check.showCheck(
-            this.getData('creativeMaterialType'),
+            item.creativeMaterialType,
             '/kuaishou/batch/getImageList',
             item.imageList,
             type,
@@ -1121,6 +1239,7 @@
             this.loading = true
             var dataJson = this.pans[index].list.map(item => {
               return {
+                creativeMaterialType:item.creativeMaterialType,
                 description: item.description,
                 imageArr: item.imageList.map((ele, index) => {
                   return {
@@ -1138,6 +1257,23 @@
                 name: item.name
               }
             })
+
+
+            var dataAd = this.pans[index].postAdList.map(item => {
+              return {
+                creativeMaterialType:item.creativeMaterialType,
+                description: item.description,
+                shortSlogan:item.shortSlogan,
+                imageArr: item.imageList.map((ele, index) => {
+                  return {
+                    signature: ele.signature,
+                    name: item.name
+                  }
+                }),
+                name: item.name
+              }
+            })
+
             var allJson = dataJson.map(item => {
               return {
                 description: item.description,
@@ -1145,16 +1281,19 @@
                   .imageArrTwo) : [{
                   name: item.name
                 }],
-                photoId: item.photoId
+                photoId: item.photoId,
+                creativeMaterialType:item.creativeMaterialType
               }
             })
             var params = {
-              dataJson: allJson,
+              dataJson: allJson.concat(dataAd),
               ...values,
               unitId: this.pansKey,
               accountId: localStorage.getItem('accountId'),
               content: this.content
             }
+            console.log(params)
+            this.loading = false
             postAction('/kuaishou/batch/createCreative', params).then(res => {
               if (res.success) {
                 this.visible = true
@@ -1179,31 +1318,56 @@
         this.$emit('prevStep')
       },
       addCreative(index) {
-        this.pans[index].list.push({
-          videoList: '',
-          imageList: [],
-          name: this.getData('creativeMaterialType') == '1' ?
-            '自定义创意_竖版视频_' : '自定义创意_横版视频_',
-          description: '',
-          creativeMaterialType: '1',
-          actionBarText: '',
-          imageUrlList: [],
-          checkArrImage: [],
-          checkAllImage: false,
-          chouzhenShow: false
+        this.$nextTick(()=>{
+          this.pans[index].list.push({
+            videoList: '',
+            imageList: [],
+            name: this.getData('creativeMaterialType') == '1' ?
+              '自定义创意_竖版视频_' : '自定义创意_横版视频_',
+            description: '',
+            creativeMaterialType: this.getData('creativeMaterialType'),
+            actionBarText: '',
+            imageUrlList: [],
+            checkArrImage: [],
+            checkAllImage: false,
+            chouzhenShow: false
+          })
+        })
+        
+      },
+      addAdList(index){
+        this.$nextTick(()=>{
+          this.pans[index].postAdList.push({
+            imageList: [],
+            shortSlogan:'',
+            name: '便利贴创意',
+            description: '',
+            creativeMaterialType: "4",
+            actionBarText: '',
+            imageUrlList: [],
+            checkArrImage: [],
+            checkAllImage: false,
+            chouzhenShow: false
+          })
         })
       },
-      deleteCreative(bestIndex, index) {
-        this.pans[bestIndex].list.splice(index, 1)
+      deleteCreative(bestIndex, index,type) {
+        if(type){
+          this.pans[bestIndex].postAdList.splice(index, 1)
+        }else{
+          this.pans[bestIndex].list.splice(index, 1)
+        }
+
       },
       filterOption(input, option) {
         return option.componentOptions.children[0].text.toLowerCase().indexOf(input.toLowerCase()) >= 0
       },
-      uploadVideo(index, bestIndex) {
+      uploadVideo(index, bestIndex,item) {
         console.log(index, bestIndex)
         nowIndex = index
         bestIndex = bestIndex
         this.addVideoVisible = true
+        this.creativeMaterialType = item.creativeMaterialType 
       },
       tongbu() {
         this.tongbuLoading = true
@@ -1215,7 +1379,7 @@
             this.tongbuLoading = false
             var params = {}
             params.accountId = localStorage.getItem('accountId')
-            params.materialType = this.getData('creativeMaterialType')
+            params.materialType = this.creativeMaterialType 
             params.pageSize = this.ipagination.pageSize
             params.pageNo = 1
             params.status = 0
@@ -1274,11 +1438,18 @@
           }
         })
       },
-      uploadImages(index, bestIndex) {
+      uploadImages(index, bestIndex,item,type) {
+
         nowIndex = index
         bestIndex = bestIndex
         this.addImageVisible = true
         this.loadingImage = false
+        this.creativeMaterialType = item.creativeMaterialType 
+        if(type){
+          this.postAdTrue = true
+        }else{
+          this.postAdTrue = false
+        }
       },
       closeImage() {
         this.addImageVisible = false
@@ -1306,19 +1477,33 @@
         this.loadingImage = true
         var params = {
           accountId: localStorage.getItem('accountId'),
-          uploadImageArr: this.imageArrList
+          uploadImageArr: this.imageArrList,
+          creativeMaterialType:this.creativeMaterialType
         }
         postAction("/kusiShouUpload/image", params).then(res => {
           if (res.success) {
-            if (res.result.length + this.contentAll > 15) {
-              this.$message.error('当前上传封面' + res.result.length + '张,最多可上传' + (15 - this.contentAll) + '张')
-              this.loadingImage = false
-              return
-            } else {
-              this.pans[bestIndex].list[nowIndex].imageList.push(...res.result)
-              this.closeImage()
-              this.loadingImage = false
+            if(!this.postAdTrue){
+              if (res.result.length + this.contentAll > 15) {
+                this.$message.error('当前上传封面' + res.result.length + '张,最多可上传' + (15 - this.contentAll) + '张')
+                this.loadingImage = false
+                return
+              } else {
+                this.pans[bestIndex].list[nowIndex].imageList.push(...res.result)
+                this.closeImage()
+                this.loadingImage = false
+              }
+            }else{
+              if (res.result.length + this.contentAll > 15) {
+                this.$message.error('当前上传封面' + res.result.length + '张,最多可上传' + (15 - this.contentAll) + '张')
+                this.loadingImage = false
+                return
+              } else {
+                this.pans[bestIndex].postAdList[nowIndex].imageList.push(...res.result)
+                this.closeImage()
+                this.loadingImage = false
+              }
             }
+           
 
           } else {
             this.$message.error('封面上传失败')
@@ -1490,7 +1675,7 @@
         } else {
           var params = {
             url: this.urlList.url,
-            type: this.getData('creativeMaterialType'),
+            type: this.creativeMaterialType,
             signature: this.urlList.md5,
             accountId: localStorage.getItem('accountId')
           }
@@ -1520,8 +1705,13 @@
 
 
       },
-      deleteData(index, bestIndex, deleteIndex) {
-        this.pans[index].list[bestIndex].imageList.splice(deleteIndex, 1)
+      deleteData(index, bestIndex, deleteIndex,type) {
+        if(type){
+          this.pans[index].postAdList[bestIndex].imageList.splice(deleteIndex, 1)
+        }else{
+          this.pans[index].list[bestIndex].imageList.splice(deleteIndex, 1)
+        }
+       
       },
       handleOkShow(e) {
         //   
@@ -1653,7 +1843,7 @@
 
             arr.push(...this.pans[0].list[i].checkArrImage, ...this.pans[0].list[i].imageList)
           }
-          return arr.length + this.content
+          return arr.length + this.content + this.pans[0].postAdList.length
         } else {
           return 0
         }
@@ -1679,7 +1869,7 @@
         if (n.length > 0) {
           var params = {}
           params.accountId = localStorage.getItem('accountId')
-          params.materialType = this.getData('creativeMaterialType')
+          params.materialType = this.creativeMaterialType 
           params.pageSize = this.ipagination.pageSize
           params.pageNo = 1
           params.status = 0
@@ -1690,7 +1880,7 @@
         } else {
           var params = {}
           params.accountId = localStorage.getItem('accountId')
-          params.materialType = this.getData('creativeMaterialType')
+          params.materialType = this.creativeMaterialType 
           params.pageSize = this.ipagination.pageSize
           params.pageNo = 1
           params.status = 0
@@ -1716,10 +1906,14 @@
           this.pans = JSON.parse(localStorage.getItem('pans')).map(item => {
             return {
               ...item,
-              list: []
+              list: [],
+              postAdList:[],
+              sceneId:JSON.parse(item.sceneId).map(item=>{
+                return parseInt(item)
+              })
             }
           })
-
+          console.log(this.pans)
           this.pansKey = this.pans[0].key
           setTimeout(() => {
             this.addCreative(0)

File diff suppressed because it is too large
+ 2020 - 39
src/views/modules/kuaishouapp/account/stepForm/Step4.vue


+ 25 - 3
src/views/modules/kuaishouapp/account/stepForm/StepForm.vue

@@ -8,7 +8,8 @@
     <div class="content">
       <step1 v-if="currentTab === 0" @nextStep="nextStep" ref="step" />
       <step2 v-if="currentTab === 1" :campaignId="campaignId" @nextStep="nextStepTwo" @prevStep="prevStep" />
-      <step3 v-if="currentTab === 2" @prevStep="prevStepTwo" @removeTab="remove" />
+      <component  v-if="currentTab === 2" :is="formComponent" @prevStep="prevStepTwo" @removeTab="remove"></component>
+      <!-- <step3 v-if="currentTab === 2" @prevStep="prevStepTwo" @removeTab="remove" /> -->
     </div>
   </a-card>
 </template>
@@ -17,12 +18,14 @@
 import Step1 from './Step1'
 import Step2 from './Step2'
 import Step3 from './Step3'
+import Step4 from './Step4'
 export default {
   name: 'StepForm',
   components: {
     Step1,
     Step2,
-    Step3
+    Step3,
+    Step4
   },
   data() {
     return {
@@ -30,7 +33,8 @@ export default {
 
       // form
       form: null,
-      campaignId: null
+      campaignId: null,
+      formComponent:null
     }
   },
   methods: {
@@ -47,6 +51,7 @@ export default {
         this.currentTab += 1
         localStorage.setItem('step', this.currentTab)
       }
+     
     },
     prevStep(campaignId) {
       if (this.currentTab > 0) {
@@ -71,6 +76,23 @@ export default {
       this.$emit('removeTab', key)
     }
   },
+  watch:{
+    currentTab(n,o){
+      if(n==2){
+        var data = JSON.parse(localStorage.getItem('pans')).map(item => {
+            return {
+              ...item,
+            }
+          })
+        if(data[0].unitType == '7'){
+          this.formComponent = Step4
+        }else{
+          this.formComponent = Step3
+        }
+        
+      }
+    }
+  },
   mounted() {
     this.currentTab = parseInt(localStorage.getItem('step'))
   }

+ 18 - 8
src/views/modules/kuaishouapp/account/stepForm/stepModule/targetedPopulation.vue

@@ -331,7 +331,7 @@ li:hover {
       label="APP行为"
       :labelCol="{ lg: { span: 7 }, sm: { span: 7 } }"
       :wrapperCol="{ lg: { span: 10 }, sm: { span: 17 } }"
-      v-if="allForm.platform_os == 1&&allForm.platform_os"
+      v-if="allForm.platform_os == 1&&allForm.platform_os&&lol=='1'"
     >
       <a-radio-group buttonStyle="solid" v-model="allForm.appType" @change="getAppType">
         <a-radio-button value="0">不限</a-radio-button>
@@ -343,7 +343,7 @@ li:hover {
       label=" "
       :labelCol="{ lg: { span: 7 }, sm: { span: 7 } }"
       :wrapperCol="{ lg: { span: 10 }, sm: { span: 17 } }"
-      v-if="allForm.platform_os == 1 && allForm.appType == '1'"
+      v-if="allForm.platform_os == 1 && allForm.appType == '1'&&lol=='1'"
       class="else-label"
     >
       <a-select
@@ -363,7 +363,7 @@ li:hover {
       label=" "
       :labelCol="{ lg: { span: 7 }, sm: { span: 7 } }"
       :wrapperCol="{ lg: { span: 10 }, sm: { span: 17 } }"
-      v-if="allForm.platform_os == 1 && allForm.appType == '2'"
+      v-if="allForm.platform_os == 1 && allForm.appType == '2'&&lol=='1'"
       class="else-label"
     >
       <div style="position:relative;" v-clickoutside="handleClose">
@@ -408,6 +408,7 @@ li:hover {
       label="商业兴趣"
       :labelCol="{ lg: { span: 7 }, sm: { span: 7 } }"
       :wrapperCol="{ lg: { span: 10 }, sm: { span: 17 } }"
+       v-if="lol=='1'"
     >
       <a-radio-group buttonStyle="solid" @change="businessInterest" v-model="allForm.businessInterestType">
         <a-radio-button :value="0">不限</a-radio-button>
@@ -422,7 +423,7 @@ li:hover {
       :labelCol="{ lg: { span: 7 }, sm: { span: 7 } }"
       :wrapperCol="{ lg: { span: 10 }, sm: { span: 17 } }"
       class="else-label"
-      v-if="allForm.businessInterestType == 2"
+      v-if="allForm.businessInterestType == 2&&lol=='1'"
     >
       <a-select
         mode="multiple"
@@ -461,6 +462,7 @@ li:hover {
       label="网红粉丝"
       :labelCol="{ lg: { span: 7 }, sm: { span: 7 } }"
       :wrapperCol="{ lg: { span: 10 }, sm: { span: 17 } }"
+      v-if="lol=='1'"
     >
       <a-radio-group buttonStyle="solid" v-model="allForm.fansStar" @change="fansStar">
         <a-radio-button value="0">不限</a-radio-button>
@@ -472,7 +474,7 @@ li:hover {
       :labelCol="{ lg: { span: 7 }, sm: { span: 7 } }"
       :wrapperCol="{ lg: { span: 10 }, sm: { span: 17 } }"
       class="else-label"
-      v-if="allForm.fansStar == '1'"
+      v-if="allForm.fansStar == '1'&&lol=='1'"
     >
       <a-select
         mode="multiple"
@@ -492,6 +494,7 @@ li:hover {
       label="兴趣视频用户"
       :labelCol="{ lg: { span: 7 }, sm: { span: 7 } }"
       :wrapperCol="{ lg: { span: 10 }, sm: { span: 17 } }"
+      v-if="lol=='1'"
     >
       <a-radio-group buttonStyle="solid" v-model="allForm.interestVideo" @change="interestVideo">
         <a-radio-button value="0">不限</a-radio-button>
@@ -503,7 +506,7 @@ li:hover {
       :labelCol="{ lg: { span: 7 }, sm: { span: 7 } }"
       :wrapperCol="{ lg: { span: 10 }, sm: { span: 17 } }"
       class="else-label"
-      v-if="allForm.interestVideo == '1'"
+      v-if="allForm.interestVideo == '1'&&lol=='1'"
     >
       <a-select
         mode="multiple"
@@ -524,6 +527,7 @@ li:hover {
       label="智能扩量"
       :labelCol="{ lg: { span: 7 }, sm: { span: 7 } }"
       :wrapperCol="{ lg: { span: 10 }, sm: { span: 17 } }"
+      v-if="lol=='1'"
     >
       <!-- v-decorator="[
           'isOpen',
@@ -541,7 +545,7 @@ li:hover {
       :labelCol="{ lg: { span: 7 }, sm: { span: 7 } }"
       :wrapperCol="{ lg: { span: 10 }, sm: { span: 17 } }"
       class="else-label"
-      v-if="allForm.isOpen == 1"
+      v-if="allForm.isOpen == 1&&lol=='1'"
     >
       <a-checkbox :disabled="allForm.ageType == 'noLimit'" :checked="allForm.noAgeBreak" @change="getAge"
         >不可突破年龄</a-checkbox
@@ -651,7 +655,13 @@ export default {
         return null
       }
     },
-    populationData: {}
+    populationData: {},
+    lol:{
+      type:String,
+      default(){
+        return "1"
+      }
+    }
   },
   filters: {
     getDate(value) {

+ 4 - 3
src/views/modules/material/materialList.vue

@@ -967,9 +967,7 @@ export default {
       var that = this
       return new Promise(function(resolve, reject) {
         bmf.md5(file[0], (err, md5) => {
-          that.urlList.name = file[0].name
-          that.urlList.md5 = md5
-          that.urlList.size = file[0].size
+         
           fileCheck({
             code: md5,
             projectId: that.getData('projectId')
@@ -978,6 +976,9 @@ export default {
               that.$message.error('此素材已经上传')
               reject()
             } else {
+               that.urlList.name = file[0].name
+                that.urlList.md5 = md5
+                that.urlList.size = file[0].size
               resolve()
               //   reject()
             }

+ 13 - 13
src/views/modules/material/videoMaterial.vue

@@ -1314,7 +1314,7 @@ a {
             </div>
             <div>
               <a-form-item label="水印素材链接" v-if="showUrlWater">
-                <a-input v-model="showUrlWater" type="text" readonly />
+                <a-input v-model="showUrlWater" type="text" read-only />
               </a-form-item>
             </div>
             <div style="width:100%" class="downLoad">
@@ -2049,21 +2049,21 @@ export default {
       })
     },
     getTreeData(data) {
-      for (var i = 0; i < data.length; i++) {
-        if (data[i].children) {
-          if (data[i].children.length < 1) {
-            // children若为空数组,则将children设为undefined
-            data[i].disabled = false
+        for (var i = 0; i < data.length; i++) {
+          if (data[i].children) {
+            if (data[i].children.length < 1) {
+              // children若为空数组,则将children设为undefined
+              data[i].disabled = false
+            } else {
+              // // children若不为空数组,则继续 递归调用 本方法
+              data[i].disabled = true
+              this.getTreeData(data[i].children)
+            }
           } else {
-            // // children若不为空数组,则继续 递归调用 本方法
-            data[i].disabled = true
-            this.getTreeData(data[i].children)
+            data[i].disabled = false
           }
-        } else {
-          data[i].disabled = false
         }
-      }
-      return data
+        return data
     },
     showBoHui(item) {
       this.bohui = item

+ 1 - 2
vue.config.js

@@ -70,8 +70,7 @@ module.exports = {
       '/jeecg-boot': {
         //  target: 'http://192.168.1.8:8080', //请求本地 需要jeecg-boot后台项目  蒙蒙
         // target: 'http://192.168.0.59:8088', //请求本地 需要jeecg-boot后台项目  英豪
-        // target: 'http://192.168.1.72:8088', //请求本地 需要jeecg-boot后台项目  英豪
-
+        // target: 'http://192.168.1.72:8080', //请求本地 需要jeecg-boot后台项目  英豪
         // target: 'http://192.168.2.115:8080', //请求本地 需要jeecg-boot后台项目  祚云
 
         // target: 'http://192.168.1.74:8098', //请求本地 需要jeecg-boot后台项目  毕洁泉