const _Http = getApp().globalData.http;

Page({
    data: {
        showText: "全部",
        popupShow: false,
        activeId: null,
        mainActiveIndex: 0,
        active: "业绩目标",
        targetYear: null,
        hrid: null,
        departmentid: null,
        "year": new Date().getFullYear().toString(),
        "content": {
            "nocache": true,
            "year": new Date().getFullYear().toString(), //年
            "targettype": "人员目标", //1
            "type": 1, //
            "where": {
                "condition": ""
            }
        },
        target: null, //目标
        showActions: false,
        actionSheet: "开票金额",
        actions: [{
            name: '开票金额',
            value: "1"
        }, {
            name: '订单金额',
            value: "2"
        }, {
            name: '出货金额',
            value: "3"
        }],
    },
    onLoad(options) {
        /* 获取部门列表 */
        _Http.basic({
            "id": 20220922113302,
            "content": {
                pageSize: 9999
            }
        }).then(res => {
            if (res.msg != '成功') return wx.showToast({
                title: res.msg,
                icon: "none"
            })
            let hrList = res.data.map(v => {
                v.hr.unshift({
                    name: v.depname + ' (包含所有下级)',
                    hrid: v.departmentid
                })
                return {
                    id: v.departmentid,
                    text: v.depname,
                    children: v.hr.map(value => {
                        const text = value.position ? value.name + ` (${value.position})` : value.name
                        return {
                            id: value.hrid,
                            text
                        }
                    })
                }
            })
            this.setData({
                hrList
            })
        });
    },
    onShow() {
        this.getData();
    },
    onClickNav({
        detail
    }) {
        this.setData({
            mainActiveIndex: detail.index
        })
    },
    onClickItem({
        detail
    }) {
        let hrid = null,
            departmentid = null;
        if (detail.text.includes('包含所有下级')) {
            departmentid = detail.id
        } else {
            hrid = detail.id
        };
        let text = detail.text.split("(")[0];
        this.setData({
            hrid,
            departmentid,
            activeId: detail.id,
            text
        })
    },
    /* 切换分析对象 */
    openPupop() {
        this.setData({
            popupShow: true
        })
    },
    onClose() {
        this.setData({
            popupShow: false
        })
    },
    toDetail() {
        if (this.data.active == "业绩目标") {
            wx.navigateTo({
                url: './person?year=' + this.data.content.year
            })
        } else {
            wx.navigateTo({
                url: './project?year=' + this.data.content.year
            })
        }
    },
    getData(e) {
        console.log(e)
        if (e) this.setData({
            showText: this.data.text ? this.data.text : '全部'
        })
        let content = this.data.content;
        if (this.data.hrid) content.hrid = this.data.hrid;
        if (this.data.departmentid) content.departmentid = this.data.departmentid;
        _Http.basic({
            "id": 20220920133102,
            content
        }).then(res => {
            this.onClose()
            if (res.msg != '成功') return wx.showToast({
                title: res.data,
                icon: "none"
            })
            let lineData = [],
                histogram = [];
            res.data.month.forEach(v => {
                lineData = lineData.concat([{
                        label: v.month + '月',
                        value: v.l,
                        type: "基本目标金额"
                    },
                    {
                        label: v.month + '月',
                        value: v.h,
                        type: "挑战目标金额"
                    },
                    {
                        label: v.month + '月',
                        value: v.a,
                        type: "实际订单金额"
                    }
                ])
                histogram = histogram.concat([{
                        label: v.month + '月',
                        value: v.pl,
                        type: "基础目标实际完成率"
                    },
                    {
                        label: v.month + '月',
                        value: v.ph,
                        type: "挑战目标实际完成率"
                    }
                ])
            });
            //绘制线图
            this.selectComponent("#line").render(lineData);
            this.selectComponent("#histogram").render(histogram);
            this.setData({
                targetYear: {
                    yl: res.data.y1l,
                    yh: res.data.y1h,
                    ya: res.data.y1a,
                }
            });
            if (this.data.year == this.data.content.year) {
                const m = new Date().getMonth() + 1;
                let s = [
                    [1, 2, 3],
                    [4, 5, 6],
                    [7, 8, 9],
                    [10, 11, 12]
                ].findIndex(v => v.some(va => va == m)) + 1;
                this.setData({
                    targetSeason: {
                        sl: res.data[`s${s}l`],
                        sh: res.data[`s${s}h`],
                        sa: res.data[`s${s}a`],
                    },
                    targetMonth: {
                        ml: res.data[`m${m}l`],
                        mh: res.data[`m${m}h`],
                        ma: res.data[`m${m}a`]
                    }
                })
            }
        })
    },
    /* 弹出选择 */
    select({
        detail
    }) {
        if (this.data.actionSheet == detail.name) return;
        this.setData({
            actionSheet: detail.name,
            "content.type": detail.value,
            showActions: false
        });
        this.getData();
    },
    cancelActions() {
        this.setData({
            showActions: false
        })
    },
    openActions() {
        this.setData({
            showActions: true
        })
    },
    /* 选择年份 */
    bindDateChange({
        detail
    }) {
        if (this.data.content.year == detail.value) return;
        this.setData({
            "content.year": detail.value
        });
        this.getData();
    },
    /* tabs切换 */
    tabsChange({
        detail
    }) {
        this.setData({
            "content.targettype": detail.title == '业绩目标' ? '人员目标' : '项目目标',
            active: detail.title
        });
        this.getData();
    },
    onShareAppMessage() {}
})