yusijie
2022-09-28 d2608134749fdf3db52d81befb84e4c7116874f9
增加 用户关联职员 设置的模块
2个文件已修改
1个文件已添加
427 ■■■■■ 已修改文件
WebTM/WebTM.csproj 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebTM/views/index.html 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebTM/views/系统管理/用户管理/Gy_UserEmployee.html 425 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebTM/WebTM.csproj
@@ -931,6 +931,7 @@
    <Content Include="views\系统管理\用户管理\Gy_UserByOrg.html" />
    <Content Include="views\系统管理\用户管理\Gy_UserByWorkStation.html" />
    <Content Include="views\系统管理\用户管理\Gy_UserDept.html" />
    <Content Include="views\系统管理\用户管理\Gy_UserEmployee.html" />
    <Content Include="views\系统管理\用户管理\Gy_UserGroup.html" />
    <Content Include="views\系统管理\用户管理\Gy_UserStock.html" />
    <Content Include="views\系统管理\用户管理\Xt_UserGroupList.html" />
WebTM/views/index.html
@@ -1015,6 +1015,7 @@
                                        <dd><a lay-href="系统管理/用户管理/Gy_UserByWorkStation.html">用户关联工位</a></dd>
                                        <dd><a lay-href="系统管理/用户管理/Gy_UserGroup.html">用户关联班组</a></dd>
                                        <dd><a lay-href="系统管理/用户管理/Gy_UserDept.html">用户关联部门</a></dd>
                                        <dd><a lay-href="系统管理/用户管理/Gy_UserEmployee.html">用户关联职员</a></dd>
                                        <dd><a lay-href="">权限查询n</a></dd>
                                        <dd><a lay-href="set/user/password.html">密码设置</a></dd>
                                    </dl>
WebTM/views/ϵͳ¹ÜÀí/Óû§¹ÜÀí/Gy_UserEmployee.html
New file
@@ -0,0 +1,425 @@
<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8" />
    <title>用户关联职员</title>
    <link rel="stylesheet" href="../../../layuiadmin/layui/css/layui.css" media="all">
    <link rel="stylesheet" href="../../../layuiadmin/style/admin.css" media="all">
    <script src="../../../layuiadmin/layui/layui.js"></script>
    <script src="../../../layuiadmin/Scripts/json2.js"></script>
    <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 æ­¤æ ·å¼ç”¨äºŽæ¶ˆé™¤è¡Œå…ƒç´ ä¸­å¸ƒå±€å®½åº¦ä¸å¤Ÿçš„问题*/
        .layui-form-item .layui-inline {
            margin-top: 5px;
            margin-bottom: 5px;
            margin-right: 0px;
        }
        .layui-form-label {
            float: left;
            display: block;
            padding: 9px 15px;
            width: 31px;
            font-weight: 400;
            line-height: 20px;
            text-align: left;
        }
    </style>
</head>
<body>
    <div id="layout1" class="layui-fluid">
        <div class="layui-row layui-col-space15">
            <div class="layui-col-md12">
                <div class="layui-card">
                    <form id="form0" class="layui-form" lay-filter="component-form-group" action="">
                        <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>
                            </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-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;">
                                                        <i class="layui-icon layui-icon-search layuiadmin-button-btn" style="margin-left:-9px;"></i>
                                                    </button>
                                                </div>
                                            </div>
                                        </div>
                                    </div>
                                </div>
                            </div>
                        </div>
                        <table class="layui-hide" id="mainTable" lay-filter="mainTable"></table>
                        <script type="text/html" id="toolbarDemo">
                            <div class="layui-btn-container">
                                <button type="button" class="layui-btn layui-btn-sm" lay-event="btn-AddLine"><i class="layui-icon layui-icon-form"></i>增加一行</button>
                                <button type="button" class="layui-btn layui-btn-sm" lay-event="btn-CopyLine"><i class="layui-icon layui-icon-form"></i>复制一行</button>
                            </div>
                        </script>
                        <script type="text/html" id="xuhao">
                            {{d.LAY_TABLE_INDEX+1}}
                        </script>
                    </form>
                </div>
            </div>
        </div>
    </div>
