yangle
2024-06-06 d6db3fa707f470fd8a6160c6daf6bcea75b8a6ce
WebTM/views/Ó¦ÊÕ¹ÜÀí/±¨±í·ÖÎö/Kf_SellOutEntryReport.html
@@ -3,7 +3,7 @@
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>销售出库明细报表</title>
    <meta name="renderer" content="webkit">
    <meta name="renderer" content="webkit" charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
    <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
    <link rel="stylesheet" href="../../../layuiadmin/layui/css/layui.css" media="all">
@@ -15,6 +15,8 @@
    <script src="../../../layuiadmin/PubCustom.js"></script>
    <script src="../../../layuiadmin/zgqCustom/zgqCustom.js"></script>
    <script src="../../../layuiadmin/HideButton.js"></script>
    <!--<script src="../../../layuiadmin/xlsx.full.min.js"></script>-->
    <script src="https://cdn.bootcdn.net/ajax/libs/xlsx/0.18.5/xlsx.full.min.js"></script>
</head>
<body>
    <div class="layui-fluid">
@@ -24,60 +26,153 @@
                    <form class="layui-form" action="" lay-filter="component-form-group">
                        <div class="layui-collapse">
                            <div class="layui-colla-item">
                                <div class="layui-colla-title layui-inline">
                                    <div class="layui-inline">
                                        <span>更多</span>
                                    </div>
                                </div>
                                <div class="layui-inline">
                                    <label class="layui-form-label" style="width: 85px;">客户</label>
                                    <div class="layui-input-block" style="margin-left: 120px;">
                                        <input type="text" class="layui-input" name="HCusName" id="HCusName">
                                    </div>
                                </div>
                                <button class="layui-btn layuiadmin-btn-order" type="button" lay-submit="" lay-filter="btnSearch" id="btnSearch">
                                    <i class="layui-icon layui-icon-search layuiadmin-button-btn"></i>
                                </button>
                                <button class="layui-btn layuiadmin-btn-order" type="button" lay-submit="" lay-filter="btnReSearch" id="btnReSearch" style="padding:0 5px">重置</button>
                                <div class="layui-colla-content" style="padding: 0px; margin-left: 6%;">
                                    <div class="layui-row" style="margin-top:5px">
                                <div class="layui-row">
                                    <div class="layui-colla-title layui-inline">
                                        <div class="layui-inline">
                                            <label class="layui-form-label">过滤</label>
                                            <div class="layui-input-block">
                                                <select name="ColName" id="ColName" lay-filter="ColName" style="width:190px;">
                                                </select>
                                            <span>更多</span>
                                        </div>
                                    </div>
                                    <div class="layui-form layui-inline" style="width:200px;">
                                        <label class="layui-form-label" style="width:35px;">日期</label>
                                        <div class="layui-input-block" style="position:relative; left:-45px;">
                                            <input type="text" class="layui-input" id="HBeginDate" placeholder="yyyy-MM-dd HH:mm:ss" style="width:140px;">
                                        </div>
                                    </div>
                                    <div class="layui-inline" style="width:200px;">
                                        <label class="layui-form-label" style="width:5px;">-</label>
                                        <div class="layui-input-block" style="position:relative; left:-70px;">
                                            <input type="text" class="layui-input" id="HEndDate" placeholder="yyyy-MM-dd HH:mm:ss" style="width:140px;">
                                        </div>
                                    </div>
                                    <div class="layui-inline">
                                        <label class="layui-form-label" style="width: 85px;">客户</label>
                                        <div class="layui-input-block" style="margin-left: 120px;">
                                            <input type="text" class="layui-input" name="HCusName" id="HCusName">
                                        </div>
                                    </div>
                                    <div class="layui-inline">
                                        <label class="layui-form-label" style="width: 85px;">业务员</label>
                                        <div class="layui-input-block" style="margin-left: 120px;">
                                            <input type="text" class="layui-input" name="HEmpName" id="HEmpName">
                                        </div>
                                    </div>
                                    <button class="layui-btn layuiadmin-btn-order" type="button" lay-submit="" lay-filter="btnSearch" id="btnSearch">
                                        <i class="layui-icon layui-icon-search layuiadmin-button-btn"></i>
                                    </button>
                                    <button class="layui-btn layuiadmin-btn-order" type="button" lay-submit="" lay-filter="btnReSearch" id="btnReSearch" style="padding:0 5px">重置</button>
                                    <div class="layui-row" style="position:relative; left:30px;">
                                        <div class="layui-inline" style="width:450px;">
                                            <label class="layui-form-label" style="width: 85px;">件数总合计</label>
                                            <div class="layui-input-block" style="margin-left: 120px;">
                                                <input type="text" class="layui-input" name="HPieceQtyTotalSum" id="HPieceQtyTotalSum" style="background-color:#efefef4d;" readonly>
                                            </div>
                                        </div>
                                        <span>ä»¶</span>
                                        <div class="layui-inline">
                                            <select name="Comparator" id="Comparator" lay-filter="Comparator" style="width:190px;">
                                                <option value="0" selected="selected"></option>
                                                <option value="=">=</option>
                                                <option value=">=">>=</option>
                                                <option value=">">></option>
                                                <option value="<="><=</option>
                                                <option value="<"><</option>
                                                <option value="<>"><></option>
                                                <option value="7">包含</option>
                                                <option value="8">左包含</option>
                                                <option value="9">右包含</option>
                                                <option value="10">不包含</option>
                                            </select>
                                            <label class="layui-form-label" style="width: 85px;">米数总合计</label>
                                            <div class="layui-input-block" style="margin-left: 120px;">
                                                <input type="text" class="layui-input" name="HQtyTotalSum" id="HQtyTotalSum" style="background-color:#efefef4d;" readonly>
                                            </div>
                                        </div>
                                        <span>ç±³</span>
                                        <div class="layui-inline">
                                            <input type="text" class="layui-input" value="" name="ColContent" id="ColContent">
                                            <label class="layui-form-label" style="width: 85px;">金额总合计</label>
                                            <div class="layui-input-block" style="margin-left: 120px;">
                                                <input type="text" class="layui-input" name="HMoneyTotalSum" id="HMoneyTotalSum" style="background-color:#efefef4d;" readonly>
                                            </div>
                                        </div>
                                    </div>
                                    <div class="layui-row" style="position:relative; left:30px;">
                                        <div class="layui-inline" style="width:450px;">
                                            <label class="layui-form-label" style="width: 85px;">涤纶件数合计</label>
                                            <div class="layui-input-block" style="margin-left: 120px;">
                                                <input type="text" class="layui-input" name="HPieceQtySum" id="HPieceQtySum" style="background-color:#efefef4d;" readonly>
                                            </div>
                                        </div>
                                        <span>ä»¶</span>
                                        <div class="layui-inline">
                                            <label class="layui-form-label" style="width: 85px;">涤纶米数合计</label>
                                            <div class="layui-input-block" style="margin-left: 120px;">
                                                <input type="text" class="layui-input" name="HQtySum" id="HQtySum" style="background-color:#efefef4d;" readonly>
                                            </div>
                                        </div>
                                        <span>ç±³</span>
                                        <div class="layui-inline">
                                            <label class="layui-form-label" style="width: 85px;">涤纶金额合计</label>
                                            <div class="layui-input-block" style="margin-left: 120px;">
                                                <input type="text" class="layui-input" name="HMoneySum" id="HMoneySum" style="background-color:#efefef4d;" readonly>
                                            </div>
                                        </div>
                                    </div>
                                    <div class="layui-row" style="position:relative; left:30px;">
                                        <div class="layui-inline" style="width:450px;">
                                            <label class="layui-form-label" style="width: 85px;">羊毛件数合计</label>
                                            <div class="layui-input-block" style="margin-left: 120px;">
                                                <input type="text" class="layui-input" name="HPieceQtySum_YM" id="HPieceQtySum_YM" style="background-color:#efefef4d;" readonly>
                                            </div>
                                        </div>
                                        <span>ä»¶</span>
                                        <div class="layui-inline">
                                            <label class="layui-form-label" style="width: 85px;">羊毛米数合计</label>
                                            <div class="layui-input-block" style="margin-left: 120px;">
                                                <input type="text" class="layui-input" name="HQtySum_YM" id="HQtySum_YM" style="background-color:#efefef4d;" readonly>
                                            </div>
                                        </div>
                                        <span>ç±³</span>
                                        <div class="layui-inline">
                                            <label class="layui-form-label" style="width: 85px;">羊毛金额合计</label>
                                            <div class="layui-input-block" style="margin-left: 120px;">
                                                <input type="text" class="layui-input" name="HMoneySum_YM" id="HMoneySum_YM" style="background-color:#efefef4d;" readonly>
                                            </div>
                                        </div>
                                    </div>
                                    <div class="layui-colla-content" style="padding: 0px; margin-left: 6%;">
                                        <div class="layui-row" style="margin-top:5px">
                                            <div class="layui-inline">
                                                <label class="layui-form-label">过滤</label>
                                                <div class="layui-input-block">
                                                    <select name="ColName" id="ColName" lay-filter="ColName" style="width:190px;">
                                                    </select>
                                                </div>
                                            </div>
                                            <div class="layui-inline">
                                                <select name="Comparator" id="Comparator" lay-filter="Comparator" style="width:190px;">
                                                    <option value="0" selected="selected"></option>
                                                    <option value="=">=</option>
                                                    <option value=">=">>=</option>
                                                    <option value=">">></option>
                                                    <option value="<="><=</option>
                                                    <option value="<"><</option>
                                                    <option value="<>"><></option>
                                                    <option value="7">包含</option>
                                                    <option value="8">左包含</option>
                                                    <option value="9">右包含</option>
                                                    <option value="10">不包含</option>
                                                </select>
                                            </div>
                                            <div class="layui-inline">
                                                <input type="text" class="layui-input" value="" name="ColContent" id="ColContent">
                                            </div>
                                        </div>
                                    </div>
                                </div>
                            </div>
                        </div>
                        <table class="" id="mainTable" lay-filter="mainTable"></table>
                        <table class="" id="mainTable1" lay-filter="mainTable1"></table>
                        <script type="text/html" id="toolbarDemo">
                            <div class="layui-btn-container">
                                <button type="button" class="layui-btn layui-btn-sm" lay-event="get_Refresh" id="get_Refresh"><i class="layui-icon layui-icon-refresh-3"></i>刷新</button>
                                <button type="button" class="layui-btn layui-btn-sm" lay-event="get_Exit" id="get_Exit"><i class="layui-icon layui-icon-logout"></i>退出</button>
                                <button type="button" class="layui-btn layui-btn-sm" lay-event="get_export" id="get_export"><i class="layui-icon layui-icon-export"></i>导出</button>
                                <button type="button" class="layui-btn layui-btn-sm" lay-event="get_export_normal" id="get_export_normal"><i class="layui-icon layui-icon-export"></i>导出(常规)</button>
                                <button type="button" class="layui-btn layui-btn-sm" lay-event="get_export" id="get_export"><i class="layui-icon layui-icon-export"></i>导出(特殊)</button>
                                <button type="button" class="layui-btn layui-btn-sm" lay-event="set_HideColumn" id="set_HideColumn"><i class="layui-icon layui-icon-form"></i>列设置</button>
                                <button type="button" class="layui-btn layui-btn-sm" lay-event="HideButton" id="HideButton"><i class="layui-icon layui-icon-form"></i>按钮设置</button>
                            </div>
                        </script>
                        <script type="text/html" id="toolbarDemo1">
                            <div class="layui-btn-container">
                                <button type="button" class="layui-btn layui-btn-sm" lay-event="get_export_normal" id="get_export_normal"><i class="layui-icon layui-icon-export"></i>导出(常规)</button>
                            </div>
                        </script>
                    </form>
