llj
2025-09-07 996f23c2244c0dff6445aa14f42bb9cb5daf8922
条码打印
3个文件已添加
5个文件已修改
2344 ■■■■■ 已修改文件
WebSRM/Scripts/webConfig.js 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebSRM/WebSRM.csproj 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebSRM/WebSRM.csproj.user 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebSRM/layuiAdmin.std-v1.2.1/src/views/SRM/SRM_MaterialBarCodeBill.html 790 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebSRM/layuiAdmin.std-v1.2.1/src/views/SRM/SRM_MaterialHanding.html 693 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebSRM/layuiAdmin.std-v1.2.1/src/views/SRM/SRM_MaterialHandingEdit.html 842 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebSRM/layuiAdmin.std-v1.2.1/src/views/index.html 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebSRM/login.html 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebSRM/Scripts/webConfig.js
@@ -7,7 +7,8 @@
    //var WEBURL = "http://localhost:8082/srmAPI/";    //章紫柔本地配置
    //var WEBURL = "http://localhost:8082/srmAPI/";    //杨露本地配置
    //var WEBURL = "http://localhost:8082/SRMAPI/";    //杨乐本地配置
    var WEBURL = "http://localhost:8080/SRMAPI/";    //余思杰本地配置
    /*var WEBURL = "http://localhost:8080/SRMAPI/";    //余思杰本地配置*/
    var WEBURL = "http://localhost:83/hkAPI/";    //llj本地配置
   /* var WEBURL = "http://localhost:8082/SRMAPI/";*/
    
    return WEBURL
WebSRM/WebSRM.csproj
@@ -870,6 +870,9 @@
    <Content Include="layuiAdmin.std-v1.2.1\src\views\SRM\SRM_AskPriceBillList.html" />
    <Content Include="layuiAdmin.std-v1.2.1\src\views\SRM\SRM_BarCodeBill_XB.html" />
    <Content Include="layuiAdmin.std-v1.2.1\src\views\SRM\SRM_BarCodeBill_Bak.html" />
    <Content Include="layuiAdmin.std-v1.2.1\src\views\SRM\SRM_MaterialBarCodeBill.html" />
    <Content Include="layuiAdmin.std-v1.2.1\src\views\SRM\SRM_MaterialHanding.html" />
    <Content Include="layuiAdmin.std-v1.2.1\src\views\SRM\SRM_MaterialHandingEdit.html" />
    <Content Include="layuiAdmin.std-v1.2.1\src\views\SRM\SRM_POInStockBackBillList_XB.html" />
    <Content Include="layuiAdmin.std-v1.2.1\src\views\SRM\SRM_POInStockBackBillList.html" />
    <Content Include="layuiAdmin.std-v1.2.1\src\views\SRM\SRM_SupMaterPackBillEdit.html" />
WebSRM/WebSRM.csproj.user
@@ -1,8 +1,8 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="Current" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  <PropertyGroup>
    <LastActiveSolutionConfig>Release|Any CPU</LastActiveSolutionConfig>
    <NameOfLastUsedPublishProfile>FolderProfile</NameOfLastUsedPublishProfile>
    <LastActiveSolutionConfig>Debug|Any CPU</LastActiveSolutionConfig>
    <NameOfLastUsedPublishProfile>D:\GitHub\SRM-LAYUI-HK\WebSRM\Properties\PublishProfiles\FolderProfile.pubxml</NameOfLastUsedPublishProfile>
    <ProjectView>ProjectFiles</ProjectView>
    <UseIISExpress>true</UseIISExpress>
    <Use64BitIISExpress />
WebSRM/layuiAdmin.std-v1.2.1/src/views/SRM/SRM_MaterialBarCodeBill.html
New file
@@ -0,0 +1,790 @@
<!DOCTYPE html>
<html>
<head>
    <meta 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.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=0">
    <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/layui/css/style-self.css" media="all">
