美文网首页
Utils.ts封装

Utils.ts封装

作者: 小米和豆豆 | 来源:发表于2021-06-18 15:58 被阅读0次
export class Utils {
    /**
     * @Description 手动分页
     * @params data: 原数组[]; index: 当前页number; size: 每页数量number;
     */
    static ProcessingData(data: any[], index: number, size: number) {
        let data_ = JSON.parse(JSON.stringify(data));
        return data_.slice((index - 1) * size, index * size);
    }

    /**
    * @Description 格式化树数据
    * @param {*} params [];
    * @param {*} obj {};
    */
    static InitializationPark(params:[], obj:{}) {
        let data = JSON.parse(JSON.stringify(params))
        fun(data)
        function fun(_data) {
            _data.map(item => {
                obj[item.id] = item;
                if (!!item.children && !!item.children.length) {
                    fun(item.children)
                } else {
                    item['isLeaf'] = true;
                }
            })
        }
        return data || [];
    }

    /**
    * @Description 价格添加逗号 或者自定义符号 
    * @param {*} value :number;
    * @param {*} args string;
    */
    static transform(value: number, args = ','): any {
        if ((!!value || value === 0) && typeof (value) == 'number') {
            let num = "";
            let str = '';
            let point = '';
            let unit = '';
            if (value >= 10000) {
                value = (value / 10000).toFixed(3);
                //unit = '万';
            }

            if ((value.toString()).indexOf(".") < 0) {
                str = (value / 1000).toFixed(3).toString();
            } else {
                let len = value.toString().split('.')[1].length;
                point = '.' + value.toString().split('.')[1]
                str = (Number(value.toString().split('.')[0]) / 1000).toFixed(3).toString();
            }
            if (value >= 1000 && value < 1000000) {
                num = (Math.floor(value / 1000)).toString() + args + str.split('.')[1] + point
            } else if (value >= 1000000 && value < 1000000000) {
                let num_ = (Math.floor(value / 1000)).toString()
                num = (Math.floor(Number(num_) / 1000)).toString() + args + (Number(num_) / 1000).toFixed(3).toString().split('.')[1] + args + str.split('.')[1] + point
            } else if (value >= 1000000000 && value < 1000000000000) {
                let num_ = (Math.floor(value / 1000)).toString()
                let num_1 = (Math.floor(Number(num_) / 1000)).toString()
                num = (Math.floor(Number(num_1) / 1000)).toString() + args + (Number(num_1) / 1000).toFixed(3).toString().split('.')[1] + args + (Number(num_) / 1000).toFixed(3).toString().split('.')[1] + args + str.split('.')[1] + point
            } else {
                num = value + '';
            }
            return num + unit
        };
        return '元数据有误';
    }
}

相关文章

网友评论

      本文标题:Utils.ts封装

      本文链接:https://www.haomeiwen.com/subject/ozwwjltx.html