中扬CRM客户关系管理系统
#
LSH
2023-12-02 afa3bc1e2f39f66f59ee9b15d6af16593acdc9a4
src/main/webapp/static/js/priOnline2/priOnline.js
@@ -1,11 +1,25 @@
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'], function(){
}).use(['table', 'laydate', 'form', 'admin', 'xmSelect', 'element', 'cascader', 'tree', 'dropdown','element'], function () {
    var table = layui.table;
    var $ = layui.jquery;
    var layer = layui.layer;
@@ -13,6 +27,7 @@
    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">&#xe61a;</i>');
@@ -20,27 +35,28 @@
    // 部门人员 筛选
    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(){
        , 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){
    window.loadTree = function (condition,allSwitch) {
        var loadIndex = layer.load(2);
        $.ajax({
            url: baseUrl+"/dept/user/tree/auth",
            url: baseUrl + "/dept/user/tree/auth",
            headers: {'token': localStorage.getItem('token')},
            data: {
                'condition': condition
                'condition': condition,
                'allSwitch': allSwitch
            },
            method: 'POST',
            success: function (res) {
                layer.close(loadIndex);
                if (res.code === 200){
                if (res.code === 200) {
                    organizationTree = tree.render({
                        elem: '#organizationTree',
                        id: 'organizationTree',
@@ -62,8 +78,8 @@
                        }
                    });
                    treeData = res.data;
                } else if (res.code === 403){
                    top.location.href = baseUrl+"/";
                } else if (res.code === 403) {
                    top.location.href = baseUrl + "/";
                } else {
                    layer.msg(res.msg)
                }
@@ -75,7 +91,7 @@
    tableIns = table.render({
        elem: '#priOnline',
        headers: {token: localStorage.getItem('token')},
        url: baseUrl+'/priOnline2/list/auth',
        url: baseUrl + '/priOnline2/list/auth',
        page: true,
        limit: 16,
        limits: [16, 30, 50, 100, 200, 500],
@@ -83,24 +99,61 @@
        cellMinWidth: 150,
        cols: [[
            {type: 'checkbox', fixed: 'left'}
            ,{field: 'id', title: 'ID', sort: true,align: 'center', fixed: 'left', width: 80,hide: true}
            ,{field: 'templateName', align: 'center',title: '客户名称',hide: false}
            ,{field: 'orderNum', align: 'center',title: '核价单号'}
            ,{field: 'planId$', align: 'center',title: '规划单号'}
            ,{field: 'createTime$', align: 'center',title: '创建时间'}
            ,{field: 'updateTime$', align: 'center',title: '更新时间'}
            ,{field: 'status$', align: 'center',title: '状态'}
            ,{field: 'memberId$', align: 'center',title: '业务员'}
            ,{field: 'user$', align: 'center',title: '创建人员'}
            ,{field: 'updateUserId$', align: 'center',title: '更新人员'}
            ,{field: 'checkDataStatus$', align: 'center',title: '报价数据'}
            ,{fixed: 'right', title:'操作', align: 'center', toolbar: '#operate', width:350}
            , {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,
@@ -111,11 +164,11 @@
        response: {
            statusCode: 200
        },
        done: function(res, curr, count) {
        done: function (res, curr, count) {
            if (res.code === 403) {
                top.location.href = baseUrl+"/";
                top.location.href = baseUrl + "/";
            }
            pageCurr=curr;
            pageCurr = curr;
            limit();
        }
    });
@@ -123,7 +176,7 @@
    // 监听排序事件
    table.on('sort(priOnline)', function (obj) {
        var searchData = {};
        $.each($('#search-box [name]').serializeArray(), function() {
        $.each($('#search-box [name]').serializeArray(), function () {
            searchData[this.name] = this.value;
        });
        searchData['orderByField'] = obj.field;
@@ -135,9 +188,9 @@
            },
            done: function (res, curr, count) {
                if (res.code === 403) {
                    top.location.href = baseUrl+"/";
                    top.location.href = baseUrl + "/";
                }
                pageCurr=curr;
                pageCurr = curr;
                limit();
            }
        });
@@ -146,9 +199,12 @@
    // 监听头工具栏事件
    table.on('toolbar(priOnline)', function (obj) {
        var checkStatus = table.checkStatus(obj.config.id);
        switch(obj.event) {
        switch (obj.event) {
            case 'addBlank':
                showEditModel();
                break;
            case 'addBlank2':
                showEditModel2();
                break;
            case 'refreshData':
                tableIns.reload({
@@ -160,26 +216,26 @@
                break;
            case 'deleteData':
                var data = checkStatus.data;
                var ids=[];
                var ids = [];
                data.map(function (track) {
                    ids.push(track.id);
                });
                if (ids.length === 0){
                if (ids.length === 0) {
                    layer.msg('请选择数据');
                } else {
                    layer.confirm('确定删除'+(ids.length===1?'此':ids.length)+'条数据吗', function(){
                    layer.confirm('确定删除' + (ids.length === 1 ? '此' : ids.length) + '条数据吗', function () {
                        $.ajax({
                            url: baseUrl+"/priOnline2/delete/auth",
                            url: baseUrl + "/priOnline2/delete/auth",
                            headers: {'token': localStorage.getItem('token')},
                            data: {ids: ids},
                            method: 'POST',
                            traditional:true,
                            traditional: true,
                            success: function (res) {
                                if (res.code === 200){
                                if (res.code === 200) {
                                    layer.closeAll();
                                    tableReload(false);
                                } else if (res.code === 403){
                                    top.location.href = baseUrl+"/";
                                } else if (res.code === 403) {
                                    top.location.href = baseUrl + "/";
                                } else {
                                    layer.msg(res.msg)
                                }
@@ -189,9 +245,9 @@
                }
                break;
            case 'exportData':
                layer.confirm('确定导出Excel吗', {shadeClose: true}, function(){
                    var titles=[];
                    var fields=[];
                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);
@@ -199,7 +255,7 @@
                        }
                    });
                    var exportData = {};
                    $.each($('#search-box [name]').serializeArray(), function() {
                    $.each($('#search-box [name]').serializeArray(), function () {
                        exportData[this.name] = this.value;
                    });
                    var param = {
@@ -207,18 +263,18 @@
                        'fields': fields
                    };
                    $.ajax({
                        url: baseUrl+"/priOnline2/export/auth",
                        url: baseUrl + "/priOnline2/export/auth",
                        headers: {'token': localStorage.getItem('token')},
                        data: JSON.stringify(param),
                        dataType:'json',
                        contentType:'application/json;charset=UTF-8',
                        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');
                                table.exportFile(titles, res.data, 'xls');
                            } else if (res.code === 403) {
                                top.location.href = baseUrl+"/";
                                top.location.href = baseUrl + "/";
                            } else {
                                layer.msg(res.msg)
                            }
@@ -229,10 +285,217 @@
        }
    });
    $("#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){
    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({
@@ -242,25 +505,25 @@
                    area: [top.detailWidth, top.detailHeight],
                    shadeClose: false,
                    content: 'priOnline_detail.html?id=' + data.id,
                    success: function(layero, index){
                    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(){
                layer.confirm('确定删除这条数据吗', function () {
                    $.ajax({
                        url: baseUrl+"/priOnline2/delete/auth",
                        url: baseUrl + "/priOnline2/delete/auth",
                        headers: {'token': localStorage.getItem('token')},
                        data: {ids: data.id},
                        method: 'POST',
                        traditional:true,
                        traditional: true,
                        success: function (res) {
                            if (res.code === 200){
                            if (res.code === 200) {
                                layer.closeAll();
                                tableReload(false);
                            } else if (res.code === 403){
                                top.location.href = baseUrl+"/";
                            } else if (res.code === 403) {
                                top.location.href = baseUrl + "/";
                            } else {
                                layer.msg(res.msg)
                            }
@@ -273,36 +536,36 @@
                break;
            case "upload":
                $.ajax({
                    type:"get",
                    url: baseUrl+"/priOnline2/viewCheck/" + data.id + "/auth",
                    dataType:"json",
                    type: "get",
                    url: baseUrl + "/priOnline2/viewCheck/" + data.id + "/auth",
                    dataType: "json",
                    headers: {'token': localStorage.getItem('token')},
                    success:function(res) {
                    success: function (res) {
                        if (res.code == 200) {
                            layer.confirm('当前已存在数据,继续上传将会覆盖旧数据,是否上传?', function(){
                            layer.confirm('当前已存在数据,继续上传将会覆盖旧数据,是否上传?', function () {
                                $("#uploadQuote").click()
                            });
                        }else{
                        } else {
                            $("#uploadQuote").click()
                        }
                    }
                });
                $("#uploadQuote").on("change",(evt) => {
                $("#uploadQuote").on("change", (evt) => {
                    var files = evt.target.files;
                    if(files==null || files.length==0){
                    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"){
                    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){
                    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;
                        }
@@ -311,7 +574,7 @@
                        formData.append("id", data.id);
                        formData.append("checkData", zip(exportJson.sheets));
                        $.ajax({
                            url: baseUrl+"/priOnline2/uploadCheck/auth",
                            url: baseUrl + "/priOnline2/uploadCheck/auth",
                            headers: {'token': localStorage.getItem('token')},
                            data: formData,
                            // data: JSON.stringify({
@@ -326,11 +589,11 @@
                            // contentType:'application/json;charset=UTF-8',
                            success: function (res) {
                                if (res.code == 200) {
                                    layer.msg('上传成功',{time:1000},() => {
                                    layer.msg('上传成功', {time: 1000}, () => {
                                        parent.location.reload()
                                    })
                                }else{
                                    layer.msg(res.msg,{time:1000},() => {
                                } else {
                                    layer.msg(res.msg, {time: 1000}, () => {
                                        parent.location.reload()
                                    })
                                }
@@ -342,11 +605,11 @@
            case "viewCheck":
                //查看询价
                $.ajax({
                    type:"get",
                    url: baseUrl+"/priOnline2/viewCheck/" + data.id + "/auth",
                    dataType:"json",
                    type: "get",
                    url: baseUrl + "/priOnline2/viewCheck/" + data.id + "/auth",
                    dataType: "json",
                    headers: {'token': localStorage.getItem('token')},
                    success:function(res) {
                    success: function (res) {
                        if (res.code == 200) {
                            layer.open({
                                type: 2,
@@ -355,17 +618,79 @@
                                area: [top.detailWidth, top.detailHeight],
                                shadeClose: false,
                                content: 'priOnline_check.html?id=' + data.id,
                                success: function(layero, index){
                                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})
                        } 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;  // 阻止默认的链接跳转行为
    });
    // 搜索
@@ -395,7 +720,7 @@
                        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){
                        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"});
                        }
@@ -407,6 +732,42 @@
            }
        });
    }
    // /* 弹窗 - 新增、修改 */
    // 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) {
@@ -421,17 +782,17 @@
                form.on('submit(editSubmit)', function (data) {
                    var loadIndex = layer.load(2);
                    $.ajax({
                        url: baseUrl+"/priOnline2/updateForm/auth",
                        url: baseUrl + "/priOnline2/updateForm/auth",
                        headers: {'token': localStorage.getItem('token')},
                        data: data.field,
                        method: 'POST',
                        traditional:true,
                        traditional: true,
                        success: function (res) {
                            if (res.code === 200){
                            if (res.code === 200) {
                                layer.closeAll();
                                tableReload(false);
                            } else if (res.code === 403){
                                top.location.href = baseUrl+"/";
                            } else if (res.code === 403) {
                                top.location.href = baseUrl + "/";
                            } else {
                                layer.msg(res.msg)
                            }
@@ -447,16 +808,99 @@
        });
    }
    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 () {
$(document).on('click', '#data-detail-close', function () {
    parent.layer.closeAll();
});
function tableReload(child) {
    var searchData = {};
    $.each($('#search-box [name]').serializeArray(), function() {
    $.each($('#search-box [name]').serializeArray(), function () {
        searchData[this.name] = this.value;
    });
    (child ? parent.tableIns : tableIns).reload({
@@ -466,14 +910,14 @@
        },
        done: function (res, curr, count) {
            if (res.code === 403) {
                top.location.href = baseUrl+"/";
                top.location.href = baseUrl + "/";
            }
            pageCurr=curr;
            pageCurr = curr;
            if (res.data.length === 0 && count !== 0) {
                tableIns.reload({
                    where: searchData,
                    page: {
                        curr: pageCurr-1
                        curr: pageCurr - 1
                    }
                });
                pageCurr -= 1;
@@ -487,9 +931,9 @@
    for (var val in data) {
        var find = el.find(":input[id='" + val + "']");
        find.val(data[val]);
        if (showImg){
        if (showImg) {
            var next = find.next();
            if (next.get(0)){
            if (next.get(0)) {
                if (next.get(0).localName === "img") {
                    find.hide();
                    next.attr("src", data[val]);
@@ -509,13 +953,13 @@
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);
    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'
        top: (($(window).height() - height) / 3) + "px",
        height: height + 'px'
    });
    $(".layui-layer-shade").remove();
}