zhuxinbo před 5 roky
rodič
revize
a09b840a14

+ 2 - 2
src/views/modules/Statistics/dataDisplayStatistics.vue

@@ -861,7 +861,7 @@ export default {
                 formCount: item.formCount > 0 ? item.formCount : item.activationCount,
                 eventRegister: item.eventRegister,
                 eventRegisterCost: item.eventRegisterCost.toFixed(2),
-                eventNextDayStayRatio:item.eventNextDayStayRatio?item.eventNextDayStayRatio.toFixed(2) + '%' : 0 + '%'
+                eventNextDayStayRatio:item.eventNextDayStayRatio?(item.eventNextDayStayRatio*100).toFixed(2) + '%' : 0 + '%'
               }
             })
             var index = this.data.length
@@ -981,7 +981,7 @@ export default {
                 afterFormPrice: res.result.ratioJson.discountConversionPrice.toFixed(2),
                 eventRegister: res.result.ratioJson.eventRegister,
                 eventRegisterCost: res.result.ratioJson.eventRegisterCost.toFixed(2),
-                eventNextDayStayRatio:res.result.ratioJson.eventNextDayStayRatio?res.result.ratioJson.eventNextDayStayRatio.toFixed(2) + '%' : 0 + '%'
+                eventNextDayStayRatio:res.result.ratioJson.eventNextDayStayRatio?(res.result.ratioJson.eventNextDayStayRatio*100).toFixed(2) + '%' : 0 + '%'
               }
               this.data.push(allNow)
               this.statDate = res.result.statDate

+ 4 - 3
src/views/modules/advertiser/UserAllocationList.vue

@@ -75,8 +75,8 @@
           <a-divider type="vertical" />
           <a @click="handleEdit(record)">编辑</a>
 
-          <a-divider type="vertical" />
-          <a-popconfirm title="确定删除吗?" @confirm="() => handleDelete(record.id)">
+          <a-divider type="vertical" v-show="roleCode == 'admin'"/>
+          <a-popconfirm title="确定删除吗?" @confirm="() => handleDelete(record.id)"  v-show="roleCode == 'admin'">
             <a>删除</a>
           </a-popconfirm>
         </span>
@@ -248,7 +248,8 @@
         projectId: '',
         accountId: '',
         mediaId: '',
-        form: this.$form.createForm(this)
+        form: this.$form.createForm(this),
+        roleCode:localStorage.getItem('roleCode')
       }
     },
     computed: {

+ 4 - 1
src/views/modules/kuaishouapp/account/accountIndex.vue

@@ -12,7 +12,7 @@
   <div class="account-index">
     <a-row class="image-list-heading vm-panel">
       <a-col :span="24" style="display:flex">
-        <Treeselect :appId.sync="appId" :multiple="false" style="margin:8px 20px" />
+        <Treeselect :appId.sync="appId" :multiple="false" ref="treeSelect" style="margin:8px 20px" />
         <a-button type="primary" style="margin:10px" @click="addUser">搜索</a-button>
       </a-col>
     </a-row>
@@ -379,6 +379,8 @@ export default {
     toDetail(record) {
       localStorage.setItem('advertisingGroupKey', record.campaignId)
       localStorage.setItem('accountId', this.appId)
+
+      getAction('/kuaishou/batch/getAsyncCreativeList',{campaignId:record.campaignId,accountId:this.appId}).then()
       if (localStorage.getItem('advertisingGroup')) {
         var dataElse = JSON.parse(localStorage.getItem('advertisingGroup'))
         console.log(dataElse)
@@ -641,6 +643,7 @@ export default {
   computed: {},
   activated() {
     this.manyTwo = this.many
+    this.$refs.treeSelect.getParticipateList()
   }
 }
 </script>

+ 135 - 36
src/views/modules/kuaishouapp/account/advertisingGroup.vue

@@ -12,6 +12,15 @@
   .advertising-group .ant-table td {
     white-space: nowrap;
   }
+
+  .ant-tabs {
+    overflow: visible;
+  }
+
+  .else-table {
+    display: table;
+    margin-top: 10px
+  }
 </style>
 <template>
   <div class="advertising-group">
@@ -22,20 +31,27 @@
           <a-tab-pane v-for="pane in title" :tab="pane.tab" :key="pane.key">
             <a-button @click="dianji" style="margin-bottom:15px;">新增广告组</a-button>
             <a-button @click="showEdit = true" style="margin:0 0 15px 15px;">列表项筛选</a-button>
-
             <div v-show="selectedRowKeys.length > 0">
               批量修改预算:
               <a-input-number :min="-1" :step="0.1" v-model="allMoney" style="width:150px" @fouse.stop />
               <a-button @click="editMoney" style="margin:0 15px 15px 15px" type="primary">修改</a-button>
 
               批量修改出价:
-              <a-select style="width: 120px" v-model="allPrice">
+              <a-select style="width: 120px" v-model="allPrice" @change="changePrice">
                 <a-select-option value="1">比例</a-select-option>
                 <a-select-option value="2">出价</a-select-option>
               </a-select>
               <a-input-number :min="-1" :step="0.1" v-model="allMoneyBidProportion" style="width:150px" @fouse.stop
                 v-if="allPrice == '1'" />
-              <a-input-number :min="0" :step="0.01" v-model="allMoneyBid" style="width:150px" @fouse.stop v-else />
+              <div v-else style="display:inline-block">
+                <a-input-number :min="0" :step="0.01" v-model="allMoneyBid" placeholder="请输入修改的出价" style="width:200px"
+                  @fouse.stop />
+                <a-input-number v-if="showDeepBid" class="else-table" :min="0" :step="0.01" v-model="deepConversionBid"
+                  placeholder="请输入修改的深度转化出价" style="width:200px" @fouse.stop />
+                <span class="else-table" v-if="allMoneyBid&&deepConversionBid">当前目标深度转化率为:
+                  {{allMoneyBid&&deepConversionBid?((allMoneyBid/deepConversionBid)*100).toFixed(2)+'%':''}}</span>
+              </div>
+
               <a-button @click="editMoneyBid" style="margin:0 15px 15px 15px" type="primary">修改</a-button>
 
               批量操作:
@@ -54,15 +70,16 @@
             </a-modal>
 
             <a-table size="middle" :columns="columns" :dataSource="dataList" bordered :customRow="rowClick"
-              :pagination="ipagination" :scroll="{ x: 3500 }" :rowSelection="{
+              :pagination="ipagination" :scroll="{ x: 2500 }" :rowSelection="{
                 selectedRowKeys: selectedRowKeys,
                 onChange: onSelectChange
-              }">
+              }" style="margin-top:30px">
               <!-- getCheckboxProps: getCheckboxProps -->
               <a slot="unitName" slot-scope="text, record" @click="toDetail(record)">{{ text }}</a>
               <span slot="action" slot-scope="text, record">
                 <a-switch v-model="record.showSwich" @change="onChangeSwitch(record)" />
               </span>
+              <span slot="deepConversionType" slot-scope="text,record">{{text|deepConversionType}}</span>
               <span slot="actionTwo" slot-scope="text, record">
                 <a @click="editDetail(record)">编辑</a>
                 <a-divider type="vertical" />
@@ -233,6 +250,27 @@
         customRender: 'action'
       }
     },
