WebTM/views/PublicPage/MaterialInfo.html
@@ -8,6 +8,7 @@
    <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
    <link rel="stylesheet" href="../../layuiadmin/layui/css/layui.css" media="all">
    <link rel="stylesheet" href="../../layuiadmin/style/admin.css" media="all">
    <link rel="stylesheet" href="../../layuiadmin/ext/soulTable.css" media="all">
    <script src="../../layuiadmin/layui/layui.js"></script>
    <script src="../../layuiadmin/treeTable.js"></script>
    <script src="../../layuiadmin/Scripts/json2.js"></script>
@@ -47,6 +48,24 @@
                                                        <input type="text" class="layui-input" name="HName" id="HName">
                                                    </div>
                                                </div>
                                                <div class="layui-inline">
                                                    <label class="layui-form-label">仓库代码</label>
                                                    <div class="layui-input-block">
                                                        <input type="text" class="layui-input" name="HWHNumber" id="HWHNumber">
                                                    </div>
                                                </div>
                                                <div class="layui-inline">
                                                    <label class="layui-form-label">仓库名称</label>
                                                    <div class="layui-input-block">
                                                        <input type="text" class="layui-input" name="HWHName" id="HWHName">
                                                    </div>
                                                </div>
                                                <div class="layui-inline">
                                                    <label class="layui-form-label">分组</label>
                                                    <div class="layui-input-block">
                                                        <input type="text" class="layui-input" name="HGroup" id="HGroup">
                                                    </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>
