yusijie
2022-10-25 e67b68f62ab103ca0b4d3252fdd92d905780df16
条码生成完善
1个文件已添加
2个文件已修改
428 ■■■■■ 已修改文件
WebTM/WebTM.csproj 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebTM/views/PublicPage/MaterialInfo.html 279 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebTM/views/仓存管理/条码生成/Gy_BarCodeBill.html 148 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebTM/WebTM.csproj
@@ -138,6 +138,7 @@
    <Content Include="views\index - å¤åˆ¶.html" />
    <Content Include="views\indexMenu.html" />
    <Content Include="views\IpadStepIndex.html" />
    <Content Include="views\PublicPage\MaterialInfo.html" />
    <Content Include="views\PublicPage\MouldDotCheckRuleInterList.html" />
    <Content Include="views\PublicPage\MouldMaintainRuleInterList.html" />
    <Content Include="views\PublicPage\OrderBackInfomation.html" />
WebTM/views/PublicPage/MaterialInfo.html
New file
@@ -0,0 +1,279 @@
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>物料资料</title>
    <meta name="renderer" content="webkit">
    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
    <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">
    <script src="../../layuiadmin/layui/layui.js"></script>
    <script src="../../layuiadmin/treeTable.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/layui/lay/modules/util.js"></script>
    <style media="screen">
        .custom-tree-item-clicked {
            color: #FC9003
        }
    </style>
