zrg
2025-02-25 82ba14eeb57b4e7ccc652afb0e700a89ce4e64f6
WebTM/views/ϵͳ¹ÜÀí/Óû§¹ÜÀí/Xt_UserSuplies.html
@@ -13,6 +13,7 @@
    <script src="../../../layuiadmin/Scripts/jquery-1.4.1.js"></script>
    <script src="../../../layuiadmin/Scripts/webConfig.js"></script>
    <script src="../../../layuiadmin/PubCustom.js"></script>
    <script src="../../../layuiadmin/zgqCustom/zgqCustom.js"></script>
    <style type="text/css">
        /*begin æ­¤æ ·å¼ç”¨äºŽæ¶ˆé™¤è¡Œå…ƒç´ ä¸­å¸ƒå±€å®½åº¦ä¸å¤Ÿçš„问题*/
@@ -21,6 +22,7 @@
            margin-bottom: 5px;
            margin-right: 0px;
        }
        .layui-form-label {
            float: left;
            display: block;
@@ -28,10 +30,8 @@
            width: 31px;
            font-weight: 400;
            line-height: 20px;
             text-align: left;
            text-align: left;
        }
    </style>
</head>
<body>
@@ -43,20 +43,22 @@
                        <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" class="layui-btn layui-btn-normal layui-btn-radius" lay-submit="" lay-filter="Exit">退出</button>
                                <!--<button type="button" class="layui-btn layui-btn-normal layui-btn-radius" lay-submit="" lay-filter="Exit" >退出</button>-->
                                <button type="button" class="layui-btn layui-btn-normal layui-btn-radius" lay-submit="" lay-filter="Exit" onclick='window.frames["系统管理/用户管理/Xt_UserSupliesList.html"] '>退出</button>
                                <button type="button" class="layui-btn layui-btn-normal layui-btn-radius" lay-submit="" lay-filter="set_Excel">Excel导入</button>
                            </div>
                        </div>
                        <div class="layui-card-body">
                            <div class="layui-tab layui-tab-brief" lay-filter="docDemoTabBrief">
                                <div class="layui-tab-content">
                                    <div class="layui-tab-item layui-show">
                                        <div class="layui-form-item">
                                        <div class="layui-form-item">
                                            <div class="layui-inline">
                                                <label class="layui-form-label">用户</label>
                                                <div class="layui-input-inline">
                                                    <input type="text" name="UserName" id="UserName" readonly class="layui-input" value="" style="float:left;width:150px;">
                                                    <input type="hidden" name="UserID" id="UserID" class="layui-input" value="" style="float:left;width:150px;">
                                                    <button type="button" lay-submit="" class="layui-btn" lay-filter="UserList" style="width:40px;">
                                                    <button type="button" lay-submit="" id="button_Edit"  class="layui-btn" lay-filter="UserList" style="width:40px;">
                                                        <i class="layui-icon layui-icon-search layuiadmin-button-btn" style="margin-left:-9px;"></i>
                                                    </button>
                                                </div>
@@ -88,6 +90,18 @@
        <a class="layui-btn layui-btn-danger layui-btn-xs" lay-event="del">删除</a>
    </script>
    <script>
        //获取参数
        var params = get_UrlVars();
        if (typeof (params[params[0]]) == "undefined") {
            var OperationType = 1;//操作类型
            var closeType = 2;  //关闭类型
        } else {
            var OperationType = params[params[0]];//操作类型
            var linterid = params[params[1]];//源单id
            var HSouceBillType = params[params[2]];//源单类型
            var closeType = params[params[3]];  //关闭类型
        }
        layui.config({
            base: '../../../layuiadmin/' //静态资源所在路径
        }).extend({
@@ -111,10 +125,19 @@
            //初始化表格
            set_InitGrid();
            //判断操作类型
            //无源新增
            if (OperationType == 1) {//无源新增
                //无源新增
                set_AddFNew();
            }
            else if (OperationType == 3) {//编辑
                set_EditFromGrid(linterid);
                $('#button_Edit').addClass("layui-btn-disabled").attr("disabled", true);
            }
            else {
                layer.alert("未知操作类型!", { icon: 5 });
            }
            //#endregion
            //#region ç‚¹å‡»äº‹ä»¶ï¼ŒåŒ…括on和form事件
@@ -123,7 +146,7 @@
                var checkStatus = table.checkStatus('mainTable')
                    , data = checkStatus.data;;
                var AddRow = table.cache['mainTable'];
                var NewRow = TabRow;
                var NewRow = { "HSupID": 0, "HSupperNumber": "", "HSupperName": "" };//不能用tabrow代替,layui会自动加上index属性
                switch (obj.event) {
                    //新增一行
                    case 'btn-AddLine': btnAddLine(NewRow);
@@ -133,6 +156,27 @@
                        break;
                }
            });
            //#region ç‚¹å‡»è¡Œé€‰ä¸­é«˜äº®
            table.on('row(mainTable)', function (obj) {
                //选中行改变颜色
                var flag = !obj.tr.find(':checkbox:first').prop('checked');
                obj.tr.find(':checkbox').prop('checked', flag);
                if (flag) {
                    obj.tr.find('.layui-form-checkbox').addClass('layui-form-checked');  //设置复选框选中样式
                    $(obj.tr.selector).attr({ "style": "background:#ceedfa;color:black" });//改变当前tr背景颜色和字体颜色
                } else {
                    obj.tr.find('.layui-form-checkbox').removeClass('layui-form-checked');//取消复选框选中样式
                    $(obj.tr.selector).attr({ "style": "background:" });//取消当前tr颜色
                }
                //mainTable ä¸ºè¡¨æ ¼ID   æ³¨æ„æ­¤å¤„如果ID不正确将导致你在监听复选框时获取不到你选择的数据,前面的只是添加或删除选中未选中样式以及设置背景色,字体颜色
                layui.each(table.cache.mainTable, function (i, l) {
                    if (obj.tr.index() == l.LAY_TABLE_INDEX) {
                        l.LAY_CHECKED = flag;
                    }
                });
            })
            //#endregion
            //行内事件
            table.on('tool(mainTable)', function (obj) {
                set_GridDelete(obj);   //行内删除
@@ -167,8 +211,15 @@
                            type: "GET",
                            data: { "HUserID": checkStatus.data[0].HNumber },
                            success: function (data) {
                                option.data = data.data;
                                table.render(option);
                                if (data.data != null && data.data != "") {
                                    option.data = data.data;
                                    table.render(option);
                                }
                                else {
                                    table.reload("mainTable", {});
                                    table.reload('mainTable', { data: [] });
                                }
                            }
                        });
                        layer.close(layer.index); //它获取的始终是最新弹出的某个层,值是由layer内部动态递增计算的
