Commit eb01a724 by anxiaohe

入库信息表单

parent 154651c3
...@@ -75,6 +75,7 @@ public class TagController extends BaseController { ...@@ -75,6 +75,7 @@ public class TagController extends BaseController {
model.addAttribute("url", url); model.addAttribute("url", url);
model.addAttribute("searchLabels", searchLabels.split("\\|")); model.addAttribute("searchLabels", searchLabels.split("\\|"));
model.addAttribute("searchKeys", searchKeys.split("\\|")); model.addAttribute("searchKeys", searchKeys.split("\\|"));
model.addAttribute("gridSelectTableDataHandle", request.getParameter("gridSelectTableDataHandle"));
return "modules/common/gridselect"; return "modules/common/gridselect";
} }
......
...@@ -234,10 +234,10 @@ public class ShelvesController extends BaseController { ...@@ -234,10 +234,10 @@ public class ShelvesController extends BaseController {
/** /**
* 货架信息列表页面 * 货架信息列表页面
*/ */
@RequestMapping(value = "shelvesSelect") @RequestMapping(value = "shelvesSelect")
public String shelvesSelect(Shelves shelves, Model model) { public String shelvesSelect(HttpServletRequest request, Shelves shelves, Model model) {
model.addAttribute("shelves", shelves); model.addAttribute("shelves", shelves);
model.addAttribute("isMultiSelect", request.getParameter("isMultiSelected"));
return "modules/common/shelvesSelect"; return "modules/common/shelvesSelect";
} }
} }
\ No newline at end of file
...@@ -45,7 +45,7 @@ ...@@ -45,7 +45,7 @@
} }
</c:if> </c:if>
} }
}) }, "${isMultiSelected}")
}); });
...@@ -60,4 +60,4 @@ ...@@ -60,4 +60,4 @@
$("#${id}Name").focus(); $("#${id}Name").focus();
}); });
</script> </script>
\ No newline at end of file
...@@ -45,7 +45,7 @@ ...@@ -45,7 +45,7 @@
} }
</c:if> </c:if>
} }
}) }, "${isMultiSelected}")
}); });
...@@ -60,4 +60,4 @@ ...@@ -60,4 +60,4 @@
$("#${id}Name").focus(); $("#${id}Name").focus();
}); });
</script> </script>
\ No newline at end of file
...@@ -263,14 +263,15 @@ function delRow(obj, prefix){ ...@@ -263,14 +263,15 @@ function delRow(obj, prefix){
}); });
}, },
/**货架选择框**/ /**货架选择框**/
openShelvesSelectDialog:function(yesFuc){ openShelvesSelectDialog:function(yesFuc, isMultiSelected){
isMultiSelected = isMultiSelected ? isMultiSelected.toString() : '';
top.layer.open({ top.layer.open({
type: 2, type: 2,
area: ['900px', '560px'], area: ['900px', '560px'],
title:"选择货架", title:"选择货架",
auto:true, auto:true,
maxmin: true, //开启最大化最小化按钮 maxmin: true, //开启最大化最小化按钮
content: ctx+"/warehouse/shelves/shelves/shelvesSelect", content: ctx+"/warehouse/shelves/shelves/shelvesSelect?isMultiSelected=" + isMultiSelected,
btn: ['确定', '关闭'], btn: ['确定', '关闭'],
yes: function(index, layero){ yes: function(index, layero){
var items = layero.find("iframe")[0].contentWindow.getSelections(); var items = layero.find("iframe")[0].contentWindow.getSelections();
...@@ -324,17 +325,17 @@ function delRow(obj, prefix){ ...@@ -324,17 +325,17 @@ function delRow(obj, prefix){
}, },
openStorageSelectDialog:function(params, yesFuc){ openStorageSelectDialog:function(params, yesFuc){
var url = ctx+"/warehouse/storage/storage/findByPcTypeModel?goodsInfo.goods.batchNum="+params.batchNum+"&qrCode.state="+params.state; var url = ctx+"/warehouse/storage/storage/findByPcTypeModel?goodsInfo.goods.batchNum="+params.batchNum+"&qrCode.state="+params.state;
var fieldLabels = "物资编码|名称|品名代码|型号"; var fieldLabels = "物资编码|品名|代码|单价|单位|数量|总价|型号";
var fieldKeys = "qrCode.code|name|type.name|model"; var fieldKeys = "qrCode.code|type.name|type.code|type.amount|type.unit|num|infoSum|model";
var searchLabels = "品名代码|型号"; var searchLabels = "品名代码|型号";
var searchKeys = "goodsInfo.type|goodsInfo.model"; var searchKeys = "goodsInfo.type|goodsInfo.model";
top.layer.open({ top.layer.open({
type: 2, type: 2,
area: ['800px', '500px'], area: ['1100px', '600px'],
title:"选择入库明细", title:"选择入库明细",
auto:true, auto:true,
name:'friend', name:'friend',
content: ctx+"/tag/gridselect?url="+encodeURIComponent(url)+"&fieldLabels="+encodeURIComponent(fieldLabels)+"&fieldKeys="+encodeURIComponent(fieldKeys)+"&searchLabels="+encodeURIComponent(searchLabels)+"&searchKeys="+encodeURIComponent(searchKeys)+"&isMultiSelected="+params.isMultiSelect, content: ctx+"/tag/gridselect?url="+encodeURIComponent(url)+"&fieldLabels="+encodeURIComponent(fieldLabels)+"&fieldKeys="+encodeURIComponent(fieldKeys)+"&searchLabels="+encodeURIComponent(searchLabels)+"&searchKeys="+encodeURIComponent(searchKeys)+"&isMultiSelected="+params.isMultiSelect+"&gridSelectTableDataHandle="+params.gridSelectTableDataHandleName,
btn: ['确定', '关闭'], btn: ['确定', '关闭'],
yes: function(index, layero){ yes: function(index, layero){
var iframeWin = layero.find('iframe')[0].contentWindow; //得到iframe页的窗口对象,执行iframe页的方法:iframeWin.method(); var iframeWin = layero.find('iframe')[0].contentWindow; //得到iframe页的窗口对象,执行iframe页的方法:iframeWin.method();
......
...@@ -35,7 +35,11 @@ $(document).ready(function() { ...@@ -35,7 +35,11 @@ $(document).ready(function() {
return item !== null && typeof item !== "undefined" && item !== ""; return item !== null && typeof item !== "undefined" && item !== "";
}) })
} }
return res; var list = res;
if ("${gridSelectTableDataHandle}" && top["${gridSelectTableDataHandle}"] && typeof top["${gridSelectTableDataHandle}"] === 'function') {
list = top["${gridSelectTableDataHandle}"](res);
}
return list;
}, },
//默认值为 'limit',传给服务端的参数为:limit, offset, search, sort, order Else //默认值为 'limit',传给服务端的参数为:limit, offset, search, sort, order Else
//queryParamsType:'', //queryParamsType:'',
...@@ -141,4 +145,4 @@ $(document).ready(function() { ...@@ -141,4 +145,4 @@ $(document).ready(function() {
<table id="table"></table> <table id="table"></table>
</div> </div>
</body> </body>
</html> </html>
\ No newline at end of file
...@@ -49,7 +49,8 @@ ...@@ -49,7 +49,8 @@
}).on('loaded.jstree', function() { }).on('loaded.jstree', function() {
$("#jstree").jstree('open_all'); $("#jstree").jstree('open_all');
}); });
console.log("${isMultiSelect}")
//初始化表格 //初始化表格
$('#table').bootstrapTable({ $('#table').bootstrapTable({
...@@ -201,4 +202,4 @@ ...@@ -201,4 +202,4 @@
</div> </div>
</div> </div>
</body> </body>
</html> </html>
\ No newline at end of file
...@@ -73,40 +73,40 @@ ...@@ -73,40 +73,40 @@
} }
}, },
{ {
field: 'model', field: 'amount',
title: '型号', title: '单价',
formatter: function (value,row,index){ formatter: function (value,row,index){
return Mustache.render($("#modelTpl").html().replace(/(\/\/\<!\-\-)|(\/\/\-\->)/g, ""),{ return Mustache.render($("#amountTpl").html().replace(/(\/\/\<!\-\-)|(\/\/\-\->)/g, ""),{
row: row, row: row,
idx: index idx: index
}) })
} }
}, },
{ {
field: 'num', field: 'type.unit',
title: '数量', title: '单位',
formatter: function (value,row,index){ formatter: function (value,row,index){
return Mustache.render($("#numTpl").html().replace(/(\/\/\<!\-\-)|(\/\/\-\->)/g, ""),{ return Mustache.render($("#unitTpl").html().replace(/(\/\/\<!\-\-)|(\/\/\-\->)/g, ""),{
row: row, row: row,
idx: index idx: index
}) })
} }
}, },
{ {
field: 'amount', field: 'model',
title: '单价', title: '型号',
formatter: function (value,row,index){ formatter: function (value,row,index){
return Mustache.render($("#amountTpl").html().replace(/(\/\/\<!\-\-)|(\/\/\-\->)/g, ""),{ return Mustache.render($("#modelTpl").html().replace(/(\/\/\<!\-\-)|(\/\/\-\->)/g, ""),{
row: row, row: row,
idx: index idx: index
}) })
} }
}, },
{ {
field: 'unit', field: 'num',
title: '单位', title: '数量',
formatter: function (value,row,index){ formatter: function (value,row,index){
return Mustache.render($("#unitTpl").html().replace(/(\/\/\<!\-\-)|(\/\/\-\->)/g, ""),{ return Mustache.render($("#numTpl").html().replace(/(\/\/\<!\-\-)|(\/\/\-\->)/g, ""),{
row: row, row: row,
idx: index idx: index
}) })
...@@ -161,12 +161,15 @@ ...@@ -161,12 +161,15 @@
name: '', name: '',
type: { type: {
id: '', id: '',
name: '' name: '',
unit: '',
code: ''
}, },
model: '', model: '',
num: null, num: null,
amount: null, amount: null,
remarks: '' remarks: '',
infoSum: ''
} }
$(selector).bootstrapTable('append', [ $(selector).bootstrapTable('append', [
...@@ -260,10 +263,10 @@ ...@@ -260,10 +263,10 @@
type: { type: {
id: node.id, id: node.id,
name: node.text, name: node.text,
code: node.original.code code: node.original.code,
unit: node.original.unit
}, },
amount: node.original.amount, amount: node.original.amount,
unit: node.original.unit
}; };
if ($("#goodsInfoList" + rowIndex + "_num").val()) { if ($("#goodsInfoList" + rowIndex + "_num").val()) {
obj.infoSum = new Big($("#goodsInfoList" + rowIndex + "_num").val()).times(obj.amount).toNumber(); obj.infoSum = new Big($("#goodsInfoList" + rowIndex + "_num").val()).times(obj.amount).toNumber();
...@@ -288,10 +291,10 @@ ...@@ -288,10 +291,10 @@
type: { type: {
id: '', id: '',
name: '', name: '',
code: '' code: '',
unit: ''
}, },
amount: '', amount: '',
unit: '',
infoSum: '' infoSum: ''
}; };
updateRow(num, obj); updateRow(num, obj);
...@@ -315,6 +318,12 @@ ...@@ -315,6 +318,12 @@
<script id="typeCodeTpl" type="text/html"> <script id="typeCodeTpl" type="text/html">
<input id="goodsInfoList{{idx}}_typeCode" name="goodsInfoList[{{idx}}].type.code" type="text" value="{{row.type.code}}" readonly class="form-control required"/> <input id="goodsInfoList{{idx}}_typeCode" name="goodsInfoList[{{idx}}].type.code" type="text" value="{{row.type.code}}" readonly class="form-control required"/>
</script> </script>
<script id="amountTpl" type="text/html">
<input id="goodsInfoList{{idx}}_amount" name="goodsInfoList[{{idx}}].amount" type="text" value="{{row.amount}}" readonly onchange="onInputChange('{{idx}}', this, 'amount')" class="form-control required"/>
</script>
<script id="unitTpl" type="text/html">
<input id="goodsInfoList{{idx}}_unit" name="goodsInfoList[{{idx}}].type.unit" type="text" value="{{row.type.unit}}" readonly onchange="onInputChange('{{idx}}', this, 'type.unit')" class="form-control required"/>
</script>
<script id="modelTpl" type="text/html"> <script id="modelTpl" type="text/html">
<input id="goodsInfoList{{idx}}_model" name="goodsInfoList[{{idx}}].model" type="text" value="{{row.model}}" onchange="onInputChange('{{idx}}', this, 'model')" class="form-control required"/> <input id="goodsInfoList{{idx}}_model" name="goodsInfoList[{{idx}}].model" type="text" value="{{row.model}}" onchange="onInputChange('{{idx}}', this, 'model')" class="form-control required"/>
</script> </script>
...@@ -323,12 +332,6 @@ ...@@ -323,12 +332,6 @@
<input id="goodsInfoList{{idx}}_num" name="goodsInfoList[{{idx}}].num" type="text" value="{{row.num}}" onchange="onInputChange('{{idx}}', this, 'num')" class="form-control required"/> <input id="goodsInfoList{{idx}}_num" name="goodsInfoList[{{idx}}].num" type="text" value="{{row.num}}" onchange="onInputChange('{{idx}}', this, 'num')" class="form-control required"/>
</script> </script>
<script id="amountTpl" type="text/html">
<input id="goodsInfoList{{idx}}_amount" name="goodsInfoList[{{idx}}].amount" type="text" value="{{row.amount}}" readonly onchange="onInputChange('{{idx}}', this, 'amount')" class="form-control required"/>
</script>
<script id="unitTpl" type="text/html">
<input id="goodsInfoList{{idx}}_unit" name="goodsInfoList[{{idx}}].unit" type="text" value="{{row.unit}}" readonly onchange="onInputChange('{{idx}}', this, 'unit')" class="form-control required"/>
</script>
<script id="infoSumTpl" type="text/html"> <script id="infoSumTpl" type="text/html">
<input id="goodsInfoList{{idx}}_infoSum" name="goodsInfoList[{{idx}}].infoSum" type="text" value="{{row.infoSum}}" readonly onchange="onInputChange('{{idx}}', this, 'infoSum')" class="form-control required"/> <input id="goodsInfoList{{idx}}_infoSum" name="goodsInfoList[{{idx}}].infoSum" type="text" value="{{row.infoSum}}" readonly onchange="onInputChange('{{idx}}', this, 'infoSum')" class="form-control required"/>
</script> </script>
......
...@@ -33,7 +33,7 @@ ...@@ -33,7 +33,7 @@
<tr> <tr>
<td><font color="red">*</font>批次号</td> <td><font color="red">*</font>批次号</td>
<td> <td>
<form:input path="batchNum" htmlEscape="false" readonly="true" class="form-control required"/> <form:input path="batchNum" htmlEscape="false" class="form-control required"/>
</td> </td>
<td><font color="red">*</font>时间</td> <td><font color="red">*</font>时间</td>
<td> <td>
...@@ -121,4 +121,4 @@ ...@@ -121,4 +121,4 @@
} }
</script> </script>
</body> </body>
</html> </html>
\ No newline at end of file
...@@ -295,10 +295,10 @@ $(document).ready(function() { ...@@ -295,10 +295,10 @@ $(document).ready(function() {
if(LODOP){ if(LODOP){
jp.loading('loading...'); jp.loading('loading...');
jp.get("${ctx}/warehouse/goods/goods/printQr?goodsInfoId="+id, function (res) { jp.get("${ctx}/warehouse/goods/goods/printQr?goodsInfoId="+id, function (res) {
var list = res.body.goodsInfo.qrCodeList; var row = res.body.goodsInfo.qrCode;
LODOP.PRINT_INIT("打印货品"); LODOP.PRINT_INIT("打印货品");
LODOP.SET_PRINT_PAGESIZE(1,400,600,0) LODOP.SET_PRINT_PAGESIZE(1,800,600,0)
createAllPage(list); createAllPage(row);
LODOP.PREVIEW(); LODOP.PREVIEW();
jp.close(); jp.close();
}) })
...@@ -311,16 +311,20 @@ $(document).ready(function() { ...@@ -311,16 +311,20 @@ $(document).ready(function() {
} }
} }
function createAllPage(list){ function createAllPage(item){
if(!list){ // if(!list){
return; // return;
} // }
list.forEach(function(item){ // list.forEach(function(item){
LODOP.NewPage(); // LODOP.NewPage();
var imgUrl = "${ctxPath}/" + item.url; // var imgUrl = "${ctxPath}/" + item.url;
LODOP.ADD_PRINT_IMAGE('0%',"0%","100%","100%","<img width='150' border='0' src='"+imgUrl+"' />"); // LODOP.ADD_PRINT_IMAGE('0%',"0%","100%","100%","<img width='150' border='0' src='"+imgUrl+"' />");
}) // })
debugger
LODOP.NewPage();
var imgUrl = "${ctxPath}/" + item.url;
LODOP.ADD_PRINT_IMAGE('0%',"0%","100%","100%","<img width='300' border='0' src='"+imgUrl+"' />");
} }
function cleanQr(id) { function cleanQr(id) {
...@@ -377,7 +381,7 @@ $(document).ready(function() { ...@@ -377,7 +381,7 @@ $(document).ready(function() {
{{row.amount}} {{row.amount}}
</td> </td>
<td> <td>
{{row.unit}} {{row.type.unit}}
</td> </td>
<td> <td>
{{row.infoSum}} {{row.infoSum}}
......
...@@ -6,6 +6,7 @@ ...@@ -6,6 +6,7 @@
<meta name="decorator" content="ani"/> <meta name="decorator" content="ani"/>
<link rel="stylesheet" href="${ctxStatic}/common/css/form.css"> <link rel="stylesheet" href="${ctxStatic}/common/css/form.css">
<link rel="stylesheet" href="${ctxStatic}/plugin/bootstrapTable/bootstrap-table.min.css"> <link rel="stylesheet" href="${ctxStatic}/plugin/bootstrapTable/bootstrap-table.min.css">
<script type="text/javascript" src="${ctxStatic}/common/js/big.js"></script>
<style> <style>
.statistic-container{ .statistic-container{
position: relative; position: relative;
...@@ -171,4 +172,4 @@ ...@@ -171,4 +172,4 @@
} }
</script> </script>
</body> </body>
</html> </html>
\ No newline at end of file
...@@ -238,21 +238,21 @@ $(document).ready(function() { ...@@ -238,21 +238,21 @@ $(document).ready(function() {
$('#storageTable').bootstrapTable('refresh'); $('#storageTable').bootstrapTable('refresh');
} }
function add(){ function add(){
jp.openSaveDialog("新增入库单","${ctx}/warehouse/storage/storage/form/add", '1200', '800'); jp.openSaveDialog("新增入库单","${ctx}/warehouse/storage/storage/form/add", '1400', '800');
} }
function edit(id){ function edit(id){
if(id == undefined){ if(id == undefined){
id = getIdSelections(); id = getIdSelections();
} }
jp.openSaveDialog("编辑入库单","${ctx}/warehouse/storage/storage/form/edit?id=" + id, '1200', '800'); jp.openSaveDialog("编辑入库单","${ctx}/warehouse/storage/storage/form/edit?id=" + id, '1400', '800');
} }
function view(id){//没有权限时,不显示确定按钮 function view(id){//没有权限时,不显示确定按钮
if(id == undefined){ if(id == undefined){
id = getIdSelections(); id = getIdSelections();
} }
jp.openViewDialog("查看入库单","${ctx}/warehouse/storage/storage/form/view?id=" + id, '1200', '800'); jp.openViewDialog("查看入库单","${ctx}/warehouse/storage/storage/form/view?id=" + id, '1400', '800');
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment