智云SRM-LAYUI(夏宝服务器版本)
王 垚
2021-12-29 db34c41cbb3df2c21b57d10bbe83ea206d9428d6
WebSRM/layuiAdmin.std-v1.2.1/src/views/SRM/SRM_EntrustOrderBillList.html
@@ -46,13 +46,19 @@
                                    </div>
                                </div>
                                <div class="layui-inline">
                                    <label class="layui-form-label">物料编码</label>
                                    <div class="layui-input-block">
                                        <input type="text" class="layui-input" name="HShortNumber" id="HShortNumber">
                                    </div>
                                </div>
                                <div class="layui-inline">
                                    <label class="layui-form-label">物料代码</label>
                                    <div class="layui-input-block">
                                        <input type="text" class="layui-input" name="HNumber" id="HNumber">
                                    </div>
                                </div>
                                <div class="layui-inline">
                                    <label class="layui-form-label">产品名称</label>
                                    <label class="layui-form-label">物料名称</label>
                                    <div class="layui-input-block">
                                        <input type="text" class="layui-input" name="HName" id="HName">
                                    </div>
@@ -67,8 +73,8 @@
                                    <label class="layui-form-label">关闭状态</label>
                                    <div class="layui-input-block">
                                        <select id="HClStatus" name="HClStatus" lay-filter="">
                                            <option value="">全部</option>
                                            <option value="未关闭" selected="">未关闭</option>
                                            <option value="" selected="">全部</option>
                                            <option value="未关闭">未关闭</option>
                                            <option value="已关闭">已关闭</option>
                                        </select>
                                    </div>
@@ -89,6 +95,7 @@
                                    <label class="layui-form-label">交货时间</label>
                                    <div class="layui-input-block">
                                        <select id="Time" name="Time" lay-filter="">
                                            <option value="0" selected>全部</option>
                                            <option value="1">一周内交货</option>
                                            <option value="2">二周内交货</option>
                                            <option value="3">一月内交货</option>
@@ -96,7 +103,7 @@
                                            <option value="5">三月内交货</option>
                                            <option value="6">半年内交货</option>
                                            <option value="7">一年内交货</option>
                                            <option value="8" selected="">长期交货</option>
                                            <option value="8">长期交货</option>
                                        </select>
                                    </div>
                                </div>
@@ -113,9 +120,9 @@
                                    <label class="layui-form-label">是否已下推送货单</label>
                                    <div class="layui-input-block">
                                        <select id="HISGenerate" name="HISGenerate" lay-filter="">
                                            <option value="全部">全部</option>
                                            <option value="全部" selected="">全部</option>
                                            <option value="是">是</option>
                                            <option value="否" selected="">否</option>
                                            <option value="否">否</option>
                                        </select>
                                    </div>
                                </div>
@@ -135,20 +142,17 @@
                            <button type="button" class="layui-btn layui-btn-sm" lay-event="btn-reload"><i class="layui-icon layui-icon-refresh"></i>刷新</button>
                            <button type="button" class="layui-btn layui-btn-sm" lay-event="btn-confirm" id="btn_confirm"><i class="layui-icon layui-icon-ok-circle"></i>确认</button>
                            <button type="button" class="layui-btn layui-btn-sm" lay-event="btn-back" id="btn_back"><i class="layui-icon layui-icon-close-fill"></i>驳回</button>
                            <button type="button" class="layui-btn layui-btn-sm" lay-event="btn-report" id="btn_report"><i class="layui-icon layui-icon-close-fill"></i>汇报</button>
                            <button type="button" class="layui-btn layui-btn-sm" lay-event="btn-details"><i class="layui-icon layui-icon-form"></i>详情</button>
                            <button type="button" class="layui-btn layui-btn-sm" lay-event="btn-barcode"><i class="layui-icon layui-icon-file"></i>生成条码</button>
                            <button type="button" class="layui-btn layui-btn-sm" lay-event="btn-generate"><i class="layui-icon layui-icon-file"></i>生成送货单</button>
                            <button type="button" class="layui-btn layui-btn-sm" lay-event="btn-exit"><i class="layui-icon layui-icon-return"></i>退出</button>
                        </div>
                    </script>
                </div>
            </div>
            </div>
        </div>
    </div>
    <!--<script src="../../layuiadmin/layui/lay/modules/mobile/jquery-3.3.1.min.js"></script>-->
    <script src="../../layuiadmin/layui/layui.js" charset="utf-8"></script>
