旧版报表、仓库
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.
 
 
 
 
 

343 lines
12 KiB

$().ready(function () {
//$('.input-daterange').datepicker({
// language: 'zh-CN',//显示中文
// format: 'yyyy-mm-dd',
//});
//$('#txtEndtime').val(moment().format("YYYY-MM-DD"));
//$('#txtBegintime').val(moment().subtract(1, 'days').format("YYYY-MM-DD"));
//$('#ddlWorkshop').val('');
//$('#ddlWorkshop').select2({
// placeholder: "车间",
// allowClear: true
//});
QueryddlStatus();
QueryddlWorkshop();
$('#ddlStation').val('');
$('#ddlStation').select2({
placeholder: "站点",
allowClear: true
});
Daterangeini();
})
function QueryddlWorkshop() {
var promiseweld = $.ajax({
url: '/api/Orders/QueryWorkshop', //'/api/QC/QueryStatus'
type: 'post',
cache: true,
async: true,
});
promiseweld.done(function (r) {
console.log(r);
$.each(r.info, function (index, value) {
console.log(index);
$("#ddlWorkshop").append("<option value='" + value.area_code + "'>" + value.descriptions + "</option>");
})
$('#ddlWorkshop').val('');
$('#ddlWorkshop').select2({
placeholder: "车间",
allowClear: true
});
});
promiseweld.fail(function (error) {
console.log(error)
alert(error);
});
}
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,
"opens": "center",
'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() == '' && $('#ddlWorkshop').val() == null && $('#LotID').val() == '' && $('#workorder').val() == '' && $('#ddlStation').val() == null) {
toastr.warning('请输入查询参数', '', { progressBar: true });
return;
}
if ($('#ddlWorkshop').val() == null && $('#ddlStation').val() != null) {
toastr.warning('请选择查询车间', '', { progressBar: true });
return;
}
//1.初始化Table
$("#tbqc").bootstrapTable('refresh');
var oTable = new TableInit();
oTable.Init();
//$("#LotID").change(function () { $("#tbqc").bootstrapTable('refresh'); });
//$("#ddlWorkshop").change(function () { $("#tbqc").bootstrapTable('refresh'); });
//$("#ddlStatus").change(function () { $("#tbqc").bootstrapTable('refresh'); });
})
var TableInit = function () {
var oTableInit = new Object();
//初始化Table
oTableInit.Init = function () {
$('#tbqc').bootstrapTable({
url: '/api/QC/QueryQCInfo', //请求后台的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'],
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
},
{
field: 'serial_nbr',
title: '组件序列号'
}, {
field: 'sale_order',
title: '订单'
}, {
field: 'schedule_nbr',
title: '工单'
}
//, {
//field: 'check_nbr',
//title: '报检单号'
//}
, {
field: 'dqstatus',
title: '组件状态'
},
{
field: "final_grade",
title: "等级"
}
//, {
//field: 'HOLDdate',
//title: '扣留时间'
//}
, {
field: 'process_code_desc',
title: '不良站点'
}, {
field: 'defect_type_name',
title: '不良类型'
},
{
field: 'defect_position',
title: '不良位置'
},
{
field: 'remark',
title: '不良描述'
},
{
field: 'according_std',
title: '不良标准'
},
{
field: "hstatus",
title: "扣留状态"
},
{
field: "hperson",
title: "扣留人"
},
{
field: "htime",
title: "扣留时间"
},
{
field: "rstatus",
title: "最终状态"
},
{
field: "rperson",
title: "最终操作人"
},
{
field: "rtime",
title: "最终操作时间"
}]
});
};
//得到查询的参数
oTableInit.queryParams = function (params) {
var temp = { //这里的键的名字和控制器的变量名必须一直,这边改动,控制器也需要改成一样的
limit: params.limit, //页面大小
offset: params.offset, //页码
//departmentname: $("#txt_search_departmentname").val(),
//statu: $("#txt_search_statu").val()
begintime: $('#rangetime').val().substr(0, 19),
endtime: $('#rangetime').val().split(' - ')[1],
workshop: $('#ddlWorkshop').val(),
//status: $('#ddlStatus').val(),
serialno: $('#LotID').val(),
workorder: $('#workorder').val(),
station: $('#ddlStation').val()
};
return temp;
};
return oTableInit;
};
var ButtonInit = function () {
var oInit = new Object();
var postdata = {};
oInit.Init = function () {
//初始化页面上面的按钮事件
};
return oInit;
};
/**
* 合并单元格
* @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 () {
console.log("clicked");
//var promiseweld = $.ajax({
// url: '../Report/ExportToExcel',
// type: 'post',
// cache: true,
// async: true,
//});
//promiseweld.fail(function (error) {
// console.log(error)
// alert(error);
//});
//window.open('../Report/ExportToExcel?bt=2018-10-10');
//+ "/" + (!$('#ddlStatus').val() ? "Null" : $('#ddlStatus').val())
if ($('#rangetime').val() == '' && $('#ddlWorkshop').val() == null && $('#LotID').val() == '' && $('#workorder').val() == '' && $('#ddlStation').val() == null) {
toastr.warning('请输入查询参数', '', { progressBar: true });
return;
}
if ($('#ddlWorkshop').val() == null && $('#ddlStation').val() != null) {
toastr.warning('请选择查询车间', '', { progressBar: true });
return;
}
var bt = $('#rangetime').val().substr(0, 19);
var et = $('#rangetime').val().split(' - ')[1];
if (bt == '') { et = '' };
var astr = "<a href='/Report/QCExcel/" + (bt == '' ? 'Null' : encodeURI(bt)) + "/" + (et == '' ? 'Null' : encodeURI(et)) + "/" + (!$('#LotID').val() ? "Null" : $('#LotID').val()) + "/" + (!$('#ddlWorkshop').val() ? "Null" : $('#ddlWorkshop').val()) + "/" + (!$('#workorder').val() ? "Null" : $('#workorder').val()) + "/" + (!$('#ddlStation').val() ? "Null" : $('#ddlStation').val()) +"' target='_blank'></a>";
var a = $(astr).get(0)
var e = document.createEvent('MouseEvents');
e.initEvent('click', true, true);
a.dispatchEvent(e);
})