Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
W
warehouse
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
胡懿
warehouse
Commits
eb01a724
Commit
eb01a724
authored
Jul 18, 2023
by
anxiaohe
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
入库信息表单
parent
154651c3
Hide whitespace changes
Inline
Side-by-side
Showing
13 changed files
with
565 additions
and
460 deletions
+565
-460
TagController.java
src/main/java/com/jeeplus/modules/sys/web/TagController.java
+1
-0
ShelvesController.java
...plus/modules/warehouse/shelves/web/ShelvesController.java
+3
-4
shelvesselect.tag
src/main/webapp/WEB-INF/tags/sys/shelvesselect.tag
+2
-3
shelvesselectNotName.tag
src/main/webapp/WEB-INF/tags/sys/shelvesselectNotName.tag
+2
-3
jeeplus.js
src/main/webapp/static/common/js/jeeplus.js
+7
-6
gridselect.jsp
src/main/webapp/webpage/modules/common/gridselect.jsp
+6
-3
shelvesSelect.jsp
src/main/webapp/webpage/modules/common/shelvesSelect.jsp
+3
-3
goodsDetail.jsp
...in/webapp/webpage/modules/warehouse/goods/goodsDetail.jsp
+27
-24
goodsForm.jsp
...main/webapp/webpage/modules/warehouse/goods/goodsForm.jsp
+2
-3
goodsList.js
src/main/webapp/webpage/modules/warehouse/goods/goodsList.js
+17
-13
storageDetail.jsp
...ebapp/webpage/modules/warehouse/storage/storageDetail.jsp
+490
-393
storageForm.jsp
.../webapp/webpage/modules/warehouse/storage/storageForm.jsp
+2
-2
storageList.js
...n/webapp/webpage/modules/warehouse/storage/storageList.js
+3
-3
No files found.
src/main/java/com/jeeplus/modules/sys/web/TagController.java
View file @
eb01a724
...
...
@@ -75,6 +75,7 @@ public class TagController extends BaseController {
model
.
addAttribute
(
"url"
,
url
);
model
.
addAttribute
(
"searchLabels"
,
searchLabels
.
split
(
"\\|"
));
model
.
addAttribute
(
"searchKeys"
,
searchKeys
.
split
(
"\\|"
));
model
.
addAttribute
(
"gridSelectTableDataHandle"
,
request
.
getParameter
(
"gridSelectTableDataHandle"
));
return
"modules/common/gridselect"
;
}
...
...
src/main/java/com/jeeplus/modules/warehouse/shelves/web/ShelvesController.java
View file @
eb01a724
...
...
@@ -234,10 +234,10 @@ public class ShelvesController extends BaseController {
/**
* 货架信息列表页面
*/
@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
(
"isMultiSelect"
,
request
.
getParameter
(
"isMultiSelected"
));
return
"modules/common/shelvesSelect"
;
}
}
\ No newline at end of file
}
src/main/webapp/WEB-INF/tags/sys/shelvesselect.tag
View file @
eb01a724
...
...
@@ -45,7 +45,7 @@
}
</c:if>
}
})
}
, "${isMultiSelected}"
)
});
...
...
@@ -60,4 +60,4 @@
$("#${id}Name").focus();
});
</script>
\ No newline at end of file
</script>
src/main/webapp/WEB-INF/tags/sys/shelvesselectNotName.tag
View file @
eb01a724
...
...
@@ -45,7 +45,7 @@
}
</c:if>
}
})
}
, "${isMultiSelected}"
)
});
...
...
@@ -60,4 +60,4 @@
$("#${id}Name").focus();
});
</script>
\ No newline at end of file
</script>
src/main/webapp/static/common/js/jeeplus.js
View file @
eb01a724
...
...
@@ -263,14 +263,15 @@ function delRow(obj, prefix){
});
},
/**货架选择框**/
openShelvesSelectDialog
:
function
(
yesFuc
){
openShelvesSelectDialog
:
function
(
yesFuc
,
isMultiSelected
){
isMultiSelected
=
isMultiSelected
?
isMultiSelected
.
toString
()
:
''
;
top
.
layer
.
open
({
type
:
2
,
area
:
[
'900px'
,
'560px'
],
title
:
"选择货架"
,
auto
:
true
,
maxmin
:
true
,
//开启最大化最小化按钮
content
:
ctx
+
"/warehouse/shelves/shelves/shelvesSelect
"
,
content
:
ctx
+
"/warehouse/shelves/shelves/shelvesSelect
?isMultiSelected="
+
isMultiSelected
,
btn
:
[
'确定'
,
'关闭'
],
yes
:
function
(
index
,
layero
){
var
items
=
layero
.
find
(
"iframe"
)[
0
].
contentWindow
.
getSelections
();
...
...
@@ -324,17 +325,17 @@ function delRow(obj, prefix){
},
openStorageSelectDialog
:
function
(
params
,
yesFuc
){
var
url
=
ctx
+
"/warehouse/storage/storage/findByPcTypeModel?goodsInfo.goods.batchNum="
+
params
.
batchNum
+
"&qrCode.state="
+
params
.
state
;
var
fieldLabels
=
"物资编码|
名称|品名代码
|型号"
;
var
fieldKeys
=
"qrCode.code|
name|type.name
|model"
;
var
fieldLabels
=
"物资编码|
品名|代码|单价|单位|数量|总价
|型号"
;
var
fieldKeys
=
"qrCode.code|
type.name|type.code|type.amount|type.unit|num|infoSum
|model"
;
var
searchLabels
=
"品名代码|型号"
;
var
searchKeys
=
"goodsInfo.type|goodsInfo.model"
;
top
.
layer
.
open
({
type
:
2
,
area
:
[
'
800px'
,
'5
00px'
],
area
:
[
'
1100px'
,
'6
00px'
],
title
:
"选择入库明细"
,
auto
:
true
,
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
:
[
'确定'
,
'关闭'
],
yes
:
function
(
index
,
layero
){
var
iframeWin
=
layero
.
find
(
'iframe'
)[
0
].
contentWindow
;
//得到iframe页的窗口对象,执行iframe页的方法:iframeWin.method();
...
...
src/main/webapp/webpage/modules/common/gridselect.jsp
View file @
eb01a724
...
...
@@ -35,7 +35,11 @@ $(document).ready(function() {
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
//queryParamsType:'',
...
...
@@ -141,4 +145,4 @@ $(document).ready(function() {
<table
id=
"table"
></table>
</div>
</body>
</html>
\ No newline at end of file
</html>
src/main/webapp/webpage/modules/common/shelvesSelect.jsp
View file @
eb01a724
...
...
@@ -49,7 +49,8 @@
}).
on
(
'loaded.jstree'
,
function
()
{
$
(
"#jstree"
).
jstree
(
'open_all'
);
});
console
.
log
(
"${isMultiSelect}"
)
//初始化表格
$
(
'#table'
).
bootstrapTable
({
...
...
@@ -201,4 +202,4 @@
</div>
</div>
</body>
</html>
\ No newline at end of file
</html>
src/main/webapp/webpage/modules/warehouse/goods/goodsDetail.jsp
View file @
eb01a724
...
...
@@ -73,40 +73,40 @@
}
},
{
field: '
model
',
title: '
型号
',
field: '
amount
',
title: '
单价
',
formatter: function (value,row,index){
return Mustache.render($("#
model
Tpl").html().replace(/(\/\/\<!\-\-)|(\/\/\-\->)/g, ""),{
return Mustache.render($("#
amount
Tpl").html().replace(/(\/\/\<!\-\-)|(\/\/\-\->)/g, ""),{
row: row,
idx: index
})
}
},
{
field: '
num
',
title: '
数量
',
field: '
type.unit
',
title: '
单位
',
formatter: function (value,row,index){
return Mustache.render($("#
num
Tpl").html().replace(/(\/\/\<!\-\-)|(\/\/\-\->)/g, ""),{
return Mustache.render($("#
unit
Tpl").html().replace(/(\/\/\<!\-\-)|(\/\/\-\->)/g, ""),{
row: row,
idx: index
})
}
},
{
field: '
amount
',
title: '
单价
',
field: '
model
',
title: '
型号
',
formatter: function (value,row,index){
return Mustache.render($("#
amount
Tpl").html().replace(/(\/\/\<!\-\-)|(\/\/\-\->)/g, ""),{
return Mustache.render($("#
model
Tpl").html().replace(/(\/\/\<!\-\-)|(\/\/\-\->)/g, ""),{
row: row,
idx: index
})
}
},
{
field: '
unit
',
title: '
单位
',
field: '
num
',
title: '
数量
',
formatter: function (value,row,index){
return Mustache.render($("#
unit
Tpl").html().replace(/(\/\/\<!\-\-)|(\/\/\-\->)/g, ""),{
return Mustache.render($("#
num
Tpl").html().replace(/(\/\/\<!\-\-)|(\/\/\-\->)/g, ""),{
row: row,
idx: index
})
...
...
@@ -161,12 +161,15 @@
name: '',
type: {
id: '',
name: ''
name: '',
unit: '',
code: ''
},
model: '',
num: null,
amount: null,
remarks: ''
remarks: '',
infoSum: ''
}
$(selector).bootstrapTable('append', [
...
...
@@ -260,10 +263,10 @@
type: {
id: node.id,
name: node.text,
code: node.original.code
code: node.original.code,
unit: node.original.unit
},
amount: node.original.amount,
unit: node.original.unit
};
if ($("#goodsInfoList" + rowIndex + "_num").val()) {
obj.infoSum = new Big($("#goodsInfoList" + rowIndex + "_num").val()).times(obj.amount).toNumber();
...
...
@@ -288,10 +291,10 @@
type: {
id: '',
name: '',
code: ''
code: '',
unit: ''
},
amount: '',
unit: '',
infoSum: ''
};
updateRow(num, obj);
...
...
@@ -315,6 +318,12 @@
<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"/>
</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">
<input id="goodsInfoList{{idx}}_model" name="goodsInfoList[{{idx}}].model" type="text" value="{{row.model}}" onchange="onInputChange('{{idx}}', this, 'model')" class="form-control required"/>
</script>
...
...
@@ -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"/>
</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">
<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>
...
...
src/main/webapp/webpage/modules/warehouse/goods/goodsForm.jsp
View file @
eb01a724
...
...
@@ -33,7 +33,7 @@
<tr>
<td><font
color=
"red"
>
*
</font>
批次号
</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><font
color=
"red"
>
*
</font>
时间
</td>
<td>
...
...
@@ -121,4 +121,4 @@
}
</script>
</body>
</html>
\ No newline at end of file
</html>
src/main/webapp/webpage/modules/warehouse/goods/goodsList.js
View file @
eb01a724
...
...
@@ -295,10 +295,10 @@ $(document).ready(function() {
if
(
LODOP
){
jp
.
loading
(
'loading...'
);
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
.
SET_PRINT_PAGESIZE
(
1
,
4
00
,
600
,
0
)
createAllPage
(
list
);
LODOP
.
SET_PRINT_PAGESIZE
(
1
,
8
00
,
600
,
0
)
createAllPage
(
row
);
LODOP
.
PREVIEW
();
jp
.
close
();
})
...
...
@@ -311,16 +311,20 @@ $(document).ready(function() {
}
}
function
createAllPage
(
list
){
function
createAllPage
(
item
){
if
(
!
list
){
return
;
}
list
.
forEach
(
function
(
item
){
LODOP
.
NewPage
();
var
imgUrl
=
"${ctxPath}/"
+
item
.
url
;
LODOP
.
ADD_PRINT_IMAGE
(
'0%'
,
"0%"
,
"100%"
,
"100%"
,
"<img width='150' border='0' src='"
+
imgUrl
+
"' />"
);
})
// if(!list){
// return;
// }
// list.forEach(function(item){
// LODOP.NewPage();
// var imgUrl = "${ctxPath}/" + item.url;
// 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
)
{
...
...
@@ -377,7 +381,7 @@ $(document).ready(function() {
{{
row
.
amount
}}
<
/td
>
<
td
>
{{
row
.
unit
}}
{{
row
.
type
.
unit
}}
<
/td
>
<
td
>
{{
row
.
infoSum
}}
...
...
src/main/webapp/webpage/modules/warehouse/storage/storageDetail.jsp
View file @
eb01a724
...
...
@@ -8,448 +8,546 @@
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ include file="/webpage/include/taglib.jsp" %>
<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="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>
</c:if>
<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="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>
</c:if>
</div>
<table id="detail_table" data-toolbar="#toolbar"></table>
<script>
var selector = "#detail_table";
function initTable(){
var data = ${fns:toJson(storage.storageInfoList)};
if(data.length){
data = data.map(function(item){
item.delFlag = 0;
item.readonly = item.qrCode && item.qrCode.state === '2'
return item;
})
}
$(selector).bootstrapTable({
data: data,
//是否显示分页(*)
pagination: true,
//排序方式
sortOrder: "asc",
//初始化加载第一页,默认第一页
pageNumber:1,
//每页的记录行数(*)
pageSize: 10,
sidePagination: "client",
columns:[{checkbox: true, formatter: function(vlaue,row){return {disabled: row.qrCode && row.qrCode.state === '2' }}},
{
field: 'no',
title: '序号',
align: 'center',
width: 60,
formatter: function (value, row, index){
return '<span>'+(index+1)+'</span>'
}
},
{
field: 'name',
title: '名称',
formatter: function (value,row,index){
return Mustache.render($("#nameTpl").html(),{
row: row,
idx: index
})
}
},
{
field: 'type.name',
title: '品名代码',
formatter: function (value,row,index){
return Mustache.render($("#typeTpl").html().replace(/(\/\/\<!\-\-)|(\/\/\-\->)/g, ""),{
row: row,
idx: index
})
}
},
{
field: 'model',
title: '型号',
formatter: function (value,row,index){
return Mustache.render($("#modelTpl").html().replace(/(\/\/\<!\-\-)|(\/\/\-\->)/g, ""),{
row: row,
idx: index
})
}
},
{
field: 'shelves',
title: '货架',
formatter: function (value,row,index){
return Mustache.render($("#shelvesTpl").html().replace(/(\/\/\<!\-\-)|(\/\/\-\->)/g, ""),{
row: row,
idx: index
})
}
},
{
field: 'warehouse.name',
title: '仓库',
formatter: function (value,row,index){
return Mustache.render($("#warehouseTpl").html().replace(/(\/\/\<!\-\-)|(\/\/\-\->)/g, ""),{
row: row,
idx: index
})
}
},
{
field: 'qrCode.state',
title: ' 状态 ',
formatter: function (value,row,index){
if(value === '1'){
return '已入库未入账'
}else if(value === '2'){
return '已入账未下账'
} else if(value === '3'){
return '已下账'
} else {
return '未入库'
}
}
},
{
field: 'remarks',
title: '备注',
formatter: function (value,row,index){
return Mustache.render($("#remarksTpl").html().replace(/(\/\/\<!\-\-)|(\/\/\-\->)/g, ""),{
row: row,
idx: index
var selector = "#detail_table";
function initTable(){
var data = ${fns:toJson(storage.storageInfoList)};
if(data.length){
data = data.map(function(item){
item.delFlag = 0;
item.readonly = item.qrCode && item.qrCode.state === '2'
return item;
})
}
},
{
field: '',
title: '操作',
formatter: function (value,row,index){
if(row.qrCode && row.qrCode.state === '2') return ' ';
var text = row.delFlag == 1 ? '撤销删除' : '删除';
var result = ["<a href='javascript:void(0);' onclick=\"removeRow(" + index + ", '" + row.id + "', '" + row.delFlag + "')\">"+text+"</a>" ]
return result.join('');
}
}
]
});
$(selector).on('check.bs.table uncheck.bs.table load-success.bs.table ' +
$(selector).bootstrapTable({
data: data,
//是否显示分页(*)
pagination: true,
//排序方式
sortOrder: "asc",
//初始化加载第一页,默认第一页
pageNumber:1,
//每页的记录行数(*)
pageSize: 10,
sidePagination: "client",
columns:[{checkbox: true, formatter: function(vlaue,row){return {disabled: row.qrCode && row.qrCode.state === '2' }}},
{
field: 'no',
title: '序号',
align: 'center',
width: 60,
formatter: function (value, row, index){
return '<span>'+(index+1)+'</span>'
}
},
{
field: 'type.name',
title: '品名',
formatter: function (value,row,index){
return Mustache.render($("#typeNameTpl").html().replace(/(\/\/\<!\-\-)|(\/\/\-\->)/g, ""),{
row: row,
idx: index
})
}
},
{
field: 'type.code',
title: '代码',
formatter: function (value,row,index){
return Mustache.render($("#typeCodeTpl").html().replace(/(\/\/\<!\-\-)|(\/\/\-\->)/g, ""),{
row: row,
idx: index
})
}
},
{
field: 'amount',
title: '单价',
formatter: function (value,row,index){
return Mustache.render($("#amountTpl").html().replace(/(\/\/\<!\-\-)|(\/\/\-\->)/g, ""),{
row: row,
idx: index
})
}
},
{
field: 'type.unit',
title: '单位',
formatter: function (value,row,index){
return Mustache.render($("#unitTpl").html().replace(/(\/\/\<!\-\-)|(\/\/\-\->)/g, ""),{
row: row,
idx: index
})
}
},
{
field: 'model',
title: '型号',
formatter: function (value,row,index){
return Mustache.render($("#modelTpl").html().replace(/(\/\/\<!\-\-)|(\/\/\-\->)/g, ""),{
row: row,
idx: index
})
}
},
{
field: 'num',
title: '数量',
formatter: function (value,row,index){
return Mustache.render($("#numTpl").html().replace(/(\/\/\<!\-\-)|(\/\/\-\->)/g, ""),{
row: row,
idx: index
})
}
},
{
field: 'infoSum',
title: '总价',
formatter: function (value,row,index){
return Mustache.render($("#infoSumTpl").html().replace(/(\/\/\<!\-\-)|(\/\/\-\->)/g, ""),{
row: row,
idx: index
})
}
},
{
field: 'shelves',
title: '货架',
formatter: function (value,row,index){
return Mustache.render($("#shelvesTpl").html().replace(/(\/\/\<!\-\-)|(\/\/\-\->)/g, ""),{
row: row,
idx: index
})
}
},
{
field: 'warehouse.name',
title: '仓库',
formatter: function (value,row,index){
return Mustache.render($("#warehouseTpl").html().replace(/(\/\/\<!\-\-)|(\/\/\-\->)/g, ""),{
row: row,
idx: index
})
}
},
{
field: 'qrCode.state',
title: ' 状态 ',
formatter: function (value,row,index){
if(value === '1'){
return '已入库未入账'
}else if(value === '2'){
return '已入账未下账'
} else if(value === '3'){
return '已下账'
} else {
return '未入库'
}
}
},
{
field: 'remarks',
title: '备注',
formatter: function (value,row,index){
return Mustache.render($("#remarksTpl").html().replace(/(\/\/\<!\-\-)|(\/\/\-\->)/g, ""),{
row: row,
idx: index
})
}
},
{
field: '',
title: '操作',
formatter: function (value,row,index){
if(row.qrCode && row.qrCode.state === '2') return ' ';
var text = row.delFlag == 1 ? '撤销删除' : '删除';
var result = ["<a href='javascript:void(0);' onclick=\"removeRow(" + index + ", '" + row.id + "', '" + row.delFlag + "')\">"+text+"</a>" ]
return result.join('');
}
}
]
});
$(selector).on('check.bs.table uncheck.bs.table load-success.bs.table ' +
'check-all.bs.table uncheck-all.bs.table', function () {
$('#editAll').prop('disabled', !getSelections().length);
});
}
function getSelections(){
return $(selector).bootstrapTable('getSelections');
}
$('#editAll').prop('disabled', !getSelections().length);
});
}
/**
* 手动添加明细
* @param selector
*/
function addDetail(selector){
// 选择该批次号下的货品明细
if(!$("#batchNum").val()){
jp.warning('请选择批次号!');
return;
function getSelections(){
return $(selector).bootstrapTable('getSelections');
}
jp.openStorageSelectDialog({batchNum:$("#batchNum").val(),state: 0, isMultiSelect: true },function (items){
if(Array.isArray(items)){
/***
* 重复的物资编码去重
*/
var newItems = [];
items.forEach(function(item){
var fined = getTableData().find(function(v){
return v.qrCode.id === item.qrCode.id
});
if(!fined){
newItems.push(item)
}else{
jp.warning('有物资重复不能入库!');
}
})
var data = newItems.map(function (item){
item[0] = false;
if(item.goodsInfo && !item.goodsInfo.amount){
item.goodsInfo.amount = 0;
}
top.selectStorageData = function (res) {
res.rows = res.rows.map(function (e) {
return {
id: '',
delFlag: 0,
remarks: '',
...item
...e,
infoSum: new Big(e.num).times(e.amount).toNumber()
}
});
$(selector).bootstrapTable('append', data)
})
return res;
}
/**
* 手动添加明细
* @param selector
*/
function addDetail(selector){
// 选择该批次号下的货品明细
if(!$("#batchNum").val()){
jp.warning('请选择批次号!');
return;
}
})
}
jp.openStorageSelectDialog({batchNum:$("#batchNum").val(),state: 0, isMultiSelect: true, gridSelectTableDataHandleName: 'selectStorageData' },function (items){
if(Array.isArray(items)){
/***
* 重复的物资编码去重
*/
var newItems = [];
items.forEach(function(item){
var fined = getTableData().find(function(v){
return v.qrCode.id === item.qrCode.id
});
if(!fined){
newItems.push(item)
}else{
jp.warning('有物资重复不能入库!');
}
})
var data = newItems.map(function (item){
item[0] = false;
if(item.goodsInfo && !item.goodsInfo.amount){
item.goodsInfo.amount = 0;
}
return {
id: '',
delFlag: 0,
remarks: '',
...item,
infoSum: new Big(item.num).times(item.amount).toNumber()
}
});
$(selector).bootstrapTable('append', data)
}
})
}
/**
* 删除明细
* @param index
* @param rowId
* @param rowDelFlag
*/
function removeRow(index, rowId, rowDelFlag){
if(rowId){
var delFlag = rowDelFlag == 1 ? 0 : 1
updateRow(index, {
delFlag: delFlag
})
}else{
$(selector).bootstrapTable("remove", {
field: '$index',
values: [index]
})
/**
* 删除明细
* @param index
* @param rowId
* @param rowDelFlag
*/
function removeRow(index, rowId, rowDelFlag){
if(rowId){
var delFlag = rowDelFlag == 1 ? 0 : 1
updateRow(index, {
delFlag: delFlag
})
}else{
$(selector).bootstrapTable("remove", {
field: '$index',
values: [index]
})
}
}
}
/**
* 更新行
* @param index 下标
* @param row 更新对象
*/
function updateRow(index, row){
$(selector).bootstrapTable('updateRow', {
index: index,
row: row
})
}
/**
* 更新行
* @param index 下标
* @param row 更新对象
*/
function updateRow(index, row){
$(selector).bootstrapTable('updateRow', {
index: index,
row: row
})
}
/**
* 监听input值,并更新行
* @param rowIndex 更新行的下标
* @param elem 元素
* @param field 属性
*/
function onInputChange(rowIndex, elem , field){
var obj = {};
obj[field] = $(elem).val()
var timer = null;
clearTimeout(timer);
timer = setTimeout(function (){
updateRow(rowIndex, obj)
}, 0)
}
/**
* 监听input值,并更新行
* @param rowIndex 更新行的下标
* @param elem 元素
* @param field 属性
*/
function onInputChange(rowIndex, elem , field){
var obj = {};
obj[field] = $(elem).val()
var timer = null;
clearTimeout(timer);
timer = setTimeout(function (){
updateRow(rowIndex, obj)
}, 0)
}
/**
* 监听类型选择回调并更新行
* @param nodes 选中数据
* @param rowIndex 行下标
*/
function onSelectType(nodes, rowIndex){
if(Array.isArray(nodes) && nodes.length === 1){
var node = nodes[0];
var obj = {
type: {
id: node.id,
name: node.text
/**
* 监听类型选择回调并更新行
* @param nodes 选中数据
* @param rowIndex 行下标
*/
function onSelectType(nodes, rowIndex){
if(Array.isArray(nodes) && nodes.length === 1){
var node = nodes[0];
var obj = {
type: {
id: node.id,
name: node.text
}
};
updateRow(rowIndex, obj)
}
};
updateRow(rowIndex, obj)
}
}
function onSelectShelves(nodes, rowIndex){
if(Array.isArray(nodes) && nodes.length === 1){
var node = nodes[0];
var obj = {
shelves: {
id: node.id,
name: node.name
},
warehouse: node.warehouse
};
updateRow(rowIndex, obj)
function onSelectShelves(nodes, rowIndex){
if(Array.isArray(nodes)){
var obj = {
shelvesIds: '',
warehouseIds: '',
shelvesNames: '',
warehouseNames: ''
};
nodes.forEach(function (item) {
obj.shelvesIds += item.id + ',';
obj.shelvesNames += item.name + ',';
obj.warehouseIds += item.warehouse.id + ',';
obj.warehouseNames += item.warehouse.name + ','
})
// var node = nodes[0];
// var obj = {
// shelves: {
// id: node.id,
// name: node.name
// },
// warehouse: node.warehouse
// };
updateRow(rowIndex, obj)
}
}
}
/**
* 获取所有明细数据
* @returns {*|jQuery}
*/
function getTableData(useCurrentPage){
return $(selector).bootstrapTable('getData',{
useCurrentPage: useCurrentPage
});
}
/**
* 获取所有明细数据
* @returns {*|jQuery}
*/
function getTableData(useCurrentPage){
return $(selector).bootstrapTable('getData',{
useCurrentPage: useCurrentPage
});
}
/**
* 批量添加货架
*/
function addShelve(){
jp.openShelvesSelectDialog(function (items){
setTimeout(function(){
var Shelve = items[0]; // 货架对象
var realSelections = []; // 保存真实选中的数据
var allSelections = getSelections(); // 保存所有选中的数据(含分页)
var currentPageData = getTableData(true); // 保存当前分页数据
allSelections.forEach(function(item){
var finded = currentPageData.find(function(value){
return value.qrCode.id === item.qrCode.id
});
if(finded){
realSelections.push(item);
}
});
realSelections.forEach(function (item){
var index = getTableData().findIndex(function (current){
return current.qrCode.id === item.qrCode.id;
}); // 需更新的行的下标
updateRow(index,{
shelves: {
id: Shelve.id,
name: Shelve.name
},
warehouse: Shelve.warehouse
})
})
},200)
/**
* 批量添加货架
*/
function addShelve(){
jp.openShelvesSelectDialog(function (items){
setTimeout(function(){
// var Shelve = items[0]; // 货架对象
})
}
var obj = {
shelvesIds: '',
warehouseIds: '',
shelvesNames: '',
warehouseNames: ''
};
items.forEach(function (item) {
obj.shelvesIds += item.id + ',';
obj.shelvesNames += item.name + ',';
obj.warehouseIds += item.warehouse.id + ',';
obj.warehouseNames += item.warehouse.name + ','
})
function updateTask(allList, count, updateCallback){
var list = allList.slice(0, count);
list.forEach(function (item){
var index = getTableData().findIndex(function (current){
return current.qrCode.id === item.qrCode.id;
}); // 需更新的行的下标
updateCallback(index);
});
setTimeout(function(){
var newList = allList.slice(count);
if(newList.length > 0){
updateTask(newList,count,updateCallback);
}
},300)
}
var realSelections = []; // 保存真实选中的数据
var allSelections = getSelections(); // 保存所有选中的数据(含分页)
var currentPageData = getTableData(true); // 保存当前分页数据
allSelections.forEach(function(item){
var finded = currentPageData.find(function(value){
return value.qrCode.id === item.qrCode.id
});
if(finded){
realSelections.push(item);
}
});
realSelections.forEach(function (item){
var index = getTableData().findIndex(function (current){
return current.qrCode.id === item.qrCode.id;
}); // 需更新的行的下标
// updateRow(index,{
// shelves: {
// id: Shelve.id,
// name: Shelve.name
// },
// warehouse: Shelve.warehouse
// })
updateRow(index, Object.assign({}, obj));
})
},200)
/**
* 点击扫码显示扫码窗口
*/
function addScan(){
layer.open({
type: 1,
title: '扫码',
auto: true,
area: ['500','300'],
content: $("#scanResultTpl").html(),
success: function (){
$("#scanResult").focus();
},
btn:['关闭']
})
}
}, true);
}
/**
* 扫码
* 一、获取扫码结果
* 二、请求后台接口获取结果
* 三、增一条明细数据
* 四、清空扫码结果
* @param elem
*/
function onScanChange(elem){
try{
var json = JSON.parse($(elem).val());
var qrCodeId = json.code;
var goodsInfoId = json.infoId;
jp.get('${ctx}/warehouse/goods/goods/getGIAndQCByTwoId?goodsInfoId='+goodsInfoId+"&qrCodeId="+qrCodeId, function (res){
var qrCode = res.body.qrCode;
var fined = getTableData().find(function(v){
return v.qrCode.id === qrCode.id
});
if(fined){
jp.warning('有物资重复不能入库!');
return;
function updateTask(allList, count, updateCallback){
var list = allList.slice(0, count);
list.forEach(function (item){
var index = getTableData().findIndex(function (current){
return current.qrCode.id === item.qrCode.id;
}); // 需更新的行的下标
updateCallback(index);
});
setTimeout(function(){
var newList = allList.slice(count);
if(newList.length > 0){
updateTask(newList,count,updateCallback);
}
$(selector).bootstrapTable('append',[
{
qrCode: qrCode,
goodsInfo: qrCode.goodsInfo,
...qrCode.goodsInfo,
id: '',
delFlag: 0,
remarks: ''
}
]);
$(elem).val('').focus();
},300)
}
/**
* 点击扫码显示扫码窗口
*/
function addScan(){
layer.open({
type: 1,
title: '扫码',
auto: true,
area: ['500','300'],
content: $("#scanResultTpl").html(),
success: function (){
$("#scanResult").focus();
},
btn:['关闭']
})
}
/**
* 扫码
* 一、获取扫码结果
* 二、请求后台接口获取结果
* 三、增一条明细数据
* 四、清空扫码结果
* @param elem
*/
function onScanChange(elem){
try{
var json = JSON.parse($(elem).val());
var qrCodeId = json.code;
var goodsInfoId = json.infoId;
jp.get('${ctx}/warehouse/goods/goods/getGIAndQCByTwoId?goodsInfoId='+goodsInfoId+"&qrCodeId="+qrCodeId, function (res){
var qrCode = res.body.qrCode;
var fined = getTableData().find(function(v){
return v.qrCode.id === qrCode.id
});
if(fined){
jp.warning('有物资重复不能入库!');
return;
}
$(selector).bootstrapTable('append',[
{
qrCode: qrCode,
goodsInfo: qrCode.goodsInfo,
...qrCode.goodsInfo,
id: '',
delFlag: 0,
remarks: ''
}
]);
$(elem).val('').focus();
})
}catch (e){
console.log(e);
}
}
}catch (e){
console.log(e);
}
}
</script>
<script id="hideTpl" type="text/html">
<input name="storageInfoList[{{idx}}].id" type="hidden" value="{{row.id}}"/>
<input name="storageInfoList[{{idx}}].delFlag" type="hidden" value="{{row.delFlag}}"/>
<input name="storageInfoList[{{idx}}].goodsInfo.id" type="hidden" value="{{row.goodsInfo.id}}"/>
<input name="storageInfoList[{{idx}}].goodsInfo.name" type="hidden" value="{{row.goodsInfo.name}}"/>
<input name="storageInfoList[{{idx}}].goodsInfo.amount" type="hidden" value="{{row.goodsInfo.amount}}"/>
<input name="storageInfoList[{{idx}}].warehouse.id" type="hidden" value="{{row.warehouse.id}}" readonly class="form-control" />
<input name="storageInfoList[{{idx}}].warehouse.name" type="hidden" value="{{row.warehouse.name}}" readonly class="form-control" />
<input name="storageInfoList[{{idx}}].amount" type="hidden" value="{{row.amount}}" readonly class="form-control" />
<input name="storageInfoList[{{idx}}].qrCode.id" type="hidden" value="{{row.qrCode.id}}" readonly class="form-control" />
<input name="storageInfoList[{{idx}}].name" type="hidden" readonly value="{{row.name}}" class="form-control "/>
<input name="storageInfoList[{{idx}}].type.id" type="hidden" readonly value="{{row.type.id}}" class="form-control "/>
<input name="storageInfoList[{{idx}}].type.name" type="hidden" readonly value="{{row.type.name}}" class="form-control "/>
<input name="storageInfoList[{{idx}}].model" type="hidden" readonly value="{{row.model}}" class="form-control "/>
<input name="storageInfoList[{{idx}}].shelves.id" type="hidden" readonly value="{{row.shelves.id}}" class="form-control "/>
<input name="storageInfoList[{{idx}}].shelves.name" type="hidden" readonly value="{{row.shelves.name}}" class="form-control "/>
<input name="storageInfoList[{{idx}}].remarks" type="hidden" readonly value="{{row.remarks}}" class="form-control "/>
<input name="storageInfoList[{{idx}}].id" type="hidden" value="{{row.id}}"/>
<input name="storageInfoList[{{idx}}].delFlag" type="hidden" value="{{row.delFlag}}"/>
<input name="storageInfoList[{{idx}}].goodsInfo.id" type="hidden" value="{{row.goodsInfo.id}}"/>
<input name="storageInfoList[{{idx}}].goodsInfo.name" type="hidden" value="{{row.goodsInfo.name}}"/>
<input name="storageInfoList[{{idx}}].goodsInfo.amount" type="hidden" value="{{row.goodsInfo.amount}}"/>
<input name="storageInfoList[{{idx}}].warehouse.id" type="hidden" value="{{row.warehouse.id}}" readonly class="form-control" />
<input name="storageInfoList[{{idx}}].warehouse.name" type="hidden" value="{{row.warehouse.name}}" readonly class="form-control" />
<input name="storageInfoList[{{idx}}].amount" type="hidden" value="{{row.amount}}" readonly class="form-control" />
<input name="storageInfoList[{{idx}}].qrCode.id" type="hidden" value="{{row.qrCode.id}}" readonly class="form-control" />
<input name="storageInfoList[{{idx}}].name" type="hidden" readonly value="{{row.name}}" class="form-control "/>
<input name="storageInfoList[{{idx}}].type.id" type="hidden" readonly value="{{row.type.id}}" class="form-control "/>
<input name="storageInfoList[{{idx}}].type.name" type="hidden" readonly value="{{row.type.name}}" class="form-control "/>
<input name="storageInfoList[{{idx}}].model" type="hidden" readonly value="{{row.model}}" class="form-control "/>
<input name="storageInfoList[{{idx}}].shelves.id" type="hidden" readonly value="{{row.shelves.id}}" class="form-control "/>
<input name="storageInfoList[{{idx}}].shelves.name" type="hidden" readonly value="{{row.shelves.name}}" class="form-control "/>
<input name="storageInfoList[{{idx}}].remarks" type="hidden" readonly value="{{row.remarks}}" class="form-control "/>
</script>
<script id="nameTpl" type="text/html">
<input type="text" readonly value="{{row.name}}" class="form-control "/>
<input type="text" readonly value="{{row.name}}" class="form-control "/>
</script>
<script id="typeNameTpl" type="text/html">//<!--
<sys:treeselectNotNameProperty id="storageInfoList{{idx}}_typeName" name="storageInfoList[{{idx}}].type.id" value="{{row.type.id}}" labelName="storageInfoList[{{idx}}].type.name" labelValue="{{row.type.name}}"
title="品名代码" url="/warehouse/materialtype/materialType/treeData" notAllowSelectParent="true" cssClass="form-control required" allowClear="false" allowSearch="true" callback="onSelectType" />//-->
</script>
<script id="typeCodeTpl" type="text/html">
<input id="storageInfoList{{idx}}_typeCode" name="storageInfoList[{{idx}}].type.code" type="text" value="{{row.type.code}}" readonly class="form-control required"/>
</script>
<script id="typeTpl" type="text/html">//<!--
<sys:treeselectNotNameProperty id="storageInfoList{{idx}}_type" name="storageInfoList[{{idx}}].type.id" value="{{row.type.id}}" labelName="storageInfoList{{idx}}.type.name" labelValue="{{row.type.name}}"
title="品名代码" url="/warehouse/materialtype/materialType/treeData" cssClass="form-control " disabled="disabled" allowClear="true" allowSearch="true" callback="onSelectType" />//-->
</script>
<script id="amountTpl" type="text/html">
<input id="storageInfoList{{idx}}_amount" name="storageInfoList[{{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="storageInfoList{{idx}}_unit" name="storageInfoList[{{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">
<input id="storageInfoList{{idx}}_model" type="text" value="{{row.model}}" readonly onchange="onInputChange('{{idx}}', this, 'model')" class="form-control "/>
<input id="storageInfoList{{idx}}_model" type="text" value="{{row.model}}" readonly onchange="onInputChange('{{idx}}', this, 'model')" class="form-control "/>
</script>
<script id="numTpl" type="text/html">
<input id="storageInfoList{{idx}}_num" name="storageInfoList[{{idx}}].num" readonly type="text" value="{{row.num}}" onchange="onInputChange('{{idx}}', this, 'num')" class="form-control required"/>
</script>
<script id="infoSumTpl" type="text/html">
<input id="storageInfoList{{idx}}_infoSum" name="storageInfoList[{{idx}}].infoSum" type="text" value="{{row.infoSum}}" readonly onchange="onInputChange('{{idx}}', this, 'infoSum')" class="form-control required"/>
</script>
<script id="shelvesTpl" type="text/html">//<!--
{{#row.readonly}}
<sys:shelvesselectNotName id="storageInfoList{{idx}}_shelves" name="storageInfoList[{{idx}}].shelves
.id" value="{{row.shelves.id}}" labelName="storageInfoList[{{idx}}].shelves.name" labelValue="{{row.shelves.name
}}"
cssClass="form-control required" iframeUrl="/warehouse/storage/storage/form" disabled="disabled"
></sys:shelvesselectNotName
>
<sys:shelvesselectNotName id="storageInfoList{{idx}}_shelves" name="storageInfoList[{{idx}}].shelves
Ids" value="{{row.shelvesIds}}" labelName="storageInfoList[{{idx}}].shelvesNames" labelValue="{{row.shelvesNames
}}"
cssClass="form-control required" iframeUrl="/warehouse/storage/storage/form" disabled="disabled"
isMultiSelected="true" /
>
{{/row.readonly}}
{{^row.readonly}}
<sys:shelvesselectNotName id="storageInfoList{{idx}}_shelves" name="storageInfoList[{{idx}}].shelves
.id" value="{{row.shelves.id}}" labelName="storageInfoList[{{idx}}].shelves.name" labelValue="{{row.shelves.name
}}"
cssClass="form-control required" iframeUrl="/warehouse/storage/storage/form" callback="onSelectShelves"
></sys:shelvesselectNotName
>//-->
{{/row.readonly}}
<sys:shelvesselectNotName id="storageInfoList{{idx}}_shelves" name="storageInfoList[{{idx}}].shelves
Ids" value="{{row.shelvesIds}}" labelName="storageInfoList[{{idx}}].shelvesNames" labelValue="{{row.shelvesNames
}}"
cssClass="form-control required" iframeUrl="/warehouse/storage/storage/form" callback="onSelectShelves"
isMultiSelected="true" /
>//-->
{{/row.readonly}}
</script>
<script id="remarksTpl" type="text/html">
{{#row.readonly}}
<textarea id="storageInfoList{{idx}}_remarks" rows="2" readonly class="form-control ">{{row.remarks}}</textarea>
{{/row.readonly}}
{{^row.readonly}}
<textarea id="storageInfoList{{idx}}_remarks" rows="2" onchange="onInputChange('{{idx}}', this, 'remarks')" class="form-control ">{{row.remarks}}</textarea>
{{/row.readonly}}
{{#row.readonly}}
<textarea id="storageInfoList{{idx}}_remarks" rows="2" readonly class="form-control ">{{row.remarks}}</textarea>
{{/row.readonly}}
{{^row.readonly}}
<textarea id="storageInfoList{{idx}}_remarks" rows="2" onchange="onInputChange('{{idx}}', this, 'remarks')" class="form-control ">{{row.remarks}}</textarea>
{{/row.readonly}}
</script>
<script id="warehouseTpl" type="text/html">
<input id="storageInfoList{{idx}}_warehouseName" type="text" value="{{row.warehouse.name}}" readonly class="form-control "/>
<input id="storageInfoList{{idx}}_warehouseName" type="text" value="{{row.warehouseNames}}" readonly class="form-control "/>
<input id="storageInfoList{{idx}}_warehouseIds" name="storageInfoList[{{idx}}].warehouseIds" type="hidden" value="{{row.warehouseIds}}" readonly class="form-control "/>
<input type="hidden" id="storageInfoList{{idx}}_shelvesIds" name="storageInfoList[{{idx}}].shelvesIds" value="{{row.shelvesIds}}">
</script>
<script id="scanResultTpl" type="text/html">
<br>
<div class="container-fluid">
<div class="row">
<div class="col-xs-2 text-right">
<label>扫码结果:</label>
</div>
<div class="col-xs-10">
<input type="text" id="scanResult" class="form-control" onchange="onScanChange(this)">
<span class="text-danger">请切换英文输入法</span>
</div>
<br>
<div class="container-fluid">
<div class="row">
<div class="col-xs-2 text-right">
<label>扫码结果:</label>
</div>
<div class="col-xs-10">
<input type="text" id="scanResult" class="form-control" onchange="onScanChange(this)">
<span class="text-danger">请切换英文输入法</span>
</div>
</div>
</div>
</div>
<br>
</script>
\ No newline at end of file
<br>
</script>
src/main/webapp/webpage/modules/warehouse/storage/storageForm.jsp
View file @
eb01a724
...
...
@@ -6,6 +6,7 @@
<meta
name=
"decorator"
content=
"ani"
/>
<link
rel=
"stylesheet"
href=
"${ctxStatic}/common/css/form.css"
>
<link
rel=
"stylesheet"
href=
"${ctxStatic}/plugin/bootstrapTable/bootstrap-table.min.css"
>
<script
type=
"text/javascript"
src=
"${ctxStatic}/common/js/big.js"
></script>
<style>
.statistic-container
{
position
:
relative
;
...
...
@@ -171,4 +172,4 @@
}
</script>
</body>
</html>
\ No newline at end of file
</html>
src/main/webapp/webpage/modules/warehouse/storage/storageList.js
View file @
eb01a724
...
...
@@ -238,21 +238,21 @@ $(document).ready(function() {
$
(
'#storageTable'
).
bootstrapTable
(
'refresh'
);
}
function
add
(){
jp
.
openSaveDialog
(
"新增入库单"
,
"${ctx}/warehouse/storage/storage/form/add"
,
'1
2
00'
,
'800'
);
jp
.
openSaveDialog
(
"新增入库单"
,
"${ctx}/warehouse/storage/storage/form/add"
,
'1
4
00'
,
'800'
);
}
function
edit
(
id
){
if
(
id
==
undefined
){
id
=
getIdSelections
();
}
jp
.
openSaveDialog
(
"编辑入库单"
,
"${ctx}/warehouse/storage/storage/form/edit?id="
+
id
,
'1
2
00'
,
'800'
);
jp
.
openSaveDialog
(
"编辑入库单"
,
"${ctx}/warehouse/storage/storage/form/edit?id="
+
id
,
'1
4
00'
,
'800'
);
}
function
view
(
id
){
//没有权限时,不显示确定按钮
if
(
id
==
undefined
){
id
=
getIdSelections
();
}
jp
.
openViewDialog
(
"查看入库单"
,
"${ctx}/warehouse/storage/storage/form/view?id="
+
id
,
'1
2
00'
,
'800'
);
jp
.
openViewDialog
(
"查看入库单"
,
"${ctx}/warehouse/storage/storage/form/view?id="
+
id
,
'1
4
00'
,
'800'
);
}
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment