Commit afc155c5 by 胡懿

Merge branches 'hy' and 'master' of gitlab.yqdchina.com:huyi/warehouse into hy

parents 2b5f3ffb 51fb0938
...@@ -273,15 +273,13 @@ function delRow(obj, prefix){ ...@@ -273,15 +273,13 @@ function delRow(obj, prefix){
content: ctx+"/warehouse/shelves/shelves/shelvesSelect", content: ctx+"/warehouse/shelves/shelves/shelvesSelect",
btn: ['确定', '关闭'], btn: ['确定', '关闭'],
yes: function(index, layero){ yes: function(index, layero){
var ids = layero.find("iframe")[0].contentWindow.getIdSelections(); var items = layero.find("iframe")[0].contentWindow.getSelections();
var names = layero.find("iframe")[0].contentWindow.getNameSelections(); if(Array.isArray(items)&&items.length ==0){
if(ids.length ==0){
jp.warning("请选择至少一个货架!"); jp.warning("请选择至少一个货架!");
return; return;
} }
// 执行保存 // 执行保存
yesFuc(ids.join(","), names.join(",")); yesFuc(items);
top.layer.close(index); top.layer.close(index);
}, },
cancel: function(index){ cancel: function(index){
......
...@@ -159,9 +159,7 @@ ...@@ -159,9 +159,7 @@
}); });
} }
function getSelections() { function getSelections() {
return $.map($("#table").bootstrapTable('getSelections'), function (row) { return $("#table").bootstrapTable('getSelections')
return row
});
} }
</script> </script>
......
...@@ -249,14 +249,14 @@ $(document).ready(function() { ...@@ -249,14 +249,14 @@ $(document).ready(function() {
if(id == undefined){ if(id == undefined){
id = getIdSelections(); id = getIdSelections();
} }
jp.go("${ctx}/warehouse/goods/goods/form/edit?id=" + id); jp.openSaveDialog("编辑货品","${ctx}/warehouse/goods/goods/form/edit?id=" + id, '1200', '800');
} }
function view(id){//没有权限时,不显示确定按钮 function view(id){//没有权限时,不显示确定按钮
if(id == undefined){ if(id == undefined){
id = getIdSelections(); id = getIdSelections();
} }
jp.go("${ctx}/warehouse/goods/goods/form/view?id=" + id); jp.openViewDialog("查看货品","${ctx}/warehouse/goods/goods/form/view?id=" + id, '1200', '800');
} }
...@@ -301,8 +301,6 @@ $(document).ready(function() { ...@@ -301,8 +301,6 @@ $(document).ready(function() {
var list = res.body.goodsInfo.qrCodeList; var list = res.body.goodsInfo.qrCodeList;
LODOP.PRINT_INIT("打印货品"); LODOP.PRINT_INIT("打印货品");
LODOP.SET_PRINT_PAGESIZE(1,400,600,0) LODOP.SET_PRINT_PAGESIZE(1,400,600,0)
LODOP.SET_PRINT_MODE("FULL_HEIGHT_FOR_OVERFLOW",true);
LODOP.SET_PRINT_MODE("FULL_HEIGHT_FOR_OVERFLOW",true);
createAllPage(list); createAllPage(list);
LODOP.PREVIEW(); LODOP.PREVIEW();
jp.close(); jp.close();
...@@ -317,7 +315,7 @@ $(document).ready(function() { ...@@ -317,7 +315,7 @@ $(document).ready(function() {
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 border='0' src='"+imgUrl+"' />"); LODOP.ADD_PRINT_IMAGE('0%',"0%","100%","100%","<img width='150' border='0' src='"+imgUrl+"' />");
}) })
} }
......
...@@ -8,9 +8,11 @@ ...@@ -8,9 +8,11 @@
<%@ page contentType="text/html;charset=UTF-8" language="java" %> <%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ include file="/webpage/include/taglib.jsp" %> <%@ include file="/webpage/include/taglib.jsp" %>
<div id="toolbar" class="text-left"> <div id="toolbar" class="text-left">
<c:if test="${mode == 'add' || mode == 'edit'}">
<a class="btn btn-primary btn-sm" onclick="addDetail('#detail_table')" title="新增"><i class="fa fa-plus"></i> 手动添加</a> <a class="btn btn-primary btn-sm" onclick="addDetail('#detail_table')" title="新增"><i class="fa fa-plus"></i> 手动添加</a>
<a class="btn btn-primary btn-sm" onclick="addScan('#detail_table')" title="新增"><i class="fa fa-plus"></i> 扫码添加</a> <a class="btn btn-primary btn-sm" onclick="addScan('#detail_table')" title="新增"><i class="fa fa-plus"></i> 扫码添加</a>
<a id="editAll" class="btn btn-primary btn-sm" onclick="addShelve('#detail_table')" title="新增"><i class="fa fa-plus"></i> 批量编辑货架</a> <a id="editAll" class="btn btn-primary btn-sm" onclick="addShelve('#detail_table')" title="新增"><i class="fa fa-plus"></i> 批量编辑货架</a>
</c:if>
</div> </div>
<table id="detail_table" data-toolbar="#toolbar"></table> <table id="detail_table" data-toolbar="#toolbar"></table>
<script> <script>
...@@ -126,7 +128,6 @@ ...@@ -126,7 +128,6 @@
...item ...item
} }
}) })
debugger
$(selector).bootstrapTable('append', data) $(selector).bootstrapTable('append', data)
} }
}) })
...@@ -175,21 +176,37 @@ ...@@ -175,21 +176,37 @@
} }
} }
function addShelve(){ /**
jp.openShelvesSelectDialog(function (id,name){ * 获取所有明细数据
* @returns {*|jQuery}
*/
function getTableData(){
return $(selector).bootstrapTable('getData');
}
getSelections().forEach(function (item,index){ function addShelve(){
jp.openShelvesSelectDialog(function (items){
var Shelve = items[0];
// TODO: 获取选中的明细下标
getSelections().forEach(function (item){
var index = getTableData().findIndex(function (current){
return current.qrCode.id === item.qrCode.id;
})
updateRow(index,{ updateRow(index,{
shelves: { shelves: {
id: id, id: Shelve.id,
name: name name: Shelve.name
} },
warehouse: Shelve.warehouse
}) })
}) })
}) })
} }
/**
* 点击扫码显示扫码窗口
*/
function addScan(){ function addScan(){
layer.open({ layer.open({
type: 1, type: 1,
...@@ -217,6 +234,21 @@ ...@@ -217,6 +234,21 @@
var json = JSON.parse($(elem).val()); var json = JSON.parse($(elem).val());
var qrCodeId = json.code; var qrCodeId = json.code;
var goodsInfoId = json.infoId; var goodsInfoId = json.infoId;
jp.get('${ctx}/warehouse/goods/goods/getGIAndQCByTwoId?goodsInfoId='+goodsInfoId+"&qrCodeId="+qrCodeId, function (res){
var qrCode = res.body.qrCode;
$(selector).bootstrapTable('append',[
{
qrCode: qrCode,
goodsInfo: qrCode.goodsInfo,
...qrCode.goodsInfo,
id: '',
delFlag: 0,
remarks: ''
}
]);
$(elem).val('').focus();
})
}catch (e){ }catch (e){
console.log(e); console.log(e);
} }
...@@ -230,6 +262,7 @@ ...@@ -230,6 +262,7 @@
<input id="storageInfoList{{idx}}_goodsInfoName" name="storageInfoList[{{idx}}].goodsInfo.name" type="hidden" value="{{row.goodsInfo.name}}"/> <input id="storageInfoList{{idx}}_goodsInfoName" name="storageInfoList[{{idx}}].goodsInfo.name" type="hidden" value="{{row.goodsInfo.name}}"/>
<input id="storageInfoList{{idx}}_goodsInfoAmount" name="storageInfoList[{{idx}}].goodsInfo.amount" type="hidden" value="{{row.goodsInfo.amount}}"/> <input id="storageInfoList{{idx}}_goodsInfoAmount" name="storageInfoList[{{idx}}].goodsInfo.amount" type="hidden" value="{{row.goodsInfo.amount}}"/>
<input id="storageInfoList{{idx}}_shelvesId" name="storageInfoList[{{idx}}].shelves.id" type="hidden" value="{{row.shelves.id}}" readonly class="form-control" /> <input id="storageInfoList{{idx}}_shelvesId" name="storageInfoList[{{idx}}].shelves.id" type="hidden" value="{{row.shelves.id}}" readonly class="form-control" />
<input id="storageInfoList{{idx}}_warehouseId" name="storageInfoList[{{idx}}].warehouse.id" type="hidden" value="{{row.warehouse.id}}" readonly class="form-control" />
<input id="storageInfoList{{idx}}_amount" name="storageInfoList[{{idx}}].amount" type="hidden" value="{{row.amount}}" readonly class="form-control" /> <input id="storageInfoList{{idx}}_amount" name="storageInfoList[{{idx}}].amount" type="hidden" value="{{row.amount}}" readonly class="form-control" />
<input id="storageInfoList{{idx}}_qrCodeId" name="storageInfoList[{{idx}}].qrCode.id" type="hidden" value="{{row.qrCode.id}}" readonly class="form-control" /> <input id="storageInfoList{{idx}}_qrCodeId" name="storageInfoList[{{idx}}].qrCode.id" type="hidden" value="{{row.qrCode.id}}" readonly class="form-control" />
...@@ -251,7 +284,7 @@ ...@@ -251,7 +284,7 @@
<input id="storageInfoList{{idx}}_shelvesName" name="storageInfoList[{{idx}}].shelves.name" type="text" value="{{row.shelves.name}}" readonly class="form-control" /> <input id="storageInfoList{{idx}}_shelvesName" name="storageInfoList[{{idx}}].shelves.name" type="text" value="{{row.shelves.name}}" readonly class="form-control" />
</script> </script>
<script id="remarksTpl" type="text/html"> <script id="remarksTpl" type="text/html">
<textarea id="storageInfoList{{idx}}_remarks" name="storageInfoList[{{idx}}].remarks" rows="4" onchange="onInputChange('{{idx}}', this, 'remarks')" class="form-control ">{{row.remarks}}</textarea> <textarea id="storageInfoList{{idx}}_remarks" name="storageInfoList[{{idx}}].remarks" rows="2" onchange="onInputChange('{{idx}}', this, 'remarks')" class="form-control ">{{row.remarks}}</textarea>
</script> </script>
<script id="scanResultTpl" type="text/html"> <script id="scanResultTpl" type="text/html">
......
...@@ -6,6 +6,33 @@ ...@@ -6,6 +6,33 @@
<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">
<style>
.statistic-container{
position: relative;
padding: 45px 15px 15px;
margin: 0 -15px 15px;
border-style: solid;
margin-right: 0;
margin-left: 0;
background-color: #fff;
border-color: #ddd;
border-width: 1px;
border-radius: 4px 4px 0 0;
-webkit-box-shadow: none;
box-shadow: none;
}
.statistic-container:after {
position: absolute;
top: 15px;
left: 15px;
font-size: 12px;
font-weight: 700;
color: #959595;
text-transform: uppercase;
letter-spacing: 1px;
content: "统计信息";
}
</style>
<script type="text/javascript" src="${ctxStatic}/plugin/bootstrapTable/bootstrap-table.min.js"></script> <script type="text/javascript" src="${ctxStatic}/plugin/bootstrapTable/bootstrap-table.min.js"></script>
<script type="text/javascript" src="${ctxStatic}/plugin/bootstrapTable/bootstrap-table-zh-CN.js"></script> <script type="text/javascript" src="${ctxStatic}/plugin/bootstrapTable/bootstrap-table-zh-CN.js"></script>
</head> </head>
...@@ -63,6 +90,11 @@ ...@@ -63,6 +90,11 @@
<%@include file="storageDetail.jsp" %> <%@include file="storageDetail.jsp" %>
</td> </td>
</tr> </tr>
<tr>
<td colspan="4">
<%@include file="storageStatistic.jsp" %>
</td>
</tr>
</table> </table>
</form:form> </form:form>
</div> </div>
...@@ -74,6 +106,12 @@ ...@@ -74,6 +106,12 @@
$(document).ready(function () { $(document).ready(function () {
initTable(); initTable();
if('${mode}' == 'view'){
getDetail();
initStatisticTable();
}
jp.ajaxForm("#inputForm", function (data) { jp.ajaxForm("#inputForm", function (data) {
if (data.success) { if (data.success) {
jp.success(data.msg); jp.success(data.msg);
......
...@@ -255,14 +255,14 @@ $(document).ready(function() { ...@@ -255,14 +255,14 @@ $(document).ready(function() {
if(id == undefined){ if(id == undefined){
id = getIdSelections(); id = getIdSelections();
} }
jp.go("${ctx}/warehouse/storage/storage/form/edit?id=" + id); jp.openSaveDialog("编辑入库单","${ctx}/warehouse/storage/storage/form/edit?id=" + id, '1200', '800');
} }
function view(id){//没有权限时,不显示确定按钮 function view(id){//没有权限时,不显示确定按钮
if(id == undefined){ if(id == undefined){
id = getIdSelections(); id = getIdSelections();
} }
jp.go("${ctx}/warehouse/storage/storage/form/view?id=" + id); jp.openViewDialog("查看入库单","${ctx}/warehouse/storage/storage/form/view?id=" + id, '1200', '800');
} }
...@@ -274,9 +274,9 @@ $(document).ready(function() { ...@@ -274,9 +274,9 @@ $(document).ready(function() {
var html = Mustache.render(htmltpl, { var html = Mustache.render(htmltpl, {
idx:row.id idx:row.id
}); });
$.get("${ctx}/warehouse/storage/storage/detail?id="+row.id, function(storage){ $.get("${ctx}/warehouse/storage/storage/countStorage?id="+row.id, function(storage){
var storageChild1RowIdx = 0, storageChild1Tpl = $("#storageChild1Tpl").html().replace(/(\/\/\<!\-\-)|(\/\/\-\->)/g,""); var storageChild1RowIdx = 0, storageChild1Tpl = $("#storageChild1Tpl").html().replace(/(\/\/\<!\-\-)|(\/\/\-\->)/g,"");
var data1 = storage.storageInfoList; var data1 = storage.countStorageInfoList;
for (var i=0; i<data1.length; i++){ for (var i=0; i<data1.length; i++){
data1[i].dict = {}; data1[i].dict = {};
addRow('#storageChild-'+row.id+'-1-List', storageChild1RowIdx, storageChild1Tpl, data1[i]); addRow('#storageChild-'+row.id+'-1-List', storageChild1RowIdx, storageChild1Tpl, data1[i]);
...@@ -309,8 +309,10 @@ $(document).ready(function() { ...@@ -309,8 +309,10 @@ $(document).ready(function() {
<th>名称</th> <th>名称</th>
<th>类型</th> <th>类型</th>
<th>型号</th> <th>型号</th>
<th>仓库</th>
<th>货架</th> <th>货架</th>
<th>备注信息</th> <th>总价</th>
<th>数量</th>
</tr> </tr>
</thead> </thead>
<tbody id="storageChild-{{idx}}-1-List"> <tbody id="storageChild-{{idx}}-1-List">
...@@ -331,10 +333,16 @@ $(document).ready(function() { ...@@ -331,10 +333,16 @@ $(document).ready(function() {
{{row.model}} {{row.model}}
</td> </td>
<td> <td>
{{row.shelves.name}} {{row.warehouseNames}}
</td> </td>
<td> <td>
{{row.remarks}} {{row.shelvesNames}}
</td>
<td>
{{row.sum}}
</td>
<td>
{{row.num}}
</td> </td>
</tr>//--> </tr>//-->
</script> </script>
<%--
Created by IntelliJ IDEA.
User: dell
Date: 2023/2/22
Time: 15:27
To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ include file="/webpage/include/taglib.jsp" %>
<div class="statistic-container">
<table id="statisticTable" class="detail-table"></table>
</div>
<script>
function initStatisticTable(){
$("#statisticTable").bootstrapTable({
data: [],
columns:[
{field: 'name', title: '名称', align: 'center'},
{field: 'type.name', title: '类型',align: 'center'},
{field: 'model', title: '型号',align: 'center'},
{field: 'warehouseNames', title: '仓库',align: 'center'},
{field: 'shelvesNames', title: '货架',align: 'center'},
{field: 'sum', title: '总价',align: 'center'},
{field: 'num', title: '数量',align: 'center'}
]
})
}
function getDetail(){
$.get("${ctx}/warehouse/storage/storage/countStorage?id=${storage.id}", function(storage){
var data = storage.countStorageInfoList;
$("#statisticTable").bootstrapTable('append', data);
})
}
</script>
\ No newline at end of file
...@@ -233,14 +233,14 @@ $(document).ready(function() { ...@@ -233,14 +233,14 @@ $(document).ready(function() {
if(id == undefined){ if(id == undefined){
id = getIdSelections(); id = getIdSelections();
} }
jp.go("${ctx}/warehouse/warehouse/warehouse/form/edit?id=" + id); jp.openSaveDialog("编辑仓库","${ctx}/warehouse/warehouse/warehouse/form/edit?id=" + id, '800', '600');
} }
function view(id) { function view(id) {
if(id == undefined){ if(id == undefined){
id = getIdSelections(); id = getIdSelections();
} }
jp.go("${ctx}/warehouse/warehouse/warehouse/form/view?id=" + id); jp.openViewDialog("查看仓库","${ctx}/warehouse/warehouse/warehouse/form/view?id=" + id, '800', '600');
} }
</script> </script>
\ No newline at end of file
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