+
+    {
+      title: '广告组名称',
+      align: 'center',
+      dataIndex: 'unitName',
+      scopedSlots: {
+        customRender: 'unitName'
+      },
+      fixed: 'left',
+      width: 250
+    },
+    {
+      title: '操作',
+      align: 'center',
+      dataIndex: 'actionTwo',
+      fixed: 'left',
+      width: 200,
+      scopedSlots: {
+        customRender: 'actionTwo'
+      }
+    },
     {
       title: '预算',
       align: 'center',
@@ -242,7 +280,7 @@
         customRender: 'dayBudget'
       },
       width: 150,
-      fixed: 'left'
+
     },
     {
       title: '出价',
@@ -252,27 +290,46 @@
         customRender: 'bid'
       },
       width: 150,
-      fixed: 'left'
     },
     {
-      title: '广告组名称',
+      title: '深度转化类型',
       align: 'center',
-      dataIndex: 'unitName',
+      dataIndex: 'deepConversionType',
       scopedSlots: {
-        customRender: 'unitName'
+        customRender: 'deepConversionType'
       },
-      fixed: 'left',
-      width: 250
-    },
-    {
-      title: '操作',
-      align: 'center',
-      dataIndex: 'actionTwo',
-      fixed: 'left',
-      width: 200,
-      scopedSlots: {
-        customRender: 'actionTwo'
-      }
+      filters: [{
+          text: '未使用',
+          value: '0'
+        },
+        {
+          text: '付费',
+          value: '3'
+        }, {
+          text: '次日留存',
+          value: '7'
+        }, {
+          text: '完件',
+          value: '10'
+        }, {
+          text: '授信',
+          value: '11'
+        }, {
+          text: '添加购物车',
+          value: '13'
+        }, {
+          text: '提交订单',
+          value: '14'
+        }, {
+          text: '购买联盟广告无门槛要求',
+          value: '15'
+        },
+      ],
+      onFilter: (value, record) =>
+        record.deepConversionType
+        .toString()
+        .toLowerCase()
+        .includes(value.toLowerCase()),
     },
     {
       title: '广告组状态',
@@ -407,15 +464,15 @@
         customRender: 'unitType'
       }
     },
-    {
-      title: '落地页链接',
-      align: 'center',
-      dataIndex: 'url',
+    // {
+    //   title: '落地页链接',
+    //   align: 'center',
+    //   dataIndex: 'url',
 
-      scopedSlots: {
-        customRender: 'url'
-      }
-    }
+    //   scopedSlots: {
+    //     customRender: 'url'
+    //   }
+    // }
   ]
 
   export default {
@@ -492,11 +549,13 @@
         checkAll: false,
         allMoney: 1.2,
         allMoneyBid: null,
+        deepConversionBid: null,
         allMoneyBidProportion: 1.2,
         allType: '1',
         allPrice: '1',
         maxBid: null,
-        copyData: null
+        copyData: null,
+        showDeepBid: false
       }
     },
     filters: {
@@ -581,6 +640,19 @@
           2: '淘宝商品itemID'
         }
         return data[sta]
+      },
+      deepConversionType(sta) {
+        var data = {
+          0: '未使用',
+          3: "付费",
+          7: "次日留存",
+          10: "完件",
+          11: "授信",
+          13: "添加购物车",
+          14: "提交订单",
+          15: "购买联盟广告无门槛要求"
+        }
+        return data[sta]
       }
     },
     methods: {
@@ -752,7 +824,6 @@
         } else {
           item.elseMoney = item.dayBudget / 1000
         }
-        console.log(item)
       },
       editStatus() {
         if (this.allType == '4') {
@@ -808,8 +879,35 @@
           }
         })
       },
+
+      changePrice() {
+        if (this.allPrice == '2') {
+          if (this.selectedRowKeys.length > 0) {
+            var arr = []
+            for (let i = 0; i < this.dataList.length; i++) {
+              for (let j = 0; j < this.selectedRowKeysValue.length; j++) {
+                if (this.dataList[i].unitId == this.selectedRowKeysValue[j]) {
+                  if (this.dataList[i].deepConversionType > 0) {
+                    arr.push(true)
+                  } else {
+                    arr = []
+                  }
+                }
+              }
+
+            }
+            if (arr.length > 0) {
+              this.showDeepBid = true
+            } else {
+              this.showDeepBid = false
+            }
+          }
+        }
+      },
       editMoneyBid() {
         if (this.allPrice == '2') {
+
+
           if (this.allMoneyBid < 1 || this.allMoneyBid > this.maxBid) {
             this.$message.error('不得低于1元,不得高于项目最高出价' + this.maxBid + '元')
             return
@@ -817,10 +915,10 @@
           var params = {}
           params.accountId = localStorage.getItem('accountId')
           params.bid = this.allMoneyBid * 1000
+          params.deepConversionBid = this.deepConversionBid ? this.deepConversionBid * 1000 : null
           params.userId = this.userInfo().id
           params.unitIds = this.selectedRowKeysValue
           postAction('/kuaishou/batch/batchUpdateUnitBid', params).then(res => {
-            console.log(res)
             if (res.success) {
               if (res.result.failCount > 0) {
                 this.visible = true
@@ -1020,7 +1118,7 @@
                   this.visibleCopy = false
                   this.loading = false
                   this.getDataList(localStorage.getItem('advertisingGroupKey'))
-                }, 1000)
+                }, 3000)
                 // this.getDataList(localStorage.getItem('advertisingGroupKey'))
               }
             })
@@ -1053,7 +1151,7 @@
                   this.visibleCopy = false
                   this.loading = false
                   this.getDataList(localStorage.getItem('advertisingGroupKey'))
-                }, 1000)
+                }, 3000)
 
                 // this.getDataList(localStorage.getItem('advertisingGroupKey'))
               }
