zhangrg
2023-12-29 428c1a925e2631fbf06ded2d1592bb9e002b00e8
WebTM/views/ϵͳ¹ÜÀí/Óû§¹ÜÀí/Gy_UserCustomer.html
@@ -43,6 +43,7 @@
                        <div class="layui-card-header">
                            <div class="layui-btn-group">
                                <button type="button" id="add-btn" class="layui-btn layui-btn-normal layui-btn-radius" lay-submit="" lay-filter="Saver">保存</button>
                                <button type="button" id="set_Excel" class="layui-btn layui-btn-normal layui-btn-radius" lay-submit="" lay-filter="set_Excel">Excel导入</button>
                                <button type="button" class="layui-btn layui-btn-normal layui-btn-radius" lay-submit="" lay-filter="Exit">退出</button>
                            </div>
                        </div>
@@ -138,13 +139,12 @@
            TabRow = { "HCusID": 0, "HCustomerNumber": "", "HCustomerName": "" };
            //#endregion
            //#region è¿›å…¥é¡µé¢æ—¢åŠ è½½
            //初始化表格
            //#region åˆå§‹åŒ–表格
            set_InitGrid();
            //#endregion
            //判断操作类型
            //#region åˆ¤æ–­æ“ä½œç±»åž‹
            if (OperationType == 1) {//无源新增
                //无源新增
                set_AddFNew();
@@ -156,29 +156,98 @@
                layer.alert("未知操作类型!", { icon: 5 });
            }
            //#endregion
            //#endregion
            //#region ç‚¹å‡»äº‹ä»¶ï¼ŒåŒ…括on和form事件
            //头工具栏
            table.on('toolbar(mainTable)', function (obj) {
                var checkStatus = table.checkStatus('mainTable')
                    , data = checkStatus.data;;
                var AddRow = table.cache['mainTable'];
                var NewRow = TabRow;
                switch (obj.event) {
                    //新增一行
                    case 'btn-AddLine': btnAddLine(NewRow);
                        break;
                    //复制一行
                    case 'btn-CopyLine': btnCopyLine(data);
                        break;
            //#region ä¸»è¡¨æŒ‰é’®è§¦å‘事件
            //#region ä¿å­˜
            form.on('submit(Saver)', function (data) {
                if ($("#UserName").val() == "") {
                    layer.msg("用户不能为空!");
                    return false;
                }
                var UserID = $("#UserID").val();  //获取选择的用户编码
                //debugger;
                var sSubStr = JSON.stringify(table.cache['mainTable']);
                if (!AllowLoadData(sSubStr))//数据验证
                {
                    return false;
                }
                var list = [];
                for (var i = 0; i < JSON.parse(sSubStr).length; i++) {
                    list.push(JSON.parse(sSubStr)[i].HCustomerNumber)
                }
                if (isAllEqual(list)) {
                    layer.msg("有重复的客户信息!");
                    return false;
                }
                var sMainSub = sSubStr + ';' + UserID + ';' + sessionStorage["HUserName"];
                $.ajax(
                    {
                        type: "POST",
                        url: GetWEBURL() + "/Xt_User/SaveUserCustomer", //方法所在页面和方法名
                        async: true,
                        data: { "msg": sMainSub },
                        dataType: "json",
                        success: function (data) {
                            if (data.count == 1) { // è¯´æ˜ŽéªŒè¯æˆåŠŸäº†ï¼Œ
                                layer.msg(data.Message, { time: 1 * 1000, icon: 1 }, function () {
                                    $('#add-btn').addClass("layui-btn-disabled").attr("disabled", true);
                                    var index = parent.layer.getFrameIndex(window.name); //先得到当前iframe层的索引
                                    parent.layer.close(index); //再执行关闭 Â  Â  Â  Â  Â Â  Â Â Â  Â 
                                });
                            }
                            else {
                                layer.alert(data.Message);
                                console.log("Reason" + sMainSub + "sub:" + JSON.stringify(layui.table.cache.mainTable));
                            }
                            layer.closeAll("loading");
                        },
                        error: function (err) {
                            layer.alert("错误:" + err);
                            console.log("Reason" + sMainStr);
                        }
                    });
            });
            //#endregion
            //#region excel导入
            form.on('submit(set_Excel)', function (data) {
                set_Excel();
            });
            //#endregion
            //#region é€€å‡º
            form.on('submit(Exit)', function (data) {
                if (OperationType == 1) {
                    Pub_Close(closeType);//直接新增closeType值为2,列表调新增closeType值从列表传递
                }
                else if (OperationType == 3) {
                    Pub_Close(closeType);
                }
                else {
                    Pub_Close(2);
                }
            });
            //行内事件
            table.on('tool(mainTable)', function (obj) {
                set_GridDelete(obj);   //行内删除
                set_GridCellCheck(obj); //行内快捷键筛选
            //#endregion
            //#region å¿«é€Ÿè¿‡æ»¤
            form.on('submit(Search)', function () {
                get_FastQuery();
            });
            //用户信息弹窗
            //#endregion
            //#region é‡ç½®è¿‡æ»¤æ¡ä»¶
            form.on('submit(ReSet)', function () {
                set_ClearQuery();
            });
            //#endregion
            //#endregion
            //#region å¼¹çª—触发事件
            //#region ç”¨æˆ·ä¿¡æ¯å¼¹çª—
            form.on('submit(UserList)', function () {
                //页面层-自定义
                layer.open({
@@ -233,8 +302,35 @@
                    }
                });
            });
            //#endregion
            //#endregion
            //表格行内事件快捷键筛选
            //#region å­è¡¨è§¦å‘事件
            //#region å¤´å·¥å…·æ 
            table.on('toolbar(mainTable)', function (obj) {
                var checkStatus = table.checkStatus('mainTable')
                    , data = checkStatus.data;;
                var AddRow = table.cache['mainTable'];
                var NewRow = TabRow;
                switch (obj.event) {
                    //新增一行
                    case 'btn-AddLine': btnAddLine(NewRow);
                        break;
                    //复制一行
                    case 'btn-CopyLine': btnCopyLine(data);
                        break;
                }
            });
            //#endregion
            //#region è¡Œå†…事件
            table.on('tool(mainTable)', function (obj) {
                set_GridDelete(obj);   //行内删除
                set_GridCellCheck(obj); //行内快捷键筛选
            });
            //#endregion
            //#region è¡¨æ ¼è¡Œå†…事件快捷键筛选
            function set_GridCellCheck(obj) {
                $(document).off('keydown', ".layui-table-edit").on('keydown', '.layui-table-edit', function (e) {
                    if (event.key == "F7") {
@@ -303,83 +399,8 @@
                    }
                })
            }
            //保存
            form.on('submit(Saver)', function (data) {
                if ($("#UserName").val() == "") {
                    layer.msg("用户不能为空!");
                    return false;
                }
                var UserID = $("#UserID").val();  //获取选择的用户编码
                //debugger;
                var sSubStr = JSON.stringify(table.cache['mainTable']);
                if (!AllowLoadData(sSubStr))//数据验证
                {
                    return false;
                }
                var list = [];
                for (var i = 0; i < JSON.parse(sSubStr).length; i++) {
                    list.push(JSON.parse(sSubStr)[i].HCustomerNumber)
                }
                if (isAllEqual(list)) {
                    layer.msg("有重复的客户信息!");
                    return false;
                }
                var sMainSub = sSubStr + ';' + UserID + ';' + sessionStorage["HUserName"];
                $.ajax(
                    {
                        type: "POST",
                        url: GetWEBURL() + "/Xt_User/SaveUserCustomer", //方法所在页面和方法名
                        async: true,
                        data: { "msg": sMainSub },
                        dataType: "json",
                        success: function (data) {
                            if (data.count == 1) { // è¯´æ˜ŽéªŒè¯æˆåŠŸäº†ï¼Œ
                                layer.msg(data.Message, { time: 1 * 1000, icon: 1 }, function () {
                                    $('#add-btn').addClass("layui-btn-disabled").attr("disabled", true);
                                    var index = parent.layer.getFrameIndex(window.name); //先得到当前iframe层的索引
                                    parent.layer.close(index); //再执行关闭 Â  Â  Â  Â  Â Â  Â Â Â  Â 
                                });
                            }
                            else {
                                layer.alert(data.Message);
                                console.log("Reason" + sMainSub + "sub:" + JSON.stringify(layui.table.cache.mainTable));
                            }
                            layer.closeAll("loading");
                        },
                        error: function (err) {
                            layer.alert("错误:" + err);
                            console.log("Reason" + sMainStr);
                        }
                    });
            });
            //退出
            form.on('submit(Exit)', function (data) {
                if (OperationType == 1) {
                    Pub_Close(closeType);//直接新增closeType值为2,列表调新增closeType值从列表传递
                }
                else if (OperationType == 3) {
                    Pub_Close(closeType);
                }
                else {
                    Pub_Close(2);
                }
            });
            //快速过滤
            form.on('submit(Search)', function () {
                get_FastQuery();
            });
            //重置过滤条件
            form.on('submit(ReSet)', function () {
                set_ClearQuery();
            });
            //#endregion
            //#endregion
            //#endregion
            //#region æ­¤é¡µé¢æ‰€æœ‰æ–¹æ³•
@@ -408,7 +429,12 @@
                            table.reload('mainTable', { data: [] });
                            layer.alert(data.Message);
                        }
                        if (HCusNumber == "" && HCusName == "") {
                            $('#add-btn').removeClass("layui-btn-disabled");
                        } else {
                            $('#add-btn').removeClass("layui-btn-disabled");
                            $('#add-btn').addClass("layui-btn-disabled").attr("disabled", true);
                        }
                    }
                });
            }
