From e57b2edbffff5a653ba9eda65eae100ceb2e7822 Mon Sep 17 00:00:00 2001
From: duhe <226547893@qq.com>
Date: 星期一, 01 九月 2025 16:16:41 +0800
Subject: [PATCH] 乔一:客户物料即时库存报表、客户手工抄包报表

---
 WebTM/views/生产管理/生产报表/Sc_ProdOrderPickingStatusReport.html |  267 ++++++++++++++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 262 insertions(+), 5 deletions(-)

diff --git "a/WebTM/views/\347\224\237\344\272\247\347\256\241\347\220\206/\347\224\237\344\272\247\346\212\245\350\241\250/Sc_ProdOrderPickingStatusReport.html" "b/WebTM/views/\347\224\237\344\272\247\347\256\241\347\220\206/\347\224\237\344\272\247\346\212\245\350\241\250/Sc_ProdOrderPickingStatusReport.html"
index a3e0e26..76efc4c 100644
--- "a/WebTM/views/\347\224\237\344\272\247\347\256\241\347\220\206/\347\224\237\344\272\247\346\212\245\350\241\250/Sc_ProdOrderPickingStatusReport.html"
+++ "b/WebTM/views/\347\224\237\344\272\247\347\256\241\347\220\206/\347\224\237\344\272\247\346\212\245\350\241\250/Sc_ProdOrderPickingStatusReport.html"
@@ -14,6 +14,7 @@
     <script src="../../../layuiadmin/Scripts/webConfig.js"></script>
     <script src="../../../layuiadmin/PubCustom.js"></script>
     <script src="../../../layuiadmin/zgqCustom/zgqCustom.js"></script>
+    <script src="../../../layuiadmin/grwebapp.js"></script>
     <style type="text/css">
         input.layui-input.layui-unselect {
             padding-right: 0;
@@ -90,7 +91,89 @@
                               
                                 <div class="layui-colla-content" style="padding: 0px; margin-left: 6%;">
                                     <div class="layui-row">
-                                       
+                                        <div class="layui-row" style=" margin-top: 10px; margin-left: 70px;">
+                                            <div class="layui-inline">
+                                                <label class="layui-form-label">杩囨护</label>
+                                                <div class="layui-input-block">
+                                                    <select name="ColName" id="ColName" class="ForFilteringSchemes" lay-filter="ColName" style="width:190px;">
+                                                    </select>
+                                                </div>
+                                            </div>
+                                            <div class="layui-inline">
+                                                <select name="Comparator" id="Comparator" class="ForFilteringSchemes" 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 ForFilteringSchemes" value="" name="ColContent" id="ColContent">
+                                            </div>
+                                        </div>
+
+                                        <div class="layui-row" style=" margin-top: 10px; margin-left: 70px;">
+                                            <div class="layui-inline">
+                                                <label class="layui-form-label">杩囨护</label>
+                                                <div class="layui-input-block">
+                                                    <select name="ColName1" id="ColName1" class="ForFilteringSchemes" lay-filter="ColName1" style="width:190px;">
+                                                    </select>
+                                                </div>
+                                            </div>
+                                            <div class="layui-inline">
+                                                <select name="Comparator1" id="Comparator1" class="ForFilteringSchemes" lay-filter="Comparator1" 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 ForFilteringSchemes" value="" name="ColContent1" id="ColContent1">
+                                            </div>
+                                        </div>
+
+                                        <div class="layui-row" style=" margin-top: 10px; margin-left: 70px;">
+                                            <div class="layui-inline">
+                                                <label class="layui-form-label">杩囨护</label>
+                                                <div class="layui-input-block">
+                                                    <select name="ColName2" id="ColName2" class="ForFilteringSchemes" lay-filter="ColName2" style="width:190px;">
+                                                    </select>
+                                                </div>
+                                            </div>
+                                            <div class="layui-inline">
+                                                <select name="Comparator2" id="Comparator2" class="ForFilteringSchemes" lay-filter="Comparator2" 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 ForFilteringSchemes" value="" name="ColContent2" id="ColContent2">
+                                            </div>
+                                        </div>
                                     </div>
                                 </div>
                             </div>
@@ -98,6 +181,8 @@
                         <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="btn_Export" id="btn_Export"><i class="layui-icon layui-icon-radio"></i>瀵煎嚭</button>
+                                <button type="button" class="layui-btn layui-btn-sm"  id="btn-print" lay-event="btn-print"><i class="layui-icon layui-icon-form"></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="HideColumn"><i class="layui-icon layui-icon-form"></i>闅愯棌鍒楄缃�</button>-->
                             </div>
@@ -109,6 +194,7 @@
     </div>
 
     <script>
+        var OptionData = [];
         layui.config({
             base: '../../../layuiadmin/' //闈欐�佽祫婧愭墍鍦ㄨ矾寰�
         }).extend({
@@ -128,6 +214,7 @@
             //鏌ヨ鏉′欢
             var sWhere = "";
             var option = [];
+            var ins;//瀛樺偍鏁版嵁  瀵煎嚭鍔熻兘闇�瑕佺敤鍒扮殑鍙傛暟
             var HModName = "Sc_ProdOrderPickingStatusReport";
             //#endregion
 
@@ -148,6 +235,12 @@
                     //闅愯棌鍒楄缃�
                     case 'HideColumn':
                         get_HideColumn();
+                        break;
+                    //瀵煎嚭鎸夐挳
+                    case 'btn_Export': get_Export();
+                        break;
+                    //鎵撳嵃
+                    case 'btn-print': get_PrintReport();
                         break;
                 };
             });