@@ -186,6 +237,7 @@
                });
            });
            //表格行内事件快捷键筛选
            function set_GridCellCheck(obj) {
                $(document).off('keydown', ".layui-table-edit").on('keydown', '.layui-table-edit', function (e) {
@@ -212,13 +264,33 @@
                                    if (checkStatus.data.length === 0) {
                                        return layer.msg('请选择数据');
                                    }
                                    var OptionData = checkStatus.data;
                                    if (checkStatus.data.length > 1) {
                                        var rowIndex = $(obj.tr).attr("data-index") * 1;//获取选择列的索引
                                        for (var i = 0; i < OptionData.length; i++) {  //判断选中的数据的长度  ç”¨äºŽéåކcheckStatus.data数组中的每个元素
                                            if (rowIndex + i >= option.data.length) {           //判断rowIndex + i的索引超出了option.data数组的长度,说明option.data数组需要扩展以包含更多行
                                                var NewRow = { "HSupID": 0, "HSupperNumber": "", "HSupperName": "" };  // åˆ›å»ºä¸€ä¸ªæ–°çš„包含数组
                                                table.cache["mainTable"].push(NewRow);    //创建新的包含数组  ä¼ å…¥table.cache["mainTable"]数组
                                                option.data = table.cache["mainTable"];  //把传入 table.cache["mainTable"]数组的值赋值给option.data çš„属性
                                                table.render(option);//渲染界面
                                            }
                                            option.data[rowIndex + i].HSupID = OptionData[i].HItemID;
                                            option.data[rowIndex + i].HSupperNumber = OptionData[i].HNumber;
                                            option.data[rowIndex + i].HSupperName = OptionData[i].HName;
                                        }
                                        table.render(option); //重新渲染表格以显示更新后的数据
                                    } else {
                                        obj.update({
                                            HSupID: checkStatus.data[0].HItemID,
                                            HSupperNumber: checkStatus.data[0].HNumber,
                                            HSupperName: checkStatus.data[0].HName
                                        });
                                    }
                                    //console.log(obj.data);
                                    //同步更新表格和缓存对应的值
                                    obj.update({
                                        HSupID: checkStatus.data[0].HItemID,
                                        HSupperNumber: checkStatus.data[0].HNumber,
                                        HSupperName: checkStatus.data[0].HName
                                    });
                                    layer.close(layer.index); //它获取的始终是最新弹出的某个层,值是由layer内部动态递增计算的
                                }
@@ -231,7 +303,7 @@
                                }
                            });
                        }
                        obj.event = "";
                        return false;
                    }
