$(document).ready(function () { Daterangeini(); //QueryddlStatus(); //1.初始化Table $('#wodaterange').tooltip(); }) /*显示daterangepicker*/ function Daterangeini() { $('#rangetime').val(moment().subtract('hours', 0).format('YYYY-MM-DD') + ' 08:00:00' + ' - ' + moment().format('YYYY-MM-DD') + ' 20:00:00'); $('#rangetime').daterangepicker( { //autoUpdateInput: false, timePicker: true, timePicker24Hour: true, 'locale': { "format": 'YYYY-MM-DD HH:mm:ss', "separator": " - ", "applyLabel": "确定", "cancelLabel": "取消", "fromLabel": "起始时间", "toLabel": "结束时间'", "customRangeLabel": "自定义", "weekLabel": "W", "daysOfWeek": ["日", "一", "二", "三", "四", "五", "六"], "monthNames": ["一月", "二月", "三月", "四月", "五月", "六月", "七月", "八月", "九月", "十月", "十一月", "十二月"], "firstDay": 1, //"cancelLabel": '清除' } }); //$('#rangetime').val(''); $('#rangetime').on('cancel.daterangepicker', function (ev, picker) { $(this).val(''); }); } function QueryddlStatus() { var promiseweld = $.ajax({ url: '../api/QC/QueryStatus', type: 'post', cache: true, async: true, }); promiseweld.done(function (r) { $.each(r, function (index, value) { $("#ddlStatus").append(""); }) $('#ddlStatus').val(''); $('#ddlStatus').select2({ placeholder: "状态", allowClear: true }); }); promiseweld.fail(function (error) { console.log(error) alert(error); }); } $('#btnQuery').click(function () { //检查查询参数 if ($('#rangetime').val() == '' && $('#txtWO').val() == '' && $('textarea').val() == '' ) { alert('请输入查询参数'); //alert($('#boxbody'), '请输入查询参数'); return; } //时间范围卡关 不能超过一周 //var bt = moment($('#rangetime').val().substr(0, 19)); //var et = moment($('#rangetime').val().split(' - ')[1]); //if (et.diff(bt, 'days') > 7) //{ // alert($('#boxbody'), '时间范围不能超过7天'); //修改alertinfo // return; //} //$("#tbtestdata").bootstrapTable('refresh'); var oTable = new TableInit(); oTable.Init(); }) var TableInit = function () { var oTableInit = new Object(); //初始化Table oTableInit.Init = function () { $('#tbWOFinishStatus').bootstrapTable('destroy').bootstrapTable({ url: '/api/DataQuery/DataQuery', //请求后台的URL(*) method: 'post', //请求方式(*) toolbar: '#toolbar', //工具按钮用哪个容器 striped: true, //是否显示行间隔色 cache: false, //是否使用缓存,默认为true,所以一般情况下需要设置一下这个属性(*) pagination: true, //是否显示分页(*) sortable: false, //是否启用排序 sortOrder: "asc", //排序方式 queryParams: oTableInit.queryParams,//传递参数(*) sidePagination: "client", //分页方式:client客户端分页,server服务端分页(*) contentType: 'application/json', pageNumber: 1, //初始化加载第一页,默认第一页 pageSize: 20, //每页的记录行数(*) pageList: [10, 25, 50, 100], //可供选择的每页的行数(*) search: false, //是否显示表格搜索,此搜索是客户端搜索,不会进服务端,所以,个人感觉意义不大 strictSearch: true, showColumns: false, //是否显示所有的列 showRefresh: false, //是否显示刷新按钮 minimumCountColumns: 2, //最少允许的列数 clickToSelect: true, //是否启用点击选中行 //height: 500, //行高,如果没有设置height属性,表格自动根据记录条数觉得表格高度 //uniqueId: "aiid", //每一行的唯一标识,一般为主键列 showToggle: false, //是否显示详细视图和列表视图的切换按钮 cardView: false, //是否显示详细视图 detailView: false, //是否显示父子表 showExport: false, //是否显示导出 exportDataType: "all", //basic', 'all', 'selected'. exportTypes: ['json', 'xml', 'csv', 'txt', 'sql', 'excel'], exportHiddenCells: true, height: 600, //table-layout:"fixed", onLoadSuccess: function (data) { // var data = $('#tbqc').bootstrapTable('getData', true); // //合并单元格 // mergeCells(data, "serial_nbr", 1, $('#tbqc')); // mergeCells(data, "schedule_nbr", 1, $('#tbqc')); console.log(data); }, columns: [ [{ checkbox: true, rowspan: 2, align: 'center', valign: 'middle', //table-layout: 'fixed' }, { field: "组件编号", title: '组件编号', rowspan: 2, align: 'center', valign: 'middle', }, { field: "车间编号", title: '车间编号', rowspan: 2, align: 'center', valign: 'middle' }, { field: 'customer',// title: '状态', rowspan: 2, align: 'center', valign: 'middle' }, { field: "工单类型", title: '工单类型', rowspan: 2, align: 'center', valign: 'middle' }, { field: "工单号", title: '工单编号', rowspan: 2, align: 'center', valign: 'middle' }, { field: "客户名称", title: '客户名称', rowspan: 2, align: 'center', valign: 'middle' }, { title: '分选', colspan: 10, align: 'center', valign: 'middle' }, { title: '焊接', colspan: 9, align: 'center', valign: 'middle' }, { title: "叠层", colspan: 18, align: 'center', valign: 'middle' }, { title: "层压前EL", colspan: 5, align: 'center', valign: 'middle' }, { title: "层压", colspan: 4, align: 'center', valign: 'middle' }, { title: "层压后检验", colspan: 3, align: 'center', valign: 'middle' }, { title: "装框", colspan: 15, align: 'center', valign: 'middle' }, { title: "电性能测试", colspan: 7, align: 'center', valign: 'middle' }, { title: "测试后EL", colspan: 4, align: 'center', valign: 'middle' }, { title: "全检", colspan: 4, align: 'center', valign: 'middle' } ], [ { field: "片源批号", title: "片源批号", align: 'center', valign: 'middle' }, { field: "片源厂商", title: "片源厂商", align: 'center', valign: 'middle' }, { field: "片源颜色", title: "片源颜色", align: 'center', valign: 'middle' }, { field: "片源挡位", title: "片源挡位", align: 'center', valign: 'middle' }, { field: "电池尺寸", title: "电池尺寸", align: 'center', valign: 'middle' }, { field: "分选操作人员",//分选操作人员 title: "操作人员", align: 'center', valign: 'middle' }, { field: "片源规格", title: "片源规格", align: 'center', valign: 'middle' }, { field: "片源用量", title: "片源用量", align: 'center', valign: 'middle' }, { field: "单片功率", title: "单片功率", align: 'center', valign: 'middle' }, { field: "电池种类", title: "电池种类", align: 'center', valign: 'middle' }, { field: "焊接时间", title: "焊接时间", align: 'center', valign: 'middle' }, { field: "机台编号", title: "机台编号", align: 'center', valign: 'middle' }, { field: "助焊剂厂商",//助焊剂厂商 title: "助焊剂厂商", align: 'center', valign: 'middle' }, { field: "助焊剂批号",//助焊剂批号 title: "助焊剂批号", align: 'center', valign: 'middle' }, { field: "操作人员", title: "操作人员", align: 'center', valign: 'middle' }, { field: "操作班次", title: "操作班次", align: 'center', valign: 'middle' }, { field: "电池片效率", title: "电池片效率", align: 'center', valign: 'middle' }, { field: "互联条厂商",//互联条厂商 title: "互联条厂商", align: 'center', valign: 'middle' }, { field: "互联条规格",//互联条规格 title: "互联条规格", align: 'center', valign: 'middle' }, { field: "叠层时间", title: "操作时间", align: 'center', valign: 'middle' }, { field: "叠层机台编号", title: "机台编号", align: 'center', valign: 'middle' }, { field: "高透EVA规格", title: "高透EVA规格", align: 'center', valign: 'middle' }, { field: "高透EVA批号", title: "高透EVA批号", align: 'center', valign: 'middle' }, { field: "玻璃厂商", title: "玻璃厂商", align: 'center', valign: 'middle' }, { field: "玻璃规格", title: "玻璃规格", align: 'center', valign: 'middle' }, { field: "玻璃批号", title: "玻璃批号", align: 'center', valign: 'middle' }, { field: "汇流条厂商", title: "汇流条厂商", align: 'center', valign: 'middle' }, { field: "汇流条规格", title: "汇流条规格", align: 'center', valign: 'middle' }, { field: "叠层操作人员", title: "操作人员", align: 'center', valign: 'middle' }, { field: "叠层操作班次", title: "操作班次", align: 'center', valign: 'middle' }, { field: "EVA厂商", title: "EVA厂商", align: 'center', valign: 'middle' }, { field: "普通EVA规格", title: "普通EVA规格", align: 'center', valign: 'middle' }, { field: "普通EVA批号", title: "普通EVA批号", align: 'center', valign: 'middle' }, { field: "背板厂商",//背板厂商 title: "背板厂商", align: 'center', valign: 'middle' }, { field: "背板规格",//背板规格 title: "背板规格", align: 'center', valign: 'middle' }, { field: "背板批号",//背板批号 title: "背板批号", align: 'center', valign: 'middle' }, { field: "汇流条批号", title: "汇流条批号", align: 'center', valign: 'middle' }, { field: "前EL测试时间", title: "测试时间", align: 'center', valign: 'middle' }, { field: "前EL机台编号", title: "机台编号", align: 'center', valign: 'middle' }, { field: "avg",//前EL操作人员 title: "操作人员", align: 'center', valign: 'middle' }, { field: "avg",//前EL操作班次 title: "操作班次", align: 'center', valign: 'middle' }, { field: "前EL测试结果", title: "测试结果", align: 'center', valign: 'middle' }, { field: "层压时间", title: "操作时间", align: 'center', valign: 'middle' }, { field: "层压机台编号", title: "机台编号", align: 'center', valign: 'middle' }, { field: "层压操作人员", title: "操作人员", align: 'center', valign: 'middle' }, { field: "层压操作班次", title: "操作班次", align: 'center', valign: 'middle' }, { field: "层压后检验时间", title: "检验时间", align: 'center', valign: 'middle' }, { field: "层压后检验操作人员", title: "操作人员", align: 'center', valign: 'middle' }, { field: "层压后检验操作班次", title: "操作班次", align: 'center', valign: 'middle' }, { field: "装框时间", title: "操作时间", align: 'center', valign: 'middle' }, { field: "装框机台编号", title: "机台编号", align: 'center', valign: 'middle' }, { field: "线盒厂家", title: "线盒厂家", align: 'center', valign: 'middle' }, { field: "线盒规格", title: "线盒规格", align: 'center', valign: 'middle' }, { field: "线盒批号", title: "线盒批号", align: 'center', valign: 'middle' }, { field: "线盒胶厂商", title: "线盒胶厂商", align: 'center', valign: 'middle' }, { field: "线盒胶批号", title: "线盒胶批号", align: 'center', valign: 'middle' }, { field: "装框操作人员", title: "操作人员", align: 'center', valign: 'middle' }, { field: "装框操作班次", title: "操作班次", align: 'center', valign: 'middle' }, { field: "接线盒拍照时间", title: "接线盒拍照时间", align: 'center', valign: 'middle' }, { field: "型材厂商", title: "型材厂家", align: 'center', valign: 'middle' }, { field: "型材规格", title: "型材规格", align: 'center', valign: 'middle' }, { field: "型材批号", title: "型材批号", align: 'center', valign: 'middle' }, { field: "型材胶厂商", title: "型材胶厂商", align: 'center', valign: 'middle' }, { field: "型材胶批号", title: "型材胶批号", align: 'center', valign: 'middle' }, { field: "IV机台编号", title: "机台编号", align: 'center', valign: 'middle' }, { field: "测试功率", title: "测试功率", align: 'center', valign: 'middle' }, { field: "标准功率", title: "标准功率", align: 'center', valign: 'middle' }, { field: "avg",// title: "功率损失", align: 'center', valign: 'middle' }, { field: "测试时间", title: "测试时间", align: 'center', valign: 'middle' }, { field: "测试电流", title: "测试电流", align: 'center', valign: 'middle' }, { field: "avg",//绝缘耐压 title: "绝缘耐压", align: 'center', valign: 'middle' }, { field: "后EL测试时间", title: "测试时间", align: 'center', valign: 'middle' }, { field: "后EL机台编号", title: "机台编号", align: 'center', valign: 'middle' }, { field: "avg",// title: "操作班次", align: 'center', valign: 'middle' }, { field: "后EL测试结果", title: "测试结果", align: 'center', valign: 'middle' }, { field: "全检时间", title: "全检时间", align: 'center', valign: 'middle' }, { field: "全检机台编号", title: "机台编号", align: 'center', valign: 'middle' }, { field: "全检操作人员", title: "操作人员", align: 'center', valign: 'middle' }, { field: "avg",//全检结果 title: "全检结果", align: 'center', valign: 'middle' }, ] ] }); }; //得到查询的参数 oTableInit.queryParams = function (params) { var temp = { //这里的键的名字和控制器的变量名必须一直,这边改动,控制器也需要改成一样的 limit: params.limit, //页面大小 offset: params.offset, //页码 //departmentname: $("#txt_search_departmentname").val(), //statu: $("#txt_search_statu").val() bt: $('#rangetime').val().substr(0, 19),//$('#txtBegintime').val(), et: $('#rangetime').val().split(' - ')[1], // customer: $('#txtCustomer').val(), wo: $('#txtWO').val(), text: $('textarea').val(), //sales: $('#txtSales').val(), }; return temp; }; return oTableInit; }; /** * 合并单元格 * @param data 原始数据(在服务端完成排序) * @param fieldName 合并属性名称 * @param colspan 合并列 * @param target 目标表格对象 */ //function mergeCells(data, fieldName, colspan, target) { // //声明一个map计算相同属性值在data对象出现的次数和 // var sortMap = {}; // for (var i = 0; i < data.length; i++) { // for (var prop in data[i]) { // if (prop == fieldName) { // var key = data[i][prop] // if (sortMap.hasOwnProperty(key)) { // sortMap[key] = sortMap[key] * 1 + 1; // } else { // sortMap[key] = 1; // } // break; // } // } // } // for (var prop in sortMap){ // console.log(prop, sortMap[prop]) // } // var index = 0; // for (var prop in sortMap){ // var count = sortMap[prop] * 1; // $(target).bootstrapTable('mergeCells', { index: index, field: fieldName, colspan: colspan, rowspan: count }); // index += count; // } //} function mergeCells(data, fieldName, colspan, target) { //声明一个map计算相同属性值在data对象出现的次数和 var sortMap = {}; for (var i = 0; i < data.length; i++) { for (var prop in data[i]) { if (prop == fieldName) { var key = data[i][prop] if (sortMap.hasOwnProperty(key)) { sortMap[key] = sortMap[key] * 1 + 1; } else { sortMap[key] = 1; } break; } } } for (var prop in sortMap){ console.log(prop, sortMap[prop]) } var index = 0; for (var prop in sortMap){ var count = sortMap[prop] * 1; $(target).bootstrapTable('mergeCells', { index: index, field: fieldName, colspan: colspan, rowspan: count }); index += count; } } //导出excel //$('#btnExportExcel').click(function () { // if ($('#rangetime').val() == '' // && $('#txtWO').val() == '' // && $('#txtSales').val() == '' // && $('#txtCustomer').val() == '' // ) { // alert('请输入查询参数'); // //alert($('#boxbody'), '请输入查询参数'); // return; // } // var bt = $('#rangetime').val().substr(0, 19); // var et = $('#rangetime').val().split(' - ')[1]; // if (bt == '') { // et = ''; // } else { // et = $('#rangetime').val().split(' - ')[1]; // } // console.log(bt+'--'+et); // console.log($('#txtWO').val() + '--' + $('#txtSales').val() + '--' + $('#txtCustomer').val()); // //if ($('#txtBegintime').val() == '' || $('#txtEndtime').val() == '') { // // alert('请输入查询参数'); // // return; // //} // //var promiseweld = $.ajax({ // // url: '../Report/ExportToExcel', // // type: 'post', // // cache: true, // // async: true, // //}); // //promiseweld.fail(function (error) { // // console.log(error) // // alert(error); // //}); // //string wo, string sales, string customer, string bt, string et // //window.open('../Report/ExportToExcel?bt=2018-10-10');$('#LotID').val() // var a = $("").get(0); // var e = document.createEvent('MouseEvents'); // e.initEvent('click', true, true); // a.dispatchEvent(e); //}) //导出Excel $('#btnExportExcel').on('click', function () { if ($('#rangetime').val() == '' && $('textarea').val() == '' && $('#txtWO').val() == '') { toastr.warning('请输入查询条件', '', { progressBar: true }); return; } var wo = $('#txtWO').val(); // $txtSales = $('#txtSales').val(); // $txtcustomer = $('#txtCustomer').val(); var bt = $('#rangetime').val().substr(0, 19); var et = $('#rangetime').val().split(' - ')[1]; var text = $('textarea').val().split(/[(\r\n)\r\n]+/); var texts = ""; if (text != '') { for (var i = 0; i < text.length; i++) { texts += "'" + text[i] + "'," } texts = texts.slice(0, texts.length - 1); } else { texts = text; } console.log(texts); if (bt == '') { et = ''; } else { et = $('#rangetime').val().split(' - ')[1]; } doPost('/Report/DataQueryExcel', [ txtwo = wo, begintime = bt, endtime = et, text = texts ]) }) function doPost(to, p) { // to:提交动作(action),p:参数 var myForm = document.createElement("form"); myForm.method = "post"; myForm.action = to; for (var i in p) { var myInput = document.createElement("input"); myInput.setAttribute("name", "para"); // 为input对象设置name myInput.setAttribute("value", p[i]); // 为input对象设置value myForm.appendChild(myInput); } document.body.appendChild(myForm); myForm.submit(); document.body.removeChild(myForm); // 提交后移除创建的form }