zhuxinbo 5 vuotta sitten
vanhempi
commit
e63a2e0701

+ 0 - 10
src/components/jeecg/README.md

@@ -230,15 +230,6 @@ export default {
 
 ## 所需参数
 
-<<<<<<< HEAD
-| 参数          | 类型     | 必填  | 说明                                                 |
-|-------------|--------|-----|------------------------------------------------------------|
-| rowKey      | String | 非必填 | 表格行 key 的取值,默认为"id" |
-| columns     | Array  | 必填   | 表格列的配置描述,具体见Antd官方文档                   |
-| url         | String | 必填   | 数据查询url                                            |
-| childrenUrl | String | 非必填 | 查询子级时的url,若不填则使用url参数查询子级           |
-| tableProps  | Object | 非必填 | 自定义给内部table绑定的props                           |
-=======
 | 参数        | 类型   | 必填   | 说明                                                         |
 |-------------|--------|--------|--------------------------------------------------------------|
 | rowKey      | String | 非必填 | 表格行 key 的取值,默认为"id"                                |
@@ -249,7 +240,6 @@ export default {
 | queryParams | Object | 非必填 | 查询参数,当查询参数改变的时候会自动重新查询,默认为{}       |
 | topValue    | String | 非必填 | 查询顶级时的值,如果顶级为0,则传0,默认为null               |
 | tableProps  | Object | 非必填 | 自定义给内部table绑定的props                                 |
->>>>>>> jeecg_master
 
 ## 代码示例
 

+ 0 - 1
src/main.js

@@ -1,5 +1,4 @@
 import Vue from 'vue'
-import layer from 'vue-layer'
 import App from './App.vue'
 import Storage from 'vue-ls'
 import router from './router'

+ 2 - 8
src/mixins/JeecgListMixin.js

@@ -62,6 +62,7 @@ export const JeecgListMixin = {
     this.initDictConfig();
   },
   methods: {
+    // 二级树
     expand(expanded,record){
         if(this.url.listTwo){
             var param = {}
@@ -124,7 +125,7 @@ export const JeecgListMixin = {
       })
     },
     initDictConfig() {
-      console.log("--这是一个假的方法!")
+    //   console.log("--这是一个假的方法!")
     },
     handleSuperQuery(arg) {
       //高级查询方法
@@ -152,15 +153,8 @@ export const JeecgListMixin = {
       if (this.superQueryParams) {
         sqp['superQueryParams'] = encodeURI(this.superQueryParams)
       }
-    //   if(this.queryParam.createTime){
-    //     console.log(moment(this.queryParam.createTime).format('YYYY-MM-DD'))
-    //     var date = this.queryParam.createTime
-    //     this.queryParam.createTime = moment(date).format('YYYY-MM-DD')
-    //   }
       console.log(this.queryParam)
-    //   var param = Object.assign(sqp, this.queryParam, this.isorter, this.filters);
       var param = {...this.queryParam,...this.isorter, ...this.filters}
-    //   param.field = this.getQueryField();
       param.pageNo = this.ipagination.current;
       param.pageSize = this.ipagination.pageSize;
       return param

+ 8 - 6
src/views/dashboard/Analysis.vue

@@ -143,15 +143,15 @@
         </a-col>
       </a-row>
     </div>
-
-    <!-- <statistics v-else-if="roleCode == 'kuaishouOperationManager'" />
+    <!-- <newHome v-if="roleCode == 'operator' || roleCode == 'touTiaoOperationManager'" /> -->
+    <statistics v-else-if="roleCode == 'kuaishouOperationManager'" />
     <statistics v-else-if="roleCode == 'sale'||roleCode=='saleDirector'" />
     <statistics v-else-if="roleCode == 'admin'" />
     <Workbench v-else-if="roleCode == 'clip'" />
-    <Workbench v-else-if="roleCode == 'plane'" /> -->
+    <Workbench v-else-if="roleCode == 'plane'" />
 
-    <newHome v-else-if="roleCode == 'kuaishouOperationManager'" />
-     <newHome v-else-if="roleCode == 'admin'" />
+    
+     <!-- <newHome v-else-if="roleCode == 'admin'" /> -->
   </div>
 </template>
 
@@ -171,6 +171,7 @@ import Trend from '@/components/Trend'
 import { getLoginfo, getVisitInfo } from '@/api/api'
 import newHome from '@/views/modules/Statistics/newHome.vue'
 import Workbench from '@/views/dashboard/Workbench.vue'
+import Statistics from '@/views/modules/Statistics/Statistics.vue'
 const rankList = []
 for (let i = 0; i < 7; i++) {
   rankList.push({
@@ -200,7 +201,8 @@ export default {
     LineChartMultid,
     HeadInfo,
     newHome,
-    Workbench
+    Workbench,
+    Statistics
   },
   data() {
     return {

+ 6 - 4
src/views/modules/Statistics/components/Treeselect.vue

@@ -16,7 +16,7 @@
       :auto-load-root-options="false"
       @select="update"
       @input="emitValue"
-      @open="getParticipateList"
+
       :limit="2"
       :limitText="
         count => {
@@ -30,6 +30,7 @@
 </template>
 
 <script>
+//   @open="getParticipateList"
 // import the component
 import Treeselect from '@riophae/vue-treeselect'
 // import the styles
@@ -48,19 +49,21 @@ export default {
     options: []
   }),
   props: {
+    //是否多选
     multiple: {
       type: Boolean,
       default() {
         return true
       }
     },
-    appId: {},
+    //判断媒体类型
     request: {
       type: String,
       default() {
         return '2,4'
       }
     },
+    //一级请求接口
     reqUrl: {
         type: String,
         default () {
@@ -110,7 +113,6 @@ export default {
     emitValue() {
       this.$emit('update:appId', this.value)
     },
-    getChildren() {},
     loadOptions({ action, parentNode, callback }) {
       // Typically, do the AJAX stuff here.
       // Once the server has responded,
@@ -165,7 +167,7 @@ export default {
   },
 
   mounted() {
-    // this.getParticipateList()
+    this.getParticipateList()
   }
 }
 </script>

+ 0 - 24
src/views/modules/Statistics/dataDisplayStatistics.vue

@@ -69,30 +69,6 @@ th div {
       <a-row type="flex" align="middle" justify="space-between" class="panel-body">
         <div class="search-bar" style="width:100%">
           <span>账户选择:</span>
-          <!-- <a-select
-            v-model="appId"
-            showSearch
-            allowClear
-            mode="multiple"
-            placeholder="请选择账户"
-            optionFilterProp="children"
-            style="width: 50%"
-            @focus="handleFocus"
-            @blur="handleBlur"
-            @change="handleChange"
-            :filterOption="true"
-            @search="search"
-            :maxTagCount="1"
-          >
-            <a-select-option
-              v-for="appModel in options"
-              :key="appModel.id + new Date().getTime()"
-              :value="appModel.accountId"
-              >{{ appModel.advertiserName }}&#12288;&#12288;{{ appModel.accountId }}&#12288;&nbsp;&#12288;{{
-                appModel.authName
-              }}&#12288;&#12288;{{ appModel.operationName }}</a-select-option
-            >
-          </a-select> -->
           <treeselect :appId.sync="appId" />
           <span style="margin-left:10px">返点比例:</span>
           <a-input-number

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

@@ -580,8 +580,7 @@
           this.projectId = item.id
           this.getMemberList(item.id)
         } else {
-            console.log(item)
-            this.mode = 'authorization'
+          this.mode = 'authorization'
           this.loginType = item.mediaId == '1' ? 'bytedance' : 'kuaishou'
           this.record = item
           this.visibleBind = true
@@ -617,13 +616,13 @@
               params.loginType = this.loginType
               httpAction(this.bindAccountLoginUrl, params, 'post').then(res => {
                 if (res.success) {
-                  alert('绑定成功')
+                  this.$message.success('绑定成功')
                   this.accountName = ''
                   this.password = ''
                   this.loginType = 'kuaishou'
                   this.visibleBind = false
                 } else {
-                  alert(res.message)
+                  this.$message.error(res.message)
                 }
               })
             }

+ 8 - 7
src/views/modules/headerLibrary/index.vue

@@ -31,7 +31,8 @@
         </div>
         <div style="margin-bottom:30px">
           <span style="display:inline-block;width:80px">关键词</span>
-          <a-select
+          <a-input placeholder="请输入关键词" v-model="value"  style="width: 300px"/>
+          <!-- <a-select
             showSearch
             :value="value"
             placeholder="请选择关键词"
@@ -43,15 +44,15 @@
             @change="handleChange"
             :notFoundContent="null"
             allowClear
-          >
+          > -->
             <!-- <a-select-opt-group>
                -->
-            <a-select-option v-for="d in data" :key="d.value" :value="d.value">{{ d.text }}</a-select-option>
+            <!-- <a-select-option v-for="d in data" :key="d.value" :value="d.value">{{ d.text }}</a-select-option> -->
             <!-- </a-select-opt-group> -->
-          </a-select>
+          <!-- </a-select> -->
         </div>
         <span style="display:inline-block;width:80px"></span>
-        <a-button type="primary" @click="searchQuery" :disabled="value == undefined">生成</a-button>
+        <a-button type="primary" @click="searchQuery" :disabled="value == ''">生成</a-button>
       </a-card>
     </a-col>
     <a-col :sm="14" style="margin-bottom: 20px;z-index: 10">
@@ -79,7 +80,7 @@ export default {
     return {
       options: [],
       data: [],
-      value: undefined,
+      value: '',
       dataOne: [],
       title: []
     }
@@ -120,7 +121,7 @@ export default {
     onChange(value, selectedOptions) {
       console.log(value, selectedOptions)
       this.dataOne = value
-      this.value = undefined
+      this.value = ''
     },
 
     filter(inputValue, path) {

+ 14 - 0
src/views/modules/kuaishouapp/account/editGroup.vue

@@ -80,6 +80,19 @@
           v-decorator="['url', { rules: [{ required: true, message: ' ' }, { validator: handleConfirmValue }] }]"
         />
       </a-form-item>
+       <a-form-item label=" " :labelCol="{ lg: { span: 7 }, sm: { span: 7 } }"
+        :wrapperCol="{ lg: { span: 10 }, sm: { span: 17 } }" class="else-label" v-if="campaignType == '2'&&(getPlatForm(getData('appId'))=='1'||getPlatForm(getData('appId'))=='2')">
+
+        <a-checkbox v-decorator="[
+          'useAppMarket',
+          {
+            valuePropName: 'checked',
+            initialValue: false,
+          },
+        ]">
+          优先从系统应用商店下载
+        </a-checkbox>
+      </a-form-item>
       <div style="text-align:center;font-size:16px;margin-bottom:10px">
         目标人群
       </div>
@@ -661,6 +674,7 @@ export default {
       getAction('/kuaishou/batch/getUnitDetail', params).then(res => {
         if (res.success) {
           var dataJson = { ...res.result.baseInfo, ...res.result.appInfo, ...res.result.target }
+          dataJson.useAppMarket = dataJson.useAppMarket==0?false:true
           dataJson.dayBudget = dataJson.dayBudget / 1000
           dataJson.sceneId = JSON.parse( dataJson.sceneId )[0] == '1'? '1':'2'
           this.allForm.sceneId = JSON.parse( dataJson.sceneId )[0] == '1'? [7]:JSON.parse( res.result.baseInfo.sceneId )

+ 98 - 18
src/views/modules/kuaishouapp/account/stepForm/Step2.vue

@@ -56,6 +56,54 @@
         :class="{ 'else-label': campaignType == 3 }">
         <a-input placeholder="请填写链接" v-decorator="['url', { rules: [{ required: true,message:'链接不能为空'}] }]" />
       </a-form-item>
+
+      <a-form-item label="转化目标" :labelCol="{ lg: { span: 7 }, sm: { span: 7 } }"
+        :wrapperCol="{ lg: { span: 10 }, sm: { span: 17 } }">
+        <span v-if="convertId&&!convert" style="display:block;font-size:16px">已选择转化目标: {{convertId.label}}</span>
+        <a-button type="primary" @click="showConvert">{{convertId?'更换转化目标':'选择转化目标'}}</a-button>
+      </a-form-item>
+
+      <a-modal v-model="convert" title="选择转化目标">
+        <template slot="footer">
+          <a-button key="back" @click="convert=false">取消</a-button>
+          <a-button key="submit" type="primary" @click="convert=false">
+            确定
+          </a-button>
+        </template>
+        <a-form-item label="追踪方式" :labelCol="{ lg: { span: 7 }, sm: { span: 7 } }"
+          :wrapperCol="{ lg: { span: 10 }, sm: { span: 17 } }">
+          <a-radio-group buttonStyle="solid" v-model="convertType" @change="convertChange">
+            <a-radio-button value="1" v-show="campaignType == 4||campaignType == 5">JS布玛</a-radio-button>
+            <a-radio-button value="2" v-show="campaignType == 4||campaignType == 5">Xpath</a-radio-button>
+            <a-radio-button value="3"
+              v-show="campaignType == 2&&(getPlatForm(getData('appId'))==1||getPlatForm(getData('appId'))==2)">应用-SDK
+            </a-radio-button>
+            <a-radio-button value="7" v-show="campaignType == 2">应用-API</a-radio-button>
+          </a-radio-group>
+        </a-form-item>
+        <a-form-item label="选择转化" :labelCol="{ lg: { span: 7 }, sm: { span: 7 } }"
+          :wrapperCol="{ lg: { span: 10 }, sm: { span: 17 } }">
+          <a-select allowClear labelInValue style="width:100%" v-model="convertId" @focus="getConvertList">
+            <a-select-option :value="item.convert_id" v-for="(item,index) in convertList" :key="item.convert_id">
+              {{item.convert_name}}</a-select-option>
+          </a-select>
+        </a-form-item>
+      </a-modal>
+
+      <a-form-item label=" " :labelCol="{ lg: { span: 7 }, sm: { span: 7 } }"
+        :wrapperCol="{ lg: { span: 10 }, sm: { span: 17 } }" class="else-label"
+        v-if="campaignType == '2'&&(getPlatForm(getData('appId'))=='1'||getPlatForm(getData('appId'))=='2')">
+
+        <a-checkbox v-decorator="[
+          'useAppMarket',
+          {
+            valuePropName: 'checked',
+            initialValue: false,
+          },
+        ]">
+          优先从系统应用商店下载
+        </a-checkbox>
+      </a-form-item>
       <div style="text-align:center;font-size:16px;margin-bottom:10px">
         目标人群
       </div>
@@ -421,6 +469,9 @@
 
     data() {
       return {
+        convert: false,
+        convertId: "",
+        convertList: [],
         checkedTrue: false,
         nameValue: '',
         visible: false,
@@ -465,6 +516,7 @@
           success: [],
           sceneId: [7]
         },
+        convertType: '1',
         dataList: []
       }
     },
@@ -494,6 +546,45 @@
       }
     },
     methods: {
+      showConvert() {
+        this.convertChange()
+        if (this.campaignType == 2) {
+          if (this.getData('appId')) {
+            this.convert = true
+            if (this.getPlatForm(this.getData('appId')) == 1 || this.getPlatForm(this.getData('appId')) == 2) {
+
+              this.convertType = '3'
+            } else {
+              this.convertType = '7'
+            }
+
+          } else {
+            this.$message.error('请选择应用')
+          }
+        } else {
+          this.convertType = '1'
+        }
+        this.getConvertList()
+      },
+      convertChange() {
+        this.convertId = ""
+      },
+      getConvertList() {
+        var params = {}
+        params.accountId = localStorage.getItem('accountId')
+        params.type = this.convertType
+        getAction('/kuaishou/batch/getConvertList', params).then(res => {
+          console.log(res)
+          if (res.success) {
+            this.convertList = res.result.map(item => {
+              return {
+                ...item,
+                convert_id: item.convert_id + ''
+              }
+            })
+          }
+        })
+      },
       getCheck(e) {
         this.checkedTrue = e.target.checked
       },
@@ -705,6 +796,7 @@
         this.form.validateFields((err, values) => {
           if (!err) {
             this.loading = true
+            console.log(values)
             var groupArr = this.allForm.group.map(item => {
               return {
                 ...item,
@@ -717,6 +809,7 @@
             })
             var json = {
               ...values,
+              convertId: this.convertId ? this.convertId.key : null,
               sceneId: values.sceneId == 1 ? [values.sceneId] : this.allForm.sceneId,
               dayBudget: values.dayBudget * 1000
             }
@@ -733,7 +826,10 @@
                 this.allForm.scheduleTimeData :
                 '000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'
             }
-
+            if (values.useAppMarket == true || values.useAppMarket == false) {
+              params.useAppMarket = values.useAppMarket ? 1 : 0
+            }
+            console.log(params)
             if (this.checkedTrue) {
               var data = this.populationData
               postAction('/kuaishou/batch/addDirectionalTemplate', {
@@ -834,23 +930,7 @@
           }
         })
       },
-      //   getPeople(e) {
-      //     console.log(e.target.value)
-      //     if (e.target.value == 3) {
-      //       getAction('/kuaishou/batch/getPopulationList', {
-      //         accountId: localStorage.getItem('accountId')
-      //       }).then(res => {
-      //         if (res.success) {
-      //           this.data = res.result.map((item, index) => {
-      //             return {
-      //               ...item,
-      //               key: index
-      //             }
-      //           })
-      //         }
-      //       })
-      //     }
-      //   },
+
       getCampaignList() {
         var params = {}
         params.accountId = localStorage.getItem('accountId')

+ 181 - 33
src/views/modules/kuaishouapp/account/stepForm/Step3.vue

@@ -2,8 +2,32 @@
   .chouzhen span {
     display: inline-block;
   }
+  .check-video .ant-tabs-nav-container{
+      text-align: center;
+      font-size: 20px;
+  }
 </style>
 <style scoped lang="scss">
+  .actor-photo-list {
+    display: flex;
+    padding-left: 0;
+
+    li {
+      width: 20%;
+      margin: 10px;
+      position: relative;
+      height: 380px;
+      border: 1px solid #f2f2f2;
+      list-style: none;
+      padding: 10px;
+
+      img,
+      video {
+        width: 100%;
+      }
+    }
+  }
+
   .chouzhen {
     border-style: solid;
     border-width: 1px;
@@ -246,6 +270,42 @@
 
     </a-modal>
 
+
+    <a-modal title="选择素材" v-model="visibleMatemal" @ok="handleOkShow" :width="1000" >
+      <a-tabs type="card" @change="callback" v-model="active"  class="check-video">
+        <a-tab-pane :tab="item.label" v-for="item of tab" :key="item.value">
+          <ul v-if="dataSource.length>0" style="overflow:auto;padding-left:0">
+            <a-checkbox-group v-model="checkVideo" @change="onChangeVideo">
+              <li v-for="(item,index) of dataSource" :key="index" class="chouzhen">
+
+                <video class="video" :src="item.url" controls="controls" style="width:100%">
+                  您的浏览器不支持 video 标签。
+                </video>
+                <a-checkbox :value="item" style="position:absolute;z-index: 100;right:0;top:0;"></a-checkbox>
+
+              </li>
+            </a-checkbox-group>
+          </ul>
+        </a-tab-pane>
+      </a-tabs>
+
+      <!-- <ul class="actor-photo-list">
+          <a-checkbox-group v-model="checkArr" style="width:100%;  display: flex;padding-left: 0;"
+            @change="onChangeCheck">
+            <li v-for="(item, index) of dataSource" :key="index">
+              <a-checkbox :value="item" style="position:absolute;z-index:100;padding-right:30px">
+
+              </a-checkbox>
+            </li>
+          </a-checkbox-group>
+        </ul> -->
+      <div style="text-align:right">
+        <a-pagination size="small" :showTotal="ipagination.showTotal" style="float:right" v-if="dataSource.length > 0"
+          showQuickJumper :pageSize.sync="ipagination.pageSize" :total="ipagination.total" v-model="ipagination.current"
+          @change="getDataSource" />
+      </div>
+    </a-modal>
+
   </a-card>
 </template>
 
@@ -281,6 +341,33 @@
     },
     data() {
       return {
+        visibleMatemal: false,
+        checkVideo: [],
+        dataSource: [],
+        tab: [{
+          value: 0,
+          label: "内部"
+        }, {
+          value: 1,
+          label: "外部"
+        }],
+        active: 0,
+        ipagination: {
+          current: 1,
+          pageSize: 5,
+          //   pageSizeOptions: ['10', '20', '30'],
+          showTotal: (total, range) => {
+            return range[0] + '-' + range[1] + ' 共' + total + '条'
+          },
+          showQuickJumper: true,
+          //   showSizeChanger: true,
+          total: 0,
+          onChange: current => {
+            // 切换分页时的回调,
+            // 当在页面定义change事件时,切记要把此处的事件清除,因为这两个事件重叠了,可能到时候会导致一些莫名的bug
+            this.ipagination.current = current
+          }
+        },
         chouzhen: false,
         chouzhenList: [],
         checkList: [],
@@ -373,13 +460,6 @@
           })
         }
         this.checkAll = !this.checkAll
-        // Object.assign(this, {
-        //   checkList: e.target.checked ? this.chouzhenList.map(item => {
-        //     return item.signature
-        //   }) : [],
-        //   indeterminate: false,
-        //   checkAll: e.target.checked,
-        // });
       },
       onCheckAllImageChange(index, item) {
 
@@ -393,9 +473,7 @@
         this.pans[index].list[item.key].checkAllImage = !this.pans[index].list[item.key].checkAllImage
       },
       onChangeCheckImage(checkedList) {
-        // if (checkedList.length == 0) {
-        //   this.checkAllImage = false
-        // }
+       
       },
       handleConfirmValue(rule, value, callback) {
         if (/(http|https):\/\/([\w.]+\/?)\S*/.test(value) && value.length < 10000) {
@@ -451,15 +529,52 @@
       getData(className) {
         return this.form.getFieldValue(className)
       },
+      onChangeVideo() {
+        if (this.checkVideo.length > 1) {
+          this.checkVideo.shift()
+        }
+      },
+      callback(key) {
+        this.checkVideo = []
+        this.ipagination.current = 1
+        var params = {}
+        params.channelType = key
+        params.accountId = localStorage.getItem('accountId')
+        params.materialType = this.getData('creativeMaterialType')
+        params.pageSize = this.ipagination.pageSize
+        params.pageNo = this.ipagination.current
+        this.showVideoList('/kuaishou/batch/getVideoList', params)
+      },
+      getDataSource(page, pageSize) {
+        this.ipagination.current = page
+        var params = {}
+        params.accountId = localStorage.getItem('accountId')
+        params.materialType = this.getData('creativeMaterialType')
+        params.pageSize = this.ipagination.pageSize
+        params.pageNo = page
+        this.showVideoList('/kuaishou/batch/getVideoList', params)
+      },
+      showVideoList(url, params) {
+        getAction(url, params).then(res => {
+          if (res.success) {
+            this.dataSource = res.result.records
+            this.ipagination.total = res.result.total
+          }
+        })
+      },
       getVideoList(type, index, item, bestIndex) {
         if (type == 'video') {
-          this.$refs.check.showCheck(
-            this.getData('creativeMaterialType'),
-            '/kuaishou/batch/getVideoList',
-            item.videoList,
-            type,
-            index
-          )
+          nowIndex = index
+          bestIndex = bestIndex
+          this.visibleMatemal = true
+          this.checkVideo = []
+          var params = {}
+          params.accountId = localStorage.getItem('accountId')
+          params.materialType = this.getData('creativeMaterialType')
+          params.pageSize = this.ipagination.pageSize
+          params.pageNo = this.ipagination.current
+          params.channelType = 0
+          this.showVideoList('/kuaishou/batch/getVideoList', params)
         } else {
           this.$refs.check.showCheck(
             this.getData('creativeMaterialType'),
@@ -507,8 +622,6 @@
         this.visible = false
       },
       handleSubmit(e) {
-        //   e.preventDefault()
-        //   this.nextStep()
         e.preventDefault()
         var index = this.pans.findIndex(item => item.key === this.pansKey)
         var data = this.pans[index].list.map(item => {
@@ -541,7 +654,6 @@
                 name: item.name
               }
             })
-            console.log(dataJson)
             var allJson = dataJson.map(item => {
               return {
                 description: item.description,
@@ -558,9 +670,7 @@
               unitId: this.pansKey,
               accountId: localStorage.getItem('accountId')
             }
-            console.log(params)
             postAction('/kuaishou/batch/createCreative', params).then(res => {
-              console.log(res)
               if (res.success) {
                 this.visible = true
                 this.allForm.fail = res.result.fail
@@ -701,9 +811,7 @@
         console.log(index)
       },
       overUploadImage(urlAll) {
-        //   var index = this.urlList.url.findIndex(item => item === urlAll[0])
-        //   var data = { url: urlAll[0], code: this.urlList.md5[index], name: this.urlList.name[index] }
-        //   this.imageArr.push(data)
+
         var that = this
         that.material = []
         that.imageArrList = []
@@ -711,9 +819,7 @@
         if (urlAll.length > 0) {
           for (var i = 0; i < this.urlListImage.url.length; i++) {
             that.imageArrList.push({
-              // width: img.width,
-              // height: img.height,
-              // size: this.urlListImage.size[i],
+
               signature: this.urlListImage.md5[i],
               url: this.urlListImage.url[i],
             })
@@ -783,9 +889,7 @@
               }
             }
           }
-        } else {
-
-        }
+        } 
 
       },
       fileWater(file) {
@@ -902,6 +1006,52 @@
       },
       deleteData(index, bestIndex, deleteIndex) {
         this.pans[index].list[bestIndex].imageList.splice(deleteIndex, 1)
+      },
+      handleOkShow(e) {
+        //   
+
+        this.pans[bestIndex].list[nowIndex].imageList = []
+        getAction('/kuaishou/batch/getCreativeCopywriter', {
+          code: this.checkVideo[0].signature,
+          accountId: localStorage.getItem('accountId')
+        }).then(res => {
+          if (res.success) {
+            this.pans[bestIndex].list[nowIndex].description =
+              res.result ? res.result.creativeCopywriter : ''
+          }
+        })
+        getAction('/ctop/MaterialImageInfo/list', {
+          videoId: this.checkVideo[0].signature
+        }).then(res => {
+          // console.log(res)
+          if (res.success) {
+            this.pans[bestIndex].list[nowIndex].imageUrlList = res.result
+            this.pans[bestIndex].list[nowIndex].checkArrImage = res.result.map(item => {
+              return item.code
+            })
+          }
+        })
+
+
+
+
+        this.pans[bestIndex].list[nowIndex].videoList = this.checkVideo[0]
+        this.visibleMatemal = false
+        var params = {
+          videoSignature: this.checkVideo[0].signature,
+          pageSize: 20,
+          pageNo: 1
+        }
+        getAction('/cutFrame/material/list', params).then(res => {
+          console.log(res)
+          if (res.success) {
+            if (res.result.records.length > 0) {
+              this.pans[bestIndex].list[nowIndex].chouzhenShow = true
+            } else {
+              this.pans[bestIndex].list[nowIndex].chouzhenShow = false
+            }
+          }
+        })
       }
     },
     computed: {
@@ -964,8 +1114,6 @@
 
         this.pansKey = this.pans[0].key
         this.addCreative(0)
-        //  unitId: this.pansKey,
-        //               accountId: localStorage.getItem('accountId')
         getAction('/kuaishou/batch/checkCreativeCount', {
           unitId: this.pansKey,
           accountId: localStorage.getItem('accountId')

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

@@ -4,13 +4,11 @@
       <a-step title="创建计划" />
       <a-step title="创建广告组" />
       <a-step title="创建创意" />
-      <!-- <a-step title="完成" /> -->
     </a-steps>
     <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" />
-      <!-- <step4 v-if="currentTab === 3" @prevStep="prevStep" @finish="finish" /> -->
     </div>
   </a-card>
 </template>
@@ -19,14 +17,12 @@
 import Step1 from './Step1'
 import Step2 from './Step2'
 import Step3 from './Step3'
-import Step4 from './Step4'
 export default {
   name: 'StepForm',
   components: {
     Step1,
     Step2,
-    Step3,
-    Step4
+    Step3
   },
   data() {
     return {

+ 1 - 86
src/views/modules/kuaishouapp/account/stepForm/stepModule/targetedPopulation.vue

@@ -153,18 +153,6 @@ li:hover {
       </a-radio-group>
       <div v-if="allForm.regionType == 'limit'" style="margin-top:10px">
         <select-region :checkData.sync="allForm.region" :dataValue="allForm.region" />
-        <!-- v-model="allForm.region" -->
-        <!-- {{ getData('region') }} -->
-        <!-- <el-cascader
-          ref="cascaderRegion"
-          v-decorator="['region', { rules: [{ required: true, message: '请选择地区' }] }]"
-          :options="options"
-          :props="optionProps"
-          clearable
-          filterable
-          style="width:100%"
-          @change="getRegion"
-        ></el-cascader> -->
       </div>
     </a-form-item>
     <a-form-item
@@ -180,7 +168,7 @@ li:hover {
       <div v-if="allForm.ageType == 'ageLimit'">
         <a-checkbox-group v-decorator="['agesRange', { rules: [{ required: true, message: '请选择年龄段' }] }]">
           <a-checkbox :value="0">0-11岁</a-checkbox>
-          <a-checkbox :value="12">12-27岁</a-checkbox>
+          <a-checkbox :value="12">12-17岁</a-checkbox>
           <a-checkbox :value="18">18-23岁</a-checkbox>
           <a-checkbox :value="24">24-30岁</a-checkbox>
           <a-checkbox :value="31">31-40岁</a-checkbox>
@@ -1107,11 +1095,6 @@ export default {
     },
     regionChange() {
       this.allForm.region = []
-      //   getAction('/kuaishou/batch/getRegion').then(res => {
-      //     console.log(res)
-      //     this.options = res.result
-      //     this.optionsAll = res.result
-      //   })
     },
     search(e) {},
     put() {
@@ -1190,74 +1173,6 @@ export default {
     this.getDataType('FANS_STAR', 'fansStarOptions')
     this.getDataType('INTEREST_VIDEO', 'interestVideoOptions')
 
-    // if (this.populationData.allForm) {
-    //   this.allForm = this.populationData.allForm
-    //   this.allForm.noAgeBreak = this.allForm.noAgeBreak == '0' ? false : true
-    //   this.allForm.noGenderBreak = this.allForm.noGenderBreak == '0' ? false : true
-    //   this.allForm.noAreaBreak = this.allForm.noAreaBreak == '0' ? false : true
-
-    //   this.selectedRowKeys = this.populationData.population ? this.populationData.population : []
-    //   this.selectedRowKeysNo = this.populationData.excludePopulation ? this.populationData.excludePopulation : []
-    //   this.selectedRowKeysValueNo = []
-    //   this.selectedRowKeysValue = []
-    //   this.keyValueNo = ''
-    //   this.targeted = this.populationData.excludePopulation ? (this.populationData.population ? '4' : '3') : '2'
-    //   this.people = this.populationData.excludePopulation ? '3' : this.populationData.population ? '3' : '2'
-    //   this.getPeople().then(res => {
-    //     if (this.populationData.excludePopulation) {
-    //       for (let i = 0; i < res.length; i++) {
-    //         for (let j = 0; j < this.populationData.excludePopulation.length; j++) {
-    //           if (res[i].orientationId == this.populationData.excludePopulation[j]) {
-    //             this.keyValueNo += res[i].orientationName + '   '
-    //             this.selectedRowKeysValueNo.push({
-    //               orientationId: res[i].orientationId,
-    //               orientationName: res[i].orientationName
-    //             })
-    //           }
-    //         }
-    //       }
-    //     }
-    //     if (this.populationData.population) {
-    //       for (let i = 0; i < res.length; i++) {
-    //         for (let j = 0; j < this.populationData.population.length; j++) {
-    //           if (res[i].orientationId == this.populationData.population[j]) {
-    //             this.keyValue += res[i].orientationName + '   '
-    //             this.selectedRowKeysValue.push({
-    //               orientationId: res[i].orientationId,
-    //               orientationName: res[i].orientationName
-    //             })
-    //           }
-    //         }
-    //       }
-    //     }
-    //   })
-
-    //   this.$nextTick(() => {
-    //     //   setTimeout(() => {
-
-    //     this.form.setFieldsValue(
-    //       pick(this.populationData, [
-    //         'businessInterestType',
-    //         'fansStar',
-    //         'interestVideo',
-    //         'appInterest',
-    //         'gender',
-    //         'network',
-    //         'agesRange',
-    //         'androidOsv',
-    //         'iosOsv',
-    //         'deviceBrand',
-    //         'devicePrice',
-    //         'businessInterest'
-    //       ])
-    //     )
-    //     //   }, 100)
-    //     //   setTimeout(() => {
-    //     //     console.log(this.populationData)
-    //     //     this.form.setFieldsValue(pick(this.populationData, ['app_interest', 'business_interest']))
-    //     //   }, 100)
-    //   })
-    // }
   }
 }
 </script>

+ 2 - 2
src/views/report/BytedancePlanDailyReportList.vue

@@ -11,11 +11,11 @@
               <a-date-picker v-model="queryParam.statDatetime"/>
             </a-form-item>
           </a-col>
-          <a-col :md="6" :sm="8">
+          <!-- <a-col :md="6" :sm="8">
             <a-form-item label="渠道号">
               <a-input placeholder="请输入渠道号" v-model="queryParam.planCode"></a-input>
             </a-form-item>
-          </a-col>
+          </a-col> -->
 
           <a-col :md="6" :sm="8" >
             <span style="float: left;overflow: hidden;" class="table-page-search-submitButtons">

+ 0 - 10
vue.config.js

@@ -66,22 +66,12 @@ module.exports = {
       '/jeecg-boot': {
         // target: 'http://39.97.120.42:8080', //请求本地 需要jeecg-boot后台项目  生产环境
         // target: 'http://39.106.184.70:8080', //请求本地 需要jeecg-boot后台项目
-<<<<<<< HEAD
-        // target: 'http://192.168.1.13:8080', //请求本地 需要jeecg-boot后台项目  蒙蒙
-        // target: 'http://192.168.1.22:8080', //请求本地 需要jeecg-boot后台项目  英豪
-        // target: 'http://192.168.0.125:8080', //请求本地 需要jeecg-boot后台项目  英豪
-        // target: 'http://192.168.1.103:8080', //请求本地 需要jeecg-boot后台项目
-        // target: 'http://192.168.2.115:8080', //请求本地 需要jeecg-boot后台项目  祚云
-        // target: 'http://192.168.1.54:8080', //请求本地 需要jeecg-boot后台项目  孙震
-        target: 'http://192.168.1.165:8088', //请求本地 需要jeecg-boot后台项目  毕洁泉
-=======
         target: 'http://192.168.1.23:8080', //请求本地 需要jeecg-boot后台项目  蒙蒙
         // target: 'http://192.168.1.22:8080', //请求本地 需要jeecg-boot后台项目  英豪
         // target: 'http://192.168.1.103:8080', //请求本地 需要jeecg-boot后台项目
         // target: 'http://192.168.2.115:8080', //请求本地 需要jeecg-boot后台项目  祚云
         // target: 'http://192.168.1.54:8080', //请求本地 需要jeecg-boot后台项目  孙震
         // target: 'http://192.168.1.165:8080', //请求本地 需要jeecg-boot后台项目  毕洁泉
->>>>>>> a27f3b64d100e3e51d26f42b0fcae6625fd0d1ea
         ws: false,
         changeOrigin: true
       },