const _Http = getApp().globalData.http,
    currency = require("../../utils/currency"),
    CNY = (value, symbol = "￥", precision = 2) => currency(value, {
        symbol,
        precision
    }).format();
Component({
    options: {
        addGlobalClass: true
    },
    lifetimes: {
        attached: function () {
            getApp().globalData.Language.getLanguagePackage(this)
        }
    },
    properties: {

    },
    data: {
        dateTypes: ["全部", "本年"],
        dateType: "本年",
        showList: false,
        list: [],
        "isAll": 0, //1全部 0本年
        "content": {
            "nocache": true,
            "pageNumber": 1,
            "pageTotal": 1,
            "total": null,
            "where": {
                begdate: "",
                enddate: "",
            }
        }
    },
    methods: {
        getList(id, init) {
            let content = this.data.content;
            content.sa_customersid = id;
            content.isAll = this.data.isAll;
            if (init) {
                content.pageNumber = 1;
                content.total = null;
            }
            if (!this.data.showList && content.total != null) return;
            if (content.pageNumber > content.pageTotal) return;
            _Http.basic({
                "id": 20230713104004,
                content
            }).then(res => {
                console.log("客户关联项目", res)
                if (res.code != '1') return wx.showToast({
                    title: res.data,
                    icon: "none"
                })
                content.pageNumber = res.pageNumber + 1;
                content.pageSize = res.pageSize;
                content.pageTotal = res.pageTotal;
                content.total = res.total;
                res.data = res.data.map(v => {
                    v.allSignamount_due = CNY(v.allSignamount_due / (wx.getStorageSync('languagecode') == 'ZH' ? 10000 : 1000));
                    v.signamount_due = CNY(v.signamount_due);

                    try {
                        v.stagecounts = v.stagecount.map(v => v.stagename)
                    } catch (error) {

                    }
                    return v
                })
                this.setData({
                    list: res.pageNumber == 1 ? res.data : this.data.list.concat(res.data),
                    content,
                    id: id,
                });
                this.selectComponent("#TimeRange").onCancel()
            })
        },
        changeDate({
            detail
        }) {
            this.setData({
                dateType: detail.dateType,
                isAll: detail.isAll === "" ? 99 : detail.isAll,
                "content.where.begdate": detail.begdate || "",
                "content.where.enddate": detail.enddate || ""
            })
            this.getList(this.data.id, true)
        },
        shrinkChange({
            detail
        }) {
            this.setData({
                showList: detail
            })
        },
        upDateList() {
            let content = JSON.parse(JSON.stringify(this.data.content));
            try {
                content.sa_customersid = this.data.id;
                content.isAll = this.data.isAll;
                content.pageSize = (content.pageNumber - 1) * content.pageSize;
                content.pageNumber = 1;
            } catch (error) {
                console.log("error", error)
            }
            _Http.basic({
                id: '20230713104004',
                content
            }).then(res => {
                console.log("更新客户关联项目", res);
                if (res.code == '1') {
                    res.data = res.data.map(v => {
                        v.allSignamount_due = CNY(v.allSignamount_due / (wx.getStorageSync('languagecode') == 'ZH' ? 10000 : 1000));
                        v.signamount_due = CNY(v.signamount_due);

                        try {
                            v.stagecounts = v.stagecount.map(v => v.stagename)
                        } catch (error) {

                        }
                        return v
                    })
                    this.setData({
                        list: res.data,
                        "content.total": res.total
                    })
                }
            })
        }
    }
})