const _Http = getApp().globalData.http; Page({ data: { list: [], filtrate: false, 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" }], content: { nocache: true, "pageNumber": 1, "pageSize": 20, "isExport": 0, "type": 1, "where": { "condition": "", "startdate": "", "enddate": "" }, "sort": [] }, classShow: false, //type类型 filtratelist: [{ label: "任务状态", index: null, showName: "name", //显示字段 valueKey: "status", //返回Key selectKey: "name", //传参 代表选着字段 不传参返回整个选择对象 value: "", //选中值 list: [{ name: "待执行" }, { name: "进行中" }, { name: "已完成" }] }] }, onLoad(options) { this.setData({ 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() }, /* 导航点击功能 */ navOnClick({ detail }) { if (detail.label == '筛选') { this.setData({ filtrate: true }) } else if (detail.id == 1) { this.setData({ classShow: true }) } }, /* 处理筛选 */ handleFilter(e) { this.data.content.where.status = e.detail.status || ""; this.getList(true) }, /* 去添加 */ toAdd() { wx.navigateTo({ url: './add' }) }, /* 筛选状态选择 */ selectStatus(e) { const { item } = e.currentTarget.dataset; this.setData({ "filter.statusActive": this.data.filter.statusActive == item ? "" : item }) }, /* 筛选日期范围 */ changeDate(e) { const name = e.currentTarget.dataset.name, value = e.detail.value; this.setData({ [`filter.${name}`]: value }) }, getList(init = false) { //init 用于初始化分页 if (init.detail != undefined) init = init.detail; let content = this.data.content; if (init) content.pageNumber = 1; if (content.pageNumber > content.pageTotal) return; _Http.basic({ "id": 20220901162901, content }).then(res => { console.log("任务列表", res) this.selectComponent('#ListBox').RefreshToComplete(); if (res.msg != '成功') return wx.showToast({ title: res.data, icon: "none" }) 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.getTags(); }) }, /* 获取列表标签 */ getTags() { let list = this.data.list, ownerids = list.map(v => v.sys_taskid) _Http.basic({ "id": 20221018102001, "content": { "ownertable": "sys_task", ownerids } }).then(res => { for (let key in res.data) { let index = list.findIndex(v => v.sys_taskid == key); list[index].tags = res.data[key] }; this.setData({ list }) }) }, /* 顶部条件导航回调 */ navClick({ detail }) { switch (detail.id) { case '1': this.setData({ classShow: true }) break; case '2': this.setData({ 'filter.show': true }) break; case '3': this.setData({ 'content.sort[0].reversed': this.data.content.sort[0].reversed == 0 ? 1 : 0 }); this.getList(true) break; default: break; } }, /* 处理搜索 */ onSearch({ detail }) { this.setData({ "content.where.condition": detail }); this.getList(true); }, 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) }, onReady() { this.selectComponent("#ListBox").setHeight(".total", this); }, onShareAppMessage() {} })