@@ -240,8 +312,7 @@
            //保存
            form.on('submit(Saver)', function (data) {
                if ($("#UserName").val() == "")
                {
                if ($("#UserName").val() == "") {
                    layer.msg("用户不能为空!");
                    return false;
                }
@@ -254,15 +325,14 @@
                }
                var list = [];
                for (var i = 0; i < JSON.parse(sSubStr).length; i++) {
                    list.push(JSON.parse(sSubStr)[i].供应商代码)
                    list.push(JSON.parse(sSubStr)[i].HSupperNumber)
                }
                if (isAllEqual(list))
                {
                if (isAllEqual(list)) {
                    layer.msg("有重复的供应商信息!");
                    return false;
                }
                var sMainSub = sSubStr + ';' + UserID
                var sMainSub = sSubStr + ';' + UserID
                $.ajax(
                    {
                        type: "POST",
@@ -293,6 +363,23 @@
                    });
            });
            //退出
            form.on('submit(Exit)', function (data) {
                if (params[1] != null) {
                    Pub_Close(2);
                } else if (params[1] == null) {
                    var parentWindow = window.parent;
                    Pub_Close(2);
                    parentWindow.openChildPage("系统管理/用户管理/Xt_UserSupliesList.html");
                }
            });
            //导入
            form.on('submit(set_Excel)', function () {
                set_Excel();
            });
            //#endregion
            //#region æ­¤é¡µé¢æ‰€æœ‰æ–¹æ³•
@@ -300,7 +387,7 @@
            function set_InitGrid() {
                columns = [
                    { type: 'checkbox', fixed: 'left' }
                    , { templet: '#xuhao', title: '序号', sort: true, fixed: 'left', event: "qwe"}
                    , { templet: '#xuhao', title: '序号', sort: true, fixed: 'left', event: "qwe" }
                    , { field: 'HSupID', title: 'HSupID', edit: 'text', hide: true }
                    , { field: 'HSupperNumber', title: '供应商代码', edit: 'text', event: 'HSupperNumber' }
                    , { field: 'HSupperName', title: '供应商名称', edit: 'text' }
@@ -321,15 +408,70 @@
            }
            //无源单新增
            function set_AddFNew() {
                option.data = [TabRow];
                option.data = [{ "HSupID": 0, "HSupperNumber": "", "HSupperName": "" }];
                table.render(option);
            }
            //导入
            function set_Excel() {
                layer.open({
                    type: 2
                    , skin: 'layui-layer-rim' //加上边框
                    , area: ['100%', '100%']
                    , title: '用户关联供应商信息列表-导入'
                    , shift: 0//弹出动画
                    , content: '../用户管理/Xt_UserSuplies_Excel.html'
                    , end: function () {
                        //刷新页面,
                        set_InitGrid();
                    }
                })
            }
            //编辑
            function set_EditFromGrid(linterid) {
                //编辑加载表头
                $.ajax({
                    url: GetWEBURL() + "GetGy_UserSupplierDetail",
                    type: "GET",
                    data: {
                        "HID": linterid
                    },
                    success: function (result) {
                        if (result.code == 1) { // è¯´æ˜ŽéªŒè¯æˆåŠŸäº†ï¼Œ
                            var data = result.data.h_v_Gy_UserSupplierRelationList_Query[0];
                            $("#HItemID").val(data.HItemID);//代码ID
                            $("#UserID").val(data.用户代码);//用户代码
                            $("#UserName ").val(data.用户名称);//用户名称
                            layui.form.render();//实时渲染选中和不选中的样式,最好添加这句话
                        } else {
                            layer.alert(result.msg, { icon: 5, btn: ['退出'], time: 100000, offset: 't' });
                        }
                        var arr = [];
                        for (var i = 0; i < result.data.h_v_Gy_UserSupplierRelationList_Query.length; i++) {
                            arr.push({
                                "HSupID": result.data.h_v_Gy_UserSupplierRelationList_Query[i].HSupID,
                                "HSupperNumber": result.data.h_v_Gy_UserSupplierRelationList_Query[i].供应商代码,
                                "HSupperName": result.data.h_v_Gy_UserSupplierRelationList_Query[i].供应商名称,
                            });
                        }
                        option.data = arr;
                        table.render(option);
                    }, error: function () {
                        layer.alert("发生错误!", { icon: 5 });
                    }
                });
            }
            //增加一行
            function btnAddLine(NewRow) {
                table.cache["mainTable"].push(NewRow);
                option.data = table.cache["mainTable"];
                table.render(option);
                table.cache["mainTable"].push(NewRow);//将NewRow对象添加到table.cache["mainTable"]数组中,  æ•°ç»„存储了表格的所有行数据
                option.data = table.cache["mainTable"];//更新option.data为新的数据数组显示到表格上  //将数据绑定到data上
                table.render(option);  //渲染表格
            }
            //复制一行
            function btnCopyLine(data) {
@@ -354,17 +496,10 @@
                var rowIndex = $(obj.tr).attr("data-index");
                if (obj.event === 'del') {
                    layer.confirm('真的删除行么', function (index) {
                        console.log("索引为:" + rowIndex);
                        if (rowIndex === '0') {
                            layer.msg('首行无法删除!!!');
                        } else {
                            //obj.del();
                            //layer.close(index);
                            var oldData = table.cache["mainTable"];
                            oldData.splice(obj.tr.data('index'), 1);
                            table.reload('mainTable', { data: oldData });
                            layer.close(index);
                        }
                        var oldData = table.cache["mainTable"];
                        oldData.splice(obj.tr.data('index'), 1);
                        table.reload('mainTable', { data: oldData });
                        layer.close(index);
                    });
                }
            }