</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="form1" class="layui-form" action="">
                        <div class="layui-card-header">
                            <div class="layui-btn-group">
                                <button type="button" class="layui-btn layui-btn-normal layui-btn-radius" lay-submit="" lay-filter="HBarcodeSaverBox" id="HBarcodeSaverBox">生成条码</button>
                                <button type="button" class="layui-btn layui-btn-normal layui-btn-radius" lay-submit="" lay-filter="Print">条码打印</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-form-item">
                                <div class="layui-row">
                                    <div class="layui-col-xs3">
                                        <label class="layui-form-label">日期:</label>
                                        <div class="layui-input-inline">
                                            <input class="layui-input" name="HDate" id="HDate" readonly="readonly" autocomplete="off" disabled>
                                        </div>
                                    </div>
                                </div>
                            </div>
                            <div class="layui-form-item">
                                <div class="layui-row">
                                    <div class="layui-col-xs3">
                                        <label class="layui-form-label"> 供 应 商:</label>
                                        <div class="layui-input-inline">
                                            <input class="layui-input" name="HSupName" lay-verify="HSupName" id="HSupName" readonly="readonly" autocomplete="off">
                                            <input id="HSupID" name="HSupID" type="hidden" />
                                        </div>
                                    </div>
                                    <div class="layui-col-xs3">
                                        <label class="layui-form-label"> 供 应 商:</label>
                                        <div class="layui-input-inline">
                                            <input class="layui-input" name="HSupName" lay-verify="HSupName" id="HSupName" readonly="readonly" autocomplete="off">
                                            <input id="HSupName" name="HSupName" type="hidden" />
                                        </div>
                                    </div>
                            </div>
                        </div>
                        <div class="layui-tab layui-tab-brief" lay-filter="tabDemo">
                            <ul class="layui-tab-title">
                                <li class="layui-this" lay-id="1">条码信息</li>
                            </ul>
                            <div class="layui-tab-content">
                                <div class="layui-tab-item layui-show">
                                    <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-add"><i class="layui-icon layui-icon-addition"></i>拆分</button>
                                            <button type="button" class="layui-btn layui-btn-sm" lay-event="btn_HideColumn"><i class="layui-icon layui-icon-addition"></i>列设置</button>
                                            <button type="button" class="layui-btn layui-btn-sm" lay-event="btn-del"><i class="layui-icon layui-icon-subtraction"></i>删行</button>
                                        </div>
                                    </script>
                                    <!-- 条码类型下拉框模板 -->
                                    <script type="text/html" id="barCodeTypeTpl">
                                        <select class="barcode-type-select" lay-filter="barCodeTypeSelect">
                                            <option value="唯一条码" {{ d.HSourceBillType == '唯一条码' ? 'selected' : '' }}>唯一条码</option>
                                        </select>
                                    </script>
                                </div>
                            </div>
                        </div>
                        <!--<blockquote class="layui-elem-quote">条码</blockquote>-->
                    </form>
                </div>
            </div>
        </div>
    </div>
    <!--<script src="../../layuiadmin/layui/lay/modules/mobile/jquery-3.3.1.min.js"></script>-->
    <script src="../../layuiadmin/layui/layui.js"></script>
    <script src="../../layuiadmin/Scripts/json2.js" type="text/javascript"></script>
    <script src="../../layuiadmin/Scripts/jquery-1.4.1.js" type="text/javascript"></script>
    <script src="../../../../Scripts/webConfig.js"></script>
    <script src="../../layuiadmin/Scripts/general.js"></script>
    <!--<script src="../../../../Scripts/jquery-1.8.2.js"></script>-->
    <script>
        var HModName = "Gy_BarCodeBill";
        function f_alert(sMsg) {
            layer.alert(sMsg, { icon: 5 });
        }
        //#region
        //#endregion
        ////#region 列配置(手动配置)
        //var option = {
        //    cols: [[
        //        { type: 'checkbox', fixed: 'left' }
        //        , { field: 'HMaterID', title: '物料ID', width: 100, hide: true }
        //        , { field: 'HMaterNumber', title: '物料编码', width: 120 }
        //        , { field: 'HOldMaterNumber', title: '旧物料编码', width: 120, hide: true }
        //        , { field: 'HMaterShortNumber', title: '物料代码', width: 120, hide: true }
        //        , { field: 'HSubjoin', title: '物料代码', width: 120, hide: true }
        //        , { field: 'HMaterName', title: '物料名称', width: 120 }
        //        , { field: 'HMaterModel', title: '规格型号', width: 120 }
        //        , { field: 'HQty', title: '本次生成条码数量', width: 135, edit: 'text', event: "inputHQty" }
        //        , { field: 'HMinQty', title: '标准包装数(内箱装箱数)', width: 100, edit: 'text', event: "inputHMinQty" }
        //        , { field: 'HBQty', title: '最小包装数(内箱数)', width: 100 }
        //        , { field: 'biaoqianzhangshu', title: '标签张数', width: 100 }
        //        , { field: 'HBatchNo', title: '批号', width: 100, edit: 'text' }
        //        , { field: 'HBatchManager', title: '启用批号', width: 100, hide: true }
        //        , { field: 'HISKFPERIOD', title: '是否启用保质期', width: 100, edit: 'text', hide: true }
        //        , { field: 'HEXPUNIT', title: '保质期单位', width: 100, edit: 'text', hide: true }
        //        , { field: 'HSourceBillType', title: '条码类型', width: 100 }
        //        , { field: 'HKFDate', title: '生产日期', align: 'center', width: 150, data_field: 'HKFDate', event: "chooseHKFDate" }//, event: "chooseHKFDate"
        //        , { field: 'HKFPeriod', title: '保质期', width: 100 }//
        //        , { field: 'HKFDQDate', title: '到期日期', align: 'center', width: 150, data_field: 'HKFDQDate' }//, event: "chooseHKFDQDate"
        //        , { field: 'HSupID', title: '供应商ID', width: 150, hide: true }
        //        , { field: 'HSupName', title: '供应商名称', width: 150, hide: true }
        //    ]]
        //};
        ////#endregion
         //#region 参数获取function
        function getUrlVars() {
            var vars = [], hash;
            var hashes = window.location.href.slice(window.location.href.indexOf('?') + 1).split('&');
            for (var i = 0; i < hashes.length; i++) {
                hash = hashes[i].split('=');
                vars.push(hash[0]);
                vars[hash[0]] = hash[1];
            }
            return vars;
        }
        //通过外部传参获取到需要的数据
        var params = getUrlVars();
        var linterid = params[params[0]];
        var lentryid = params[params[1]];
        var type = params[params[2]];
        var mergeTags = params[params[3]];
        mergeTags = 1;
        //#endregion
        //原生成条码方法
        var mainUrl = "GetSRMHBarCodeShowBillMain"; //表头数据加载ajax
        var subUrl = "GetHBarCodeShowBillSub";//表体数据加载ajax h_v_SRM_POInStockBillSub_ForWeb2
        var saveBarCode = "GetBarcodeSaveBillBox";//条码生成保存方法ajax GetBarcodeSaveBillBox  GetBarcodeSaveBillOnlyInnerBox
        var openTmpListType = "HBarCodePrint"; //条码打印按钮 弹出界面
        layui.config({
            base: '../../layuiadmin/' //静态资源所在路径
        }).extend({
            index: 'lib/index' //主入口模块
        }).use(['index', 'table', 'form', 'element', 'layer', 'laydate'], function () {
            var table = layui.table
                , $ = layui.$
                , form = layui.form
                , layer = layui.layer
                , laydate = layui.laydate
                , element = layui.element; //Tab的切换功能,切换事件监听等,需要依赖element模块
            var option;
            option = {
                elem: '#mainTable'
                , toolbar: '#toolbarDemo'
                , limit: 500
                , height: 500
                , totalRow: true
                , loading: false
                , cols: [[
                    { type: 'checkbox', fixed: 'left' }
                    , { field: 'HMaterID', title: '物料ID', width: 100, hide: true }
                    , { field: 'HMaterNumber', title: '物料编码', width: 120 }
/*                    , { field: 'HOldMaterNumber', title: '旧物料编码', width: 120, hide: true }*/
                    , { field: 'HMaterShortNumber', title: '物料代码', width: 120, hide: true }
                   /* , { field: 'HSubjoin', title: '物料代码', width: 120, hide: true }*/
                    , { field: 'HMaterName', title: '物料名称', width: 120 }
                    , { field: 'HMaterModel', title: '规格型号', width: 120 }
                    , { field: 'HQty', title: '本次生成条码数量', width: 135, edit: 'text', event: "inputHQty" }
                    , { field: 'HMinQty', title: '标准包装数(内箱装箱数)', width: 100, edit: 'text', event: "inputHMinQty" }
                    , { field: 'HBQty', title: '最小包装数(内箱数)', width: 100 }
                    , { field: 'biaoqianzhangshu', title: '标签张数', width: 100 }
                    , { field: 'HBatchNo', title: '批号', width: 100, edit: 'text' }
                    , { field: 'HBatchManager', title: '启用批号', width: 100, hide: true }
                    , { field: 'HISKFPERIOD', title: '是否启用保质期', width: 100, edit: 'text', hide: true }
                    , { field: 'HEXPUNIT', title: '保质期单位', width: 100, edit: 'text', hide: true }
                    , { field: 'HSourceBillType', title: '条码类型', width: 100, templet: '#barCodeTypeTpl' }
                    , { field: 'HKFDate', title: '生产日期', align: 'center', width: 150, data_field: 'HKFDate', event: "chooseHKFDate" }//, event: "chooseHKFDate"
                    , { field: 'HKFPeriod', title: '保质期', width: 100,event:"inputHKFPeriod" }//
                    , { field: 'HKFDQDate', title: '到期日期', align: 'center', width: 150, data_field: 'HKFDQDate' }//, event: "chooseHKFDQDate"
                    , { field: 'HSupID', title: '供应商ID', width: 150, hide: true }
                    , { field: 'HSupName', title: '供应商名称', width: 150, hide: true }
                ]]
            }
            table.render(option);
            //#region 下拉框绑定
            // 监听条码类型下拉框选择事件
            form.on('select(barCodeTypeSelect)', function (data) {
                var elem = $(data.elem);
                var tr = elem.closest('tr');
                var index = tr.data('index');
                // 更新表格缓存中的数据
                var tableCache = table.cache['mainTable'];
                if (tableCache[index]) {
                    tableCache[index].HSourceBillType = data.value;
                }
            });
            //#endregion
            //#region 初次赋值
            //进入页面查询表体物料信息
            if (mergeTags != 1) {
                layer.load(3)
                table.render({
                    elem: '#mainTable'
                    , url: GetWEBURL() + subUrl
                    , toolbar: '#toolbarDemo' //开启头部工具栏,并为其绑定左侧模板
                    , defaultToolbar: ['filter', 'exports']
                    , where: { sMsg: linterid, sMsg2: lentryid }
                    , cols: [[
                        { type: 'checkbox', fixed: 'left' }
                        , { field: 'HMaterID', title: '物料ID', width: 100, hide: true }
                        , { field: 'HMaterNumber', title: '物料编码', width: 120 }
                        , { field: 'HOldMaterNumber', title: '旧物料编码', width: 120, hide: true }
                        , { field: 'HMaterShortNumber', title: '物料代码', width: 120, hide: true }
                        , { field: 'HSubjoin', title: '物料代码', width: 120, hide: true }
                        , { field: 'HMaterName', title: '物料名称', width: 120 }
                        , { field: 'HMaterModel', title: '规格型号', width: 120 }
                        , { field: 'HQty', title: '本次生成条码数量', width: 135, edit: 'text', event: "inputHQty" }
                        , { field: 'HMinQty', title: '标准包装数(内箱装箱数)', width: 100, edit: 'text', event: "inputHMinQty" }
                        , { field: 'HBQty', title: '最小包装数(内箱数)', width: 100 }
                        , { field: 'biaoqianzhangshu', title: '标签张数', width: 100 }
                        , { field: 'HBatchNo', title: '批号', width: 100, edit: 'text' }
                        , { field: 'HBatchManager', title: '启用批号', width: 100, hide: true }
                        , { field: 'HISKFPERIOD', title: '是否启用保质期', width: 100, edit: 'text', hide: true }
                        , { field: 'HEXPUNIT', title: '保质期单位', width: 100, edit: 'text', hide: true }
                        , { field: 'HSourceBillType', title: '条码类型', width: 100 }
                        , { field: 'HKFDate', title: '生产日期', align: 'center', width: 150, data_field: 'HKFDate', event: "chooseHKFDate" }//, event: "chooseHKFDate"
                        , { field: 'HKFPeriod', title: '保质期', width: 100 }//
                        , { field: 'HKFDQDate', title: '到期日期', align: 'center', width: 150, data_field: 'HKFDQDate' }//, event: "chooseHKFDQDate"
                        , { field: 'HSupID', title: '供应商ID', width: 150, hide: true }
                        , { field: 'HSupName', title: '供应商名称', width: 150, hide: true }
                    ]]
                    , done: function (res, curr, count) {
                        layer.closeAll("loading");
                    }
                });
            }
            else {
                //合并数量生成条码
                layer.load(3);
                FetchSupInfo();
                $("#HDate").val(Format(new Date(), "yyyy-MM-dd"));
                $.ajax({
                    type: "GET",
                    url: GetWEBURL() + "/GetSRMHBarCodeShowBillMain",
                    async: true,
                    data: { HInterID: lentryid },
                    dataType: "json",
                    success: function (data) {
                        if (data.count != 0) {
                            var data = data.data;
                            var rowdata = [];
                            for (var i = 0; i < data.length; i++) {
                                rowdata.push({
                                    "HMaterID": data[i].HItemID,
                                    "HMaterNumber": data[i].物料代码,
/*                                    "HOldMaterNumber": "",*/
                                    "HMaterShortNumber": "",
                                    /*"HSubjoin": "",*/
                                    "HMaterName": data[i].物料名称,
                                    "HMaterModel": data[i].规格型号,
                                    "HMinQty": data[i].标准包装数,
                                    "HBQty": data[i].最小包装数,
                                    "HSourceBillType": data[i].条码类型,
                                    "HBatchNo": data[i].批号,
                                    "HISKFPERIOD": data[i].是否启用保质期 == null ? 0 : data[i].是否启用保质期,
                                    "HKFPeriod": data[i].保质期 == null ? 0 : data[i].保质期,
                                    "HKFDQDate": data[i].有效期,
                                    "HKFDate": data[i].生产日期,
                                    "HBatchManager": data[i].是否启用批号,
                                    "HSupID": data[i].供应商代码,
                                    "HSupName": data[i].供应商名称,
                                    "HEXPUNIT": data[i].保质期单位,
                                    "HQty": 1, // 默认生成条码数量
                                    "biaoqianzhangshu": 1 // 标签张数
                                });
                            }
                            option.data = rowdata;
                            table.render(option);
                        }
                        else {
                            // $("#verifycode").click();
                            f_alert(data.Message);
                        }
                        layer.closeAll("loading");
                    },
                    error: function (err) {
                        f_alert("错误:" + err);
                        layer.closeAll("loading");
                    }
                });
            }
            //#endregion
            form.on('submit(Exit)', function (data) {//退出
                var index = parent.layer.getFrameIndex(window.name); //先得到当前iframe层的索引
                parent.layer.close(index); //再执行关闭
            });
            //#region 监听事件
            //监听行工具事件
            table.on('tool(mainTable)', function (obj) {
                var data = obj.data;
                if (obj.event === 'chooseHKFDate') {
                    var field = $(this).data('field');
                    var HExpUnit = data.HEXPUNIT; //保质期单位
                    var HKFPeriod = data.HKFPeriod; //保质期
                    if (HExpUnit != 'Y' && HExpUnit != 'M' && HExpUnit != 'D') {
                        layer.msg("此物料没有启用保质期!");
                        obj.update({
                            HKFDate: '',
                        });
                        return;
                    }
                    laydate.render({
                        elem: this.firstChild
                        , show: true //直接显示
                        , closeStop: this
                        , done: function (value, date) {
                            data[field] = value;
                            obj.update(data);
                            if (parseInt(obj.data.HKFPeriod) >= 0) {
                                var sKFDQDate = addDate(value, parseInt(obj.data.HKFPeriod), HExpUnit, HKFPeriod);
                                obj.update({
                                    HKFDQDate: sKFDQDate,
                                });
                            }
                        }
                    });
                }
                else if (obj.event == 'chooseHKFDQDate') {
                    var field = $(this).data('field');
                    laydate.render({
                        elem: this.firstChild
                        , show: true //直接显示
                        , closeStop: this
                        , done: function (value, date) {
                            data[field] = value;
                            obj.update(data);
                            if (obj.data.HKFDQDate != "" && obj.data.HKFDate != "") {
                                var days = DateDiff(obj.data.HKFDQDate, obj.data.HKFDate);
                                obj.update({
                                    HKFPeriod: days,
                                });
                            }
                        }
                    });
                }
                else if (obj.event == 'chooseHBeginDate') {
                    var field = $(this).data('field');
                    laydate.render({
                        elem: this.firstChild
                        , show: true //直接显示
                        , closeStop: this
                        , done: function (value, date) {
                            data[field] = value;
                            obj.update(data);
                        }
                    });
                }
                else if (obj.event == 'chooseHEndDate') {
                    var field = $(this).data('field');
                    laydate.render({
                        elem: this.firstChild
                        , show: true //直接显示
                        , closeStop: this
                        , done: function (value, date) {
                            data[field] = value;
                            obj.update(data);
                        }
                    });
                }
                else if (obj.event == 'inputHKFPeriod') {
                    $(obj.tr).find(".layui-table-edit").keyup(function () {
                        var $input = $(this), val = $input.val();
                        if (!val) val = "1";
                        $input.val(val.replace(/[^\d*\.?\d*]/g, ''));
                    });
                }
                else if (obj.event == 'inputHQty') {
                    $(obj.tr).find(".layui-table-edit").keyup(function () {
                        var $input = $(this), val = $input.val();
                        if (!val) val = "0";
                        $input.val(val.replace(/[^\d*\.?\d*]/g, ''));
                    });
                }
                else if (obj.event == 'inputHMinQty') {
                    var oldHMinQty = data.HMinQty;
                    $(obj.tr).find(".layui-table-edit").keyup(function () {
                        var $input = $(this), val = $input.val();
                        if (!val) val = "0";
                        $input.val(val.replace(/[^\d*\.?\d*]/g, ''));
                    });
                }
                //外箱包装数事件,本页面暂时用不到
                //else if (obj.event == 'inputHWXQty') {
                //    $(obj.tr).find(".layui-table-edit").keyup(function () {
                //        var $input = $(this), val = $input.val();
                //        if (!val) val = "0";
                //        $input.val(val.replace(/[^\d*\.?\d*]/g, ''));
                //    });
                //}
            });
        table.on('edit(mainTable)', function (obj) { //注:edit是固定事件名,test是table原始容器的属性 lay-filter="对应的值"
            var value = obj.value //得到修改后的值
                , data = obj.data //得到所在行所有键值
                , field = obj.field; //得到字段
            var HMinQty = 0;
            var HWXQty = 0;
            var HKFPeriod = 0;
            var HWBQty = 0;
            var HBQty = 0;
            var biaoqianzhangshu = 0;
            if (obj.data.HMinQty != undefined) {
                HMinQty = parseFloat(obj.data.HMinQty);
            }
            if (obj.data.biaoqianzhangshu != undefined) {
                biaoqianzhangshu = parseFloat(obj.data.biaoqianzhangshu);
            }
            if (obj.data.HWXQty != undefined) {
                HWXQty = parseFloat(obj.data.HWXQty);
            }
            if (obj.data.HKFPeriod != undefined) {
                HKFPeriod = parseFloat(obj.data.HKFPeriod);
            }
            if (obj.data.HWBQty != undefined) {
                HWBQty = parseFloat(obj.data.HWBQty);
            }
            if (obj.data.HBQty != undefined) {
                HBQty = parseFloat(obj.data.HBQty);
            }
            if (obj.data.HQty != undefined) {
                HBQty = parseFloat(obj.data.HBQty);
            }
            //HMinQty 内箱包装数(标准包装数)
            //HBQty 内箱数(最小包装数)
            //HWXQty 外箱包装数
            //HWBQty 外箱数 HWBQty
            //biaoqianzhangshu  标签shu
            //HQty 本次生成条码数
            switch (field) {
                case "HQty":
                    if (HMinQty == 0)
                        f_alert("注意:包装数为0!");
                    else {
                        obj.update({
                            biaoqianzhangshu: Math.ceil(parseFloat(obj.data.HQty) / parseFloat(obj.data.HMinQty)),
                        });
                    }
                    break;
                case "HMinQty": //包装数
                    if (HMinQty < 0) {
                        f_alert("包装数不能为负数!");
                    }
                    if (HMinQty < HBQty) {
                        f_alert("标准包装数量不能小于最小包装数量!请重新输入!")
                        obj.update({
                            HBQty: Math.ceil(parseFloat(obj.data.HQty) / parseFloat(obj.value)),
                        });
                        return;
                    }
                    break;
            }
        });
                        //#endregion
           //#region 保存
            form.on('submit(HBarcodeSaverBox)', function (data) {//保存
                var a = 0;
                var newArray = [];
                var index = -1;
                //debugger;
                for (var i = 0; i < table.cache["mainTable"].length; i++) {
                    if (table.cache["mainTable"][i].HMaterName.indexOf("\"") != -1 || table.cache["mainTable"][i].HMaterName.indexOf(";") != -1) {
                        table.cache["mainTable"][i].HMaterName = table.cache["mainTable"][i].HMaterName.replaceALL("\"", "”").replaceALL(";", ";")
                    }
                    if (table.cache["mainTable"][i].HMaterModel.indexOf("\"") != -1 || table.cache["mainTable"][i].HMaterModel.indexOf(";") != -1) {
                        table.cache["mainTable"][i].HMaterModel = table.cache["mainTable"][i].HMaterModel.replaceALL("\"", "”").replaceALL(";", ";")
                    }
                }
                var sMainStr = JSON.stringify(data.field);
                var sSubStr = JSON.stringify(table.cache['mainTable']);
                var sMainSub = sMainStr + ';' + sSubStr;
                var _sSubStr = JSON.parse(sSubStr);
                for (var i = 0; i < _sSubStr.length; i++) {
                    if (_sSubStr[i].HQty > 0 && (_sSubStr[i].HMinQty == 0 || _sSubStr[i].HWXQty == 0)) {
                        layer.msg("明细记录第" + (i + 1) + "行,包装数量不能为0!", { icon: 5, btn: ['确认'], time: 2000, offset: 't', skin: 'layui-layer-lan', title: "温馨提示" });
                        return Result = false;
                    }
                    //if (_sSubStr[i].HQty > _sSubStr[i].HNotBarcodeCount) {
                    //    console.log("本次:" + _sSubStr[i].HQty);
                    //    console.log("剩余:" + _sSubStr[i].HNotBarcodeCount);
                    //    layer.msg("明细记录第" + (i + 1) + "行,本次生成条码数量不能超出未生成条码数量!", { icon: 5, btn: ['确认'], time: 2000, offset: 't', skin: 'layui-layer-lan', title: "温馨提示" });
                    //    return Result = false;
                    //}
                    if (_sSubStr[i].HQty > 0 && _sSubStr[i].HISKFPERIOD == 1 && (/*_sSubStr[i].HBatchNo == "" ||*/ _sSubStr[i].HKFDate == "")) {
                        layer.msg("明细记录第" + (i + 1) + "行,生产日期不能为空!", { icon: 5, btn: ['确认'], time: 2000, offset: 't', skin: 'layui-layer-lan', title: "温馨提示" });
                        return Result = false;
                    }
                    if ((_sSubStr[i].HBatchManager == "是" && _sSubStr[i].HBatchNo == "") || (_sSubStr[i].HBatchManager == true && _sSubStr[i].HBatchNo == "")) {
                        layer.msg("明细记录第" + (i + 1) + "行,物料启用批次管理,批次为空,请填写批次信息!", { icon: 5, btn: ['确认'], time: 2000, offset: 't', skin: 'layui-layer-lan', title: "温馨提示" });
                        return Result = false;
                    }
                    ////获取下标
                    //index = findIndex(_sSubStr[i].HMaterNumber, _sSubStr[i].HMaterModel, newArray);
                    //if (index === -1 || _sSubStr[i].HIsSplit == 0) {
                    //    //如果数组中没有当前数据,则将数据添加进数组中
                    //    newArray.push(_sSubStr[i]);
                    //} else {
                    //    if (newArray[index].HPOOrderBillNo == _sSubStr[i].HPOOrderBillNo) {
                    //        //如果数组中有和当前数据中物料代码、规格型号一致的信息,则将他们的数量累加
                    //        newArray[index].HQty = Number(newArray[index].HQty) + Number(_sSubStr[i].HQty);
                    //    }
                    //}
                }
                for (let i = 0; i < newArray.length; i++) {
                    //if (newArray[i].HQty > newArray[i].HNotBarcodeCount) {
                    if (newArray[i].HQty ) {
                        //layer.msg("编码:" + newArray[i].HMaterNumber + " 规格型号:" + newArray[i].HMaterModel + "<br>" + " 本次生成条码总数量超出剩余可生成条码数!" + "<br>" + " 本次生成总数量:" + newArray[i].HQty + " 可生成条码数量:" + newArray[i].HNotBarcodeCount, { icon: 5, btn: ['确认'], time: 10000, offset: 't', skin: 'layui-layer-lan', title: "温馨提示" });
                        layer.msg("编码:" + newArray[i].HMaterNumber + " 规格型号:" + newArray[i].HMaterModel + "<br>" + " 本次生成条码总数量超出剩余可生成条码数!" + "<br>" + " 本次生成总数量:" + newArray[i].HQty , { icon: 5, btn: ['确认'], time: 10000, offset: 't', skin: 'layui-layer-lan', title: "温馨提示" });
                        return Result = false;
                    }
                }
                layer.load(3)
                $.ajax(
                    {
                        type: "POST",
                        url: GetWEBURL() + "/SRM_MaterialBarCodeBillController/GetBarcodeSaveBillBoxBycg", //方法所在页面和方法名
                        async: true,
                        data: { "msg": sMainSub },
                        dataType: "json",
                        success: function (data) {
                            if (data.count == 1) { // 说明验证成功了,
                                layer.msg(data.Message, { icon: 1 });
                                element.tabDelete('tabDemo', '2'); //删除
                                element.tabDelete('tabDemo', '3'); //删除
                                $('#HBarcodeSaverBox').addClass("layui-btn-disabled").attr("disabled", true);//生成条码按钮禁用
                                element.tabAdd('tabDemo', {
                                    title: '成功条码'
                                    , content: '<table class="layui-hide" id="subTable" lay-filter="subTable"></table>' //支持传入(html代码)不持支直接传入html页面
                                    , id: '2' //选项卡标题的lay-id属性值
                                });
                                var option_Success;
                                option_Success = {
                                    elem: '#subTable'
                                   // , url: GetWEBURL() + 'showHBarCodeBillDetail'  //h_v_Web_BarCodeBill_ForWeb1
                                    , toolbar: '#toolbarDemo1'
                                    , defaultToolbar: ['filter', 'exports']
                                    , cols: [[
                                        , { field: 'HBarCode', title: '条码', width: 100 }
                                        , { field: 'HMaterID', title: '物料ID', width: 100, hide: true }
                                        , { field: 'HMaterNumber', title: '物料编码', width: 120 }
                                        /*                    , { field: 'HOldMaterNumber', title: '旧物料编码', width: 120, hide: true }*/
                                        , { field: 'HMaterShortNumber', title: '物料代码', width: 120, hide: true }
                                        /* , { field: 'HSubjoin', title: '物料代码', width: 120, hide: true }*/
                                        , { field: 'HMaterName', title: '物料名称', width: 120 }
                                        , { field: 'HMaterModel', title: '规格型号', width: 120 }
                                        , { field: 'HQty', title: '本次生成条码数量', width: 135 }
                                        , { field: 'HMinQty', title: '标准包装数(内箱装箱数)', width: 100 }
                                        , { field: 'HBQty', title: '最小包装数(内箱数)', width: 100 }
                                        , { field: 'biaoqianzhangshu', title: '标签张数', width: 100 }
                                        , { field: 'HBatchNo', title: '批号', width: 100 }
                                        , { field: 'HBatchManager', title: '启用批号', width: 100, hide: true }
                                        , { field: 'HISKFPERIOD', title: '是否启用保质期', width: 100, hide: true }
                                        , { field: 'HEXPUNIT', title: '保质期单位', width: 100, hide: true }
                                        , { field: 'HSourceBillType', title: '条码类型', width: 100 }
                                        , { field: 'HKFDate', title: '生产日期', align: 'center', width: 150 }//, event: "chooseHKFDate"
                                        , { field: 'HKFPeriod', title: '保质期', width: 100 }//
                                        , { field: 'HKFDQDate', title: '到期日期', align: 'center', width: 150 }//, event: "chooseHKFDQDate"
                                        , { field: 'HSupID', title: '供应商ID', width: 150, hide: true }
                                        , { field: 'HSupName', title: '供应商名称', width: 150, hide: true }
                                    ]]
                                }
                                $.ajax({
                                    type: "GET",
                                    url: GetWEBURL() + "/showHBarCodeBillDetail",
                                    async: true,
                                    data: { sMsg: lentryid },
                                    dataType: "json",
                                    success: function (data_1) {
                                        if (data_1.count != 0) {
                                            var data = data_1.data;
                                            var rowdata_1 = [];
                                            for (var i = 0; i < data.length; i++) {
                                                var totalQty = data[i].生成条码数量; // 总条码数
                                                var standardQty = data[i].标准包装数; // 标准包装数
                                                var labelCount = Math.ceil(totalQty / standardQty); // 计算标签数
                                                // 生成前n-1个标准标签
                                                for (var j = 0; j < labelCount - 1; j++) {
                                                    rowdata_1.push({
                                                        "HMaterID": data[i].HItemID,
                                                        "HBarCode": data[i].HBarCode,
                                                        "HMaterNumber": data[i].物料代码,
                                                        "HMaterShortNumber": "",
                                                        "HMaterName": data[i].物料名称,
                                                        "HMaterModel": data[i].规格型号,
                                                        "HMinQty": standardQty,
                                                        "HBQty": data[i].最小包装数,
                                                        "HSourceBillType": data[i].条码类型,
                                                        "HBatchNo": data[i].批号,
                                                        "HISKFPERIOD": data[i].是否启用保质期 == null ? 0 : data[i].是否启用保质期,
                                                        "HKFPeriod": data[i].保质期 == null ? 0 : data[i].保质期,
                                                        "HKFDQDate": data[i].有效期,
                                                        "HKFDate": data[i].生产日期,
                                                        "HBatchManager": data[i].是否启用批号,
                                                        "HSupID": data[i].供应商代码,
                                                        "HSupName": data[i].供应商名称,
                                                        "HEXPUNIT": data[i].保质期单位,
                                                        "HQty": standardQty, // 标准包装数
                                                        "biaoqianzhangshu": 1
                                                    });
                                                }
                                                // 生成最后一个标签(余数)
                                                var lastQty = totalQty % standardQty;
                                                if (lastQty === 0) lastQty = standardQty; // 如果整除,最后一个也是标准包装数
                                                rowdata_1.push({
                                                    "HMaterID": data[i].HItemID,
                                                    "HBarCode": data[i].HBarCode,
                                                    "HMaterNumber": data[i].物料代码,
                                                    "HMaterShortNumber": "",
                                                    "HMaterName": data[i].物料名称,
                                                    "HMaterModel": data[i].规格型号,
                                                    "HMinQty": standardQty,
                                                    "HBQty": data[i].最小包装数,
                                                    "HSourceBillType": data[i].条码类型,
                                                    "HBatchNo": data[i].批号,
                                                    "HISKFPERIOD": data[i].是否启用保质期 == null ? 0 : data[i].是否启用保质期,
                                                    "HKFPeriod": data[i].保质期 == null ? 0 : data[i].保质期,
                                                    "HKFDQDate": data[i].有效期,
                                                    "HKFDate": data[i].生产日期,
                                                    "HBatchManager": data[i].是否启用批号,
                                                    "HSupID": data[i].供应商代码,
                                                    "HSupName": data[i].供应商名称,
                                                    "HEXPUNIT": data[i].保质期单位,
                                                    "HQty": lastQty, // 最后一个标签的数量
                                                    "biaoqianzhangshu": 1
                                                });
                                            }
                                            option_Success.data = rowdata_1;
                                            table.render(option_Success);
                                        }
                                        else {
                                            // $("#verifycode").click();
                                            f_alert(data.Message);
                                        }
                                        layer.closeAll("loading");
                                    },
                                    error: function (err) {
                                        f_alert("错误:" + err);
                                        layer.closeAll("loading");
                                    }
                                });
                            }
                            layer.closeAll("loading");
                        },
                        error: function (err) {
                            f_alert("错误:" + err);
                        }
                    });
                return false;
            });
           //#endregion
            //#region 打印
            //内箱打印
            form.on('submit(Print)', function (data) {
                var data2 = layui.table.cache["subTable"];//内箱条码
                var rows = '';
                var rows2 = '';
                if (data2 == undefined) {
                    layer.msg("请先生成条码!")
                    return;
                }
                for (var j = 0; j < data2.length; j++) {
                    rows += data2[j].HMaterID.toString() + ',';
                    rows2 += data2[j].HBarCode.toString() + ',';
                }
                rows = rows.substring(rows.length - 1, 0);
                rows2 = rows2.substring(rows2.length - 1, 0);
                if (rows == "") {
                    layer.msg("没有需要打印的数据!")
                    return;
                }
                else {
                    var url = "linteridSession";
                    $.ajax({
                        type: "POST",
                        url: GetWEBURL() + url, //方法所在页面和方法名
                        async: true,
                        data: { "linterid": rows.toString(), "HUserName": sessionStorage["HUserName"] },
                        dataType: "json",
                        success: function (data) {
                            layer.closeAll("loading");
                        },
                        error: function (err) {
                            layer.alert("错误:" + err, { icon: 5 });
                        }
                    });
                    sessionStorage["linterid"] = rows.toString();
                    layer.open({
                        type: 2
                        , area: ['50%', '50%']
                        , title: '打印模版选择'
                        , shade: 0.6 //遮罩透明度
                        , maxmin: false //允许全屏最小化
                        , anim: 0 //0-6的动画形式,-1不开启
                        , content: ['../../views/BaseSet/SRM_OpenTmpList.html?linterid=' + sessionStorage["linterid"] + '&HBarcode=&Type=SRM_POOrderBillList', 'yes']
                        , resize: false
                        //, cancel: function () {
                        //    $(".layui-btn").removeClass("layui-btn-disabled");
                        //}
                    })
                }
            });
            //#endregion
            //获取供应商ID
            function FetchSupInfo() {
                var sWhere = "";
                //var sWhere = " and 供应商名称 ='" + sessionStorage["HUserName"] + "'";
                $.ajax({
                    url: GetWEBURL() + "/Gy_Supplier/list",
                    type: "GET",
                    data: { "sWhere": sWhere, "user": '', "Organization": sessionStorage["Organization"] },
                    success: function (result) {
                        if (result.data.length > 0) {
                            $("#HSupName").val(result.data[0].供应商名称);
                            $("#HSupID").val(result.data[0].供应商代码);
                        } else {
                            layer.msg("供应商信息未维护", { time: 5000 });
                        }
                    }
                });
            }
        });
    </script>