@@ -180,6 +273,7 @@
                 //鍔犺浇鏁版嵁鍒扮綉鏍�
                 get_FastQuery();
                 //DisPlay_HideColumn();
+                ColFilter();
             }
 
             //鍒濆鍖栬〃鏍�
@@ -188,6 +282,7 @@
                     elem: '#mainTable'
                     , toolbar: '#toolbarDemo'
                     , cellMinWidth: 120
+                    , totalRow: true
                     , limit: Number.MAX_VALUE // 鏁版嵁琛ㄦ牸榛樿鍏ㄩ儴鏄剧ず
                     , height: 'full-70'
                 };
@@ -226,6 +321,13 @@
                                         case 'DateTime':
                                             col.push({ field: data[i].name, 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: 120 });
                                             break;
+                                        case 'long':
+                                        case 'Int32':
+                                        case 'Int64':
+                                        case 'double':
+                                        case 'Decimal':
+                                            col.push({ field: data[i].id, title: data[i].name, align: 'center', sort: true, width: 120, totalRow: true });
+                                            break;
                                         default:
                                             col.push({ field: data[i].name, title: data[i].name, align: 'center', sort: true, width: 120 });
                                     }
@@ -234,7 +336,10 @@
                             option.cols = [col];
                             option.data = data1.data;
                             table.render(option);
+                            ins = table.render(option);
+
                             layer.close(wait);
