Explorar el Código

推广素材分类查询

zhaoxiaohai hace 3 años
padre
commit
b51d96ce1f

+ 2 - 1
src/HManagement/archives_ad/modules/filterList.vue

@@ -14,12 +14,12 @@
                     :label="item.classname" @click.native="handleChange(item)" />
             </el-select>
         </div>
-
         <div>
             <p>搜索:</p>
             <el-input style="width:200px" size="small" placeholder="请输入查询内容" @clear="changeSearchContent"
                 @keyup.native.enter="changeSearchContent" v-model="condition" prefix-icon="el-icon-search" clearable />
         </div>
+        <slot />
     </div>
 </template>
 
@@ -97,6 +97,7 @@ export default {
 
 <style scoped>
 .flex-align-center {
+    width: 100%;
     padding-bottom: 15px;
 }
 

+ 35 - 42
src/SManagement/archives_ad/index.vue

@@ -1,17 +1,12 @@
 <template>
   <div style="height:100%">
     <div class="normal-card">
-      <div class="header-panl">
-        <div class="left">
-          <search @searchActive="searchActive" @clearData="clearData()" v-if="tool.checkAuth($route.name, 'read')">
-          </search>
-          <category-select label="素材分类" :selectList="selectList" @changeSelect="changeSelect"
-            @clearSelect="clearSelect()" v-if="tool.checkAuth($route.name, 'read')">
-          </category-select>
-        </div>
-        <!--最新最热切换-->
-        <hot-new-control @sortTypeChange="sortTypeChange" v-if="tool.checkAuth($route.name, 'read')"></hot-new-control>
-      </div>
+      <!-- 搜索及分类筛选 -->
+      <filterList @changeTypeId="changeTypeId" @startSearch="startSearch">
+        <span style="flex: 1;display: flex;justify-content: flex-end;">
+          <hot-new-control @sortTypeChange="sortTypeChange" />
+        </span>
+      </filterList>
       <!--素材列表-->
       <list :fileData="fileData" @listItemClick="listItemClick" :isHandle="false"
         v-if="tool.checkAuth($route.name, 'read')">
@@ -25,6 +20,7 @@
 </template>
 
 <script>
+import filterList from "@/HManagement/archives_ad/modules/filterList.vue";
 import HotNewControl from '@/components/hot-new-control/HotNewControl'
 import CategorySelect from '@/components/category-select/CategorySelect'
 import list from '@/SManagement/archives_ad/components/list'
@@ -78,6 +74,7 @@ export default {
     detail,
     Delete,
     Edit,
+    filterList
   },
   computed: {
   },
@@ -87,23 +84,34 @@ export default {
   },
   methods: {
     //获取文件数据
-    async getFileList() {
+    async getFileList(init = false) {
+      if (init) this.params.content.pageNumber = 1;
       let res = await this.$api.requested(this.params)
-        this.total = res.total
-        for (let i = 0; i < res.data.length; i++) {
-          let list = this.fileType.fileList(res.data[i].attinfos)
-          if (!list.length) continue;
-          let obj = list.find(item => item.fileType == 'image')
-          if (!obj) continue;
-          res.data[i].cover = this.fileType.getSpecifiedImage(obj)
-          res.data.attinfos = list
-        }
-        let initID = '9999' + JSON.parse(window.sessionStorage.getItem("active_account")).userid;
-        let deleteList = [];
-        res.data.forEach(v => (initID == v.sat_sharematerial_classid && v.title == '') ? deleteList.push(v.sat_sharematerialid) : '');
-        if (deleteList.length != 0) this.handleDelete(deleteList);
-        this.fileData = res.data
-        this.params.content.sort = res.sort
+      this.total = res.total
+      for (let i = 0; i < res.data.length; i++) {
+        let list = this.fileType.fileList(res.data[i].attinfos)
+        if (!list.length) continue;
+        let obj = list.find(item => item.fileType == 'image')
+        if (!obj) continue;
+        res.data[i].cover = this.fileType.getSpecifiedImage(obj)
+        res.data.attinfos = list
+      }
+      let initID = '9999' + JSON.parse(window.sessionStorage.getItem("active_account")).userid;
+      let deleteList = [];
+      res.data.forEach(v => (initID == v.sat_sharematerial_classid && v.title == '') ? deleteList.push(v.sat_sharematerialid) : '');
+      if (deleteList.length != 0) this.handleDelete(deleteList);
+      this.fileData = res.data
+      this.params.content.sort = res.sort
+    },
+    /* 改变分类ID */
+    changeTypeId(id) {
+      this.params.content.where.sat_sharematerial_classid = id == 0 ? null : id;
+      this.getFileList(true);
+    },
+    /* 开始搜索 */
+    startSearch(value) {
+      this.params.content.where.condition = value;
+      this.getFileList(true);
     },
     /* 处理批量删除 */
     handleDelete(list) {
@@ -123,27 +131,12 @@ export default {
         this.selectList = res.data
       })
     },
-    //查询
-    searchActive(result) {
-      if (!result) return
-      this.params.content.where.condition = result
-      this.getFileList()
-    },
     sortTypeChange(name) {
       for (let i = 0; i < this.params.content.sort.length; i++) {
         this.params.content.sort[i].sorted = this.params.content.sort[i].sortname == name ? 1 : 0
       }
       this.getFileList()
     },
-    //赛选
-    changeSelect(id) {
-      this.params.content.where.sat_sharematerial_classid = id[id.length - 1]
-      this.getFileList()
-    },
-    //清空赛选
-    clearSelect() {
-      this.getFileList()
-    },
     //列表单击事件
     async listItemClick(data) {
       let param = {

+ 31 - 42
src/SManagement/archives_admag/index.vue

@@ -4,17 +4,12 @@
       <save></save>
     </Header>
     <div class="normal-card">
-      <div class="header-panl">
-        <div class="left">
-          <search @searchActive="searchActive" @clearData="clearData()" v-if="tool.checkAuth($route.name, 'read')">
-          </search>
-          <category-select label="素材分类" :selectList="selectList" @changeSelect="changeSelect"
-            @clearSelect="clearSelect()" v-if="tool.checkAuth($route.name, 'read')">
-          </category-select>
-        </div>
-        <!--最新最热切换-->
-        <hot-new-control @sortTypeChange="sortTypeChange" v-if="tool.checkAuth($route.name, 'read')"></hot-new-control>
-      </div>
+      <!-- 搜索及分类筛选 -->
+      <filterList @changeTypeId="changeTypeId" @startSearch="startSearch">
+        <span style="flex: 1;display: flex;justify-content: flex-end;">
+          <hot-new-control @sortTypeChange="sortTypeChange" />
+        </span>
+      </filterList>
       <!--素材列表-->
       <list :fileData="fileData" @listItemClick="listItemClick" :isHandle="true"
         v-if="tool.checkAuth($route.name, 'read')">
@@ -35,6 +30,7 @@
 </template>
 
 <script>
+import filterList from "@/HManagement/archives_ad/modules/filterList.vue";
 import Header from '@/SManagement/archives_upload/components/Header'
 import save from '@/SManagement/archives_upload/components/save'
 import HotNewControl from '@/components/hot-new-control/HotNewControl'
@@ -59,7 +55,7 @@ export default {
         "content": {
           "pageNumber": 1,
           "pageSize": 12,
-          "nocache":true,
+          "nocache": true,
           "where": {
             "condition": "",
             "sat_sharematerial_classid": null
@@ -94,7 +90,8 @@ export default {
     Delete,
     Edit,
     Header,
-    save
+    save,
+    filterList
   },
   computed: {
   },
@@ -103,8 +100,19 @@ export default {
     this.getSelectList()
   },
   methods: {
+    /* 改变分类ID */
+    changeTypeId(id) {
+      this.params.content.where.sat_sharematerial_classid = id == 0 ? null : id;
+      this.getFileList(true);
+    },
+    /* 开始搜索 */
+    startSearch(value) {
+      this.params.content.where.condition = value;
+      this.getFileList(true);
+    },
     //获取文件数据
-    async getFileList() {
+    async getFileList(init = false) {
+      if (init) this.params.content.pageNumber = 1;
       let res = await this.$api.requested(this.params)
       let initID = '9999' + JSON.parse(window.sessionStorage.getItem("active_account")).userid;
       let deleteList = [];
@@ -119,46 +127,27 @@ export default {
     },
     /* 处理批量删除 */
     handleDelete(list) {
-        this.$api.requested({
-            "classname": "webmanage.saletool.sharematerial.sharematerial",
-            "method": "delete",
-            "content": {
-                "sat_sharematerialid": list
-            }
-        }).then(res => {
-            if(res.msg=='成功') this.getFileList();
-        })
+      this.$api.requested({
+        "classname": "webmanage.saletool.sharematerial.sharematerial",
+        "method": "delete",
+        "content": {
+          "sat_sharematerialid": list
+        }
+      }).then(res => {
+        if (res.msg == '成功') this.getFileList();
+      })
     },
     //获取分类列表
     async getSelectList() {
       let res = await this.$api.requested(this.select)
       this.selectList = res.data
     },
-    //查询
-    async searchActive(result) {
-      if (!result) return
-      this.params.content.where.condition = result
-      let res = await this.$api.requested(this.params)
-      this.fileData = res.data
-      this.fileData.forEach((item) => {
-        item.attinfos = matchingFileType.fileList(item.attinfos)
-      })
-    },
     sortTypeChange(name) {
       for (let i = 0; i < this.params.content.sort.length; i++) {
         this.params.content.sort[i].sorted = this.params.content.sort[i].sortname == name ? 1 : 0
       }
       this.getFileList()
     },
-    //赛选
-    changeSelect(id) {
-      this.params.content.where.sat_sharematerial_classid = id[id.length - 1]
-      this.getFileList()
-    },
-    //清空赛选
-    clearSelect() {
-      this.getFileList()
-    },
     //列表单击事件
     async listItemClick(data) {
       let param = {