1
陈雯静
2024-02-28 fda28cff8d6ed7ce1acf878f3a23f8e77ecd53cf
WebTM/views/ÏúÊÛ¹ÜÀí/ÏúÊÛ¶©µ¥/Xs_SeOrderBillList.html
@@ -19,6 +19,7 @@
    <script src="../../../layuiadmin/soulTable.slim.js"></script>
    <script src="../../../layuiadmin/HideButton.js"></script>
    <script src="../../../layuiadmin/PageTitle.js"></script>
    <style type="text/css">
        input.layui-input.layui-unselect {
@@ -42,52 +43,58 @@
                                <div class="layui-inline">
                                    <label class="layui-form-label">开始日期</label>
                                    <div class="layui-input-block">
                                        <input type="date" class="layui-input" id="HBeginDate" style="width:190px;">
                                        <input type="date" class="layui-input ForFilteringSchemes" id="HBeginDate" style="width:190px;">
                                    </div>
                                </div>
                                <div class="layui-inline">
                                    <label class="layui-form-label">结束日期</label>
                                    <div class="layui-input-block">
                                        <input type="date" class="layui-input" id="HEndDate" style="width:190px;">
                                        <input type="date" class="layui-input ForFilteringSchemes" id="HEndDate" style="width:190px;">
                                    </div>
                                </div>
                                <div class="layui-inline">
                                    <label class="layui-form-label">单据号</label>
                                    <div class="layui-input-block">
                                        <input type="text" class="layui-input" name="HBillNo" id="HBillNo" style="width:190px;">
                                        <input type="text" class="layui-input ForFilteringSchemes" name="HBillNo" id="HBillNo" style="width:190px;">
                                    </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-inline">
                                    <label class="layui-form-label">单据号</label>
                                    <div class="layui-input-block">
                                        <input type="text" class="layui-input" name="HBillno2" id="HBillno2" style="width:190px;">
                                    </div>
                                <!--显示当前过滤方案-->
                                <div class="layui-inline" style="margin-left:5px;">
                                    <div style="text-align:center;font-size:15px;font-weight:bold;color:#fc9393" id="HFilterScheme_Now"></div>
                                </div>
                                <button class="layui-btn layuiadmin-btn-order" type="button" lay-submit="" lay-filter="btnResCnz" id="btnReSearch" style="padding:0 5px">重新同步</button>
                                <div style="display:none;">
                                    <div class="layui-inline">
                                        <label class="layui-form-label">单据号</label>
                                        <div class="layui-input-block">
                                            <input type="text" class="layui-input ForFilteringSchemes" name="HBillno2" id="HBillno2" style="width:190px;">
                                        </div>
                                    </div>
                                    <button class="layui-btn layuiadmin-btn-order" type="button" lay-submit="" lay-filter="btnResCnz" id="btnReSearch" style="padding: 0 5px;">重新同步</button>
                                </div>
                                <div class="layui-colla-content">
                                    <div class="layui-row" style=" margin-top: 10px; margin-left: 70px;">
                                        <div class="layui-inline">
                                            <label class="layui-form-label">客户</label>
                                            <div class="layui-input-block">
                                                <input type="text" class="layui-input" name="HCusID" id="HCusID" style="width:190px;">
                                                <input type="text" class="layui-input ForFilteringSchemes" name="HCusID" id="HCusID" style="width:190px;">
                                            </div>
                                        </div>
                                        <div class="layui-inline">
                                            <label class="layui-form-label">部门</label>
                                            <div class="layui-input-block">
                                                <input type="text" class="layui-input" name="HDeptID" id="HDeptID" style="width:190px;">
                                                <input type="text" class="layui-input ForFilteringSchemes" name="HDeptID" id="HDeptID" style="width:190px;">
                                            </div>
                                        </div>
                                        <div class="layui-inline">
                                            <label class="layui-form-label">主管</label>
                                            <div class="layui-input-block">
                                                <input type="text" class="layui-input" name="HMangerID" id="HMangerID" style="width:190px;">
                                                <input type="text" class="layui-input ForFilteringSchemes" name="HMangerID" id="HMangerID" style="width:190px;">
                                            </div>
                                        </div>
                                    </div>
@@ -95,12 +102,12 @@
                                        <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 name="ColName" id="ColName" class="ForFilteringSchemes" lay-filter="ColName" style="width:190px;">
                                                </select>
                                            </div>
                                        </div>
                                        <div class="layui-inline">
                                            <select name="Comparator" id="Comparator" lay-filter="Comparator" style="width:190px;">
                                            <select name="Comparator" id="Comparator" class="ForFilteringSchemes" lay-filter="Comparator" style="width:190px;">
                                                <option value="0" selected="selected"></option>
                                                <option value="=">=</option>
                                                <option value=">=">>=</option>
@@ -115,7 +122,7 @@
                                            </select>
                                        </div>
                                        <div class="layui-inline">
                                            <input type="text" class="layui-input" value="" name="ColContent" id="ColContent">
                                            <input type="text" class="layui-input ForFilteringSchemes" value="" name="ColContent" id="ColContent">
                                        </div>
                                    </div>
                                </div>
@@ -131,6 +138,9 @@
                                <button type="button" class="layui-btn layui-btn-sm" style="display:none;" lay-event="btn-PushSeOrderChangeBill" id="btn-PushSeOrderChangeBill"><i class="layui-icon layui-icon-delete"></i>下推(销售订单变更单)</button>
                                <button type="button" class="layui-btn layui-btn-sm" style="display:none;" lay-event="btn-PushExceptiveCheckRequestBill" id="btn-PushExceptiveCheckRequestBill"><i class="layui-icon layui-icon-delete"></i>下推(特批申请单)</button>
                                <button type="button" class="layui-btn layui-btn-sm" style="display:none;" lay-event="btn-PushICMOBill" id="btn-PushICMOBill"><i class="layui-icon layui-icon-delete"></i>下推(生产订单)</button>
                                <button type="button" class="layui-btn layui-btn-sm" style="display:none;" lay-event="btn-PushICStockBills" id="btn-PushICStockBills"><i class="layui-icon layui-icon-delete"></i>多行下推(销售出库单)</button>
                                <button type="button" class="layui-btn layui-btn-sm" style="display:none;" lay-event="btn-PushICStockBackBills" id="btn-PushICStockBackBills"><i class="layui-icon layui-icon-delete"></i>多行下推(销售退货单)</button>
                                <button type="button" class="layui-btn layui-btn-sm" style="display:none;" lay-event="btn-PushReceivableBills" id="btn-PushReceivableBills"><i class="layui-icon layui-icon-delete"></i>多行下推(应收单)</button>
                                <button type="button" class="layui-btn layui-btn-sm" style="display:none;" 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" style="display:none;" lay-event="get_LookDown" id="get_LookDown"><i class="layui-icon layui-icon-refresh-3"></i>下查</button>
                                <!--<button type="button" class="layui-btn layui-btn-sm" style="display:none;" lay-event="btn-print" id="btn-print"><i class="layui-icon layui-icon-print"></i>打印</button>-->
@@ -143,6 +153,8 @@
                                <button type="button" class="layui-btn layui-btn-sm" style="display:none;" id="btn-print" lay-event="btn-print"><i class="layui-icon layui-icon-form"></i>打印</button>
                                <button type="button" class="layui-btn layui-btn-sm" style="display:none;" lay-event="HideColumn" id="HideColumn"><i class="layui-icon layui-icon-form"></i>隐藏列设置</button>
                                <button type="button" class="layui-btn layui-btn-sm" style="display:none;" lay-event="set_HideButton" id="HideButton"><i class="layui-icon layui-icon-form"></i>按钮设置</button>
                                <button type="button" class="layui-btn layui-btn-sm" style="display:none;" lay-event="set_SaveScheme" id="set_SaveScheme"><i class="layui-icon layui-icon-template"></i>保存方案</button>
                                <button type="button" class="layui-btn layui-btn-sm" style="display:none;" lay-event="set_ReadScheme" id="set_ReadScheme"><i class="layui-icon layui-icon-set"></i>读取方案</button>
                                <button type="button" class="layui-btn layui-btn-sm" style="display:none;" lay-event="get_Exit" id="get_Exit"><i class="layui-icon layui-icon-logout"></i>退出</button>
                            </div>
                        </script>
@@ -177,6 +189,25 @@
            var option = [];
            var HModName = "Xs_SeOrderBill";
            var HBillType = "1401";
            //#region ã€åŠ¨æ€èŽ·å–æ¨¡å—åç§°ã€‘
            var HModuleType = "1401";
            //通过单据类型,从数据库动态获取单据模块命名,引用js文件 PageTitle.js
            var HPageTitle = get_PageTitle(HModuleType) == "" ? document.title : get_PageTitle(HModuleType);
            //#endregion
            //#region ã€è¿‡æ»¤æ–¹æ¡ˆã€‘
            //过滤条件的classç±»
            var HClassTag = "ForFilteringSchemes";
            //模块名称(中文版) æ¯ä¸ªæ¨¡å—页面都需要修改
            window.HModuleName = "销售订单维护";
            //是否已经选择了过滤方案(全局变量)
            window.HDefaultFilter = "";
            //选择的过滤方案内码(全局变量)
            window.HInterID_Choose = 0;
            //#endregion
            //#endregion
            //#region åŠ è½½é¡µé¢
@@ -237,6 +268,18 @@
                    case 'btn-PushICMOBill':
                        set_PushICMOBill();
                        break;
                    //多行下推(销售出库单)
                    case 'btn-PushICStockBills':
                        set_PushICStockBills();
                        break;
                    //多行下推(销售退货单)
                    case 'btn-PushICStockBackBills':
                        set_PushICStockBackBills();
                        break;
                    //多行下推(应收单)
                    case 'btn-PushReceivableBills':
                        set_PushReceivableBills();
                        break;
                    //下查
                    case 'get_LookDown':
                        set_LookDown();
@@ -276,6 +319,12 @@
                    case 'set_HideButton':
                        var btns = document.getElementsByTagName("button");     //获取本页所有按钮对象
                        get_HideButton(btns, HBillType, HModName, sessionStorage["HUserName"]);
                        break;
                    //保存方案
                    case 'set_SaveScheme': set_SaveScheme();
                        break;
                    //读取方案
                    case 'set_ReadScheme': set_ReadScheme();
                        break;
                };
            });