@@ -1159,7 +1257,8 @@
       this.showList = this.columns.map(item => {
         return {
           label: item.title,
-          value: item.dataIndex
+          value: item.dataIndex,
+
         }
       })
       this.dataValue = this.columns.map(item => {

+ 1 - 1
src/views/modules/kuaishouapp/account/copyGroup.vue

@@ -564,7 +564,7 @@
                 unitName: dataJson.unitName,
                 unitNameCheck: false,
                 deepConversionType: dataJson.deepConversionType,
-                deepConversionBid: dataJson.deepConversionBid
+                deepConversionBid: dataJson.deepConversionBid/1000
               }]
 
               this.populationData = dataJson

Rozdílová data souboru nebyla zobrazena, protože soubor je příliš velký
+ 538 - 497
src/views/modules/kuaishouapp/account/editAllGroup.vue


+ 2 - 2
src/views/modules/kuaishouapp/account/editGroup.vue

@@ -50,7 +50,7 @@
             }}
           </a-select-option>
         </a-select>
-        <a @click="addApplication" style="margin-left:10px">添加应用</a>
+        <!-- <a @click="addApplication" style="margin-left:10px">添加应用</a> -->
         <creat-application ref="application" />
       </a-form-item>
       <a-form-item
@@ -680,7 +680,7 @@ export default {
               unitName: unitNameCopy?unitNameCopy:dataJson.unitName,
               unitNameCheck: false,
               deepConversionType: dataJson.deepConversionType,
-              deepConversionBid: dataJson.deepConversionBid
+              deepConversionBid: dataJson.deepConversionBid/1000
             }
           ]
 

+ 275 - 257
src/views/modules/kuaishouapp/account/newMould.vue

@@ -1,26 +1,28 @@
 <style>
-#table_time_selected1 tr {
-  border: 1px solid rgb(102, 162, 243);
-}
+  #table_time_selected1 tr {
+    border: 1px solid rgb(102, 162, 243);
+  }
+
+  .plug-timer-grid th {
+    line-height: 25px;
+  }
+
+  .group-creat .ant-form-item-required::before {
+    display: inline-block;
+    margin-right: 4px;
+    color: #f5222d;
+    font-size: 14px;
+    font-family: SimSun, sans-serif;
+    line-height: 1;
+    content: '';
+  }
 
-.plug-timer-grid th {
-  line-height: 25px;
-}
-.group-creat .ant-form-item-required::before {
-  display: inline-block;
-  margin-right: 4px;
-  color: #f5222d;
-  font-size: 14px;
-  font-family: SimSun, sans-serif;
-  line-height: 1;
-  content: '';
-}
-.else-label .ant-form-item-label label::after {
-  content: '';
-  position: relative;
-  top: -0.5px;
-  margin: 0 8px 0 2px;
-}
+  .else-label .ant-form-item-label label::after {
+    content: '';
+    position: relative;
+    top: -0.5px;
+    margin: 0 8px 0 2px;
+  }
 </style>
 <template>
   <a-card :body-style="{ padding: '24px 32px' }" :bordered="false" class="group-creat">
@@ -46,11 +48,8 @@
       </a-table>
     </a-row>
     <a-modal v-model="visible" title="广告组创建信息" :width="900" v-if="visible" :maskClosable="false">
-      <a-form-item
-        label="模板名称"
-        :labelCol="{ lg: { span: 7 }, sm: { span: 7 } }"
-        :wrapperCol="{ lg: { span: 10 }, sm: { span: 17 } }"
-      >
+      <a-form-item label="模板名称" :labelCol="{ lg: { span: 7 }, sm: { span: 7 } }"
+        :wrapperCol="{ lg: { span: 10 }, sm: { span: 17 } }">
         <a-input placeholder="请输入模板名称" v-model="name" style="width:100%;position:relative;" />
       </a-form-item>
 
@@ -65,247 +64,266 @@
 </template>
 
 <script>
