朱鑫波 пре 3 година
родитељ
комит
1151af5565

+ 4 - 0
.env.development

@@ -11,3 +11,7 @@ VUE_APP_BASE_REPORT_URL = http://api.tjyourong.com.cn/reportModule
 
 #脚本视频接口
 VUE_APP_BASE_SCRIPT_URL = http://139.186.134.115:31013
+
+
+#素材大盘相关接口
+VUE_APP_BASE_MATERIAL_URL = http://192.168.0.195:9999/material

+ 7 - 1
.env.production

@@ -9,4 +9,10 @@ VUE_APP_BASE_REPORT_URL = http://api.tjyourong.com.cn/reportModule
 #脚本视频接口
 VUE_APP_BASE_SCRIPT_URL = http://114.117.193.186:31013
 # 线上地址 http://114.117.193.186:31013
-# 测试地址 http://139.186.134.115:31013
+# 测试地址 http://139.186.134.115:31013
+
+
+#素材大盘相关接口
+VUE_APP_BASE_MATERIAL_URL = http://192.168.0.195:9999/material
+# 泽宇 http://192.168.1.134:9999
+# 测试 http://192.168.0.195:9999

+ 1 - 0
src/utils/request.js

@@ -24,6 +24,7 @@ else if (process.env.NODE_ENV === 'production') {
 	// axios.defaults.baseURL = 'http://api.tjyourong.com.cn/jeecg-boot'; // 生产环境
 	// axios.defaults.baseURL = 'http://gateway.tjyourong.com.cn/jeecg-boot'; // 测试环境
 	axios.defaults.baseURL = 'http://192.168.0.195:9999/jeecg-boot'; // 测试环境
+	// axios.defaults.baseURL = 'http://192.168.1.134:9999/jeecg-boot'; // 泽宇环境
 
 }
 const service = axios.create({

+ 107 - 19
src/views/modules/Statistics/materialReport/marterialList.vue

@@ -35,9 +35,49 @@
       <div class="option" style="justify-content: space-between">
         <div class="option" style="padding: 0">
           <div class="item">
+            <span>日期选择</span>
+            <a-range-picker
+                v-model="dateValue"
+                :ranges="dateRanges"
+                :disabled-date="disabledDate"
+                style="width: 300px"
+            />
+          </div>
+          <div class="item">
+            <span>媒体维度</span>
+            <a-radio-group v-model="mediaDimension" style="width: 300px" disabled> 
+              <a-radio-button value="b">快手</a-radio-button>
+              <a-radio-button value="a">头条</a-radio-button>
+            </a-radio-group>
+          </div>
+          <div class="item">
             <span>唯一编码</span>
             <a-input style="width: 300px" v-model="md5"></a-input>
           </div>
+          <div class="item">
+            <span>素材质量</span>
+            <a-select v-model="materialQuality" placeholder="请选择素材质量" style="width: 300px">
+              <a-select-option :value="''">不限</a-select-option>
+              <a-select-option :value="0">爆款视频</a-select-option>
+              <a-select-option :value="1">有效视频</a-select-option>
+            </a-select>
+          </div>
+          <div class="item">
+            <span>素材类型</span>
+            <a-select v-model="materialType" placeholder="请选择素材类型" style="width: 300px">
+              <a-select-option :value="''">不限</a-select-option>
+              <a-select-option :value="2">真人</a-select-option>
+              <a-select-option :value="1">制作</a-select-option>
+            </a-select>
+          </div>
+          <div class="item">
+            <span>创新视频</span>
+            <a-select v-model="innovative" placeholder="请选择创新视频" style="width: 300px">
+              <a-select-option :value="''">不限</a-select-option>
+              <a-select-option :value="0">创新视频</a-select-option>
+              <a-select-option :value="1">非创新视频</a-select-option>
+            </a-select>
+          </div>
         </div>
 
         <div class="item" style="float: right">
@@ -392,13 +432,17 @@ export default {
       dateValue: [moment().subtract(7, 'days'), moment()],
       dataDimension: 'a',
       mediaDimension: 'b',
-      dataDimensionValue: [],
+      dataDimensionValue:[],
       dataDimensionList: [],
+      materialQuality:'',
+      materialType:'',
+      innovative:'',
       specificLoading: false,
       order: null,
       target: null,
       materialData: null,
       md5: '',
+      mediaId: 2,
       visible: false,
       listNum: [],
       scrollX: 1500,
@@ -423,6 +467,9 @@ export default {
     },
   },
   methods: {
+    disabledDate(current) {
+      return current && current > moment().subtract(1, 'days')
+    },
     rowClick(record, index) {
       return {
         on: {
@@ -521,7 +568,23 @@ export default {
       this.loading = true
       var params = { ...data }
       params.channelType = null
-
+      params.mediaId = this.mediaDimension === 'a' ? 1 : 2
+      params.startDate = this.dateValue.length === 2 ? moment(this.dateValue[0]).format('YYYY-MM-DD') : null
+      params.endDate = this.dateValue.length === 2 ? moment(this.dateValue[1]).format('YYYY-MM-DD') : null
+      params.dimension =
+          this.dataDimension === 'a' ? 'project' : this.dataDimension === 'b' ? 'designTeam' : 'designer'
+      params.userId = this.userInfo().id
+      params.materialQuality = this.materialQuality
+      params.materialType = this.materialType
+      params.innovative = this.innovative
+      params.md5 = this.md5
+      if (this.dataDimension === 'a') {
+          params.projects = this.dataDimensionValue
+      } else if (this.dataDimension === 'b') {
+          params.leaderId = this.dataDimensionValue
+      } else {
+          params.designerId = this.userInfo().id
+      }
       if (data.target) {
         params.target = data.target
         if (data.order == 'descend') {
@@ -536,7 +599,7 @@ export default {
 
       params.pageSize = this.ipagination.pageSize
       params.pageNo = this.ipagination.current
-      this.postDataAction('/overView/materialTopViewMore', params).then((res) => {
+      this.postDataAction(process.env.VUE_APP_BASE_MATERIAL_URL + '/overView/V2/materialTopViewMore', params).then((res) => {
         this.loading = false
         this.resetLoading = false
         this.videoloading = false
@@ -574,7 +637,7 @@ export default {
         } else {
           params.target = this.params.order = this.order == 'descend' ? 'desc' : 'asc'
         }
-        this.postDataAction('/overView/designTop', params).then((res) => {
+        this.postDataAction(process.env.VUE_APP_BASE_MATERIAL_URL + '/overView/V2/designTop', params).then((res) => {
           this.designTopLoading = false
           if (res.success) {
             this.designTopList = res.result.list
@@ -596,6 +659,13 @@ export default {
       this.ipagination.current = 1
       this.resetLoading = true
       this.md5 = ''
+      this.dateValue = this.materialData.dateValue
+      this.dataDimension = this.materialData.dataDimension
+      this.mediaDimension = this.materialData.mediaDimension
+      this.dataDimensionValue = this.materialData.dataDimensionValue
+      this.materialType = this.materialData.materialType
+      this.materialQuality = this.materialData.materialQuality
+      this.innovative = ''
       this.getData()
     },
     //导出报表
@@ -605,20 +675,29 @@ export default {
         return item.dataIndex
       })
       let columns = column.splice(4)
-      // "mediaId":"",
-      // "projects":[],
-      // "columns":"",
-      // "startDate":"",
-      // "endDate":"",
-      // "channelType":"",
-      // "md5":"",
-      // "target":"",
-      // "order":""
-      downFilePost('/overView/excel', {
-        ...this.materialData,
+            var params = {}
+      params.channelType = null
+      params.mediaId = this.mediaDimension === 'a' ? 1 : 2
+      params.startDate = this.dateValue.length === 2 ? moment(this.dateValue[0]).format('YYYY-MM-DD') : null
+      params.endDate = this.dateValue.length === 2 ? moment(this.dateValue[1]).format('YYYY-MM-DD') : null
+      params.dimension =
+          this.dataDimension === 'a' ? 'project' : this.dataDimension === 'b' ? 'designTeam' : 'designer'
+      params.userId = this.userInfo().id
+      params.materialQuality = this.materialQuality
+      params.materialType = this.materialType
+      params.innovative = this.innovative
+      if (this.dataDimension === 'a') {
+          params.projects = this.dataDimensionValue
+      } else if (this.dataDimension === 'b') {
+          params.leaderId = this.dataDimensionValue
+      } else {
+          params.designerId = this.userInfo().id
+      }
+      downFilePost(process.env.VUE_APP_BASE_MATERIAL_URL + '/overView/V2/excel', {
+        ...params,
         columns,
         target: this.target,
-        order: this.order == 'descend' ? 'desc' : 'asc',
+        order: 'desc',
         md5: this.md5,
       }).then((res) => {
         let blob = new Blob([res], {
@@ -685,9 +764,18 @@ export default {
           this.changeColumn(this.columns)
         }
       })
-
-      this.materialData = JSON.parse(localStorage.getItem('materialParams'))
-      this.getMoreVideoList(this.materialData)
+      this.$nextTick(()=>{
+        this.materialData = JSON.parse(localStorage.getItem('materialParams'))
+        this.dateValue = this.materialData.dateValue
+        this.dataDimension = this.materialData.dataDimension
+        this.mediaDimension = this.materialData.mediaDimension
+        this.dataDimensionValue = this.materialData.dataDimensionValue
+        this.materialType = this.materialData.materialType
+        this.materialQuality = this.materialData.materialQuality
+        this.getMoreVideoList({})
+      })
+     
+      
     })
   },
 }

+ 104 - 10
src/views/modules/Statistics/materialReport/marterialTtList.vue

@@ -33,11 +33,51 @@
   <div class="materialReport">
     <div class="card-container">
       <div class="option" style="justify-content: space-between">
-        <div class="option" style="padding: 0">
+                <div class="option" style="padding: 0">
+          <div class="item">
+            <span>日期选择</span>
+            <a-range-picker
+                v-model="dateValue"
+                :ranges="dateRanges"
+                :disabled-date="disabledDate"
+                style="width: 300px"
+            />
+          </div>
+          <div class="item">
+            <span>媒体维度</span>
+            <a-radio-group v-model="mediaDimension" style="width: 300px" disabled> 
+              <a-radio-button value="b">快手</a-radio-button>
+              <a-radio-button value="a">头条</a-radio-button>
+            </a-radio-group>
+          </div>
           <div class="item">
             <span>唯一编码</span>
             <a-input style="width: 300px" v-model="md5"></a-input>
           </div>
+          <div class="item">
+            <span>素材质量</span>
+            <a-select v-model="materialQuality" placeholder="请选择素材质量" style="width: 300px">
+              <a-select-option :value="''">不限</a-select-option>
+              <a-select-option :value="0">爆款视频</a-select-option>
+              <a-select-option :value="1">有效视频</a-select-option>
+            </a-select>
+          </div>
+          <div class="item">
+            <span>素材类型</span>
+            <a-select v-model="materialType" placeholder="请选择素材类型" style="width: 300px">
+              <a-select-option :value="''">不限</a-select-option>
+              <a-select-option :value="2">真人</a-select-option>
+              <a-select-option :value="1">制作</a-select-option>
+            </a-select>
+          </div>
+          <div class="item">
+            <span>创新视频</span>
+            <a-select v-model="innovative" placeholder="请选择创新视频" style="width: 300px">
+              <a-select-option :value="''">不限</a-select-option>
+              <a-select-option :value="0">创新视频</a-select-option>
+              <a-select-option :value="1">非创新视频</a-select-option>
+            </a-select>
+          </div>
         </div>
 
         <div class="item" style="float: right">
@@ -339,9 +379,12 @@ export default {
       },
       dateValue: [moment().subtract(6, 'days'), moment()],
       dataDimension: 'a',
-      mediaDimension: 'b',
-      dataDimensionValue: [],
+      mediaDimension: 'a',
+      dataDimensionValue:[],
       dataDimensionList: [],
+      materialQuality:'',
+      materialType:'',
+      innovative:'',
       specificLoading: false,
       order: null,
       target: null,
@@ -468,6 +511,23 @@ export default {
       this.loading = true
       var params = { ...data }
       params.channelType = null
+      params.mediaId = this.mediaDimension === 'a' ? 1 : 2
+      params.startDate = this.dateValue.length === 2 ? moment(this.dateValue[0]).format('YYYY-MM-DD') : null
+      params.endDate = this.dateValue.length === 2 ? moment(this.dateValue[1]).format('YYYY-MM-DD') : null
+      params.dimension =
+          this.dataDimension === 'a' ? 'project' : this.dataDimension === 'b' ? 'designTeam' : 'designer'
+      params.userId = this.userInfo().id
+      params.materialQuality = this.materialQuality
+      params.materialType = this.materialType
+      params.innovative = this.innovative
+      params.md5 = this.md5
+      if (this.dataDimension === 'a') {
+          params.projects = this.dataDimensionValue
+      } else if (this.dataDimension === 'b') {
+          params.leaderId = this.dataDimensionValue
+      } else {
+          params.designerId = this.userInfo().id
+      }
 
       if (data.target) {
         params.target = data.target
@@ -483,7 +543,7 @@ export default {
 
       params.pageSize = this.ipagination.pageSize
       params.pageNo = this.ipagination.current
-      this.postDataAction('/overView/materialTopViewMore', params).then((res) => {
+      this.postDataAction(process.env.VUE_APP_BASE_MATERIAL_URL + '/overView/V2/materialTopViewMore', params).then((res) => {
         this.loading = false
         this.resetLoading = false
         this.videoLoading = false
@@ -522,7 +582,7 @@ export default {
           params.target = this.target
           params.order = this.order == 'descend' ? 'desc' : 'asc'
         }
-        this.postDataAction('/overView/designTop', params).then((res) => {
+        this.postDataAction(process.env.VUE_APP_BASE_MATERIAL_URL + '/overView/V2/designTop', params).then((res) => {
           this.designTopLoading = false
           if (res.success) {
             this.designTopList = res.result.list
@@ -544,6 +604,13 @@ export default {
       this.resetLoading = true
       this.ipagination.current = 1
       this.md5 = ''
+      this.dateValue = this.materialData.dateValue
+      this.dataDimension = this.materialData.dataDimension
+      this.mediaDimension = this.materialData.mediaDimension
+      this.dataDimensionValue = this.materialData.dataDimensionValue
+      this.materialType = this.materialData.materialType
+      this.materialQuality = this.materialData.materialQuality
+      this.innovative = ''
       this.getData()
     },
     //导出报表
@@ -562,12 +629,31 @@ export default {
       // "md5":"",
       // "target":"",
       // "order":""
-      downFilePost('/overView/excel', {
-        ...this.materialData,
+      var params = {}
+      params.channelType = null
+      params.mediaId = this.mediaDimension === 'a' ? 1 : 2
+      params.startDate = this.dateValue.length === 2 ? moment(this.dateValue[0]).format('YYYY-MM-DD') : null
+      params.endDate = this.dateValue.length === 2 ? moment(this.dateValue[1]).format('YYYY-MM-DD') : null
+      params.dimension =
+          this.dataDimension === 'a' ? 'project' : this.dataDimension === 'b' ? 'designTeam' : 'designer'
+      params.userId = this.userInfo().id
+      params.materialQuality = this.materialQuality
+      params.materialType = this.materialType
+      params.innovative = this.innovative
+      if (this.dataDimension === 'a') {
+          params.projects = this.dataDimensionValue
+      } else if (this.dataDimension === 'b') {
+          params.leaderId = this.dataDimensionValue
+      } else {
+          params.designerId = this.userInfo().id
+      }
+      downFilePost(process.env.VUE_APP_BASE_MATERIAL_URL + '/overView/V2/excel', {
+        ...params,
         columns,
         target: this.target,
-        order: this.order == 'descend' ? 'desc' : 'asc',
+        order:'desc',
         md5: this.md5,
+        
       }).then((res) => {
         let blob = new Blob([res], {
           type: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet',
@@ -634,8 +720,16 @@ export default {
         }
       })
 
-      this.materialData = JSON.parse(localStorage.getItem('TtmaterialParams'))
-      this.getMoreVideoList(this.materialData)
+      this.$nextTick(()=>{
+        this.materialData = JSON.parse(localStorage.getItem('TtmaterialParams'))
+        this.dateValue = this.materialData.dateValue
+        this.dataDimension = this.materialData.dataDimension
+        this.mediaDimension = this.materialData.mediaDimension
+        this.dataDimensionValue = this.materialData.dataDimensionValue
+        this.materialType = this.materialData.materialType
+        this.materialQuality = this.materialData.materialQuality
+        this.getMoreVideoList({})
+      })
     })
   },
 }

Разлика између датотеке није приказан због своје велике величине
+ 1601 - 1129
src/views/modules/Statistics/materialReport/materialReport.vue


+ 10 - 5
src/views/modules/account-config/components/configuration-modal.vue

@@ -1741,7 +1741,7 @@ export default {
                 creativeIsPresentedVideo: 0,
                 // creativeGenerateDerivedAd: 0,
                 creativeIsCommentDisable: 0,
-                creativeDownloadStatus: 1,
+                creativeDownloadStatus: 0,
                 creativeSubTitle: '',
                 adConvertedTimeDuration: 'THREE_MONTH',
                 adDownloadMode: 'DEFAULT',
@@ -2236,7 +2236,7 @@ export default {
                     this.selectiveList = selectiveListUpdate.filter(item => item.delivery_range === 'UNION');
                 }
                 else {
-                    this.configForm.creativeDownloadStatus = 1;
+                    this.configForm.creativeDownloadStatus = 0;
                     this.configForm.adUnionVideoType = '';
                     // this.configForm.creativeEnablePersonalAction = '';
                     this.configForm.adAudiencePackageId = undefined;
@@ -3016,7 +3016,7 @@ export default {
                         this.configForm.adBudgetMode = detailData.adBudgetMode;
                         this.configForm.adBudget = detailData.adBudget;
                         this.defaultAdBudget = detailData.accountBudget;
-                        this.configForm.componentId = detailData.componentId
+                        
                         this.configForm.adScheduleType = detailData.adScheduleType;
                         this.configForm.launchDateRange[0] = detailData.adStartTime;
                         this.configForm.launchDateRange[1] = detailData.adEndTime;
@@ -3132,13 +3132,17 @@ export default {
                         this.configForm.creativeIsPresentedVideo = detailData.creativeIsPresentedVideo;
                         // this.configForm.creativeGenerateDerivedAd = detailData.creativeGenerateDerivedAd;
                         this.configForm.creativeIsCommentDisable = detailData.creativeIsCommentDisable;
-                        this.configForm.copywritingNumber = detailData.copywritingNumber?detailData.copywritingNumber:0;
-                        this.configForm.creativeDownloadStatus = detailData.creativeDownloadStatus;
+                        this.configForm.copywritingNumber = detailData.copywritingNumber&&detailData.copywritingNumber>0?detailData.copywritingNumber:undefined;
+                       
                         this.configForm.creativeSubTitle = detailData.creativeSubTitle;
                         this.configForm.adConvertedTimeDuration = detailData.adConvertedTimeDuration;
                         this.configForm.adDownloadMode = detailData.adDownloadMode;
                         this.configForm.adAutoExtendTargets = detailData.adAutoExtendTargets;
                         this.AutoExtendEditSelect = detailData.adAutoExtendTargets && detailData.adAutoExtendTargets.split(',');
+                        this.$nextTick(()=>{
+                            this.configForm.componentId = detailData.componentId
+                            this.configForm.creativeDownloadStatus = detailData.creativeDownloadStatus?detailData.creativeDownloadStatus:0;
+                        })
                     }
                     else {
                         this.$message.error(result.message);
@@ -3586,6 +3590,7 @@ export default {
             paramsFormData.creativeProductImageCode = this.md5Result;
             paramsFormData.imageUrl = this.urlResult;
             paramsFormData.adKeywords = this.creativeTag;
+            paramsFormData.copywritingNumber = paramsFormData.copywritingNumber?paramsFormData.copywritingNumber:0
             paramsFormData.userId = this.userInfo().id;
             this.$refs.ruleForm.validate(valid => {
                 if (valid) {

+ 24 - 2
src/views/modules/material/videoMaterial.vue

@@ -501,6 +501,13 @@ a {
         >批量新增</a-button
       >
       <a-button
+        @click="passTheAudit"
+        :disabled="checkArr.length == 0"
+        v-if="active == '0'"
+        type="primary"
+        >批量通过审核</a-button
+      >
+      <a-button
         @click="onCheckAllChange"
         v-if="
           queryParam.productId &&
@@ -862,7 +869,7 @@ a {
                       </a-menu>
                     </a-dropdown>
 					          <a v-show="active === '1'" style="margin-right: 20px" @click="handleRecord(items)">同步记录</a>
-                    <a-checkbox :value="items.id" style="float: right" v-show="active == '1'"></a-checkbox>
+                    <a-checkbox :value="items.id" style="float: right" v-show="active != '2'"></a-checkbox>
                     <br />
                     {{ items.createTime }}
                   </span>
@@ -2839,7 +2846,7 @@ export default {
     batchUploadVisible:function(n,o){
       if(!n){
         md5Arr = []
-        this. ruleForm={
+        this.ruleForm={
           projectId:'',
           urlList:[],
           urlListData:[]
@@ -3534,6 +3541,21 @@ export default {
       eleLink.remove()
     },
     ...mapGetters(['nickname', 'avatar', 'userInfo']),
+    passTheAudit() {
+      if(this.checkArr.length == 0){
+        this.$message.error('请选择素材')
+      }else{
+        this.postDataAction('/ctop/materialInfo/batchEditStatus', {ids:this.checkArr, status:'1'}).then(res=>{
+          if(res.success){
+            this.$message.success(res.message)
+            this.checkArr = []
+            this.searchQuery()
+          }else{
+            this.$message.error(res.message)
+          }
+        })
+      }
+    },
     onCheckAllChange() {
       if (this.checkAll) {
         this.checkArr = []

+ 2 - 2
vue.config.js

@@ -97,7 +97,7 @@ module.exports = {
       '/jeecg-boot': {
         // target: 'http://192.168.1.8:8080', //请求本地 需要jeecg-boot后台项目  蒙蒙
         // target: 'http://192.168.1.3:8080', //请求本地 需要jeecg-boot后台项目  蒙蒙
-        // target: 'http://192.168.1.3:7001', //请求本地 需要jeecg-boot后台项目  蒙蒙
+        target: 'http://192.168.1.3:7001', //请求本地 需要jeecg-boot后台项目  蒙蒙
         // target: 'http://192.168.0.59:8088', //请求本地 需要jeecg-boot后台项目  英豪
         // target: 'http://192.168.1.62:7001', //请求本地 需要jeecg-boot后台项目  英豪
         // target: 'http://192.168.6.162:9806', //请求本地 需要jeecg-boot后台项目  祚云
@@ -119,7 +119,7 @@ module.exports = {
         // target:'http://gateway.tjyourong.com.cn', //测试
         // target:'http://apipre.tjyourong.com.cn', //预生产
         // target: 'http://192.168.1.134:7001', //请求本地 需要jeecg-boot后台项目  周泽宇
-        target:'http://192.168.0.195:9999/',
+        // target:'http://192.168.0.195:9999/',
         // target:'http://gateway.tjyourong.com.cn/',//测试
 
         ws: false,