wangbin
2024-07-08 8f9b4d349842c42a9c26d5e4bf56f9fa2fafc162
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
<!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/zgqCustom/zgqCustom.js"></script>
    <script src="../../../layuiadmin/layui/layui.js"></script>
    <script src="../../../layuiadmin/Scripts/json2.js"></script>
    <script src="../../../layuiadmin/Scripts/jquery-1.4.1.js"></script>
    <script src="../../../layuiadmin/Scripts/webConfig.js"></script>
    <script src="../../../layuiadmin/PubCustom.js"></script>
    <style>
        .layui-row .layui-btn layui-btn-normal {
            margin: 0px 10px;
        }
 
        .layui-inline {
            margin: 0px 80px;
        }
    </style>
</head>
<body>
    <div class="layui-fluid" style="padding: 0;">
        <div class="layui-card" style="padding: 2px;background-color: #efefef;">
            <div class="layui-card-body" style="padding: 1px;">
                <form class="layui-form" action="" lay-filter="formData" style="background-color:white;">
                    <div style="padding: 10px; ">
                        <button class="layui-btn layui-btn-normal" style="margin-left: 0px" type="button" lay-submit="" lay-filter="Edit" id="Edit">退出</button>
                        <!--<button class="layui-btn layui-btn-normal" style="margin-left: 0px" type="button" lay-submit="" lay-filter="Yce" id="Yce">引出Excel</button>
                        <button class="layui-btn layui-btn-normal" style="margin-left: 0px" type="button" lay-submit="" lay-filter="Sc" id="Sc">上查</button>
                        <button class="layui-btn layui-btn-normal" style="margin-left: 0px" type="button" lay-submit="" lay-filter="Xc" id="Xc">下查</button>
                        <button class="layui-btn layui-btn-normal" style="margin-left: 0px" type="button" lay-submit="" lay-filter="Ylan" id="Ylan">预览</button>
                        <button class="layui-btn layui-btn-normal" style="margin-left: 0px" type="button" lay-submit="" lay-filter="Dyin" id="Dyin">打印</button>-->
                    </div>
                    <div class="layui-tab" lay-filter="tab-POStockInBill">
                        <div class="layui-tab-content">
                            <!--基本信息-->
                            <div class="layui-tab-item layui-show">
                                <div class="layui-form-item" style="padding-top: 10px;">
                                    <div class="layui-row" style="text-align:center;">
                                        <div class="layui-inline">
                                            <label class="layui-form-label" style="width: 80px;font-size:25px;">配料单</label>
                                        </div>
                                    </div>
                                    <div class="layui-row">
                                        <div class="layui-inline">
                                            <label class="layui-form-label" style="width: 85px; margin-left: -5px;">拣料配送单号</label>
                                            <div class="layui-input-block">
                                                <input type="text" class="layui-input" lay-verify="HRemark" name="HRemark" id="HRemark" style="display: inline-block;" readonly>
                                                <input type="text" class="layui-input" name="HInterID" lay-verify="HInterID" id="HInterID" style="display: inline-block;display:none">
                                            </div>
                                        </div>
                                        <button class="layui-btn layui-btn-normal" type="button" lay-submit="" lay-filter="Ppkc" id="Ppkc">匹配库存</button>
                                        <button class="layui-btn layui-btn-normal" type="button" lay-submit="" lay-filter="Ckfl" id="Ckfl">仓库发料</button>
                                    </div>
                                    <div class="layui-tab" lay-filter="">
                                        <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">
                                                    <table class="" id="mainTable" lay-filter="mainTable"></table>
                                                </div>
                                            </div>
                                            <!--拣料明细-->
                                            <div class="layui-tab-item">
                                                <div class="layui-form-item">
                                                    <table class="" id="mainTable1" lay-filter="mainTable1"></table>
                                                </div>
                                            </div>
                                        </div>
                                    </div>
                                </div>
                            </div>
                        </div>
                    </div>
                </form>
            </div>
        </div>
    </div>
