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.
663 lines
23 KiB
663 lines
23 KiB
$(document).ready(function () {
|
|
Daterangeini();
|
|
QueryddlWorkshop();
|
|
QueryStock();
|
|
|
|
})
|
|
//时间
|
|
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 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(value);
|
|
$("#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);
|
|
});
|
|
}
|
|
$('#btnQuery').click(function () {
|
|
var $Stock = $('#ddlStock option:selected').text();
|
|
var $Location = $('#ddlLocation option:selected').text();
|
|
if ($Stock == '' && $Location == '') {
|
|
alert('请输入查询条件');
|
|
return;
|
|
}
|
|
|
|
var oTable = new TableInit();
|
|
oTable.Init();
|
|
})
|
|
var TableInit = function () {
|
|
var oTableInit = new Object();
|
|
//初始化Table
|
|
oTableInit.Init = function () {
|
|
function operateFormatter(value, row, index) {
|
|
return [
|
|
'<button type="button" class="btn btn-primary inquire">详细信息</button>',
|
|
].join('')
|
|
};
|
|
$('#tbqc').bootstrapTable('destroy').bootstrapTable({
|
|
url: '/api/InventoryJYReport/InventoryJYReports', //请求后台的URL(*) api/InventoryReport/InventoryReports
|
|
method: 'post', //请求方式(*)
|
|
toolbar: '#toolbar', //工具按钮用哪个容器
|
|
striped: false, //是否显示行间隔色
|
|
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: false, //是否启用点击选中行
|
|
//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, "serial_nbr", 1, $('#tbqc'));
|
|
//mergeCells(data, "schedule_nbr", 1, $('#tbqc'));
|
|
console.log(data);
|
|
//注释待修改
|
|
console.log($('tbody>tr').length);
|
|
var number = $('tbody>tr').length;
|
|
//for (var i = 0; i < number; i++) {
|
|
// $('tbody>tr:eq(' + i + ') td:eq(5)').addClass('btn-default');
|
|
// //$('tbody>tr:eq(' + i + ') td:gt(16)').removeClass('btn-default');
|
|
//}
|
|
},
|
|
columns: [{
|
|
checkbox:true
|
|
}, {
|
|
field: 'no',
|
|
title: '序号',
|
|
sortable: true,
|
|
align: "center",
|
|
width: 40,
|
|
formatter: function (value, row, index) {
|
|
//获取每页显示的数量
|
|
var pageSize = $('#tbqc').bootstrapTable('getOptions').pageSize;
|
|
//获取当前是第几页
|
|
var pageNumber = $('#tbqc').bootstrapTable('getOptions').pageNumber;
|
|
//返回序号,注意index是从0开始的,所以要加上1
|
|
return pageSize * (pageNumber - 1) + index + 1;
|
|
}
|
|
}, {
|
|
field: 'name',
|
|
title: '仓库'
|
|
}, {
|
|
field: 'locationname',
|
|
title: '库位'
|
|
}, {
|
|
field: 'sale_order',
|
|
title: '客户订单'
|
|
}, {
|
|
field: 'containerno',
|
|
title: '柜号',
|
|
cellStyle: {
|
|
css: { 'background-color':'#dcdcdc'}
|
|
}
|
|
}, {
|
|
field: 'isfulltank',
|
|
title: '拼柜状态'
|
|
}, {
|
|
field: 'power_grade',
|
|
title: '功率档'
|
|
}, {
|
|
field: 'sanshu',
|
|
title: ' 栅数'
|
|
}, {
|
|
field: 'product_code',
|
|
title: '产品类型'
|
|
},
|
|
// {
|
|
// field: 'pallet_qty',
|
|
// title: '单托/片'
|
|
//}, {
|
|
// field: 'pall_qty',
|
|
// title: '托数'
|
|
// },
|
|
{
|
|
field: 'contqty',
|
|
title: '组件数量'
|
|
}, {
|
|
field: 'countmw',
|
|
title: '合计MW'
|
|
}, {
|
|
field: 'frame_type_desc',
|
|
title: '型材'
|
|
}, {
|
|
field: 'jbox_type_desc',
|
|
title: '接线盒类型'
|
|
}, {
|
|
field: 'final_grade',
|
|
title: '等级'
|
|
}, {
|
|
field: 'stations',
|
|
title: '报检状态'
|
|
}
|
|
//, {
|
|
// field: '',
|
|
// title: 'Action',
|
|
// align: 'center',
|
|
// formatter: operateFormatter
|
|
//}
|
|
],
|
|
//注释待修改内容
|
|
onClickRow: function (row, $element, field) {
|
|
index = $element.data('index');
|
|
console.log(index);
|
|
console.log(field);
|
|
console.log(row);
|
|
console.log(row[field]);
|
|
var containerno = row.containerno;
|
|
if (field == 'containerno') {
|
|
requestApi({
|
|
modulename: "PackOutput",
|
|
funname: "QueryInfo",
|
|
para: { begintime: '', endtime: '', checkno: '', workshop: '', containerno: containerno, lotno: '', palletno: '', workorder: '' },
|
|
success: (res) => {
|
|
console.log(res)
|
|
$('#smalltable').bootstrapTable('removeAll');
|
|
$('#RoleModal').modal({ backdrop: 'static', keyboard: false });
|
|
var oTable1 = new TableInit1();
|
|
oTable1.Init();
|
|
var length = res.length;
|
|
for (var i = 0; i < length;i++) {
|
|
$('#smalltable').bootstrapTable('insertRow', {index:i,row:res[i]});
|
|
}
|
|
//$('#RoleModal').modal({ backdrop: 'static', keyboard: false });
|
|
//柜号信息导出
|
|
$('#smallbtnExportExcel').on('click', function () {
|
|
doPost('/Report/PackoutputSExcel', [begintime = '',
|
|
endtime = '',
|
|
workshop = '',
|
|
containerno = containerno,
|
|
lotno = '',
|
|
palletno = '',
|
|
checkno = '',
|
|
workorder = ''])
|
|
})
|
|
},
|
|
fail: (ex) => {
|
|
console.log(ex);
|
|
}
|
|
})
|
|
}
|
|
|
|
|
|
|
|
}
|
|
});
|
|
};
|
|
//得到查询的参数
|
|
oTableInit.queryParams = function (params) {
|
|
console.log($('#ddlStock').val());
|
|
var temp = { //这里的键的名字和控制器的变量名必须一直,这边改动,控制器也需要改成一样的
|
|
limit: params.limit, //页面大小
|
|
offset: params.offset, //页码
|
|
//departmentname: $("#txt_search_departmentname").val(),
|
|
//statu: $("#txt_search_statu").val()
|
|
//workshop: $('#ddlWorkshop').val(),
|
|
//bt: $('#rangetime').val().substr(0, 19),//$('#txtBegintime').val(),
|
|
//et: $('#rangetime').val().split(' - ')[1],
|
|
name: $('#ddlStock option:selected').text(),
|
|
locationname: $('#ddlLocation option:selected').text(),
|
|
//final_grade: $('#txtfinal_grade').val(),
|
|
//power_grade: $('#txtpower_grade').val(),
|
|
//containerno: $('#txtcontainerno').val(),
|
|
//palletno: $('#txtpalletno').val()
|
|
};
|
|
return temp;
|
|
};
|
|
return oTableInit;
|
|
};
|
|
|
|
//传参方法
|
|
function requestApi(config) {//modulename, funname, para, success, fail) {
|
|
fetch("/api/" + config.modulename + "/" + config.funname + "", {
|
|
method: "post",
|
|
headers: {
|
|
"Accept": "application/json, text/plain, */*",
|
|
"Content-Type": "application/json"
|
|
},
|
|
body: JSON.stringify(config.para)
|
|
}).then(
|
|
(res) => { return res.json() }
|
|
).then(
|
|
(res) => { config.success(res) }
|
|
).catch(
|
|
(ex) => { config.fail(ex) }
|
|
)
|
|
}
|
|
|
|
//弹出表格
|
|
var TableInit1 = function () {
|
|
var oTableInit = new Object();
|
|
oTableInit.Init = function () {
|
|
$('#smalltable').bootstrapTable({
|
|
striped: true, //隔行变色
|
|
pageSize: 8, //每页的记录行数(*)
|
|
pagination: true, //是否显示分页(*)
|
|
sidePagination: "client", //分页方式:client客户端分页,server服务端分页(*)
|
|
search: true, //是否显示表格搜索,此搜索是客户端搜索,不会进服务端,所以,个人感觉意义不大
|
|
columns: [{
|
|
checkbox: true
|
|
}, {
|
|
field: 'pallet_nbr',
|
|
title: '托盘号'
|
|
}, {
|
|
field: 'container_nbr',
|
|
title: '柜号'
|
|
}, {
|
|
field: 'serial_nbr',
|
|
title: '组件序列号'
|
|
}, {
|
|
field: 'workorder',
|
|
title: '工单号'
|
|
},
|
|
{
|
|
field: 'power_grade',
|
|
title: '功率档位'
|
|
},
|
|
{
|
|
field: 'current_grade',
|
|
title: '电流档位'
|
|
},
|
|
{
|
|
field: 'product_code',
|
|
title: '装配件号'
|
|
}, {
|
|
field: 'el_grade',
|
|
title: 'EL等级'
|
|
},
|
|
{
|
|
field: "final_grade",
|
|
title: "外观等级"
|
|
},
|
|
{
|
|
field: "pack_date",
|
|
title: "封箱时间"
|
|
},
|
|
{
|
|
field: "descriptions",
|
|
title: "功率组"
|
|
},
|
|
{
|
|
field: "pallet_status_desc",
|
|
title: "是否入库"
|
|
},
|
|
{
|
|
field: "shift_type",
|
|
title: "班次"
|
|
},
|
|
{
|
|
field: "pmax",
|
|
title: "Pmax"
|
|
},
|
|
{
|
|
field: "voc",
|
|
title: "VOC"
|
|
},
|
|
{
|
|
field: "ISC",
|
|
title: "isc"
|
|
},
|
|
{
|
|
field: "ff",
|
|
title: "FF"
|
|
},
|
|
{
|
|
field: "vpm",
|
|
title: "VPM"
|
|
},
|
|
{
|
|
field: "ipm",
|
|
title: "IPM"
|
|
},
|
|
{
|
|
field: "rs",
|
|
title: "RS"
|
|
},
|
|
{
|
|
field: "rsh",
|
|
title: "RSH"
|
|
},
|
|
{
|
|
field: "rsh",
|
|
title: "RSH"
|
|
},
|
|
{
|
|
field: "eff",
|
|
title: "EFF"
|
|
},
|
|
{
|
|
field: "env_temp",
|
|
title: "ENV_TEMP"
|
|
},
|
|
{
|
|
field: "surf_temp",
|
|
title: "SURF_TEMP"
|
|
},
|
|
{
|
|
field: "temp",
|
|
title: "TEMP"
|
|
},
|
|
{
|
|
field: "ivfile_path",
|
|
title: "IVFILE_PATH"
|
|
},
|
|
{
|
|
field: "pack_seq",
|
|
title: "包装顺序"
|
|
},
|
|
{
|
|
field: "check_nbr",
|
|
title: "报检单号"
|
|
},
|
|
{
|
|
field: "cell_supplier",
|
|
title: "电池片厂商"
|
|
},
|
|
{
|
|
field: "",
|
|
title: "电池片档位"
|
|
},
|
|
{
|
|
field: "cell_uop",
|
|
title: "单片功率"
|
|
},
|
|
{
|
|
field: "fff",
|
|
title: "转换效率"
|
|
},
|
|
{
|
|
field: "eva_supplier_code",
|
|
title: "EVA厂商"
|
|
|
|
},
|
|
{
|
|
field: "eva_thickness",
|
|
title: "普通EVA规格"
|
|
},
|
|
{
|
|
field: "eva_lot_nbr",
|
|
title: "普通EVA批号"
|
|
},
|
|
{
|
|
field: "bks_supplier_code",
|
|
title: "背板厂商"
|
|
},
|
|
{
|
|
field: "bks_thickness",
|
|
title: "背板规格"
|
|
},
|
|
{
|
|
field: "bks_lot_nbr",
|
|
title: "背板批号"
|
|
},
|
|
{
|
|
field: "glass_supplier_code",
|
|
title: "玻璃供应商"
|
|
}, {
|
|
field: "glass_thickness_desc",
|
|
title: "玻璃规格"
|
|
},
|
|
{
|
|
field: "glass_lot_nbr",
|
|
title: "玻璃批号"
|
|
},
|
|
{
|
|
field: "jbox_supplier_code",
|
|
title: "接线盒供应商"
|
|
},
|
|
{
|
|
field: "jbox_model_desc",
|
|
title: "接线盒规格"
|
|
},
|
|
{
|
|
field: "jbox_lot_nbr",
|
|
title: "接线盒批号"
|
|
},
|
|
{
|
|
field: "frame_supplier_code",
|
|
title: "型材供应商"
|
|
},
|
|
{
|
|
field: "frame_thickness_desc",
|
|
title: "型材规格"
|
|
},
|
|
{
|
|
field: "frame_lot_nbr",
|
|
title: "型材批号"
|
|
},
|
|
{
|
|
field: "customer",
|
|
title: "客户"
|
|
},
|
|
{
|
|
field: "product_code_original",
|
|
title: "产品组"
|
|
},
|
|
//{
|
|
// field: "batch",
|
|
// title: "批次料号"
|
|
//},
|
|
{
|
|
field: "wks_visit_date",
|
|
title: "测试时间"
|
|
}
|
|
]
|
|
});
|
|
};
|
|
return oTableInit;
|
|
}
|
|
|
|
//查询仓库的库位
|
|
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) {
|
|
console.log(v);
|
|
options += "<option value='" + v.id + "'>" + v.locationname + "</option>";
|
|
});
|
|
$('#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);
|
|
});
|
|
//清空选项就清空库位条件
|
|
$('#ddlLocation').on('select2:close', function (e) {
|
|
console.log('清空选项');
|
|
$('#cbxPowerGrade').iCheck('uncheck')
|
|
$('#cbxIGrade').iCheck('uncheck')
|
|
$('#cbxCellQty').iCheck('uncheck')
|
|
$('#cbxBarType').iCheck('uncheck')
|
|
$('#cbxModuleSpec').iCheck('uncheck')
|
|
$('#cbxFinalGrade').iCheck('uncheck')
|
|
$('#cbxColor').iCheck('uncheck')
|
|
});
|
|
});
|
|
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) {
|
|
console.log(r);
|
|
//删除仓库重复项
|
|
//r[2] = null;
|
|
//var a = new Array;
|
|
//a[0] = r[0];
|
|
//a[1] = r[1];
|
|
//a[2] = r[3];
|
|
//a[3] = r[4];
|
|
var options = '';
|
|
$.each(r, function (i, v) {
|
|
options += "<option value='" + v.id + "'>" + v.name + "</option>";
|
|
})
|
|
$('#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) {
|
|
console.log(location);
|
|
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);
|
|
})
|
|
}
|
|
//库存报表导出
|
|
$('#btnExportExcel').on('click', function () {
|
|
var $Stock = $('#ddlStock option:selected').text();
|
|
var $Location = $('#ddlLocation option:selected').text();
|
|
if ($Stock == '' && $Location == '') {
|
|
alert('请输入查询条件');
|
|
return;
|
|
}
|
|
doPost('/Report/InventoryJYReportExcel', [//bt = $('#rangetime').val().substr(0, 19),
|
|
//et = $('#rangetime').val().split(' - ')[1],
|
|
//workshop = $('#ddlWorkshop').val(),
|
|
name = $('#ddlStock option:selected').text(),
|
|
locationname = $('#ddlLocation option:selected').text()])
|
|
//final_grade = $('#txtfinal_grade').val(),
|
|
//power_grade = $('#txtpower_grade').val(),
|
|
//containerno = $('#txtcontainerno').val(),
|
|
//palletno = $('#txtpalletno').val()])
|
|
})
|
|
|
|
|
|
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
|
|
}
|