智云srmLayUi(安瑞和瑞琪)(通用版本)
111
王 垚
2022-12-16 7f55a1f12d5c4e00d95668a31a542ca848850ea2
WebSRM/layuiAdmin.std-v1.2.1/src/views/SRM/SRM_POOrderBillList.html
@@ -33,7 +33,7 @@
                                    </div>
                                    <div class="layui-inline">
                                        <label class="layui-form-label">订单状态</label>
                                        <div class="layui-input-block"  >
                                        <div class="layui-input-block">
                                            <select name="HStatus" id="HStatus" lay-filter="">
                                                <option value="" selected="">全部</option>
                                                <option value="未确认">未确认</option>
@@ -45,25 +45,25 @@
                                    <div class="layui-inline">
                                        <label class="layui-form-label">单据号</label>
                                        <div class="layui-input-block">
                                            <input type="text" class="layui-input" name="HBillNo" id="HBillNo"  >
                                            <input type="text" class="layui-input" name="HBillNo" id="HBillNo">
                                        </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"  >
                                            <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"  >
                                            <input type="text" class="layui-input" name="HNumber" id="HNumber">
                                        </div>
                                    </div>
                                    <div class="layui-inline">
                                        <label class="layui-form-label">物料名称</label>
                                        <div class="layui-input-block">
                                            <input type="text" class="layui-input" name="HName" id="HName"  >
                                            <input type="text" class="layui-input" name="HName" id="HName">
                                        </div>
                                    </div>
@@ -76,12 +76,12 @@
                                        <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"  >
                                                <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"  >
                                            <div class="layui-input-block">
                                                <select id="HClStatus" name="HClStatus" lay-filter="">
                                                    <option value="" selected>全部</option>
                                                    <option value="未关闭">未关闭</option>
@@ -92,18 +92,18 @@
                                        <div class="layui-inline">
                                            <label class="layui-form-label">开始日期</label>
                                            <div class="layui-input-block">
                                                <input type="text" class="layui-input" name="HDate1" id="HDate1"  >
                                                <input type="text" class="layui-input" name="HDate1" id="HDate1">
                                            </div>
                                        </div>
                                        <div class="layui-inline">
                                            <label class="layui-form-label">结束日期</label>
                                            <div class="layui-input-block">
                                                <input type="text" class="layui-input" name="HDate2" id="HDate2"  >
                                                <input type="text" class="layui-input" name="HDate2" id="HDate2">
                                            </div>
                                        </div>
                                        <div class="layui-inline">
                                            <label class="layui-form-label">交货时间</label>
                                            <div class="layui-input-block"  >
                                            <div class="layui-input-block">
                                                <select id="Time" name="Time" lay-filter="">
                                                    <option value="0" selected>全部</option>
                                                    <option value="1">一周内交货</option>
@@ -119,14 +119,14 @@
                                        </div>
                                        <div class="layui-inline">
                                            <label class="layui-form-label">采购组织</label>
                                            <div class="layui-input-block"  >
                                            <div class="layui-input-block">
                                                <select id="HPURCHASEORGID" name="HPURCHASEORGID" lay-filter="">
                                                </select>
                                            </div>
                                        </div>
                                        <div class="layui-inline">
                                            <label class="layui-form-label">是否已下推</label>
                                            <div class="layui-input-block"  >
                                            <div class="layui-input-block">
                                                <select id="HISGenerate" name="HISGenerate" lay-filter="">
                                                    <option value="全部" selected>全部</option>
                                                    <option value="是">是</option>
@@ -150,7 +150,7 @@
                            <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-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>
                            <button type="button" class="layui-btn layui-btn-sm" lay-event="btn-HideColumn"><i class="layui-icon layui-icon-return"></i>隐藏列设置</button>
@@ -160,13 +160,11 @@
            </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>
    <script src="../../../../Scripts/webConfig.js"></script>
    <script>
        var _cur_page = 1;
        var sql = " and 1=1";
        var sql = "";
        var options = document.getElementById('HStatus').children;
        function getUrlVars() {
            var vars = [], hash;
@@ -219,6 +217,8 @@
            laydate.render({
                elem: '#HDate2'
            });
            //不需要显示的字段 可扩展
            var titleData = ["HItemID", "HParentID"];
            var option = [];
            var HModName = "SRM_POOrderBillList";
            //#region 进入页面既加载
@@ -230,9 +230,9 @@
                $("#HPURCHASEORGID").append(Organization);
                form.render('select');
                //初始化表格
                set_InitGrid();
                //set_InitGrid();
                //显示列数据
                DisPlay_HideColumn();
                //DisPlay_HideColumn();
                //直接执行列表筛选 加载数据到网格
                get_FastQuery(table, option)
            }