@@ -421,7 +447,23 @@
            }
            //#endregion
            //初始化表格
            //#region Excel导入
            function set_Excel() {
                layer.open({
                    type: 2
                    , skin: 'layui-layer-rim' //加上边框
                    , area: ['100%', '100%']
                    , title: '用户关联客户-导入'
                    , shift: 0//弹出动画
                    , content: '../../系统管理/用户管理/Gy_UserCustomer_ImportByExcel.html'
                    , end: function () {
                        //刷新页面,
                    }
                })
            }
            //#endregion
            //#region åˆå§‹åŒ–表格
            function set_InitGrid() {
                columns = [
                    { type: 'checkbox', fixed: 'left' }
@@ -444,55 +486,15 @@
                    }
                };
            }
            //无源单新增
            //#endregion
            //#region æ— æºå•新增
            function set_AddFNew() {
                option.data = [TabRow];
                table.render(option);
            }
            //#endregion
            //增加一行
            function btnAddLine(NewRow) {
                var tableBak = table.cache["mainTable"]; //获取之前编辑过的表格数据
                buttonArr = [];//清空数组
                for (var i = 0; i < tableBak.length; i++) {
                    buttonArr.push(tableBak[i]);  //将之前的数据存储
                }
                buttonArr.push(NewRow);  //在尾部加一行
                table.reload("mainTable", {
                    data: buttonArr    //将数据重新载入表格
                })
            }
            //复制一行
            function btnCopyLine(data) {
                var copydata = JSON.stringify(data);
                if (data.length <= 0) {
                    layer.msg("请选择需要复制的一行!");
                }
                else if (data.length > 1) {
                    layer.msg("只能选择复制一行!");
                }
                else {
                    var copydata2 = copydata.substring(1, copydata.length);//去除首行字符'['
                    var copyrow = copydata2.substring(0, copydata2.length - 1);//去除末尾字符']'
                    table.cache["mainTable"].push(JSON.parse(copyrow));//将复制的行强转成json追加到表格上
                    option.data = table.cache["mainTable"];//将数据绑定到data上
                    table.render(option);//将数据渲染到表格上
                }
            }
            // è¡¨æ ¼è¡Œå†…事件删除
            function set_GridDelete(obj) {
                var data = obj.data;
                var rowIndex = $(obj.tr).attr("data-index");
                if (obj.event === 'del') {
                    layer.confirm('真的删除行么', function (index) {
                        var oldData = table.cache["mainTable"];
                        oldData.splice(obj.tr.data('index'), 1);
                        table.reload('mainTable', { data: oldData });
                        layer.close(index);
                    });
                }
            }
            //#region åˆ¤æ–­æ•°æ®æ•°ç»„中的值是否相同
            function isAllEqual(list) {
                var s = list.join(",") + ",";
@@ -502,6 +504,8 @@
                    }
                }
            }
            //#endregion
            //#region éžç©ºéªŒè¯
            function AllowLoadData(sSubStr) {  //非空验证
                var Result = true;
@@ -523,6 +527,58 @@
                }
                return Result;
            }
            //#endregion
            //#region å¢žåŠ ä¸€è¡Œ
            function btnAddLine(NewRow) {
                var tableBak = table.cache["mainTable"]; //获取之前编辑过的表格数据
                buttonArr = [];//清空数组
                for (var i = 0; i < tableBak.length; i++) {
                    buttonArr.push(tableBak[i]);  //将之前的数据存储
                }
                buttonArr.push(NewRow);  //在尾部加一行
                table.reload("mainTable", {
                    data: buttonArr    //将数据重新载入表格
                })
            }
            //#endregion
            //#region å¤åˆ¶ä¸€è¡Œ
            function btnCopyLine(data) {
                var copydata = JSON.stringify(data);
                if (data.length <= 0) {
                    layer.msg("请选择需要复制的一行!");
                }
                else if (data.length > 1) {
                    layer.msg("只能选择复制一行!");
                }
                else {
                    var copydata2 = copydata.substring(1, copydata.length);//去除首行字符'['
                    var copyrow = copydata2.substring(0, copydata2.length - 1);//去除末尾字符']'
                    table.cache["mainTable"].push(JSON.parse(copyrow));//将复制的行强转成json追加到表格上
                    option.data = table.cache["mainTable"];//将数据绑定到data上
                    table.render(option);//将数据渲染到表格上
                }
            }
            //#endregion
            //#region è¡¨æ ¼è¡Œå†…事件删除
            function set_GridDelete(obj) {
                var data = obj.data;
                var rowIndex = $(obj.tr).attr("data-index");
                if (obj.event === 'del') {
                    layer.confirm('真的删除行么', function (index) {
                        var oldData = table.cache["mainTable"];
                        oldData.splice(obj.tr.data('index'), 1);
                        table.reload('mainTable', { data: oldData });
                        layer.close(index);
                    });
                }
            }
            //#endregion
            //#endregion
        });
    </script>