+
                         } else {
                             layer.close(wait);
                             layer.alert(data1.Message, { icon: 5 });
@@ -255,6 +360,79 @@
                 var HMaterNumber = $("#HMaterNumber").val();
                 var HMaterName = $("#HMaterName").val();
                 var HMaterModel = $("#HMaterModel").val();
+                var ColName = $("#ColName").val();//澶嶉�夋
+                var Comparator = $("#Comparator").val()
+                var ColContent = $("#ColContent").val();
+
+                var ColName1 = $("#ColName1").val();//澶嶉�夋
+                var Comparator1 = $("#Comparator1").val()
+                var ColContent1 = $("#ColContent1").val();
+                var ColName2 = $("#ColName2").val();//澶嶉�夋
+                var Comparator2 = $("#Comparator2").val()
+                var ColContent2 = $("#ColContent2").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 (ColName1 != 0 && Comparator1 != 0) {
+                    var com1 = "";
+                    switch (Comparator1) {
+                        case "7":
+                            com1 = "like'%" + ColContent1 + "%'";
+                            break;
+                        case "8":
+                            com1 = "like'%" + ColContent1 + "'";
+                            break;
+                        case "9":
+                            com1 = "like'" + ColContent1 + "%'";
+                            break;
+                        case "10":
+                            com1 = "not like'%" + ColContent1 + "%'";
+                            break;
+                        default:
+                            com1 = "" + Comparator1 + "'" + ColContent1 + "'";
+                            break;
+                    }
+                    sWhere += " and " + ColName1 + " " + com1;
+                }
+                if (ColName2 != 0 && Comparator2 != 0) {
+                    var com2 = "";
+                    switch (Comparator2) {
+                        case "7":
+                            com2 = "like'%" + ColContent2 + "%'";
+                            break;
+                        case "8":
+                            com2 = "like'%" + ColContent2 + "'";
+                            break;
+                        case "9":
+                            com2 = "like'" + ColContent2 + "%'";
+                            break;
+                        case "10":
+                            com2 = "not like'%" + ColContent2 + "%'";
+                            break;
+                        default:
+                            com2 = "" + Comparator + "'" + ColContent + "'";
+                            break;
+                    }
+                    sWhere += " and " + ColName2 + " " + com2;
+                }
 
                 sWhere = "'" + HBeginDate + "','" + HEndDate + "','" + HICMOBillNo + "','" + HMaterNumber + "','" + HMaterName + "','" + HMaterModel + "','" + HDeptName + "'"
 
@@ -272,8 +450,83 @@
                 $("#HMaterNumber").val("");
                 $("#HMaterName").val("");
                 $("#HMaterModel").val("");
+                $("#ColContent").val("");
+                $("#ColName").val("0");
+                $("#Comparator").val("0");
+                $("#ColContent1").val("");
+                $("#ColName1").val("0");
+                $("#Comparator1").val("0");
+                $("#ColContent2").val("");
+                $("#ColName2").val("0");
+                $("#Comparator2").val("0");
+                form.render('select');
                 sWhere = " ";
                 get_FastQuery();
+            }
+
+            //鍒楁槑鏄剧ず涓嬫媺妗�
+            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); $("#ColName1").empty();
+                $("#ColName1").append(Organization); $("#ColName2").empty();
+                $("#ColName2").append(Organization);
+                form.render('select');
+            }
+            //瀵煎嚭Execel
+            function get_Export() {
+                table.exportFile(ins.config.id, option.data, "xls");
+            }
+
+            //鎵撳嵃
+            function get_PrintReport() {
+
+                var data = table.cache['mainTable']
+                if (data.length > 0) {
+                    layer.open({
+                        type: 2
+                        , area: ['80%', '80%']
+                        , title: '鎵撳嵃妯$増閫夋嫨'
+                        , shade: 0.6 //閬僵閫忔槑搴�
+                        , maxmin: false //鍏佽鍏ㄥ睆鏈�灏忓寲
+                        , anim: 0 //0-6鐨勫姩鐢诲舰寮忥紝-1涓嶅紑鍚�
+                        , content: ['../../BaseSet/SRM_OpenTmpList.html?linterid=0&MyMsg=0&Type=Sc_ProdOrderPickingStatusReport', 'yes']
+                        , resize: false
+                        , end: function () {
+                            if (OptionData.length > 0) {
+                                var GrfName = OptionData[0].HName;
+
+                                var dataPrint = [];
+                                for (var i = 0; i < data.length; i++) {
+                                    dataPrint.push(data[i])
+                                }
+
+                                var Customer = {
+                                    "Table": dataPrint
+                                }
+
+                                var args = {
+                                    type: "preview",
+                                    //showOptionDlg: false, //濡傛灉涓嶆樉绀烘墦鍗板璇濇鑰岀洿鎺ユ墦鍗帮紝灏嗘琛屾敞閲婂幓鎺夊嵆鍙�
+                                    report: urlAddRandomNo("../../grf/" + GrfName + ".grf"),
+                                    data: Customer
+                                };
+
+                                webapp_ws_ajax_run(args);
+                                OptionData = [];
+                            }
+
+                        }
+                    })
+                } else {
+                    layer.msg("鏃犳暟鎹�,鏃犳硶鎵撳嵃!");
+                }
+
             }
 
             //鐗╂枡
@@ -285,7 +538,7 @@
                     , shade: 0.6 //閬僵閫忔槑搴�
                     //, maxmin: true //鍏佽鍏ㄥ睆鏈�灏忓寲
                     , anim: 0 //0-6鐨勫姩鐢诲舰寮忥紝-1涓嶅紑鍚�
-                    , content: ['../../Baseset/鍩虹璧勬枡/Gy_MaterialList.html', 'yes']
+                    , content: ['../../鍩虹璧勬枡/鍏敤鍩虹璧勬枡/Gy_Material.html', 'yes']
                     , btn: ['纭畾', '鍙栨秷']
                     , btn1: function (index, layero) {
 
@@ -295,9 +548,9 @@
                         if (checkStatus.data.length === 0) {
                             return layer.msg('璇烽�夋嫨鏁版嵁');
                         }
-                        $("#HMaterName").val(checkStatus.data[0].HName);
-                        $("#HMaterNumber").val(checkStatus.data[0].HNumber);
-                        $("#HMaterModel").val(checkStatus.data[0].HModel);
+                        $("#HMaterName").val(checkStatus.data[0].鐗╂枡鍚嶇О);
+                        $("#HMaterNumber").val(checkStatus.data[0].鐗╂枡浠g爜);
+                        $("#HMaterModel").val(checkStatus.data[0].瑙勬牸鍨嬪彿);
                         layer.close(layer.index); //瀹冭幏鍙栫殑濮嬬粓鏄渶鏂板脊鍑虹殑鏌愪釜灞傦紝鍊兼槸鐢眑ayer鍐呴儴鍔ㄦ�侀�掑璁$畻鐨�
                     }
                 })
@@ -410,6 +663,10 @@
 
             //#endregion
         });
+        //鍙屽嚮杩斿洖鐢熶骇璧勬簮
+        function ReportPrint(data) {
+            OptionData = data
+        }
     </script>
 </body>
 </html>
\ No newline at end of file

--
Gitblit v1.9.1