var insTbCount = 0; 
 | 
var printMatCodeNos = []; 
 | 
layui.config({ 
 | 
    base: baseUrl + "/static/layui/lay/modules/" 
 | 
}).use(['layer', 'form', 'table', 'util', 'admin', 'xmSelect', 'laydate'], function () { 
 | 
    var $ = layui.jquery; 
 | 
    var layer = layui.layer; 
 | 
    var form = layui.form; 
 | 
    var table = layui.table; 
 | 
    var util = layui.util; 
 | 
    var admin = layui.admin; 
 | 
    var xmSelect = layui.xmSelect; 
 | 
    var layDate = layui.laydate; 
 | 
  
 | 
    // 渲染搜索模板 
 | 
    $.ajax({ 
 | 
        url: baseUrl+"/docType/list/auth", 
 | 
        headers: {'token': localStorage.getItem('token')}, 
 | 
        data: { 
 | 
            limit: 9999 
 | 
        }, 
 | 
        method: 'POST', 
 | 
        success: function (res) { 
 | 
            if (res.code === 200){ 
 | 
                let template = Handlebars.compile($('#docTypeTpl').html()); 
 | 
                $('#docType-query').html(template(res.data)); 
 | 
                layui.form.render('select'); 
 | 
            } else if (res.code === 403){ 
 | 
                top.location.href = baseUrl+"/"; 
 | 
            } else { 
 | 
                layer.msg(res.msg, {icon: 2}) 
 | 
            } 
 | 
        } 
 | 
    }) 
 | 
  
 | 
    // 渲染表格 
 | 
    var insTb = table.render({ 
 | 
        elem: '#order', 
 | 
        url: baseUrl+'/orderLog/head/page/auth', 
 | 
        headers: {token: localStorage.getItem('token')}, 
 | 
        page: true, 
 | 
        cellMinWidth: 100, 
 | 
        cols: [[ 
 | 
            {type: 'numbers'}, 
 | 
            // {field: 'orderNo', title: '单据编号', templet: '#orderNoTpl'}, 
 | 
            {field: 'orderNo', title: '单据编号',  minWidth: 160}, 
 | 
            {field: 'docType$', align: 'center', title: '类型',  minWidth: 160}, 
 | 
            {align: 'center', title: '明细', toolbar: '#tbLook', minWidth: 160}, 
 | 
            {field: 'createTime$', title: '创建时间', minWidth: 200}, 
 | 
            {field: 'settle$', align: 'center', title: '状态', templet: '#settleTpl',  minWidth: 160}, 
 | 
            {field: 'memo', align: 'center',title: '备注', hide: true}, 
 | 
            {align: 'center', title: '操作', toolbar: '#operate', width: 260} 
 | 
        ]], 
 | 
        request: { 
 | 
            pageName: 'curr', 
 | 
            pageSize: 'limit' 
 | 
        }, 
 | 
        parseData: function (res) { 
 | 
            return { 
 | 
                'code': res.code, 
 | 
                'msg': res.msg, 
 | 
                'count': res.data.total, 
 | 
                'data': res.data.records 
 | 
            } 
 | 
        }, 
 | 
        response: { 
 | 
            statusCode: 200 
 | 
        }, 
 | 
        done: function (res, curr, count) { 
 | 
            limit(); 
 | 
            if (res.code === 403) { 
 | 
                top.location.href = baseUrl+"/"; 
 | 
            } 
 | 
            insTbCount = count; 
 | 
        } 
 | 
    }); 
 | 
  
 | 
    // 搜索 
 | 
    form.on('submit(tbSearch)', function (data) { 
 | 
        insTb.reload({where: data.field, page: {curr: 1}}); 
 | 
    }); 
 | 
  
 | 
    // 添加 
 | 
    $("#orderAddBtn").click(function () { 
 | 
        showEditModel(); 
 | 
    }); 
 | 
  
 | 
    // 工具条点击事件 
 | 
    table.on('tool(order)', function (obj) { 
 | 
        var data = obj.data; 
 | 
        var layEvent = obj.event; 
 | 
        if (layEvent === 'edit') { 
 | 
            showEditModel(data); 
 | 
        } else if (layEvent === 'del') { 
 | 
            doDel(data.id); 
 | 
        } else if (layEvent === 'complete') { 
 | 
            doModify(data.id, data.orderNo, 4); 
 | 
        } else if (layEvent === 'btnPrint') { 
 | 
            btnPrint(data.id, data.orderNo, 4); 
 | 
        } else if (layEvent === 'manPrint') { 
 | 
            addPakOut(data.orderNo); 
 | 
        } else if (layEvent === 'look') { 
 | 
            var $a = $(obj.tr).find('a[lay-event="look"]'); 
 | 
            var offset = $a.offset(); 
 | 
            var top = offset.top; 
 | 
            var left = offset.left; 
 | 
            layer.open({ 
 | 
                type: 1, 
 | 
                title: false, 
 | 
                area: '900px', 
 | 
                offset: [top + 'px', (left - 530 + $a.outerWidth()) + 'px'], 
 | 
                shade: .01, 
 | 
                shadeClose: true, 
 | 
                fixed: false, 
 | 
                content: '<table id="lookSSXMTable" lay-filter="lookSSXMTable"></table>', 
 | 
                success: function (layero) { 
 | 
                    table.render({ 
 | 
                        elem: '#lookSSXMTable', 
 | 
                        headers: {token: localStorage.getItem('token')}, 
 | 
                        url: baseUrl+'/orderDetlLog/list/auth', 
 | 
                        where: { 
 | 
                            order_id: data.id 
 | 
                        }, 
 | 
                        page: true, 
 | 
                        cellMinWidth: 100, 
 | 
                        cols: [[ 
 | 
                            {type: 'numbers'}, 
 | 
                            {field: 'matnr', title: '商品编码', width: 160}, 
 | 
                            {field: 'maktx', title: '商品名称', width: 160}, 
 | 
                            {field: 'anfme', title: '数量'}, 
 | 
                            {field: 'workQty', title: '作业数量'}, 
 | 
                            {field: 'qty', title: '完成数量', style: 'font-weight: bold'}, 
 | 
                            {field: 'owner$', title: '货主'}, 
 | 
                            {field: 'payment$', title: '货物形态'}, 
 | 
                            {field: 'weight', title: '重量'} 
 | 
                        ]], 
 | 
                        request: { 
 | 
                            pageName: 'curr', 
 | 
                            pageSize: 'limit' 
 | 
                        }, 
 | 
                        parseData: function (res) { 
 | 
                            return { 
 | 
                                'code': res.code, 
 | 
                                'msg': res.msg, 
 | 
                                'count': res.data.total, 
 | 
                                'data': res.data.records 
 | 
                            } 
 | 
                        }, 
 | 
                        response: { 
 | 
                            statusCode: 200 
 | 
                        }, 
 | 
                        done: function () { 
 | 
                            $(layero).find('.layui-table-view').css('margin', '0'); 
 | 
                        }, 
 | 
                        size: '' 
 | 
                    }); 
 | 
                } 
 | 
            }); 
 | 
        }else if (layEvent === 'wrkTrace'){ 
 | 
            showWrkTrace(data.id); 
 | 
        } 
 | 
        else if (layEvent === 'printExcel'){ 
 | 
            printExcel(data); 
 | 
        } 
 | 
    }); 
 | 
  
 | 
    function showWrkTrace(orderId) { 
 | 
        console.log(orderId); 
 | 
    } 
 | 
  
 | 
    // 显示表单弹窗 
 | 
    function showEditModel(expTpe) { 
 | 
        admin.open({ 
 | 
            type: 1, 
 | 
            title: (expTpe ? '修改' : '添加') + '单据', 
 | 
            content: $('#editDialog').html(), 
 | 
            area: '1300px', 
 | 
            success: function (layero, dIndex) { 
 | 
                $(layero).children('.layui-layer-content').css('overflow', 'visible'); 
 | 
                var isExpAdd = !expTpe; 
 | 
                // 回显数据 
 | 
                form.val('editForm', expTpe); 
 | 
                if (expTpe) { 
 | 
                    $('#orderNo').attr("disabled", "disabled"); 
 | 
                } 
 | 
                // 表单提交事件 
 | 
                form.on('submit(orderEditSubmit)', function (data) { 
 | 
                    // 组装数据 
 | 
                    if (xxDataList.length <= 0) { 
 | 
                        layer.tips('请添加单据明细', '#matAddBtnComment', {tips: [1, '#ff4c4c']}); 
 | 
                        return false; 
 | 
                    } 
 | 
                    let nList = admin.util.deepClone(xxDataList); 
 | 
                    for (let xi = 0; xi < nList.length; xi++) { 
 | 
                        if (nList[xi].anfme <= 0){ 
 | 
                            layer.msg('明细修改数量不合法', {icon: 2}); 
 | 
                            return false; 
 | 
                        } 
 | 
                        if (nList[xi].anfme < nList[xi].workQty){ 
 | 
                            layer.msg('数量不能小于已作业数量', {icon: 2}); 
 | 
                            return false; 
 | 
                        } 
 | 
                    } 
 | 
                    layer.load(2); 
 | 
                    $.ajax({ 
 | 
                        url: baseUrl+"/order/form/" + (isExpAdd?"add":"modify") + "/auth", 
 | 
                        headers: {'token': localStorage.getItem('token')}, 
 | 
                        data: JSON.stringify({ 
 | 
                            orderId: Number(data.field.id), 
 | 
                            docType: Number(data.field.docType), 
 | 
                            orderNo: data.field.orderNo, 
 | 
                            orderDetlList: nList 
 | 
                        }), 
 | 
                        contentType:'application/json;charset=UTF-8', 
 | 
                        method: 'POST', 
 | 
                        success: function (res) { 
 | 
                            layer.closeAll('loading'); 
 | 
                            if (res.code === 200){ 
 | 
                                layer.close(dIndex); 
 | 
                                $(".layui-laypage-btn")[0].click(); 
 | 
                                layer.msg(res.msg, {icon: 1}); 
 | 
                            } else if (res.code === 403){ 
 | 
                                top.location.href = baseUrl+"/"; 
 | 
                            }else { 
 | 
                                layer.msg(res.msg, {icon: 2}); 
 | 
                            } 
 | 
                        } 
 | 
                    }) 
 | 
                    return false; 
 | 
                }); 
 | 
                // 明细表格 
 | 
                var xxDataList = []; 
 | 
                var tbOptions = { 
 | 
                    elem: '#formSSXMTable', 
 | 
                    headers: {token: localStorage.getItem('token')}, 
 | 
                    data: xxDataList, 
 | 
                    page: true, 
 | 
                    height: '350px;', 
 | 
                    cellMinWidth: 100, 
 | 
                    cols: [[ 
 | 
                        {type: 'numbers', title: '#'}, 
 | 
                        {field: 'matnr', title: '商品编码', width: 160}, 
 | 
                        {field: 'maktx', title: '商品名称', width: 200}, 
 | 
                        {field: 'batch', title: '批号', edit: true}, 
 | 
                        {field: 'specs', title: '规格'}, 
 | 
                        {field: 'anfme', title: '数量(修改)', style: 'color: blue;font-weight: bold', edit: true, minWidth: 110, width: 110}, 
 | 
                        // {field: 'workQty', title: '作业数量',  minWidth: 100, width: 100}, 
 | 
                        // {field: 'unit', title: '单位', width: 80}, 
 | 
                        {field: 'memo', title: '备注' , edit: true}, 
 | 
                        {align: 'center', title: '操作', toolbar: '#formSSXMTableBar', minWidth: 80, width: 80, fixed: 'right'} 
 | 
                    ]], 
 | 
                    done: function (res) { 
 | 
                        $(layero).find('.layui-table-view').css('margin', '0'); 
 | 
                    }, 
 | 
                    size: '' 
 | 
                }; 
 | 
                if (!isExpAdd) { 
 | 
                    $.ajax({ 
 | 
                        url: baseUrl+"/order/detl/all/auth?orderId=" + expTpe.id, 
 | 
                        headers: {'token': localStorage.getItem('token')}, 
 | 
                        method: 'GET', 
 | 
                        async: false, 
 | 
                        success: function (res) { 
 | 
                            if (res.code === 200){ 
 | 
                                xxDataList = res.data; 
 | 
                                tbOptions.data = xxDataList; 
 | 
                            } else if (res.code === 403){ 
 | 
                                top.location.href = baseUrl+"/"; 
 | 
                            }else { 
 | 
                                layer.msg(res.msg, {icon: 2}) 
 | 
                            } 
 | 
                        } 
 | 
                    }) 
 | 
                } 
 | 
                var insTbSSXM = table.render(tbOptions); 
 | 
                // 工具条点击事件 
 | 
                table.on('tool(formSSXMTable)', function (obj) { 
 | 
                    var data = obj.data; 
 | 
                    var layEvent = obj.event; 
 | 
                    if (layEvent === 'edit') { 
 | 
                        showEditModel2(data); 
 | 
                    } else if (layEvent === 'del') { 
 | 
                        if(data.workQty > 0){ 
 | 
                            layer.msg("已存在作业数量,不能删除", {icon: 2}); 
 | 
                            return; 
 | 
                        } 
 | 
                        layer.confirm('确定要删除吗?', { 
 | 
                            shade: .1, 
 | 
                            skin: 'layui-layer-admin' 
 | 
                        }, function (i) { 
 | 
                            layer.close(i); 
 | 
                            for (var j = 0; j < xxDataList.length; j++) { 
 | 
                                if (xxDataList[j].matnr === data.matnr && xxDataList[j].batch === data.batch) { 
 | 
                                    xxDataList.splice(j, 1); 
 | 
                                    break; 
 | 
                                } 
 | 
                            } 
 | 
                            insTbSSXM.reload({data: xxDataList, page: {curr: 1}}); 
 | 
                        }); 
 | 
                    } 
 | 
                }); 
 | 
                // 明细数据修改 
 | 
                table.on('edit(formSSXMTable)', function (obj) { 
 | 
                    let index = obj.tr.attr("data-index"); 
 | 
                    let data = xxDataList[index]; 
 | 
                    if (obj.field === 'anfme'){ 
 | 
                        let vle = Number(obj.value); 
 | 
                        if (isNaN(vle)) { 
 | 
                            layer.msg("请输入数字", {icon: 2}); 
 | 
                            return false; 
 | 
                        } else { 
 | 
                            if (vle <= 0) { 
 | 
                                layer.msg("数量必须大于零", {icon: 2}); 
 | 
                                // data[obj.field] = 0; 
 | 
                                // insTbSSXM.reload({data: xxDataList}); 
 | 
                                return false; 
 | 
                            } 
 | 
                            if(obj.value < data.workQty){ 
 | 
                                layer.msg("输入数量不能小于作业中数量", {icon: 2}); 
 | 
                                // data[obj.field] = 0; 
 | 
                                // insTbSSXM.reload({data: xxDataList}); 
 | 
                                return false; 
 | 
                            } 
 | 
                        } 
 | 
                    } 
 | 
                    data[obj.field] = obj.value; 
 | 
                    insTbSSXM.reload({data: xxDataList}); 
 | 
                }); 
 | 
  
 | 
                $('#matAddBtnComment').click(function () { 
 | 
                    showEditModel2(); 
 | 
                }); 
 | 
  
 | 
                // 显示添加明细表单弹窗 
 | 
                function showEditModel2(exp) { 
 | 
                    admin.open({ 
 | 
                        type: 1, 
 | 
                        offset: '150px', 
 | 
                        area: '680px', 
 | 
                        title: (exp ? '修改' : '添加') + '明细', 
 | 
                        content: $('#matEditDialog').html(), 
 | 
                        success: function (layero, dIndex) { 
 | 
                            // 回显数据 
 | 
                            form.val('matEditForm', exp); 
 | 
                            // 表单提交事件 
 | 
                            form.on('submit(matEditSubmit)', function (data) { 
 | 
                                let selectList = matXmSelect.getValue(); 
 | 
                                for (let i = 0; i<selectList.length; i++) { 
 | 
                                    let item = selectList[i]; 
 | 
                                    // 查询物料详情 
 | 
                                    $.ajax({ 
 | 
                                        url: baseUrl+"/mat/covert/"+item.value+"/auth", 
 | 
                                        headers: {'token': localStorage.getItem('token')}, 
 | 
                                        method: 'GET', 
 | 
                                        async: false, 
 | 
                                        success: function (res) { 
 | 
                                            if (res.code === 200){ 
 | 
                                                xxDataList.push(res.data); 
 | 
                                                insTbSSXM.reload({data: xxDataList, page: {curr: 1}}); 
 | 
                                            } else if (res.code === 403){ 
 | 
                                                top.location.href = baseUrl+"/"; 
 | 
                                            }else { 
 | 
                                                layer.msg(res.msg, {icon: 2}) 
 | 
                                            } 
 | 
                                        } 
 | 
                                    }) 
 | 
                                } 
 | 
                                layer.close(dIndex); 
 | 
                                return false; 
 | 
                            }); 
 | 
                            // 渲染物料选择 
 | 
                            var matXmSelect = xmSelect.render({ 
 | 
                                el: '#mat', 
 | 
                                style: { 
 | 
                                    width: '340px', 
 | 
                                }, 
 | 
                                autoRow: true, 
 | 
                                toolbar: { show: true }, 
 | 
                                filterable: true, 
 | 
                                remoteSearch: true, 
 | 
                                remoteMethod: function(val, cb, show){ 
 | 
                                    $.ajax({ 
 | 
                                        url: baseUrl+"/mat/all/get/kv", 
 | 
                                        headers: {'token': localStorage.getItem('token')}, 
 | 
                                        data: { 
 | 
                                            condition: val 
 | 
                                        }, 
 | 
                                        method: 'POST', 
 | 
                                        success: function (res) { 
 | 
                                            if (res.code === 200){ 
 | 
                                                cb(res.data) 
 | 
                                            } else { 
 | 
                                                cb([]); 
 | 
                                                layer.msg(res.msg, {icon: 2}); 
 | 
                                            } 
 | 
                                        } 
 | 
                                    }); 
 | 
                                } 
 | 
                            }) 
 | 
                            // 弹窗不出现滚动条 
 | 
                            $(layero).children('.layui-layer-content').css('overflow', 'visible'); 
 | 
                            layui.form.render('select'); 
 | 
                        } 
 | 
                    }); 
 | 
                } 
 | 
  
 | 
            } 
 | 
        }); 
 | 
    } 
 | 
  
 | 
    // 删除单据 
 | 
    function doDel(orderId) { 
 | 
        layer.confirm('确定要删除吗?', { 
 | 
            shade: .1, 
 | 
            skin: 'layui-layer-admin' 
 | 
        }, function (i) { 
 | 
            layer.close(i); 
 | 
            layer.load(2); 
 | 
            $.ajax({ 
 | 
                url: baseUrl+"/order/delete/auth", 
 | 
                headers: {'token': localStorage.getItem('token')}, 
 | 
                data: { 
 | 
                    orderId: orderId 
 | 
                }, 
 | 
                method: 'POST', 
 | 
                success: function (res) { 
 | 
                    layer.closeAll('loading'); 
 | 
                    if (res.code === 200){ 
 | 
                        if (insTbCount === 0) { 
 | 
                            insTb.reload({page: {curr: 1}}); 
 | 
                        } else { 
 | 
                            $(".layui-laypage-btn")[0].click(); 
 | 
                        } 
 | 
                        layer.msg(res.msg, {icon: 1}); 
 | 
                    } else if (res.code === 403){ 
 | 
                        top.location.href = baseUrl+"/"; 
 | 
                    }else { 
 | 
                        layer.msg(res.msg, {icon: 2}); 
 | 
                    } 
 | 
                } 
 | 
            }) 
 | 
        }); 
 | 
    } 
 | 
  
 | 
    // 修改订单状态 
 | 
    function doModify(orderId, orderNo, settle) { 
 | 
        layer.confirm('确定要手动完结吗?', { 
 | 
            shade: .1, 
 | 
            skin: 'layui-layer-admin' 
 | 
        }, function (i) { 
 | 
            layer.close(i); 
 | 
            layer.load(2); 
 | 
            console.log(orderId); 
 | 
            console.log(settle); 
 | 
            $.ajax({ 
 | 
                url: baseUrl+"/order/update/auth", 
 | 
                headers: {'token': localStorage.getItem('token')}, 
 | 
                data: { 
 | 
                    id: orderId, 
 | 
                    orderNo: orderNo, 
 | 
                    settle: settle 
 | 
                }, 
 | 
                method: 'POST', 
 | 
                success: function (res) { 
 | 
                    layer.closeAll('loading'); 
 | 
                    if (res.code === 200){ 
 | 
                        if (insTbCount === 0) { 
 | 
                            insTb.reload({page: {curr: 1}}); 
 | 
                        } else { 
 | 
                            $(".layui-laypage-btn")[0].click(); 
 | 
                        } 
 | 
                        layer.msg(res.msg, {icon: 1}); 
 | 
                    } else if (res.code === 403){ 
 | 
                        top.location.href = baseUrl+"/"; 
 | 
                    }else { 
 | 
                        layer.msg(res.msg, {icon: 2}); 
 | 
                    } 
 | 
                } 
 | 
            }) 
 | 
        }); 
 | 
    } 
 | 
  
 | 
    layDate.render({ 
 | 
        elem: '.layui-laydate-range' 
 | 
        ,type: 'datetime' 
 | 
        ,range: true 
 | 
    }); 
 | 
    // 生成拣货单 
 | 
    function addPakOut(expTpe) { 
 | 
        $.ajax({ 
 | 
            url: baseUrl+"/ManPakOut/add/auth", 
 | 
            headers: {'token': localStorage.getItem('token')}, 
 | 
            data: JSON.stringify({ 
 | 
                docType: Number(20), 
 | 
                orderNo: expTpe, 
 | 
            }), 
 | 
            contentType:'application/json;charset=UTF-8', 
 | 
            method: 'POST', 
 | 
            success: function (res) { 
 | 
                if (res.code === 200){ 
 | 
                    layer.msg("生成拣货单:ok"); 
 | 
                } else if (res.code === 403){ 
 | 
                    layer.msg("生成拣货单失败:403"); 
 | 
                }else { 
 | 
                    layer.msg("生成拣货单失败:未知异常"); 
 | 
                } 
 | 
  
 | 
            } 
 | 
        }) 
 | 
    } 
 | 
    // 打印 
 | 
    function btnPrint(orderId, orderNo, settle) { 
 | 
        console.log(orderId); 
 | 
        console.log(orderNo); 
 | 
        console.log(settle); 
 | 
        printMatCodeNos.push(orderNo) 
 | 
        var templateNo = 3; 
 | 
        $.ajax({ 
 | 
            url: baseUrl+"/order/print/auth", 
 | 
            headers: {'token': localStorage.getItem('token')}, 
 | 
            data: {param: printMatCodeNos}, 
 | 
            method: 'POST', 
 | 
            async: false, 
 | 
            success: function (res) { 
 | 
                if (res.code === 200){ 
 | 
                    layer.closeAll(); 
 | 
                    console.log(res); 
 | 
                    for (let i=0;i<res.data.length;i++){ 
 | 
                        var templateDom = $("#templatePreview"+templateNo); 
 | 
                        var className = templateDom.attr("class"); 
 | 
                        if (className === 'template-barcode') { 
 | 
                            res.data[i]["barcodeUrl"]=baseUrl+"/mac/code/auth?type=1¶m="+res.data[i].orderNo+ 
 | 
                                ";"+res.data[i].matnr+";"+res.data[i].batch; 
 | 
                        } else { 
 | 
                            res.data[i]["barcodeUrl"]=baseUrl+"/mac/code/auth?type=2¶m="+res.data[i].orderNo+ 
 | 
                                ";"+res.data[i].matnr+";"+res.data[i].batch; 
 | 
                        } 
 | 
                    } 
 | 
                    var tpl = templateDom.html(); 
 | 
                    var template = Handlebars.compile(tpl); 
 | 
                    var html = template(res); 
 | 
                    var box = $("#box"); 
 | 
                    box.html(html);box.show(); 
 | 
                    box.print({mediaPrint:true}); 
 | 
                    box.hide(); 
 | 
                } else if (res.code === 403){ 
 | 
                    top.location.href = baseUrl+"/"; 
 | 
                }else { 
 | 
                    layer.msg(res.msg) 
 | 
                } 
 | 
            } 
 | 
        }) 
 | 
    } 
 | 
    function printExcel(data){ 
 | 
        layer.confirm('确定导出Excel吗', {shadeClose: true}, function(){ 
 | 
            layer.closeAll(); 
 | 
            layer.load(1, {shade: [0.1,'#fff']}); 
 | 
            // location.href = "http://192.168.4.121:8082/stwms/orderCheck/printExport/auth?orderNo="+data.orderNo; 
 | 
            location.href = baseUrl+"/orderLog/printExport/auth?orderNo="+data.orderNo; 
 | 
            layer.closeAll('loading'); 
 | 
        }); 
 | 
    } 
 | 
}); 
 |