var pageCurr; 
 | 
var admin; 
 | 
var treeCond; 
 | 
let nowUserId2 = 0; 
 | 
fPriOnline(); 
 | 
function fPriOnline() { 
 | 
    layui.jquery.ajax({ 
 | 
        url: baseUrl + "/dashboard/user/id/popup/auth", 
 | 
        data:{token : localStorage.getItem('token')}, 
 | 
        method: 'GET', 
 | 
        success: function (res) { 
 | 
            if (res.code === 200) { 
 | 
                nowUserId2 = res.data; 
 | 
            } 
 | 
        } 
 | 
    }) 
 | 
} 
 | 
layui.config({ 
 | 
    base: baseUrl + "/static/layui/lay/modules/" 
 | 
}).extend({ 
 | 
    cascader: 'cascader/cascader', 
 | 
}).use(['table', 'laydate', 'form', 'admin', 'xmSelect', 'element', 'cascader', 'tree', 'dropdown','element'], function () { 
 | 
    var table = layui.table; 
 | 
    var $ = layui.jquery; 
 | 
    var layer = layui.layer; 
 | 
    var layDate = layui.laydate; 
 | 
    var tree = layui.tree; 
 | 
    var form = layui.form; 
 | 
    var dropdown = layui.dropdown; 
 | 
    var element = layui.element; 
 | 
    admin = layui.admin; 
 | 
  
 | 
    $('#organization').html(localStorage.getItem('nickname') + ' <i class="layui-icon"></i>'); 
 | 
  
 | 
    // 部门人员 筛选 
 | 
    dropdown.render({ 
 | 
        elem: '#organization' 
 | 
        , content: ['<div id="organizationTree" style="height: calc(100vh - 525px);border: none"></div>'].join('') 
 | 
        , style: 'width: 370px; height: 350px; padding: 0 15px; box-shadow: 1px 1px 30px rgb(0 0 0 / 12%);' 
 | 
        , ready: function () { 
 | 
            loadTree(); 
 | 
        } 
 | 
    }); 
 | 
  
 | 
    // 树形图 
 | 
    var organizationTree; 
 | 
    window.loadTree = function (condition,allSwitch) { 
 | 
        var loadIndex = layer.load(2); 
 | 
        $.ajax({ 
 | 
            url: baseUrl + "/dept/user/tree/auth", 
 | 
            headers: {'token': localStorage.getItem('token')}, 
 | 
            data: { 
 | 
                'condition': condition, 
 | 
                'allSwitch': allSwitch 
 | 
            }, 
 | 
            method: 'POST', 
 | 
            success: function (res) { 
 | 
                layer.close(loadIndex); 
 | 
                if (res.code === 200) { 
 | 
                    organizationTree = tree.render({ 
 | 
                        elem: '#organizationTree', 
 | 
                        id: 'organizationTree', 
 | 
                        onlyIconControl: true, 
 | 
                        data: res.data, 
 | 
                        click: function (obj) { 
 | 
                            treeCond = { 
 | 
                                key: obj.data.key, 
 | 
                                val: obj.data.id 
 | 
                            } 
 | 
                            $('#organization').html(obj.data.title + ' <i class="layui-icon"></i>'); 
 | 
                            $('#organizationTree').find('.ew-tree-click').removeClass('ew-tree-click'); 
 | 
                            $(obj.elem).children('.layui-tree-entry').addClass('ew-tree-click'); 
 | 
                            clearFormVal($('#search-box')); 
 | 
                            tableIns.reload({ 
 | 
                                where: {[obj.data.key]: obj.data.id}, 
 | 
                                page: {curr: 1} 
 | 
                            }); 
 | 
                        } 
 | 
                    }); 
 | 
                    treeData = res.data; 
 | 
                } else if (res.code === 403) { 
 | 
                    top.location.href = baseUrl + "/"; 
 | 
                } else { 
 | 
                    layer.msg(res.msg) 
 | 
                } 
 | 
            } 
 | 
        }) 
 | 
    } 
 | 
  
 | 
    // 数据渲染 
 | 
    tableIns = table.render({ 
 | 
        elem: '#priOnline', 
 | 
        headers: {token: localStorage.getItem('token')}, 
 | 
        url: baseUrl + '/priOnline2/list/auth', 
 | 
        page: true, 
 | 
        limit: 16, 
 | 
        limits: [16, 30, 50, 100, 200, 500], 
 | 
        toolbar: '#toolbar', 
 | 
        cellMinWidth: 150, 
 | 
        cols: [[ 
 | 
            {type: 'checkbox', fixed: 'left'} 
 | 
            , {field: 'id', title: 'ID', sort: true, align: 'center', fixed: 'left', width: 80, hide: true, sort:true} 
 | 
            , { 
 | 
                field: 'templateName', 
 | 
                align: 'center', 
 | 
                title: '客户名称', 
 | 
                style: 'color: #1890ff;cursor:pointer', 
 | 
                event: 'moreCstmr', 
 | 
                width: 350, 
 | 
                hide: false, sort:true 
 | 
            } 
 | 
            , {field: 'cstmrId$', align: 'center', title: '客户id', hide: true} 
 | 
            , {field: 'orderNum', align: 'center', title: '核价单号', hide: false, sort:true} 
 | 
            , { 
 | 
                field: 'planId$', 
 | 
                align: 'center', 
 | 
                title: '规划单号', 
 | 
                style: 'color: #1890ff;cursor:pointer', 
 | 
                event: 'morePlan', 
 | 
                hide: false 
 | 
            } 
 | 
            , {field: 'itemId', align: 'center', title: '规划单ID', hide: true, sort:true} 
 | 
            , {field: 'statusAll$', align: 'center',title: '状态'} 
 | 
            // ,{field: 'memberId$', align: 'center',title: ''} 
 | 
            , { 
 | 
                field: 'settle$', 
 | 
                align: 'center', 
 | 
                title: '进度', 
 | 
                style: 'color: #1890ff;cursor:pointer', 
 | 
                event: 'more', 
 | 
                hide: false 
 | 
            } 
 | 
            , {field: 'settleSize', align: 'center', title: '流程长度', hide: true} 
 | 
            , {field: 'user$', align: 'center', title: '业务员', hide: false} 
 | 
            , {field: 'deptId$', align: 'center', title: '部门', hide: true} 
 | 
            , {field: 'checkDataStatus$', align: 'center', title: '报价数据', hide: false,width: 80} 
 | 
            , {field: 'createTime$', align: 'center', title: '创建时间', hide: true,width: 120} 
 | 
            , {field: 'updateUserId$', align: 'center', title: '更新人员', hide: false,width: 80} 
 | 
            , {field: 'updateTime$', align: 'center', title: '更新时间', hide: false,width: 120} 
 | 
            ,{field: 'assistantHostSign$', align: 'left',title: '主副标记', hide: false,width: 80} 
 | 
            ,{field: 'assistantHostSign', align: 'left',title: '主副标记', hide: true,width: 80} 
 | 
            ,{field: 'hostPlanId', align: 'left',title: '主ID', hide: true,width: 80} 
 | 
            ,{field: 'assistantPlanId', align: 'left',title: '副ID', hide: true,width: 80} 
 | 
            ,{field: 'nowUserId', title: 'nowUserId', hide: true, templet:function(){return nowUserId2}} 
 | 
            ,{field: 'userId',title: 'userId', hide: true} 
 | 
            ,{field: 'memberId',title: 'memberId', hide: true} 
 | 
            , {fixed: 'right', title: '操作', align: 'center', toolbar: '#operate', width: 350} 
 | 
        ]], 
 | 
        request: { 
 | 
            pageName: 'curr', 
 | 
            pageSize: 'limit' 
 | 
        }, 
 | 
        parseData: function (res) { 
 | 
            res.data.records.forEach((item,index) => { 
 | 
                item.nowUserId = nowUserId2 
 | 
            }) 
 | 
            return { 
 | 
                'code': res.code, 
 | 
                'msg': res.msg, 
 | 
                'count': res.data.total, 
 | 
                'data': res.data.records 
 | 
            } 
 | 
        }, 
 | 
        response: { 
 | 
            statusCode: 200 
 | 
        }, 
 | 
        done: function (res, curr, count) { 
 | 
            if (res.code === 403) { 
 | 
                top.location.href = baseUrl + "/"; 
 | 
            } 
 | 
            pageCurr = curr; 
 | 
            limit(); 
 | 
        } 
 | 
    }); 
 | 
  
 | 
    // 监听排序事件 
 | 
    table.on('sort(priOnline)', function (obj) { 
 | 
        var searchData = {}; 
 | 
        $.each($('#search-box [name]').serializeArray(), function () { 
 | 
            searchData[this.name] = this.value; 
 | 
        }); 
 | 
        searchData['orderByField'] = obj.field; 
 | 
        searchData['orderByType'] = obj.type; 
 | 
        tableIns.reload({ 
 | 
            where: searchData, 
 | 
            page: { 
 | 
                curr: 1 
 | 
            }, 
 | 
            done: function (res, curr, count) { 
 | 
                if (res.code === 403) { 
 | 
                    top.location.href = baseUrl + "/"; 
 | 
                } 
 | 
                pageCurr = curr; 
 | 
                limit(); 
 | 
            } 
 | 
        }); 
 | 
    }); 
 | 
  
 | 
    // 监听头工具栏事件 
 | 
    table.on('toolbar(priOnline)', function (obj) { 
 | 
        var checkStatus = table.checkStatus(obj.config.id); 
 | 
        switch (obj.event) { 
 | 
            case 'addBlank': 
 | 
                showEditModel(); 
 | 
                break; 
 | 
            case 'addBlank2': 
 | 
                showEditModel2(); 
 | 
                break; 
 | 
            case 'refreshData': 
 | 
                tableIns.reload({ 
 | 
                    page: { 
 | 
                        curr: pageCurr 
 | 
                    } 
 | 
                }); 
 | 
                limit(); 
 | 
                break; 
 | 
            case 'deleteData': 
 | 
                var data = checkStatus.data; 
 | 
                var ids = []; 
 | 
                data.map(function (track) { 
 | 
                    ids.push(track.id); 
 | 
                }); 
 | 
                if (ids.length === 0) { 
 | 
                    layer.msg('请选择数据'); 
 | 
                } else { 
 | 
                    layer.confirm('确定删除' + (ids.length === 1 ? '此' : ids.length) + '条数据吗', function () { 
 | 
                        $.ajax({ 
 | 
                            url: baseUrl + "/priOnline2/delete/auth", 
 | 
                            headers: {'token': localStorage.getItem('token')}, 
 | 
                            data: {ids: ids}, 
 | 
                            method: 'POST', 
 | 
                            traditional: true, 
 | 
                            success: function (res) { 
 | 
                                if (res.code === 200) { 
 | 
                                    layer.closeAll(); 
 | 
                                    tableReload(false); 
 | 
                                } else if (res.code === 403) { 
 | 
                                    top.location.href = baseUrl + "/"; 
 | 
                                } else { 
 | 
                                    layer.msg(res.msg) 
 | 
                                } 
 | 
                            } 
 | 
                        }) 
 | 
                    }); 
 | 
                } 
 | 
                break; 
 | 
            case 'exportData': 
 | 
                layer.confirm('确定导出Excel吗', {shadeClose: true}, function () { 
 | 
                    var titles = []; 
 | 
                    var fields = []; 
 | 
                    obj.config.cols[0].map(function (col) { 
 | 
                        if (col.type === 'normal' && col.hide === false && col.toolbar == null) { 
 | 
                            titles.push(col.title); 
 | 
                            fields.push(col.field); 
 | 
                        } 
 | 
                    }); 
 | 
                    var exportData = {}; 
 | 
                    $.each($('#search-box [name]').serializeArray(), function () { 
 | 
                        exportData[this.name] = this.value; 
 | 
                    }); 
 | 
                    var param = { 
 | 
                        'config': exportData, 
 | 
                        'fields': fields 
 | 
                    }; 
 | 
                    $.ajax({ 
 | 
                        url: baseUrl + "/priOnline2/export/auth", 
 | 
                        headers: {'token': localStorage.getItem('token')}, 
 | 
                        data: JSON.stringify(param), 
 | 
                        dataType: 'json', 
 | 
                        contentType: 'application/json;charset=UTF-8', 
 | 
                        method: 'POST', 
 | 
                        success: function (res) { 
 | 
                            layer.closeAll(); 
 | 
                            if (res.code === 200) { 
 | 
                                table.exportFile(titles, res.data, 'xls'); 
 | 
                            } else if (res.code === 403) { 
 | 
                                top.location.href = baseUrl + "/"; 
 | 
                            } else { 
 | 
                                layer.msg(res.msg) 
 | 
                            } 
 | 
                        } 
 | 
                    }); 
 | 
                }); 
 | 
                break; 
 | 
        } 
 | 
    }); 
 | 
  
 | 
    $("#data-btn-file2").on("click", (e) => { 
 | 
        $("#data-btn-upload").click() 
 | 
    }); 
 | 
  
 | 
    var _uploadFile = null 
 | 
    //响应上传 
 | 
    $("#data-btn-upload").on("change",(evt) => { 
 | 
        var files = evt.target.files; 
 | 
        if(files==null || files.length==0){ 
 | 
            alert("No files wait for import"); 
 | 
            return; 
 | 
        } 
 | 
  
 | 
        var file = files[0] 
 | 
  
 | 
        var tr = $(['<tr id="upload-">' 
 | 
            ,'<td id="upload-filename-id-'+ file.lastModified + '">' + file.name +'</td>' 
 | 
            ,'<td>'+ (file.size/1014).toFixed(1) +'kb</td>' 
 | 
            ,'<td id="upload-filename-userName-'+ '">' +'</td>' 
 | 
            ,'<td id="upload-file-id-' + file.lastModified + '"><div class="layui-progress layui-progress-big" lay-showPercent="true" lay-filter="progress-demo-'+ file.lastModified +'"><div class="layui-progress-bar" lay-percent=""></div></div></td>' 
 | 
            ,'<td>' 
 | 
            ,'<button class="layui-btn layui-btn-xs demo-reload layui-hide">重传</button>' 
 | 
            ,'<button class="layui-btn layui-btn-xs layui-btn-danger demo-delete">删除</button>' 
 | 
            ,'<button id="file-download" class="layui-btn layui-btn-xs demo-reload layui-hide">下载</button>' 
 | 
            ,'</td>' 
 | 
            ,'</tr>'].join('')); 
 | 
  
 | 
        //删除 
 | 
        tr.find('.demo-delete').on('click', function(){ 
 | 
            tr.remove(); 
 | 
            $("#data-btn-upload").val("") 
 | 
            _uploadFile = null 
 | 
        }); 
 | 
  
 | 
        $('#data-btn-file3').append(tr) 
 | 
  
 | 
        element.progress('progress-demo-'+ file.lastModified, '0%'); //执行进度条。 
 | 
        element.init(); 
 | 
  
 | 
        _uploadFile = file 
 | 
    }) 
 | 
  
 | 
    //开始上传 
 | 
    $("#testListAction").on("click", async (e) => { 
 | 
        if (_uploadFile == null) { 
 | 
            return false; 
 | 
        } 
 | 
  
 | 
        var index = layer.load(1, { 
 | 
            shadeClose: false, 
 | 
            title: '上传中..', 
 | 
            shade: [0.5,'#000'] 
 | 
        }); 
 | 
  
 | 
        var file = _uploadFile 
 | 
  
 | 
        putObject(file,(p) => { 
 | 
            element.progress('progress-demo-'+ file.lastModified, (Math.round(p * 100)) + "%"); //执行进度条。 
 | 
        }).then((result) => { 
 | 
            var filename = result.name 
 | 
            layer.msg('上传成功', {icon: 1}); 
 | 
            $("#upload-file-id-" + file.lastModified).html("上传成功") 
 | 
            $("#upload-filename-id-" + file.lastModified).html(filename) 
 | 
            let token = localStorage.getItem("token"); 
 | 
            $.ajax({ 
 | 
                url: baseUrl+"/pri/online/url/insert/file/auth", 
 | 
                headers: {'token': localStorage.getItem('token')}, 
 | 
                data: { 
 | 
                    'planId': $('.layui-layer-title').text(), 
 | 
                    'filename': filename, 
 | 
                    'filesize': file.size 
 | 
                }, 
 | 
                method: 'POST', 
 | 
                success: function (res) { 
 | 
                    if (res.code === 200){ 
 | 
                        layer.close(index) 
 | 
                        // console.log(res) 
 | 
                    } else if (res.code === 403){ 
 | 
                        top.location.href = baseUrl+"/"; 
 | 
                    } else { 
 | 
                        layer.msg(res.msg) 
 | 
                    } 
 | 
                } 
 | 
            }); 
 | 
        }).catch((e) => { 
 | 
            // console.log(e) 
 | 
            layer.msg('上传失败', {icon: 2}); 
 | 
            $("#upload-file-id-" + file.lastModified).html("上传失败") 
 | 
        }) 
 | 
  
 | 
        //清空file 
 | 
        $("#data-btn-upload").val("") 
 | 
        _uploadFile = null 
 | 
    }); 
 | 
  
 | 
    // 监听行工具事件 
 | 
    table.on('tool(priOnline)', function (obj) { 
 | 
        var data = obj.data; 
 | 
        switch (obj.event) { 
 | 
            case 'approvalEnd': 
 | 
                layer.confirm('审批拒绝?', { 
 | 
                    skin: 'layui-layer-admin', 
 | 
                    shade: .1, 
 | 
                    offset: '200px', 
 | 
                    title: data.name 
 | 
                }, function (i) { 
 | 
                    layer.close(i); 
 | 
                    // console.log(data) 
 | 
                    approvalEnd(data.id); 
 | 
                }); 
 | 
                break; 
 | 
            case 'approval': 
 | 
                layer.confirm('审批通过?', { 
 | 
                    skin: 'layui-layer-admin', 
 | 
                    shade: .1, 
 | 
                    offset: '200px', 
 | 
                    title: data.name 
 | 
                }, function (i) { 
 | 
                    // console.log(data) 
 | 
                    layer.close(i); 
 | 
                    // 指定模板 
 | 
                    if (((data.settle === 1 && data.settleSize===3) || (data.settle===2 && data.settleSize===4)) && data.assistantHostSign==0) { 
 | 
                        admin.open({ 
 | 
                            type: 1, 
 | 
                            area: '300px', 
 | 
                            title: '选择报价模板', 
 | 
                            content: $('#plannerListDialog').html(), 
 | 
                            success: function (layero, dIndex) { 
 | 
                                let plannerSel = xmSelect.render({ 
 | 
                                    el: '#plannerXmlSel', 
 | 
                                    autoRow: true, 
 | 
                                    filterable: true, 
 | 
                                    remoteSearch: true, 
 | 
                                    clickClose: true, 
 | 
                                    radio: true, 
 | 
                                    remoteMethod: function (val, cb, show) { 
 | 
                                        let loadIndex = layer.load(2); 
 | 
                                        $.ajax({ 
 | 
                                            url: baseUrl + "/priOnline2/priQuoteAdd/list/auth", 
 | 
                                            headers: {'token': localStorage.getItem('token')}, 
 | 
                                            data: { 
 | 
                                                planId: data.id 
 | 
                                            }, 
 | 
                                            method: 'POST', 
 | 
                                            success: function (res) { 
 | 
                                                layer.close(loadIndex); 
 | 
                                                if (res.code === 200) { 
 | 
                                                    cb(res.data) 
 | 
                                                } else { 
 | 
                                                    layer.close(dIndex); 
 | 
                                                    layer.msg(res.msg, {icon: 2}); 
 | 
                                                } 
 | 
                                            } 
 | 
                                        }) 
 | 
                                    } 
 | 
                                }); 
 | 
  
 | 
                                form.on('submit(editSubmit)', function () { 
 | 
                                    let plannerId = plannerSel.getValue()[0] ? plannerSel.getValue()[0].value : null; 
 | 
                                    if (!plannerId) { 
 | 
                                        layer.msg("请选择规划员", {icon: 2}); 
 | 
                                        top.requireTip($('#plannerXmlSel')); 
 | 
                                        return false; 
 | 
                                    } 
 | 
                                    approval(data.id, plannerId, dIndex); 
 | 
                                }); 
 | 
  
 | 
                                $(layero).children('.layui-layer-content').css('overflow', 'visible'); 
 | 
                            } 
 | 
                        }) 
 | 
                    } else { 
 | 
                        approval(data.id); 
 | 
                    } 
 | 
                }); 
 | 
                break; 
 | 
            case 'moreCstmr': 
 | 
                top.cstmrByMore = data.cstmrId$; 
 | 
                admin.popupRight({ 
 | 
                    type: 1, 
 | 
                    window: "top", 
 | 
                    area: "1250px", 
 | 
                    url: "../cstmr/cstmr_more.html", 
 | 
                    end: function () { 
 | 
                        // $(".layui-laypage-btn")[0].click(); 
 | 
                    } 
 | 
                }) 
 | 
                break; 
 | 
            case 'morePlan': 
 | 
                top.planByMore = data.itemId; 
 | 
                admin.popupRight({ 
 | 
                    type: 1, 
 | 
                    window: "top", 
 | 
                    area: "1250px", 
 | 
                    url: "../plan/plan_more_other.html", 
 | 
                    end: function () { 
 | 
                        // $(".layui-laypage-btn")[0].click(); 
 | 
                    } 
 | 
                }) 
 | 
                break; 
 | 
            case 'more': 
 | 
                top.priOnlineByMore = data.id; 
 | 
                admin.popupRight({ 
 | 
                    type: 1, 
 | 
                    window: "top", 
 | 
                    area: "1250px", 
 | 
                    url: "priOnline_more.html", 
 | 
                    end: function () { 
 | 
                        // $(".layui-laypage-btn")[0].click(); 
 | 
                    } 
 | 
                }) 
 | 
                break; 
 | 
            // 核价 
 | 
            case 'check': 
 | 
                layer.open({ 
 | 
                    type: 2, 
 | 
                    title: '核价', 
 | 
                    maxmin: true, 
 | 
                    area: [top.detailWidth, top.detailHeight], 
 | 
                    shadeClose: false, 
 | 
                    content: 'priOnline_detail.html?id=' + data.id, 
 | 
                    success: function (layero, index) { 
 | 
                        // layer.iframeAuto(index);layer.style(index, {top: (($(window).height()-layer.getChildFrame('#data-detail', index).height())/3)+"px"}); 
 | 
                    } 
 | 
                }); 
 | 
                break; 
 | 
            case 'del': 
 | 
                layer.confirm('确定删除这条数据吗', function () { 
 | 
                    $.ajax({ 
 | 
                        url: baseUrl + "/priOnline2/delete/auth", 
 | 
                        headers: {'token': localStorage.getItem('token')}, 
 | 
                        data: {ids: data.id}, 
 | 
                        method: 'POST', 
 | 
                        traditional: true, 
 | 
                        success: function (res) { 
 | 
                            if (res.code === 200) { 
 | 
                                layer.closeAll(); 
 | 
                                tableReload(false); 
 | 
                            } else if (res.code === 403) { 
 | 
                                top.location.href = baseUrl + "/"; 
 | 
                            } else { 
 | 
                                layer.msg(res.msg) 
 | 
                            } 
 | 
                        } 
 | 
                    }) 
 | 
                }); 
 | 
                break; 
 | 
            case "edit": 
 | 
                showEditForm(data); 
 | 
                break; 
 | 
            case "upload": 
 | 
                $.ajax({ 
 | 
                    type: "get", 
 | 
                    url: baseUrl + "/priOnline2/viewCheck/" + data.id + "/auth", 
 | 
                    dataType: "json", 
 | 
                    headers: {'token': localStorage.getItem('token')}, 
 | 
                    success: function (res) { 
 | 
                        if (res.code == 200) { 
 | 
                            layer.confirm('当前已存在数据,继续上传将会覆盖旧数据,是否上传?', function () { 
 | 
                                $("#uploadQuote").click() 
 | 
                            }); 
 | 
                        } else { 
 | 
                            $("#uploadQuote").click() 
 | 
                        } 
 | 
                    } 
 | 
                }); 
 | 
  
 | 
                $("#uploadQuote").on("change", (evt) => { 
 | 
                    var files = evt.target.files; 
 | 
                    if (files == null || files.length == 0) { 
 | 
                        alert("No files wait for import"); 
 | 
                        return; 
 | 
                    } 
 | 
  
 | 
                    let name = files[0].name; 
 | 
                    let suffixArr = name.split("."), suffix = suffixArr[suffixArr.length - 1]; 
 | 
                    if (suffix != "xlsx") { 
 | 
                        alert("Currently only supports the import of xlsx files"); 
 | 
                        return; 
 | 
                    } 
 | 
                    LuckyExcel.transformExcelToLucky(files[0], function (exportJson, luckysheetfile) { 
 | 
                        if (exportJson.sheets == null || exportJson.sheets.length == 0) { 
 | 
                            alert("Failed to read the content of the excel file, currently does not support xls files!"); 
 | 
                            return; 
 | 
                        } 
 | 
  
 | 
                        let formData = new FormData($("#uploadFile")[0]); 
 | 
                        formData.append("id", data.id); 
 | 
                        formData.append("checkData", zip(exportJson.sheets)); 
 | 
                        $.ajax({ 
 | 
                            url: baseUrl + "/priOnline2/uploadCheck/auth", 
 | 
                            headers: {'token': localStorage.getItem('token')}, 
 | 
                            data: formData, 
 | 
                            // data: JSON.stringify({ 
 | 
                            //     id: data.id, 
 | 
                            //     checkData: zip(exportJson.sheets) 
 | 
                            // }), 
 | 
                            // dataType: "json", 
 | 
                            method: 'POST', 
 | 
                            cache: false, 
 | 
                            processData: false, 
 | 
                            contentType: false, 
 | 
                            // contentType:'application/json;charset=UTF-8', 
 | 
                            success: function (res) { 
 | 
                                if (res.code == 200) { 
 | 
                                    layer.msg('上传成功', {time: 1000}, () => { 
 | 
                                        parent.location.reload() 
 | 
                                    }) 
 | 
                                } else { 
 | 
                                    layer.msg(res.msg, {time: 1000}, () => { 
 | 
                                        parent.location.reload() 
 | 
                                    }) 
 | 
                                } 
 | 
                            } 
 | 
                        }) 
 | 
                    }); 
 | 
                }) 
 | 
                break; 
 | 
            case "viewCheck": 
 | 
                //查看询价 
 | 
                $.ajax({ 
 | 
                    type: "get", 
 | 
                    url: baseUrl + "/priOnline2/viewCheck/" + data.id + "/auth", 
 | 
                    dataType: "json", 
 | 
                    headers: {'token': localStorage.getItem('token')}, 
 | 
                    success: function (res) { 
 | 
                        if (res.code == 200) { 
 | 
                            layer.open({ 
 | 
                                type: 2, 
 | 
                                title: '查看询价', 
 | 
                                maxmin: true, 
 | 
                                area: [top.detailWidth, top.detailHeight], 
 | 
                                shadeClose: false, 
 | 
                                content: 'priOnline_check.html?id=' + data.id, 
 | 
                                success: function (layero, index) { 
 | 
                                    // layer.iframeAuto(index);layer.style(index, {top: (($(window).height()-layer.getChildFrame('#data-detail', index).height())/3)+"px"}); 
 | 
                                } 
 | 
                            }); 
 | 
                        } else { 
 | 
                            layer.msg(res.msg, {time: 1000}) 
 | 
                        } 
 | 
                    } 
 | 
                }); 
 | 
                break; 
 | 
            case "uploadLink": 
 | 
                // 打开弹窗 
 | 
                // 构建带参数的内容 
 | 
                var planIdSign = data.itemId; 
 | 
                if (data.assistantHostSign==1){ 
 | 
                    planIdSign = data.hostPlanId; 
 | 
                } 
 | 
                layer.open({ 
 | 
                    type: 1, 
 | 
                    title: '上传文件-'+planIdSign+'-'+data.id, 
 | 
                    content: $('#myModal'), 
 | 
  
 | 
                }); 
 | 
                // 获取路径下的文件列表,使用 jQuery 的 ajax 方法 
 | 
                $.ajax({ 
 | 
                    url: '/pri/online/url/view/file/auth', 
 | 
                    headers: {'token': localStorage.getItem('token')}, 
 | 
                    data:{ 
 | 
                        planId:planIdSign, 
 | 
                        planIdI:data.itemId 
 | 
                    }, 
 | 
                    success: function(response) { 
 | 
                        if (response.code==200){ 
 | 
                            var targetTable = document.getElementById("data-btn-file3"); 
 | 
                            targetTable.innerHTML = ''; 
 | 
                            // 将获取到的文件列表添加到文件队列中进行显示 
 | 
                            response.data.forEach(function(file,index) { 
 | 
                                // 创建tr元素 
 | 
                                var tr = document.createElement("tr"); 
 | 
                                tr.id = "upload-"+index; 
 | 
                                tr.innerHTML = '<td>' + file.name + '</td>' 
 | 
                                    + '<td>' + (file.size / 1024).toFixed(1) + 'kb</td>' 
 | 
                                    + '<td>' + file.userName + '</td>' 
 | 
                                    // + '<td><div class="layui-progress" lay-filter="progress-demo-' + index ,100 + '%'+ '"><div class="layui-progress-bar" lay-percent=""></div></div></td>' 
 | 
                                    + '<td>'+'已完成'+'</td>' 
 | 
                                    + '<td>' 
 | 
                                    + '<button class="layui-btn layui-btn-xs demo-reload layui-hide">重传</button>' 
 | 
                                    // + '<button class="layui-btn layui-btn-xs layui-btn-danger demo-delete">删除</button>' 
 | 
                                    + '<a href="' + file.path + '" download class="layui-btn layui-btn-xs layui-btn-primary">下载</a>' 
 | 
                                    + '</td>'; 
 | 
                                // 将tr元素添加到目标table中 
 | 
                                targetTable.appendChild(tr); 
 | 
                            }); 
 | 
                        }else { 
 | 
                            console.log('Failed to get file list error.'); 
 | 
                        } 
 | 
                    }, 
 | 
                    error: function() { 
 | 
                        console.log('Failed to get file list.'); 
 | 
                    } 
 | 
                }); 
 | 
                break; 
 | 
        } 
 | 
    }); 
 | 
  
 | 
    // 点击下载按钮时触发文件下载 
 | 
    $('#data-btn-file3').on('click', 'a', function() { 
 | 
        // console.log(this) 
 | 
        var downloadUrl = $(this).attr('href'); 
 | 
        let url = getObjectUrl(downloadUrl) 
 | 
        layer.msg("准备下载中", {icon: 1}); 
 | 
        location.href = url 
 | 
        return false;  // 阻止默认的链接跳转行为 
 | 
    }); 
 | 
  
 | 
    // 搜索 
 | 
    form.on('submit(search)', function (data) { 
 | 
        pageCurr = 1; 
 | 
        pageCount = 0; 
 | 
        tableReload(); 
 | 
    }); 
 | 
  
 | 
    /* 弹窗 - 新增、修改 */ 
 | 
    function showEditModel(mData) { 
 | 
        admin.open({ 
 | 
            type: 1, 
 | 
            area: '800px', 
 | 
            title: (mData ? '修改' : '添加') + '核价', 
 | 
            content: $('#editDialog').html(), 
 | 
            success: function (layero, dIndex) { 
 | 
                form.val('detail', mData); 
 | 
                form.on('submit(editSubmit)', function (data) { 
 | 
                    var loadIndex = layer.load(2); 
 | 
                    layer.close(loadIndex); 
 | 
                    layer.close(dIndex); 
 | 
                    layer.open({ 
 | 
                        type: 2, 
 | 
                        title: '新增', 
 | 
                        maxmin: true, 
 | 
                        area: [top.detailWidth, top.detailHeight], 
 | 
                        shadeClose: false, 
 | 
                        content: 'priOnline_detail.html?item_id=' + data.field.planId + "&template=" + data.field.template + "&name=" + data.field.name, 
 | 
                        success: function (layero, index) { 
 | 
                            clearFormVal(layer.getChildFrame('#detail', index)); 
 | 
                            // layer.iframeAuto(index);layer.style(index, {top: (($(window).height()-layer.getChildFrame('#data-detail', index).height())/3)+"px"}); 
 | 
                        } 
 | 
                    }); 
 | 
                    return false; 
 | 
                }); 
 | 
                $(layero).children('.layui-layer-content').css('overflow', 'visible'); 
 | 
                layui.form.render('select'); 
 | 
            } 
 | 
        }); 
 | 
    } 
 | 
  
 | 
    // /* 弹窗 - 新增、修改 */ 
 | 
    // function showEditModel2(mData) { 
 | 
    //     admin.open({ 
 | 
    //         type: 1, 
 | 
    //         area: '800px', 
 | 
    //         title: '接取' + '核价', 
 | 
    //         content: $('#editDialogHJ').html(), 
 | 
    //         success: function (layero, dIndex) { 
 | 
    //             let loadNameXml = loadNameXmlSel() 
 | 
    //             form.val('detailHJ', mData); 
 | 
    //             form.on('submit(editSubmitHJ)', function (data) { 
 | 
    //                 data.field.id = loadNameXml.getValue()[0] ? loadNameXml.getValue()[0].id : null; 
 | 
    //                 $.ajax({ 
 | 
    //                     url: baseUrl+"/priOnline2/HJ/add/auth", 
 | 
    //                     headers: {'token': localStorage.getItem('token')}, 
 | 
    //                     data: data.field, 
 | 
    //                     method: 'POST', 
 | 
    //                     success: function (res) { 
 | 
    //                         if (res.code === 200){ 
 | 
    //                             layer.close(dIndex); 
 | 
    //                             layer.msg(res.msg, {icon: 1}); 
 | 
    //                             tableReload() 
 | 
    //                         } else if (res.code === 403){ 
 | 
    //                             top.location.href = baseUrl+"/"; 
 | 
    //                         }else { 
 | 
    //                             layer.msg(res.msg, {icon: 2}); 
 | 
    //                         } 
 | 
    //                     } 
 | 
    //                 }) 
 | 
    //             }); 
 | 
    //             $(layero).children('.layui-layer-content').css('overflow', 'visible'); 
 | 
    //             layui.form.render('select'); 
 | 
    //         } 
 | 
    //     }); 
 | 
    // } 
 | 
  
 | 
    //更新form 
 | 
    function showEditForm(mData) { 
 | 
        admin.open({ 
 | 
            type: 1, 
 | 
            area: '800px', 
 | 
            title: '核价信息编辑', 
 | 
            content: $('#editStatus').html(), 
 | 
            success: function (layero, dIndex) { 
 | 
                form.val('editStatusDetail', mData); 
 | 
                form.render('select') 
 | 
                form.on('submit(editSubmit)', function (data) { 
 | 
                    var loadIndex = layer.load(2); 
 | 
                    $.ajax({ 
 | 
                        url: baseUrl + "/priOnline2/updateForm/auth", 
 | 
                        headers: {'token': localStorage.getItem('token')}, 
 | 
                        data: data.field, 
 | 
                        method: 'POST', 
 | 
                        traditional: true, 
 | 
                        success: function (res) { 
 | 
                            if (res.code === 200) { 
 | 
                                layer.closeAll(); 
 | 
                                tableReload(false); 
 | 
                            } else if (res.code === 403) { 
 | 
                                top.location.href = baseUrl + "/"; 
 | 
                            } else { 
 | 
                                layer.msg(res.msg) 
 | 
                            } 
 | 
                        } 
 | 
                    }) 
 | 
                    layer.close(loadIndex); 
 | 
                    layer.close(dIndex); 
 | 
                    return false; 
 | 
                }); 
 | 
                $(layero).children('.layui-layer-content').css('overflow', 'visible'); 
 | 
                layui.form.render('select'); 
 | 
            } 
 | 
        }); 
 | 
    } 
 | 
  
 | 
    function approvalEnd(priOnlineId, plannerId, dIdx) { 
 | 
        let loadIndex = layer.load(2); 
 | 
        $.ajax({ 
 | 
            url: baseUrl + "/priOnline2/approvalEnd/auth", 
 | 
            headers: {'token': localStorage.getItem('token')}, 
 | 
            data: { 
 | 
                priOnlineId: priOnlineId, 
 | 
                plannerId: plannerId 
 | 
            }, 
 | 
            method: 'POST', 
 | 
            success: function (res) { 
 | 
                if (dIdx) { 
 | 
                    layer.close(dIdx); 
 | 
                } 
 | 
                layer.close(loadIndex); 
 | 
                if (res.code === 200) { 
 | 
                    layer.msg(res.msg, {icon: 1}); 
 | 
                    tableReload(); 
 | 
                } else if (res.code === 403) { 
 | 
                    top.location.href = baseUrl + "/"; 
 | 
                } else { 
 | 
                    layer.msg(res.msg, {icon: 2}); 
 | 
                } 
 | 
            } 
 | 
        }) 
 | 
    } 
 | 
  
 | 
    function approval(priOnlineId, plannerId, dIdx) { 
 | 
        let loadIndex = layer.load(2); 
 | 
        $.ajax({ 
 | 
            url: baseUrl + "/priOnline2/approval/auth", 
 | 
            headers: {'token': localStorage.getItem('token')}, 
 | 
            data: { 
 | 
                priOnlineId: priOnlineId, 
 | 
                plannerId: plannerId 
 | 
            }, 
 | 
            method: 'POST', 
 | 
            success: function (res) { 
 | 
                if (dIdx) { 
 | 
                    layer.close(dIdx); 
 | 
                } 
 | 
                layer.close(loadIndex); 
 | 
                if (res.code === 200) { 
 | 
                    layer.msg(res.msg, {icon: 1}); 
 | 
                    tableReload(); 
 | 
                } else if (res.code === 403) { 
 | 
                    top.location.href = baseUrl + "/"; 
 | 
                } else { 
 | 
                    layer.msg(res.msg, {icon: 2}); 
 | 
                } 
 | 
            } 
 | 
        }) 
 | 
    } 
 | 
  
 | 
    // window.loadNameXmlSel = function () { 
 | 
    //     return xmSelect.render({ 
 | 
    //         el: '#nameXmlSel', 
 | 
    //         autoRow: true, 
 | 
    //         filterable: true, 
 | 
    //         remoteSearch: true, 
 | 
    //         clickClose: true, 
 | 
    //         radio: true, 
 | 
    //         remoteMethod: function (val, cb, show) { 
 | 
    //             $.ajax({ 
 | 
    //                 url: baseUrl + "/priOnline2/HJ/search/auth", 
 | 
    //                 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}); 
 | 
    //                     } 
 | 
    //                 } 
 | 
    //             }); 
 | 
    //         } 
 | 
    //     }); 
 | 
    // } 
 | 
  
 | 
}); 
 | 
  
 | 