@@ -246,28 +246,28 @@
                    , { 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: 100/*, fixed: true */}
                    , { field: '单据号', title: '单据号', width: 150, sort: true/*, fixed: 'left' */ }
                    , { field: '计划跟踪单号', title: '计划跟踪单号', sort: true, hide: true }
                    , { field: '自定义标识', title: '自定义标识', width: 120 }
                    , { field: '送货地点', title: '送货地点', width: 120 }
                    , { field: '包装标识', title: '包装标识', width: 120 }
                    , { field: '唯一ID', title: '唯一ID', width: 120 }
                    //, { 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: '已发货数量', sort: true }
                    , { field: '未发货数量', title: '未发货数量', sort: true }
                    , { field: '交货地点', title: '交货地点', sort: true }
                    , { field: '交货日期', title: '交货日期', width: 180, sort: true }
                    , { field: '日期', title: '日期', width: 120, sort: true/*, fixed: 'left' */ }
                    , { field: 'HSupID', title: 'HSupID', width: 180, hide: true }
                    , { field: '供应商', title: '供应商', width: 180, sort: true/*, fixed: 'left' */ }
                    , { field: '计划跟踪单号', title: '计划跟踪单号', sort: true, hide: true }
                    , { field: 'F_xbkf_Combo', title: '自定义标识', width: 120 }
                    , { field: 'FSHDD', title: '送货地点', width: 120 }
                    , { field: 'FStockInQty', title: '累计入库数量', width: 120 }
                    , { field: '包装标识', title: '包装标识', width: 120 }
                    , { field: 'FMRBQTY', title: '累计退料数量', width: 120 }
                    //, { 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 }