@@ -101,12 +196,21 @@
                , laypage = layui.laypage
                , laydate = layui.laydate
                , excel = layui.excel;
            var option = [];
            var option = {};
            var option1 = {};
            var sWhere = "";
            var ins;                        //用于导出excel
            var HModName = "Kf_SellOutEntryReport";
            //不需要显示的字段 å¯æ‰©å±•
            var titleData = ["日期","HCusID","HMaterID","HEmpID"];
            var titleData = ["日期", "HCusID", "HMaterID", "HEmpID", "hmainid", "hsubid"];
            //导出功能获取数据
            var option_Bak = {};
            var option1_Bak = {};
            var sWhere_Bak = "";
            var ins1;
            var ins2;
            //#endregion
            //#region è¿›å…¥é¡µé¢å³åŠ è½½
@@ -130,6 +234,10 @@
                    case 'get_export':
                        get_Export();
                        break;
                    //导出excel
                    case 'get_export_normal':
                        get_Export_Normal();
                        break;
                    //列设置
                    case 'set_HideColumn': get_HideColumn();
                        break;
@@ -138,6 +246,17 @@
                        var btns = document.getElementsByTagName("button");     //获取本页所有按钮对象
                        var HBillType = "Kf_SellOutEntryReport";
                        get_HideButton(btns, HBillType, HModName, sessionStorage["HUserName"]);
                        break;
                };
            });
            //#endregion
            //#region å¤´å·¥å…·æ äº‹ä»¶
            table.on('toolbar(mainTable1)', function (obj) {
                switch (obj.event) {
                    //导出excel
                    case 'get_export_normal':
                        get_Export1_Normal();
                        break;
                };
            });
