const getHeight = require("../../utils/getRheRemainingHeight"); const _Http = getApp().globalData.http; const MFT = require("../../utils/matchingFeilType"); let dowmCount = null; Page({ data: { isInsert: false, //是否具有新增权限 isTabs: true, tabsActiveIndex: 0, scrollHeight: 0, //滚动区域高度 searchContent: "", //搜索内容 mainActiveIndex: 0, //分类选择器打开分类的下标 activeId: null, //分类选择器选择id activeName: null, items: [], //分类列表 total: 0, sort: [], content: { nocache: true, pageNumber: 1, pageSize: 20, pageTotal: 1, where: { condition: "", sat_sharematerial_classid: "" } }, sheetShow: false, actions: [{ name: '上传图片', }, { name: '上传视频', }, { name: '上传图文', }, ], }, onLoad(options) { let auth = options.auth ? JSON.parse(options.auth) : getApp().globalData.queryPer.query(wx.getStorageSync('userauth'), ['营销工具'], ['推广素材'])[0].apps; let myData = auth.find(v => v.name == "my_warchives_list"); if (myData) this.setData({ isInsert: myData.meta.auth.some(v => v.optionname == '新增') }) if (auth.length < 2) this.setData({ tabsActiveIndex: auth.find(v => v.name == "my_warchives_list") ? 1 : 0, isTabs: false }) this.selectMenu(); this.getList(); }, tabChange({ detail }) { this.setData({ tabsActiveIndex: detail.index }); this.getList(true); }, /* 查询列表 */ getList(init = false) { if (init.detail != undefined) init = init.detail; if (init) this.setData({ ['content.pageNumber']: 1 }) if (this.data.content.pageNumber > this.data.content.pageTotal) return; let content = this.data.content; (this.data.activeId != null) ? content.where.sat_sharematerial_classid = this.data.activeId: delete(content.where.sat_sharematerial_classid); if (this.data.sort[0]) content.sort = this.data.sort; _Http.basic({ "classname": "saletool.sharematerial.sharematerial", "method": this.data.tabsActiveIndex == 0 ? "selectList" : "selectMyList", content }).then(res => { let deleteList = [], initID = '9999' + wx.getStorageSync('userMsg').userid; res.data.forEach(v => (initID == v.sat_sharematerial_classid && v.title == '') ? deleteList.push(v.sat_sharematerialid) : ''); if (deleteList.length != 0) return this.handleDelete(deleteList); this.selectComponent('#ListBox').RefreshToComplete(); if (res.msg != '成功') return wx.showToast({ title: res.msg, icon: "none" }); for (let i = 0; i < res.data.length; i++) { let list = MFT.fileList(res.data[i].attinfos); if (!list.length) continue; let obj = list.find(value => value.fileType == "image"); if (!obj) continue; res.data[i].cover = MFT.getSpecifiedImage(obj); res.data[i].attinfos = list; } this.setData({ list: (res.pageNumber == 1) ? res.data : this.data.list.concat(res.data), ['content.pageNumber']: res.pageNumber + 1, ['content.pageTotal']: res.pageTotal, total: res.total, sort: res.sort }) }) }, /* 处理批量删除 */ handleDelete(list) { _Http.basic({ "classname": "webmanage.saletool.sharematerial.sharematerial", "method": "delete", "content": { "sat_sharematerialid": list } }).then(res => { console.log("处理删除", res); if (res.msg == '成功') this.getList(); }) }, /* 清除搜索输入 */ searchClear() { this.setData({ ['content.where.condition']: "" }) this.getList(true); }, /* 搜索框输入 */ searchInput({ detail }) { if (this.data.content.where.condition == detail.trim()) return; clearTimeout(dowmCount); this.setData({ ['content.where.condition']: detail.trim() }) dowmCount = setTimeout(() => { this.getList(true) }, 1000); }, /* 开关切换 */ changeSwitch({ detail }) { this.setData({ sort: detail }) this.getList(true); }, /* 查询分类 */ selectMenu(index = 0, res) { if (index == 5) return wx.showToast({ title: res.msg, icon: "none" }); _Http.basic({ "classname": "saletool.sharematerial.sharematerial", "method": "select", "content": { "nocache": true, "parentid": 0 } }).then(res => { if (res.msg != '成功') return this.selectMenu(index + 1, res); let str = JSON.stringify(res.data).replace(/classname/g, 'text').replace(/sat_sharematerial_classid/g, 'id'); this.setData({ items: JSON.parse(str) }); }); }, /* 切换分类 */ onClickItem({ detail = {} }) { this.setData({ activeId: this.data.activeId === detail.id ? null : detail.id, activeName: this.data.activeName === detail.text ? null : detail.text }); this.selectComponent('#item').toggle(false); this.getList(true); }, onClickNav({ detail = {} }) { this.setData({ mainActiveIndex: detail.index || 0, }); }, onReady() { //滚动区域高度 getHeight.getHeight('.menu', this).then(res => { this.setData({ scrollHeight: res }) }) }, addData() { this.setData({ sheetShow: true }); }, sheetClose() { this.setData({ sheetShow: false }); }, sheetSelect({ detail }) { let type = ''; switch (detail.name) { case "上传图片": type = 'image' break; case "上传视频": type = 'video' break; case "上传图文": type = 'richtext' break; } /* items是分类 */ wx.navigateTo({ url: `./upload?item=${JSON.stringify(this.data.items)}&type=${type}` }) }, onShareAppMessage() { const promise = new Promise(resolve => { setTimeout(() => { let data = this.selectComponent("#list").data.shareData; _Http.basic({ "classname": "saletool.sharematerial.sharematerial", "method": "updateShareLog", "content": { "sat_sharematerialid": data.sat_sharematerialid, "channel": "wechat" } }) resolve({ title: data.title, path: `/pages/promotional/details?id=${data.sat_sharematerialid}&type=${data.type}&userid=${wx.getStorageSync('userMsg').userid}`, imageUrl: data.cover }) }, 50) }) return { promise } }, })