-import { getAction, postAction, deleteAction, putAction } from '@/api/manage'
-import moment from 'moment'
-import { mapGetters } from 'vuex'
-import jq from 'jquery'
-import Treeselect from '@/views/modules/Statistics/components/Treeselect.vue'
-import targetedPopulation from '@/views/modules/kuaishouapp/account/stepForm/stepModule/targetedPopulation.vue'
-export default {
-  name: 'new-mould',
-  components: {
-    targetedPopulation,
-    Treeselect
-  },
-  data() {
-    return {
-      dataList: [],
-      name: '',
-      columns: [
-        {
-          title: '模板名称',
-          align: 'center',
-          dataIndex: 'templateName',
-          scopedSlots: { customRender: 'templateName' }
-        },
-        {
-          title: '创建时间',
-          align: 'center',
-          dataIndex: 'createTime',
-          scopedSlots: { customRender: 'createTime' }
+  import {
+    getAction,
+    postAction,
+    deleteAction,
+    putAction
+  } from '@/api/manage'
+  import moment from 'moment'
+  import {
+    mapGetters
+  } from 'vuex'
+  import jq from 'jquery'
+  import Treeselect from '@/views/modules/Statistics/components/Treeselect.vue'
+  import targetedPopulation from '@/views/modules/kuaishouapp/account/stepForm/stepModule/targetedPopulation.vue'
+  export default {
+    name: 'new-mould',
+    components: {
+      targetedPopulation,
+      Treeselect
+    },
+    data() {
+      return {
+        dataList: [],
+        name: '',
+        columns: [{
+            title: '模板名称',
+            align: 'center',
+            dataIndex: 'templateName',
+            scopedSlots: {
+              customRender: 'templateName'
+            }
+          },
+          {
+            title: '创建时间',
+            align: 'center',
+            dataIndex: 'createTime',
+            scopedSlots: {
+              customRender: 'createTime'
+            }
+          },
+          {
+            title: '操作',
+            align: 'center',
+            dataIndex: 'action',
+            scopedSlots: {
+              customRender: 'action'
+            }
+          }
+        ],
+        appId: '',
+        populationData: {
+          // platform_os: '1',
+          // is_open: '0',
+          // gender: '1',
+          // network: '1',
+          // interest_video: [2, 3],
+          // ages_range: ['12', '41'],
+          // device_brand: ['2', '9'],
+          // device_price: ['5', '9'],
+          // fans_star: [2, 3, 4, 5],
+          // app_interest: [3, 4],
+          // android_osv: '4',
+          // business_interest_type: '2',
+          // business_interest: [34328, 34330],
+          // no_age_break: 0,
+          // no_gender_break: 0,
+          // no_area_break: 0,
+          // region: [
+          //   11,
+          //   12,
+          //   13,
+          //   14,
+          //   15,
+          //   21,
+          //   22,
+          //   23,
+          //   31,
+          //   32,
+          //   33,
+          //   34,
+          //   35,
+          //   36,
+          //   37,
+          //   41,
+          //   42,
+          //   43,
+          //   44,
+          //   45,
+          //   46,
+          //   50,
+          //   51,
+          //   52,
+          //   53,
+          //   54,
+          //   61,
+          //   62,
+          //   63,
+          //   64,
+          //   65,
+          //   71,
+          //   81,
+          //   82
+          // ],
+          // allForm: {
+          //   regionType: 'limit',
+          //   region: [
+          //     { label: '北京', value: 11 },
+          //     { label: '天津', value: 12 },
+          //     { label: '河北', value: 13 },
+          //     { label: '山西', value: 14 },
+          //     { label: '内蒙古', value: 15 },
+          //     { label: '辽宁', value: 21 },
+          //     { label: '吉林', value: 22 },
+          //     { label: '黑龙江', value: 23 },
+          //     { label: '上海', value: 31 },
+          //     { label: '江苏', value: 32 },
+          //     { label: '浙江', value: 33 },
+          //     { label: '安徽', value: 34 },
+          //     { label: '福建', value: 35 },
+          //     { label: '江西', value: 36 },
+          //     { label: '山东', value: 37 },
+          //     { label: '河南', value: 41 },
+          //     { label: '湖北', value: 42 },
+          //     { label: '湖南', value: 43 },
+          //     { label: '广东', value: 44 },
+          //     { label: '广西', value: 45 },
+          //     { label: '海南', value: 46 },
+          //     { label: '重庆', value: 50 },
+          //     { label: '四川', value: 51 },
+          //     { label: '贵州', value: 52 },
+          //     { label: '云南', value: 53 },
+          //     { label: '西藏', value: 54 },
+          //     { label: '陕西', value: 61 },
+          //     { label: '甘肃', value: 62 },
+          //     { label: '青海', value: 63 },
+          //     { label: '宁夏', value: 64 },
+          //     { label: '新疆', value: 65 },
+          //     { label: '台湾', value: 71 },
+          //     { label: '香港', value: 81 },
+          //     { label: '澳门', value: 82 }
+          //   ],
+          //   ageType: 'ageLimit',
+          //   ages_range: [],
+          //   age: [],
+          //   device: '1',
+          //   price: '1',
+          //   appType: '1',
+          //   fansStar: '1',
+          //   interestVideo: '1'
+          // }
         },
-        {
-          title: '操作',
-          align: 'center',
-          dataIndex: 'action',
-          scopedSlots: { customRender: 'action' }
+        active: 'add',
+        editId: '',
+        visible: false,
+        ipagination: {
+          current: 1,
+          pageSize: 10,
+          showTotal: (total, range) => {
+            return range[0] + '-' + range[1] + ' 共' + total + '条'
+          },
+          showQuickJumper: true,
+          onChange: current => {
+            // 切换分页时的回调,
+            // 当在页面定义change事件时,切记要把此处的事件清除,因为这两个事件重叠了,可能到时候会导致一些莫名的bug
+            this.ipagination.current = current
+            this.addUser()
+          },
+          total: 0
         }
-      ],
-      appId: '',
-      populationData: {
-        // platform_os: '1',
-        // is_open: '0',
-        // gender: '1',
-        // network: '1',
-        // interest_video: [2, 3],
-        // ages_range: ['12', '41'],
-        // device_brand: ['2', '9'],
-        // device_price: ['5', '9'],
-        // fans_star: [2, 3, 4, 5],
-        // app_interest: [3, 4],
-        // android_osv: '4',
-        // business_interest_type: '2',
-        // business_interest: [34328, 34330],
-        // no_age_break: 0,
-        // no_gender_break: 0,
-        // no_area_break: 0,
-        // region: [
-        //   11,
-        //   12,
-        //   13,
-        //   14,
-        //   15,
-        //   21,
-        //   22,
-        //   23,
-        //   31,
-        //   32,
-        //   33,
-        //   34,
-        //   35,
-        //   36,
-        //   37,
-        //   41,
-        //   42,
-        //   43,
-        //   44,
-        //   45,
-        //   46,
-        //   50,
-        //   51,
-        //   52,
-        //   53,
-        //   54,
-        //   61,
-        //   62,
-        //   63,
-        //   64,
-        //   65,
-        //   71,
-        //   81,
-        //   82
-        // ],
-        // allForm: {
-        //   regionType: 'limit',
-        //   region: [
-        //     { label: '北京', value: 11 },
-        //     { label: '天津', value: 12 },
-        //     { label: '河北', value: 13 },
-        //     { label: '山西', value: 14 },
-        //     { label: '内蒙古', value: 15 },
-        //     { label: '辽宁', value: 21 },
-        //     { label: '吉林', value: 22 },
-        //     { label: '黑龙江', value: 23 },
-        //     { label: '上海', value: 31 },
-        //     { label: '江苏', value: 32 },
-        //     { label: '浙江', value: 33 },
-        //     { label: '安徽', value: 34 },
-        //     { label: '福建', value: 35 },
-        //     { label: '江西', value: 36 },
-        //     { label: '山东', value: 37 },
-        //     { label: '河南', value: 41 },
-        //     { label: '湖北', value: 42 },
-        //     { label: '湖南', value: 43 },
-        //     { label: '广东', value: 44 },
-        //     { label: '广西', value: 45 },
-        //     { label: '海南', value: 46 },
-        //     { label: '重庆', value: 50 },
-        //     { label: '四川', value: 51 },
-        //     { label: '贵州', value: 52 },
-        //     { label: '云南', value: 53 },
-        //     { label: '西藏', value: 54 },
-        //     { label: '陕西', value: 61 },
-        //     { label: '甘肃', value: 62 },
-        //     { label: '青海', value: 63 },
-        //     { label: '宁夏', value: 64 },
-        //     { label: '新疆', value: 65 },
-        //     { label: '台湾', value: 71 },
-        //     { label: '香港', value: 81 },
-        //     { label: '澳门', value: 82 }
-        //   ],
-        //   ageType: 'ageLimit',
-        //   ages_range: [],
-        //   age: [],
-        //   device: '1',
-        //   price: '1',
-        //   appType: '1',
-        //   fansStar: '1',
-        //   interestVideo: '1'
-        // }
-      },
-      active: 'add',
-      editId: '',
-      visible: false,
-      ipagination: {
-        current: 1,
-        pageSize: 10,
-        showTotal: (total, range) => {
-          return range[0] + '-' + range[1] + ' 共' + total + '条'
-        },
-        showQuickJumper: true,
-        onChange: current => {
-          // 切换分页时的回调,
-          // 当在页面定义change事件时,切记要把此处的事件清除,因为这两个事件重叠了,可能到时候会导致一些莫名的bug
-          this.ipagination.current = current
-          this.addUser()
-        },
-        total: 0
       }
-    }
-  },
-  computed: {},
-  filters: {},
-  methods: {
-    handleSubmit(e) {
-      //   this.$refs.population.handleSubmit()
-      e.preventDefault()
-      this.$refs.population.handleSubmit()
-      var data = this.populationData
-      console.log(JSON.stringify(data))
-      if (this.active == 'add') {
-        postAction('/kuaishou/batch/addDirectionalTemplate', {
-          accountId: this.appId,
-          templateName: this.name,
-          templateContent: JSON.stringify(this.populationData)
-        }).then(res => {
-          console.log(res)
-          if (res.success) {
-            this.visible = false
-            this.populationData = {}
-            this.name = ''
-            this.addUser()
-          }
-        })
-      } else if (this.active == 'edit') {
-        putAction('/kuaishou/batch/editDirectionalTemplate', {
-          id: this.editId,
-          templateName: this.name,
-          templateContent: JSON.stringify(this.populationData)
+    },
+    computed: {},
+    filters: {},
+    methods: {
+      handleSubmit(e) {
+        //   this.$refs.population.handleSubmit()
+        e.preventDefault()
+        this.$refs.population.handleSubmit()
+        var data = this.populationData
+        console.log(JSON.stringify(data))
+        if (this.active == 'add') {
+          postAction('/kuaishou/batch/addDirectionalTemplate', {
+            accountId: this.appId,
+            templateName: this.name,
+            templateContent: JSON.stringify(this.populationData)
+          }).then(res => {
+            console.log(res)
+            if (res.success) {
+              this.visible = false
+              this.populationData = {}
+              this.name = ''
+              this.addUser()
+            }
+          })
+        } else if (this.active == 'edit') {
+          putAction('/kuaishou/batch/editDirectionalTemplate', {
+            id: this.editId,
+            templateName: this.name,
+            templateContent: JSON.stringify(this.populationData)
+          }).then(res => {
+            console.log(res)
+            if (res.success) {
+              this.visible = false
+              this.populationData = {}
+              this.name = ''
+              this.addUser()
+            }
+          })
+        }
+      },
+      getData(className) {
+        return this.form.getFieldValue(className)
+      },
+      handleEdit(item) {
+        this.active = 'edit'
+        this.editId = item.id
+        this.name = item.templateName
+        this.populationData = JSON.parse(item.templateContent)
+        console.log(item.templateContent)
+        this.visible = true
+      },
+      handleDelete(id) {
+        deleteAction('/kuaishou/batch/deleteDirectionalTemplate', {
+          id: id
         }).then(res => {
-          console.log(res)
           if (res.success) {
-            this.visible = false
-            this.populationData = {}
-            this.name = ''
+            this.$message.success('删除成功')
             this.addUser()
+          } else {
+            this.$message.error(res.message)
           }
         })
-      }
-    },
-    getData(className) {
-      return this.form.getFieldValue(className)
-    },
-    handleEdit(item) {
-      this.active = 'edit'
-      this.editId = item.id
-      this.name = item.templateName
-      this.populationData = JSON.parse(item.templateContent)
-      this.visible = true
-    },
-    handleDelete(id) {
-      deleteAction('/kuaishou/batch/deleteDirectionalTemplate', { id: id }).then(res => {
-        if (res.success) {
-          this.$message.success('删除成功')
-          this.addUser()
-        } else {
-          this.$message.error(res.message)
-        }
-      })
-    },
-    addUser() {
-      this.loading = true
-      this.dataList = []
-      var params = {}
-      params.accountId = this.appId + ''
-      if (this.appId) {
-        getAction('/kuaishou/batch/getDirectionalTemplate', params).then(res => {
-          if (res.success) {
-            this.dataList = res.result.map((item, index) => {
-              return {
-                ...item,
-                key: index
+      },
+      addUser() {
+        this.loading = true
+        this.dataList = []
+        var params = {}
+        params.accountId = this.appId + ''
+
+        if (this.appId) {
+          getAction('/kuaishou/batch/pullPopulationList', params).then(res => {
+            getAction('/kuaishou/batch/getDirectionalTemplate', params).then(res => {
+              if (res.success) {
+                this.dataList = res.result.map((item, index) => {
+                  return {
+                    ...item,
+                    key: index
+                  }
+                })
+                this.ipagination.total = res.result.length
               }
             })
-            this.ipagination.total = res.result.length
-          }
-        })
-      } else {
-        this.$message.error('请选择账户')
+          })
+
+        } else {
+          this.$message.error('请选择账户')
+        }
       }
+    },
+    mounted: function () {
+      //   /kuaishou/batch/getDirectionalTemplate
     }
-  },
-  mounted: function() {
-    //   /kuaishou/batch/getDirectionalTemplate
   }
-}
-</script>
+</script>

+ 1 - 0
src/views/modules/kuaishouapp/account/originality.vue

@@ -38,6 +38,7 @@
               :scroll="{ x: true }"
               :customRow="rowClick"
               size="middle"
+              :pagination="ipagination"
               :rowSelection="{ selectedRowKeys: selectedRowKeys, onChange: onSelectChange }"
             >
               <span slot="action" slot-scope="text, record">

+ 7 - 2
src/views/modules/kuaishouapp/account/stepForm/Step2.vue

@@ -39,7 +39,7 @@
             }}
           </a-select-option>
         </a-select>
-        <a @click="addApplication" style="margin-left:10px">添加应用</a>
+        <!-- <a @click="addApplication" style="margin-left:10px">添加应用</a> -->
         <creat-application ref="application" />
       </a-form-item>
       <a-form-item label="转化类型" :labelCol="{ lg: { span: 7 }, sm: { span: 7 } }"
@@ -537,7 +537,12 @@
             campaignId: localStorage.getItem('campaignId'),
             unitName: e.target.value
           }).then(res => {
-            this.allForm.group[index].unitNameCheck = !res.result
+            if (res.success) {
+              this.allForm.group[index].unitNameCheck = !res.result
+            } else {
+              this.allForm.group[index].unitNameCheck = false
+            }
+
           })
         }
 

+ 12 - 6
src/views/modules/kuaishouapp/account/stepForm/Step3.vue

@@ -256,17 +256,20 @@
             code: item.video.signature,
             accountId: localStorage.getItem('accountId')
           }).then(res => {
-            console.log(res)
             if (res.success) {
-              this.pans[index].list[item.key].description = res.result.creativeCopywriter
+              this.pans[index].list[item.key].description =
+                res.result ? res.result.creativeCopywriter : ''
             }
           })
           getAction('/ctop/MaterialImageInfo/list', {
             videoId: item.video.signature
           }).then(res => {
-            console.log(res)
+            // console.log(res)
             if (res.success) {
               this.pans[index].list[item.key].imageUrlList = res.result
+              this.pans[index].list[item.key].checkArrImage = res.result.map(item => {
+                return item.code
+              })
             }
           })
         } else {
@@ -341,7 +344,6 @@
           this.$message.error('封面最多15张')
           return
         }
-        console.log(this.pans[index].list)
 
         this.form.validateFields((err, values) => {
           if (!err) {
@@ -361,14 +363,18 @@
                     name: (item.imageList.length + index + 1) + '-' + item.name
                   }
                 }),
-                photoId: item.videoList.photoId
+                photoId: item.videoList.photoId,
+                name: item.name
               }
             })
             console.log(dataJson)
             var allJson = dataJson.map(item => {
               return {
                 description: item.description,
-                imageArr: item.imageArr.concat(item.imageArrTwo),
+                imageArr: item.imageArr.concat(item.imageArrTwo).length > 0 ? item.imageArr.concat(item
+                  .imageArrTwo) : [{
+                  name: item.name
+                }],
                 photoId: item.photoId
               }
             })

