SOURCE

console 命令行工具 X clear

                    
>
console
var ColorArr = ["#f00","#f5f","#ff9","#cfc","#f3f5f6"];
var warningNum = 150;
var divList = [];
var MaterialCodeList = [];
var MaterialOutNum = [];//记录以及使用完的物料编号,当补料后需要清空一下
var MinWidth = 120;
var MaxWidth = 500;
var materialJsonStr = 
       "                     [                                                                                          "+
       "                         {'MaterialId':1,'MaterialCode':'WL09001','MaterialDateCode':'DC000001','LastNum':100,'DimNum':5,'index':5,'MaterialUseNum':20,'MaterialPosition':'C01,C02'},                 "+
       "                         {'MaterialId':2,'MaterialCode':'WL02201','MaterialDateCode':'DC000003','LastNum':100,'DimNum':5,'index':6,'MaterialUseNum':25,'MaterialPosition':'C01,C03'},                 "+
       "                         {'MaterialId':3,'MaterialCode':'WL00002','MaterialDateCode':'DC000102','LastNum':0,'DimNum':5,'index':11,'MaterialUseNum':1,'MaterialPosition':'C01,C04'},                  "+
       "                         {'MaterialId':4,'MaterialCode':'WL00005','MaterialDateCode':'DC000202','LastNum':800,'DimNum':5,'index':2,'MaterialUseNum':1,'MaterialPosition':'C01,C05'},                  "+
       "                         {'MaterialId':5,'MaterialCode':'WL00006','MaterialDateCode':'DC000302','LastNum':700,'DimNum':5,'index':3,'MaterialUseNum':1,'MaterialPosition':'C01,C06'},                  "+
       "                         {'MaterialId':6,'MaterialCode':'WL00007','MaterialDateCode':'DC000402','LastNum':500,'DimNum':5,'index':4,'MaterialUseNum':1,'MaterialPosition':'C01,C07'},                  "+
       "                         {'MaterialId':7,'MaterialCode':'WL00008','MaterialDateCode':'DC000502','LastNum':400,'DimNum':5,'index':5,'MaterialUseNum':1,'MaterialPosition':'C01,C08'},                  "+
       "                         {'MaterialId':8,'MaterialCode':'WL00009','MaterialDateCode':'DC000602','LastNum':800,'DimNum':5,'index':6,'MaterialUseNum':1,'MaterialPosition':'C01,C02'},                  "+
       "                         {'MaterialId':9,'MaterialCode':'WL00000','MaterialDateCode':'DC000702','LastNum':500,'DimNum':5,'index':7,'MaterialUseNum':1,'MaterialPosition':'C01,C02'},                  "+
       "                         {'MaterialId':10,'MaterialCode':'WL000010','MaterialDateCode':'DC000802','LastNum':450,'DimNum':5,'index':8,'MaterialUseNum':1,'MaterialPosition':'C01,C02'},                  "+
       "                         {'MaterialId':11,'MaterialCode':'WL00011','MaterialDateCode':'DC000902','LastNum':350,'DimNum':5,'index':9,'MaterialUseNum':1,'MaterialPosition':'C01,C02'},                  "+
       "                         {'MaterialId':12,'MaterialCode':'WL00012','MaterialDateCode':'DC001002','LastNum':450,'DimNum':5,'index':10,'MaterialUseNum':1,'MaterialPosition':'C01,C02'},                  "+
       "                         {'MaterialId':13,'MaterialCode':'WL00002','MaterialDateCode':'DC001102','LastNum':850,'DimNum':5,'index':1,'MaterialUseNum':1,'MaterialPosition':'C01,C02'},                  "+
       "                         {'MaterialId':14,'MaterialCode':'WL00002','MaterialDateCode':'DC001202','LastNum':100000,'DimNum':5,'index':12,'MaterialUseNum':1,'MaterialPosition':'C01,C02'},                  "+
       "                         {'MaterialId':15,'MaterialCode':'WL00002','MaterialDateCode':'DC001302','LastNum':200,'DimNum':5,'index':13,'MaterialUseNum':1,'MaterialPosition':'C01,C02'},                  "+
       "                         {'MaterialId':16,'MaterialCode':'WL00006','MaterialDateCode':'DC001402','LastNum':500,'DimNum':5,'index':14,'MaterialUseNum':1,'MaterialPosition':'C01,C02'},                  "+
       "                         {'MaterialId':17,'MaterialCode':'WL00003','MaterialDateCode':'DC001502','LastNum':250,'DimNum':5,'index':15,'MaterialUseNum':1,'MaterialPosition':'C01,C02'},                  "+
       "                         {'MaterialId':18,'MaterialCode':'WL00004','MaterialDateCode':'DC001602','LastNum':350,'DimNum':5,'index':16,'MaterialUseNum':1,'MaterialPosition':'C01,C02'},                  "+
       "                         {'MaterialId':19,'MaterialCode':'WL00003','MaterialDateCode':'DC001702','LastNum':300,'DimNum':5,'index':17,'MaterialUseNum':1,'MaterialPosition':'C01,C02'}                  "+
       "                     ]";