</body>
</html>
WebSRM/layuiAdmin.std-v1.2.1/src/views/SRM/SRM_MaterialHanding.html
New file
@@ -0,0 +1,693 @@
<!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="../../../../Scripts/webConfig.js"></script>
    <script src="../../layuiadmin/Scripts/json2.js"></script>
    <script src="../../layuiadmin/Scripts/jquery-1.4.1.js"></script>
</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-colla-title layui-inline">
                                    <div class="layui-inline">
                                        <span>更多</span>
                                    </div>
                                </div>
                                <div class="layui-inline">
                                    <label class="layui-form-label">物料代码</label>
                                    <div class="layui-input-block">
                                        <input type="text" class="layui-input" name="HMaterNumber" id="HMaterNumber">
                                    </div>
                                </div>
                                <div class="layui-inline">
                                    <label class="layui-form-label">物料名称</label>
                                    <div class="layui-input-block">
                                        <input type="text" class="layui-input" name="HMaterName" id="HMaterName">
                                    </div>
                                </div>
                                <div class="layui-inline">
                                    <label class="layui-form-label">规格型号</label>
                                    <div class="layui-input-block">
                                        <input type="text" class="layui-input" name="HModel" id="HModel">
                                    </div>
                                </div>
                                <div class="layui-inline">
                                    <label class="layui-form-label">是否启用</label>
                                    <div class="layui-input-block">
                                        <select id="HUseFlag" name="HUseFlag"  class=" ForFilteringSchemes" lay-verify="HUseFlag">
                                            <option value="0" selected="selected">全部</option>
                                            <option value="Y">启用</option>
                                            <option value=" ">未启用</option>
                                            </select>
                                    </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>
                                <button class="layui-btn layuiadmin-btn-order" type="button" lay-submit="" lay-filter="btnReSearch" id="btnReSearch" style="padding:0 5px">重置</button>
                                <div class="layui-colla-content">
                                    <div class="layui-row">
                                        <div class="layui-inline">
                                            <label class="layui-form-label">过滤</label>
                                            <div class="layui-input-block">
                                                <select name="ColName" id="ColName" lay-filter="ColName" style="width:190px;">
                                                </select>
                                            </div>
                                        </div>
                                        <div class="layui-inline">
                                            <select name="Comparator" id="Comparator" lay-filter="Comparator" style="width:190px;">
                                                <option value="0" selected="selected"></option>
                                                <option value="=">=</option>
                                                <option value=">=">>=</option>
                                                <option value=">">></option>
                                                <option value="<="><=</option>
                                                <option value="<"><</option>
                                                <option value="<>"><></option>
                                                <option value="7">包含</option>
                                                <option value="8">左包含</option>
                                                <option value="9">右包含</option>
                                                <option value="10">不包含</option>
                                            </select>
                                        </div>
                                        <div class="layui-inline">
                                            <input type="text" class="layui-input" value="" name="ColContent" id="ColContent">
                                        </div>
                                    </div>
                                </div>
                            </div>
                        </div>
                        <table class="" 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="set_AddNew"><i class="layui-icon layui-icon-logout"></i>新增</button>
                                <button type="button" class="layui-btn layui-btn-sm" lay-event="get_use"><i class="layui-icon layui-icon-logout"></i>启用</button>
                                <button type="button" class="layui-btn layui-btn-sm" lay-event="get_createBarCode"><i class="layui-icon layui-icon-logout"></i>生成条码</button>
                                <button type="button" class="layui-btn layui-btn-sm" lay-event="set_DeleteBill"><i class="layui-icon layui-icon-logout"></i>删除</button>
                                <button type="button" class="layui-btn layui-btn-sm" lay-event="set_HideColumn"><i class="layui-icon layui-icon-form"></i>列设置</button>
                                <button type="button" class="layui-btn layui-btn-sm" lay-event="get_Refresh"><i class="layui-icon layui-icon-refresh-3"></i>刷新</button>
                                <button type="button" class="layui-btn layui-btn-sm" lay-event="get_Exit"><i class="layui-icon layui-icon-logout"></i>退出</button>
                            </div>
                        </script>
                    </form>
                </div>
            </div>
        </div>
    </div>