+ 343 - 0
src/views/modules/kuaishouapp/account/stepForm/stepModule/createAppNew.vue

@@ -0,0 +1,343 @@
+<template>
+  <div>
+    <a-modal
+      title="添加应用"
+      :visible="application"
+      @ok="handleOk"
+      :confirmLoading="confirmLoading"
+      @cancel="handleCancel"
+      width="600px"
+    >
+      <a-card :body-style="{ padding: '24px 32px' }" :bordered="false">
+        <a-form :form="form">
+          <a-form-item
+            label="设备类型"
+            :labelCol="{ xs: { span: 24 }, sm: { span: 5 } }"
+            :wrapperCol="{ xs: { span: 24 }, sm: { span: 16 } }"
+          >
+            <a-radio-group v-model="appType" @change="changePlatform">
+              <a-radio-button value="android">安卓</a-radio-button>
+              <a-radio-button value="ios">IOS</a-radio-button>
+            </a-radio-group>
+          </a-form-item>
+          <!-- <a-form-item v-if="appType == 'android'"> -->
+          <a-form-item
+            label="推广类型"
+            :labelCol="{ xs: { span: 24 }, sm: { span: 5 } }"
+            :wrapperCol="{ xs: { span: 24 }, sm: { span: 16 } }"
+          >
+            <a-radio-group v-model="platform" @change="changeShowUploadType">
+              <a-radio value="1">应用下载</a-radio>
+              <a-radio value="2">网页游戏</a-radio>
+            </a-radio-group>
+          </a-form-item>
+
+          <a-form-item
+            label="上传应用"
+            v-if="appType == 'android' && platform == '1'"
+            :labelCol="{ xs: { span: 24 }, sm: { span: 5 } }"
+            :wrapperCol="{ xs: { span: 24 }, sm: { span: 16 } }"
+          >
+            <a-radio-group v-model="uploadType" @change="changeShowUpload">
+              <a-radio-button value="1">本地上传</a-radio-button>
+              <a-radio-button value="2">填写链接</a-radio-button>
+            </a-radio-group>
+          </a-form-item>
+
+          <a-form-item
+            label="上传文件"
+            v-if="appType == 'android' && uploadType == '1' && platform == '1'"
+            :labelCol="{ xs: { span: 24 }, sm: { span: 5 } }"
+            :wrapperCol="{ xs: { span: 24 }, sm: { span: 16 } }"
+          >
+            <upload-to-ali
+              v-model="file"
+              :customDomain="customDomain"
+              preview
+              :region="region"
+              :bucket="bucket"
+              :accept="acceptVideo"
+              :max="10"
+              :size="1024000"
+              :accessKeyId="accessKeyId"
+              :accessKeySecret="accessKeySecret"
+            ></upload-to-ali>
+          </a-form-item>
+
+          <a-form-item
+            v-if="uploadType == '2' || appType == 'ios' || platform == '2'"
+            label="下载链接"
+            :labelCol="{ xs: { span: 24 }, sm: { span: 5 } }"
+            :wrapperCol="{ xs: { span: 24 }, sm: { span: 16 } }"
+          >
+            <a-input
+              placeholder="请填写应用链接"
+              v-decorator="[
+                'downloadUrl',
+                {
+                  rules: [{ required: true, validator: handleConfirmValue }]
+                }
+              ]"
+            />
+          </a-form-item>
+
+          <a-form-item
+            label="应用包名"
+            v-if="appType == 'android'"
+            :labelCol="{ xs: { span: 24 }, sm: { span: 5 } }"
+            :wrapperCol="{ xs: { span: 24 }, sm: { span: 16 } }"
+          >
+            <a-input
+              v-decorator="[
+                'packageName',
+                {
+                  rules: [{ required: true, message: '请填写正确的应用包名称' }]
+                }
+              ]"
+              placeholder="请填写包名称,如com.smile.gifmaker"
+            />
+          </a-form-item>
+
+          <a-form-item
+            label="应用名称"
+            :labelCol="{ xs: { span: 24 }, sm: { span: 5 } }"
+            :wrapperCol="{ xs: { span: 24 }, sm: { span: 16 } }"
+          >
+            <a-input
+              v-decorator="[
+                'appName',
+                {
+                  rules: [{ required: true, message: '请填写应用名称' }]
+                }
+              ]"
+              placeholder="请填写应用名称"
+            />
+          </a-form-item>
+
+          <a-form-item
+            label="上传图标"
+            :labelCol="{ xs: { span: 24 }, sm: { span: 5 } }"
+            :wrapperCol="{ xs: { span: 24 }, sm: { span: 19 } }"
+          >
+            <upload-to-ali
+              v-model="imageUrl"
+              :customDomain="customDomain"
+              preview
+              :region="region"
+              :bucket="bucket"
+              :accept="acceptVideo"
+              :max="10"
+              :size="1024000"
+              :accessKeyId="accessKeyId"
+              :accessKeySecret="accessKeySecret"
+            ></upload-to-ali>
+            <span>请上传png/jpg/jpeg图片,尺寸450*450,小于100KB</span>
+          </a-form-item>
+
+          <a-form-item
+            label="应用标记"
+            :labelCol="{ xs: { span: 24 }, sm: { span: 5 } }"
+            :wrapperCol="{ xs: { span: 24 }, sm: { span: 16 } }"
+          >
+            <a-input
+              v-decorator="[
+                'appVersion',
+                {
+                  rules: [{ required: true, message: '请填写应用标记' }]
+                }
+              ]"
+              placeholder="请填写应用标记,必填且不可重复,如快手-5.6.1.66"
+            />
+          </a-form-item>
+          <!-- <a-form-item>
+            <a-form-item :wrapperCol="{ span: 24 }" style="text-align: center">
+              <a-button htmlType="submit" type="primary">提交</a-button>
+              <a-button style="margin-left: 8px">保存</a-button>
+            </a-form-item>
+          </a-form-item> -->
+        </a-form>
+      </a-card>
+    </a-modal>
+  </div>
+</template>
+
+<script>
+import { deleteAction, postAction, getAction } from '@/api/manage'
+import UploadToAli from '@femessage/upload-to-ali'
+import { mapActions, mapGetters } from 'vuex'
+
+export default {
+  name: 'BaseForm',
+  components: {
+    UploadToAli
+  },
+  data() {
+    return {
+      accountId: '',
+      accountList: {},
+      appType: 'android', //设备类型
+      platform: '1', //应用类型   : 1 Android 应用下载,2: Android 网页游戏,3: iOS 应用下载, 4:iOS 网页游戏
+      uploadType: '1', //上传类型 1 本地上传 2 填写链接
+      appVersion: '', //应用标记
+      appName: '', // 应用名称
+      packageName: '', //应用包名
+      file: '', // 上传文件
+      imageUrl: '', // 上传图标链接链接
+      downloadUrl: '', //下载链接
+      showUploadFile: true,
+      showDownLoad: false,
+      showUpload: true,
+      showAndroid: true,
+      showIOS: false,
+      customDomain: '',
+      acceptVideo: '/*.apk,/*.png,/*.jpg,/*.jpeg,/*.mp4',
+      accessKeyId: 'LTAIbNbqWzSOklQV',
+      accessKeySecret: '1rkPz7JNoXk8sJevPaeYHWqfkQXBGh',
+      region: 'oss-cn-beijing',
+      bucket: 'ctop-media',
+      form: this.$form.createForm(this),
+      url: {
+        insertTemplateUrl: '/kuaishou/kuaiShouCreateAppTemplate/insert',
+        userAllocationList: '/ctop/userAllocation/list'
+      },
+      application: false,
+      confirmLoading: false
+    }
+  },
+  methods: {
+    handleOk() {
+      this.handleSubmit()
+    },
+    handleCancel() {
+      this.form.resetFields()
+      this.imageUrl = ''
+      this.file = ''
+      this.platform = '1'
+      this.application = false
+    },
+    showApplication() {
+      this.application = true
+    },
+    handleConfirmValue(rule, value, callback) {
+      if (/(http|https):\/\/([\w.]+\/?)\S*/.test(value) && value != '') {
+        callback()
+      } else {
+        callback('链接不能为空且开头为http://或https://')
+      }
+    },
+    ...mapGetters(['nickname', 'avatar', 'userInfo']),
+    changePlatform() {
+      this.form.resetFields()
+      if (this.appType == 'android') {
+        this.showAndroid = true
+        this.showIOS = false
+        this.platform = '1'
+      } else {
+        this.showAndroid = false
+        this.showIOS = true
+        this.showDownLoad = true
+        this.platform = '1'
+      }
+    },
+    changeShowUpload() {
+      this.form.resetFields()
+      if (this.uploadType == '1') {
+        this.showUploadFile = true
+        this.showDownLoad = false
+      } else {
+        this.showUploadFile = false
+        this.showDownLoad = true
+      }
+    },
+    changeShowUploadType() {
+      this.form.resetFields()
+      if (this.platform == '2') {
+        this.showUpload = false
+        this.showUploadFile = false
+        this.showDownLoad = true
+        this.uploadType = '1'
+      } else {
+        this.showUpload = true
+        this.showUploadFile = true
+        this.showDownLoad = false
+      }
+    },
+
+    handleSubmit() {
+      //   console.log('设备类型:' + this.appType)
+      //   console.log('应用类型:' + this.platform)
+      //   console.log('上传类型:' + this.uploadType)
+      //   console.log('应用标记:' + this.appVersion)
+      //   console.log('应用名称:' + this.appName)
+      //   console.log('包名称:' + this.packageName)
+      //   console.log('文件地址:' + this.file)
+      //   console.log('图片地址:' + this.imageUrl)
+      //   e.preventDefault()
+      this.form.validateFields((err, values) => {
+        console.log('Received values of form: ', values)
+        if (!err) {
+          let params = {}
+          params.accountId = localStorage.getItem('accountId')
+          if (this.appType == 'android') {
+            if (this.imageUrl != '') {
+              params.imageUrl = this.imageUrl
+            }
+            if (this.platform == '2') {
+              params.url = values.downloadUrl
+            } else {
+              if (this.uploadType == '1') {
+                if (this.file != '') {
+                  params.file = this.file
+                }
+              } else if (this.uploadType == '2') {
+                params.url = values.downloadUrl
+              }
+            }
+            params.platform = this.platform
+            params.uploadType = this.uploadType
+            params.appType = 'android'
+            params.packageName = values.packageName
+            params.appName = values.appName
+            params.appVersion = values.appVersion
+            params.loginId = this.userInfo().id
+          } else {
+            params.appType = 'ios'
+            params.platform = this.platform
+            params.uploadType = '2'
+            params.url = values.downloadUrl
+            params.appName = values.appName
+            params.appVersion = values.appVersion
+            params.loginId = this.userInfo().id
+          }
+
+          console.log(params)
+          postAction(this.url.insertTemplateUrl, params).then(res => {
+            console.log(res)
+            if (res.success) {
+              this.$message.success('创建成功')
+              this.handleCancel()
+            } else {
+              this.$message.error(res.message)
+            }
+          })
+        }
+      })
+    },
+
+    onChange(value) {
+      console.log(value)
+    }
+  },
+  created: function() {
+    let params = {}
+    params.pageSize = '1000'
+    params.mediaId = '2'
+    params.userId = this.userInfo().id
+    getAction(this.url.userAllocationList, params).then(res => {
+      if (res.success) {
+        this.accountList = res.result.records
+      }
+    })
+  }
+}
+</script>

