浏览代码

Merge branch 'master' of http://git.tjyourong.com.cn/ctop/adsp-vue

魏志佳 4 年之前
父节点
当前提交
9f1862c8c1

+ 12 - 2
src/mixins/JeecgListMixin.js

@@ -103,9 +103,19 @@ export const JeecgListMixin = {
         this.ipagination.current = 1;
       }
       var params = this.getQueryParams();//查询条件
-      if(params.createTime){
-        params.createTime = moment(params.createTime).format('YYYY-MM-DD')
+      if(params.createTime&&params.createTime.length>0){
+        // params.createTime = moment(params.createTime).format('YYYY-MM-DD')
+        params.startDate = moment(params.createTime[0]).format('YYYY-MM-DD')
+        params.endDate = moment(params.createTime[1]).format('YYYY-MM-DD')
+        params.createTime = null
       }
+      // if(params.startDate){
+      //   params.startDate = moment(params.startDate).format('YYYY-MM-DD')
+      // }
+      // if(params.endDate){
+      //   params.endDate = moment(params.endDate).format('YYYY-MM-DD')
+      // }
+
       this.loading = true;
       await getAction(this.url.list, params).then((res) => {
         if (res.success) {

+ 13 - 2
src/views/modules/Statistics/effectReport.vue

@@ -15,7 +15,7 @@
       </a-select>     
       <a-range-picker v-model="dateRange" @change="dateChange" style="width:200px" />      
       <div class="opt">
-        <a-button type='primary' @click="search">查询</a-button>
+        <a-button type='primary' @click="(ipagination.current=1);(projectId = null);( unitId = null );(campaignId = null);(accountId = null) ;search()">查询</a-button>
       </div>
     </div>
     <div class="moduler">
@@ -522,13 +522,18 @@ export default {
         // }else if(){
 
         // }
+        this.projectId = null
+        this.unitId = null
+        this.campaignId = null
+        this.accountId = null
+        this.ipagination.current=1;
         this.search();
       },
       // x项目的table值
       getTableProjectList(paramse){   
         this.loading=true;     
         this.spinning=true;
-        // this.ipagination.current=0;
+        
         this.columns= [...projectColumns,...publicColumns]  
         postAction('/kuaishou/getKuaishouProjectInfo',paramse).then(res=>{
           console.log(res);
@@ -578,6 +583,7 @@ export default {
             startDate:this.dateRange[0].format('YYYY-MM-DD'),
             endDate:this.dateRange[1].format('YYYY-MM-DD'),
             projectId:this.projectId,
+            projectList:this.projectValue.length==0?null:this.projectValue,
             pageNum:this.ipagination.current,
             pageSize:'10'
           }).then(res=>{
@@ -601,6 +607,7 @@ export default {
           startDate:this.dateRange[0].format('YYYY-MM-DD'),
           endDate:this.dateRange[1].format('YYYY-MM-DD'),
           accountId:this.accountId,
+          projectList:this.projectValue.length==0?null:this.projectValue,
           pageNum:this.ipagination.current,
           pageSize:'10'
         }).then(res=>{
@@ -623,6 +630,7 @@ export default {
           startDate:this.dateRange[0].format('YYYY-MM-DD'),
           endDate:this.dateRange[1].format('YYYY-MM-DD'),
           campaignId:this.campaignId,
+          projectList:this.projectValue.length==0?null:this.projectValue,
           pageNum:this.ipagination.current,
           pageSize:'10'
         }).then(res=>{
@@ -646,6 +654,7 @@ export default {
           startDate:this.dateRange[0].format('YYYY-MM-DD'),
           endDate:this.dateRange[1].format('YYYY-MM-DD'),
           unitId:this.unitId,
+          projectList:this.projectValue.length==0?null:this.projectValue,
           pageNum:this.ipagination.current,
           pageSize:'10'
         }).then(res=>{
@@ -662,6 +671,8 @@ export default {
       },
 
       search(){
+
+        
         if(this.tabKey==1){
           this.getTableProjectList({
             startDate:this.dateRange[0].format('YYYY-MM-DD'),

+ 170 - 5
src/views/modules/Statistics/refuseData.vue

@@ -13,13 +13,13 @@
     <a-row :gutter="10" style="margin-top:10px">
       <a-col :span="24">
         <a-card style="width:100%;">
-          <div style="display:flex;margin:0 0 20px 0">
+          <!-- <div style="display:flex;margin:0 0 20px 0">
             <a-input placeholder="请输出要查找的创意名称" style="width:300px;" v-model="keyWord" />
             <a-button type="primary" style="margin-left:10px" @click="addUserKey">搜索</a-button>
             <a-button type="primary" style="margin-left:10px" @click="clickAgain" v-if="selectedRowKeys.length>0"
               :loading="loadingList">一键重提
             </a-button>
-          </div>
+          </div> -->
 
           <a-table :columns="columns" :dataSource="dataList" bordered :loading="loading" size="middle"
             :pagination="ipagination" :rowSelection="{ selectedRowKeys: selectedRowKeys, onChange: onSelectChange }">
@@ -28,6 +28,33 @@
                 您的浏览器不支持 video 标签。
               </video>
             </div> -->
+            <template slot="campaignName" slot-scope="text, record">
+              <div style="display:flex;justify-content: center;">
+                <a @click="toDetail(record)" class="count" v-show="!record.editName">{{ text }}</a>
+              </div>
+            </template>
+
+            <span slot="campaignType" slot-scope="text">
+              {{ text | typeStatus }}
+            </span>
+            <span slot="status" slot-scope="text">
+              {{ text | status }}
+            </span>
+            <span slot="putStatus" slot-scope="text">
+              {{ text | putStatus }}
+            </span>
+            <span slot="createChannel" slot-scope="text">
+              {{ text | createChannel }}
+            </span>
+
+            <template slot="dayBudget" slot-scope="text, record">
+              <div style="display:flex;justify-content: center;">
+                <span class="count">{{ text ? (text / 1000).toFixed(2) : '不限制预算' }}</span>
+              </div>
+            </template>
+
+
+
             <div slot="coverUrl" slot-scope="coverUrl">
               <img :src="coverUrl" controls="controls" style="height:200px;width:112.5px" />
             </div>
@@ -159,6 +186,84 @@
     }
   ]
 
+
+  var columnsCam = [{
+      title: '广告计划名称',
+      align: 'center',
+      dataIndex: 'campaignName',
+      fixed: 'left',
+      width: 300,
+      scopedSlots: {
+        customRender: 'campaignName'
+      }
+    },
+    {
+      title: '计划单日预算金额',
+      align: 'center',
+      dataIndex: 'dayBudget',
+      scopedSlots: {
+        customRender: 'dayBudget'
+      },
+      width: 200
+    },
+    {
+      title: '计划状态',
+      align: 'center',
+      dataIndex: 'status',
+      scopedSlots: {
+        customRender: 'status'
+      }
+    },
+    {
+      title: '计划类型',
+      align: 'center',
+      dataIndex: 'campaignType',
+      scopedSlots: {
+        customRender: 'campaignType'
+      }
+    },
+
+    {
+      title: '渠道',
+      align: 'center',
+      dataIndex: 'createChannel',
+      scopedSlots: {
+        customRender: 'createChannel'
+      }
+    },
+    {
+      title: '投放状态',
+      align: 'center',
+      dataIndex: 'putStatus',
+      scopedSlots: {
+        customRender: 'putStatus'
+      },
+      filters: [{
+          text: '投放中',
+          value: '1'
+        },
+        {
+          text: '暂停',
+          value: '2'
+        }
+      ],
+      onFilter: (value, record) =>
+        record.putStatus
+        .toString()
+        .toLowerCase()
+        .includes(value.toLowerCase()),
+    },
+    {
+      title: '创建时间',
+      align: 'center',
+      dataIndex: 'putCreateTime'
+    },
+    {
+      title: '更新时间',
+      align: 'center',
+      dataIndex: 'putUpdateTime'
+    }
+  ]
   export default {
     name: 'refuse-data',
     components: {
@@ -173,7 +278,7 @@
         fail: null,
         appId: null,
         loading: false,
-        columns,
+        columns: columnsCam,
         dataList: [],
         keyWord: '',
         editTitle: '',
@@ -204,7 +309,40 @@
         }
       }
     },
-    filters: {},
+    filters: {
+      typeStatus(type) {
+        // 2 - 提升应用安装;
+        // 3 - 获取电商下单;
+        // 4 - 推广品牌活动;
+        // 5 - 收集销售线索;
+        var data = ['', '', '提升应用安装', '获取电商下单', '推广品牌活动', '收集销售线索']
+        return data[type]
+      },
+      status(sta) {
+        var data = {
+          '-1': '不限',
+          1: '已暂停',
+          3: '计划超预算',
+          4: '有效',
+          6: '余额不足'
+        }
+        return data[sta]
+      },
+      putStatus(sta) {
+        var data = {
+          1: '投放中',
+          2: '暂停'
+        }
+        return data[sta]
+      },
+      createChannel(sta) {
+        var data = {
+          0: '投放后台',
+          1: '汇创助手'
+        }
+        return data[sta]
+      }
+    },
     watch: {
       appId(n, o) {
         console.log(n, o)
@@ -214,6 +352,19 @@
       }
     },
     methods: {
+      toDetail(record) {
+
+        localStorage.setItem('accountIdCreat', record.campaignId)
+        localStorage.setItem('accountIdCreatNow', this.appId)
+
+
+        this.$router.replace({
+          path: '/Statistics/refuseDataCreat'
+        })
+
+      },
+
+
       clickAgain() {
         this.loadingList = true
         var params = {}
@@ -284,7 +435,8 @@
         params.pageSize = this.ipagination.pageSize
         params.pageNo = this.ipagination.current
         if (this.appId) {
-          getAction('/MaterialRefuse/getRefuseCreative', params).then(res => {
+
+          getAction('/kuaishou/kuaiShouCampaign/list', params).then(res => {
             if (res.code == 0) {
               this.dataList = res.result.records.map((v, index) => {
                 return {
@@ -297,6 +449,19 @@
               this.ipagination.total = res.result.total
             }
           })
+          //   getAction('/MaterialRefuse/getRefuseCreative', params).then(res => {
+          //     if (res.code == 0) {
+          //       this.dataList = res.result.records.map((v, index) => {
+          //         return {
+          //           ...v,
+          //           key: index
+          //         }
+          //       })
+          //       this.list = this.dataList
+          //       this.loading = false
+          //       this.ipagination.total = res.result.total
+          //     }
+          //   })
         } else {
           this.$message.error('请选择账户')
         }

+ 619 - 0
src/views/modules/Statistics/refuseDataCreat.vue

@@ -0,0 +1,619 @@
+<style></style>
+<template>
+  <div class="data-refuse-statistics">
+    <!-- <a-row class="image-list-heading vm-panel">
+      <a-row type="flex" align="middle" justify="space-between" class="panel-body">
+        <div class="search-bar" style="width:100%;display:flex">
+          <span style="line-height:35px;margin-left:15px">账户选择:</span>
+          <treeselect :appId.sync="appId" :multiple="false" />
+          <a-button type="primary" style="margin-left:10px" @click="(ipagination.current=1);addUser()">搜索</a-button>
+        </div>
+      </a-row>
+    </a-row> -->
+    <a-row :gutter="10" style="margin-top:10px">
+      <a-col :span="24">
+        <a-card style="width:100%;">
+          <div style="display:flex;margin:0 0 20px 0;position:relative">
+            <a-input placeholder="请输出要查找的创意名称" style="width:300px;" v-model="keyWord" />
+            <a-button type="primary" style="margin-left:10px" @click="addUserKey">搜索</a-button>
+            <a-button type="primary" style="margin-left:10px" @click="reset()">刷新列表</a-button>
+            <a-button type="primary" style="margin-left:10px" @click="clickAgain" v-if="selectedRowKeys.length>0"
+              :loading="loadingList">一键重提
+            </a-button>
+            <a-button type="primary" style="position:absolute;right:0" @click="syncCreative"
+              :loading="loadingSyncCreative">
+              同步创意
+            </a-button>
+          </div>
+          <!-- /MaterialRefuse/syncCreative -->
+          <a-table :columns="columns" :dataSource="dataList" bordered :loading="loading" size="middle"
+            :pagination="ipagination" :rowSelection="{ selectedRowKeys: selectedRowKeys, onChange: onSelectChange }">
+            <!-- <div slot="videoUrl" slot-scope="videoUrl">
+              <video class="video" :src="videoUrl" controls="controls" style="height:200px;width:112.5px">
+                您的浏览器不支持 video 标签。
+              </video>
+            </div> -->
+
+
+            <div slot="coverUrl" slot-scope="coverUrl">
+              <img :src="coverUrl" controls="controls" style="height:200px;width:112.5px" />
+            </div>
+            <template slot="creativeName" slot-scope="text, record">
+              <div>
+                {{ text }}
+                <a-icon type="edit" style="cursor: pointer;" @click="onCellChange(record, 'creativeName')" />
+              </div>
+            </template>
+            <template slot="description" slot-scope="text, record">
+              <div>
+                {{ text }}
+                <a-icon type="edit" style="cursor: pointer;" @click="onCellChange(record, 'description')" />
+              </div>
+            </template>
+          </a-table>
+        </a-card>
+      </a-col>
+    </a-row>
+    <a-modal :title="editTitle" :visible="visible" @ok="handleOk" :confirmLoading="confirmLoading"
+      @cancel="handleCancel">
+      <a-textarea v-model="editWord" autosize />
+    </a-modal>
+    <a-modal title="一键重提" @cancel="handleClose" :visible="visibleAgain" @ok="handleOkAgain"
+      :confirmLoading="againLoading">
+      <a-form :form="form">
+        <a-form-item label="是否修改" :labelCol="{ lg: { span: 6 }, sm: { span: 6 } }"
+          :wrapperCol="{ lg: { span: 18 }, sm: { span: 18 } }">
+          <a-radio-group buttonStyle="solid" v-decorator="[
+          'type',
+           { initialValue: 0} ]">
+            <a-radio-button :value="0">否</a-radio-button>
+            <a-radio-button :value="1">是</a-radio-button>
+          </a-radio-group>
+        </a-form-item>
+        <a-form-item label="广告语" :labelCol="{ lg: { span: 6 }, sm: { span: 6 } }"
+          :wrapperCol="{ lg: { span: 18 }, sm: { span: 18 } }" v-if="getData('type')==1">
+          <a-input v-decorator="[
+          'updateDescription'
+        ]" :max="10" :min="1" style="width:100%">
+          </a-input>
+          <a @click="showTitle()">推荐标题</a><a style="margin-left:10px" @click="showCunTitle()">标题收藏</a>
+        </a-form-item>
+        <a-form-item label="行动号召" :labelCol="{ lg: { span: 6 }, sm: { span: 6 } }"
+          :wrapperCol="{ lg: { span: 18 }, sm: { span: 18 } }" v-if="getData('type')==1">
+          <a-select v-decorator="['updateActionBarText']" showSearch allowClear placeholder="选择行动号召按钮文案"
+            optionFilterProp="children" :filterOption="filterOption">
+            <a-select-option v-for="appModel in appList" :key="appModel.id" :value="appModel.actionBarText">
+              {{ appModel.actionBarText }}
+            </a-select-option>
+          </a-select>
+        </a-form-item>
+      </a-form>
+    </a-modal>
+    <a-modal v-model="visibleFail" title="重提信息" :footer="null">
+      <div v-if="fail">
+        修改成功条数:{{ fail.successCount }} &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;失败条数:{{
+              fail.failCount
+            }}
+        <div style="margin-top:20px">
+          <p v-for="(item, index) of fail.failInfo" :key="index">
+            <span>名称:{{ item.campaignName?item.campaignName:item.unitName }}</span><br />
+            <span>错误信息:{{ item.message }}</span>
+          </p>
+        </div>
+      </div>
+    </a-modal>
+    <a-modal title="推荐标题" v-model="titleVisible" :width="1000" :footer="null">
+      <a-row :gutter="10">
+        <a-col :sm="10" style="margin-bottom: 20px;z-index: 10">
+          <a-card class="search-box" style="min-height:500px">
+            <div style="margin-bottom:30px">
+              <span style="display:inline-block;width:80px">行业</span>
+              <a-cascader style="margin-top: 1rem;width:300px" v-model="dataOne" :options="options"
+                :showSearch="{ filter }" expandTrigger="hover" @change="onChangeTitle" placeholder="请选择行业">
+                <a-icon type="smile" slot="suffixIcon" class="test" />
+              </a-cascader>
+            </div>
+            <div style="margin-bottom:30px">
+              <span style="display:inline-block;width:80px">关键词</span>
+              <a-input placeholder="请输入关键词" v-model="value" style="width: 300px" />
+            </div>
+            <span style="display:inline-block;width:80px;float:left"></span>
+            <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">
+          <a-card class="search-box" style="over-flow:auto">
+            <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>
+          </a-card>
+        </a-col>
+      </a-row>
+    </a-modal>
+    <a-modal title="收藏标题" v-model="cunTitleVisible" :width="1000" :footer="null">
+      <a-row :gutter="10">
+        <a-col :sm="24" style="margin-bottom: 20px;z-index: 10">
+          <a-card class="search-box" style="over-flow:auto">
+            <a-list size="large" bordered :dataSource="cunTitleList">
+              <a-list-item slot="renderItem" slot-scope="item">
+
+                <div slot="actions">
+                  <a @click="okTitleCun(item)">选择</a>
+                  <!-- <a-divider type="vertical" />
+                  <a @click="removeTitleCun(item)">删除</a> -->
+                </div>
+                {{ item.title }}
+              </a-list-item>
+            </a-list>
+          </a-card>
+        </a-col>
+      </a-row>
+    </a-modal>
+  </div>
+</template>
+
+<script>
+  import moment from 'moment'
+  import {
+    getRefuseCreative,
+    updateCreative,
+    selectByCreateName
+  } from '@api/statistics'
+  import axios from 'axios'
+  import EditableCell from './components/EditableCell'
+  import {
+    mapGetters
+  } from 'vuex'
+  import {
+    deleteAction,
+    getAction,
+    postAction
+  } from '@/api/manage'
+  import Treeselect from './components/Treeselect.vue'
+
+  import {
+    stopOtherVideo,
+    closeAllVideoFun
+  } from '@/utils/videoControl' // 停止除当前外的其他视频播放,及停止所有视频播放的方法
+  const columns = [{
+      title: '账号Id',
+      dataIndex: 'accountId',
+      key: 'accountId',
+      align: 'center'
+    },
+    {
+      title: '计划Id',
+      dataIndex: 'campaignId',
+      key: 'campaignId',
+      align: 'center'
+    },
+    {
+      title: '广告组id',
+      dataIndex: 'unitId',
+      key: 'unitId',
+      align: 'center'
+    },
+    {
+      title: '创意id',
+      dataIndex: 'creativeId',
+      key: 'photoClick',
+      align: 'center'
+    },
+    {
+      title: '创意名称',
+      dataIndex: 'creativeName',
+      key: 'creativeName',
+      align: 'left',
+      scopedSlots: {
+        customRender: 'creativeName'
+      }
+    },
+    // {
+    //   title: '视频',
+    //   dataIndex: 'videoUrl',
+    //   key: 'videoUrl',
+    //   align: 'center',
+    //   scopedSlots: {
+    //     customRender: 'videoUrl'
+    //   }
+    // },
+    {
+      title: '封面',
+      dataIndex: 'coverUrl',
+      key: 'coverUrl',
+      align: 'center',
+      scopedSlots: {
+        customRender: 'coverUrl'
+      }
+    },
+    {
+      title: '拒绝原因',
+      dataIndex: 'reviewDetail',
+      key: 'reviewDetail',
+      align: 'left'
+    },
+
+    {
+      title: '广告语',
+      dataIndex: 'description',
+      key: 'description',
+      align: 'left',
+      scopedSlots: {
+        customRender: 'description'
+      }
+    }
+  ]
+
+  export default {
+    name: 'refuse-data',
+    components: {
+      EditableCell,
+      Treeselect
+    },
+
+    data: function () {
+      return {
+        title: '被拒创意列表',
+        visibleFail: false,
+        visibleAgain: false,
+        againLoading: false,
+        fail: null,
+        appId: null,
+        loading: false,
+        columns,
+        dataList: [],
+        titleVisible: false,
+        cunTitleVisible: false,
+        keyWord: '',
+        editTitle: '',
+        confirmLoading: false,
+        visible: false,
+        editWord: '',
+        nowData: null,
+        selectedRowKeys: [],
+        selectedRowKeysValue: [],
+        loadingList: false,
+        loadingSyncCreative: false,
+        ipagination: {
+          current: 1,
+          pageSize: 50,
+          showTotal: (total, range) => {
+            return range[0] + '-' + range[1] + ' 共' + total + '条'
+          },
+          showQuickJumper: true,
+          //   showSizeChanger: true,
+          total: 0,
+          onChange: current => {
+            // 切换分页时的回调,
+            // 当在页面定义change事件时,切记要把此处的事件清除,因为这两个事件重叠了,可能到时候会导致一些莫名的bug
+            this.ipagination.current = current
+            this.selectedRowKeys = []
+            this.selectedRowKeysValue = []
+            this.addUser()
+          }
+        },
+        form: this.$form.createForm(this),
+        appList: [],
+        options: [],
+        cunTitleList: [],
+        title: [],
+        dataOne: [],
+        value: ''
+      }
+    },
+    filters: {
+      typeStatus(type) {
+        // 2 - 提升应用安装;
+        // 3 - 获取电商下单;
+        // 4 - 推广品牌活动;
+        // 5 - 收集销售线索;
+        var data = ['', '', '提升应用安装', '获取电商下单', '推广品牌活动', '收集销售线索']
+        return data[type]
+      },
+      status(sta) {
+        var data = {
+          '-1': '不限',
+          1: '已暂停',
+          3: '计划超预算',
+          4: '有效',
+          6: '余额不足'
+        }
+        return data[sta]
+      },
+      putStatus(sta) {
+        var data = {
+          1: '投放中',
+          2: '暂停'
+        }
+        return data[sta]
+      },
+      createChannel(sta) {
+        var data = {
+          0: '投放后台',
+          1: '汇创助手'
+        }
+        return data[sta]
+      }
+    },
+    watch: {
+      appId(n, o) {
+        console.log(n, o)
+        if (n != o) {
+          this.ipagination.current = 1
+        }
+      },
+      visibleFail(n, o) {
+        if (!n) {
+          this.visibleAgain = false
+          this.selectedRowKeys = []
+          this.selectedRowKeysValue = []
+          this.addUser()
+        }
+      }
+    },
+    methods: {
+      filter(inputValue, path) {
+        return path.some(option => option.label.toLowerCase().indexOf(inputValue.toLowerCase()) > -1)
+      },
+      onChangeTitle(value, selectedOptions) {
+        console.log(value, selectedOptions)
+        this.dataOne = value
+        this.value = ''
+        this.title = []
+      },
+      okTitleCun(item) {
+        console.log(item)
+        this.form.setFieldsValue({
+          updateDescription: item.title
+        })
+        this.cunTitleVisible = false;
+        this.cunTitleList = []
+      },
+
+      okTitle(item) {
+        this.form.setFieldsValue({
+          updateDescription: item
+        })
+        this.titleVisible = false;
+        this.dataOne = []
+        this.value = ""
+        this.title = []
+      },
+      searchQuery() {
+        // /ctop/creativeTitle/titleSuggestion
+        console.log(this.value)
+        getAction('/ctop/creativeTitle/titleSearch', {
+          firstCategory: this.dataOne[0],
+          secondCategory: this.dataOne[1],
+          keywords: this.value
+        }).then(res => {
+          console.log(res)
+          this.title = res.result ? res.result : []
+        })
+        // firstCategory,secondCategory,keywords
+      },
+      filterOption(input, option) {
+        return option.componentOptions.children[0].text.toLowerCase().indexOf(input.toLowerCase()) >= 0
+      },
+      getData(className) {
+        return this.form.getFieldValue(className)
+      },
+      syncCreative() {
+
+        this.loadingSyncCreative = true
+        var params = {}
+        //  localStorage.setItem('accountIdCreat', record.campaignId)
+        // localStorage.setItem('accountIdCreatNow', this.appId)
+        params.accountId = localStorage.getItem('accountIdCreatNow')
+        params.campaignId = localStorage.getItem('accountIdCreat')
+        getAction('/MaterialRefuse/syncCreative', params).then(res => {
+          if (res.success) {
+            this.loadingSyncCreative = false
+            this.$message.success("同步成功")
+          } else {
+            this.loadingSyncCreative = false
+            this.$message.error(res.message)
+          }
+        })
+      },
+      clickAgain() {
+        // this.loadingList = true
+        this.visibleAgain = true
+        getAction('/kuaishou/batch/getActionBarText', {
+          campaignId: localStorage.getItem('accountIdCreat')
+        }).then(res => {
+          if (res.success) {
+            this.appList = res.result
+          }
+        })
+        // var params = {}
+        // params.accountId = this.appId + ''
+        // params.creativeArr = this.selectedRowKeysValue
+        // postAction('/MaterialRefuse/batchUpdateCreative', params).then(res => {
+        //   if (res.success) {
+        //     this.loadingList = false
+        //     this.selectedRowKeysValue = []
+        //     this.selectedRowKeys = []
+        //     this.visibleFail = true
+        //     this.fail = res.result
+        //     this.addUser()
+        //   } else {
+        //     this.loadingList = false
+        //     this.visibleFail = true
+        //     this.fail = res.result
+        //     this.$message.error(res.message)
+        //   }
+        // })
+      },
+      showTitle() {
+        this.titleVisible = true;
+        this.getHangye()
+      },
+      showCunTitle() {
+        this.cunTitleVisible = true
+        this.getCunTitle()
+      },
+      getCunTitle() {
+        var params = {}
+        params.accountId = localStorage.getItem('accountIdCreatNow')
+        params.userId = this.userInfo().id
+        params.pageNo = 1
+        params.pageSize = 500
+        getAction('/kuaishou/kuaiShouTitleCollection/list', params).then(res => {
+          if (res.success) {
+            console.log(res.result)
+            this.cunTitleList = res.result.records
+          }
+        })
+      },
+      getHangye() {
+        getAction('/ctop/creativeTitle/getTitleLabel', '').then(res => {
+          console.log(res)
+          if (res.success) {
+            this.options = res.result.map(item => {
+              return {
+                label: item.label,
+                value: item.value,
+                children: item.children.length > 0 ? [{
+                  label: '不限',
+                  value: 0
+                }].concat(item.children) : [{
+                  label: '不限',
+                  value: 0
+                }]
+              }
+            })
+            this.options = [{
+              label: '不限',
+              value: 0
+            }].concat(this.options)
+            if (this.dataOne.length > 0) {
+              return
+            } else {
+              this.dataOne = [0]
+            }
+
+          }
+        })
+      },
+      onSelectChange(selectedRowKeys, selectionRows) {
+        this.selectedRowKeys = selectedRowKeys
+        this.selectedRowKeysValue = selectionRows.map(item => {
+          return {
+            description: item.description,
+            creativeId: item.creativeId
+          }
+        })
+        //    this.selectedRowKeysValue.length > 0 ? this.selectedRowKeysValue :
+      },
+      handleOkAgain(e) {
+        this.againLoading = true
+        this.form.validateFields((err, values) => {
+          if (!err) {
+            var params = {
+
+              ...values,
+              accountId: localStorage.getItem('accountIdCreatNow'),
+              creativeArr: this.selectedRowKeysValue
+            }
+            postAction('/MaterialRefuse/batchUpdateCreative', params).then(res => {
+              if (res.success) {
+                // this.visibleFail = true
+                this.visibleAgain = false
+                this.selectedRowKeys = []
+                this.selectedRowKeysValue = []
+                this.addUser()
+                this.againLoading = false
+                this.$message.success(res.message)
+              } else {
+                this.againLoading = false
+                this.$message.error(res.message)
+              }
+            })
+          }
+        })
+      },
+      handleOk(e) {
+        this.confirmLoading = true
+        var params = {}
+        params.accountId = this.nowData.accountId
+        params.campaignId = this.nowData.campaignId
+        params.unitId = this.nowData.unitId
+        params.creativeId = this.nowData.creativeId
+        params.creativeName = this.editTitle == '创意名称修改' ? this.editWord : this.nowData.creativeName
+        params.description = this.editTitle == '广告语修改' ? this.editWord : this.nowData.description
+        updateCreative(params).then(res => {
+          if (res.code == 0) {
+            this.addUser()
+            this.visible = false
+            this.confirmLoading = false
+          } else {
+            this.$message.error(res.message)
+            this.visible = false
+            this.confirmLoading = false
+          }
+        })
+      },
+      handleCancel(e) {
+        this.visible = false
+      },
+      handleClose(e) {
+        this.visibleAgain = false
+        this.form.resetFields()
+      },
+      onCellChange(item, dataIndex) {
+        this.editWord = item[dataIndex]
+        this.editTitle = dataIndex == 'creativeName' ? '创意名称修改' : '广告语修改'
+        this.nowData = item
+        this.visible = true
+      },
+      moment,
+      ...mapGetters(['nickname', 'avatar', 'userInfo']),
+      addUser() {
+        this.loading = true
+        var params = {}
+        //  localStorage.setItem('accountIdCreat', record.campaignId)
+        // localStorage.setItem('accountIdCreatNow', this.appId)
+        params.accountId = localStorage.getItem('accountIdCreatNow')
+        params.campaignId = localStorage.getItem('accountIdCreat')
+        params.pageSize = this.ipagination.pageSize
+        params.pageNo = this.ipagination.current
+        getAction('/MaterialRefuse/getRefuseCreative', params).then(res => {
+          if (res.code == 0) {
+            this.dataList = res.result.records.map((v, index) => {
+              return {
+                ...v,
+                key: index
+              }
+            })
+            this.list = this.dataList
+            this.loading = false
+            this.ipagination.total = res.result.total
+          }
+        })
+      },
+      addUserKey() {
+        this.dataList = this.list.filter(item => {
+          return item.creativeName.toLowerCase().indexOf(this.keyWord.toLowerCase()) > -1
+        })
+      },
+      reset() {
+        this.addUser()
+      }
+    },
+    distoryed() {},
+    updated() {
+      stopOtherVideo()
+    },
+    mounted: function () {
+      this.$nextTick(() => {
+        this.addUser()
+      })
+    }
+  }
+</script>

+ 3 - 2
src/views/modules/material/supplierMaterial.vue

@@ -324,8 +324,9 @@
           </a-col>
           <!--  -->
           <a-col :md="8" :sm="8">
-            <a-form-item label="时间选择">
-              <a-date-picker v-model="queryParam.createTime" format="YYYY-MM-DD" style="width:100%" />
+            <a-form-item label="搜索时间">
+              <a-range-picker  v-model="queryParam.createTime"  format="YYYY-MM-DD" style="width:100%"/>
+              <!--              <a-date-picker v-model="queryParam.startDate" format="YYYY-MM-DD" style="width:100%" />-->
               <!-- <a-input placeholder="请输入查询时间" v-model="queryParam.createTime"></a-input> -->
             </a-form-item>
           </a-col>

文件差异内容过多而无法显示
+ 1398 - 1368
src/views/modules/material/videoMaterial.vue


+ 2 - 2
vue.config.js

@@ -59,7 +59,7 @@ module.exports = {
         // target: 'http://192.168.1.90:8080', //请求本地 需要jeecg-boot后台项目  蒙蒙
         // target: 'http://192.168.1.72:8088', //请求本地 需要jeecg-boot后台项目  英豪
         // target: 'http://192.168.2.115:8080', //请求本地 需要jeecg-boot后台项目  祚云
-        // target: 'http://192.168.1.94:8910', //请求本地 需要jeecg-boot后台项目  孙震
+        // target: 'http://192.168.1.94:8088', //请求本地 需要jeecg-boot后台项目  孙震
         // target: 'http://192.168.0.230:8088', //请求本地 需要jeecg-boot后台项目  孙震
         target: 'http://192.168.1.51:8088', //请求本地 需要jeecg-boot后台项目  毕洁泉
         // target: 'http://192.168.0.170:8088', //请求本地 需要jeecg-boot后台项目  毕洁泉
@@ -67,7 +67,7 @@ module.exports = {
         // target: 'https://trac.tjyourong.com.cn', //请求本地 需要jeecg-boot后台项目 
         // target: 'http://39.106.184.70:8088/', //请求本地 需要jeecg-boot后台项目 
         // target: 'http://adsp.tjyourong.com.cn/', //请求本地 需要jeecg-boot后台项目 
-        // target: 'http://192.168.1.251/', //请求本地 需要jeecg-boot后台项目 
+        target: 'http://192.168.1.251/', //请求本地 需要jeecg-boot后台项目 
 
         ws: false,
         changeOrigin: true,