</body>
</html>
<script>
    layui.config({
        base: '../../layuiadmin/' //静态资源所在路径
    }).extend({
        index: 'lib/index', //主入口模块
    }).use(['index', 'form', 'table', 'element', 'laypage', 'laydate'], function () {
        //#region 公共变量
        var $ = layui.$
            , admin = layui.admin
            , layer = layui.layer
            , table = layui.table
            , form = layui.form
            , element = layui.element
            , laypage = layui.laypage
            , laydate = layui.laydate
        var sWhere = "";
        var titleData = ["hmainid", "hentryid", "HEntryID", "HDeptID", "HMaterID", "HSupID", "HEmpID", "HPayConditionID", "HCurID","HUnitID"];
        var option = [];
        var HModName = "Gy_UserMaterRelation";
        //#endregion
        //#region 进入页面即加载
        //初始化界面
        set_ClearBill();
        //#endregion
        //#region 触发事件:包括form.on(){}格式的所有点击事件、选择事件等
        //头工具栏事件
        table.on('toolbar(mainTable)', function (obj) {
            switch (obj.event) {
                //新增
                case 'set_AddNew': set_AddNew();
                    break;
                //删除
                case 'set_DeleteBill': set_DeleteBill();
                    break;
                //刷新
                case 'get_Refresh': get_Refresh();
                    break;
                //退出按钮
                case 'get_Exit': Pub_Close(2);
                    break;
                //启用按钮
                case 'get_use':
                        get_use(0);
                    break;
                //生成条码
                case 'get_createBarCode':
                    get_createBarCode();
                    break;
                //列设置
                case 'set_HideColumn':
                    get_HideColumn();
                    break;
            };
        });
        //重置按钮
        form.on('submit(btnReSearch)', function (data) {
            set_ClearQuery();
        });
        //查询按钮
        form.on('submit(btnSearch)', function (data) {
            get_FastQuery();
        });
        //#endregion
        //#region 此页面所有的方法
        // 初始化界面
        function set_ClearBill() {
            //查询
            get_Display("");
            //初始化表格
            //DisPlay_HideColumn();
        }
        // 查询
        function get_Display(sWhere) {
            var ajaxLoad = layer.load();
            $.ajax({
                url: GetWEBURL() + '/MaterialHandingController/GetMaterialHandingList',
                type: "GET",
                data: { "sWhere": sWhere, "user": sessionStorage["HUserName"] },
                success: function (data1) {
                    var check_1 = sWhere;
                        var data = [];
                        var col = [];
                        //给空的数组赋值
                        for (var key in data1.list) {
                            data.push({ "id": data1.list[key].ColmCols, "name": data1.list[key].ColmCols, "Type": data1.list[key].ColmType });
                            //获取不需要显示的列(H开头的列不显示)
                            var patrn = new RegExp(/^h/i);
                            if (patrn.test(data1.list[key].ColmCols)) {
                                titleData[key] = data1.list[key].ColmCols;
                            }
                        }
                        //在列表左边添加勾选框
                        col.push({ type: 'checkbox', fixed: 'left' });
                        for (var i = 0; i < data.length; i++) {
                            if ($.inArray(data[i].name, titleData) > -1) {
                                col.push({ field: data[i].id, title: data[i].name, align: 'center', hide: true }); //隐藏id列
                            }
                            else {
                                switch (data[i].Type) {
                                    //int
                                    case 'DateTime':
                                        col.push({ field: data[i].id, title: data[i].name, align: 'center', sort: true, templet: "<div>{{d." + data[i].name + " ==null ?'':layui.util.toDateString(d." + data[i].name + ", 'yyyy-MM-dd')}}</div>", width: 200 });
                                        break;
                                    default:
                                        col.push({ field: data[i].id, title: data[i].name, align: 'center', sort: true, width: 200 });
                                }
                            }
                        option = {
                            elem: '#mainTable'
                            , toolbar: '#toolbarDemo'
                            , height: 'full-50'
                            , page: true //开启分页
                            , limit: 50
                            , limits: [50, 500, 5000, 20000]
                            , cols: [col]
                            , data: data1.data
                            };
                        //初始化表格
                       // DisPlay_HideColumn();
                        table.render(option);
                        if ($("#Comparator").val() == 0 && $("#ColContent").val() == "") {
                            ColFilter();
                        }
                    }
                        layer.close(ajaxLoad);
                        /*layer.msg(data1.code + data1.Message, { icon: 5 });*/
                }, error: function () {
                    layer.close(ajaxLoad);
                    layer.alert("接口请求失败!", { icon: 5 });
                }
            });
        }
        // 快速过滤
        function get_FastQuery() {
            var HModel = $("#HModel").val();
            var HMaterNumber = $("#HMaterNumber").val();//物料代码
            var HMaterName = $("#HMaterName").val();//物料名称
            var IsUse = $("#HUseFlag").val();
            var ColName = $("#ColName").val();//复选框
            var Comparator = $("#Comparator").val()
            var ColContent = $("#ColContent").val();
            if (ColName != 0 && Comparator != 0) {
                var com = "";
                switch (Comparator) {
                    case "7":
                        com = "like'%" + ColContent + "%'";
                        break;
                    case "8":
                        com = "like'%" + ColContent + "'";
                        break;
                    case "9":
                        com = "like'" + ColContent + "%'";
                        break;
                    case "10":
                        com = "not like'%" + ColContent + "%'";
                        break;
                    default:
                        com = "" + Comparator + "'" + ColContent + "'";
                        break;
                }
                sWhere += " and " + ColName + " " + com;
            }
            if (HMaterNumber) {
                sWhere += " and 物料代码 = '" + HMaterNumber + "'";
            }
            if (HMaterName) {
                sWhere += " and 物料名称 = '" + HMaterName + "'";
            }
            if (HModel) {
                sWhere += " and 规格型号 = '" + HModel + "'";
            }
            if (IsUse!=0) {
                sWhere += " and 是否启用 = '" + IsUse + "'";
            }
            //if (HBillNo) {
            //    sWhere += " and 单据号 like '%" + HBillNo + "%'";
            //}
            //if (HProcType && HProcType != "") {
            //    sWhere += " and 业务类型 = '" + HProcType + "'";
            //}
            //if (HMaterNumber) {
            //    sWhere += " and 物料代码 like '%" + HMaterNumber + "%'";
            //}
            //if (HMaterName) {
            //    sWhere += " and 物料名称 like '%" + HMaterName + "%'";
            //}
            get_Display(sWhere);
            sWhere = "";//调用接口后清空sWhere缓存
        }
        // 重置过滤条件方法
        function set_ClearQuery() {
            $("#HDate").val(Format(new Date(new Date() - 1000 * 60 * 60 * 24 * 30), "yyyy-MM-dd"));//开始日期
            $("#HDate1").val(Format(new Date(), "yyyy-MM-dd"));;//结束日期
            $("#HBillNo").val("");//单据号
            $("#HProcType").val("");//业务类型
            $("#HMaterNumber").val("");//物料代码
            $("#HMaterName").val("");//物料名称
            $("#ColContent").val("");
            $("#ColName").val("0");
            $("#Comparator").val("0");
            form.render('select');
            $("#btnSearch").click();
            sWhere = "";
        }
        //新增
        function set_AddNew() {
            var checkStatus = table.checkStatus('mainTable')
                , data = checkStatus.data;
            if (checkStatus.data.length === 1) {
                var linterid = data[0].HItemID;
                layer.open({
                    type: 2
                    , skin: 'layui-layer-rim' //加上边框
                    , area: ['100%', '100%']
                    , title: '编辑'
                    , shift: 0//弹出动画
                    , content: '../SRM/SRM_MaterialHandingEdit.html?OperationType=3&linterid=' + linterid
                    , end: function () {
                        //刷新页面,
                        location.reload();
                    }
                })
            }
            else {
                layer.open({
                    type: 2
                    , skin: 'layui-layer-rim' //加上边框
                    , area: ['100%', '100%']
                    , title: '新增'
                    , shift: 0//弹出动画
                    , content: '../SRM/SRM_MaterialHandingEdit.html?OperationType=1&linterid='
                    , end: function () {
                        //刷新页面,
                        location.reload();
                    }
                })
            }
        }
        // 删除
        function set_DeleteBill() {
            var checkStatus = table.checkStatus('mainTable')
                , data = checkStatus.data;
            if (checkStatus.data.length === 1) {
                var hmainid = data[0].HItemID;
                layer.confirm("确认要删除吗,删除后不能恢复", { title: "删除确认" }, function (index) {
                    var wait = layer.load();
                    //逻辑删除方法
                    $.ajax({
                        url: GetWEBURL() + '/MaterialHandingController/DelBill',
                        type: "GET",
                        data: { "HItemID": hmainid, "user": sessionStorage["HUserName"] },
                        success: function (result) {
                            if (result.count == 1) {
                                //关闭当前frame
                                layer.close(wait);
                                layer.msg(result.Message);
                                //修改为功后刷新界面
                                get_FastQuery();
                            } else {
                                layer.alert(result.code + result.Message, { icon: 5 });
                                layer.close(wait);
                            }
                        }, error: function () {
                            layer.alert("接口请求失败!", { icon: 5 });
                            layer.close(wait);
                        }
                    });
                })
            }
            else {
                layer.msg('请选择一行数据删除!');
            }
        }
        // 刷新
        function get_Refresh() {
            set_ClearQuery();
            get_Display(sWhere);
        }
        function Format(datetime, fmt) {
            if (parseInt(datetime) == datetime) {
                if (datetime.length == 10) {
                    datetime = parseInt(datetime) * 1000;
                } else if (datetime.length == 13) {
                    datetime = parseInt(datetime);
                }
            }
            datetime = new Date(datetime);
            var o = {
                "M+": datetime.getMonth() + 1,                 //月份
                "d+": datetime.getDate(),                    //日
                "h+": datetime.getHours(),                   //小时
                "m+": datetime.getMinutes(),                 //分
                "s+": datetime.getSeconds(),                 //秒
                "q+": Math.floor((datetime.getMonth() + 3) / 3), //季度
                "S": datetime.getMilliseconds()             //毫秒
            };
            if (/(y+)/.test(fmt))
                fmt = fmt.replace(RegExp.$1, (datetime.getFullYear() + "").substr(4 - RegExp.$1.length));
            for (var k in o)
                if (new RegExp("(" + k + ")").test(fmt))
                    fmt = fmt.replace(RegExp.$1, (RegExp.$1.length == 1) ? (o[k]) : (("00" + o[k]).substr(("" + o[k]).length)));
            return fmt;
        }
        function Pub_Close(closeType) {
            if (closeType == 1) {
                //关闭弹窗
                var index = parent.layer.getFrameIndex(window.name);
                parent.layer.close(index);
            } else if (closeType == 2) {
                //关闭页签
                parent.layui.admin.events.closeThisTabs();
            }
        }
        //隐藏列设置
        function get_HideColumn() {
            var colName = "";
            var contentUrl = "";
            for (var i = 1; i < option.cols[0].length - 1; i++) {
                colName += option.cols[0][i]["title"] + ",";
            }
            var urlStr = window.document.location.pathname;//获取文件路径
            var urlLen = urlStr.split('/');
            for (var i = 0; i < urlLen.length - 4; i++) {
                contentUrl += "../";
            }
            colName = encodeURI(colName.substring(0, colName.length - 1));//对 URI 进行编码
            contentUrl += '基础资料/隐藏列设置/Gy_GridView_Hide.html?HModName=' + HModName + '&colName=' + colName;
            layer.open({
                type: 2
                , skin: "layui-layer-rim" //加上边框
                , title: "隐藏列设置"  //标题
                , closeBtn: 1  //窗体右上角关闭 的 样式
                , shift: 2 //弹出动画
                , area: ["50%", "90%"] //窗体大小
                , maxmin: true //设置最大最小按钮是否显示
                , content: [contentUrl, "yes"]
                , btn: ["确定", "取消"]
                , btn1: function (index, laero) {
                    //刷新表格数据
                    DisPlay_HideColumn();
                    //更新表格缓存的数据
                    layer.close(index);//关闭弹窗
                }
            })
        }
        //显示列数据
        function DisPlay_HideColumn() {
            $.ajax({
                url: GetWEBURL() + '/Xt_grdAlignment_WMES/grdAlignmentWMESList',
                type: "GET",
                data: { "HModName": HModName, "user": sessionStorage["HUserName"] },
                success: function (data1) {
                    if (data1.data.length != 0) {
                        var dataCol = [];//数据库查询出的列数据
                        var titleData = ["hmainid", "hentryid", "HEntryID", "HDeptID", "HMaterID", "HSupID", "HEmpID", "HPayConditionID", "HCurID", "HUnitID"];//不需要显示的字段 可扩展
                        dataCol = data1.data[0].HGridString.split(',');
                        for (var i = 0; i < option.cols[0].length - 2; i++) {
                            if (dataCol[i]) {
                                var dataCols = dataCol[i].split('|');
                            }
                            //隐藏列
                            if (dataCols[1] == 1) {
                                option.cols[0][i + 1]["hide"] = true;
                            }
                            //设置列宽
                            if (dataCols[3] > 0) {
                                option.cols[0][i + 1]["width"] = dataCols[3];
                                switch (option.cols[0][i + 1]["field"]) {
                                    case '日期':
                                        option.cols[0][i + 1]["width"] = 110;
                                        break;
                                    case '单据号':
                                        option.cols[0][i + 1]["width"] = 140;
                                        break;
                                    case '业务类型':
                                        option.cols[0][i + 1]["width"] = 105;
                                        break;
                                    case '采购员代码':
                                        option.cols[0][i + 1]["width"] = 135;
                                        break;
                                    case '采购员名称':
                                        option.cols[0][i + 1]["width"] = 135;
                                        break;
                                    case '部门代码':
                                        option.cols[0][i + 1]["width"] = 140;
                                        break;
                                    case '部门名称':
                                        option.cols[0][i + 1]["width"] = 160;
                                        break;
                                }
                            }
                            //设置内容字体大小
                            if (data1.data[0].HFontSize != 0) {
                                option.cols[0][i + 1]["style"] = "font-size:" + data1.data[0].HFontSize + "px;";
                            } else {
                                option.cols[0][i + 1]["style"] = "font-size:100%";
                            }
                            //设置列宽
                            //if (data1.data[0].HColumnWidth != 0) {
                            //    option.cols[0][i + 1]["width"] = data1.data[0].HColumnWidth + "px;";
                            //} else {
                            //    option.cols[0][i + 1]["width"] = "";
                            //}
                            //显示列
                            if (dataCols[1] == 0 && $.inArray(option.cols[0][i + 1]["title"], titleData) == -1) {
                                option.cols[0][i + 1]["hide"] = false;
                            }
                            //字体所在位置(左 居中 右)
                            switch (dataCols[2]) {
                                case "L":
                                    option.cols[0][i + 1]["align"] = "left";
                                    break;
                                case "M":
                                    option.cols[0][i + 1]["align"] = "center";
                                    break;
                                case "R":
                                    option.cols[0][i + 1]["align"] = "right";
                                    break;
                            }
                        }
                        //取消冻结列
                        for (var i = 1; i < option.cols[0].length - 1; i++) {
                            if (option.cols[0][i]["fixed"] != null) {
                                option.cols[0][i]["fixed"] = null;
                            }
                            else {
                                break;
                            }
                        }
                        //冻结列
                        if (data1.data[0].HFixCols != 0) {
                            for (var i = 0; i < data1.data[0].HFixCols; i++) {
                                if ($.inArray(option.cols[0][i + 1]["title"], titleData) != -1) {
                                    data1.data[0].HFixCols += 1;
                                }
                                option.cols[0][i + 1]["fixed"] = "left";
                            }
                        }
                        table.render(option);
                    } else {
                        table.render(option);
                    }
                }, error: function () {
                    layer.alert("接口请求失败!", { icon: 5 });
                }
            })
        }
        //列明显示下拉框
        function ColFilter() {
            var Organization = '<option  value="0" selected="selected" ></option>';
            for (var i = 1; i < option.cols[0].length; i++) {
                if (option.cols[0][i].hide != true) {
                    Organization += '<option  style="color:blue;" value="' + option.cols[0][i].field + '">' + option.cols[0][i].field + '</option>';
                }
            }
            $("#ColName").empty();
            $("#ColName").append(Organization);
            form.render('select');
        }
        //#region 启用数据
        function get_use(num) {
            var checkStatus = table.checkStatus('mainTable')
                , data = checkStatus.data;
            if (checkStatus.data.length === 1) {
                var InterID = data[0].HItemID.toString();
                //逻辑审核方法
                $.ajax({
                    type: "GET",
                    url: GetWEBURL() + "/MaterialHandingController/OpenMaterial", //方法所在页面和方法名
                    data: { "HInterID": InterID, "IsUse": num, "CurUserName": sessionStorage["HUserName"] },
                    success: function (result) {
                        if (result.count == 1) {
                            layer.msg(result.Message, { time: 1 * 1000, icon: 1 }, function () {
                                //// 得到frame索引
                                var index = layer.getFrameIndex(window.name);
                                ////关闭当前frame
                                layer.close(index);
                                //修改为功后刷新界面
                                $("#btnSearch").trigger('click');
                            });
                        } else {
                            layer.alert(result.code + result.Message, { icon: 5 });
                        }
                    }, error: function () {
                        layer.alert("接口请求失败!", { icon: 5 });
                    }
                });
            }
            else {
                layer.msg('请选择一行数据审核!');
            }
        }
        //#endregion
        function get_createBarCode() {
            var checkStatus = table.checkStatus('mainTable')
                , data = checkStatus.data;
            if (checkStatus.data.length) {
                //var linterIDArray[0] = data[0].HItemID;
                var linterIDArray = []; var BarCodeArr = data[0].HItemID+',';
                for (var i = 1; i < checkStatus.data.length; i++) {
                    //linterIDArray.push(data[i].HItemID);
                    linterIDArray[i] = data[i].HItemID;
                    BarCodeArr = BarCodeArr + linterIDArray[i] + ',';
                }
                BarCodeArr = BarCodeArr.substring(0, BarCodeArr.length-1);
                layer.open({
                    type: 2
                    , skin: 'layui-layer-rim' //加上边框
                    , area: ['100%', '100%']
                    , title: '编辑'
                    , shift: 0//弹出动画
                    , content: '../SRM/SRM_MaterialBarCodeBill.html?OperationType=3&linterid=' + BarCodeArr
                    , end: function () {
                        //刷新页面,
                        location.reload();
                    }
                })
            }
            else {
                layer.msg('至少选择一行数据!');
            }
        }
        //以上是layui模块
    });