@@ -284,26 +284,16 @@
                    elem: '#mainTable'
                    , toolbar: '#toolbarDemo'
                    , page: true
                    , cellMinWidth: 120
                    //, cellMinWidth: 120
                    , totalRow: true
                    , limit: 500
                    , height: 'full-50'
                    , cols: [columns]
                    //, cols: [columns]
                    , limits: [500, 5000, 20000]
                    , done: function (res, curr, count) {
                    }
                };
                ////设置列宽
                //var colWidth = getColumnsWidth();
                //if (colWidth == "" || colWidth == []) {
                //}
                //else {
                //    $.each(columns, function (x, m) {
                //        m["width"] = colWidth[x];
                //    });
                //}
            }
            //隐藏列设置
            function get_HideColumn() {
@@ -340,16 +330,18 @@
                    success: function (data1) {
                        if (data1.data.length != 0) {
                            var dataCol = [];//数据库查询出的列数据
                            var titleData = [];//不需要显示的字段 可扩展
                            dataCol = data1.data[0].HGridString.split(',');
                            for (var i = 0; i < option.cols[0].length - 2; i++) {
                            for (var i = 0; i < dataCol.length; i++) {
                                var dataCols = dataCol[i].split('|');
                                //隐藏列
                                if (dataCols[1] == 1) {
                                    option.cols[0][i + 1]["hide"] = true;
                                }
                                //显示列
                                if (dataCols[1] == 0 && $.inArray(option.cols[0][i + 1]["title"], titleData) == -1) {
                                    option.cols[0][i + 1]["hide"] = false;
                                }
                                //隐藏id
                                //设置列宽
                                if (dataCols[3] > 0) {
                                    option.cols[0][i + 1]["width"] = dataCols[3];
@@ -366,10 +358,7 @@
                                //} 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":
@@ -383,7 +372,6 @@
                                        break;
                                }
                            }
                            //取消冻结列
                            for (var i = 1; i < option.cols[0].length - 1; i++) {
                                if (option.cols[0][i]["fixed"] != null) {
@@ -411,22 +399,63 @@
                    }
                })
            }
            ///加载显示数据
            //加载显示数据
            function get_Display(sqlWhere) {
                var wait = layer.load();//遮罩
                $.ajax({
                    type: "get",
                    type: "POST",
                    url: GetWEBURL() + "GetPOOrderBill",
                    async: true,
                    data: { "HSupNo": sessionStorage["HUserName"], "sqlWhere": sqlWhere },
                    success: function (result) {
                        if (result.Message == "获取成功") {
                            option.data = result.data;
                            table.render(option);
                    success: function (data1) {
                        if (data1.Message == "获取成功") {
                        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 });
                        }
                        //在列表左边添加勾选框
                        col.push({ type: 'checkbox', fixed: 'left' });
                        for (var i = 0; i < data.length; i++) {
                            // if (data[i].name == 'HInterID' || data[i].name == 'HBillType' || data[i].name == 'hmainid') {
                            if ($.inArray(data[i].name, titleData) > -1) {
                                col.push({ field: data[i].id, title: data[i].name, align: 'center', hide: true }); //隐藏id列
                            }
                            else if (data[i].name.indexOf('id') > -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'
                            , cols: [col]
                            , data: data1.data
                            , height: 'full-80'
                            , page: true
                            , cellMinWidth: 90
                            , limit: 50
                            , limits: [50, 500, 5000, 20000]
                        }
                        table.render(option);
                        //刷新表格数据
                        DisPlay_HideColumn();
                            layer.close(wait);
                        } else {
                            layer.close(wait);
                            layer.alert(result.Message, { icon: 5 });
                            layer.alert(data1.Message, { icon: 5 });
                        }
                    },
                    error: function (result) {
@@ -441,7 +470,7 @@
            });
            //查询条件
            function get_FastQuery(table, option) {
                var sqlWhere = " and 1=1 ";
                var sqlWhere = "";
                if ($("#HStatus").val() != "")
                    sqlWhere += " and 状态 like ^^%" + $("#HStatus").val() + "%^^";
                if ($("#HBillNo").val() != "")
@@ -527,32 +556,26 @@
                        var checkStatus = table.checkStatus('mainTable')
                            , 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() + "POOrderAccept",
                                    data: { "HInterID": data[0]["hmainid"].toString(), "HBillNo": data[0]["单据号"].toString(), "HUser": sessionStorage["HUserName"] },
                                    success: function (result) {
                                        if (result.count == 1) { // 说明验证成功了,
                                            layer.msg(result.Message, { icon: 1 });
                                            RoadHBillNo(sql);
                                        }
                                        else {
                                            // $("#verifycode").click();
                                            layer.msg(result.Message, { icon: 5 });
                                        }
                                        layer.closeAll("loading");
                        layer.confirm('是否确认单据?', { icon: 3, title: '提示' }, function (index) {
                            $.ajax({
                                type: "get",
                                url: GetWEBURL() + "POOrderAccept",
                                data: { "HInterID": data[0]["hmainid"].toString(), "HBillNo": data[0]["单据号"].toString(), "HUser": sessionStorage["HUserName"] },
                                success: function (result) {
                                    if (result.count == 1) { // 说明验证成功了,
                                        layer.msg(result.Message, { icon: 1 });
                                        get_FastQuery(table, option);
                                    }
                                })
                                    else {
                                        // $("#verifycode").click();
                                        layer.msg(result.Message, { icon: 5 });
                                    }
                                    layer.closeAll("loading");
                                }
                            })
                            layer.close(index);
                        });
                                layer.close(index);
                            });
                        }
                        else {
                            layer.msg("必须是未确认单据才能进行确认操作!", { icon: 5 });
                        }
                        break;
                    case 'btn-back':
                        var checkStatus = table.checkStatus('mainTable')
@@ -575,7 +598,6 @@
                                    success: function (result) {
                                        if (result.count == 1) { // 说明验证成功了,
                                            layer.msg("拒绝成功!", { icon: 1 });
                                            RoadHBillNo(sql);
                                        }
                                        else {
                                            // $("#verifycode").click();
@@ -616,6 +638,10 @@
                    case 'btn-generate':
                        var checkStatus = table.checkStatus('mainTable')
                            , data = checkStatus.data;
                        if (data.length == 0) {
                            layer.alert("请选择数据", { icon: 5 });
                            return;
                        }
                        ajaxLabelData = data;
                        //根据选中的采购订单,重新从金蝶云同步采购订单关联数量过来。考虑采购订单删除和关闭状态,同步状态
                        var ids = "";
@@ -639,10 +665,10 @@
                            success: function (data) {
                                if (data.code == "0") {
                                    layer.alert(data.Message, { icon: 5 });
                                    get_FastQuery(table, option);
                                    hasPrivileage = false;
                                    table.reload('mainTable', {
                                        data: ajaxReturnData
                                        , height: 'full-10'
                                        height: 'full-10'
                                        , page: {
                                            curr: _cur_page //必须从第 1 页开始
                                        }
@@ -685,19 +711,18 @@
                                , anim: 0 //0-6的动画形式,-1不开启
                                , content: ['../../views/SRM/SRM_POInStockBill_Edit.html?linterid=' + data[0].hmainid.toString() + '&lentryid=' + rows.toString() + '&lSourceBillType=1102', 'yes']
                                , resize: false
                                //, cancel: function () {
                                //    $(".layui-btn").removeClass("layui-btn-disabled");
                                //}
                                ,end: function () {
                                    get_FastQuery(table, option)
                                }
                            })
                        }
                        break;
                    case 'btn-barcode':
                        var checkStatus = table.checkStatus('mainTable')
                            , data = checkStatus.data;
                        //if (data[0].未生成条码数量 <= 0) {
                        //    layer.msg("选中行已生成条码!", { icon: 5 });
                        //}
                        if (data.length == 0) {
                            return layer.msg('请选择数据')
                        }
                        layer.open({
                            type: 2
                            , area: ['100%', '100%']