+ 41 - 40
src/views/modules/kuaishouapp/account/stepForm/stepModule/targetedPopulation.vue

@@ -86,7 +86,7 @@ li:hover {
             :dataSource="dataList"
             bordered
             :pagination="false"
-            :scroll="{ y: 300 }"
+            :scroll="{ y: 300 ,x:true }"
             :rowSelection="{
               selectedRowKeys: selectedRowKeys,
               onChange: onSelectChange,
@@ -95,7 +95,7 @@ li:hover {
           >
             <span slot="orientationName" slot-scope="text, record">{{ text }}({{ record.orientationId }})</span>
             <span slot="populationType" slot-scope="text">{{ text | population_type }}</span>
-            <span slot="createTime" slot-scope="text">{{ text | getDate }}</span>
+            <span slot="putTime" slot-scope="text">{{ text | getDate }}</span>
           </a-table>
           <div style="text-align:right">
             <a-button style="margin-right:5px" @click="topMiddle = false">取消</a-button>
@@ -124,7 +124,7 @@ li:hover {
             :dataSource="dataList"
             bordered
             :pagination="false"
-            :scroll="{ y: 300 }"
+            :scroll="{ y: 300 ,x:true}"
             :rowSelection="{
               selectedRowKeys: selectedRowKeysNo,
               onChange: onSelectChangeNo,
@@ -133,7 +133,7 @@ li:hover {
           >
             <span slot="orientationName" slot-scope="text, record">{{ text }}({{ record.orientationId }})</span>
             <span slot="populationType" slot-scope="text">{{ text | population_type }}</span>
-            <span slot="createTime" slot-scope="text">{{ text | getDate }}</span>
+            <span slot="putTime" slot-scope="text">{{ text | getDate }}</span>
           </a-table>
           <div style="text-align:right">
             <a-button style="margin-right:5px" @click="topMiddleNo = false">取消</a-button>
@@ -633,9 +633,9 @@ const columns = [
   },
   {
     title: '创建时间',
-    dataIndex: 'createTime',
-    scopedSlots: { customRender: 'createTime' },
-    sorter: (a, b) => a.createTime - b.createTime
+    dataIndex: 'putTime',
+    scopedSlots: { customRender: 'putTime' },
+    sorter: (a, b) => a.putTime - b.putTime
   }
 ]
 
@@ -725,39 +725,39 @@ export default {
 
           this.targeted = n.excludePopulation ? (n.population ? '4' : '3') : '2'
           this.people = n.excludePopulation ? '3' : n.population ? '3' : '2'
-        //   this.getPeople().then(res => {
-        //     if (n.excludePopulation) {
-        //       this.keyValueNo = ''
-        //       this.selectedRowKeysValueNo = []
-        //       for (let i = 0; i < res.length; i++) {
-        //         for (let j = 0; j < n.excludePopulation.length; j++) {
-        //           if (res[i].orientationId == n.excludePopulation[j]) {
-        //             this.keyValueNo += res[i].orientationName + '   '
-        //             this.selectedRowKeysValueNo.push({
-        //               orientationId: res[i].orientationId,
-        //               orientationName: res[i].orientationName
-        //             })
-        //             this.selectedRowKeysNo.push()
-        //           }
-        //         }
-        //       }
-        //     }
-        //     if (n.population) {
-        //       this.keyValue = ''
-        //       this.selectedRowKeysValue = []
-        //       for (let i = 0; i < res.length; i++) {
-        //         for (let j = 0; j < n.population.length; j++) {
-        //           if (res[i].orientationId == n.population[j]) {
-        //             this.keyValue += res[i].orientationName + '   '
-        //             this.selectedRowKeysValue.push({
-        //               orientationId: res[i].orientationId,
-        //               orientationName: res[i].orientationName
-        //             })
-        //           }
-        //         }
-        //       }
-        //     }
-        //   })
+          this.getPeople().then(res => {
+            if (n.excludePopulation) {
+              this.keyValueNo = ''
+              this.selectedRowKeysValueNo = []
+              for (let i = 0; i < res.length; i++) {
+                for (let j = 0; j < n.excludePopulation.length; j++) {
+                  if (res[i].orientationId == n.excludePopulation[j]) {
+                    this.keyValueNo += res[i].orientationName + '   '
+                    this.selectedRowKeysValueNo.push({
+                      orientationId: res[i].orientationId,
+                      orientationName: res[i].orientationName
+                    })
+                    this.selectedRowKeysNo.push()
+                  }
+                }
+              }
+            }
+            if (n.population) {
+              this.keyValue = ''
+              this.selectedRowKeysValue = []
+              for (let i = 0; i < res.length; i++) {
+                for (let j = 0; j < n.population.length; j++) {
+                  if (res[i].orientationId == n.population[j]) {
+                    this.keyValue += res[i].orientationName + '   '
+                    this.selectedRowKeysValue.push({
+                      orientationId: res[i].orientationId,
+                      orientationName: res[i].orientationName
+                    })
+                  }
+                }
+              }
+            }
+          })
           this.$nextTick(() => {
             this.form.setFieldsValue(
               pick(n, [
@@ -767,6 +767,7 @@ export default {
                 'gender',
                 'network',
                 'agesRange',
+                'age',
                 'androidOsv',
                 'iosOsv',
                 'deviceBrand',

+ 2 - 2
vue.config.js

@@ -65,8 +65,8 @@ module.exports = {
        },*/
       '/jeecg-boot': {
         // target: 'http://39.97.120.42:8080', //请求本地 需要jeecg-boot后台项目  生产环境
-        target: 'http://39.106.184.70:8080', //请求本地 需要jeecg-boot后台项目
-        // target: 'http://192.168.1.13:8080', //请求本地 需要jeecg-boot后台项目  蒙蒙
+        // target: 'http://39.106.184.70:8080', //请求本地 需要jeecg-boot后台项目
+        target: 'http://192.168.1.13:8080', //请求本地 需要jeecg-boot后台项目  蒙蒙
         // target: 'http://192.168.1.90:8080', //请求本地 需要jeecg-boot后台项目  英豪
         // target: 'http://192.168.1.103:8080', //请求本地 需要jeecg-boot后台项目
         // target: 'http://192.168.2.115:8080', //请求本地 需要jeecg-boot后台项目  祚云