// 关闭动作 
 | 
$(document).on('click', '#data-detail-close', function () { 
 | 
    parent.layer.closeAll(); 
 | 
}); 
 | 
  
 | 
function tableReload(child) { 
 | 
    var searchData = {}; 
 | 
    $.each($('#search-box [name]').serializeArray(), function () { 
 | 
        searchData[this.name] = this.value; 
 | 
    }); 
 | 
    (child ? parent.tableIns : tableIns).reload({ 
 | 
        where: searchData, 
 | 
        page: { 
 | 
            curr: pageCurr 
 | 
        }, 
 | 
        done: function (res, curr, count) { 
 | 
            if (res.code === 403) { 
 | 
                top.location.href = baseUrl + "/"; 
 | 
            } 
 | 
            pageCurr = curr; 
 | 
            if (res.data.length === 0 && count !== 0) { 
 | 
                tableIns.reload({ 
 | 
                    where: searchData, 
 | 
                    page: { 
 | 
                        curr: pageCurr - 1 
 | 
                    } 
 | 
                }); 
 | 
                pageCurr -= 1; 
 | 
            } 
 | 
            limit(child); 
 | 
        } 
 | 
    }); 
 | 
} 
 | 
  
 | 
function setFormVal(el, data, showImg) { 
 | 
    for (var val in data) { 
 | 
        var find = el.find(":input[id='" + val + "']"); 
 | 
        find.val(data[val]); 
 | 
        if (showImg) { 
 | 
            var next = find.next(); 
 | 
            if (next.get(0)) { 
 | 
                if (next.get(0).localName === "img") { 
 | 
                    find.hide(); 
 | 
                    next.attr("src", data[val]); 
 | 
                    next.show(); 
 | 
                } 
 | 
            } 
 | 
        } 
 | 
    } 
 | 
} 
 | 
  
 | 