@@ -351,6 +400,9 @@
                get_FastQuery();
                //get_Display(sWhere);
                DisPlay_HideColumn();
                //查询当前登录用户有没有在当前模块设置默认过滤方案
                get_DefaultModule();
            }
            //#endregion
@@ -370,51 +422,35 @@
                       ,{ field: 'hmainid', title: 'hmainid', sort: true, hide: true }
                        , { field: '日期', title: '日期', width: 125, sort: true }
                        , { field: '单据号', title: '单据号', width: 125, sort: true }
                        , { field: '状态', title: '状态', width: 125, sort: true }
                        , { field: '是否下推生产订单', title: '是否下推生产订单', width: 125, sort: true }
                        , { field: 'HBillType', title: 'HBillType', hide: true, sort: true }
                        , { field: 'HCusID', title: 'HCusID', hide: true, sort: true }
                        , { field: '客户代码', title: '客户代码', width: 125, sort: true }
                        , { field: '客户', title: '客户', sort: true }
                        , { field: '交货地址', title: '交货地址', width: 125, sort: true }
                        , { field: 'HSSID', title: 'HSSID', hide: true, sort: true }
                        , { field: '结算方式代码', title: '结算方式代码', width: 125, sort: true }
                        , { field: '结算方式', title: '结算方式', width: 125, sort: true }
                        , { field: '结算日期', title: '结算日期', width: 170, sort: true }
                        , { field: 'HCurID', title: 'HCurID', hide: true, sort: true }
                        , { field: '币别代码', title: '币别代码', sort: true }
                        , { field: '币别', title: '币别', sort: true }
                        , { field: '汇率', title: '汇率', sort: true }
                        , { field: 'HDeptID', title: 'HDeptID', hide: true, sort: true }
                        , { field: '部门代码', title: '部门代码', width: 125, sort: true }
                        , { field: '部门', title: '部门', width: 125, sort: true }
                        , { field: '销售方式', title: '销售方式', sort: true }
                        , { field: 'HManagerID', title: 'HManagerID', hide: true, sort: true }
                        , { field: '主管代码', title: '主管代码', sort: true }
                        , { field: '主管', title: '主管', sort: true }
                        , { field: 'HEmpID', title: 'HEmpID', hide: true, sort: true }
                        , { field: '业务员代码', title: '业务员代码', sort: true }
                        , { field: '业务员', title: '业务员', sort: true }
                        , { field: '摘要', title: '摘要', sort: true }
                        , { field: '表头备注', title: '表头备注', sort: true }
                        , { field: 'hsubid', title: 'hsubid', hide: true, sort: true }
                        , { field: '状态', title: '状态', width: 125, sort: true }
                        , { field: '行状态', title: '行状态', width: 125, sort: true }
                        , { field: '是否下推生产订单', title: '是否下推生产订单', width: 125, sort: true }
                        , { field: '是否取库存', title: '是否取库存', width: 125, sort: true }
                        , { field: 'HMaterID', title: 'HMaterID', hide: true, sort: true }
                        , { field: '物料代码', title: '物料代码', sort: true }
                        , { field: '物料名称', title: '物料名称', sort: true }
                        , { field: '规格型号', title: '规格型号', sort: true }
                        , { field: '批号', title: '批号', sort: true }
                        , { field: 'HUnitID', title: 'HUnitID', hide: true, sort: true }
                        , { field: '计量单位代码', title: '计量单位代码', sort: true }
                        , { field: '计量单位', title: '计量单位', sort: true }
                        , { field: '数量', title: '数量', sort: true, totalRow: true }
                        , { field: 'HUnitID', title: 'HUnitID', hide: true, sort: true }
                        //, { field: '计量单位代码', title: '计量单位代码', sort: true }
                        , { field: '计量单位', title: '计量单位', sort: true }
                        , { field: 'HCusID', title: 'HCusID', hide: true, sort: true }
                        //, { field: '客户代码', title: '客户代码', width: 125, sort: true }
                        , { field: '客户', title: '客户', sort: true }
                        , { field: 'HEmpID', title: 'HEmpID', hide: true, sort: true }
                        //, { field: '业务员代码', title: '业务员代码', sort: true }
                        , { field: '业务员', title: '业务员', sort: true }
                        , { field: '单价', title: '单价', sort: true }
                        , { field: '金额', title: '金额', sort: true, totalRow: true }
                        , { field: '税率', title: '税率', sort: true }
                        , { field: '税额', title: '税额', sort: true }
                        , { field: '含税单价', title: '含税单价', sort: true }
                        , { field: '金额', title: '金额', sort: true, totalRow: true }
                        , { field: '价税合计', title: '价税合计', sort: true, totalRow: true }
                        , { field: '源单单号', title: '源单单号', sort: true }
                        , { field: '计划跟踪号', title: '计划跟踪号', sort: true }
                        , { field: '表体备注', title: '表体备注', sort: true }
                        , { field: '表头备注', title: '表头备注', sort: true }
                        , { field: '关联数量', title: '销售出库关联数量', sort: true, totalRow: true }
                        , { field: '未关联数量', title: '销售出库未关联数量', sort: true, totalRow: true }
                        , { field: '生产关联数量', title: '生产关联数量', sort: true, totalRow: true }
                        , { field: '生产未关联数量', title: '生产未关联数量', sort: true, totalRow: true }
                        , { field: '制单人', title: '制单人', width: 125, sort: true }
                        , { field: '制单日期', title: '制单日期', width: 200, templet: "<div>{{d.制单日期 ==null ?'':layui.util.toDateString(d.制单日期, 'yyyy-MM-dd HH:mm:ss')}}</div>", sort: true }
                        , { field: '审核人', title: '审核人', width: 125, sort: true }
