$(document).ready(function () { //iniChart('rptweld'); //iniChart('rptweld1'); //iniChart('rptweld2'); //QueryData().then(data => console.log(data)); //console.log(QueryData("M02","M15")); console.log('aa'); $(window).bind("load resize", HandleBoxHeight); QueryWorkshop() //QueryDataAsync(); SetBoxHeight(); setInterval(function () { QueryDataAsync($('#cbxWorkshop').val()); }, 1800000); //addHints(); startIntro(); showsidebar(); }); function showsidebar() { $('#rightsidebar').addClass('control-sidebar-open') setTimeout(function () { $('#rightsidebar').removeClass('control-sidebar-open') },1000) } function startIntro() { var intro = introJs(); intro.setOptions({ steps: [ { element: document.querySelector('#dashtitle'), intro: "点击选择查询条件", }, //{ // element: document.querySelectorAll('#step2')[0], // intro: "Ok, wasn't that fun?", // position: 'right' //}, //{ // element: '#step3', // intro: 'More features, more fun.', // position: 'left' //}, //{ // element: '#step4', // intro: "Another step.", // position: 'bottom' //}, //{ // element: '#step5', // intro: 'Get it, use it.' //} ], //showButtons: false, showBullets:false, }); intro.start(); setTimeout( function() { intro.exit()},3000) //intro.exit() } function addHints() { intro = introJs(); //intro.setOptions({ // hints: [ // { // element: document.querySelector('#dashtitle'), // hint: "点击选择查询条件7", // hintPosition: 'top-middle', // hintButtonLabel:`mklnjk` // } // ] //}) intro.setOptions({ hints: [ { element: '#dashtitle', hint: "点击选择查询条件", }, ] }); intro.setOption("hintButtonLabel", "OK"); //introJs().setOption("hintButtonLabel", "OK") //intro.onhintsadded(function () { // console.log('all hints added'); //}); //intro.onhintclick(function (hintElement, item, stepId) { // console.log('hint clicked', hintElement, item, stepId); //}); //intro.onhintclose(function (stepId) { // console.log('hint closed', stepId); //}); intro.addHints(); } function SetBoxHeight() { var h = window.innerHeight || document.documentElement.clientHeight || document.body.clientHeight; var contentmargin = 30 * 2; var boxmargintop = (3 + 3 + 20) * 3 var height = (h - contentmargin - boxmargintop) / 3; //var aaa = window["innerHeight"]; $('.rpt').css("height", height + "px"); } function HandleBoxHeight() { var resize1; $(window).resize(function () { if (resize1) { clearTimeout(resize1); } resize1 = setTimeout(function () { //_runResizeHandlers(); SetBoxHeight(); //handleIframeContent(); }, 100); // wait 50ms until window resize finishes. }); } function handleary(getdata) { var chartary = []; var completionary = ["00", "02", "04", "06", "08", "10", "12", "14", "16", "18", "20", "22"]; _.each(completionary, function (ele, index, ary) { var findres = _.find(getdata, function (item, index, obj) { return item.times == ele; }); if (findres == undefined) { chartary.push(0) } else { chartary.push(findres.qty) } }) return chartary; } async function QueryWorkshop() { let workshop = await FetchApi("QueryWorkshop", {}) workshop = await workshop.json(); $('#cbxWorkshop').empty() _.each(workshop.info, function (ele, index, list) { $('#cbxWorkshop').append("") }) console.log(workshop) console.log('query workshop end') var title = /\d*$/.exec($('#cbxWorkshop').val())[0] title=title.replace(/\b0*/, '') $('#wotitle').text(title) await QueryDataAsync($('#cbxWorkshop').val()) } //车间下拉选项事件 $('#cbxWorkshop').on('change', function () { console.log('车间选项变成:' + $('#cbxWorkshop').val()) QueryDataAsync($('#cbxWorkshop').val()); var title = /\d*$/.exec($('#cbxWorkshop').val())[0] title= title.replace(/\b0*/,'') $('#wotitle').text(title) }) async function QueryDataAsync(paraworkshop) { try { let workshop = paraworkshop console.log('chart') //1 焊接 let weld = await QueryData(workshop, "M10"); weld = await weld.json(); weld = handleary(weld.info); iniChart('rptweld', '焊接', weld); //2 叠层 let lamination = await QueryData(workshop, "M15"); lamination = await lamination.json(); lamination = handleary(lamination.info); iniChart('rptlamination', '叠层', lamination); //3 层压 let layup = await QueryData(workshop, "M30"); layup = await layup.json(); layup = handleary(layup.info); iniChart('rptlayup', '层压', layup); //4 层压后检验 //let inspectionafterlayup = await QueryData(workshop, "M35"); //inspectionafterlayup = await inspectionafterlayup.json(); //inspectionafterlayup = handleary(inspectionafterlayup.info); //iniChart('rptinspectionafterlayup', '层压后检验', inspectionafterlayup) //5 装框 let frame = await QueryData(workshop, "M45"); frame = await frame.json(); frame = handleary(frame.info); iniChart('rptframe', '装框', frame); //6 清洗 let clean = await QueryData(workshop, "M50"); clean = await clean.json(); clean = handleary(clean.info); iniChart('rptclean', '清洗', clean); //7 IV测试 let iv = await QueryData(workshop, "iv"); iv = await iv.json(); iv = handleary(iv.info); iniChart('rptiv', 'IV测试', iv); //8 EL测试 let el = await QueryData(workshop, "el"); el = await el.json(); el = handleary(el.info); iniChart('rptel', 'EL测试', el); //9 全检 let fullinspection = await QueryData(workshop, "M70"); fullinspection = await fullinspection.json(); fullinspection = handleary(fullinspection.info); iniChart('rptfullinspection', '全检', fullinspection); } catch (err) { console.log(err); } } function FetchApi(funname, para) { return fetch("/api/Report/Dashboard/" + funname + "", { method: "post", headers: { "Accept": "application/json, text/plain, */*", "Content-Type": "application/json" }, body: JSON.stringify(para) }) } function QueryData(workshop, sitename) { let response = fetch("/api/Report/Dashboard/QueryData", { method: "post", headers: { "Accept": "application/json, text/plain, */*", 'Content-Type': 'application/json' }, body: JSON.stringify({ workshop: workshop, sitename: sitename }) }) //let data = await response.json(); return response; } // .then(function (res) { // return res.json(); // }).then(function (res) { // var getdata = res.info; // //$('#mainboxbody').next().remove(); // //App.unblockUI($('#tab-content')); // var chartary = []; // var completionary = ["00", "02", "04", "06", "08", "10", "12", "14", "16", "18", "20", "22"]; // _.each(completionary, function (ele, index, ary) { // var findres = _.find(getdata, function (item, index, obj) { // return item.times == ele; // }); // if (findres == undefined) { // chartary.push(0) // } // else { // chartary.push(findres.qty) // } // }) // iniChart('rptweld', '焊接', chartary); // iniChart('rptweld1', '叠层', chartary); // iniChart('rptweld2', '层压', chartary); // iniChart('rptweld3', '层压', chartary); // iniChart('rptweld4', '层压', chartary); // iniChart('rptweld5', '层压', chartary); // iniChart('rptweld6', '层压', chartary); // iniChart('rptweld7', '层压', chartary); // iniChart('rptweld8', '层压', chartary); // console.log(chartary); // }).catch(function (ex) { // //$('#mainboxbody').next().remove(); // //toastr.error(ex, '', { progressBar: true }); // console.log('request failed', ex); // }) // console.log(a1); //} function iniChart(eleid, title, data) { var chart = Highcharts.chart(eleid, { chart: { type: 'column' }, credits: { enabled: false }, title: { text: title }, subtitle: { //text: '数据来源: WorldClimate.com' }, xAxis: { categories: ["00:00", "02:00", "04:00", "06:00", "08:00", "10:00", "12:00", "14:00", "16:00", "18:00", "20:00", "22:00"] , crosshair: true }, yAxis: { min: 0, title: { text: '组件数量' }, //stackLabels: { // 堆叠数据标签 // enabled: true, // style: { // fontWeight: 'bold', // color: (Highcharts.theme && Highcharts.theme.textColor) || 'gray' // } //} }, tooltip: { // head + 每个 point + footer 拼接成完整的 table headerFormat: '{point.key}', pointFormat: '' + '', footerFormat: '
{series.name}: {point.y:.1f} mm
', shared: true, useHTML: true }, exporting: { enabled: false }, plotOptions: { column: { borderWidth: 0, dataLabels: { enabled: true //设置显示对应y的值 } }, }, series: [{ data: data }], legend: { enabled: false }, }); } function iniStockTable() { $('#tbLCLPallet').bootstrapTable({ columns: [{ field: 'palletno', title: '托盘' }, { field: 'powergrade', title: '电压' } , { field: 'igrade', title: '电流' }, { field: 'cellqty', title: '电池片数量' }, { field: 'bartype', title: '晶体类型' }, { field: 'modulespec', title: '组件类型' }, { field: 'finalgrade', title: '最终等级' }, { field: 'color', title: '颜色' }, { field: 'locationname', title: '库位' } ], //data: [{ // id: 1, // name: 'Item 1', // price: '$1' //}, { // id: 2, // name: 'Item 2', // price: '$2' //}] } ) } //查询仓库的库位 function QueryStorageLocationByStock(stockid) { var promise = $.ajax({ url: '../api/StockIn/QueryLocationByStock', type: 'post', cache: false, async: true, contentType: "application/json", data: JSON.stringify({ stockid: stockid }) }); promise.done(function (r) { var options = ''; $.each(r, function (i, v) { options += ""; }); $('#ddlLocation').html(options); $('#ddlLocation').val(''); $('#ddlLocation').select2({ placeholder: "选择库位", allowClear: true }); //查询库位的条件 2019-2-20 xue lei $('#ddlLocation').on('select2:select', function (e) { console.log($(this).val()); var selectvalue = $(this).val(); QueryLocationCondiction(selectvalue); }); }); promise.fail(function (error) { console.log(error) alert(error); }); } //查询仓库 function QueryStock() { var promise = $.ajax({ url: '../api/StockIn/QueryStock', type: 'post', cache: false, async: true, contentType: "application/json", //data: JSON.stringify({ // lotid: $("#LotID").val() //}), }); promise.done(function (r) { var options = ''; $.each(r, function (i, v) { options += ""; }) $('#ddlStock').html(options); $('#ddlStock').val(''); $('#ddlStock').select2({ placeholder: "选择仓库", allowClear: true }); $('#ddlStock').on('select2:select', function (e) { console.log($(this).val()); var selectvalue = $(this).val(); QueryStorageLocationByStock(selectvalue); }); }); promise.fail(function (error) { console.log(error); alert(error); }); } //查询库位的条件 function QueryLocationCondiction(lacotionid) { fetch("../api/StockIn/QueryLocationCondiction", { method: "post", headers: { "Accept": "application/json, text/plain, */*", 'Content-Type': 'application/json' }, body: JSON.stringify({ locationid: lacotionid }) }).then(function (res) { return res.json(); }).then(function (res) { const CondictionAry = ['powergrade', 'igrade', 'color', 'cellqty', 'bartype', 'modulespec', 'finalgrade']; if (res.powergrade != null) { $('#cbxPowerGrade').iCheck('check'); }; if (res.igrade != null) { $('#cbxIGrade').iCheck('check'); }; if (res.cellqty != null) { $('#cbxCellQty').iCheck('check'); }; if (res.bartype != null) { $('#cbxBarType').iCheck('check'); }; if (res.modulespec != null) { $('#cbxModuleSpec').iCheck('check'); }; if (res.finalgrade != null) { $('#cbxFinalGrade').iCheck('check'); }; if (res.color != null) { $('#cbxColor').iCheck('check'); }; console.log("查询库位条件结束"); }).catch(function (ex) { console.log('request failed', ex); }) } function CondictionisSelected() { var conobj = { powergrade: $('#cbxPowerGrade').iCheck('update')[0].checked, igrade: $('#cbxIGrade').iCheck('update')[0].checked, color: $('#cbxColor').iCheck('update')[0].checked, cellqty: $('#cbxCellQty').iCheck('update')[0].checked, bartype: $('#cbxBarType').iCheck('update')[0].checked, modulespec: $('#cbxModuleSpec').iCheck('update')[0].checked, finalgrade: $('#cbxFinalGrade').iCheck('update')[0].checked, } if (!conobj.powergrade && !conobj.igrade && !conobj.color && !conobj.cellqty && !conobj.battype && !conobj.modulespec && !conobj.finalgrade) { return false; } return true; } //扫描托盘号 $("#txtPallet").keypress(function (event) { if (event.which == 13 || event.KeyCode == 13) { event.preventDefault(); //检查拼柜条件是否选中 if (CondictionisSelected() == false) { toastr.warning('请选择拼柜条件', '', { progressBar: true }); return; } if ($('#txtContainer').val() == '') { toastr.warning('请输入柜号', '', { progressBar: true }); return; } if ($('#txtContainerQty').val() == '') { toastr.warning('请输入拼柜数量', '', { progressBar: true }); return; } var conobj = { powergrade: $('#cbxPowerGrade').iCheck('update')[0].checked, igrade: $('#cbxIGrade').iCheck('update')[0].checked, color: $('#cbxColor').iCheck('update')[0].checked, cellqty: $('#cbxCellQty').iCheck('update')[0].checked, bartype: $('#cbxBarType').iCheck('update')[0].checked, modulespec: $('#cbxModuleSpec').iCheck('update')[0].checked, finalgrade: $('#cbxFinalGrade').iCheck('update')[0].checked, } var palletno = $('#txtPallet').val(); //$('#mainboxbody').after('
'); //App.blockUI({ // target: $('#tab-content'), // animate: true, // overlayColor: 'none' //}) $.blockUI({ css: { border: 'none', padding: '15px', backgroundColor: '#000', '-webkit-border-radius': '10px', '-moz-border-radius': '10px', opacity: .5, color: '#fff' } }); //提交托盘号和入库所选的条件 fetch("../api/LCL/LCL", { method: "post", headers: { "Accept": "application/json, text/plain, */*", 'Content-Type': 'application/json' }, body: JSON.stringify({ palletno: palletno, container: $("#txtContainer").val(), containerqty: $("#txtContainerQty").val(), selectcondiction: conobj }) }).then(function (res) { return res.json(); }).then(function (res) { //$('#mainboxbody').next().remove(); //App.unblockUI($('#tab-content')); $.unblockUI(); if (res.result == "fail") { //toastr.options.progressBar = true; //toastr.options.positionClass = "toast-top-center"; toastr.warning(res.msg, '', { progressBar: true }); } else if (res.result == "success") { toastr.success(res.msg, '', { progressBar: true }); var locationname = ''; if (res.info.stockinfo != null) { locationname = res.info.stockinfo.locationname; } var rowobj = { palletno: res.info.pallet.pallet_nbr, powergrade: res.info.pallet.power_grade, igrade: res.info.pallet.current_grade, cellqty: res.info.product.cell_qty, bartype: res.info.product.crys_type_value, modulespec: res.info.product.mod_spec_value, finalgrade: res.info.pallet.final_grade, color: res.info.pallet.mod_color, locationname: locationname } $('#tbLCLPallet').bootstrapTable('insertRow', { index: 0, row: rowobj }); $('#txtPallet').val(''); } else if (res.result == "doing") { var $toastr = toastr.warning('
该托盘正在拼柜,是否显示托盘的柜号信息
', '', { timeOut: 0, extendedTimeOut: 0 }) LCLApp.stockinfo = res.info.stockinfo; LCLApp.palletinfo = res.info.palletinfo; if ($toastr.find('#ShowContainerBtn').length) { $('#ShowContainerBtn').on("click", function () { ShowPalletOfContainer(); }) } } console.log(res); }).catch(function (ex) { $('#mainboxbody').next().remove(); toastr.error(ex, '', { progressBar: true }); console.log('request failed', ex); }) } }); var LCLApp = { stockinfo: null, palletinfo: null } function ShowPalletOfContainer() { //显示正在平柜的数据 //柜号 $('#txtContainer').val(LCLApp.stockinfo[0].ContainerNo); //柜号数量 $('#txtContainerQty').val(LCLApp.stockinfo[0].Count); //柜号里的托盘 var tbdata = []; for (var i = 0; i <= LCLApp.stockinfo.length - 1; i++) { var match = _.find(LCLApp.palletinfo, function (num) { return num.palletno == LCLApp.stockinfo[i].palletno; }); if (match != undefined) { var entendres = _.extend(LCLApp.stockinfo[i], match) tbdata.push(entendres); } else { tbdata.push(LCLApp.stockinfo[i]); } } $('#tbLCLPallet').bootstrapTable('destroy').bootstrapTable({ columns: [{ field: 'palletno', title: '托盘' }, { field: 'powergrade', title: '电压' } , { field: 'igrade', title: '电流' }, { field: 'cellqty', title: '电池片数量' }, { field: 'bartype', title: '晶体类型' }, { field: 'modulespec', title: '组件类型' }, { field: 'finalgrade', title: '最终等级' }, { field: 'color', title: '颜色' }, { field: 'locationname', title: '库位' } ], data: tbdata }); LCLApp.palletinfo = null; LCLApp.stockinfo = null; }