function clearFormVal(el) { 
 | 
    $(':input', el) 
 | 
        .val('') 
 | 
        .removeAttr('checked') 
 | 
        .removeAttr('selected'); 
 | 
} 
 | 
  
 | 
function detailScreen(index) { 
 | 
    var detail = layer.getChildFrame('#data-detail', index); 
 | 
    var height = detail.height() + 60; 
 | 
    if (height > ($(window).height() * 0.9)) { 
 | 
        height = ($(window).height() * 0.9); 
 | 
    } 
 | 
    layer.style(index, { 
 | 
        top: (($(window).height() - height) / 3) + "px", 
 | 
        height: height + 'px' 
 | 
    }); 
 | 
    $(".layui-layer-shade").remove(); 
 | 
} 
 | 
  
 | 
$('body').keydown(function () { 
 | 
    if (event.keyCode === 13) { 
 | 
        $("#search").click(); 
 | 
    } 
 | 
}); 
 | 
  
 | 
// 压缩 
 | 
function zip(data) { 
 | 
    if (!data) return data 
 | 
    // 判断数据是否需要转为JSON 
 | 
    const dataJson = typeof data !== 'string' && typeof data !== 'number' ? JSON.stringify(data) : data 
 | 
  
 | 
    // 使用Base64.encode处理字符编码,兼容中文 
 | 
    const str = Base64.encode(dataJson) 
 | 
    let binaryString = pako.gzip(str); 
 | 
    let arr = Array.from(binaryString); 
 | 
    let s = ""; 
 | 
    arr.forEach((item, index) => { 
 | 
        s += String.fromCharCode(item) 
 | 
    }) 
 | 
    return btoa(s) 
 | 
} 
 |