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" }, ]] } } } } }; }; } );