</script>
WebSRM/layuiAdmin.std-v1.2.1/src/views/SRM/SRM_MaterialHandingEdit.html
New file
@@ -0,0 +1,842 @@
<!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="../../../../Scripts/webConfig.js"></script>
    <script src="../../layuiadmin/Scripts/json2.js"></script>
    <script src="../../layuiadmin/Scripts/jquery-1.4.1.js"></script>
    <script src="../../layuiadmin/Scripts/general.js"></script>
    <style>
        .main-btn { /*头部主按钮*/
            padding: 0 2px; /*调整按钮左右空隙大小*/
            height: 30px;
            line-height: 30px;
        }
        .btn-title {
            font-size: 16px;
        }
        /* 防止下拉框的下拉列表被隐藏---必须设置--- */
        .layui-table-cell {
            overflow: visible !important;
        }
        /* 使得下拉框与单元格刚好合适 */
        td .layui-form-select {
            margin-top: -10px;
            margin-left: -15px;
            margin-right: -15px;
        }
        .layui-form-item .layui-inline {
            margin-top: 5px;
            margin-bottom: 5px;
            margin-right: 0px;
        }
        .layui-form-label {
            width: 25%;
        }
    </style>
</head>
<body>
    <div class="layui-fluid" style="padding: 0;">
        <div class="layui-card" style="padding: 15px;">
            <div class="layui-card-body" style="padding: 1px;">
                <form class="layui-form" lay-filter="component-form-group" action="">
                    <div class="layui-card-header">
                        <div class="layui-btn-group">
                            <button type="button" id="Saver" class="layui-btn layui-btn-normal layui-btn-radius" lay-submit="" lay-filter="Saver">新增</button>
                            <button type="button" id="Saver_Edit" class="layui-btn layui-btn-normal layui-btn-radius" lay-submit="" lay-filter="Saver_Edit">保存</button>
                            <button type="button" class="layui-btn layui-btn-normal layui-btn-radius" lay-submit="" lay-filter="Cancel">退出</button>
                        </div>
                    </div>
                    <div class="layui-tab" lay-filter="tab-POStockInBill">
                        <ul class="layui-tab-title" lay-filter="tab-all">
                            <li lay-id="1" style="padding:1px;" class="layui-this">基本信息</li>
                            <li lay-id="2" style="padding:1px;">其他信息</li>
                        </ul>
                        <div class="layui-tab-content">
                            <!--基本信息-->
                            <div class="layui-tab-item layui-show">
                                <div class="layui-form-item" style="padding-top: 10px;">
                                    <div class="layui-inline">
                                        <div class="layui-input-block" style="margin-left: 120px;">
                                            <input id="HItemID" name="HItemID" value="0" type="hidden" />
                                        </div>
                                    </div>
                                    <div class="layui-row">
                                        <div class="layui-col-xs4 layui-inline">
                                            <label class="layui-form-label">物料代码</label>
                                            <div class="layui-input-inline">
                                                <input type="text" class="layui-input" name="HMaterNumber" id="HMaterNumber" style="background-color:#efefef4d;">
                                                <input type="hidden" class="layui-input" name="HMaterID" id="HMaterID" style="background-color:#efefef4d;">
                                            </div>
                                            <button class="layui-btn layuiadmin-btn-order" type="button" lay-submit="" lay-filter="btnCheck" id="btnCheck" style="width: 40px;">
                                                <i class="layui-icon layui-icon-search layuiadmin-button-btn" style="margin-left:-9px;">校验</i>
                                            </button>
                                        </div>
                                        <div class="layui-col-xs4 layui-inline">
                                            <label class="layui-form-label">物料名称</label>
                                            <div class="layui-input-inline">
                                                <input type="text" class="layui-input" name="HMaterName" id="HMaterName" onmouseover="this.title=this.value" style="float: left; width: 150px; background-color: #efefef4d; display: inline-block;" readonly>
                                                <!--<input type="hidden" name="HSupID" id="HSupID" value="0">-->
                                            </div>
                                        </div>
                                        <div class="layui-col-xs4 layui-inline">
                                            <label class="layui-form-label">规格型号</label>
                                            <div class="layui-input-inline">
                                                <input type="text" class="layui-input" name="HModel" id="HModel" readonly>
                                            </div>
                                        </div>
                                    </div>
                                    <div class="layui-row">
                                        <div class="layui-col-xs4 layui-inline">
                                            <label class="layui-form-label">最小包装</label>
                                            <div class="layui-input-inline">
                                                <input type="text" class="layui-input" name="HMinPackQty" id="HMinPackQty" style="">
                                            </div>
                                        </div>
                                        <div class="layui-col-xs4 layui-inline">
                                            <label class="layui-form-label">标准包装数</label>
                                            <div class="layui-input-inline">
                                                <input type="text" class="layui-input" name="HInBoxPackQty" id="HInBoxPackQty" style="">
                                                <input type="hidden" class="layui-input" name="HOutBoxPackQty" id="HOutBoxPackQty" style="" value="0">
                                            </div>
                                        </div>
                                    </div>
                                    <div class="layui-row">
                                        <div class="layui-inline">
                                            <label class="layui-form-label">使用组织</label>
                                            <div class="layui-input-block" style="margin-left: 120px;">
                                                <select name="HUSEORGID" id="HUSEORGID" class=" ForFilteringSchemes" lay-verify="HUSEORGID">
                                                    <!--动态渲染组织-->
                                                </select>
                                            </div>
                                        </div>
                                        <div class="layui-col-xs4 layui-inline">
                                            <label class="layui-form-label">供应商代码</label>
                                            <div class="layui-input-inline">
                                                <input type="text" class="layui-input" name="HSupID" id="HSupID" readonly>
                                            </div>
                                        </div>
                                        <div class="layui-col-xs4 layui-inline">
                                            <label class="layui-form-label">供应商名称</label>
                                            <div class="layui-input-inline">
                                                <input type="text" class="layui-input" name="HSupName" id="HSupName" readonly>
                                            </div>
                                        </div>
                                        <div class="layui-col-xs4 layui-inline">
                                            <label class="layui-form-label">是否启用</label>
                                            <div class="layui-input-inline">
                                                <input type="checkbox" name="checkboxHUseFlag" id="checkboxHUseFlag" lay-skin="primary" lay-filter="checkboxHUseFlag" value="false" title="">
                                                <input type="hidden" value="0" name="HUseFlag" id="HUseFlag">
                                            </div>
                                        </div>
                                    </div>
                                </div>
                            </div>
                            <!--其他信息-->
                            <div class="layui-tab-item">
                                <div class="layui-form-item">
                                    <div class="layui-row">
                                        <div class="layui-inline">
                                            <label class="layui-form-label" style="width: 85px;">创建人</label>
                                            <div class="layui-input-block" style="margin-left: 120px;">
                                                <input type="text" class="layui-input" name="HMaker" id="HMaker" style="background-color:#efefef4d;" readonly>
                                            </div>
                                        </div>
                                        <div class="layui-inline">
                                            <label class="layui-form-label" style="width: 85px;">修改人</label>
                                            <div class="layui-input-block" style="margin-left: 120px;">
                                                <input type="text" class="layui-input" name="HUpDater" id="HUpDater" style="background-color:#efefef4d;" readonly>
                                            </div>
                                        </div>
                                        <div class="layui-inline">
                                            <label class="layui-form-label" style="width: 85px;">审核人</label>
                                            <div class="layui-input-block" style="margin-left: 120px;">
                                                <input type="text" class="layui-input" name="HCheckEmp" id="HCheckEmp" style="background-color:#efefef4d;" readonly>
                                            </div>
                                        </div>
                                    </div>
                                    <div class="layui-row">
                                        <div class="layui-inline">
                                            <label class="layui-form-label" style="width: 85px;">创建日期</label>
                                            <div class="layui-input-block" style="margin-left: 120px;">
                                                <input type="text" class="layui-input" name="HMakeTime" id="HMakeTime" style="background-color:#efefef4d;" readonly>
                                            </div>
                                        </div>
                                        <div class="layui-inline">
                                            <label class="layui-form-label" style="width: 85px;">审核日期</label>
                                            <div class="layui-input-block" style="margin-left: 120px;">
                                                <input type="text" class="layui-input" name="HCheckTime" id="HCheckTime" style="background-color:#efefef4d;" readonly>
                                            </div>
                                        </div>
                                        <div class="layui-inline">
                                            <label class="layui-form-label" style="width: 85px;">修改日期</label>
                                            <div class="layui-input-block" style="margin-left: 120px;">
                                                <input type="text" class="layui-input" name="HUpDateDate" id="HUpDateDate" style="background-color:#efefef4d;" readonly>
                                            </div>
                                        </div>
                                    </div>
                                </div>
                            </div>
                        </div>
                    </div>
                </form>
            </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>
    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;
        //#endregion
        //#region 进入页面即加载
        var params = get_UrlVars();
        set_ClearBill();
        if (typeof (params[params[0]]) == "undefined") {
            var OperationType = 1;//操作类型
        } else {
            var OperationType = params[params[0]];//操作类型//从参数中获取 数据类型  1添加 保存  2复制  3 编辑
            var linterid = params[params[1]];//源单id
            var HSouceBillType = params[params[2]];//源单类型
        }
        //判断操作类型
        if (OperationType == 1) {//无源单新增
            $("#HItemID").val(0);
            //$('#Saver').addClass("layui-btn-disabled").attr("disabled", true);
            linterid = 0;
        }
        else if (OperationType == 2) {//复制
            $("#HItemID").val(linterid);//修改时主表ID
            //编辑状态时,根据内码,获取信息并写入界面
            RoadBillMain(linterid);
        }
        else if (OperationType == 3) {//编辑
            $("#HItemID").val(linterid);//修改时主表ID
            //编辑状态时,根据内码,获取信息并写入界面
            RoadBillMain(linterid);
            //$('#saver_Edit').addClass("layui-btn-disabled").attr("disabled", true);//保存后加载数据时保存按钮禁用
        }
        else if (OperationType == 4) {//浏览
            $("#HItemID").val(linterid);//
            //编辑状态时,根据内码,获取信息并写入界面
            RoadBillMain(linterid);
            //$('#saver').addClass("layui-btn-disabled").attr("disabled", true);//保存后加载数据时保存按钮禁用
        }
        else {
            layer.alert("未知操作类型!", { icon: 5 });
        }
        /*$('#btnSearchSup').addClass("layui-btn-disabled").attr("disabled", true);//供应商按钮禁用*/
        //$("#HSupName").val(sessionStorage["HUserName"]); //自动获取供应商信息
        //保存提交
        form.on('submit(Saver)', function (data) {//提交
                layer.confirm('[3791-2-009]新增后页面数据将消失?', function (index) {
                    location.replace('SRM_MaterialHandingEdit.html?OperationType=1&linterid=');
                });
        });
        //保存提交
        form.on('submit(Saver_Edit)', function (data) {//提交
            if (AllowLoadData(data)) {
                if (OperationType == 1) {
                    set_AddNew(data);
                }
                else
                Edit_Save(data);
            }
        });
        ////保存提交
        //form.on('submit(btnSave)', function (data) {//提交
        //    var sSubStr = table.cache['mainTable'];
        //    if (AllowLoadData(sSubStr)) {
        //        set_AddNew(data);
        //    }
        //});
        //#endregion
        //#endregion
        //#region 触发事件:包括form.on(){}格式的所有点击事件、选择事件等
        //头工具栏事件
        table.on('toolbar(mainTable)', function (obj) {
            var checkStatus = table.checkStatus('mainTable')
                , data = checkStatus.data;
            //新增行表格数据
            var NewRow = {
                "HMaterID": 0, "HMaterNumber": "", "HMaterName": "", "HMaterModel": "", "HUnitID": 0, "HUnitNumber": "",
                "HUnitName": "", "HQty": 0, "HPrice": 0, "HMoney": 0, "HTaxPrice": 0, "HTaxRate": 0, "HTaxMoney": 0,
                "HlineTotal": 0, "HlineTotalBB": 0, "HDate": new Date(), "HBagType": "", "HCarryType": "", "HAddress": "", "HRemark": "",
                "HSourceInterID": 0, "HSourceEntryID": 0,"HSourceBillNo": ""
            };
            switch (obj.event) {
                case 'btn-AddLine':
                    table.cache["mainTable"].push(NewRow);
                    option.data = table.cache["mainTable"];
                    table.render(option);
                    break;
                case 'btn-CopyLine':
                    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);//将数据渲染到表格上
                    }
                    break;
            }
        });
        //行内事件
        table.on('tool(mainTable)', function (obj) {
            var data = obj.data;
            var rowIndex = $(obj.tr).attr("data-index");
            if (obj.event === 'del') {
                layer.confirm('真的删除行吗?', function (index) {
                    if (rowIndex === '0') {
                        layer.msg('首行无法删除!!!');
                    } else {
                        obj.del();
                        option.data = table.cache["mainTable"];//将数据绑定到data上
                        layer.close(index);
                    }
                });
            }
            var data = obj.data;
            if (obj.event == 'HDate') {
                var field = $(this).data('field');
                laydate.render({
                    elem: this.firstChild
                    , show: true //直接显示
                    , closeStop: this
                    , done: function (nowDate) {
                        //时间选择完成,行数据更新
                        data[field] = nowDate;
                        obj.update(data);
                        //刷新复选框
                        //checkRefresh();
                    }
                });
            }
            if (obj.event == 'inputHQty' || obj.event == 'inputHPrice' || obj.event == 'inputHMoney' || obj.event == 'inputHTaxPrice' || obj.event == 'inputHTaxRate' || obj.event == 'inputHTaxMoney' || obj.event == 'inputHlineTotal' || obj.event == 'inputHlineTotalBB') {
                $(obj.tr).find(".layui-table-edit").keyup(function () {
                    var $input = $(this), val = $input.val();
                    if (!val) val = "0";
                    $input.val(val.replace(/[^\d*\.?\d*]/g, ''));
                });
            }
            //#region [ 表体F7事件 ]
            $(document).off('keydown', ".layui-table-edit").on('keydown', '.layui-table-edit', function (e) {
                if (event.key == "F7") {
                    if (obj.event == 'HMaterID') {
                        layer.open({
                            type: 2,
                            skin: 'layui-layer-rim', //加上边框
                            title: '产品列表',
                            closeBtn: 1,
                            shift: 2,
                            area: ['90%', '90%'],
                            maxmin: true,
                            content: ['../基础资料/Gy_MaterialList.html', 'yes'],
                            btn: ['确定', '取消']
                            , btn1: function (index, layero) {
                                //按钮【按钮一】的回调
                                var iframeWindow = window['layui-layer-iframe' + index];
                                var checkStatus = iframeWindow.layui.table.checkStatus('mainTable');
                                if (checkStatus.data.length === 0) {
                                    return layer.msg('请选择数据');
                                }
                                obj.update({
                                    HMaterName: checkStatus.data[0].HName
                                    , HMaterID: checkStatus.data[0].HItemID
                                    , HMaterNumber: checkStatus.data[0].HNumber
                                    , HMaterModel: checkStatus.data[0].HModel
                                    , HUnitID: checkStatus.data[0].HUnitID
                                    , HUnitNumber: checkStatus.data[0].HUnitNumber
                                    , HUnitName: checkStatus.data[0].HUnitName
                                });
                                layer.close(layer.index);
                            }
                            , btn2: function (index, layero) {
                            },
                            end: function () {
                            }
                        });
                    }
                    if (obj.event == 'HUnitID') {
                        layer.open({
                            type: 2,
                            skin: 'layui-layer-rim', //加上边框
                            title: '计量单位列表',
                            closeBtn: 1,
                            shift: 2,
                            area: ['90%', '90%'],
                            maxmin: true,
                            content: ['../基础资料/Gy_UnitList.html', 'yes'],
                            btn: ['确定', '取消']
                            , btn1: function (index, layero) {
                                //按钮【按钮一】的回调
                                var iframeWindow = window['layui-layer-iframe' + index];
                                var checkStatus = iframeWindow.layui.table.checkStatus('mainTable');
                                if (checkStatus.data.length === 0) {
                                    return layer.msg('请选择数据');
                                }
                                obj.update({
                                    HUnitID: checkStatus.data[0].HItemID
                                    , HUnitNumber: checkStatus.data[0].HNumber
                                    , HUnitName: checkStatus.data[0].HName
                                });
                                layer.close(layer.index);
                            }
                            , btn2: function (index, layero) {
                            },
                            end: function () {
                            }
                        });
                    }
                    obj.event = "";
                    return false;
                }
            })
            //#endregion
        });
        table.on('edit(mainTable)', function (obj) { //注:edit是固定事件名,test是table原始容器的属性 lay-filter="对应的值"
            var value = obj.value //得到修改后的值
                , data = obj.data //得到所在行所有键值
                , field = obj.field; //得到字段
            if (obj.data.HQty != undefined) {
                HQty = parseFloat(obj.data.HQty);
            }
            if (obj.data.HPrice != undefined) {
                HPrice = parseFloat(obj.data.HPrice);
            }
            if (obj.data.HMoney != undefined) {
                HMoney = parseFloat(obj.data.HMoney);
            }
            switch (field) {
                case "HQty":
                    console.log(obj.data.HMoney);
                    obj.update({
                        HMoney: Math.ceil(parseFloat(obj.value) * parseFloat(obj.data.HPrice)),
                    });
                    console.log(obj.data.HMoney);
                    obj.update({
                        HTaxMoney: Math.ceil(parseFloat(obj.value) / 100 * parseFloat(obj.data.HMoney)),
                    });
                    break;
                case "HPrice":
                    obj.update({
                        HMoney: Math.ceil(parseFloat(obj.value) * parseFloat(obj.data.HQty)),
                    });
                    obj.update({
                        HTaxMoney: Math.ceil(parseFloat(obj.value) / 100 * parseFloat(obj.data.HMoney)),
                    });
                    break;
                case "HTaxRate":
                     obj.update({
                         HTaxMoney: Math.ceil(parseFloat(obj.value) / 100 * parseFloat(obj.data.HMoney)),
                     });
                    break;
            }
        });
        //退出
        form.on('submit(Cancel)', function (data) {
            if (OperationType != "") {
                Pub_Close(1);
            }
        });
        //打印
        form.on('submit(btn_print)', function (data) {
            get_print(data);
        });
        //物料校验
        form.on('submit(btnCheck)', function (data) {
            get_MaterialCheck(0);
            return false;
        });
        //是否禁用按钮
        form.on('checkbox(checkboxHUseFlag)', function (data) {
            var checkUse=$("#HUseFlag").val(data.elem.checked);
        });
        //#region 此页面所有的方法
        // 初始化界面
        function set_ClearBill() {
            $("#HMaker").val(sessionStorage["HUserName"]);
            $("#HMakeTime").val(Format(new Date(), "yyyy-MM-dd"));
            //$("#HSupID").val(sessionStorage["HUserName"]);
            FetchSupInfo();
            //$("#HCheckEmp").val(sessionStorage["HUserName"]);
            //$("#HCheckTime").val(Format(new Date(), "yyyy-MM-dd"));
            Organ();
        }
        //#region 获取组织
        function Organ() {
            //获取登录页组织列
            $.ajax({
                type: "get",
                async: false,
                url: GetWEBURL() + "GetOrganizations",
                success: function (result) {
                    var Organization = "";
                    if (result.count == 1) { // 说明验证成功了,
                        var data = result.data;
                        for (var i = 0; i < data.length; i++) {
                            Organization += '<option  style="color:blue;" value="' + data[i].ID + '">' + data[i].Name + '</option>';
                        }
                        $("#HUSEORGID").append(Organization);
                        $("#HUSEORGID").val(sessionStorage["OrganizationID"])
                        form.render('select');
                    }
                    layer.closeAll("loading");
                }
            })
        }
        //非空验证
        function AllowLoadData(data) {
            if ($("#HInBoxPackQty").val() < $("#HMinPackQty").val()) {
                layer.alert("标准包装数不允许小于最小包装数");
                return false;
            }
            else
                return true;
        }
        //保存HMaker
        function set_AddNew(data) {
            var HMinPackQty = $('#HMinPackQty').val();
            var HInBoxPackQty = $('#HInBoxPackQty').val();
            var HStopflag_check = $('#HStopflag').val();
            if (HStopflag_check == "false") {
                $('#HStopTime').val(" ");
                console.log("1");
            }
            if (HMinPackQty.substring(HMinPackQty.length - 1, HMinPackQty.length) == ".") {
                layer.msg("包装的结尾不能是.!");
                return;
            } else {
                var ref = /^[0-9]+\.?[0-9]*$/;
                if (!ref.test(HMinPackQty)) {
                    layer.msg("请输正确入数字!");
                    return;
                }
                if (!ref.test(HInBoxPackQty)) {
                    layer.msg("请输正确入数字!");
                    return;
                }
                if (HInBoxPackQty == 0 || HInBoxPackQty == null || HInBoxPackQty == "0") {
                    layer.msg("标准包装数请不能为0!");
                    return;
                }
            }
            var HMaterID = $('#HMaterNumber').val();
            var sMainStr = JSON.stringify(data.field);
            //var sMainSub = sMainStr + ";" +  HMaterID;
            var itID = $('#HitemID').val();
            var index = layer.load();
            $.ajax({
                type: "POST",
                url: GetWEBURL() + "/MaterialHandingController/AddBill",
                async: true,
                data: { "msg": sMainStr },
                dataType: "json",
                success: function (data) {
                    if (data.count == 1) {
                        $('#Saver_Edit').addClass("layui-btn-disabled").attr("disabled", true);
                        //$('#Saver').addClass("layui-btn-disabled").attr("disabled", false);
                        linterid = data.data;
                        layer.close(index);
                        layer.msg("提交成功");
                    }
                    else {
                        layer.close(index);
                        layer.msg(data.Message, { icon: 5, btn: ['确认'], time: 100000, offset: 't', skin: 'layui-layer-lan', title: "温馨提示" });
                    }
                },
                error: function (err) {
                    layer.close(index);
                    layer.msg("错误:" + err, { icon: 5, btn: ['确认'], time: 100000, offset: 't', skin: 'layui-layer-lan', title: "温馨提示" });
                }
            });
        }
        function Edit_Save(data) {
            var HMinPackQty = $('#HMinPackQty').val();
            var HInBoxPackQty = $('#HInBoxPackQty').val();
            var HStopflag_check = $('#HStopflag').val();
            if (HStopflag_check == "false") {
                $('#HStopTime').val(" ");
                console.log("1");
            }
            if (HMinPackQty.substring(HMinPackQty.length - 1, HMinPackQty.length) == ".") {
                layer.msg("包装的结尾不能是.!");
                return;
            } else {
                var ref = /^[0-9]+\.?[0-9]*$/;
                if (!ref.test(HMinPackQty)) {
                    layer.msg("请输正确入数字!");
                    return;
                }
                if (!ref.test(HInBoxPackQty)) {
                    layer.msg("请输正确入数字!");
                    return;
                }
                if (HInBoxPackQty == 0 || HInBoxPackQty == null || HInBoxPackQty == "0") {
                    layer.msg("标准包装数请不能为0!");
                    return;
                }
            }
            var checkmate = $('#HUseFlag').val();
            ////if ($('#HUseFlag').val() == 'Y') {
            ////    var checkmate = $('#HUseFlag').val('1');
            ////}
            ////else
            ////    $("#HUseFlag").val(0);
            var HItemID = $('#HItemID').val();
            var sMainStr = JSON.stringify(data.field);
/*            var sMainSub = sMainStr + ";" + HItemID;*/
            var index = layer.load();
            $.ajax({
                type: "POST",
                url: GetWEBURL() + "/MaterialHandingController/EditSaveBill",
                async: true,
                data: { "msg": sMainStr },
                dataType: "json",
                success: function (data) {
                    if (data.count == 1) {
                        $('#Saver_Edit').addClass("layui-btn-disabled").attr("disabled", true);
                        linterid = data.data;
                        layer.close(index);
                        layer.msg("提交成功");
                    }
                    else {
                        layer.close(index);
                        layer.msg(data.Message, { icon: 5, btn: ['确认'], time: 100000, offset: 't', skin: 'layui-layer-lan', title: "温馨提示" });
                    }
                },
                error: function (err) {
                    layer.close(index);
                    layer.msg("错误:" + err, { icon: 5, btn: ['确认'], time: 100000, offset: 't', skin: 'layui-layer-lan', title: "温馨提示" });
                }
            });
        }
        //编辑 页面赋值
        function RoadBillMain(linterid)//加载表头
        {
            $.ajax({
                url: GetWEBURL() + "/MaterialHandingController/Edit_M",
                type: "GET",
                async: false,
                data: { "HItemID": linterid, "user": sessionStorage["HUserName"] },
                success: function (result) {
                    if (result.count > 0) {
                        var data = result.data;
                        //主表
                        $("#HMaterNumber").val(data[0]["物料代码"]);
                        $("#HMaterName").val(data[0]["物料名称"]);
                        $("#HModel").val(data[0]["规格型号"]);
                        $("#HUseFlag").val(data[0]["是否启用"]=='Y'?true:false);
                        $("#HMinPackQty").val(data[0]["最小包装数"]);
                        $("#HInBoxPackQty").val(data[0]["标准包装数"]);
                        $("#HOutBoxPackQty").val(data[0]["HOutBoxPackQty"]);
                        $("#HSupID").val(data[0]["供应商代码"]);
                        $("#HSupName").val(data[0]["供应商名称"]);
                        $("#HMaker").val(data[0]["创建人"]);
                        $("#HCheckEmp").val(data[0]["审核人"]);
                        $("#HUpDater").val(data[0]["修改人"]);
                        $("#HMakeTime").val(Format(new Date(data[0]["创建时间"]), "yyyy-MM-dd"));
                        $("#HUpDateDate").val(Format(new Date(data[0]["修改时间"]), "yyyy-MM-dd"));
                        $("#HCheckTime").val(Format(new Date(data[0]["审核日期"]), "yyyy-MM-dd"));
                        var check = $("#HUseFlag").val();
                        if ($("#HUseFlag").val() == 'false') {
                            $("#checkboxHUseFlag").attr("checked", false);
                        }
                        else
                            $("#checkboxHUseFlag").attr("checked", true);
                        form.render('select');
                        form.render('checkbox');
                    } else {
                        layer.msg(result.code + result.Message, { icon: 5 });
                    }
                }
            })
        }
        //打印
        function get_print(data) {
        }
        function get_UrlVars() {
            var vars = [], hash;
            var hashes = window.location.href.slice(window.location.href.indexOf('?') + 1).split('&');
            for (var i = 0; i < hashes.length; i++) {
                hash = hashes[i].split('=');
                vars.push(hash[0]);
                vars[hash[0]] = hash[1];
            }
            return vars;
        }
        // 物料校验
        function get_MaterialCheck(param = 0) {
            var HMaterNumber = $("#HMaterNumber").val();
            var user = sessionStorage["HUserName"];
            var OrganizationID = sessionStorage["OrganizationID"];
            $.ajax({
                type: "GET",
                url: GetWEBURL() + "/MaterialHandingController/CheckMaterial",
                async: true,
                data: {
                    "HMaterID": HMaterNumber,
                    "user": user,
                    "param": param,
                    "OrganizationID": OrganizationID
                },
                success: function (data) {
                    var responseData = data;
                    if (typeof data === 'string') {
                        try {
                            responseData = JSON.parse(data);
                        } catch (e) {
                            if (data === "1") {
                                responseData = 1;
                            }
                        }
                    }
                    if (responseData === 1) {
                        // 弹出询问框
                        layer.confirm('该物料已经被本供应商获取,是否继续?', {
                            icon: 3,
                            title: '提示'
                        }, function (index) {
                            layer.close(index);
                            get_MaterialCheck(1);
                        });
                    } else if (responseData.code === "1") {
                        // 正常返回物料信息
                        $("#HMaterName").val(responseData.data[0]["HName"]);
                        $("#HModel").val(responseData.data[0]["HModel"]);
                        $("#HUSEORGID").val(responseData.data[0]["HUSEORGID"]);
                        if ($("#HUSEORGID").val() != OrganizationID) {
                            layer.confirm('物料组织和使用组织不一致,是否继续?', {
                                btn: ['确定', '取消']
                            }, function (index) {
                                layer.close(index);
                            }, function (index) {
                                layer.close(index);
                                $("#HMaterName").val("");
                                $("#HMaterNumber").val("");
                                $("#HModel").val("");
                                $("#HUSEORGID").val(OrganizationID);
                            });
                        }
                        form.render('select');
                    } else {
                        layer.msg(responseData.Message || "物料信息不存在", { time: 5000 });
                    }
                },
                error: function (err) {
                    layer.msg("校验失败:" + err, { icon: 5 });
                }
            });
        }
        //#endregion
        //获取供应商ID
        function FetchSupInfo() {
            var sWhere = "";
            //var sWhere = " and 供应商名称 ='" + sessionStorage["HUserName"] + "'";
            $.ajax({
                url: GetWEBURL() + "/Gy_Supplier/list",
                type: "GET",
                data: { "sWhere": sWhere, "user": '', "Organization": sessionStorage["Organization"] },
                success: function (result) {
                    if (result.data.length > 0) {
                        $("#HSupName").val(result.data[0].供应商名称);
                        $("#HSupID").val(result.data[0].供应商代码);
                    } else {
                        layer.msg("供应商信息未维护", { time: 5000 });
                    }
                }
            });
        }
    })
