$(document).ready(function () { Daterangeini(); //QueryddlStatus(); //1.初始化Table $('#wodaterange').tooltip(); }) /*显示daterangepicker*/ function Daterangeini() { $('#rangetime').val(moment().subtract('hours', 0).format('YYYY-MM-DD') + ' 07:20:00' + ' - ' + moment().format('YYYY-MM-DD') + ' 19:20: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() == '' && $('#txtSales').val() == '' && $('#txtCustomer').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/WOFinishStatus/QueryInfo', //请求后台的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: true, //是否显示表格搜索,此搜索是客户端搜索,不会进服务端,所以,个人感觉意义不大 strictSearch: true, showColumns: true, //是否显示所有的列 showRefresh: true, //是否显示刷新按钮 minimumCountColumns: 2, //最少允许的列数 clickToSelect: true, //是否启用点击选中行 //height: 500, //行高,如果没有设置height属性,表格自动根据记录条数觉得表格高度 //uniqueId: "aiid", //每一行的唯一标识,一般为主键列 showToggle: true, //是否显示详细视图和列表视图的切换按钮 cardView: false, //是否显示详细视图 detailView: false, //是否显示父子表 showExport: true, //是否显示导出 exportDataType: "all", //basic', 'all', 'selected'. exportTypes: ['json', 'xml', 'csv', 'txt', 'sql', 'excel'], exportHiddenCells: true, onLoadSuccess: function (data) { // var data = $('#tbqc').bootstrapTable('getData', true); // //合并单元格 mergeCells(data, "customer", 1, $('#tbWOFinishStatus')); // mergeCells(data, "schedule_nbr", 1, $('#tbqc')); console.log(data); }, columns: [ { checkbox: true, // rowspan: 2, align: 'center', valign: 'middle' }, { field: 'create_date', title: '日期', // rowspan: 2, align: 'center', valign: 'middle', }, { field: 'firstlottime', title: '产线', // rowspan: 2, align: 'center', valign: 'middle' }, { field: 'customer', title: '订单', // rowspan: 2, align: 'center', valign: 'middle' }, { field: 'sale_order', title: '任务号', // rowspan: 2, align: 'center', valign: 'middle' }, { field: 'workorder', title: '组件版型', // rowspan: 2, align: 'center', valign: 'middle' }, { field: 'firstlot', title: '报检数量', // rowspan: 2, align: 'center', valign: 'middle' }, { field: 'firstlot', title: 'A2快数', // rowspan: 2, align: 'center', valign: 'middle' }, { field: 'firstlot', title: '总A2率', // rowspan: 2, align: 'center', valign: 'middle' }, { field: 'firstlot', title: "问题明细", // rowspan: 2, align: 'center', valign: 'middle' }, { field: 'firstlot', title: "快数", // rowspan: 2, align: 'center', valign: 'middle' }, { field: 'firstlot', title: "问题比例", // rowspan: 2, align: 'center', valign: 'middle' }, { field: 'firstlot', title: "评审走A1", // rowspan: 2, 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(), 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; // } //} //导出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 () { $txtwo = $('#txtWO').val(); $txtSales = $('#txtSales').val(); $txtcustomer = $('#txtCustomer').val(); $begintime = $('#rangetime').val().substr(0, 19); $endtime = $('#rangetime').val().split(' - ')[1]; if ($begintime == '' && $txtwo == '' && $txtSales == '' && $txtcustomer == '') { alert('请输入查询条件'); return; } if ($('#rangetime').val() == '') { bt = ''; et = ''; } else { bt = $('#rangetime').val().substr(0, 19); et = $('#rangetime').val().split(' - ')[1]; } doPost('/Report/WOFinishStatusExcel', [txtwo = $txtwo, txtsales = $txtSales, txtcustomer = $txtcustomer, bt = bt, et = et]) }) 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 } //合并行 /* 合并行 @param data 原始数据(在服务端完成排序) @param fieldName 合并属性名称数组 @param colspan 列数 @param target 目标表格对象 */ function mergeCells(data, fieldName, colspan, target){ if (data.length == 0) { alert("不能传入空数据"); return; } var numArr = []; var value = data[0][fieldName];//以哪一列的值为准 console.log(value); var num = 0; for (var i = 0; i < data.length; i++){ if (value != data[i][fieldName]){ numArr.push(num); value = data[i][fieldName]; num = 1; continue; } num++; } if (typeof (value) != "undefined" && value != ""){ numArr.push(num); } var merIndex = 0; for (var i = 0; i < numArr.length; i++) { $(target).bootstrapTable('mergeCells', { index: merIndex, field: fieldName, colspan: colspan, rowspan: numArr[i] }) merIndex += numArr[i]; } }