@@ -426,6 +462,30 @@
                        , { field: '作废人', title: '作废人', width: 125, sort: true }
                        , { field: '作废日期', title: '作废日期', width: 200, templet: "<div>{{d.作废日期 ==null ?'':layui.util.toDateString(d.作废日期, 'yyyy-MM-dd HH:mm:ss')}}</div>", sort: true }
                        //, { field: 'HBillType', title: 'HBillType', hide: true, sort: true }
                        //, { field: '交货地址', title: '交货地址', width: 125, sort: true }
                        //, { field: 'HSSID', title: 'HSSID', hide: true, sort: true }
                        //, { field: '结算方式代码', title: '结算方式代码', width: 125, sort: true }
                        //, { field: '结算方式', title: '结算方式', width: 125, sort: true }
                        //, { field: '结算日期', title: '结算日期', width: 170, sort: true }
                        //, { field: 'HCurID', title: 'HCurID', hide: true, sort: true }
                        //, { field: '币别代码', title: '币别代码', sort: true }
                        //, { field: '币别', title: '币别', sort: true }
                        //, { field: '汇率', title: '汇率', sort: true }
                        //, { field: 'HDeptID', title: 'HDeptID', hide: true, sort: true }
                        //, { field: '部门代码', title: '部门代码', width: 125, sort: true }
                        //, { field: '部门', title: '部门', width: 125, sort: true }
                        //, { field: '销售方式', title: '销售方式', sort: true }
                        //, { field: 'HManagerID', title: 'HManagerID', hide: true, sort: true }
                        //, { field: '主管代码', title: '主管代码', sort: true }
                        //, { field: '主管', title: '主管', sort: true }
                        //, { field: '摘要', title: '摘要', sort: true }
                        //, { field: '批号', title: '批号', sort: true }
                        //, { field: '税额', title: '税额', sort: true }
                        //, { field: '源单单号', title: '源单单号', sort: true }
                        //, { field: '计划跟踪号', title: '计划跟踪号', sort: true }
                        //, { field: '表体备注', title: '表体备注', sort: true }
                    ]]
                    , done: function () {
                        soulTable.render(this);
@@ -443,11 +503,37 @@
                var ajaxLoad = layer.load();
                $.ajax({
                    url: GetWEBURL() + '/Xs_SeOrderBill/list',
                    async: false,
                    type: "GET",
                    data: { "sWhere": sWhere, "user": sessionStorage["HUserName"] },
                    success: function (data1) {
                        if (data1.count == 1) {
                            option.data = data1.data;
                            //设置列表同一个单据只有第一条数据显示主表信息,其它记录只显示子表信息
                            //获取子表列数据
                            var colList = [];
                            for (var i = 0; i < option.cols[0].length; i++) {
                                colList.push(option.cols[0][i].field);
                            }
                            //设置数据
                            var result = data1.data;
                            var temp = "";
                            for (var i = 0; i < result.length; i++) {
                                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] = "";
                                    }
                                }
                            }
                            option.data = result;
                            table.render(option);
                            layer.close(ajaxLoad);
@@ -523,6 +609,8 @@
                    sWhere += " and ä¸»ç®¡ like '%" + HMangerID + "%'";
                }
                sWhere += addSWhereByOpenType();
                //根据用户过滤用户关联客户的记录
                sWhere += getSWhereByHUser();
@@ -582,7 +670,7 @@
                layer.open({
                    type: 2,
                    skin: 'layui-layer-rim', //加上边框
                    title: '新增销售订单',
                    title: '新增' + HPageTitle,
                    closeBtn: 1,
                    shift: 2,
                    area: ['100%', '100%'],
@@ -608,7 +696,7 @@
                    layer.open({
                        type: 2
                        , area: ['100%', '100%']
                        , title: '复制销售订单'
                        , title: '复制' + HPageTitle
                        , closeBtn: 1
                        , shade: 0.6 //遮罩透明度
                        , maxmin: true //允许全屏最小化
@@ -639,7 +727,7 @@
                    layer.open({
                        type: 2
                        , area: ['100%', '100%']
                        , title: '编辑销售订单'
                        , title: '编辑' + HPageTitle
                        , closeBtn: 1
                        , shade: 0.6 //遮罩透明度
                        , maxmin: true //允许全屏最小化
@@ -706,7 +794,8 @@
                if (checkStatus.data.length === 1) {
                    if (data[0].状态 != "已审核") {
                        layer.alert("下推失败!原因:单据状态不为'已审核'状态!!", { icon: 5 });
                        var err = "下推失败!原因:当前单据状态为“" + data[0].状态 + "”,不允许下推!";
                        layer.alert(err, { icon: 5 });
                        return;
                    }
@@ -742,7 +831,8 @@
                    , data = checkStatus.data;
                if (checkStatus.data.length === 1) {
                    if (data[0].状态 != "创建") {
                        layer.alert("下推失败!原因:单据状态不为'创建'状态!!", { icon: 5 });
                        var err = "下推失败!原因:当前单据状态为“" + data[0].状态 + "”,不允许下推!";
                        layer.alert(err, { icon: 5 });
                        return;
                    }
@@ -780,7 +870,8 @@
                if (checkStatus.data.length === 1) {
                    if (data[0].状态 != "已审核") {
                        layer.alert("下推失败!原因:单据状态不为'已审核'状态!!", { icon: 5 });
                        var err = "下推失败!原因:当前单据状态为“" + data[0].状态 + "”,不允许下推!";
                        layer.alert(err, { icon: 5 });
                        return;
                    }
@@ -807,6 +898,192 @@
                } else {
                    layer.msg('请选择一行数据编辑!');
                }
            }
            //#endregion
            //#region å¤šè¡Œä¸‹æŽ¨ï¼ˆé”€å”®å‡ºåº“单)
            function set_PushICStockBills() {
                var checkStatus = table.checkStatus('mainTable')
                    , data = checkStatus.data;
                if (data.length > 0) {
                    var dataArray = [];
                    var HCusName = data[0].客户;
                    var HEmpName = data[0].业务员;
                    for (var i = 0; i < data.length; i++) {
                        var temp = {
                            "hmainid": data[i].hmainid
                            , "hsubid": data[i].hsubid
                            , "HBillStatus": data[i].状态
                            , "HSourceBillType": "1401"
                        }
                        dataArray.push(temp);
                        if (data[i].状态 != "已审核") {
                            var err = "下推失败!单据【" + data[i].单据号 + "】的状态为“" + data[0].状态 + "”,不允许下推!";
                            layer.alert(err, { icon: 5 });
                            return;
                        }
                        if (data[i].行状态 == "已关闭") {
                            layer.msg("下推失败!单据号【" + data[i].单据号 + "】下选中的记录中存在已关闭状态的记录!");
                            return;
                        }
                        if (data[i].客户 != HCusName) {
                            layer.msg("下推失败!已经选中的记录中存在不同客户!");
                            return;
                        }
                        if (data[i].业务员 != HEmpName) {
                            layer.msg("下推失败!已经选中的记录中存在不同业务员!");
                            return;
                        }
                    }
                    var datajson = {
                        "data": dataArray
                    };
                    var url = encodeURI('../../领料发货/销售出库/Kf_SellOutBill.html?OperationType=4&linterid=0&HSouceBillType=1401&res=' + JSON.stringify(datajson));
                    layer.open({
                        type: 2
                        , area: ['100%', '100%']
                        , title: '销售订单-多行下推销售出库单'
                        , shift: 0//弹出动画
                        , content: url
                        , btn: ['确定'],
                        // æŒ‰é’®1 çš„回调
                        end: function (index, layero, that) {
                            //刷新页面
                            $("#btnSearch").trigger('click');
                        }
                    })
                } else {
                    layer.msg('请选择数据下推!');
                }
            }
            //#endregion
            //#region å¤šè¡Œä¸‹æŽ¨ï¼ˆé”€å”®é€€è´§å•)
            function set_PushICStockBackBills() {
                var checkStatus = table.checkStatus('mainTable')
                    , data = checkStatus.data;
                if (data.length > 0) {
                    var dataArray = [];
                    var HCusName = data[0].客户;
                    var HEmpName = data[0].业务员;
                    for (var i = 0; i < data.length; i++) {
                        var temp = {
                            "hmainid": data[i].hmainid
                            , "hsubid": data[i].hsubid
                            , "HBillStatus": data[i].状态
                            , "HSourceBillType": "1401"
                        }
                        dataArray.push(temp);
                        if (data[i].状态 != "已审核") {
                            var err = "下推失败!单据【" + data[i].单据号 + "】的状态为“" + data[0].状态 + "”,不允许下推!";
                            layer.alert(err, { icon: 5 });
                            return;
                        }
                        if (data[i].行状态 == "已关闭") {
                            layer.msg("下推失败!单据号【" + data[i].单据号 + "】下选中的记录中存在已关闭状态的记录!");
                            return;
                        }
                        if (data[i].客户 != HCusName) {
                            layer.msg("下推失败!已经选中的记录中存在不同客户!");
                            return;
                        }
                        if (data[i].业务员 != HEmpName) {
                            layer.msg("下推失败!已经选中的记录中存在不同业务员!");
                            return;
                        }
                    }
                    var datajson = {
                        "data": dataArray
                    };
                    var url = encodeURI('../../销售管理/销售退货单/Kf_ICStockBackBill.html?OperationType=4&linterid=0&HSouceBillType=1401&res=' + JSON.stringify(datajson));
                    layer.open({
                        type: 2
                        , area: ['100%', '100%']
                        , title: '销售订单-多行下推销售退货单'
                        , shift: 0//弹出动画
                        , content: url
                        , btn: ['确定'],
                        // æŒ‰é’®1 çš„回调
                        end: function (index, layero, that) {
                            //刷新页面
                            $("#btnSearch").trigger('click');
                        }
                    })
                } else {
                    layer.msg('请选择数据下推!');
                }
            }
            //#endregion
            //#region å¤šè¡Œä¸‹æŽ¨ï¼ˆåº”收单)
            function set_PushReceivableBills() {
                var checkStatus = table.checkStatus('mainTable')
                    , data = checkStatus.data;
                if (data.length > 0) {
                    var dataArray = [];
                    var HCusName = data[0].客户;
                    var HEmpName = data[0].业务员;
                    for (var i = 0; i < data.length; i++) {
                        var temp = {
                            "hmainid": data[i].hmainid
                            , "hsubid": data[i].hsubid
                            , "HBillStatus": data[i].状态
                            , "HSourceBillType": "1401"
                        }
                        dataArray.push(temp);
                        if (data[i].状态 != "已审核") {
                            var err = "下推失败!单据【" + data[i].单据号 + "】的状态为“" + data[0].状态 + "”,不允许下推!";
                            layer.alert(err, { icon: 5 });
                            return;
                        }
                        if (data[i].行状态 == "已关闭") {
                            layer.msg("下推失败!单据号【" + data[i].单据号 + "】下选中的记录中存在已关闭状态的记录!");
                            return;
                        }
                        if (data[i].客户 != HCusName) {
                            layer.msg("下推失败!已经选中的记录中存在不同客户!");
                            return;
                        }
                        //if (data[i].业务员 != HEmpName) {
                        //    layer.msg("下推失败!已经选中的记录中存在不同业务员!");
                        //    return;
                        //}
                    }
                    var datajson = {
                        "data": dataArray
                    };
                    var url = encodeURI('../../销售管理/应收单/Xs_ReceivableBill.html?OperationType=4&linterid=0&HSouceBillType=1401&res=' + JSON.stringify(datajson));
                    layer.open({
                        type: 2
                        , area: ['100%', '100%']
                        , title: '销售订单-多行下推应收单'
                        , shift: 0//弹出动画
                        , content: url
                        , btn: ['确定'],
                        // æŒ‰é’®1 çš„回调
                        end: function (index, layero, that) {
                            //刷新页面
                            $("#btnSearch").trigger('click');
                        }
                    })
                } else {
                    layer.msg('请选择数据下推!');
                }
            }
            //#endregion
@@ -1095,6 +1372,214 @@
            }
            //#endregion
            //#region ã€è¿‡æ»¤æ–¹æ¡ˆã€‘
            //获取当前用户的默认过滤方案
            function get_DefaultModule() {
                $.ajax({
                    url: GetWEBURL() + '/Xt_FastICScheme/Chooselist',
                    type: "GET",
                    data: { "user": sessionStorage["Czybm"], "HModuleName": HModuleName, "HInterID": 0, "Type": "Default" },
                    success: function (data1) {
                        if (data1.count == 1) {
                            //当前用户设置有默认的过滤方案
                            var data = data1.data;
                            //当前选择的过滤方案
                            HInterID_Choose = data[0].hmainid;
                            //过滤方案内码
                            HInterID = data[0].hmainid
                            //过滤方案名称
                            HDefaultFilter = data[0].方案名称
                            //过滤方案的备注(方案信息描述)
                            var HRemark = data[0].备注
                            //显示出当前的默认过滤方案
                            document.getElementById("HFilterScheme_Now").style.display = "block";
                            document.getElementById('HFilterScheme_Now').innerHTML = "当前过滤方案:" + HDefaultFilter + '<span style="font-size: 15px; font-weight: bold; color:#7b90fb">  ' + "(" + HRemark + ")" + '</span>';
                            //把过滤条件值回写到页面上
                            for (let i = 0; i < data.length; i++) {
                                $("#" + data[i].过滤字段ID).val(data[i].过滤值);
                                if (data[i].过滤标签类型 == 'SELECT') {
                                    $("#" + data[i].过滤字段ID).find("option[value='" + data[i].过滤值 + "']").attr("selected", true);
                                }
                            }
                            //执行查询方法
                            get_FastQuery()
                            form.render("select");
                        } else {
                            //当前用户没有设置默认的过滤方案
                            //隐藏显示过滤方案的标签信息
                            document.getElementById("HFilterScheme_Now").style.display = "none";
                            //执行查询方法
                            get_FastQuery()
                            form.render("select");
                        }
                    }, error: function () {
                        layer.alert("接口请求失败!", { icon: 5 });
                    }
                });
            }
            //保存方案
            function set_SaveScheme() {
                var index = layer.open()
                //判断用户是否点击了右上角的“叉号”关闭弹窗页面
                var HIsClose_Manual = false;
                //获取本页所有过滤条件对象(class中包含"ForFilteringSchemes"的元素)
                var Filter = document.getElementsByClassName(HClassTag);
                var HFilterIdList = "";//过滤条件
                var HFilterIdLists = "";//拼接多个过滤条件
                var HValue = "";//过滤值
                var HElement_type = "";//过滤标签类型
                for (var i = 0; i < Filter.length; i++) {
                    HFilterIdList = Filter[i].id; //过滤条件ID
                    HFilterIdLists += Filter[i].id + ","; //过滤条件ID(拼接)
                    HValue += $("#" + HFilterIdList).val() + ","; //过滤条件中输入的值
                    HElement_type += document.getElementById(HFilterIdList).tagName + ",";//通过标签id获取标签类型
                }
                //去除末尾逗号
                HFilterIdLists = HFilterIdLists.substring(0, HFilterIdLists.length - 1);
                HValue = HValue.substring(0, HValue.length - 1);
                HElement_type = HElement_type.substring(0, HElement_type.length - 1);
                //当前页面上没有选择过滤方案,进入新增方法
                if (HDefaultFilter == "") {
                    layer.open({
                        type: 2
                        , area: ['40%', '80%']
                        , title: '过滤方案'
                        , shift: 0//弹出动画
                        , content: '../../系统管理/过滤方案设置/Xt_FastICScheme.html?OperationType=1&HModuleName=' + HModuleName + '&HFilterIdLists=' + HFilterIdLists + '&HValue=' + HValue + '&HElement_type=' + HElement_type
                        , cancel: function () {
                            // å³ä¸Šè§’关闭事件的逻辑
                            HIsClose_Manual = true;
                        }
                        , end: function () {
                            if (HIsClose_Manual != true) {
                                get_FastQuery();
                                //显示当前的过滤方案
                                document.getElementById("HFilterScheme_Now").style.display = "block";
                                document.getElementById('HFilterScheme_Now').innerHTML = "当前过滤方案:" + sessionStorage["HFilterSchemeName_" + sessionStorage["Czybm"]] + '<span style="font-size: 15px; font-weight: bold; color:#7b90fb">  ' + "(" + sessionStorage["HFilterSchemeRemark_" + sessionStorage["Czybm"]] + ")" + '</span>';
                            }
                        }
                    })
                    layer.close(index)
                } else {
                    //当前页面已有过滤方案,用户选择 æ–°å¢žæˆ–者编辑
                    layer.confirm('当前已选择过滤方案,是否修改?请选择对应操作', {
                        title: "操作提示",
                        icon: 0,
                        btn: ['新增方案', '保存修改当前方案', '取消']
                    }, function (index, layero) {
                        //新增
                        layer.open({
                            type: 2
                            , area: ['40%', '80%']
                            , title: '过滤方案'
                            , shift: 0//弹出动画
                            , content: '../../系统管理/过滤方案设置/Xt_FastICScheme.html?OperationType=1&HModuleName=' + HModuleName + '&HFilterIdLists=' + HFilterIdLists + '&HValue=' + HValue + '&HElement_type=' + HElement_type
                            , end: function () {
                                get_FastQuery()
                                //显示当前的过滤方案
                                document.getElementById("HFilterScheme_Now").style.display = "block";
                                document.getElementById('HFilterScheme_Now').innerHTML = "当前过滤方案:" + sessionStorage["HFilterSchemeName_" + sessionStorage["Czybm"]] + '<span style="font-size: 15px; font-weight: bold; color:#7b90fb">  ' + "(" + sessionStorage["HFilterSchemeRemark_" + sessionStorage["Czybm"]] + ")" + '</span>';
                            }
                        })
                        layer.close(index)
                    }, function (index) {
                        //编辑
                        var Filter_Edit = document.getElementsByClassName(HClassTag); //获取本页所有过滤条件对象(class中包含"ForFilteringSchemes"的元素)
                        HFilterIdList = "";
                        HFilterIdLists = "";
                        HValue = "";
                        HElement_type = "";
                        for (var i = 0; i < Filter_Edit.length; i++) {
                            HFilterIdList = Filter_Edit[i].id; //过滤条件ID
                            HFilterIdLists += Filter_Edit[i].id + ","; //过滤条件ID(拼接)
                            HValue += $("#" + HFilterIdList).val() + ","; //过滤条件中输入的值
                            HElement_type += document.getElementById(HFilterIdList).tagName + ",";//通过标签id获取标签类型
                        }
                        //去除末尾逗号
                        HFilterIdLists = HFilterIdLists.substring(0, HFilterIdLists.length - 1);
                        HValue = HValue.substring(0, HValue.length - 1);
                        HElement_type = HElement_type.substring(0, HElement_type.length - 1);
                        var sMainSub = HInterID_Choose + ';' + HFilterIdLists + ';' + HValue + ';' + HElement_type + ';' + sessionStorage["Czybm"] + ';' + 3;
                        //修改
                        $.ajax({
                            type: "POST",
                            url: GetWEBURL() + "/Xt_FastICScheme/save", //方法所在页面和方法名
                            async: true,
                            data: { "oMain": sMainSub },
                            dataType: "json",
                            success: function (data) {
                                if (data.count == 1) { // è¯´æ˜ŽéªŒè¯æˆåŠŸäº†ï¼Œ
                                    layer.msg(data.Message, { time: 1 * 1000, icon: 1 });
                                }
                                else {
                                }
                                layer.closeAll("loading");
                            },
                            error: function (err) {
                            }
                        });
                        layer.close(index)
                    }, function (index) {
                        //取消
                        layer.alert('取消')
                        layer.close(index)
                    });
                }
            }
            //读取方案
            function set_ReadScheme() {
                var HIsClose_Manual = false;
                var Filter = document.getElementsByClassName(HClassTag); //获取本页所有过滤条件对象(class中包含"ForFilteringSchemes"的元素)
                var HFilterIdList = "";
                var HFilterIdLists = "";
                var HValue = "";
                var HElement_type = "";
                for (var i = 0; i < Filter.length; i++) {
                    HFilterIdList = Filter[i].id; //过滤条件ID
                    HFilterIdLists += Filter[i].id + ","; //过滤条件ID(拼接)
                    HValue += $("#" + HFilterIdList).val() + ","; //过滤条件中输入的值
                    HElement_type += document.getElementById(HFilterIdList).tagName + ",";//通过标签id获取标签类型
                }
                //去除末尾逗号
                HFilterIdLists = HFilterIdLists.substring(0, HFilterIdLists.length - 1);
                HValue = HValue.substring(0, HValue.length - 1);
                HElement_type = HElement_type.substring(0, HElement_type.length - 1);
                layer.open({
                    type: 2
                    , area: ['80%', '80%']
                    , title: '过滤方案列表'
                    , shift: 0//弹出动画
                    , content: '../../系统管理/过滤方案设置/Xt_FastICSchemeList.html?HType=Select&HFilterIdLists=' + HFilterIdLists + '&HValue=' + HValue + '&HElement_type=' + HElement_type + '&HModuleName=' + HModuleName
                    , cancel: function () {
                        // å³ä¸Šè§’关闭事件的逻辑
                        HIsClose_Manual = true;
                    }
                    , end: function () {
                        if (HIsClose_Manual != true) {
                            get_FastQuery()
                            form.render("select");
                        }
                    }
                })
            }
            //#endregion
            //#region åˆ—明显示下拉框
            function ColFilter() {
                var Organization = '<option  value="0" selected="selected" ></option>';
@@ -1133,12 +1618,76 @@
            }
            //#endregion
            //#region èŽ·å–å‚æ•°
            function getUrlVars() {
                var vars = [], hash;
                var hashes = window.location.href.slice(window.location.href.indexOf('?') + 1).split('&');
                for (var i = 0; i < hashes.length; i++) {
                    hash = hashes[i].split('=');
                    vars.push(hash[0]);
                    vars[hash[0]] = hash[1];
                }
                return vars;
            }
            //#endregion
            //#region åˆ¤æ–­æ˜¯ç›´æŽ¥æ‰“开页面还是其它页面通过选择按钮打开,并显示相应数据
            function addSWhereByOpenType() {
                //获取参数
                var params = getUrlVars();
                var openType = params[params[0]]; //从参数中获取 æ‰“开方式  1直接打开 2其它页面通过选择按钮打开
                var HOrgID = params[params[1]];
                var addSWhere = "";
                if (openType == 2) {
                    addSWhere = " and çŠ¶æ€ = '已审核' and è¡ŒçŠ¶æ€ = '' and HOrgID = " + HOrgID;
                }
                return addSWhere;
            }
            //#endregion
            //#endregion
            //以上是layui模块
        });
        //#region ã€è¿‡æ»¤æ–¹æ¡ˆè¿”回数据】
        function HFilterScheme(obj)  //返回过滤方案
        {
            var HInterID = obj[0].hmainid;
            HInterID_Choose = obj[0].hmainid;
            $.ajax({
                url: GetWEBURL() + '/Xt_FastICScheme/Chooselist',
                type: "GET",
                data: { "user": sessionStorage["Czybm"], "HModuleName": HModuleName, "HInterID": HInterID, "Type": "Select" },
                success: function (data1) {
                    if (data1.count == 1) {
                        var data = data1.data;
                        //赋值过滤方案名称
                        HDefaultFilter = data[0].方案名称
                        var HRemark = data[0].备注
                        //显示当前的过滤方案
                        document.getElementById("HFilterScheme_Now").style.display = "block";
                        document.getElementById('HFilterScheme_Now').innerHTML = "当前过滤方案:" + HDefaultFilter + '<span style="font-size: 15px; font-weight: bold; color:#7b90fb">  ' + "(" + HRemark + ")" + '</span>';
                        HInterID = data[0].hmainid
                        //根据选择的过滤方案回填数据到列表过滤条件
                        for (let i = 0; i < data.length; i++) {
                            $("#" + data[i].过滤字段ID).val(data[i].过滤值);
                            if (data[i].过滤标签类型 == 'SELECT') {
                                $("#" + data[i].过滤字段ID).find("option[value='" + data[i].过滤值 + "']").attr("selected", true);
                            }
                        }
                    } else {
                        layer.close(ajaxLoad);
                        layer.alert(data1.code + data1.Message, { icon: 5 });
                    }
                }, error: function () {
                    layer.close(ajaxLoad);
                    layer.alert("接口请求失败!", { icon: 5 });
                }
            });
        }
        //#endregion
    </script>