/*"[  {    'MaterialId': 1,    
'MaterialCode': 'CAP.0001',    
'MaterialDateCode': '1810',    
'MaterialLotNo': '1810000001',    
'MaterialPurchaseOrder': 'SZ-18010001',    
'MaterialPN': 'CC0402BRNPO9BN2R2',    
'MaterialProductSN': 'SBAA00001L00',    
'MaterialModel': 'ECAB00000003',    
'MaterialPosition': null,   
'MaterialName': '贴片电容',    
'MaterialSpec': '0402-100nF/16V/Y5V/-20%~+80%,CC0402ZRY5V7BB104,CL05F104ZO5NNNC,0402F104Z160CT,0402X104K160NT',    
'MaterialUseNum': 76.0,    
'MaterialECN': null,    
'Note': null,    
'OtherInfo': null,    
'DimRecordNum': 5,    
'TotalNum': 1000,    
'UsedNum': 0,    
'LastNum': 1000,    
'MaterialIndex': 1,    
'Time': '2021-12-15T14:01:20+08:00',    
'FileName': null,    
'UserName': 'ff',    
'OrderNo': 0,    
'OldSMTOrderNo': null  },  {    'MaterialId': 2,    'MaterialCode': 'CAP.0002',    'MaterialDateCode': '1810',    'MaterialLotNo': '1810000001',    'MaterialPurchaseOrder': 'SZ-18010001',    'MaterialPN': 'CC0402BRNPO9BN2R2',    'MaterialProductSN': 'SBAA00001L00',    'MaterialModel': 'ECAB00000103',    'MaterialPosition': null,    'MaterialName': '贴片电容',    'MaterialSpec': '0402-10nF/50V/X7R/±10%,CC0402KRX7R9BB103,CL05B103KB5NNNC,GRM155R71H103KA88D,0402B103K500CT,0402B103K500NT',    'MaterialUseNum': 31.0,    'MaterialECN': null,    'Note': null,    'OtherInfo': null,    'DimRecordNum': 5,    'TotalNum': 10000,    'UsedNum': 0,    'LastNum': 10000,    'MaterialIndex': 1,    'Time': '2021-12-15T14:02:10+08:00',    'FileName': null,    'UserName': 'ff',    'OrderNo': 0,    'OldSMTOrderNo': null  },  {    'MaterialId': 3,    'MaterialCode': 'CAP.0003',    'MaterialDateCode': '1810',    'MaterialLotNo': '1810000001',    'MaterialPurchaseOrder': 'SZ-18010001',    'MaterialPN': 'CC0402BRNPO9BN2R2',    'MaterialProductSN': 'SBAA00001L00',    'MaterialModel': 'ECAB00000203',    'MaterialPosition': null,    'MaterialName': '贴片电容',    'MaterialSpec': '0402-1nF/50V/X7R/±10%,CC0402KRX7R9BB102,CL05B102KB5NNNC,0402B102K500CT,0402B102K500NT',    'MaterialUseNum': 22.0,    'MaterialECN': null,    'Note': null,    'OtherInfo': null,    'DimRecordNum': 5,    'TotalNum': 1000,    'UsedNum': 0,    'LastNum': 1000,    'MaterialIndex': 1,    'Time': '2021-12-15T14:03:00+08:00',    'FileName': null,    'UserName': 'ff',    'OrderNo': 0,    'OldSMTOrderNo': null  },  {    'MaterialId': 4,    'MaterialCode': 'CAP.0005',    'MaterialDateCode': '1810',    'MaterialLotNo': '1810000001',    'MaterialPurchaseOrder': 'SZ-18010001',    'MaterialPN': 'CC0402BRNPO9BN2R2',    'MaterialProductSN': 'SBAA00001L00',    'MaterialModel': 'ECAB00000403',    'MaterialPosition': null,    'MaterialName': '贴片电容',    'MaterialSpec': '0402-100pF/50V/NPO/±5%,CC0402JRNPO9BN101,CL05C101JB5NNNC,GRM1555C1H101JA01D,0402N101J500CT,0402CG101J500NT',    'MaterialUseNum': 2.0,    'MaterialECN': null,    'Note': null,    'OtherInfo': null,    'DimRecordNum': 5,    'TotalNum': 1000,    'UsedNum': 0,    'LastNum': 1000,    'MaterialIndex': 1,    'Time': '2021-12-15T14:03:51+08:00',    'FileName': null,    'UserName': 'ff',    'OrderNo': 0,    'OldSMTOrderNo': null  },  {    'MaterialId': 5,    'MaterialCode': 'CIP.1017-A1',    'MaterialDateCode': '1811',    'MaterialLotNo': '1811000001',    'MaterialPurchaseOrder': 'SZ-18010001',    'MaterialPN': 'CC0402BRNPO9BN2R2',    'MaterialProductSN': 'SBAA00001L00',    'MaterialModel': 'EMBA00000807',    'MaterialPosition': null,    'MaterialName': 'FLASH',    'MaterialSpec': 'W25Q64JVSSIQ/VSOP-8',    'MaterialUseNum': 1.0,    'MaterialECN': 'EN21010043',    'Note': null,    'OtherInfo': null,    'DimRecordNum': 0,    'TotalNum': 10000,    'UsedNum': 0,    'LastNum': 10000,    'MaterialIndex': 1,    'Time': '2021-12-15T14:06:15+08:00',    'FileName': null,    'UserName': 'ff',    'OrderNo': 0,    'OldSMTOrderNo': null  },  {    'MaterialId': 6,    'MaterialCode': 'CAP.7004-A1',    'MaterialDateCode': '1810',    'MaterialLotNo': '1810000001',    'MaterialPurchaseOrder': 'SZ-18010001',    'MaterialPN': 'CC0402BRNPO9BN2R2',    'MaterialProductSN': 'SBAA00001L00',    'MaterialModel': 'ECEA00000001',    'MaterialPosition': null,    'MaterialName': '钽电容',    'MaterialSpec': 'SMD-22uF/10V/293D226X9010A2TE3/±10%,TAJA226K010RNJ',    'MaterialUseNum': 1.0,    'MaterialECN': null,    'Note': null,    'OtherInfo': null,    'DimRecordNum': 5,    'TotalNum': 1000,    'UsedNum': 0,    'LastNum': 1000,    'MaterialIndex': 1,    'Time': '2021-12-15T14:07:47+08:00',    'FileName': null,    'UserName': 'ff',    'OrderNo': 0,    'OldSMTOrderNo': null  },  {    'MaterialId': 7,    'MaterialCode': 'CAP.0001',    'MaterialDateCode': '2810',    'MaterialLotNo': '2810000001',    'MaterialPurchaseOrder': 'SZ-18010001',    'MaterialPN': 'CC0402BRNPO9BN2R2',    'MaterialProductSN': 'SBAA00001L00',    'MaterialModel': 'ECAB00000003',    'MaterialPosition': null,    'MaterialName': '贴片电容',    'MaterialSpec': '0402-100nF/16V/Y5V/-20%~+80%,CC0402ZRY5V7BB104,CL05F104ZO5NNNC,0402F104Z160CT,0402X104K160NT',    'MaterialUseNum': 76.0,    'MaterialECN': null,    'Note': null,    'OtherInfo': null,    'DimRecordNum': 5,    'TotalNum': 1000,    'UsedNum': 0,    'LastNum': 1000,    'MaterialIndex': 2,    'Time': '2021-12-15T14:08:39+08:00',    'FileName': null,    'UserName': 'ff',    'OrderNo': 0,    'OldSMTOrderNo': null  },  {    'MaterialId': 8,    'MaterialCode': 'CAP.0001',    'MaterialDateCode': '3810',    'MaterialLotNo': '3810000001',    'MaterialPurchaseOrder': 'SZ-18010001',    'MaterialPN': 'CC0402BRNPO9BN2R2',    'MaterialProductSN': 'SBAA00001L00',    'MaterialModel': 'ECAB00000003',    'MaterialPosition': null,    'MaterialName': '贴片电容',    'MaterialSpec': '0402-100nF/16V/Y5V/-20%~+80%,CC0402ZRY5V7BB104,CL05F104ZO5NNNC,0402F104Z160CT,0402X104K160NT',    'MaterialUseNum': 76.0,    'MaterialECN': null,    'Note': null,    'OtherInfo': null,    'DimRecordNum': 5,    'TotalNum': 3000,    'UsedNum': 0,    'LastNum': 3000,    'MaterialIndex': 3,    'Time': '2021-12-15T14:08:56+08:00',    'FileName': null,    'UserName': 'ff',    'OrderNo': 0,    'OldSMTOrderNo': null  },  {    'MaterialId': 9,    'MaterialCode': 'RES.0004',    'MaterialDateCode': '1810',    'MaterialLotNo': '1810000001',    'MaterialPurchaseOrder': 'SZ-18010001',    'MaterialPN': 'CC0402BRNPO9BN2R2',    'MaterialProductSN': 'SBAA00001L00',    'MaterialModel': 'ERAB00000300',    'MaterialPosition': null,    'MaterialName': '贴片电阻',    'MaterialSpec': '0402-0R/±5%,RC0402JR-070RL,RC0402-5%-070RL,0402WGJ0000TCE',    'MaterialUseNum': 22.0,    'MaterialECN': null,    'Note': null,    'OtherInfo': null,    'DimRecordNum': 5,    'TotalNum': 1000,    'UsedNum': 0,    'LastNum': 1000,    'MaterialIndex': 1,    'Time': '2021-12-15T14:10:27+08:00',    'FileName': null,    'UserName': 'ff',    'OrderNo': 0,    'OldSMTOrderNo': null  },  {    'MaterialId': 10,    'MaterialCode': 'RES.0003',    'MaterialDateCode': '1810',    'MaterialLotNo': '1810000001',    'MaterialPurchaseOrder': 'SZ-18010001',    'MaterialPN': 'CC0402BRNPO9BN2R2',    'MaterialProductSN': 'SBAA00001L00',    'MaterialModel': 'ERAB00000200',    'MaterialPosition': null,    'MaterialName': '贴片电阻',    'MaterialSpec': '0402-33R/±5%,RC0402JR-0733RL,RC0402-5%-0733RL,0402WGJ0330TCE',    'MaterialUseNum': 20.0,    'MaterialECN': null,    'Note': null,    'OtherInfo': null,    'DimRecordNum': 5,    'TotalNum': 1000,    'UsedNum': 0,    'LastNum': 1000,    'MaterialIndex': 1,    'Time': '2021-12-15T14:10:35+08:00',    'FileName': null,    'UserName': 'ff',    'OrderNo': 0,    'OldSMTOrderNo': null  },  {    'MaterialId': 11,    'MaterialCode': 'RES.0010',    'MaterialDateCode': '1810',    'MaterialLotNo': '1810000001',    'MaterialPurchaseOrder': 'SZ-18010001',    'MaterialPN': 'CC0402BRNPO9BN2R2',    'MaterialProductSN': 'SBAA00001L00',    'MaterialModel': 'ERAB00000700',    'MaterialPosition': null,    'MaterialName': '贴片电阻',    'MaterialSpec': '0402-49.9R/±1%,RC0402FR-0749R9L,RC0402-1%-0749R9L,0402WGF499JTCE',    'MaterialUseNum': 4.0,    'MaterialECN': null,    'Note': null,    'OtherInfo': null,    'DimRecordNum': 5,    'TotalNum': 1000,    'UsedNum': 0,    'LastNum': 1000,    'MaterialIndex': 1,    'Time': '2021-12-15T14:10:46+08:00',    'FileName': null,    'UserName': 'ff',    'OrderNo': 0,    'OldSMTOrderNo': null  },  {    'MaterialId': 12,    'MaterialCode': 'RES.0011',    'MaterialDateCode': '1810',    'MaterialLotNo': '1810000001',    'MaterialPurchaseOrder': 'SZ-18010001',    'MaterialPN': 'CC0402BRNPO9BN2R2',    'MaterialProductSN': 'SBAA00001L00',    'MaterialModel': 'ERAB00000800',    'MaterialPosition': null,    'MaterialName': '贴片电阻',    'MaterialSpec': '0402-75R/±1%,RC0402FR-0775RL,RC0402-1%-0775RL,0402WGF750JTCE',    'MaterialUseNum': 1.0,    'MaterialECN': null,    'Note': null,    'OtherInfo': null,    'DimRecordNum': 5,    'TotalNum': 1000,    'UsedNum': 0,    'LastNum': 1000,    'MaterialIndex': 1,    'Time': '2021-12-15T14:10:50+08:00',    'FileName': null,    'UserName': 'ff',    'OrderNo': 0,    'OldSMTOrderNo': null  },  {    'MaterialId': 13,    'MaterialCode': 'RES.0016',    'MaterialDateCode': '1810',    'MaterialLotNo': '1810000001',    'MaterialPurchaseOrder': 'SZ-18010001',    'MaterialPN': 'CC0402BRNPO9BN2R2',    'MaterialProductSN': 'SBAA00001L00',    'MaterialModel': 'ERAB00000D00',    'MaterialPosition': null,    'MaterialName': '贴片电阻',    'MaterialSpec': '0402-953R/±1%,RC0402FR-07953RL,RC0402-1%-07953RL,0402WGF9530TCE',    'MaterialUseNum': 1.0,    'MaterialECN': null,    'Note': null,    'OtherInfo': null,    'DimRecordNum': 5,    'TotalNum': 1000,    'UsedNum': 0,    'LastNum': 1000,    'MaterialIndex': 1,    'Time': '2021-12-15T14:10:58+08:00',    'FileName': null,    'UserName': 'ff',    'OrderNo': 0,    'OldSMTOrderNo': null  }]";
*/

