const _Http = getApp().globalData.http; Page({ /** * 页面的初始数据 */ data: { navList: [{ label: "我负责的", icon: "icon-webxialaxuanxiangjiantou", color: "", width: "", id: "1" }, { label: "排序", icon: "icon-jiangxu1", color: "", width: "", id: "sort" }, { label: "筛选", icon: "icon-shaixuan", color: "", width: "", id: "2" }], classShow: false, content: { "isAll": 0, "nocache": true, "version": 1, "pageNumber": 1, "pageSize": 20, type: 1, "where": { "condition": "", "startdate": "", "enddate": "", "status": "", }, "sort": [] }, filter: { show: false, type: ['行业峰会', '区域交流会'], //状态项 typeActive: "", status: ['新建', '发布', '结束'], //状态项 statusActive: "", startdate: "", enddate: "" } }, onLoad(options) { this.setData({ insert: wx.getStorageSync('auth').wmarketing_activity.options.some(v => v == 'insert'), //查询新增权限 classActions: wx.getStorageSync('templetList').map(v => { return { name: v.templetname, index: v.templetid } }), 'navList[0].label': wx.getStorageSync('templetList')[0].templetname, "content.type": wx.getStorageSync('templetList')[0].templetid, }); this.getList(); this.getTypeList() }, /* 获取列表 */ getList(init = false, data) { if (init.detail != undefined) init = init.detail; let content = this.data.content; if (init) content.pageNumber = 1; if (content.pageNumber > content.pageTotal) return; if (data) { content.where.type = data.typeActive content.where.status = data.statusActive; content.where.startdate = data.startdate; content.where.enddate = data.enddate; } _Http.basic({ "id": 20221101095102, content }).then(res => { console.log("市场活动", res) this.selectComponent('#ListBox').RefreshToComplete(); if (res.msg != '成功') return wx.showToast({ title: res.data, icon: "none" }) res.data = res.data.map(v => { v.progress = v.stage / v.totalstage * 100; return v }) this.setData({ 'content.pageNumber': res.pageNumber + 1, 'content.pageTotal': res.pageTotal, 'content.total': res.total, 'content.sort': res.sort, list: res.pageNumber == 1 ? res.data : this.data.list.concat(res.data) }); this.setListHeight(); this.getTags(); }) }, /* 获取活动类型 */ getTypeList() { _Http.basic({ "id": 20220901092501, "content": { "typename": 'campaigntype' } }).then(res => { console.log("活动类型", res) if (res.msg != '成功') return wx.showToast({ title: res.data, icon: "none" }) let type = res.data.map(item => { return item.value }) this.setData({ 'filter.type': type }); this.setListHeight(); }) }, /* 获取线索范围 */ getareaList() { _Http.basic({ "classname": "sysmanage.develop.optiontype.optiontype", "method": "optiontypeselect", "content": { "typename": 'dataarea' } }).then(res => { console.log("状态列表", res) if (res.msg != '成功') return wx.showToast({ title: res.data, icon: "none" }) let classActions = res.data.map(item => { return { name: item.value, index: item.remarks } }) this.setData({ classActions: classActions }); console.log(this.data.classActions); this.setListHeight(); }) }, /* 处理搜索 */ onSearch({ detail }) { this.setData({ "content.where.condition": detail }); this.getList(true); }, /* 获取列表标签 */ getTags() { let list = this.data.list, ownerids = list.map(v => v.sat_campaignid); _Http.basic({ "id": 20221018102001, "content": { nocache: true, "ownertable": "sat_campaign", ownerids } }).then(res => { console.log("标签", res) for (let key in res.data) { let index = list.findIndex(v => v.sat_campaignid == key); list[index].tags = res.data[key] }; this.setData({ list }) }) }, /* 去添加 */ openType() { wx.navigateTo({ url: '/packageA/activity/addActivity', }) }, /* 选择添加报价形式 */ typeSelect({ detail }) { wx.navigateTo({ url: detail.name == '项目报价' ? '/packageA/offers/addProjectOffer' : '/packageA/offers/addSetclientOffer', }); this.typeCancel(); }, onReady() { this.setListHeight(); }, setListHeight() { this.selectComponent("#ListBox").setHeight(".total", this); }, /* 顶部条件导航回调 */ navClick({ detail }) { switch (detail.id) { case '1': this.setData({ classShow: true }) break; case '2': this.setData({ 'filter.show': true }) break; } }, classClose() { this.setData({ classShow: false }) }, classSelect({ detail }) { if (this.data.content.type == detail.index) return this.classClose(); this.setData({ "content.type": detail.index, 'navList[0].label': detail.name }) this.classClose(); this.getList(true) }, /* 筛选状态选择 */ selectStatus(e) { const { item } = e.currentTarget.dataset; this.setData({ "filter.statusActive": this.data.filter.statusActive == item ? "" : item }) }, /* 筛选状态选择 */ typeStatus(e) { const { item } = e.currentTarget.dataset; this.setData({ "filter.typeActive": this.data.filter.typeActive == item ? "" : item }) }, /* 处理筛选 */ handleFilter({ detail }) { const data = this.data.filter; switch (detail) { case 'confirm': this.setData({ 'filter.show': false }); this.getList(true, data); break; case 'reset': this.setData({ 'filter.statusActive': "", 'filter.typeActive': "", 'filter.startdate': "", 'filter.enddate': "", }); this.getList(true, this.data.filter) break; case 'close': this.setData({ 'filter.show': false }); break; } }, onShareAppMessage() { } })