</script>
WebSRM/layuiAdmin.std-v1.2.1/src/views/index.html
@@ -221,6 +221,13 @@
                                        <dd data-name="SRM_POInStockBillList_XB"><a lay-href="SRM/SRM_POInStockBillList_XB.html?type=ReArrival">夏宝送货单</a> </dd>
                                    </dl>
                                </dd>
                                <dd>
                                    <a>送货信息</a>
                                    <dl class="layui-nav-child">
                                        <dd data-name="SRM_MaterialHanding"><a lay-href="SRM/SRM_MaterialHanding.html">维护送货信息</a></dd>
                                        <dd data-name="SRM_MaterialHandingEdit"><a lay-href="SRM/SRM_MaterialHandingEdit.html">新增送货信息</a></dd>
                                    </dl>
                                </dd>
                            </dl>
                        </li>
                        <li data-name="home" class="layui-nav-item">
WebSRM/login.html
@@ -139,7 +139,7 @@
                        if (result.count == 1) { // 说明验证成功了,
                            layer.msg(result.Message, { icon: 1, });
                            sessionStorage["HUserName"] = result.data.h_p_SRM_GetSupIDByUser[0].Czymc;
                            sessionStorage["HSupIDs"] = result.data.h_p_SRM_GetSupIDByUser1[0].HSupID;
                            //sessionStorage["HSupIDs"] = result.data.h_p_SRM_GetSupIDByUser1[0].HSupID;
                            sessionStorage["OrganizationID"] = $("#edu").val();
                            sessionStorage["Organization"] = $("#edu option:selected").text();
                            sessionStorage["login"] = "login";