</head>
<body>
    <div class="layui-fluid">
        <div class="layui-col-md12">
            <div class="layui-card" style="padding: 1px">
                <div class="layui-card-body" style="padding: 1px;">
                    <form class="layui-form" action="" lay-filter="component-form-group">
                        <div class="layui-collapse">
                            <div class="layui-colla-item">
                                <div class="layui-form-item" style="border-top: solid 1px #F6F6F6;">
                                    <div class="layui-row" style="padding:10px 0">
                                        <div class="layui-col-xs3 layui-inline" style="width: 23%;display:none;">
                                            <div id="treePart" lay-filter="treePart" class="demo-tree demo-tree-box" style="height: 580px; overflow: scroll;"></div>
                                        </div>
                                        <div class="layui-col-xs12 layui-inline">
                                            <div class="layui-row">
                                                <div class="layui-inline">
                                                    <label class="layui-form-label">物料代码</label>
                                                    <div class="layui-input-block">
                                                        <input type="text" class="layui-input" name="HNumber" id="HNumber">
                                                    </div>
                                                </div>
                                                <div class="layui-inline">
                                                    <label class="layui-form-label">物料名称</label>
                                                    <div class="layui-input-block">
                                                        <input type="text" class="layui-input" name="HName" id="HName">
                                                    </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>
                                            </div>
                                            <div>
                                                <table class="" id="mainTable" lay-filter="mainTable"></table>
                                            </div>
                                        </div>
                                    </div>
                                </div>
                            </div>
                        </div>
                    </form>
                </div>
            </div>
        </div>
    </div>
    <script src="../../layuiadmin/layui/zgqlayui.js"></script>
    <script src="../../layuiadmin/zgqCustom/zgqCustom.js"></script>
    <script>
        var treeCkData = { id: 0 };
        var TagId = "";
        var TagParentId = "";
        layui.config({
            base: '../../layuiadmin/' //静态资源所在路径
        }).extend({
            index: 'lib/index', //主入口模块
        }).use(['tree', 'index', 'form', 'table', 'element', 'laypage', 'laydate'], function () {
            var $ = layui.$
                , admin = layui.admin
                , layer = layui.layer
                , table = layui.table
                , form = layui.form
                , element = layui.element
                , laypage = layui.laypage
                , laydate = layui.laydate
                , util = layui.util
                , tree = layui.tree
            //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'
                //, toolbar: '#toolbarDemo'
                , height: 'full-120'
                , 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: '所属组织' }
                ]]
            };
            var index = layer.load(0, { shade: false });
            //进入页面显示的缓存列表
            $.ajax({
                url: GetWEBURL() + '/PublicPageMethod/MaterialList',
                type: "GET",
                data: { "sWhere": SeachFilter(sWhere1) },
                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 });
                }
            });
            //查询按钮
            form.on('submit(btnSearch)', function (data) {
                var HNumber = $("#HNumber").val();
                var HName = $("#HName").val();
                if (HNumber) {
                    sWhere += " and ç‰©æ–™ä»£ç  = '" + HNumber + "'";
                }
                if (HName) {
                    sWhere += " and ç‰©æ–™åç§° = '" + HName + "'";
                }
                $.ajax({
                    url: GetWEBURL() + '/PublicPageMethod/MaterialList',
                    type: "GET",
                    data: { "sWhere": sWhere},
                    success: function (data1) {
                        if (data1.count == 1) {
                            option.data = data1.data;
                            table.render(option);
                            layer.alert("查询成功", { icon: 1 });
                        } else {
                            layer.alert(data1.code + data1.Message, { icon: 5 });
                        }
                    }, error: function () {
                        layer.alert("接口请求失败!", { icon: 5 });
                    }
                });
                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();
            if (HNumber) {
                sWhere += " and HNumber like '%" + HNumber + "%'";
            }
            if (HName) {
                sWhere += " and HName like '%" + HName + "%'";
            }
            return sWhere1;
        }
    </script>
</body>
</html>
WebTM/views/²Ö´æ¹ÜÀí/ÌõÂëÉú³É/Gy_BarCodeBill.html
@@ -200,6 +200,11 @@
            var option2 = [];
            var sWhere = "";
            var sBillType = "3801";
            var HMaterID = "";
            var HBatchNo = "";
            var BatchNoArray; //用来存储获取到的批号,在批次按钮功能中用到
            var HMinQty2 = 0; //用来存储输入的最小包装数,在批次按钮功能中用到
            //#endregion
         
            //#region è¿›å…¥é¡µé¢æ—¢åŠ è½½
@@ -285,6 +290,7 @@
                        break;
                    case "HMinQty":  //最小包装数量
                        value = isNaN(value) ? 0 : value;
                        HMinQty2 = value;   //给批次按钮功能中的最小包装数赋值
                        var HQty = isNaN(data.HQty) ? 0 : data.HQty;
                        if (HQty == 0) //除数为0 
                        {
@@ -389,7 +395,10 @@
                                data: { "msg": Str },
                                //traditional: true,
                                success: function (result) {
                                    HMaterID = result.list[0].HMaterID;
                                    HBatchNo = result.list[0].HBatchNo;
                                    if (result.count == 1) { // è¯´æ˜ŽéªŒè¯æˆåŠŸäº†ï¼Œ
                                        BatchNoArray = result.list;  //获取批号,用来给批次按钮功能中的批号赋值
                                        table.reload('mainTable', {
                                            data: result.list // è°ƒç”¨table.reload é‡æ–°æ¸²æŸ“显示加载追加了数据的表格
                                        });
@@ -458,6 +467,106 @@
                var sMainSub = sSubStr + ';' + HOrgType + ';' + HSourceBillType + ';' + HSelectBarCodeType + ';' + CampanyName + ';' + UserName;
                SaveBarCodeCreate(sMainSub);
            })
            //重置
            form.on('submit(ToolReset)', function (data) {
                layer.confirm('确定要清空当前界面信息,重置界面?',{
                    btn: ['确定', '取消'],
                    title: "提示",
                    icon: 3,
                }, function (index) {
                        $("#HOrgID").find("option").remove(); //清除源单类型选择下拉框中的值
                        set_HOrg(); //调用获取源单类型选择下拉框的值
                        $("#HDate").val(Format(new Date(), "yyyy-MM-dd")); //单据日期
                        $("#HSourceBillType").val('1'); //选择下拉框默认第一个选项
                        $("#HBarCodeType").val('0');
                        var arr = [{ HBillNo: '', HMaterNumber: '', HMaterName: '', HMaterModel: '', HAuxPropNumber: '', HAuxPropName: '', HUnitNumber: '', HUnitName: '', HBatchNo: '', HGiveAwayFlag: '0', HQty: '0', HMinQty: '0', HPackQty: '0', HBQty: '0', HDate: '', HCusNumber: '', HCusName: '', HSeOrderBillNo: '', HRemark:''}]
                        table.reload('mainTable', {
                            data: arr // è°ƒç”¨table.reload é‡æ–°æ¸²æŸ“显示加载追加了数据的表格
                        });
                        layer.close(index)
                })
            })
            //库存
            form.on('submit(ToolStock)', function (data) {
                layer.open({
                    type: 2,
                    skin: 'layui-layer-rim', //加上边框
                    title: '物料资料',
                    closeBtn: 1,
                    shift: 2,
                    area: ['80%', '80%'],
                    maxmin: true,
                    content: ['../../PublicPage/MaterialInfo.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('请选择数据');
                        }
                        var arr = [{ HBillNo: '', HMaterNumber: checkStatus.data[0].物料代码, HMaterName: checkStatus.data[0].物料名称, HMaterModel: '', HAuxPropNumber: '', HAuxPropName: '', HUnitNumber: checkStatus.data[0].计量单位代码, HUnitName: checkStatus.data[0].计量单位, HBatchNo: '', HGiveAwayFlag: '0', HQty: checkStatus.data[0].数量, HMinQty: '0', HPackQty: '0', HBQty: '0', HDate: '', HCusNumber: '', HCusName: '', HSeOrderBillNo: '', HRemark: '' }]
                        //同步更新表格和缓存对应的值
                        table.reload('mainTable', {
                            data: arr // è°ƒç”¨table.reload é‡æ–°æ¸²æŸ“显示加载追加了数据的表格
                        });
                        layer.close(layer.index); //它获取的始终是最新弹出的某个层,值是由layer内部动态递增计算的
                    }
                    , btn2: function (index, layero) {
                        //按钮【按钮二】的回调
                        //return false å¼€å¯è¯¥ä»£ç å¯ç¦æ­¢ç‚¹å‡»è¯¥æŒ‰é’®å…³é—­
                    },
                    end: function () {
                    }
                });
            });
            //同步资料
            form.on('submit(ToolSynch)', function (data) {
                $.ajax({
                    url: GetWEBURL() + '/Sc_BarCode/Sync_data',
                    type: "GET",
                    //data: { "sWhere": SeachFilter(sWhere1) },
                    success: function (data1) {
                        if (data1.code == 1) {
                            layer.alert(data1.Message)
                        }
                    }, error: function () {
                        layer.close(index);
                        layer.alert(data1.Message, { icon: 5 });
                    }
                });
            });
            //批次
            form.on('submit(ToolBatch)', function (data) {
                if (HMinQty2 == 0 && HMaterID) {
                    $.ajax({
                        url: GetWEBURL() + '/Sc_BarCode/Batch',
                        type: "GET",
                        data: { "HMaterID": HMaterID, "HBatchNo": HBatchNo },
                        success: function (data1) {
                            if (data1.code == 1) {
                                BatchNoArray[0].HBatchNo = data1.data
                                BatchNoArray[0].HMinQty = HMinQty2
                                console.log(BatchNoArray)
                                table.reload('mainTable', {
                                    data: BatchNoArray // è°ƒç”¨table.reload é‡æ–°æ¸²æŸ“显示加载追加了数据的表格
                                });
                                layer.alert(data1.Message)
                            }
                        }, error: function () {
                            layer.alert(data1.Message, { icon: 5 });
                        }
                    });
                } else {
                    layer.alert('请您在获取批号后在输入最小包装数 ^_^||')
                }
            });
            //退出
            form.on('submit(ToolExit)', function (data) {
@@ -1009,12 +1118,35 @@
            //条码打印
            function get_PrintReport() {
                var checkStatus = table.checkStatus('mainTable2')
                    , data = checkStatus.data;
                var checkStatus = table.checkStatus('mainTable1')
                    , dataArr = checkStatus.data;
                //由于条码信息列表中没有 HItemID å­—段,所以采取了用 æ¡ç ç¼–号 åŽ»èŽ·å– HItemID çš„æ–¹å¼
                var itemIdArr = []; //储存HItemID
                for (let i = 0; i < dataArr.length; i++) {
                    var sWhere = dataArr[i].HBarCode2
                    $.ajax({
                        type: "GET",
                        url: GetWEBURL() + "/Sc_BarCode/Get_HItemId",
                        async: true,
                        data: { "sWhere": sWhere },
                        success: function (result) {
                            //这边将 HItemID å­˜å…¥itemIdArr数组
                            itemIdArr.push(result.data[0].HItemID)
                        },
                        error: function (result) {
                            console.log(result);
                            //layer.msg('获取数据出现异常', { icon: 2, time: 2000 });
                        }
                    });
                }
                if (checkStatus.data.length>0) {
                    var rows = '';
                    for (var i = 0; i < data.length; i++) {
                        rows += data[i].HItemID.toString() + ',';
                    for (var i = 0; i < itemIdArr.length; i++) {
                        rows += itemIdArr[i].toString() + ',';
                    }
                    rows = rows.substring(rows.length - 1, 0);
                    layer.open({
@@ -1043,10 +1175,10 @@
                if (typeof (sSubStr) != "undefined" && typeof (sSubStr) != "") {
                    sSubStr = JSON.parse(sSubStr);
                    for (var i = 0; i < sSubStr.length; i++) {
                        if (sSubStr[i].HMainID == "") {
                            layer.msg("明细记录第" + (i + 1) + "行,源单信息为空!", { icon: 5, btn: ['确认'], time: 2000, offset: 't', skin: 'layui-layer-lan', title: "温馨提示" });
                            return Result = false;
                        }
                        //if (sSubStr[i].HMainID == "") {
                        //    layer.msg("明细记录第" + (i + 1) + "行,源单信息为空!", { icon: 5, btn: ['确认'], time: 2000, offset: 't', skin: 'layui-layer-lan', title: "温馨提示" });
                        //    return Result = false;
                        //}
                        if (sSubStr[i].HMaterID == "") {
                            layer.msg("明细记录第" + (i + 1) + "行,物料信息为空!", { icon: 5, btn: ['确认'], time: 2000, offset: 't', skin: 'layui-layer-lan', title: "温馨提示" });
                            return Result = false;