瀏覽代碼

素材大盘设计组和设计人数据维度

朱鑫波 3 年之前
父節點
當前提交
5e0645b127

+ 77 - 5
src/views/modules/Statistics/materialReport/marterialList.vue

@@ -35,9 +35,49 @@
       <div class="option" style="justify-content: space-between">
       <div class="option" style="justify-content: space-between">
         <div class="option" style="padding: 0">
         <div class="option" style="padding: 0">
           <div class="item">
           <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"> 
+              <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>
             <span>唯一编码</span>
             <a-input style="width: 300px" v-model="md5"></a-input>
             <a-input style="width: 300px" v-model="md5"></a-input>
           </div>
           </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="0">真人</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>
 
 
         <div class="item" style="float: right">
         <div class="item" style="float: right">
@@ -392,13 +432,17 @@ export default {
       dateValue: [moment().subtract(7, 'days'), moment()],
       dateValue: [moment().subtract(7, 'days'), moment()],
       dataDimension: 'a',
       dataDimension: 'a',
       mediaDimension: 'b',
       mediaDimension: 'b',
-      dataDimensionValue: [],
+      dataDimensionValue:[],
       dataDimensionList: [],
       dataDimensionList: [],
+      materialQuality:'',
+      materialType:'',
+      innovative:'',
       specificLoading: false,
       specificLoading: false,
       order: null,
       order: null,
       target: null,
       target: null,
       materialData: null,
       materialData: null,
       md5: '',
       md5: '',
+      mediaId: 2,
       visible: false,
       visible: false,
       listNum: [],
       listNum: [],
       scrollX: 1500,
       scrollX: 1500,
@@ -423,6 +467,9 @@ export default {
     },
     },
   },
   },
   methods: {
   methods: {
+    disabledDate(current) {
+      return current && current > moment().subtract(1, 'days')
+    },
     rowClick(record, index) {
     rowClick(record, index) {
       return {
       return {
         on: {
         on: {
@@ -521,7 +568,23 @@ export default {
       this.loading = true
       this.loading = true
       var params = { ...data }
       var params = { ...data }
       params.channelType = null
       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) {
       if (data.target) {
         params.target = data.target
         params.target = data.target
         if (data.order == 'descend') {
         if (data.order == 'descend') {
@@ -685,9 +748,18 @@ export default {
           this.changeColumn(this.columns)
           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({})
+      })
+     
+      
     })
     })
   },
   },
 }
 }

+ 73 - 5
src/views/modules/Statistics/materialReport/marterialTtList.vue

@@ -33,11 +33,51 @@
   <div class="materialReport">
   <div class="materialReport">
     <div class="card-container">
     <div class="card-container">
       <div class="option" style="justify-content: space-between">
       <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"> 
+              <a-radio-button value="b">快手</a-radio-button>
+              <a-radio-button value="a">头条</a-radio-button>
+            </a-radio-group>
+          </div>
           <div class="item">
           <div class="item">
             <span>唯一编码</span>
             <span>唯一编码</span>
             <a-input style="width: 300px" v-model="md5"></a-input>
             <a-input style="width: 300px" v-model="md5"></a-input>
           </div>
           </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="0">真人</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>
 
 
         <div class="item" style="float: right">
         <div class="item" style="float: right">
@@ -339,9 +379,12 @@ export default {
       },
       },
       dateValue: [moment().subtract(6, 'days'), moment()],
       dateValue: [moment().subtract(6, 'days'), moment()],
       dataDimension: 'a',
       dataDimension: 'a',
-      mediaDimension: 'b',
-      dataDimensionValue: [],
+      mediaDimension: 'a',
+      dataDimensionValue:[],
       dataDimensionList: [],
       dataDimensionList: [],
+      materialQuality:'',
+      materialType:'',
+      innovative:'',
       specificLoading: false,
       specificLoading: false,
       order: null,
       order: null,
       target: null,
       target: null,
@@ -468,6 +511,23 @@ export default {
       this.loading = true
       this.loading = true
       var params = { ...data }
       var params = { ...data }
       params.channelType = null
       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) {
       if (data.target) {
         params.target = data.target
         params.target = data.target
@@ -634,8 +694,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({})
+      })
     })
     })
   },
   },
 }
 }

文件差異過大導致無法顯示
+ 216 - 82
src/views/modules/Statistics/materialReport/materialReport.vue