</body>
</html>
<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
            , element = layui.element;
        //查询条件
        var sWhere = "";
        var option = [];
        //#endregion
 
        //#region 进入页面即加载
 
        //获取页面跳转参数
        var params = get_UrlVars();
        if (typeof (params[params[0]]) != "undefined") {
            sWhere = params[params[0]];
        }
 
        //初始化界面
        set_ClearBill();
 
        //#endregion
 
        //#region 触发事件:包括form.on(){}格式的所有点击事件、选择事件等
 
        //过滤查询
        form.on('submit(Cx)', function () {
            get_FastQuery();
        })
 
        //退出
        form.on('submit(Edit)', function () {
            Pub_Close(1);
        })
 
        //匹配库存
        form.on('submit(Ppkc)', function () {
            layer.confirm("确定要匹配库存?", {
                btn: ['确定', '取消']
                , btn1: function (index) {
                    layer.close(index)
                    sWhere = $("#HInterID").val();
                    get_Display1(sWhere);
                    set_InitGrid1();
                    $('#Ppkc').addClass("layui-btn-disabled").attr("disabled", true);//按钮禁用
                    $('#Ckfl').removeClass("layui-btn-disabled").attr("disabled", false); //按钮恢复
                }
            })
        })
 
        //仓库发料
        form.on('submit(Ckfl)', function () {
            get_Ckfl();
        })
 
        //行内事件
        table.on('tool(mainTable)', function (obj) {
            set_GridCellCheck(obj); //行内快捷键筛选
        })
 
        //#endregion
 
        //#region 此页面所有的方法
 
        //初始化界面
        function set_ClearBill()
        {
            set_InitGrid();
            get_Display(sWhere);
 
            //禁用按钮
            $('#Ckfl').addClass("layui-btn-disabled").attr("disabled", true);//按钮禁用
        }
        //#region 拣料信息
        function set_InitGrid() {
            option = {
                elem: '#mainTable'
                //, toolbar: '#toolbarDemo'
                , height: 420
                , page: true
                , cellMinWidth: 90
                , limit: 50
                , limits: [50, 500, 5000, 20000]
                , cols: [[
                    //{ type: 'checkbox', fixed: 'left' }
                    { field: '单据号', title: '单据号',width: 150 }
                    , { field: '单据类型', title: '单据类型', width: 170}
                    , { field: '日期', title: '日期', width: 170, templet: "<div>{{d.日期 ==null ?'':layui.util.toDateString(d.日期, 'yyyy-MM-dd')}}</div>" }
                    , { field: '单据状态', title: '单据状态', width: 260, }
                    , { field: '表头备注', title: '表头备注', width: 160 }
                    , { field: '制单人', title: '制单人', width: 160 }
                    , { field: '制单日期', title: '制单日期', width: 160, templet: "<div>{{d.制单日期 ==null ?'':layui.util.toDateString(d.制单日期, 'yyyy-MM-dd')}}</div>" }
                    , { field: '部门', title: '部门', width: 160 }
                    , { field: '物料名称', title: '物料名称', width: 160 }
                    , { field: '数量', title: '数量', width: 160 }
                    , { field: '工序', title: '工序', width: 160 }
                    , { field: '仓库', title: '仓库', width: 160}
                    , { field: '仓位', title: '仓位', width: 160 }
                    , { field: '退回人', title: '退回人', width: 160 }
                    , { field: '退回日期', title: '退回日期', width: 160, templet: "<div>{{d.退回日期 ==null ?'':layui.util.toDateString(d.退回日期, 'yyyy-MM-dd')}}</div>" }
                    , { field: '退回原因', title: '退回原因', width: 160 }
                    , { field: '修改人', title: '修改人', width: 160 }
                    , { field: '修改日期', title: '修改日期', width: 160, templet: "<div>{{d.修改日期 ==null ?'':layui.util.toDateString(d.修改日期, 'yyyy-MM-dd')}}</div>" }
                    , { field: '关闭人', title: '关闭人', width: 160 }
                    , { field: '关闭日期', title: '关闭日期', width: 160, templet: "<div>{{d.关闭日期 ==null ?'':layui.util.toDateString(d.关闭日期, 'yyyy-MM-dd')}}</div>" }
                    , { field: '作废人', title: '作废人', width: 160 }
                    , { field: '作废日期', title: '作废日期', width: 160, templet: "<div>{{d.作废日期 ==null ?'':layui.util.toDateString(d.作废日期, 'yyyy-MM-dd')}}</div>" }
                ]]
            };
        }
 
        //查询加载数据
        function get_Display(sWhere) {
 
            var ajaxLoad = layer.load();
            $.ajax({
                url: GetWEBURL() + '/Sc_ComplementGoods/ComplementGoodsBill',
                type: "GET",
                data: { "sWhere": sWhere},
                success: function (data1) {
                    if (data1.count == 1) {
                        $("#HRemark").val(data1.data[0].单据号);
                        $("#HInterID").val(data1.data[0].hmainid);
                        option.data = data1.data;
                        table.render(option);
                        layer.close(ajaxLoad);
                        //layer.alert("查询成功", { icon: 1 });
                    } else {
                        layer.close(ajaxLoad);
                        layer.alert(data1.code + data1.Message, { icon: 5 });
                    }
                }, error: function () {
                    layer.close(ajaxLoad);
                    layer.alert("接口请求失败!", { icon: 5 });
                }
            });
        }
        //#endregion
 
        //#region 明细信息
        function get_Display1(sWhere) {
 
            var ajaxLoad = layer.load();
            $.ajax({
                url: GetWEBURL() + '/Sc_ComplementGoods/ComplementGoodsBill_C',
                type: "GET",
                data: { "sWhere": sWhere, "user": sessionStorage["HUserName"] },
                success: function (data1) {
                    if (data1.count == 1) {
                        option1.data = data1.data;
                        table.render(option1);
                        layer.close(ajaxLoad);
                        //layer.alert("查询成功", { icon: 1 });
                    } else {
                        layer.close(ajaxLoad);
                        layer.alert(data1.code + data1.Message, { icon: 5 });
                    }
                }, error: function () {
                    layer.close(ajaxLoad);
                    layer.alert("接口请求失败!", { icon: 5 });
                }
            });
        }
 
        function set_InitGrid1() {
            option1 = {
                elem: '#mainTable1'
                //, toolbar: '#toolbarDemo'
                , height: 420
                , page: true
                , cellMinWidth: 90
                , limit: 50
                , limits: [50, 500, 5000, 20000]
                , cols: [[
                    { field: '生产车间', title: '生产车间', width: 150 }
                    , { field: '物料名称', title: '物料名称', width: 170 }
                    , { field: '物料代码', title: '物料代码', width: 170 }
                    , { field: '规格型号', title: '规格型号', width: 260, }
                    , { field: '汇总叫料数量', title: '汇总叫料数量', width: 160 }
                    , { field: '未拣料数量', title: '未拣料数量', width: 160 }
                    , { field: '本次拣料数量', title: '本次拣料数量', width: 160, edit: "text" }
                    , { field: '最大拣料数量', title: '最大拣料数量', width: 160 }
                    , { field: '当前仓库库存', title: '当前仓库库存', width: 160 }
                    , { field: '计量单位', title: '计量单位', width: 160 }
                    , { field: '工段', title: '工段', width: 160 }
                    , { field: '调出仓库', title: '调出仓库', width: 160 }
                    , { field: '调出仓位', title: '调出仓位', width: 160 }
                ]]
            };
        }
        //#endregion
 
        //行内快捷键
        function set_GridCellCheck(obj) {
            $(document).off('keydown', ".layui-table-edit").on('keydown', '.layui-table-edit', function (e) {
                if (event.key == "F7") {
                    if (obj.event == "Warehouse") {
                        //打开维修项目小窗体
                        layer.open({
                            type: 2
                            , skin: "layui-layer-rim" //加上边框
                            , title: "仓库列表"  //标题
                            , closeBtn: 1  //窗体右上角关闭 的 样式
                            , shift: 2 //弹出动画
                            , area: ["90%", "90%"] //窗体大小
                            , maxmin: true //设置最大最小按钮是否显示
                            , content: ["../../Baseset/基础资料/Gy_WarehouseList.html", "yes"]
                            , btn: ["确定", "取消"]
                            , btn1: function (index, laero) {
                                //按钮一  的回调
                                var iframeWindow = window["layui-layer-iframe" + index];//获取弹框页面
                                var checkStatus = iframeWindow.layui.table.checkStatus("mainTable");//获取选中的数据
 
                                if (checkStatus.data.length != 1) {
                                    return layer.msg("请选择一条数据");
                                }
                                //更新表格缓存的数据
                                obj.update({
                                    "调出仓库": checkStatus.data[0].HName
                                    , "调出仓库id": checkStatus.data[0].HItemID
                                })
                                console.log(checkStatus.data[0].HItemID)
                                layer.close(index);//关闭弹窗
                            }
                        })
                    }
                }
            })
        }
 
        //获取传递数据
        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_Ckfl() {
            if (table.cache['mainTable1'].length == 0) {
                return layer.msg("无数据,无法发料!");
            }
            else {
                layer.confirm("确定要配送生成调拨单", {
                    btn: ['确定', '取消']
                    , btn1: function (index) {
                        $('#Ckfl').addClass("layui-btn-disabled").attr("disabled", true); //仓库发料按钮禁止
                        layer.close(index);
 
                        var sMainStr = JSON.stringify(table.cache['mainTable1']) + ";" + sessionStorage["HUserName"] + ";" + $("#HInterID").val() + ";" + $("#HRemark").val();//sessionStorage["HUserName"]
 
                        $.ajax(
                            {
                                type: "POST",
                                url: GetWEBURL() + "/Sc_ComplementGoods/JIT_SendGoodsBill", //方法所在页面和方法名
                                async: true,
                                data: { "msg": sMainStr },
                                dataType: "json",
                                success: function (data) {
                                    if (data.count == 1) { // 说明验证成功了,
                                        layer.msg(data.Message, { icon: 1 });
                                    }
                                    else {
                                        layer.alert(data.Message, { icon: 5 });
                                        console.log("Reason" + sMainStr + "sub:" + JSON.stringify(layui.table.cache.mainTable));
                                    }
                                    layer.closeAll("loading");
                                },
                                error: function (err) {
                                    layer.alert("错误:" + err, { icon: 5 });
                                    console.log("Reason" + sMainStr);
                                }
                            });
                    }
                })
            }
        }
 
        //#endregion
 
    });
 
 
</script>