@@ -76,7 +95,7 @@
            base: '../../layuiadmin/' //静态资源所在路径
        }).extend({
            index: 'lib/index', //主入口模块
        }).use(['tree', 'index', 'form', 'table', 'element', 'laypage', 'laydate'], function () {
        }).use(['tree', 'index', 'form', 'table', 'element', 'laypage', 'laydate', 'soulTable', 'tableFilter'], function () {
            var $ = layui.$
                , admin = layui.admin
                , layer = layui.layer
@@ -87,57 +106,12 @@
                , laydate = layui.laydate
                , util = layui.util
                , tree = layui.tree
                , soulTable = layui.soulTable
                , tableFilter = layui.tableFilter
            //var sWhere = " where HStopFlag=0 and HEndFlag<>'1' and HUSEORGID = " + sessionStorage["OrganizationID"] + " "; //树型
            //var sWhere1 = " where HStopFlag=0 and HEndFlag=1 and HUSEORGID = " + sessionStorage["OrganizationID"] + " ";  //列表
            var sWhere = " where 1 = 1" + " ";
            var sWhere1 = " where 1 = 1" + " ";
            //tree.render({
            //    elem: '#treePart',
            //    data: getData(sWhere),
            //    showCheckbox: false,     //是否显示复选框
            //    id: 'demoId',
            //    isJump: false, //是否允许点击节点时弹出新窗口跳转
            //    showLine: true,//是否开启连接线
            //    onlyIconControl: true,   //点击后不收缩
            //    click: function (obj) {
            //        //点击高光
            //        if (obj.data.id !== treeCkData.id) {
            //            $('div[data-id="' + obj.data.id + '"] span').eq(1).last().addClass("custom-tree-item-clicked");
            //            $('div[data-id="' + treeCkData.id + '"] span').eq(1).last().removeClass('custom-tree-item-clicked');
            //            treeCkData = obj.data;
            //            TagId = obj.data.id;
            //            TagParentId = obj.data.ParentID;
            //        }
            //        else {
            //            $('div[data-id="' + treeCkData.id + '"] span').eq(1).last().removeClass('custom-tree-item-clicked');
            //            treeCkData = { id: 0 };
            //            TagId = "";
            //            TagParentId = "";
            //        }
            //        $.ajax({
            //            url: GetWEBURL() + '/Gy_MaintenanceMode/PartCX',
            //            type: "GET",
            //            data: { "HInterID": obj.data.id },
            //            success: function (data1) {
            //                if (data1.count == 1) {
            //                    option.data = data1.data;
            //                    table.render(option);
            //                    layer.close(index);
            //                } else {
            //                    layer.close(index);
            //                    layer.alert(data1.code + data1.Message, { icon: 5 });
            //                }
            //            }, error: function () {
            //                layer.close(index);
            //                layer.alert("接口请求失败!", { icon: 5 });
            //            }
            //        });
            //    }
            //});
            var option = {
                elem: '#mainTable'
@@ -146,28 +120,54 @@
                , page: true
                , cellMinWidth: 90
                , cols: [[
                    { type: 'radio', fixed: 'left' }
                    , { field: '物料仓库资料代码', title: '物料仓库资料代码', sort: true }
                    , { field: '物料代码', title: '物料代码', sort: true }
                    , { field: '物料名称', title: '物料名称' }
                    , { field: '规格型号', title: '规格型号' }
                    , { field: '辅助属性代码', title: '辅助属性代码' }
                    , { field: '辅助属性名称', title: '辅助属性名称' }
                    , { field: '计量单位代码', title: '计量单位代码' }
                    , { field: '计量单位', title: '计量单位' }
                    , { field: '批次', title: '批次' }
                    , { field: '数量', title: '数量' }
                    , { field: '仓库代码', title: '仓库代码' }
                    , { field: '仓库', title: '仓库' }
                    , { field: '仓位代码', title: '仓位代码' }
                    , { field: '仓位', title: '仓位' }
                    , { field: '供应商代码', title: '供应商代码' }
                    , { field: '供应商', title: '供应商' }
                    , { field: '计划跟踪号', title: '计划跟踪号' }
                    , { field: '所属组织', title: '所属组织' }
                    { type: 'checkbox', fixed: 'left' }
                    , { field: '物料仓库资料代码', title: '物料仓库资料代码', sort: true, filter: true }
                    , { field: '物料代码', title: '物料代码', sort: true, filter: true}
                    , { field: '物料名称', title: '物料名称', filter: true }
                    , { field: '规格型号', title: '规格型号', filter: true }
                    , { field: '分组', title: '分组', filter: true }
                    , { field: '辅助属性代码', title: '辅助属性代码', filter: true }
                    , { field: '辅助属性名称', title: '辅助属性名称', filter: true }
                    , { field: '计量单位代码', title: '计量单位代码', filter: true }
                    , { field: '计量单位', title: '计量单位', filter: true}
                    , { field: '批次', title: '批次', filter: true }
                    , { field: '数量', title: '数量', filter: true }
                    , { field: '仓库代码', title: '仓库代码', filter: true}
                    , { field: '仓库', title: '仓库', filter: true }
                    , { field: '仓位代码', title: '仓位代码', filter: true }
                    , { field: '仓位', title: '仓位', filter: true }
                    , { field: '供应商代码', title: '供应商代码', filter: true }
                    , { field: '供应商', title: '供应商', filter: true }
                    , { field: '计划跟踪号', title: '计划跟踪号', filter: true}
                    , { field: '所属组织', title: '所属组织', filter: true }
                ]]
                , done: function (res, curr, count) {
                    soulTable.render(this);
                }
            };
            //#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
            var index = layer.load(0, { shade: false });
            //进入页面显示的缓存列表
@@ -195,11 +195,23 @@
            form.on('submit(btnSearch)', function (data) {
                var HNumber = $("#HNumber").val();
                var HName = $("#HName").val();
                var HWHNumber = $("#HWHNumber").val();
                var HWHName = $("#HWHName").val()
                var HGroup = $("#HGroup").val()
                if (HNumber) {
                    sWhere += " and 物料代码 = '" + HNumber + "'";
                    sWhere += " and 物料代码 like '%" + HNumber + "%'";
                }
                if (HName) {
                    sWhere += " and 物料名称 = '" + HName + "'";
                    sWhere += " and 物料名称 like '%" + HName + "%'";
                }
                if (HWHNumber) {
                    sWhere += " and 仓库代码 like '%" + HWHNumber + "%'";
                }
                if (HWHName) {
                    sWhere += " and 仓库 like '%" + HWHName + "%'";
                }
                if (HGroup) {
                    sWhere += " and 分组 like '%" + HGroup + "%'";
                }
                $.ajax({
                    url: GetWEBURL() + '/PublicPageMethod/MaterialList',
@@ -209,7 +221,7 @@
                        if (data1.count == 1) {
                            option.data = data1.data;
                            table.render(option);
                            layer.alert("查询成功", { icon: 1 });
                            //layer.alert("查询成功", { icon: 1 });
                        } else {
                            layer.alert(data1.code + data1.Message, { icon: 5 });
                        }
@@ -217,50 +229,13 @@
                        layer.alert("接口请求失败!", { icon: 5 });
                    }
                });
                sWhere = "where 1=1 ";//调用接口后清空sWhere缓存
                sWhere = " where 1=1 ";//调用接口后清空sWhere缓存
            });
            //以上是layui模块
        });
        //查询树状数据
        function getData(sWhere) {
            var treeData;
            $.ajax({
                url: GetWEBURL() + '/Gy_MaintenanceMode/PartLoadTree',
                type: "GET",
                data: { "sWhere": sWhere },
                async: false,
                success: function (result) {
                    var data = result.data;
                    //生成数据对象集合
                    treeData = LoadTree(data);
                }
            });
            return treeData;
        }
        /**处理树形展示数据,要求有ID和ParentID、title字段**/
        function LoadTree(data) {
            let map = {};
            let treeData = [];
            data.forEach(it => {
                map[it.id] = it;    //ID为每个节点的id
            })
            //生成结果集
            data.forEach(it => {
                const parent = map[it.ParentID];   //ParentID为父节点的id
                if (parent) {
                    if (!Array.isArray(parent.children)) parent.children = [];
                    parent.children.push(it);
                } else {
                    treeData.push(it)
                }
            })
            return treeData;
        }
        function SeachFilter(sWhere1) {
            var HNumber = $("#HNumber").val();
            var HName = $("#HName").val();