You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
407 lines
14 KiB
407 lines
14 KiB
$(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("<option value='" + value.visit_type + "'>" + value.visit_type_desc + "</option>");
|
|
// })
|
|
// $('#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 = $("<a href='/Report/WOFinishStatusExcel/" + ($('#txtWO').val() == '' ? 'Null' : $('#txtWO').val()) + "/" + (et == '' ? 'Null' : encodeURI(et)) + "/" + ($('#txtCustomer').val() == '' ? 'Null' : $('#txtCustomer').val()) + "/" + (bt == '' ? 'Null' : encodeURI(bt)) + "/" + ($('#txtSales').val() == '' ? 'Null' : $('#txtSales').val()) + "' target='_blank'></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];
|
|
}
|
|
}
|
|
|