const _Http = getApp().globalData.http,
    currency = require("../../../utils/currency"),
    CNY = value => currency(value, {
        symbol: "￥",
        precision: 2
    }).format();

Page({
    data: {
        params: {}, //请求体
        result: [], //返回结果
        radio: false, //是否为单选
        idname: "sa_orderid", //idkey
        showName: "sonum", //表单用 显示名称
        filtratelist: [{
            label: "订单类型",
            index: null,
            showName: "name", //显示字段
            valueKey: "type", //返回Key
            selectKey: "name", //传参 代表选着字段 不传参返回整个选择对象
            value: "", //选中值
            list: [{
                name: "标准订单"
            }, {
                name: "特殊订单"
            }, {
                name: "项目订单"
            }, {
                name: "促销订单"
            }, {
                name: "工具订单"
            }]
        }],
    },
    openFiltrate() {
        this.setData({
            showFiltrate: true
        })
    },
    handleFilter(e) {
        e.detail.condition = this.data.params.content.where.condition;
        this.data.params.content.where = e.detail;
        this.getList(true);
    },
    onLoad(options) {
        console.log(options)
        if (options.params) {
            let params = JSON.parse(options.params);
            if (!params.content.pageNumber || !params.content.pageTotal) {
                params.content.pageNumber = 1;
                params.content.pageTotal = 1;
            }
            this.setData({
                params
            });
        }
        getApp().globalData.Language.getLanguagePackage(this, options.title || '选择订单');
        this.setData({
            radio: options.radio ? true : false,
            idname: options.idname || this.data.idname,
            showName: options.showName || this.data.showName,
            aitText: options.aitText || '',
            siteid: wx.getStorageSync('userMsg').siteid
        });
        this.getList()


        _Http.basic({
            "id": 20221223141802,
            "content": {
                "pageNumber": 1,
                "pageSize": 9999,
                "where": {
                    "condition": ""
                }
            }
        }, false).then(res => {
            console.log("获取领域", res)
            if (res.code == '1') {
                this.data.filtratelist.push({
                    label: "领域",
                    index: null,
                    showName: "tradefield", //显示字段
                    valueKey: "tradefield", //返回Key
                    selectKey: "tradefield", //传参 代表选着字段 不传参返回整个选择对象
                    value: "", //选中值
                    list: res.data
                })
                this.setData({
                    filtratelist: this.data.filtratelist
                })
            }
        })
    },
    getList(init = false) {
        //init 用于初始化分页
        if (init.detail != undefined) init = init.detail;
        let params = this.data.params;
        if (init) params.content.pageNumber = 1;
        if (params.content.pageNumber > params.content.pageTotal) return;
        _Http.basic(params).then(res => {
            console.log("选择订单列表", res)
            this.selectComponent('#ListBox').RefreshToComplete();
            if (res.code != '1') return wx.showToast({
                title: res.data,
                icon: "none"
            })
            res.data = res.data.map(v => {
                v.defaultamount = CNY(v.defaultamount);
                v.amount = CNY(v.amount);
                return v
            })
            this.setData({
                'params.content.pageNumber': res.pageNumber + 1,
                'params.content.pageTotal': res.pageTotal,
                'params.content.total': res.total,
                list: res.pageNumber == 1 ? res.data : this.data.list.concat(res.data)
            })
        })
    },
    /* 删除项 */
    deteleItem(id) {
        this.setData({
            list: this.data.list.filter(v => v[this.data.idname] != id),
            "params.content.total": this.data.params.content.total - 1
        })
    },
    /* 选中 */
    changeResult(e) {
        let {
            id
        } = e.currentTarget.dataset, result = this.data.result;
        if (this.data.radio) {
            result = [id];
        } else {
            result.some(v => v == id) ? result = result.filter(v => v != id) : result.push(id)
        }
        this.setData({
            result
        });
        if (this.data.radio) this.submit();
    },
    /* 提交 */
    submit() {
        let result = this.data.result,
            obj = this.data.radio ? {
                id: result,
                item: this.data.list.find(value => value[this.data.idname] == result),
                value: [this.data.list.find(value => value[this.data.idname] == result)[this.data.showName], result]
            } : {
                result,
                list: result.map(v => this.data.list.find(value => value[this.data.idname] == v)),
                value: [result.map(v => {
                    let data = this.data.list.find(value => value[this.data.idname] == v);
                    return data ? data[this.data.showName] : ""
                }), result]
            }
        getApp().globalData.handleSelect && getApp().globalData.handleSelect(obj)
    },
    /* 开始搜索 */
    startSearch({
        detail
    }) {
        let condition = this.data.content ? this.data.content.where.condition : this.data.params.content.where.condition;
        if (detail == condition) return;
        this.setData({
            'content.where.condition': detail,
            'params.content.where.condition': detail
        });
        this.getList(true);
    },
    /* 取消搜索 */
    onClear() {
        this.setData({
            'content.where.condition': "",
            'params.content.where.condition': ""
        });
        this.getList(true);
    },
    onReady() {
        this.selectComponent("#ListBox").setHeight(".div", this);
    },
    onUnload() { //回收数据
        getApp().globalData.handleSelect = null;
    }
})