From 26fa6f2ab456e7a4d048bbe4109a08478317b7a4 Mon Sep 17 00:00:00 2001
From: yangle <admin@YINMOU>
Date: 星期四, 03 八月 2023 10:17:02 +0800
Subject: [PATCH] 缺料分析

---
 WebTM/views/生产管理/日计划报表/MaterialShorAnalysisReport.html |  486 ++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 486 insertions(+), 0 deletions(-)

diff --git "a/WebTM/views/\347\224\237\344\272\247\347\256\241\347\220\206/\346\227\245\350\256\241\345\210\222\346\212\245\350\241\250/MaterialShorAnalysisReport.html" "b/WebTM/views/\347\224\237\344\272\247\347\256\241\347\220\206/\346\227\245\350\256\241\345\210\222\346\212\245\350\241\250/MaterialShorAnalysisReport.html"
new file mode 100644
index 0000000..35796f3
--- /dev/null
+++ "b/WebTM/views/\347\224\237\344\272\247\347\256\241\347\220\206/\346\227\245\350\256\241\345\210\222\346\212\245\350\241\250/MaterialShorAnalysisReport.html"
@@ -0,0 +1,486 @@
+锘�<!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>
+
+</head>
+<body>
+    <div class="layui-fluid">
+        <div class="layui-col-md12">
+            <div class="layui-card" style="padding: 1px">
+                <div class="layui-card-body" style="padding: 1px;">
+                    <form class="layui-form" action="" lay-filter="component-form-group">
+                        <div class="layui-collapse">
+                            <div class="layui-colla-item">
+                                <div class="layui-colla-title layui-inline">
+                                    <div class="layui-inline">
+                                        <span>鏇村</span>
+                                    </div>
+                                </div>
+                                <div class="layui-inline">
+                                    <label class="layui-form-label" style="width: 85px;">缁勭粐</label>
+                                    <div class="layui-input-block" style="margin-left: 120px; width: 185px;">
+                                        <select name="HORGID" id="HORGID" lay-verify="HORGID">
+                                            <!--鍔ㄦ�佹覆鏌撶粍缁�-->
+                                        </select>
+                                    </div>
+                                </div>
+                                <div class="layui-inline">
+                                    <label class="layui-form-label" style="width: 85px;">鎻愭枡鏃ユ湡</label>
+                                    <div class="layui-input-block" style="margin-left: 120px;">
+                                        <input type="date" class="layui-input" lay-verify="HBEGINDATE" name="HBEGINDATE" id="HBEGINDATE" style="padding-left: 78px;">
+                                    </div>
+                                </div>
+                                <div class="layui-inline">
+                                    <label class="layui-form-label" style="width: 85px;">鑷�:</label>
+                                    <div class="layui-input-block" style="margin-left: 120px;">
+                                        <input type="date" class="layui-input" lay-verify="HENDDATE" name="HENDDATE" id="HENDDATE" style="padding-left: 78px;">
+                                    </div>
+                                </div>
+                                <button class="layui-btn layuiadmin-btn-order" type="button" lay-submit="" lay-filter="btnSearch" id="btnSearch">鏌ヨ</button>
+                                <button class="layui-btn layuiadmin-btn-order" type="button" lay-submit="" lay-filter="btnReSearch" id="btnReSearch">閲嶇疆</button>
+                                <div class="layui-colla-content" style="padding: 0px; margin-left: 6%;">
+                                    <div class="layui-row" style="margin-top:10px;">
+                                       
+                                    </div>
+                                </div>
+                            </div>
+                        </div>
+                        <table class="" id="mainTable" lay-filter="mainTable"></table>
+                        <script type="text/html" id="toolbarDemo">
+                            <div class="layui-btn-container">
+                                <button type="button" class="layui-btn layui-btn-sm" lay-event="HideColumn"><i class="layui-icon layui-icon-form"></i>闅愯棌鍒楄缃�</button>
+                            </div>
+                        </script>
+                    </form>
+                </div>
+            </div>
+        </div>
+    </div>
+</body>
+</html>
+<script>
+    var treeCkData = { id: 0 };
+    var TagId = "";
+    var TagParentId = "";
+    layui.config({
+        base: '../../../layuiadmin/' //闈欐�佽祫婧愭墍鍦ㄨ矾寰�
+    }).extend({
+        index: 'lib/index', //涓诲叆鍙fā鍧�
+    }).use(['tree', 'index', 'form', 'table', 'element', 'laypage', 'laydate', 'util'], function () {
+        //#region 鍏敤鍙橀噺
+        var $ = layui.$
+            , admin = layui.admin
+            , layer = layui.layer
+            , table = layui.table
+            , form = layui.form
+            , element = layui.element
+            , laypage = layui.laypage
+            , laydate = layui.laydate
+            , util = layui.util
+            , tree = layui.tree
+            , util = layui.util
+        var sWhere = "";
+        var option = [];
+        var HModName = "MaterialShorAnalysisReport";
+        //#endregion
+
+        //#region 杩涘叆椤甸潰鍗冲姞杞�
+
+        //鍒濆鍖栫晫闈�
+        set_ClearBill();
+
+        //#endregion
+
+        //#region 瑙﹀彂浜嬩欢锛氬寘鎷琭orm.on(){}鏍煎紡鐨勬墍鏈夌偣鍑讳簨浠躲�侀�夋嫨浜嬩欢绛�
+
+        //澶村伐鍏锋爮浜嬩欢
+        table.on('toolbar(mainTable)', function (obj) {
+            switch (obj.event) {
+                //闅愯棌鍒楄缃�
+                case 'HideColumn':
+                    get_HideColumn();
+                    break;
+            };
+        });
+
+
+        //#region 閲嶇疆鎸夐挳
+        form.on('submit(btnReSearch)', function (data) {
+            set_ClearQuery();
+        });
+        //#endregion
+
+        //#region 鏌ヨ鎸夐挳
+        form.on('submit(btnSearch)', function (data) {
+            get_FastQuery(2);
+        });
+        //#endregion
+
+        //#endregion
+
+        //#region 鏈〉闈㈣璋冪敤鐨勬墍鏈夋柟娉�
+
+        //#region 鍒濆鍖栫晫闈�
+        function set_ClearBill() {
+            //鍒濆鍖栨棩鏈�
+            $("#HBEGINDATE").val(Format(new Date(), "yyyy-MM-dd"));
+            $("#HENDDATE").val(Format(new Date($("#HBEGINDATE").val()).setDate(new Date($("#HBEGINDATE").val()).getDate() + 30), 'yyyy-MM-dd'));
+            //鐢熶骇缁勭粐鍔犺浇
+            Organ();
+            ////鍒濆鍖栬〃鏍�
+            //set_InitGrid();
+            //蹇�熻繃婊�
+            get_FastQuery(1);
+            DisPlay_HideColumn();
+        }
+        //#endregion
+
+        //#region 鍒濆鍖栬〃鏍兼柟娉�
+        function set_InitGrid() {
+            var columns = [];
+
+            columns.push({ type: 'checkbox', fixed: 'left' });
+            columns.push({ field: 'HOrgName', title: '閲囪喘缁勭粐' });
+            columns.push({ field: 'FNUMBER', title: '鐗╂枡缂栫爜' });
+            columns.push({ field: 'HMaterName', title: '鐗╂枡鍚嶇О' });
+            columns.push({ field: 'HMaterModel', title: '鐗╂枡瑙勬牸' });
+            columns.push({ field: 'CountHQty', title: '鍚堣' });
+            columns.push({ field: 'FBASEQTY', title: '鍗虫椂搴撳瓨鏁伴噺' });
+            //鑾峰彇涓や釜鏈堟湡涔嬮棿鐨勭浉宸�
+            var time1 = Date.parse(new Date($("#HBEGINDATE").val()));//寮�濮嬫椂闂�
+            var time2 = Date.parse(new Date($("#HENDDATE").val()));//缁撴潫鏃堕棿
+            var Days = Math.abs(parseInt((time2 - time1) / 1000 / 3600 / 24));
+            //鑾峰彇骞�
+            var yyyy = new Date($("#HBEGINDATE").val()).getFullYear();
+            //鑾峰彇鏈堜唤
+            var MM = new Date($("#HBEGINDATE").val()).getMonth() + 1;
+            //鑾峰彇寮�濮嬫湀浠界殑鏈�澶уぉ鏁�
+            var SumMonth = new Date(yyyy, MM, 0).getDate();
+            //鑾峰彇寮�濮嬫棩鏈熺殑澶╂暟
+            var HBEGINDATE = new Date(new Date($("#HBEGINDATE").val())).getDate(); //鑾峰彇寮�濮嬫棩鏈熷ぉ鏁�
+
+            var k = 0;//鏀堕泦寰幆娆℃暟
+            for (var j = 0; j <= (Days - k); j++) {
+                columns.push({ field: Format(yyyy + '/' + MM + '/' + (HBEGINDATE + j), 'yyyy-MM-dd'), title: Format(yyyy + '/' + MM + '/' + (HBEGINDATE + j), 'MM.dd'), width: 70 })
+                //璺ㄥ勾鐨勮瘽 浼氫粠涓�鏈堜竴鍙峰紑濮�
+                if (MM == 12 && (HBEGINDATE + j) == 31) {
+                    yyyy += 1;
+                    MM = 1;
+                    SumMonth = new Date(yyyy, MM, 0).getDate();
+                    HBEGINDATE = 0;
+                    k += j;
+                    j = 0;
+                } else if ((HBEGINDATE + j) == SumMonth) { //璺ㄦ湀 鏈堟暟鍔犱竴  澶╂暟浠庝竴寮�濮�
+                    HBEGINDATE = 0;
+                    MM += 1;
+                    SumMonth = new Date(yyyy, MM, 0).getDate();
+                    k += j;
+                    j = 0;
+                }
+            }
+            option = {
+                elem: '#mainTable'
+                , toolbar: '#toolbarDemo'
+                , height: 'full-50'
+                , page: true
+                , cellMinWidth: 90
+                , limit: 50
+                , limits: [50, 500, 5000, 20000]
+                , loading: false
+                , cols: [columns]
+                , done: function (res, page, count) {
+                    var that = this.elem.next();
+                    res.data.forEach(function (item, index) {
+                        var NumCount = item.FBASEQTY;//鑾峰彇鎬诲簱瀛樻暟閲�
+                        for (var i = 0; i < Days; i++) {
+                            var dateNowTime = Format(new Date($("#HBEGINDATE").val()).setDate(new Date($("#HBEGINDATE").val()).getDate() + i), 'yyyy-MM-dd');
+                            if (item[dateNowTime] != null) {
+                                if (NumCount > parseFloat(item[dateNowTime])) {
+                                    NumCount -= parseFloat(item[dateNowTime]);
+                                } else {
+                                    var num = 6;//鍗虫椂搴撳瓨涓庢棩鏈熸尐鐫�  浠庡嵆鏃跺簱瀛樺紑濮嬬畻
+                                    tr = that.find(".layui-table-box tbody tr[data-index='" + index + "']");
+                                    rq = tr.children()[num + 1 + i];
+                                    rq.style.color = '#f66161';//鐒跺悗鍙樿壊
+                                    rq = tr.children()[num];
+                                    rq.style.color = '#f66161';//鐒跺悗鍙樿壊
+                                }
+                            }
+                        }
+                    });
+                    $('.layui-table-cell').css({ 'height': 'auto' });
+                }
+            };
+        }
+        //#endregion
+
+
+        //鑾峰彇缁勭粐
+        function Organ() {
+            //鑾峰彇鐧诲綍椤电粍缁囧垪
+            var Organization = '';
+            $.ajax({
+                type: "get",
+                url: GetWEBURL() + "/Web/GetOrganizations",
+                success: function (result) {
+                    if (result.count == 1) { // 璇存槑楠岃瘉鎴愬姛浜嗭紝
+                        var data = result.data;
+                        for (var i = 0; i < data.length; i++) {
+                            Organization += '<option  style="color:blue;" value="' + data[i].ID + '">' + data[i].Name + '</option>';
+                        }
+                        $("#HORGID").append(Organization);
+                        $("#HORGID").val(sessionStorage["OrganizationID"])
+                        form.render('select');
+                    }
+                    layer.closeAll("loading");
+                }
+            })
+        }
+
+        //#region 鏌ヨ
+        function get_Display(sWhere) {
+            var ajaxLoad = layer.load();
+            $.ajax({
+                url: GetWEBURL() + '/JIT_DayPlanPlatFormBill/MaterialShorAnalysisReport',
+                type: "GET",
+                data: { "sWhere": sWhere },
+                success: function (result) {
+                    if (result.count == 1) {
+                        option.data = result.data;
+                        table.render(option);
+                        layer.close(ajaxLoad);
+                        //layer.alert("鏌ヨ鎴愬姛", { icon: 1 });
+                    } else {
+                        layer.close(ajaxLoad);
+                        layer.alert(result.code + result.Message, { icon: 5 });
+                    }
+                }, error: function () {
+                    layer.close(ajaxLoad);
+                    layer.alert("鎺ュ彛璇锋眰澶辫触!", { icon: 5 });
+                }
+            });
+        }
+
+        //#endregion
+
+        //#region 蹇�熻繃婊�
+        function get_FastQuery(number) {
+            var HORGID = "";
+            if (number == 1) {
+                HORGID = sessionStorage["OrganizationID"];
+            }
+            else {
+                HORGID = $("#HORGID").val();//缁勭粐
+            }
+            var HBEGINDATE = $("#HBEGINDATE").val();//鎻愭枡鏃ユ湡
+            var HENDDATE = $("#HENDDATE").val();//鑷�
+            //var HMATERIALID = $("#HMATERIALID").val();//鐗╂枡/浜у搧
+            //var HSUPPLIERID = $("#HSUPPLIERID").val();//渚涘簲鍟�
+            //var HXQD = $("#HXQD").val();//闇�姹傚崟鍙�
+            //var HPURORDERNO = $("#HPURORDERNO").val();//閲囪喘璁㈠崟鍙�
+
+            if (HBEGINDATE > HENDDATE) {
+                return layer.msg("寮�濮嬫棩鏈熶笉鑳藉皬浜庣粨鏉熸棩鏈�!");
+            }
+
+            sWhere = {
+                HORGID: HORGID
+                , HBEGINDATE: HBEGINDATE
+                , HENDDATE: HENDDATE
+                //, HMATERIALID: HMATERIALID
+                //, HSUPPLIERID: HSUPPLIERID
+                //, HXQD: HXQD
+                //, HPURORDERNO: HPURORDERNO
+            }
+            //鍒濆鍖栬〃鏍�
+            set_InitGrid();
+            get_Display(JSON.stringify(sWhere));
+            sWhere = "";//璋冪敤鎺ュ彛鍚庢竻绌簊Where缂撳瓨
+        }
+        //#endregion
+
+        //#region 閲嶇疆杩囨护鏉′欢鏂规硶
+        function set_ClearQuery() {
+            $("#HORGID").val(sessionStorage["OrganizationID"]);//缁勭粐
+            $("#HENDDATE").val(Format(new Date($("#HBEGINDATE").val()).setDate(new Date($("#HBEGINDATE").val()).getDate() + 30), 'yyyy-MM-dd'));
+            $("#HENDDATE").val(Format(new Date(), "yyyy-MM-dd"));//鑷�
+            //$("#HMATERIALID").val("");//鐗╂枡/浜у搧
+            //$("#HMATERIALNAME").val("");
+            //$("#HSUPPLIERID").val("");//渚涘簲鍟�
+            //$("#HSUPPLIERNAME").val("");
+            //$("#HXQD").val("");//闇�姹傚崟鍙�
+            //$("#HPURORDERNO").val("");//閲囪喘璁㈠崟鍙�
+            form.render('select');
+            sWhere = "";
+        }
+        //#endregion
+
+        //鐗╂枡鍒楄〃
+        function btnHMATERIALID() {
+            layer.open({
+                type: 2 //绫诲瀷
+                , skin: 'layui-layer-rim'//鍔犱笂杈规
+                , area: ['90%', '90%']//澶у皬
+                , title: '鐗╂枡鍒楄〃'//鏍囬
+                , shift: 2//寮瑰嚭鍔ㄧ敾
+                , content: ['../../Baseset/鍩虹璧勬枡/Gy_MaterialList.html', 'yes']
+                , btn: ['纭畾', '鍙栨秷']
+                , btn1: function (index, layero) {//鎸夐挳銆愭寜閽竴銆戠殑鍥炶皟
+                    var iframeWindow = window['layui-layer-iframe' + index]  //鑾峰彇寮规椤甸潰
+                    var checkStatus = iframeWindow.layui.table.checkStatus('mainTable');//鑾峰彇table鐨別lem:"#test"
+                    if (checkStatus.data.length === 0) {
+                        return layer.msg('璇烽�夋嫨鏁版嵁');
+                    }
+                    //鑾峰彇鏁版嵁
+                    $("#HMATERIALID").val(checkStatus.data[0].HItemID);
+                    $("#HMATERIALNAME").val(checkStatus.data[0].HName);
+                    layer.close(index); //瀹冭幏鍙栫殑濮嬬粓鏄渶鏂板脊鍑虹殑鏌愪釜灞傦紝鍊兼槸鐢眑ayer鍐呴儴鍔ㄦ�侀�掑璁$畻鐨�
+                }
+                , btn2: function (index, layero) { }
+            })
+        }
+
+        //渚涘簲鍟�
+        function btnHSUPPLIERID() {
+            layer.open({
+                type: 2 //绫诲瀷
+                , skin: 'layui-layer-rim'//鍔犱笂杈规
+                , area: ['90%', '90%']//澶у皬
+                , title: '渚涘簲鍟嗗垪琛�'//鏍囬
+                , shift: 2//寮瑰嚭鍔ㄧ敾
+                , content: ['../../鍩虹璧勬枡/閲囪喘鍩虹璧勬枡/Gy_Supplier.html', 'yes']
+                , btn: ['纭畾', '鍙栨秷']
+                , btn1: function (index, layero) {//鎸夐挳銆愭寜閽竴銆戠殑鍥炶皟
+                    var iframeWindow = window['layui-layer-iframe' + index]  //鑾峰彇寮规椤甸潰
+                    var checkStatus = iframeWindow.layui.table.checkStatus('mainTable');//鑾峰彇table鐨別lem:"#test"
+                    if (checkStatus.data.length === 0) {
+                        return layer.msg('璇烽�夋嫨鏁版嵁');
+                    }
+                    //鑾峰彇鏁版嵁
+                    $("#HSUPPLIERID").val(checkStatus.data[0].HItemID);
+                    $("#HSUPPLIERNAME").val(checkStatus.data[0].渚涘簲鍟嗗悕绉�);
+                    layer.close(index); //瀹冭幏鍙栫殑濮嬬粓鏄渶鏂板脊鍑虹殑鏌愪釜灞傦紝鍊兼槸鐢眑ayer鍐呴儴鍔ㄦ�侀�掑璁$畻鐨�
+                }
+                , btn2: function (index, layero) { }
+            })
+        }
+
+        //闅愯棌鍒楄缃�
+        function get_HideColumn() {
+            var colName = "";
+            for (var i = 1; i < option.cols[0].length; i++) {
+                colName += option.cols[0][i]["title"] + ",";
+            }
+
+            colName = encodeURI(colName.substring(0, colName.length - 1));//瀵� URI 杩涜缂栫爜
+            layer.open({
+                type: 2
+                , skin: "layui-layer-rim" //鍔犱笂杈规
+                , title: "闅愯棌鍒楄缃�"  //鏍囬
+                , closeBtn: 1  //绐椾綋鍙充笂瑙掑叧闂� 鐨� 鏍峰紡
+                , shift: 2 //寮瑰嚭鍔ㄧ敾
+                , area: ["50%", "90%"] //绐椾綋澶у皬
+                , maxmin: true //璁剧疆鏈�澶ф渶灏忔寜閽槸鍚︽樉绀�
+                , content: ['../../鍩虹璧勬枡/闅愯棌鍒楄缃�/Gy_GridView_Hide.html?HModName=' + HModName + '&colName=' + colName, "yes"]
+                , btn: ["纭畾", "鍙栨秷"]
+                , btn1: function (index, laero) {
+                    //鍒锋柊琛ㄦ牸鏁版嵁
+                    DisPlay_HideColumn();
+                    //鏇存柊琛ㄦ牸缂撳瓨鐨勬暟鎹�
+                    layer.close(index);//鍏抽棴寮圭獥
+                }
+            })
+        }
+
+        //鏄剧ず鍒楁暟鎹�
+        function DisPlay_HideColumn() {
+            $.ajax({
+                url: GetWEBURL() + '/Xt_grdAlignment_WMES/grdAlignmentWMESList',
+                type: "GET",
+                data: { "HModName": HModName, "user": sessionStorage["HUserName"] },
+                success: function (data1) {
+                    if (data1.data.length != 0) {
+
+                        var dataCol = [];//鏁版嵁搴撴煡璇㈠嚭鐨勫垪鏁版嵁
+                        var titleData = [];//涓嶉渶瑕佹樉绀虹殑瀛楁 鍙墿灞�
+
+                        dataCol = data1.data[0].HGridString.split(',');
+
+                        for (var i = 0; i < option.cols[0].length - 1; i++) {
+                            if (dataCol[i]) {
+                                var dataCols = dataCol[i].split('|');
+                            }
+                            //闅愯棌鍒�
+                            if (dataCols[1] == 1) {
+                                option.cols[0][i + 1]["hide"] = true;
+                            }
+                            //璁剧疆鍐呭瀛椾綋澶у皬
+                            if (data1.data[0].HFontSize != 0) {
+                                option.cols[0][i + 1]["style"] = "font-size:" + data1.data[0].HFontSize + "px;";
+                            } else {
+                                option.cols[0][i + 1]["style"] = "font-size:100%";
+                            }
+                            //璁剧疆鍒楀
+                            if (dataCols[3] > 0) {
+                                option.cols[0][i + 1]["width"] = dataCols[3];
+                            }
+                            //鏄剧ず鍒�
+                            if (dataCols[1] == 0 && $.inArray(option.cols[0][i + 1]["title"], titleData) == -1) {
+                                option.cols[0][i + 1]["hide"] = false;
+                            }
+                            //瀛椾綋鎵�鍦ㄤ綅缃�(宸� 灞呬腑 鍙�)
+                            switch (dataCols[2]) {
+                                case "L":
+                                    option.cols[0][i + 1]["align"] = "left";
+                                    break;
+                                case "M":
+                                    option.cols[0][i + 1]["align"] = "center";
+                                    break;
+                                case "R":
+                                    option.cols[0][i + 1]["align"] = "right";
+                                    break;
+                            }
+                        }
+
+                        //鍙栨秷鍐荤粨鍒�
+                        for (var i = 1; i < option.cols[0].length - 1; i++) {
+                            if (option.cols[0][i]["fixed"] != null) {
+                                option.cols[0][i]["fixed"] = null;
+                            }
+                            else {
+                                break;
+                            }
+                        }
+                        //鍐荤粨鍒�
+                        if (data1.data[0].HFixCols != 0) {
+                            for (var i = 0; i < data1.data[0].HFixCols; i++) {
+                                if ($.inArray(option.cols[0][i + 1]["title"], titleData) != -1) {
+                                    data1.data[0].HFixCols += 1;
+                                }
+                                option.cols[0][i + 1]["fixed"] = "left";
+                            }
+                        }
+                        table.render(option);
+                    } else {
+                        table.render(option);
+                    }
+                }, error: function () {
+                    layer.alert("鎺ュ彛璇锋眰澶辫触!", { icon: 5 });
+                }
+            })
+        }
+
+        //#endregion
+        //浠ヤ笂鏄痩ayui妯″潡
+    });
+</script>
\ No newline at end of file

--
Gitblit v1.9.1