define(function (require) {
return function () {
// var inputParam = Message.getTempParamData();
var $grid1, $grid2, $grid3, $form, $comb;
// 弹框的方式
var widgets = {
// 搜索分类检索
selectCatalogWidget: {
url: '/app/mat/widget/selectCatalog.js',
bind: {
matcQc: 'matcId',
matcName: 'matcName'
},
queryParams: {matcBusi: MATC_BUSI_检验, status: 1}
}
};
// 获取库区
function getFarmList() {
var _datas = [];
_datas.push({
"id": '',
"text": '全部'
})
$.yvan.ajax({
async: false,
method: 'post',
url: api('/wms/whFarm/queryAll'),
data: {},
success: function (data) {
if (data.data != null && data.data != undefined) {
for (var i = 0; i < data.data.length; i++) {
_datas.push({
"id": data.data[i].farmId,
"text": data.data[i].farmName
})
}
}
}
});
return _datas;
}
// 获取仓库
function getRoomList() {
var _datas = [];
_datas.push({
"id": '',
"text": '全部'
});
var qd = {};
if ($form) {
qd = {farmId: $form.formGet().farmId};
}
$.yvan.ajax({
url: api('/wms/whRoom/queryAll'),
data: qd,
async: false,
method: 'post',
success: function (data) {
if (data.data != null && data.data != undefined) {
for (var i = 0; i < data.data.length; i++) {
_datas.push({
"id": data.data[i].roomId,
"text": data.data[i].roomName
})
}
}
}
});
return _datas;
}
function enterQueryGrid1(e) {
if (e.keyCode === 13) {
var tmp = $(this).val();
$form.formSet({queryProperties: tmp});
queryGrid1();
}
}
// 物资库存查询列表
function queryGrid1() {
var queryUrl = '/wms/stock/queryStockMatList';// 自行替换此参数
$grid1.jqGrid("clearGridData");
var queryForm = $form.formGet();
$grid1.reload({
mtype: 'POST',
url: api(queryUrl),
queryParams: queryForm
}, true);
if ($grid2 != undefined) {
$grid2.jqGrid("clearGridData");
}
if ($grid3 != undefined) {
$grid3.jqGrid("clearGridData");
}
}
//物资批次
function queryGrid2(rowid) {
var row = $grid1.rowData(rowid);
if (!row) {
$.yvan.msg('请先选择一行数据');
return;
}
var queryUrl = '/wms/stock/queryStockBatchList';// 自行替换此参数
var queryForm = $form.formGet();
queryForm.matId = row.matId;
$grid2.reload({
mtype: 'POST',
url: api(queryUrl),
queryParams: queryForm
});
if ($grid3 != undefined) {
$grid3.jqGrid("clearGridData");
}
}
//批次
function queryGrid3() {
var row2 = $grid2.rowData();
if (!row2) {
$.yvan.msg('请先选择一行数据');
return;
}
$grid3.jqGrid("clearGridData");
var obj = $form.formGet();
obj.batchId = row2.batchId;
obj.matId = row2.matId;
obj.matQc = row2.matQc;
$grid3.reload({
url: api('/stock/stockCell/queryByStockId'),
mtype: 'POST',
queryParams: obj
});
}
// 搜索按钮
var queryToolbarTitle = '物资查询';// 自行替换此参数
var queryToolbar = {
xtype: 'toolbar', title: queryToolbarTitle, items: [
{
text: '查询', iconCls: 'fa fa-search', onClick: function () {
queryGrid1();
}
}, {
text: '重置', iconCls: 'fa fa-refresh', onClick: function () {
$form.formClear();
queryGrid1();
}
}, {
text: '关闭', iconCls: 'fa fa-times-circle', onClick: function () {
App.closeMe(this);
}
}
]
};
// 搜索条件
var queryFormPrompt = '物资编码/图号型号/物资名称';// 自行替换此参数
var queryForm = {
onRender: function () {
$form = $(this);
// setInputParam(inputParam, $form);
},
xtype: 'form',
items: [[
{
xtype: 'textbox',
label: '检索条件',
name: 'queryProperties',
prompt: queryFormPrompt,
labelWidth: 'auto',
events: {keydown: enterQueryGrid1},
},
{
xtype: 'searchbox',
label: '检验分类',
name: 'matcName',
labelWidth: 'auto',
widget: widgets.selectCatalogWidget,
onChange: function (data) {
queryGrid1();
}
},
{
xtype: 'yvselect', label: '物资分类', name: 'matType', labelWidth: 'auto', width: 180,
data: $.yvan.sysDict('matType').combowithAll(), value: '',
onChange: function () {
queryGrid1();
},
},
{
xtype: 'yvselect', label: '所属库区', name: 'farmId', labelWidth: 'auto', width: 200,
data: getFarmList(),
onChange: function () {
queryGrid1();
$comb.yvselect({'data': getRoomList()});
}
},
{
xtype: 'yvselect', label: '所属仓库', name: 'roomId', labelWidth: 'auto', width: 280,
panelHeight: 220,
data: getRoomList(),
onRender: function () {
$comb = $(this);
},
onChange: function () {
queryGrid1();
}
},
// {
// xtype: 'yvselect', label: '仓库类型', name: 'roomType', labelWidth: 'auto', width: 200,
// data: $.yvan.sysDict('roomType').combowithAll(), value: '',
// onChange: function () {
// queryGrid1();
// },
// },
// {
// xtype: 'yvselect', label: '货区', name: 'workArea', labelWidth: 'auto', width: 180,
// data: $.yvan.sysDict('workArea').combowithAll(), value: '',
// onChange: function () {
// queryGrid1();
// }
// }
]]
};
// 列表1增删改查按钮
var gridToolbarTitle1 = '物资列表';// 自行替换此参数
var gridToolbar1 = {
xtype: 'toolbar',
title: gridToolbarTitle1,
items: [ {
text: '导出数据', iconCls: 'fa fa-cloud-upload', onClick: function () {
var row = $grid1.rowData();
var para = "";
if ($form.formGet().matcName != "") {
para = (para == "") ? "" : para + "&";
para += "matcName=" + $form.formGet().matcName;
}
if ($form.formGet().matType != "") {
para = (para == "") ? "" : para + "&";
para += "matType=" + $form.formGet().matType;
}
if ($form.formGet().farmId != "") {
para = (para == "") ? "" : para + "&";
para += "farmId=" + $form.formGet().farmId;
}
if ($form.formGet().roomId != "") {
para = (para == "") ? "" : para + "&";
para += "roomId=" + $form.formGet().roomId;
}
if ($form.formGet().queryProperties != "") {
para = (para == "") ? "" : para + "&";
para += "queryProperties=" + $form.formGet().queryProperties;
}
// if (row.matId!= "") {
// para = (para == "") ? "" : para + "&";
// para += "matId=" + row.matId;
// }
para = (para == "") ? "/wms/stock/exportStockMatExcel" : "/wms/stock/exportStockMatExcel?" + para;
$.yvan.download({
method: 'get',
url: api(para),
fileName: "库存物资统计表" + $.yvan.getMoment().format('YYYY-MM-DD HH:mm:ss') + '.xlsx'
});
}
},]
};
// 列表2增删改查按钮
var gridToolbarTitle2 = '库存批次列表';// 自行替换此参数
var gridToolbar2 = {
xtype: 'toolbar',
title: gridToolbarTitle2,
items: [
]
};
return {
north: {
height: 90,
split: true,
border: false,
items: [
queryToolbar,
queryForm
]
},
center: {
height: '60%',
split: true,
items: {
onRender: function () {
$grid1 = $(this);
queryGrid1();
},
xtype: 'grid',
toolbar: gridToolbar1,
autoSizeColumns: true,
columns:
[[
{title: '物资ID', field: 'matId', hidden: true},
{title: '检验分类', field: 'matcQc', hidden: true},
{title: '物资编码', field: 'matBar', width: 100},
{title: '图号/型号', field: 'matCode', width: 140},
{title: '物资名称', field: 'matName', width: 100},
{title: '物资编码属性', field: 'matAttrCode'},
{title: '物资分类', field: 'matType', formatter: $.fn.fmatter.matType},
{title: '检验分类', field: 'matcName', width: 100},
{title: '计量单位', field: 'unitName', width: 80},
{title: '计划价', field: 'planPrice', formatter: $.fn.fmatter.formatCurrency, width: 80, align: "right"},
{title: '计划金额', field: 'planMoney', formatter: $.fn.fmatter.formatCurrency, width: 80, align: "right",},
{title: '库存数', field: 'matAmount', align: "right", formatter: $.fn.fmatter.formatNumberBigDecimal},
{title: '批次数', field: 'numBatch', width: 80, formatter: $.fn.fmatter.formatNumber, align: "right",},
]],
onSelectRow: function (rowid) {
queryGrid2(rowid);
}
}
},
south: {
height: '40%',
border: false,
items: {
xtype: 'layout',
west: {
width: "50%",
border: false,
split: true,
items: {
onRender: function () {
$grid2 = $(this);
},
xtype: 'grid',
toolbar: gridToolbar2,
autoSizeColumns: true,
columns:
[[
{title: '批次ID', field: 'batchId', hidden: true},
{title: '物资ID', field: 'matId', hidden: true},
{title: '批次条码', field: 'batchBar', hidden: true},
{
title: '批次号', field: 'batchCode', width: 140,
formatter: function (value, row) {
if (row.rowData.matQc == 0) {
return value;
} else if (row.rowData.matQc == 1) {
return "" + value + "";
} else if (row.rowData.matQc == 2) {
return "" + value + "";
} else if (row.rowData.matQc == 3) {
return "" + value + "";
}
}
},
{title: '批次状态', field: 'matQc', hidden: true},
{title: '货区', field: 'workArea', hidden: true, width: 100, formatter: $.fn.fmatter.workArea},
{title: '状态', field: 'matQc', hidden: true},
{title: '货区', field: 'workArea', hidden: true},
{
title: '数量',
field: 'matAmount',
align: "right",
formatter: $.fn.fmatter.formatNumberBigDecimal,
},
{field: 'dateMade', title: '生产日期', formatter: $.fn.fmatter.tsymd, align: "center"},
{field: 'saveMinDate', title: '保证贮存期', formatter: $.fn.fmatter.tsymd, align: "center"},
{field: 'saveMaxDate', title: '最大贮存期', formatter: $.fn.fmatter.tsymd, align: "center"},
{field: 'expDate', title: '最近一次定检日期', formatter: $.fn.fmatter.tsymd, align: "center"},
{field: 'batchCreateTime', title: '新增时间', formatter: $.fn.fmatter.ts, align: "center"},
]],
onSelectRow: function (rowid) {
queryGrid3();
}
}
},
center: {
width: '50%',
items: {
onRender: function () {
$grid3 = $(this);
},
xtype: 'grid',
toolbar: {
xtype: 'toolbar',
title: '物资位置信息',
items: []
},
idField: 'celldetId',
columns: [[
{title: '编码属性ID', field: 'celldetId', hidden: true},
{title: '货位ID', field: 'cellId', hidden: true},
{title: '库存ID', field: 'stockId', hidden: true},
{title: '单据ID', field: 'billId', hidden: true},
{title: '库区', field: 'farmName', width: 140},
{title: '仓库', field: 'roomName', width: 140},
{title: '区域', field: 'workArea', width: 200, formatter: $.fn.fmatter.workArea,},
{title: '货组', field: 'rowName', width: 200, align: "center"},
{title: '货位号', field: 'cellBar', width: 200, align: "center"},
{
title: '数量',
field: 'matAmount',
width: 350,
formatter: $.fn.fmatter.formatNumberBigDecimal,
align: "right"
},
{
title: '冻结数量',
field: 'useAmount',
width: 350,
formatter: $.fn.fmatter.formatNumberBigDecimal,
align: "right"
},
]]
}
}
}
}
};
};
}
);