@@ -203,12 +207,12 @@
            index: 'lib/index' //主入口模块
        }).use(['index', 'form', 'laydate', 'code', 'table', 'element', 'layer'], function () {
            var $ = layui.$
            , admin = layui.admin
            , layer = layui.layer
            , laydate = layui.laydate
            , table = layui.table
            , form = layui.form
            , element = layui.element;
                , admin = layui.admin
                , layer = layui.layer
                , laydate = layui.laydate
                , table = layui.table
                , form = layui.form
                , element = layui.element;
            //常规用法
            laydate.render({
                elem: '#HDate1'
@@ -229,47 +233,50 @@
                , toolbar: '#toolbarDemo' //开启头部工具栏,并为其绑定左侧模板
                , defaultToolbar: ['filter', 'exports', 'print']
                // , where: { msg: "", NowPage: 1, OnePage: 10 }
              , cellMinWidth: 100
              , cols: [[
                //{ checkbox: true, fixed: true }
                 {type: 'checkbox', fixed: 'left'}
                //{ type: 'radio', fixed: true }
                , { field: 'sorderid', title: '序号', width: 80, fixed: true }
                , { field: 'hmainid', title: 'hmainid', sort: true, fixed: true, hide: true }
                , { field: 'hsubid', title: 'hsubid', sort: true, fixed: true, hide: true }
                , { field: '状态', title: '状态', sort: true, fixed: true }
                , { field: '单据号', title: '单据号', width: 180, sort: true, fixed: 'left' }
                , { field: '日期', title: '日期', width: 180, sort: true, fixed: 'left' }
                , { field: '供应商', title: '供应商', width: 180, sort: true, fixed: 'left' }
                , { field: '计划跟踪单号', title: '计划跟踪单号', sort: true, hide: true }
                , { field: '物料代码', title: '物料代码', width: 180, sort: true }
                , { field: '物料名称', title: '物料名称', width: 180, sort: true }
                , { field: '规格型号', title: '规格型号', width: 180, sort:  true }
                , { field: '计量单位', title: '计量单位', width: 80, sort: true }
                , { field: '数量', title: '订货数量', sort: true }
                , { field: '交货地点', title: '交货地点', sort: true }
                , { field: '交货日期', title: '交货日期', width: 180, sort: true }
                , { field: '剩余入库数量', title: '剩余入库数量', sort: true }
                , { field: '剩余收料数量', title: '剩余收料数量', sort: true }
                , { field: '关闭状态', title: '关闭状态', sort: true }
                , { field: '变更状态', title: '变更状态', sort: true }
                , { field: '委外组织', title: '委外组织', sort: true }
                , { field: '确认人', title: '确认人', sort: true, hide: true }
                , { field: '确认日期', title: '确认日期', sort: true, hide: true }
                , { field: '驳回人', title: '驳回人', sort: true, hide: true }
                , { field: '驳回日期', title: '驳回日期', sort: true, hide: true }
                , { field: '驳回理由', title: '驳回理由', sort: true, hide: true }
              ]]
           //, skin: 'row' //表格风格
           // , even: true
            , page: true //是否显示分页
            , limits: [10, 20, 50,100]
            , limit: 50 //每页默认显示的数量
              //, height: 500
            , done: function (res, curr, count) {
                _cur_page = curr;
                layer.closeAll("loading");
            }
                , cellMinWidth: 100
                , cols: [[
                    //{ checkbox: true, fixed: true }
                    { type: 'checkbox'/*, fixed: 'left'*/ }
                    //{ type: 'radio', fixed: true }
                    , { field: 'sorderid', title: '序号', width: 80/*, fixed: true*/ }
                    , { field: 'hmainid', title: 'hmainid', sort: true  /*, fixed: true*/, hide: true }
                    , { field: 'hsubid', title: 'hsubid', sort: true  /*, fixed: true*/, hide: true }
                    , { field: '状态', title: '状态', sort: true  /*, fixed: true*/ }
                    , { field: '反馈状态', title: '反馈状态', width: 100  /*, fixed: true*/ }
                    , { field: '优先级', title: '优先级', width: 100  /*, fixed: true*/ }
                    , { field: '单据号', title: '单据号', width: 180, sort: true/*, fixed: 'left'*/ }
                    , { field: '日期', title: '日期', width: 180, sort: true/*, fixed: 'left' */ }
                    , { field: '供应商', title: '供应商', width: 180, sort: true/*, fixed: 'left' */ }
                    , { field: '计划跟踪单号', title: '计划跟踪单号', sort: true, hide: true }
                    , { field: '物料编码', title: '物料编码', width: 120, sort: true }
                    , { field: '物料代码', title: '物料代码', width: 120, sort: true }
                    , { field: '物料名称', title: '物料名称', width: 120, sort: true }
                    , { field: '规格型号', title: '规格型号', width: 120, sort: true }
                    , { field: '计量单位', title: '计量单位', width: 80, sort: true }
                    , { field: '数量', title: '订货数量', sort: true }
                    , { field: '交货地点', title: '交货地点', sort: true }
                    , { field: '交货日期', title: '交货日期', width: 180, sort: true }
                    , { field: '剩余入库数量', title: '剩余入库数量', sort: true }
                    , { field: '剩余收料数量', title: '剩余收料数量', sort: true }
                    , { field: '关闭状态', title: '关闭状态', sort: true }
                    , { field: '变更状态', title: '变更状态', sort: true }
                    , { field: '委外组织', title: '委外组织', sort: true }
                    , { field: '确认人', title: '确认人', sort: true, hide: true }
                    , { field: '确认日期', title: '确认日期', sort: true, hide: true }
                    , { field: '驳回人', title: '驳回人', sort: true, hide: true }
                    , { field: '驳回日期', title: '驳回日期', sort: true, hide: true }
                    , { field: '驳回理由', title: '驳回理由', sort: true, hide: true }
                ]]
                //, skin: 'row' //表格风格
                // , even: true
                , page: true //是否显示分页
                , limits: [10, 20, 50, 100]
                , limit: 50 //每页默认显示的数量
                //, height: 500
                , done: function (res, curr, count) {
                    _cur_page = curr;
                    layer.closeAll("loading");
                }
            });
            //头工具栏事件
@@ -281,20 +288,20 @@
                        layer.alert(JSON.stringify(data));
                        break;
                        //自定义头工具栏右侧图标 - 提示
                    //自定义头工具栏右侧图标 - 提示
                    case 'btn-reload':
                        _cur_page = $(".layui-laypage-em").next().html();
                        RoadHBillNo(sql);
                            break;
                        break;
                    case 'btn-confirm':
                        var checkStatus = table.checkStatus('mainTable')
                         , data = checkStatus.data;
                            , data = checkStatus.data;
                        _cur_page = $(".layui-laypage-em").next().html();
                        if (data[0]["状态"] == "未确认") {
                            layer.confirm('是否确认单据?', { icon: 3, title: '提示' }, function (index) {
                                $.ajax({
                                    type: "get",
                                    url: GetWEBURL()+"EntrustOrderAccept",
                                    url: GetWEBURL() + "EntrustOrderAccept",
                                    data: { "HInterID": data[0]["hmainid"].toString(), "HBillNo": data[0]["单据号"].toString(), "HUser": sessionStorage["HUserName"] },
                                    success: function (result) {
                                        if (result.count == 1) { // 说明验证成功了,
@@ -311,7 +318,7 @@
                                layer.close(index);
                            });
                        }
                        else {
                            layer.msg("必须是未确认单据才能进行确认操作!", { icon: 5 });
@@ -319,37 +326,37 @@
                        break;
                    case 'btn-back':
                        var checkStatus = table.checkStatus('mainTable')
                       , data = checkStatus.data;
                            , data = checkStatus.data;
                        _cur_page = $(".layui-laypage-em").next().html();
                        var HBackRemark;
                        if (data[0]["状态"] == "未确认") {
                                layer.prompt({
                                    formType: 2,
                                    //value: '',
                                    title: '请输入驳回理由',
                                    area: ['400px', '200px'] //自定义文本域宽高
                                }, function (value, index, elem) {
                                    HBackRemark = value.toString();
                                    $.ajax({
                                        type: "get",
                                        url: GetWEBURL()+"EntrustOrderRefuse",
                                        data: { "HInterID": data[0]["hmainid"].toString(), "HBillNo": data[0]["单据号"].toString(), "HUser": sessionStorage["HUserName"], "HBackRemark": HBackRemark },
                                        success: function (result) {
                                            if (result.count == 1) { // 说明验证成功了,
                                                layer.msg("拒绝成功!", { icon: 1 });
                                                RoadHBillNo(sql);
                                            }
                                            else {
                                                // $("#verifycode").click();
                                                layer.msg(result.Message, { icon: 5 });
                                            }
                                            layer.closeAll("loading");
                            layer.prompt({
                                formType: 2,
                                //value: '',
                                title: '请输入驳回理由',
                                area: ['400px', '200px'] //自定义文本域宽高
                            }, function (value, index, elem) {
                                HBackRemark = value.toString();
                                $.ajax({
                                    type: "get",
                                    url: GetWEBURL() + "EntrustOrderRefuse",
                                    data: { "HInterID": data[0]["hmainid"].toString(), "HBillNo": data[0]["单据号"].toString(), "HUser": sessionStorage["HUserName"], "HBackRemark": HBackRemark },
                                    success: function (result) {
                                        if (result.count == 1) { // 说明验证成功了,
                                            layer.msg("拒绝成功!", { icon: 1 });
                                            RoadHBillNo(sql);
                                        }
                                    })
                                    //alert(value); //得到value
                                    layer.close(index);
                                });
                                        else {
                                            // $("#verifycode").click();
                                            layer.msg(result.Message, { icon: 5 });
                                        }
                                        layer.closeAll("loading");
                                    }
                                })
                                //alert(value); //得到value
                                layer.close(index);
                            });
                        }
                        else {
@@ -358,7 +365,7 @@
                        break;
                    case 'btn-details':
                        var checkStatus = table.checkStatus('mainTable')
                       , data = checkStatus.data;
                            , data = checkStatus.data;
                        var linterid = data[0].hmainid.toString();
                        //if (AllowLoadData(sSubStr) != false) {//非空验证
@@ -376,9 +383,29 @@
                            }
                        })
                        break;
                    case 'btn-barcode':
                        var checkStatus = table.checkStatus('mainTable')
                            , data = checkStatus.data;
                        //if (data[0].未生成条码数量 <= 0) {
                        //    layer.msg("选中行已生成条码!", { icon: 5 });
                        //}
                        layer.open({
                            type: 2
                            , area: ['100%', '100%']
                            , title: '条码生成'
                            , shade: 0.6 //遮罩透明度
                            , maxmin: false //允许全屏最小化
                            , anim: 0 //0-6的动画形式,-1不开启
                            , content: ['../../views/SRM/SRM_BarCodeBill.html?linterid=' + data[0].hmainid + '&lentryid=' + data[0].hsubid + '&type =SRM_EntrustOrderBill', 'yes']
                            , resize: false
                            , cancel: function () {
                                $(".layui-btn").removeClass("layui-btn-disabled");
                            }
                        })
                        break;
                    case 'btn-generate':
                        var checkStatus = table.checkStatus('mainTable')
                        , data = checkStatus.data;
                            , data = checkStatus.data;
                        ajaxLabelData = data;
                        var rows = '';
                        var HEntry = '';
@@ -387,31 +414,100 @@
                                rows += data[i].hmainid.toString() + ',' + data[i].hsubid.toString() + ';';
                            }
                            else {
                                HEntry += (i+1) + ',';
                                HEntry += (i + 1) + ',';
                            }
                        }
                        if (HEntry != '') {
                            HEntry = HEntry.substring(0, HEntry.length - 1);
                            layer.msg("第" + HEntry + "行未确认!", { icon: 5 });
                        }
                        else{
                        layer.open({
                            type: 2
                            , area: ['100%', '100%']
                            , title: '送货单'
                            , shade: 0.6 //遮罩透明度
                            , maxmin: false //允许全屏最小化
                            , anim: 0 //0-6的动画形式,-1不开启
                            , content: ['../../views/SRM/SRM_POInStockBill_Edit.html?linterid=' + data[0].hmainid.toString() + '&lentryid=' + rows.toString() + '&lSourceBillType=1601', 'yes']
                            , resize: false
                            //, cancel: function () {
                            //    $(".layui-btn").removeClass("layui-btn-disabled");
                            //}
                        })
                        else {
                            layer.open({
                                type: 2
                                , area: ['100%', '100%']
                                , title: '送货单'
                                , shade: 0.6 //遮罩透明度
                                , maxmin: false //允许全屏最小化
                                , anim: 0 //0-6的动画形式,-1不开启
                                , content: ['../../views/SRM/SRM_POInStockBill_Edit.html?linterid=' + data[0].hmainid.toString() + '&lentryid=' + rows.toString() + '&lSourceBillType=1601', 'yes']
                                , resize: false
                                //, cancel: function () {
                                //    $(".layui-btn").removeClass("layui-btn-disabled");
                                //}
                            })
                        }
                        break;
                    case 'btn-exit':
                        parent.layui.admin.events.closeThisTabs();
                        break;
                    case 'btn-report':
                        var checkStatus = table.checkStatus('mainTable')
                            , data = checkStatus.data;
                        _cur_page = $(".layui-laypage-em").next().html();
                        var arr = new Array();
                        var checkStatus = table.checkStatus('mainTable'),
                            data = checkStatus.data;
                        if (checkStatus.data.length == 0) {
                            return layer.msg('请选择数据');
                        }
                        for (var i = 0; i < data.length; i++) {
                            arr.push(data[i].hmainid + '-' + data[i].hsubid);
                        }
                        var OrderBackId = "";
                        layer.open({
                            type: 2,
                            skin: 'layui-layer-rim', //加上边框
                            title: '订单反馈状态',
                            closeBtn: 1,
                            shift: 2,
                            area: ['80%', '80%'],
                            maxmin: true,
                            content: ['../PublicPage/OrderBackInfomation.html', 'yes'],
                            btn: ['确定', '取消']
                            , btn1: function (index, layero) {
                                //按钮【按钮一】的回调
                                var iframeWindow = window['layui-layer-iframe' + index]  //获取弹框页面
                                var checkStatus = iframeWindow.layui.table.checkStatus('mainTable');//获取table的elem:"#test"
                                if (checkStatus.data.length === 0) {
                                    return layer.msg('请选择数据');
                                }
                                OrderBackId = checkStatus.data[0].HItemID.toString();
                                $.ajax({
                                    url: GetWEBURL() + 'EntrustOrderBack',
                                    //url: 'http://localhost:8082/LuBaoAPI/' + 'POOrderBack',
                                    async: false,
                                    type: "GET",
                                    dataType: "json",
                                    data: { "HmainidList": arr.toString(), "OrderBackId": OrderBackId },
                                    success: function (data1) {
                                        if (data1.Message.indexOf("成功") > 0) {
                                            layer.msg("操作成功", { time: 3 * 1000, icon: 1 }, function () {
                                                var index = layer.getFrameIndex(window.name);
                                                //关闭当前frame
                                                layer.close(index);
                                                //修改为功后刷新界面
                                                window.location.reload();
                                            });
                                        } else {
                                            layer.alert(data1.Message, { icon: 5 });
                                        }
                                    }, error: function (e) {
                                        layer.alert(data1.Message, { icon: 5 });
                                    }
                                });
                            }
                            , btn2: function (index, layero) {
                                //按钮【按钮二】的回调
                                //return false 开启该代码可禁止点击该按钮关闭
                            },
                            end: function () {
                            },
                            success: function (layero, index) {
                            }
                        });
                        break;
                };
            });
@@ -419,11 +515,11 @@
            ///加载显示数据
            function RoadHBillNo (sqlWhere) {
            function RoadHBillNo(sqlWhere) {
                where = sqlWhere;
                $.ajax({
                    type: "get",
                    url: GetWEBURL()+"GetEntrustOrderBill",
                    url: GetWEBURL() + "GetEntrustOrderBill",
                    async: true,
                    data: { "HSupNo": sessionStorage["HUserName"], "sqlWhere": sqlWhere },
                    success: function (result) {
@@ -452,6 +548,8 @@
                    sqlWhere += " and 状态 like ^^%" + $("#HStatus").val() + "%^^";
                if ($("#HBillNo").val() != "")
                    sqlWhere += " and 单据号 like ^^%" + $("#HBillNo").val() + "%^^";
                if ($("#HShortNumber").val() != "")
                    sqlWhere += " and 物料编码 like ^^%" + $("#HShortNumber").val() + "%^^";
                if ($("#HNumber").val() != "")
                    sqlWhere += " and 物料代码 like ^^%" + $("#HNumber").val() + "%^^";
                if ($("#HName").val() != "")
@@ -477,70 +575,71 @@
                    }
                }
                var Time = $("#Time").val();
                var dd = new Date();
                var dt;
                switch (Time)
                {
                    case 1:    dd = new Date(dd.setDate(dd.getDate() + 7));
                    case 2:    dd = new Date(dd.setDate(dd.getDate() + 14));
                    case 3:    dd = new Date(dd.setMonth(dd.getMonth() + 1));
                    case 4:    dd = new Date(dd.setMonth(dd.getMonth() + 2));
                    case 5:    dd = new Date(dd.setMonth(dd.getMonth() + 3));
                    case 6:    dd = new Date(dd.setMonth(dd.getMonth() + 6));
                    case 7:    dd = new Date(dd.setMonth(dd.getMonth() + 12));
                    default:    dd = new Date(dd.setDate(dd.getDate()));
                }
                dt = dd.getFullYear().toString();
                if (dd.getMonth() + 1 < 10) {
                    dt = dt + "-0" + (dd.getMonth() + 1).toString();
                }
                else {
                    dt = dt + "-0" + (dd.getMonth() + 1).toString();
                }
                if (dd.getDate() < 10) {
                    dt = dt + "-0" + dd.getDate().toString();
                }
                else {
                    dt = dt + "-" + dd.getDate().toString();
                }
                if (Time != 8) {
                    sqlWhere += " and 交货日期 <= ^^" + dt + "^^";
                if (Time > 0) {
                    var dd = new Date();
                    var dt;
                    switch (Time) {
                        case 1: dd = new Date(dd.setDate(dd.getDate() + 7));
                        case 2: dd = new Date(dd.setDate(dd.getDate() + 14));
                        case 3: dd = new Date(dd.setMonth(dd.getMonth() + 1));
                        case 4: dd = new Date(dd.setMonth(dd.getMonth() + 2));
                        case 5: dd = new Date(dd.setMonth(dd.getMonth() + 3));
                        case 6: dd = new Date(dd.setMonth(dd.getMonth() + 6));
                        case 7: dd = new Date(dd.setMonth(dd.getMonth() + 12));
                        default: dd = new Date(dd.setDate(dd.getDate()));
                    }
                    dt = dd.getFullYear().toString();
                    if (dd.getMonth() + 1 < 10) {
                        dt = dt + "-0" + (dd.getMonth() + 1).toString();
                    }
                    else {
                        dt = dt + "-0" + (dd.getMonth() + 1).toString();
                    }
                    if (dd.getDate() < 10) {
                        dt = dt + "-0" + dd.getDate().toString();
                    }
                    else {
                        dt = dt + "-" + dd.getDate().toString();
                    }
                    if (Time != 8) {
                        sqlWhere += " and 交货日期 <= ^^" + dt + "^^";
                    }
                }
                sql = sqlWhere;
                //从第一页开始
                _cur_page = 1;
                RoadHBillNo(sqlWhere);
        });
            });
            var $ = layui.$, active = {
                f_Query: function () { //查询
                },
                f_Qrjq: function () { //接受
                },
                f_Bhjq: function () { //拒绝
                },
                    //JSreload: function () {
                    //    var demoReload = $('#test-table-demoReload');
                    //    //执行重载
                    //    table.JSreload('test-table-reload', {
                    //        page: {
                    //            curr: 1 //重新从第 1 页开始
                    //        }
                    //      , where: {
                    //          key: {
                    //              id: demoReload.val()
                    //          }
                    //      }
                    //    });
                    //}
                };
                //JSreload: function () {
                //    var demoReload = $('#test-table-demoReload');
                //    //执行重载
                //    table.JSreload('test-table-reload', {
                //        page: {
                //            curr: 1 //重新从第 1 页开始
                //        }
                //      , where: {
                //          key: {
                //              id: demoReload.val()
                //          }
                //      }
                //    });
                //}
            };
            $('.test-table-reload-btn .layui-btn').on('click', function () {
                var type = $(this).data('type');
                active[type] ? active[type].call(this) : '';
            });
          });
        });
    </script>
</body>
</html>