@@ -182,11 +301,31 @@
            //#region åˆå§‹åŒ–界面
            function set_ClearBill() {
                //初始化时间
                var HBeginDate = Format(new Date(new Date() - 1000 * 60 * 60 * 24 * 1).setHours(7, 0, 0, 0), "yyyy-MM-dd hh");
                var HEndDate = Format(new Date(new Date()).setHours(7, 0, 0, 0), "yyyy-MM-dd hh");
                laydate.render({
                    elem: '#HBeginDate',
                    type: 'datetime',
                    fullPanel: true
                    , format: 'yyyy-MM-dd HH'
                    , value: HBeginDate
                });
                laydate.render({
                    elem: '#HEndDate',
                    type: 'datetime',
                    fullPanel: true
                    , format: 'yyyy-MM-dd HH'
                    , value: HEndDate
                });
                //初始化表格
                set_InitGrid();
                //查询
                get_FastQuery(1);
                //Organ();
                DisPlay_HideColumn();
            }
            //#endregion
@@ -195,6 +334,39 @@
                option = {
                    elem: '#mainTable'
                    , toolbar: '#toolbarDemo'
                    , height: 'full-50'
                    , page: true
                    , totalRow: true
                    //, cellMinWidth: 90
                    , limit: 50
                    , limits: [50, 500, 5000, 50000]
                };
                option1 = {
                    elem: '#mainTable1'
                    , toolbar: '#toolbarDemo1'
                    , height: 'full-50'
                    , page: true
                    , totalRow: true
                    //, cellMinWidth: 90
                    , limit: 50
                    , limits: [50, 500, 5000, 50000]
                };
                option_Bak = {
                    elem: '#mainTable'
                    , toolbar: '#toolbarDemo'
                    , height: 'full-50'
                    , page: true
                    , totalRow: true
                    //, cellMinWidth: 90
                    , limit: 50
                    , limits: [50, 500, 5000, 50000]
                };
                option1_Bak = {
                    elem: '#mainTable1'
                    //, toolbar: '#toolbarDemo'
                    , height: 'full-50'
                    , page: true
                    , totalRow: true
@@ -215,7 +387,7 @@
                    data: { "sWhere": sWhere, "user": sessionStorage["HUserName"], "userid": sessionStorage["Czybm"]},
                    success: function (data1) {
                        if (data1.count == 1) {
                            var totalArray = ["件数", "数量","金额"];
                            var totalArray = ["件数", "米数","金额"];
                            var data = [];
                            var col = [];
                            //给空的数组赋值
@@ -244,9 +416,103 @@
                                }
                            }
                            //设置表1数据
                            option.cols = [col];
                            option.data = data1.data;
                            ins = table.render(option);
                            option.data = data1.data[0];
                            //获取表2数据
                            option1.cols = [col];
                            option1.data = data1.data[1];
                            //设置表1:列表同一个单据只有第一条数据显示主表信息,其它记录只显示子表信息;合计数据
                            //设置数据:声明计算合计的变量
                            var HPieceQtyTotalSum = 0;
                            var HQtyTotalSum = 0;
                            var HMoneyTotalSum = 0;
                            var HPieceQtySum = 0;
                            var HQtySum = 0;
                            var HMoneySum = 0;
                            var HPieceQtySum_YM = 0;
                            var HQtySum_YM= 0;
                            var HMoneySum_YM = 0;
                            //获取子表列数据
                            var colList = [];
                            for (var i = 0; i < option.cols[0].length; i++) {
                                colList.push(option.cols[0][i].field);
                            }
                            //设置数据
                            var result = data1.data[0];
                            var temp = "";
                            for (var i = 0; i < result.length; i++) {
                                //计算表1的合计数据
                                HPieceQtySum += result[i]["件数"] * 1;
                                HQtySum += result[i]["米数"] * 1;
                                HMoneySum += result[i]["金额"] * 1;
                                //设置只显示单据的第一行主表信息,其他行只显示子表信息
                                if (temp != result[i]["hmainid"]) {
                                    temp = result[i]["hmainid"];
                                } else {
                                    var initIndex = $.inArray("hmainid", colList);
                                    var lastIndex = $.inArray("hsubid", colList);
                                    for (var j = initIndex + 1; j < lastIndex; j++) {
                                        var fieldName = colList[j];
                                        result[i][fieldName] = "";
                                    }
                                }
                            }
                            //设置表1:列表同一个单据只有第一条数据显示主表信息,其它记录只显示子表信息
                            //获取子表列数据
                            var colList1 = [];
                            for (var i = 0; i < option1.cols[0].length; i++) {
                                colList1.push(option1.cols[0][i].field);
                            }
                            //设置数据
                            var result1 = data1.data[1];
                            var temp1 = "";
                            for (var i = 0; i < result1.length; i++) {
                                //计算表2的合计数据
                                HPieceQtySum_YM += result1[i]["件数"] * 1;
                                HQtySum_YM += result1[i]["米数"] * 1;
                                HMoneySum_YM += result1[i]["金额"] * 1;
                                //设置只显示单据的第一行主表信息,其他行只显示子表信息
                                if (temp1 != result1[i]["hmainid"]) {
                                    temp1 = result1[i]["hmainid"];
                                } else {
                                    var initIndex = $.inArray("hmainid", colList1);
                                    var lastIndex = $.inArray("hsubid", colList1);
                                    for (var j = initIndex + 1; j < lastIndex; j++) {
                                        var fieldName = colList1[j];
                                        result1[i][fieldName] = "";
                                    }
                                }
                            }
                            //设置表1、表2处理后的数据
                            option.data = result;
                            option1.data = result1;
                            //渲染表1、表2
                            ins1 = table.render(option);
                            ins2 = table.render(option1);
                            DisPlay_HideColumn();
                            HPieceQtyTotalSum = HPieceQtySum + HPieceQtySum_YM;
                            HQtyTotalSum = HQtySum + HQtySum_YM;
                            HMoneyTotalSum = HMoneySum + HMoneySum_YM;
                            $("#HPieceQtySum").val(fixed(HPieceQtySum*1));
                            $("#HQtySum").val(fixed(HQtySum.toFixed(6)*1));
                            $("#HMoneySum").val(fixed(HMoneySum.toFixed(6)*1));
                            $("#HPieceQtySum_YM").val(fixed(HPieceQtySum_YM*1));
                            $("#HQtySum_YM").val(fixed(HQtySum_YM.toFixed(6)*1));
                            $("#HMoneySum_YM").val(fixed(HMoneySum_YM.toFixed(6)*1));
                            $("#HPieceQtyTotalSum").val(fixed(HPieceQtyTotalSum*1));
                            $("#HQtyTotalSum").val(fixed(HQtyTotalSum.toFixed(6)*1));
                            $("#HMoneyTotalSum").val(fixed(HMoneyTotalSum.toFixed(6)*1));
                            //刷新按钮显示
                            var btns = document.getElementsByTagName("button");     //获取本页所有按钮对象
@@ -278,7 +544,21 @@
            //#region å¿«é€Ÿè¿‡æ»¤
            function get_FastQuery(number) {
                var HDate = $("#HBeginDate").val();//开始日期
                var HDate1 = $("#HEndDate").val();//结束日期
                if (HDate == '') {
                    HDate = Format(new Date(new Date() - 1000 * 60 * 60 * 24 * 1).setHours(7, 0, 0, 0), "yyyy-MM-dd hh") + ":00:00";//下达日期 å¼€å§‹æ—¥æœŸ
                } else {
                    HDate = $("#HBeginDate").val() + ":00:00";//下达日期 å¼€å§‹æ—¥æœŸ
                }
                if (HDate1 == '') {
                    HDate1 = Format(new Date(new Date()).setHours(7, 0, 0, 0), "yyyy-MM-dd hh") + ":00:00";//结束日期
                } else {
                    HDate1 = $("#HEndDate").val() + ":00:00";//结束日期
                }
                var HCusName = $("#HCusName").val();//客户名称
                var HEmpName = $("#HEmpName").val();//客户名称
                //任意字段过滤
                var ColName = $("#ColName").val();//复选框
@@ -306,9 +586,17 @@
                    }
                    sWhere += " and " + ColName + " " + com;
                }
                if (HDate) {
                    sWhere += " and CONVERT(varchar(100),日期, 120) >= ''" + HDate + "''";
                }
                if (HDate1) {
                    sWhere += " and CONVERT(varchar(100),日期, 120) <= ''" + HDate1 + "''";
                }
                if (HCusName) {
                    sWhere += " and å®¢æˆ· like ''%" + HCusName + "%''";
                    sWhere += " and è´­è´§å•位 like ''%" + HCusName + "%''";
                }
                if (HEmpName) {
                    sWhere += " and ä¸šåŠ¡å‘˜ like ''%" + HEmpName + "%''";
                }
               /* sWhere += " and ç»„织内码 = " + sessionStorage["OrganizationID"];*/
