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() {}
})