</body>
</html>
<script type="text/html" id="barDemo">
    <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({
        index: 'lib/index' //主入口模块
    }).use(['index', 'form', 'laydate', 'table', 'element'], function () {
        //#region å…¬å…±å˜é‡
        var $ = layui.$
            , admin = layui.admin
            , layer = layui.layer
            , table = layui.table
            , form = layui.form
            , laydate = layui.laydate
            , element = layui.element;
        //查询条件
        var option = [];
        TabRow = { "HItemID": 0, "HNumber": "", "HName": "" };
        //#endregion
        //#region è¿›å…¥é¡µé¢æ—¢åŠ è½½
        //初始化表格
        set_InitGrid();
        //判断操作类型
        if (OperationType == 1) {//无源新增
            //无源新增
            set_AddFNew();
        }
        else if (OperationType == 3) {//编辑
            //set_EditFromGrid(linterid);
        }
        else {
            layer.alert("未知操作类型!", { icon: 5 });
        }
        //#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;
            }
        });
        //行内事件
        table.on('tool(mainTable)', function (obj) {
            set_GridDelete(obj);   //行内删除
            set_GridCellCheck(obj); //行内快捷键筛选
        });
        //用户信息弹窗
        form.on('submit(UserList)', function () {
            //页面层-自定义
            layer.open({
                type: 2,
                skin: 'layui-layer-rim', //加上边框
                title: '验收员列表',
                closeBtn: 1,
                shift: 2,
                area: ['80%', '80%'],
                maxmin: true,
                content: ['../../PublicPage/PeopleInformation.html', 'yes'],
                btn: ['确定', '取消']
                , btn1: function (index, layero) {
                    //按钮【按钮一】的回调
                    var iframeWindow = window['layui-layer-iframe' + index]  //获取弹框页面
                    var checkStatus = iframeWindow.layui.table.checkStatus('mainTable');//获取table的elem:"#test"
                    if (checkStatus.data.length === 0) {
                        return layer.msg('请选择数据');
                    }
                    $("#UserName").val(checkStatus.data[0].HName);
                    $("#UserID").val(checkStatus.data[0].HNumber);
                    $.ajax({
                        url: GetWEBURL() + "/Xt_User/UserEmployeelistPlaylist",
                        type: "GET",
                        data: { "HUserID": checkStatus.data[0].HNumber },
                        success: function (data) {
                            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内部动态递增计算的
                }
            });
        });
        //表格行内事件快捷键筛选
        function set_GridCellCheck(obj) {
            $(document).off('keydown', ".layui-table-edit").on('keydown', '.layui-table-edit', function (e) {
                if (event.key == "F7") {
                    //部门
                    if (obj.event === 'HNumber') {
                        //页面层-自定义
                        layer.open({
                            type: 2,
                            skin: 'layui-layer-rim', //加上边框
                            title: '职员列表',
                            closeBtn: 1,
                            shift: 2,
                            area: ['80%', '80%'],
                            maxmin: true,
                            content: ['../../基础资料/公用基础资料/Gy_EmployeeList.html', 'yes'],
                            btn: ['确定', '取消']
                            , btn1: function (index, layero) {
                                //按钮【按钮一】的回调
                                var iframeWindow = window['layui-layer-iframe' + index]  //获取弹框页面
                                var checkStatus = iframeWindow.layui.table.checkStatus('mainTable');//获取table的elem:"#test"
                                if (checkStatus.data.length === 0) {
                                    return layer.msg('请选择数据');
                                }
                                //console.log(obj.data);
                                //同步更新表格和缓存对应的值
                                obj.update({
                                    HItemID: checkStatus.data[0].HItemID,
                                    HNumber: checkStatus.data[0].职员代码,
                                    HName: checkStatus.data[0].职员名称
                                });
                                layer.close(layer.index); //它获取的始终是最新弹出的某个层,值是由layer内部动态递增计算的
                            }
                            , btn2: function (index, layero) {
                                //按钮【按钮二】的回调
                                //return false å¼€å¯è¯¥ä»£ç å¯ç¦æ­¢ç‚¹å‡»è¯¥æŒ‰é’®å…³é—­
                            },
                            end: function () {
                            }
                        });
                    }
                    obj.event = "";
                    return false;
                }
            })
        }
        //保存
        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].HNumber)
            }
            if (isAllEqual(list)) {
                layer.msg("有重复的职员信息!");
                return false;
            }
            var sMainSub = sSubStr + ';' + UserID
            $.ajax(
                {
                    type: "POST",
                    url: GetWEBURL() + "/Xt_User/SaveUserEmployee", //方法所在页面和方法名
                    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);
            }
        });
        //#endregion
        //#region æ­¤é¡µé¢æ‰€æœ‰æ–¹æ³•
        //初始化表格
        function set_InitGrid() {
            columns = [
                { type: 'checkbox', fixed: 'left' }
                , { templet: '#xuhao', title: '序号', sort: true, fixed: 'left' }
                , { field: 'HItemID', title: 'HItemID', edit: 'text', hide: true }
                , { field: 'HNumber', title: '职员代码', edit: 'text', event: 'HNumber' }
                , { field: 'HName', title: '职员名称' }
                , { fixed: 'right', title: '操作', toolbar: '#barDemo' }
            ];
            option = {
                id: 'mainTable'
                , elem: '#mainTable'
                , toolbar: '#toolbarDemo'
                , page: false
                , cellMinWidth: 120
                , height: 680
                , cols: [columns]
                , limit: 500 //每页默认显示的数量
                , done: function (res, curr, count) {
                }
            };
        }
        //无源单新增
        function set_AddFNew() {
            option.data = [TabRow];
            table.render(option);
        }
        //增加一行
        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(",") + ",";
            for (var i = 0; i < list.length; i++) {
                if (s.replace(list[i] + ",", "").indexOf(list[i] + ",") > -1) {
                    return true;
                }
            }
        }
        //#region éžç©ºéªŒè¯
        function AllowLoadData(sSubStr) {  //非空验证
            var Result = true;
            if (typeof (sSubStr) == "undefined" || sSubStr == "") {
                layer.msg("没有物料明细记录", { icon: 5, btn: ['确认'], time: 2000, offset: 't', skin: 'layui-layer-lan', title: "温馨提示" });
                return Result = false;
            }
            if (typeof (sSubStr) != "undefined" && typeof (sSubStr) != "") {
                sSubStr = JSON.parse(sSubStr);
                for (var i = 0; i < sSubStr.length; i++) {
                    if (sSubStr[i].职员代码 == "") {
                        layer.msg("明细记录第" + (i + 1) + "行,职员代码为空!", { icon: 5, btn: ['确认'], time: 2000, offset: 't', skin: 'layui-layer-lan', title: "温馨提示" });
                        return Result = false;
                    }
                }
            }
            else {
                return Result = true;
            }
            return Result;
        }
    });
</script>