@@ -317,13 +605,34 @@
                sWhere += getSWhereByHUser();
                get_Display(sWhere);
                sWhere_Bak = sWhere;
                sWhere = "";//调用接口后清空sWhere缓存
            }
            //#endregion
            //#region é‡ç½®è¿‡æ»¤æ¡ä»¶æ–¹æ³•
            function set_ClearQuery() {
                //初始化时间
                var HBeginDate = Format(new Date(new Date() - 1000 * 60 * 60 * 24 * 1).setHours(8, 0, 0, 0), "yyyy-MM-dd hh");
                var HEndDate = Format(new Date(new Date()).setHours(8, 0, 0, 0), "yyyy-MM-dd hh");
                laydate.render({
                    elem: '#HBeginDate',
                    type: 'datetime',
                    fullPanel: true
                    , format: 'yyyy-MM-dd HH'
                    , value: HBeginDate
                });
                laydate.render({
                    elem: '#HEndDate',
                    type: 'datetime',
                    fullPanel: true
                    , format: 'yyyy-MM-dd HH'
                    , value: HEndDate
                });
                $("#HCusName").val("");
                $("#HEmpName").val("");
                $("#ColContent").val("");
                $("#ColName").val("0");
@@ -351,31 +660,51 @@
                    data: { "ModRightNameCheck": ModRightNameCheck, "user": sessionStorage["HUserName"] },
                    success: function (result) {
                        if (result.count == 1) {
                            var dataArray = [];
                            var HCusID = option.data[0]["HCusID"];
                            var HPieceQtySum = 0;
                            var HQtySum = 0;
                            var HTaxMoneySum = 0;
                            for (var i = 0; i < option.data.length; i++) {
                                if (HCusID != option.data[i]["HCusID"]) {
                                    dataArray.push({ "日期": "", "HCusID": "", "客户": "合计", "HMaterID": "", "物料名称": "", "件数": HPieceQtySum, "数量": HQtySum, "单价": "", "金额": HTaxMoneySum, "HEmpID": "", "业务员": "" });
                                    dataArray.push({ "日期": "", "HCusID": "", "客户": "", "HMaterID": "", "物料名称": "", "件数": "", "数量": "", "单价": "", "金额": "", "HEmpID": "", "业务员": "" });
                                    dataArray.push({ "日期": "", "HCusID": "", "客户": "", "HMaterID": "", "物料名称": "", "件数": "", "数量": "", "单价": "", "金额": "", "HEmpID": "", "业务员": "" });
                                    dataArray.push({ "日期": "", "HCusID": "", "客户": "", "HMaterID": "", "物料名称": "", "件数": "", "数量": "", "单价": "", "金额": "", "HEmpID": "", "业务员": "" });
                                    dataArray.push({ "日期": "", "HCusID": "", "客户": "客户", "HMaterID": "", "物料名称": "物料名称", "件数": "件数", "数量": "数量", "单价": "单价", "金额": "金额", "HEmpID": "", "业务员": "业务员" });
                                    HCusID = option.data[i]["HCusID"];
                                    HPieceQtySum = 0;
                                    HQtySum = 0;
                                    HTaxMoneySum = 0;
                                }
                                dataArray.push(option.data[i]);
                            exportAll();
                        } else {
                            layer.alert("当前模块没有导出权限!", { icon: 5 });
                        }
                    }, error: function () {
                        layer.alert("接口请求失败!", { icon: 5 });
                    }
                });
            }
            //#endregion
                                HPieceQtySum += option.data[i]["件数"] * 1;
                                HQtySum += option.data[i]["数量"] * 1;
                                HTaxMoneySum += option.data[i]["金额"] * 1;
                            }
            //#region å¸¸è§„导出Execel
            function get_Export_Normal() {
                var ModRightNameCheck = "Kf_SellOutEntryReport_ExportExcel";
                            table.exportFile(ins.config.id, dataArray, "xls");
               //逻辑审核方法
                $.ajax({
                    type: "GET",
                    url: GetWEBURL() + "/LMES/getReportByModRightNameCheck", //方法所在页面和方法名
                    data: { "ModRightNameCheck": ModRightNameCheck, "user": sessionStorage["HUserName"] },
                    success: function (result) {
                        if (result.count == 1) {
                            table.exportFile(ins1.config.id, option.data, "xls");
                        } else {
                            layer.alert("当前模块没有导出权限!", { icon: 5 });
                        }
                    }, error: function () {
                        layer.alert("接口请求失败!", { icon: 5 });
                    }
                });
            }
            //#endregion
            //#region å¸¸è§„导出Execel
            function get_Export1_Normal() {
                var ModRightNameCheck = "Kf_SellOutEntryReport_ExportExcel";
                //逻辑审核方法
                $.ajax({
                    type: "GET",
                    url: GetWEBURL() + "/LMES/getReportByModRightNameCheck", //方法所在页面和方法名
                    data: { "ModRightNameCheck": ModRightNameCheck, "user": sessionStorage["HUserName"] },
                    success: function (result) {
                        if (result.count == 1) {
                            table.exportFile(ins2.config.id, option1.data, "xls");
                        } else {
                            layer.alert("当前模块没有导出权限!", { icon: 5 });
                        }
@@ -494,8 +823,12 @@
                                }
                            }
                            table.render(option);
                            option1.cols[0] = option.cols[0];
                            table.render(option1);
                        } else {
                            table.render(option);
                            option1.cols[0] = option.cols[0];
                            table.render(option1);
                        }
                    }, error: function () {
                        layer.alert("接口请求失败!", { icon: 5 });
@@ -544,6 +877,309 @@
                return res;
            }
            //#endregion
            //#region å¯¼å‡º
            function oneTable(option) {
                var exportCols = ["购货单位", "产品名称", "件数", "米数", "单价", "金额", "业务员"];
                //获取列数据,根据exportCols数组中列的顺序导出
                var colsList = [];
                for (var i = 0; i < exportCols.length; i++) {
                    colsList.push(exportCols[i]);
                }
                for (var i = 1; i < option.cols[0].length; i++) {
                    if ($.inArray(option.cols[0][i].title, exportCols) > -1) {
                        var index = $.inArray(option.cols[0][i].title, exportCols);
                        colsList[index] = option.cols[0][i];
                    }
                }
                //获取行数据
                var listData = [];                             //获取行数据
                var HPieceQtyTotalSum = 0;
                var HQtyTotalSum = 0;
                var HTaxMoneyTotalSum = 0;
                if (option.data.length > 0) {
                    var HEmpID = option.data[0]["HEmpID"];          //用于区分不同业务员
                    var HCusID = option.data[0]["HCusID"];          //用于区分不同客户
                    var HPieceQtySum = 0;                           //件数合计
                    var HQtySum = 0;                                //数量合计
                    var HTaxMoneySum = 0;                           //金额合计
                    for (var i = 0; i < option.data.length; i++) {
                        if (HEmpID != option.data[i]["HEmpID"] || HCusID != option.data[i]["HCusID"]) {
                            HPieceQtyTotalSum += HPieceQtySum;
                            HQtyTotalSum += HQtySum;
                            HTaxMoneyTotalSum += HTaxMoneySum;
                            var sumTemp = { "购货单位": "合计", "产品名称": "", "件数": fixed(HPieceQtySum * 1) + "ä»¶", "米数": fixed(HQtySum.toFixed(6) * 1) + "ç±³", "单价": "", "金额": fixed(HTaxMoneySum.toFixed(6) * 1), "业务员": "" };
                            var emptyTemp = { "购货单位": "", "产品名称": "", "件数": "", "米数": "", "单价": "", "金额": "", "业务员": "" };
                            var titleTemp = { "购货单位": "购货单位", "产品名称": "产品名称", "件数": "件数", "米数": "米数", "单价": "单价", "金额": "金额", "业务员": "业务员" };
                            listData.push(sumTemp);
                            listData.push(emptyTemp);
                            listData.push(emptyTemp);
                            listData.push(titleTemp);
                            //记录新客户的内码
                            HEmpID = option.data[i]["HEmpID"];
                            HCusID = option.data[i]["HCusID"];
                            //初始化件数合计、数量合计、金额合计
                            HPieceQtySum = 0;
                            HQtySum = 0;
                            HTaxMoneySum = 0;
                        }
                        listData.push(option.data[i]);
                        HPieceQtySum += option.data[i]["件数"] * 1;
                        HQtySum += option.data[i]["米数"] * 1;
                        HTaxMoneySum += option.data[i]["金额"] * 1;
                        if (i == option.data.length - 1) {
                            HPieceQtyTotalSum += HPieceQtySum;
                            HQtyTotalSum += HQtySum;
                            HTaxMoneyTotalSum += HTaxMoneySum;
                            HPieceQtyTotalSum = fixed(HPieceQtyTotalSum * 1);
                            HQtyTotalSum = fixed(HQtyTotalSum.toFixed(6) * 1);
                            HTaxMoneyTotalSum = fixed(HTaxMoneyTotalSum.toFixed(6) * 1);
                            var sumTemp = { "购货单位": "合计", "产品名称": "", "件数": fixed(HPieceQtySum * 1) + "ä»¶", "米数": fixed(HQtySum.toFixed(6) * 1) + "ç±³", "单价": "", "金额": fixed(HTaxMoneySum.toFixed(6) * 1), "业务员": "" };
                            var emptyTemp = { "购货单位": "", "产品名称": "", "件数": "", "米数": "", "单价": "", "金额": "", "业务员": "" };
                            var totalTemp = { "购货单位": "总合计", "产品名称": "", "件数": HPieceQtyTotalSum + "ä»¶", "米数": HQtyTotalSum + "ç±³", "单价": "", "金额": HTaxMoneyTotalSum, "业务员": "" };
                            listData.push(sumTemp);
                            listData.push(emptyTemp);
                            listData.push(emptyTemp);
                            listData.push(totalTemp);
                        }
                    }
                }
                //设置sheet中的数据
                let news = [[]];
                for (var i = 0; i < colsList.length; i++) {
                    news[0].push(colsList[i].title);
                }
                for (var i = 0; i < listData.length; i++) {
                    news.push([listData[i][exportCols[0]], listData[i][exportCols[1]], listData[i][exportCols[2]], listData[i][exportCols[3]], listData[i][exportCols[4]], listData[i][exportCols[5]], listData[i][exportCols[6]] ]);
                }
                //创建sheet
                const sheet = XLSX.utils.aoa_to_sheet(news);
                return sheet;
            }
            function twoTable(option) {
                var exportCols = ["购货单位", "产品名称", "件数", "米数", "单价", "金额", "业务员"];
                //获取列数据,根据exportCols数组中列的顺序导出
                var colsList = [];
                for (var i = 0; i < exportCols.length; i++) {
                    colsList.push(exportCols[i]);
                }
                for (var i = 1; i < option.cols[0].length; i++) {
                    if ($.inArray(option.cols[0][i].title, exportCols) > -1) {
                        var index = $.inArray(option.cols[0][i].title, exportCols);
                        colsList[index] = option.cols[0][i];
                    }
                }
                //获取行数据
                var listData = [];                             //获取行数据
                var HPieceQtyTotalSum = 0;
                var HQtyTotalSum = 0;
                var HTaxMoneyTotalSum = 0;
                if (option.data.length > 0) {
                    var HEmpID = option.data[0]["HEmpID"];          //用于区分不同业务员
                    var HCusID = option.data[0]["HCusID"];          //用于区分不同客户
                    var HPieceQtySum = 0;                           //件数合计
                    var HQtySum = 0;                                //数量合计
                    var HTaxMoneySum = 0;                           //金额合计
                    for (var i = 0; i < option.data.length; i++) {
                        if (HEmpID != option.data[i]["HEmpID"] || HCusID != option.data[i]["HCusID"]) {
                            HPieceQtyTotalSum += HPieceQtySum;
                            HQtyTotalSum += HQtySum;
                            HTaxMoneyTotalSum += HTaxMoneySum;
                            var sumTemp = { "购货单位": "合计", "产品名称": "", "件数": fixed(HPieceQtySum * 1) + "ä»¶", "米数": fixed(HQtySum.toFixed(6) * 1) + "ç±³", "单价": "", "金额": fixed(HTaxMoneySum.toFixed(6) * 1), "业务员": "" };
                            var emptyTemp = { "购货单位": "", "产品名称": "", "件数": "", "米数": "", "单价": "", "金额": "", "业务员": "" };
                            var titleTemp = { "购货单位": "购货单位", "产品名称": "产品名称", "件数": "件数", "米数": "米数", "单价": "单价", "金额": "金额", "业务员": "业务员" };
                            listData.push(sumTemp);
                            listData.push(emptyTemp);
                            listData.push(emptyTemp);
                            listData.push(titleTemp);
                            //记录新客户的内码
                            HEmpID = option.data[i]["HEmpID"];
                            HCusID = option.data[i]["HCusID"];
                            //初始化件数合计、数量合计、金额合计
                            HPieceQtySum = 0;
                            HQtySum = 0;
                            HTaxMoneySum = 0;
                        }
                        listData.push(option.data[i]);
                        HPieceQtySum += option.data[i]["件数"] * 1;
                        HQtySum += option.data[i]["米数"] * 1;
                        HTaxMoneySum += option.data[i]["金额"] * 1;
                        if (i == option.data.length - 1) {
                            HPieceQtyTotalSum += HPieceQtySum;
                            HQtyTotalSum += HQtySum;
                            HTaxMoneyTotalSum += HTaxMoneySum;
                            HPieceQtyTotalSum = fixed(HPieceQtyTotalSum * 1);
                            HQtyTotalSum = fixed(HQtyTotalSum.toFixed(6) * 1);
                            HTaxMoneyTotalSum = fixed(HTaxMoneyTotalSum.toFixed(6) * 1);
                            var sumTemp = { "购货单位": "合计", "产品名称": "", "件数": fixed(HPieceQtySum * 1) + "ä»¶", "米数": fixed(HQtySum.toFixed(6) * 1) + "ç±³", "单价": "", "金额": fixed(HTaxMoneySum.toFixed(6) * 1), "业务员": "" };
                            var emptyTemp = { "购货单位": "", "产品名称": "", "件数": "", "米数": "", "单价": "", "金额": "", "业务员": "" };
                            var totalTemp = { "购货单位": "总合计", "产品名称": "", "件数": HPieceQtyTotalSum + "ä»¶", "米数": HQtyTotalSum + "ç±³", "单价": "", "金额": HTaxMoneyTotalSum, "业务员": "" };
                            listData.push(sumTemp);
                            listData.push(emptyTemp);
                            listData.push(emptyTemp);
                            listData.push(totalTemp);
                        }
                    }
                }
                //设置sheet中的数据
                let news = [[]];
                for (var i = 0; i < colsList.length; i++) {
                    news[0].push(colsList[i].title);
                }
                for (var i = 0; i < listData.length; i++) {
                    news.push([listData[i][exportCols[0]], listData[i][exportCols[1]], listData[i][exportCols[2]], listData[i][exportCols[3]], listData[i][exportCols[4]], listData[i][exportCols[5]], listData[i][exportCols[6]]]);
                }
                //创建sheet
                const sheet = XLSX.utils.aoa_to_sheet(news);
                return sheet;
            }
            function exportAll() {
                $.ajax({
                    url: GetWEBURL() + '/Kf_SellOutEntryReport/list',
                    type: "GET",
                    data: { "sWhere": sWhere_Bak, "user": sessionStorage["HUserName"], "userid": sessionStorage["Czybm"] },
                    success: function (data1) {
                        if (data1.count == 1) {
                            var totalArray = ["件数", "米数", "金额"];
                            var data = [];
                            var col = [];
                            //给空的数组赋值
                            for (var key in data1.list) {
                                data.push({ "id": data1.list[key].ColmCols, "name": data1.list[key].ColmCols, "Type": data1.list[key].ColmType });
                            }
                            //在列表左边添加勾选框
                            col.push({ type: 'checkbox', fixed: 'left' });
                            for (var i = 0; i < data.length; i++) {
                                // if (data[i].name == 'HInterID' || data[i].name == 'HBillType' || data[i].name == 'hmainid') {
                                if ($.inArray(data[i].name, titleData) > -1) {
                                    col.push({ field: data[i].id, title: data[i].name, align: 'center', hide: true }); //隐藏id列
                                }
                                else if ($.inArray(data[i].name, totalArray) > -1) {
                                    col.push({ field: data[i].id, title: data[i].name, align: 'center', sort: true, totalRow: true, width: 120, templet: "<div>{{d." + data[i].name + " ==null ?'':fixed(d." + data[i].name + ")}}</div>" });
                                }
                                else {
                                    switch (data[i].Type) {
                                        //int
                                        case 'DateTime':
                                            col.push({ field: data[i].id, title: data[i].name, align: 'center', sort: true, templet: "<div>{{d." + data[i].name + " ==null ?'':layui.util.toDateString(d." + data[i].name + ", 'yyyy-MM-dd')}}</div>", width: 120 });
                                            break;
                                        default:
                                            col.push({ field: data[i].id, title: data[i].name, align: 'center', sort: true, width: 120 });
                                    }
                                }
                            }
                            //设置表1导出数据
                            option_Bak.cols = [col];
                            option_Bak.data = data1.data[0];
                            //获取表2导出数据
                            option1_Bak.cols = [col];
                            option1_Bak.data = data1.data[1];
                            //获取sheet
                            let sheet1 = oneTable(option_Bak);
                            let sheet2 = twoTable(option1_Bak);
                            //创建excel文档
                            const wb = XLSX.utils.book_new();
                            XLSX.utils.book_append_sheet(wb, sheet1, "FDY");
                            XLSX.utils.book_append_sheet(wb, sheet2, "羊毛");
                            const workbookBlob = workbook2blob(wb);
                            // å¯¼å‡ºæœ€åŽçš„æ€»è¡¨
                            var ExcelName = "销售出库明细报表" + Format(new Date(), "yyyy-MM-dd") + ".xlsx";
                            openDownloadDialog(workbookBlob, ExcelName);
                        } else {
                            layer.alert(data1.code + data1.Message, { icon: 5 });
                        }
                    }, error: function () {
                        layer.alert("接口请求失败!", { icon: 5 });
                    }
                });
            }
            //#region è®¾ç½®å¯¼å‡ºå‚æ•°
            function workbook2blob(workbook) {
                // ç”Ÿæˆexcel的配置项
                var wopts = {
                    // è¦ç”Ÿæˆçš„æ–‡ä»¶ç±»åž‹
                    bookType: "xlsx",
                    // æ˜¯å¦ç”ŸæˆShared String Table, å®˜æ–¹è§£é‡Šæ˜¯, å¦‚果开启生成速度会下降, ä½†åœ¨ä½Žç‰ˆæœ¬IOS设备上有更好的兼容性
                    bookSST: false,
                    type: "binary"
                };
                var wbout = XLSX.write(workbook, wopts);
                // å°†å­—符串转ArrayBuffer
                function s2ab(s) {
                    var buf = new ArrayBuffer(s.length);
                    var view = new Uint8Array(buf);
                    for (var i = 0; i !== s.length; ++i) view[i] = s.charCodeAt(i) & 0xff;
                    return buf;
                }
                let buf = s2ab(wbout);
                var blob = new Blob([buf], {
                    type: "application/octet-stream"
                });
                return blob;
            }
            //#endregion
            //#region
            function openDownloadDialog(blob, fileName) {
                if (typeof blob === "object" && blob instanceof Blob) {
                    blob = URL.createObjectURL(blob); // åˆ›å»ºblob地址
                }
                var aLink = document.createElement("a");
                aLink.href = blob;
                // HTML5add的属性, æŒ‡å®šä¿å­˜æ–‡ä»¶å, å¯ä»¥ä¸è¦åŽç¼€, æ³¨æ„, æœ‰æ—¶å€™
                aLink.download = fileName || "";
                var event;
                if (window.MouseEvent) event = new MouseEvent("click");
                //   ç§»åŠ¨ç«¯
                else {
                    event = document.createEvent("MouseEvents");
                    event.initMouseEvent(
                        "click",
                        true,
                        false,
                        window,
                        0,
                        0,
                        0,
                        0,
                        0,
                        false,
                        false,
                        false,
                        false,
                        0,
                        null
                    );
                }
                aLink.dispatchEvent(event);
            }
            //#endregion
            //#endregion
        });
            //#endregion