$(function(){
    var materialJson = eval("(" + materialJsonStr + ")");    
    updateInfo(materialJson,false);    
    
//点击按钮弹出绑定modal框
    $("#MaterInput").transition("hide");
    $("#BindButton").click(function(){
        $("#MaterInput").transition("fly right");
    });
    $("#MaterInput").keydown(function(keyEvent){
        if(keyEvent.keyCode == 13)
        {
           // alert($("#MaterInput input").val());
            reduceMetarial(materialJson); 
           // materialJson = materialJson.filter(function(e){return e.LastNum>0}); 
            updateInfo(materialJson,true);
            updatewarningDiv(materialJson);
        }
    });

});
        function reduceMetarial(materialJson)
        {
            for(var v in MaterialCodeList)
                {
                    //找每一个物料的第一个数据
                    //找到对应的物料编码的集合
                    var filters = materialJson.filter(function(e){return e.MaterialCode == MaterialCodeList[v] && e.LastNum>0;});
                    if(filters.length<=0) 
                    {
                        $("#"+MaterialCodeList[v]).attr("bgColor","red");
                        continue;
                    }
                    //根据剩余数量排序 需要减的就是第一个数据
                    filters.sort(sortBy("index",false.parseInt));
                    var temp = filters.filter(function(e){return e.id == filters[0].id})[0];
                    $(".info").text(temp.id);
                    temp.LastNum = temp.LastNum - temp.MaterialUseNum;
                    if(temp.LastNum <= 0 && filters.filter(function(e){return e.id == filters[0].id}).length == 1)
                    {
                        MaterialOutNum.push(temp.MaterialCode);
                    }
                }
        }
        function updateInfo(materialJson,animation)
        {
            divList = [];
            MaterialCodeList = [];
            var htmlStr = "<table id = 'MaterialShow'>";
            
            //遍历json,将物料代码存一份不重复的在MaterialCodeList中
            for(var material in materialJson)
                {
                    if(MaterialCodeList.indexOf(materialJson[material].MaterialCode)<0)
                    {
                        MaterialCodeList.push(materialJson[material].MaterialCode);
                    }
                }
            //根据每个物料编码,显示为一列,就是一个<tr>
            for(var materCode in MaterialCodeList)
            {
                htmlStr += "<tr>";
                htmlStr += "<td>"+MaterialCodeList[materCode]+"</td>";
                //根据物料代码查找所有对应的date code的json数据
                var materialBymaterCode = materialJson.filter(function(e){return e.MaterialCode == MaterialCodeList[materCode];});//u.search(materialJson,MaterialCodeList[materCode],"MaterialCode",1); 
            //    materialBymaterCode = materialBymaterCode.filter(function(e){return e.LastNum > 0;});
                materialBymaterCode.sort(sortBy('index',false,parseInt));
                htmlStr += "<td>";
                htmlStr += "<div class='one wide column rootMaterialDiv'>";

                var currentMaterLastNum = 0;
                for(var v in materialBymaterCode)
                {
                    currentMaterLastNum += materialBymaterCode[v].LastNum;
                }

                //遍历对应的物料代码的所有dateCode信息,在一列中显示
                for(var v in materialBymaterCode)
                {
                    var widthValue = 0;
                    if(v>1)backColor = ColorArr[4];
                    else if(currentMaterLastNum<=0)backColor = ColorArr[0];
                    else if(currentMaterLastNum<= warningNum)  backColor = ColorArr[1];
                    else if(currentMaterLastNum >= 1000)       backColor = ColorArr[3];
                    else if(currentMaterLastNum > warningNum && currentMaterLastNum < 1000)  backColor = ColorArr[2];
                    if(materialBymaterCode[v].LastNum<=warningNum)    widthValue  = MinWidth;
                    else if(materialBymaterCode[v].LastNum >= 1000)  widthValue  = MaxWidth;
                    else if(materialBymaterCode[v].LastNum > warningNum && materialBymaterCode[v].LastNum < 1000)widthValue = MinWidth + Math.trunc((materialBymaterCode[v].LastNum-warningNum)/4);
                    
                    var jsonStr1 = JSON.stringify(materialBymaterCode[v]).replace(/\"/g, "&quot;");
                    //对应的<p>标签中加id,用于后续的动态修改数据,命名:物料编号-datecode-n n代表第几个div
                    htmlStr += "<div class='childrenMaterialDiv' id='"+materialBymaterCode[v].MaterialCode+"-"+materialBymaterCode[v].MaterialDateCode+"-"+v+"' >";
                    htmlStr += "<div id='infoDisplay' ondblclick=\"showModal(\'" + jsonStr1 + "\')\"  class='selectable' style='width:"+widthValue+"px;background-color:"+backColor+";'>"+materialBymaterCode[v].MaterialDateCode+"</br>剩余"+materialBymaterCode[v].LastNum+"/用量"+materialBymaterCode[v].MaterialUseNum+"</p></div>";
                    htmlStr += "</div>"
                    htmlStr += "<div id='infoLast' class='childrenMaterialDiv' style='width:20px;background-color:#666;color:#ddf'></br>"+materialBymaterCode[v].DimNum+"</div>"
                    
                    divList.push(materialBymaterCode[v].MaterialCode+"-"+materialBymaterCode[v].MaterialDateCode);
                }
                htmlStr += "<label>位号:"+materialBymaterCode[v].MaterialPosition+"</label>";
                htmlStr += "</div>";                
                htmlStr += "</td>";
            htmlStr += "</tr>";
            }
            $("#MaterialShow").html(htmlStr);
            if(animation == true)
            for(var dl in divList)
            {
                var vv = divList[dl] + "-0";
                $("#"+vv+" #infoDisplay").transition('fade right',100).transition('fade left',500);
            }
        }

        function updatewarningDiv(materialJson)
        {
            var htmlWarningStr = "";
            for(var m in MaterialCodeList)
            {
                var temp = materialJson.filter(function(e){return e.MaterialCode == MaterialCodeList[m] && e.LastNum > 0});
                var totalNum = 0;
                for(var t in temp)
                    totalNum += temp[t].LastNum;

                //对应的物料号余量不足
                if(totalNum > 0 && totalNum < warningNum)
                    htmlWarningStr += "<p>物料:"+MaterialCodeList[m]+"即将用完</p>";
            } 
            for(var o in MaterialOutNum)
            {
                htmlWarningStr += "<p>物料:"+MaterialOutNum[o]+"已经用完 </p>";
            }
            $("#warningDiv").html(htmlWarningStr);
            $("#warningDiv").transition('fly left',0).transition("fly right",0);
        }
        
        //filed:JSON的属性名称
        //rev: 顺序(false)或倒序(true)
        //primer:类型String或parseInt
        //用法:jsonName.sort(sortBy("name",false.String));
        //      jsonName.sort(sortBy("name",false.parseInt));
        var sortBy = function (filed, rev, primer) {
            rev = (rev) ? -1 : 1;
            return function (a, b) {
                a = a[filed];
                b = b[filed];
                if (typeof (primer) != 'undefined') {
                    a = primer(a);
                    b = primer(b);
                }
                if (a < b) { return rev * -1; }
                if (a > b) { return rev * 1; }
                return 1;
            }
        };
        //{'MaterialCode':'WL00001','MaterialDateCode':'DC000001','LastNum':10,'DimNum':5,'index':5},

        function showModal(obj) {
            var cs = JSON.parse(obj);
            $(".first.modal .header").text(cs.MaterialCode);
            $(".first.modal .description").html(
                "<form class='ui form'  asp-action='csSave' asp-controller='Home'>                                                  " +
                "   <div class='field'>                                                                                             " +
                "       <label>物料编码</label>                                                                                      " +
                "       <label class='MaterialCode'> " + cs.MaterialCode + " </label>                                               " +
                "   </div>                                                                                                          " +
                "   <div class='field'>                                                                                             " +
                "       <label>date code</label>                                                                                    " +
                "       <label class='MaterialDateCode'> " + cs.MaterialDateCode + " </label>                                       " +
                "   </div>                                                                                                          " +
                "   <div class='field'>                                                                                             " +
                "       <label>剩余数量</label>                                                                                     " +
                "       <input class='LastNum' type='text' name='LastNum' value='" + cs.LastNum + "' disabled>                      " +
                "   </div>                                                                                                          " +
                "   <div class='field'>                                                                                             " +
                "       <label>模糊记录数</label>                                                                                    "+
                "       <input class='DimNum' type='text' name='DimNum' value='" + cs.DimNum + "' disabled>                         " +
                "   </div>                                                                                                          " +
                "</form>                                                                                                            "
            );
            $("#editButton").show();
            $("#editButton").unbind("click");
            $("#editButton").click(function() {
                $(".first.modal input").attr("disabled", false);
            });
            $("#saveButton").unbind("click");
            $("#saveButton").click(function () {
                $.post("/Home/csSave",
                    {
                        MaterialCode:         $(".MaterialCode").text().trim(),
                        MaterialDateCode:     $(".MaterialDateCode").text(),
                        LastNum:    $(".LastNum").val(),
                        DimNum:    $(".DimNum").val()
                    },
                    function (data, status) {
                        if (status == "success") {
                            
                        }
                        $(".second.modal .description").text(status == "success" ? "操作成功" : "操作失败");
                        $(".second.modal").modal('show');
                        $(".second.modal .button").unbind("click");
                        $(".second.modal .button").click(function () {
                            $(".second.modal").modal('hide');
                        });
                    });
            });
            $('.coupled.modal').modal({
                allowMultiple: true
            });
            $(".first.modal").modal({ blurring: true }).modal('show');
        }

 $('#full').click(function() {
     var ele = document.getElementById("divScroll");//document.documentElement;
     var SCREEN_FULL_TEXT = "全屏显示";
     var SCREEN_REST_TEXT = "退出全屏";
     var SCREEN_FULL = 'screen-full';
     var SCREEN_REST = 'screen-restore';
     var iconElem = $(this);
     if (iconElem.hasClass(SCREEN_FULL)) {
         var reqFullScreen = ele.requestFullScreen || ele.webkitRequestFullScreen || ele.mozRequestFullScreen || ele.msRequestFullscreen;
        if (typeof reqFullScreen !== 'undefined' && reqFullScreen) {
             reqFullScreen.call(ele);
         };
         iconElem.addClass(SCREEN_REST).removeClass(SCREEN_FULL);
         iconElem.text(SCREEN_REST_TEXT);
     } else {
         if (document.exitFullscreen) {
             document.exitFullscreen();
         } else if (document.mozCancelFullScreen) {
             document.mozCancelFullScreen();
         } else if (document.webkitCancelFullScreen) {
             document.webkitCancelFullScreen();
         } else if (document.msExitFullscreen) {
             document.msExitFullscreen();
         }
         iconElem.addClass(SCREEN_FULL).removeClass(SCREEN_REST);
         iconElem.text(SCREEN_FULL_TEXT);
     }
 });
<table style="height:100%;width:100%;background-color:#333">
    <tr>
        <td style="width:100%;height:100%;">
                    <div id="divScroll" style="overflow-x: scroll; overflow-y: scroll;position: relative; height:100%;background-color:#333">
                        <div style="position: absolute;">
                            <div>
                            <table class="ui grid" style="text-align:center;vertical-align:top;" align="middle" id = "MaterialShow">
                            </table>        
                            </div> 
                        </div>
        </td>
        <td style="height:100%; vertical-align:top;">
            <div>
                <div class="ui input focus" style="width:500px;">
                    <input type="text" placeholder="搜索...">
                </div>
            </div>
            <div style="height:100px;width:100%;background-color:red;" align='center'>
                <h1>PASS</h1>
            </div>
            <div style="font-size:26px;color:white;width:100%;">
                12312312
            </div>
        </td>
    </tr>

</table>
                
                
</div>



    <!--以下是模态框-->
    <div class="ui container">
        <div class="ui first coupled modal">
            <div class="header">
                模态框标题
            </div>
            <div class="image content">
                <div class="description">
                    描述可以出现在右边
                </div>
            </div>
            <div class="actions">
                <div class="ui button" id="editButton">编辑</div>
                <div class="ui button" id="saveButton">保存</div>
            </div>
        </div>

        <!--提示模态框-->
        <div class="ui second small coupled modal">
            <div class="header">
                提示
            </div>
            <div class="image content">
                <div class="description">
                    描述可以出现在右边
                </div>
            </div>
            <div class="actions">
                <div class="ui button">OK</div>
            </div>
        </div>

        <!--双按钮模态框-->
        <div class="ui small modal doubleButtonModal">
            <div class="header">
                提示
            </div>
            <div class="image content">
                <div class="description">
                    描述可以出现在右边
                </div>
            </div>
            <div class="actions">
                <div class="ui button" id="cancelButton">取消</div>
                <div class="ui button" id="sureButton">确定</div>
            </div>
        </div>
    </div>


/*流式布局*/
.fluItem {
    margin: 3px;
    float: left;
}

.flu label, input {    
    margin: 3px;
    float: left;
}
.flu input{
    border-bottom:0px;
}

.flu {
     float: left;
}

#MaterialShow{
    margin: 0px;
    padding: 0px;
    border: 0px solid salmon;
    text-align:left;
}
#MaterialShow td{
    height: 45px;
    padding: 0px;
    margin: 0px;
}
#MaterialShow td:first-child{
    background-color: #aaf;
    vertical-align:left;
    width: 100px;
}
.rootMaterialDiv{
    height: 100%;
    float: left;
    white-space: nowrap;
    padding: 0px;
    margin: 0px;
}
.rootMaterialDiv label{
    color: white;
}
.childrenMaterialDiv{
    padding: 0px;
    margin: 0px;
    height:100%;
    position: relative;
    display: inline-block;
}
.childrenMaterialDiv div{
    padding: 0px;
    margin: 0px;
    height:100%;
}
.ui.small.fade.reveal{
    width: 100%;
    height: 45px;
    text-align: center;
    border: 1px solid red;
}

本项目引用的自定义外部资源