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
c27381c3
Commit
c27381c3
authored
Feb 13, 2023
by
胡懿
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
货品,二维码,入库,台账jsp
parent
55f87d07
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
12 changed files
with
1422 additions
and
0 deletions
+1422
-0
goodsForm.jsp
...main/webapp/webpage/modules/warehouse/goods/goodsForm.jsp
+208
-0
goodsList.js
src/main/webapp/webpage/modules/warehouse/goods/goodsList.js
+0
-0
goodsList.jsp
...main/webapp/webpage/modules/warehouse/goods/goodsList.jsp
+122
-0
ledgerForm.jsp
...in/webapp/webpage/modules/warehouse/ledger/ledgerForm.jsp
+226
-0
ledgerList.js
...ain/webapp/webpage/modules/warehouse/ledger/ledgerList.js
+0
-0
ledgerList.jsp
...in/webapp/webpage/modules/warehouse/ledger/ledgerList.jsp
+108
-0
qrCodeForm.jsp
...in/webapp/webpage/modules/warehouse/qrcode/qrCodeForm.jsp
+78
-0
qrCodeList.js
...ain/webapp/webpage/modules/warehouse/qrcode/qrCodeList.js
+253
-0
qrCodeList.jsp
...in/webapp/webpage/modules/warehouse/qrcode/qrCodeList.jsp
+91
-0
storageForm.jsp
.../webapp/webpage/modules/warehouse/storage/storageForm.jsp
+210
-0
storageList.js
...n/webapp/webpage/modules/warehouse/storage/storageList.js
+0
-0
storageList.jsp
.../webapp/webpage/modules/warehouse/storage/storageList.jsp
+126
-0
No files found.
src/main/webapp/webpage/modules/warehouse/goods/goodsForm.jsp
0 → 100644
View file @
c27381c3
<
%@
page
contentType=
"text/html;charset=UTF-8"
%
>
<
%@
include
file=
"/webpage/include/taglib.jsp"
%
>
<html>
<head>
<title>
货品模块管理
</title>
<meta
name=
"decorator"
content=
"ani"
/>
<script
type=
"text/javascript"
>
$
(
document
).
ready
(
function
()
{
jp
.
ajaxForm
(
"#inputForm"
,
function
(
data
){
if
(
data
.
success
){
jp
.
success
(
data
.
msg
);
jp
.
go
(
"${ctx}/warehouse/goods/goods"
);
}
else
{
jp
.
error
(
data
.
msg
);
$
(
"#inputForm"
).
find
(
"button:submit"
).
button
(
"reset"
);
}
});
$
(
'#time'
).
datetimepicker
({
format
:
"YYYY-MM-DD HH:mm:ss"
});
});
function
addRow
(
list
,
idx
,
tpl
,
row
){
$
(
list
).
append
(
Mustache
.
render
(
tpl
,
{
idx
:
idx
,
delBtn
:
true
,
row
:
row
}));
$
(
list
+
idx
).
find
(
"select"
).
each
(
function
(){
$
(
this
).
val
(
$
(
this
).
attr
(
"data-value"
));
});
$
(
list
+
idx
).
find
(
"input[type='checkbox'], input[type='radio']"
).
each
(
function
(){
var
ss
=
$
(
this
).
attr
(
"data-value"
).
split
(
','
);
for
(
var
i
=
0
;
i
<
ss
.
length
;
i
++
){
if
(
$
(
this
).
val
()
==
ss
[
i
]){
$
(
this
).
attr
(
"checked"
,
"checked"
);
}
}
});
$
(
list
+
idx
).
find
(
".form_datetime"
).
each
(
function
(){
$
(
this
).
datetimepicker
({
format
:
"YYYY-MM-DD HH:mm:ss"
});
});
}
function
delRow
(
obj
,
prefix
){
var
id
=
$
(
prefix
+
"_id"
);
var
delFlag
=
$
(
prefix
+
"_delFlag"
);
if
(
id
.
val
()
==
""
){
$
(
obj
).
parent
().
parent
().
remove
();
}
else
if
(
delFlag
.
val
()
==
"0"
){
delFlag
.
val
(
"1"
);
$
(
obj
).
html
(
"÷"
).
attr
(
"title"
,
"撤销删除"
);
$
(
obj
).
parent
().
parent
().
addClass
(
"error"
);
}
else
if
(
delFlag
.
val
()
==
"1"
){
delFlag
.
val
(
"0"
);
$
(
obj
).
html
(
"×"
).
attr
(
"title"
,
"删除"
);
$
(
obj
).
parent
().
parent
().
removeClass
(
"error"
);
}
}
</script>
</head>
<body>
<div
class=
"wrapper wrapper-content"
>
<div
class=
"row"
>
<div
class=
"col-md-12"
>
<div
class=
"panel panel-primary"
>
<div
class=
"panel-heading"
>
<h3
class=
"panel-title"
>
<a
class=
"panelButton"
href=
"${ctx}/warehouse/goods/goods"
><i
class=
"ti-angle-left"
></i>
返回
</a>
</h3>
</div>
<div
class=
"panel-body"
>
<form:form
id=
"inputForm"
modelAttribute=
"goods"
action=
"${ctx}/warehouse/goods/goods/save"
method=
"post"
class=
"form-horizontal"
>
<form:hidden
path=
"id"
/>
<div
class=
"form-group"
>
<label
class=
"col-sm-2 control-label"
><font
color=
"red"
>
*
</font>
批次号:
</label>
<div
class=
"col-sm-10"
>
<form:input
path=
"batchNum"
htmlEscape=
"false"
class=
"form-control required"
/>
</div>
</div>
<div
class=
"form-group"
>
<label
class=
"col-sm-2 control-label"
><font
color=
"red"
>
*
</font>
时间:
</label>
<div
class=
"col-sm-10"
>
<div
class=
'input-group form_datetime'
id=
'time'
>
<input
type=
'text'
name=
"time"
class=
"form-control required"
value=
"<fmt:formatDate value="
${
goods
.
time
}"
pattern=
"yyyy-MM-dd HH:mm:ss"
/>
"/>
<span
class=
"input-group-addon"
>
<span
class=
"glyphicon glyphicon-calendar"
></span>
</span>
</div>
</div>
</div>
<div
class=
"form-group"
>
<label
class=
"col-sm-2 control-label"
>
备注信息:
</label>
<div
class=
"col-sm-10"
>
<form:textarea
path=
"remarks"
htmlEscape=
"false"
rows=
"4"
class=
"form-control "
/>
</div>
</div>
<div
class=
"form-group"
>
<label
class=
"col-sm-2 control-label"
><font
color=
"red"
>
*
</font>
操作人:
</label>
<div
class=
"col-sm-10"
>
<sys:userselect
id=
"operator"
name=
"operator.id"
value=
"${goods.operator.id}"
labelName=
"operator.name"
labelValue=
"${goods.operator.name}"
cssClass=
"form-control required"
/>
</div>
</div>
<div
class=
"tabs-container"
>
<ul
class=
"nav nav-tabs"
>
<li
class=
"active"
><a
data-toggle=
"tab"
href=
"#tab-1"
aria-expanded=
"true"
>
货品明细:
</a>
</li>
</ul>
<div
class=
"tab-content"
>
<div
id=
"tab-1"
class=
"tab-pane fade in active"
>
<a
class=
"btn btn-white btn-sm"
onclick=
"addRow('#goodsInfoList', goodsInfoRowIdx, goodsInfoTpl);goodsInfoRowIdx = goodsInfoRowIdx + 1;"
title=
"新增"
><i
class=
"fa fa-plus"
></i>
新增
</a>
<table
class=
"table table-striped table-bordered table-condensed"
>
<thead>
<tr>
<th
class=
"hide"
></th>
<th>
名称
</th>
<th>
类型
</th>
<th>
型号
</th>
<th>
数量
</th>
<th>
备注信息
</th>
<th>
入库状态
</th>
<th
width=
"10"
>
</th>
</tr>
</thead>
<tbody
id=
"goodsInfoList"
>
</tbody>
</table>
<script
type=
"text/template"
id=
"goodsInfoTpl"
>
//
<!--
<
tr
id
=
"goodsInfoList{{idx}}"
>
<
td
class
=
"hide"
>
<
input
id
=
"goodsInfoList{{idx}}_id"
name
=
"goodsInfoList[{{idx}}].id"
type
=
"hidden"
value
=
"{{row.id}}"
/>
<
input
id
=
"goodsInfoList{{idx}}_delFlag"
name
=
"goodsInfoList[{{idx}}].delFlag"
type
=
"hidden"
value
=
"0"
/>
<
/td
>
<
td
>
<
input
id
=
"goodsInfoList{{idx}}_name"
name
=
"goodsInfoList[{{idx}}].name"
type
=
"text"
value
=
"{{row.name}}"
class
=
"form-control "
/>
<
/td
>
<
td
>
<
sys
:
treeselect
id
=
"goodsInfoList{{idx}}_type"
name
=
"goodsInfoList[{{idx}}].type.id"
value
=
"{{row.type.id}}"
labelName
=
"goodsInfoList{{idx}}.type.code"
labelValue
=
"{{row.type.code}}"
title
=
"类型"
url
=
"/warehouse/materialtype/materialType/treeData"
cssClass
=
"form-control "
allowClear
=
"true"
/>
<
/td
>
<
td
>
<
input
id
=
"goodsInfoList{{idx}}_model"
name
=
"goodsInfoList[{{idx}}].model"
type
=
"text"
value
=
"{{row.model}}"
class
=
"form-control "
/>
<
/td
>
<
td
>
<
input
id
=
"goodsInfoList{{idx}}_num"
name
=
"goodsInfoList[{{idx}}].num"
type
=
"text"
value
=
"{{row.num}}"
class
=
"form-control "
/>
<
/td
>
<
td
>
<
textarea
id
=
"goodsInfoList{{idx}}_remarks"
name
=
"goodsInfoList[{{idx}}].remarks"
rows
=
"4"
class
=
"form-control "
>
{{
row
.
remarks
}}
<
/textarea
>
<
/td
>
<
td
>
<
select
id
=
"goodsInfoList{{idx}}_state"
name
=
"goodsInfoList[{{idx}}].state"
data
-
value
=
"{{row.state}}"
class
=
"form-control m-b "
>
<
option
value
=
""
><
/option
>
<
c
:
forEach
items
=
"${fns:getDictList('wh_stockroom_state')}"
var
=
"dict"
>
<
option
value
=
"${dict.value}"
>
$
{
dict
.
label
}
<
/option
>
<
/c:forEach
>
<
/select
>
<
/td
>
<
td
class
=
"text-center"
width
=
"10"
>
{{
#
delBtn
}}
<
span
class
=
"close"
onclick
=
"delRow(this, '#goodsInfoList{{idx}}')"
title
=
"删除"
>&
times
;
<
/span>{{/
delBtn
}}
<
/td
>
<
/tr>/
/-->
</script>
<script
type=
"text/javascript"
>
var
goodsInfoRowIdx
=
0
,
goodsInfoTpl
=
$
(
"#goodsInfoTpl"
).
html
().
replace
(
/
(\/\/
\<!
\-\-)
|
(\/\/\-\-
>
)
/g
,
""
);
$
(
document
).
ready
(
function
()
{
var
data
=
$
{
fns
:
toJson
(
goods
.
goodsInfoList
)};
for
(
var
i
=
0
;
i
<
data
.
length
;
i
++
){
addRow
(
'#goodsInfoList'
,
goodsInfoRowIdx
,
goodsInfoTpl
,
data
[
i
]);
goodsInfoRowIdx
=
goodsInfoRowIdx
+
1
;
}
});
</script>
</div>
</div>
</div>
<c:if
test=
"${mode == 'add' || mode=='edit'}"
>
<div
class=
"col-lg-3"
></div>
<div
class=
"col-lg-6"
>
<div
class=
"form-group text-center"
>
<div>
<button
class=
"btn btn-primary btn-block btn-lg btn-parsley"
data-loading-text=
"正在提交..."
>
提 交
</button>
</div>
</div>
</div>
</c:if>
</form:form>
</div>
</div>
</div>
</div>
</div>
</body>
</html>
\ No newline at end of file
src/main/webapp/webpage/modules/warehouse/goods/goodsList.js
0 → 100644
View file @
c27381c3
This diff is collapsed.
Click to expand it.
src/main/webapp/webpage/modules/warehouse/goods/goodsList.jsp
0 → 100644
View file @
c27381c3
<
%@
page
contentType=
"text/html;charset=UTF-8"
%
>
<
%@
include
file=
"/webpage/include/taglib.jsp"
%
>
<html>
<head>
<title>
货品模块管理
</title>
<meta
http-equiv=
"Content-type"
content=
"text/html; charset=utf-8"
>
<meta
name=
"decorator"
content=
"ani"
/>
<
%@
include
file=
"/webpage/include/bootstraptable.jsp"
%
>
<
%@
include
file=
"/webpage/include/treeview.jsp"
%
>
<
%@
include
file=
"goodsList.js"
%
>
</head>
<body>
<div
class=
"wrapper wrapper-content"
>
<div
class=
"panel panel-primary"
>
<div
class=
"panel-heading"
>
<h3
class=
"panel-title"
>
货品模块列表
</h3>
</div>
<div
class=
"panel-body"
>
<!-- 搜索 -->
<div
id=
"search-collapse"
class=
"collapse"
>
<div
class=
"accordion-inner"
>
<form:form
id=
"searchForm"
modelAttribute=
"goods"
class=
"form form-horizontal well clearfix"
>
<div
class=
"col-xs-12 col-sm-6 col-md-4"
>
<label
class=
"label-item single-overflow pull-left"
title=
"批次号:"
>
批次号:
</label>
<form:input
path=
"batchNum"
htmlEscape=
"false"
maxlength=
"64"
class=
" form-control"
/>
</div>
<div
class=
"col-xs-12 col-sm-6 col-md-4"
>
<div
class=
"form-group"
>
<label
class=
"label-item single-overflow pull-left"
title=
"时间:"
>
时间:
</label>
<div
class=
"col-xs-12"
>
<div
class=
"col-xs-12 col-sm-5"
>
<div
class=
'input-group date'
id=
'beginTime'
style=
"left: -10px;"
>
<input
type=
'text'
name=
"beginTime"
class=
"form-control"
/>
<span
class=
"input-group-addon"
>
<span
class=
"glyphicon glyphicon-calendar"
></span>
</span>
</div>
</div>
<div
class=
"col-xs-12 col-sm-1"
>
~
</div>
<div
class=
"col-xs-12 col-sm-5"
>
<div
class=
'input-group date'
id=
'endTime'
style=
"left: -10px;"
>
<input
type=
'text'
name=
"endTime"
class=
"form-control"
/>
<span
class=
"input-group-addon"
>
<span
class=
"glyphicon glyphicon-calendar"
></span>
</span>
</div>
</div>
</div>
</div>
</div>
<div
class=
"col-xs-12 col-sm-6 col-md-4"
>
<label
class=
"label-item single-overflow pull-left"
title=
"操作人:"
>
操作人:
</label>
<sys:userselect
id=
"operator"
name=
"operator.id"
value=
"${goods.operator.id}"
labelName=
"operator.name"
labelValue=
"${goods.operator.name}"
cssClass=
"form-control required"
/>
</div>
<div
class=
"col-xs-12 col-sm-6 col-md-4"
>
<div
style=
"margin-top:26px"
>
<a
id=
"search"
class=
"btn btn-primary btn-rounded btn-bordered btn-sm"
><i
class=
"fa fa-search"
></i>
查询
</a>
<a
id=
"reset"
class=
"btn btn-primary btn-rounded btn-bordered btn-sm"
><i
class=
"fa fa-refresh"
></i>
重置
</a>
</div>
</div>
</form:form>
</div>
</div>
<!-- 工具栏 -->
<div
id=
"toolbar"
>
<shiro:hasPermission
name=
"warehouse:goods:goods:add"
>
<button
id=
"add"
class=
"btn btn-primary"
onclick=
"add()"
>
<i
class=
"glyphicon glyphicon-plus"
></i>
新建
</button>
</shiro:hasPermission>
<shiro:hasPermission
name=
"warehouse:goods:goods:edit"
>
<button
id=
"edit"
class=
"btn btn-success"
disabled
onclick=
"edit()"
>
<i
class=
"glyphicon glyphicon-edit"
></i>
修改
</button>
</shiro:hasPermission>
<shiro:hasPermission
name=
"warehouse:goods:goods:del"
>
<button
id=
"remove"
class=
"btn btn-danger"
disabled
onclick=
"deleteAll()"
>
<i
class=
"glyphicon glyphicon-remove"
></i>
删除
</button>
</shiro:hasPermission>
<shiro:hasPermission
name=
"warehouse:goods:goods:import"
>
<button
id=
"btnImport"
class=
"btn btn-info"
><i
class=
"fa fa-folder-open-o"
></i>
导入
</button>
</shiro:hasPermission>
<shiro:hasPermission
name=
"warehouse:goods:goods:export"
>
<button
id=
"export"
class=
"btn btn-warning"
>
<i
class=
"fa fa-file-excel-o"
></i>
导出
</button>
</shiro:hasPermission>
<shiro:hasPermission
name=
"warehouse:goods:goods:view"
>
<button
id=
"view"
class=
"btn btn-default"
disabled
onclick=
"view()"
>
<i
class=
"fa fa-search-plus"
></i>
查看
</button>
</shiro:hasPermission>
</div>
<!-- 表格 -->
<table
id=
"goodsTable"
data-toolbar=
"#toolbar"
></table>
<!-- context menu -->
<ul
id=
"context-menu"
class=
"dropdown-menu"
>
<shiro:hasPermission
name=
"warehouse:goods:goods:view"
>
<li
data-item=
"view"
><a>
查看
</a></li>
</shiro:hasPermission>
<shiro:hasPermission
name=
"warehouse:goods:goods:edit"
>
<li
data-item=
"edit"
><a>
编辑
</a></li>
</shiro:hasPermission>
<shiro:hasPermission
name=
"warehouse:goods:goods:del"
>
<li
data-item=
"delete"
><a>
删除
</a></li>
</shiro:hasPermission>
<li
data-item=
"action1"
><a>
取消
</a></li>
</ul>
</div>
</div>
</div>
</body>
</html>
\ No newline at end of file
src/main/webapp/webpage/modules/warehouse/ledger/ledgerForm.jsp
0 → 100644
View file @
c27381c3
<
%@
page
contentType=
"text/html;charset=UTF-8"
%
>
<
%@
include
file=
"/webpage/include/taglib.jsp"
%
>
<html>
<head>
<title>
台账信息管理
</title>
<meta
name=
"decorator"
content=
"ani"
/>
<script
type=
"text/javascript"
>
$
(
document
).
ready
(
function
()
{
jp
.
ajaxForm
(
"#inputForm"
,
function
(
data
){
if
(
data
.
success
){
jp
.
success
(
data
.
msg
);
jp
.
go
(
"${ctx}/warehouse/ledger/ledger"
);
}
else
{
jp
.
error
(
data
.
msg
);
$
(
"#inputForm"
).
find
(
"button:submit"
).
button
(
"reset"
);
}
});
});
function
addRow
(
list
,
idx
,
tpl
,
row
){
$
(
list
).
append
(
Mustache
.
render
(
tpl
,
{
idx
:
idx
,
delBtn
:
true
,
row
:
row
}));
$
(
list
+
idx
).
find
(
"select"
).
each
(
function
(){
$
(
this
).
val
(
$
(
this
).
attr
(
"data-value"
));
});
$
(
list
+
idx
).
find
(
"input[type='checkbox'], input[type='radio']"
).
each
(
function
(){
var
ss
=
$
(
this
).
attr
(
"data-value"
).
split
(
','
);
for
(
var
i
=
0
;
i
<
ss
.
length
;
i
++
){
if
(
$
(
this
).
val
()
==
ss
[
i
]){
$
(
this
).
attr
(
"checked"
,
"checked"
);
}
}
});
$
(
list
+
idx
).
find
(
".form_datetime"
).
each
(
function
(){
$
(
this
).
datetimepicker
({
format
:
"YYYY-MM-DD HH:mm:ss"
});
});
}
function
delRow
(
obj
,
prefix
){
var
id
=
$
(
prefix
+
"_id"
);
var
delFlag
=
$
(
prefix
+
"_delFlag"
);
if
(
id
.
val
()
==
""
){
$
(
obj
).
parent
().
parent
().
remove
();
}
else
if
(
delFlag
.
val
()
==
"0"
){
delFlag
.
val
(
"1"
);
$
(
obj
).
html
(
"÷"
).
attr
(
"title"
,
"撤销删除"
);
$
(
obj
).
parent
().
parent
().
addClass
(
"error"
);
}
else
if
(
delFlag
.
val
()
==
"1"
){
delFlag
.
val
(
"0"
);
$
(
obj
).
html
(
"×"
).
attr
(
"title"
,
"删除"
);
$
(
obj
).
parent
().
parent
().
removeClass
(
"error"
);
}
}
</script>
</head>
<body>
<div
class=
"wrapper wrapper-content"
>
<div
class=
"row"
>
<div
class=
"col-md-12"
>
<div
class=
"panel panel-primary"
>
<div
class=
"panel-heading"
>
<h3
class=
"panel-title"
>
<a
class=
"panelButton"
href=
"${ctx}/warehouse/ledger/ledger"
><i
class=
"ti-angle-left"
></i>
返回
</a>
</h3>
</div>
<div
class=
"panel-body"
>
<form:form
id=
"inputForm"
modelAttribute=
"ledger"
action=
"${ctx}/warehouse/ledger/ledger/save"
method=
"post"
class=
"form-horizontal"
>
<form:hidden
path=
"id"
/>
<div
class=
"form-group"
>
<label
class=
"col-sm-2 control-label"
>
物资名称:
</label>
<div
class=
"col-sm-10"
>
<form:input
path=
"name"
htmlEscape=
"false"
class=
"form-control "
/>
</div>
</div>
<div
class=
"form-group"
>
<label
class=
"col-sm-2 control-label"
>
类型:
</label>
<div
class=
"col-sm-10"
>
<sys:treeselect
id=
"type"
name=
"type.id"
value=
"${ledger.type.id}"
labelName=
"type.name"
labelValue=
"${ledger.type.name}"
title=
"类型"
url=
"/warehouse/materialtype/materialType/treeData"
extId=
"${ledger.id}"
cssClass=
"form-control "
allowClear=
"true"
/>
</div>
</div>
<div
class=
"form-group"
>
<label
class=
"col-sm-2 control-label"
>
型号:
</label>
<div
class=
"col-sm-10"
>
<form:input
path=
"model"
htmlEscape=
"false"
class=
"form-control "
/>
</div>
</div>
<div
class=
"form-group"
>
<label
class=
"col-sm-2 control-label"
>
货架id集合:
</label>
<div
class=
"col-sm-10"
>
<form:input
path=
"shelvesIds"
htmlEscape=
"false"
class=
"form-control "
/>
</div>
</div>
<div
class=
"form-group"
>
<label
class=
"col-sm-2 control-label"
>
数量:
</label>
<div
class=
"col-sm-10"
>
<form:input
path=
"num"
htmlEscape=
"false"
class=
"form-control "
/>
</div>
</div>
<div
class=
"form-group"
>
<label
class=
"col-sm-2 control-label"
>
备注信息:
</label>
<div
class=
"col-sm-10"
>
<form:textarea
path=
"remarks"
htmlEscape=
"false"
rows=
"4"
class=
"form-control "
/>
</div>
</div>
<div
class=
"tabs-container"
>
<ul
class=
"nav nav-tabs"
>
<li
class=
"active"
><a
data-toggle=
"tab"
href=
"#tab-1"
aria-expanded=
"true"
>
台账明细:
</a>
</li>
</ul>
<div
class=
"tab-content"
>
<div
id=
"tab-1"
class=
"tab-pane fade in active"
>
<a
class=
"btn btn-white btn-sm"
onclick=
"addRow('#ledgerInfoList', ledgerInfoRowIdx, ledgerInfoTpl);ledgerInfoRowIdx = ledgerInfoRowIdx + 1;"
title=
"新增"
><i
class=
"fa fa-plus"
></i>
新增
</a>
<table
class=
"table table-striped table-bordered table-condensed"
>
<thead>
<tr>
<th
class=
"hide"
></th>
<th>
物资名称
</th>
<th>
类型
</th>
<th>
型号
</th>
<th>
批次号
</th>
<th>
货品明细id
</th>
<th>
二维码id
</th>
<th>
货架id
</th>
<th>
物资编码
</th>
<th>
备注信息
</th>
<th
width=
"10"
>
</th>
</tr>
</thead>
<tbody
id=
"ledgerInfoList"
>
</tbody>
</table>
<script
type=
"text/template"
id=
"ledgerInfoTpl"
>
//
<!--
<
tr
id
=
"ledgerInfoList{{idx}}"
>
<
td
class
=
"hide"
>
<
input
id
=
"ledgerInfoList{{idx}}_id"
name
=
"ledgerInfoList[{{idx}}].id"
type
=
"hidden"
value
=
"{{row.id}}"
/>
<
input
id
=
"ledgerInfoList{{idx}}_delFlag"
name
=
"ledgerInfoList[{{idx}}].delFlag"
type
=
"hidden"
value
=
"0"
/>
<
/td
>
<
td
>
<
input
id
=
"ledgerInfoList{{idx}}_name"
name
=
"ledgerInfoList[{{idx}}].name"
type
=
"text"
value
=
"{{row.name}}"
class
=
"form-control "
/>
<
/td
>
<
td
>
<
sys
:
treeselect
id
=
"ledgerInfoList{{idx}}_type"
name
=
"ledgerInfoList[{{idx}}].type.id"
value
=
"{{row.type.id}}"
labelName
=
"ledgerInfoList{{idx}}.type.code"
labelValue
=
"{{row.type.code}}"
title
=
"类型"
url
=
"/warehouse/materialtype/materialType/treeData"
cssClass
=
"form-control "
allowClear
=
"true"
/>
<
/td
>
<
td
>
<
input
id
=
"ledgerInfoList{{idx}}_model"
name
=
"ledgerInfoList[{{idx}}].model"
type
=
"text"
value
=
"{{row.model}}"
class
=
"form-control "
/>
<
/td
>
<
td
>
<
input
id
=
"ledgerInfoList{{idx}}_batchNum"
name
=
"ledgerInfoList[{{idx}}].batchNum"
type
=
"text"
value
=
"{{row.batchNum}}"
class
=
"form-control "
/>
<
/td
>
<
td
>
<
input
id
=
"ledgerInfoList{{idx}}_goodsInfo"
name
=
"ledgerInfoList[{{idx}}].goodsInfo.id"
type
=
"text"
value
=
"{{row.goodsInfo.id}}"
class
=
"form-control "
/>
<
/td
>
<
td
>
<
input
id
=
"ledgerInfoList{{idx}}_qr"
name
=
"ledgerInfoList[{{idx}}].qr.id"
type
=
"text"
value
=
"{{row.qr.id}}"
class
=
"form-control "
/>
<
/td
>
<
td
>
<
sys
:
treeselect
id
=
"ledgerInfoList{{idx}}_shelves"
name
=
"ledgerInfoList[{{idx}}].shelves.id"
value
=
"{{row.shelves.id}}"
labelName
=
"ledgerInfoList{{idx}}.shelves.name"
labelValue
=
"{{row.shelves.name}}"
title
=
"货架id"
url
=
"/warehouse/shelves/shelves/data"
cssClass
=
"form-control "
allowClear
=
"true"
/>
<
/td
>
<
td
>
<
input
id
=
"ledgerInfoList{{idx}}_code"
name
=
"ledgerInfoList[{{idx}}].code"
type
=
"text"
value
=
"{{row.code}}"
class
=
"form-control "
/>
<
/td
>
<
td
>
<
textarea
id
=
"ledgerInfoList{{idx}}_remarks"
name
=
"ledgerInfoList[{{idx}}].remarks"
rows
=
"4"
class
=
"form-control "
>
{{
row
.
remarks
}}
<
/textarea
>
<
/td
>
<
td
class
=
"text-center"
width
=
"10"
>
{{
#
delBtn
}}
<
span
class
=
"close"
onclick
=
"delRow(this, '#ledgerInfoList{{idx}}')"
title
=
"删除"
>&
times
;
<
/span>{{/
delBtn
}}
<
/td
>
<
/tr>/
/-->
</script>
<script
type=
"text/javascript"
>
var
ledgerInfoRowIdx
=
0
,
ledgerInfoTpl
=
$
(
"#ledgerInfoTpl"
).
html
().
replace
(
/
(\/\/
\<!
\-\-)
|
(\/\/\-\-
>
)
/g
,
""
);
$
(
document
).
ready
(
function
()
{
var
data
=
$
{
fns
:
toJson
(
ledger
.
ledgerInfoList
)};
for
(
var
i
=
0
;
i
<
data
.
length
;
i
++
){
addRow
(
'#ledgerInfoList'
,
ledgerInfoRowIdx
,
ledgerInfoTpl
,
data
[
i
]);
ledgerInfoRowIdx
=
ledgerInfoRowIdx
+
1
;
}
});
</script>
</div>
</div>
</div>
<c:if
test=
"${mode == 'add' || mode=='edit'}"
>
<div
class=
"col-lg-3"
></div>
<div
class=
"col-lg-6"
>
<div
class=
"form-group text-center"
>
<div>
<button
class=
"btn btn-primary btn-block btn-lg btn-parsley"
data-loading-text=
"正在提交..."
>
提 交
</button>
</div>
</div>
</div>
</c:if>
</form:form>
</div>
</div>
</div>
</div>
</div>
</body>
</html>
\ No newline at end of file
src/main/webapp/webpage/modules/warehouse/ledger/ledgerList.js
0 → 100644
View file @
c27381c3
This diff is collapsed.
Click to expand it.
src/main/webapp/webpage/modules/warehouse/ledger/ledgerList.jsp
0 → 100644
View file @
c27381c3
<
%@
page
contentType=
"text/html;charset=UTF-8"
%
>
<
%@
include
file=
"/webpage/include/taglib.jsp"
%
>
<html>
<head>
<title>
台账信息管理
</title>
<meta
http-equiv=
"Content-type"
content=
"text/html; charset=utf-8"
>
<meta
name=
"decorator"
content=
"ani"
/>
<
%@
include
file=
"/webpage/include/bootstraptable.jsp"
%
>
<
%@
include
file=
"/webpage/include/treeview.jsp"
%
>
<
%@
include
file=
"ledgerList.js"
%
>
</head>
<body>
<div
class=
"wrapper wrapper-content"
>
<div
class=
"panel panel-primary"
>
<div
class=
"panel-heading"
>
<h3
class=
"panel-title"
>
台账信息列表
</h3>
</div>
<div
class=
"panel-body"
>
<!-- 搜索 -->
<div
id=
"search-collapse"
class=
"collapse"
>
<div
class=
"accordion-inner"
>
<form:form
id=
"searchForm"
modelAttribute=
"ledger"
class=
"form form-horizontal well clearfix"
>
<div
class=
"col-xs-12 col-sm-6 col-md-4"
>
<label
class=
"label-item single-overflow pull-left"
title=
"物资名称:"
>
物资名称:
</label>
<form:input
path=
"name"
htmlEscape=
"false"
maxlength=
"64"
class=
" form-control"
/>
</div>
<div
class=
"col-xs-12 col-sm-6 col-md-4"
>
<label
class=
"label-item single-overflow pull-left"
title=
"类型:"
>
类型:
</label>
<sys:treeselect
id=
"type"
name=
"type.id"
value=
"${ledger.type.id}"
labelName=
"type.name"
labelValue=
"${ledger.type.name}"
title=
"类型"
url=
"/warehouse/materialtype/materialType/treeData"
extId=
"${ledger.id}"
cssClass=
"form-control "
allowClear=
"true"
/>
</div>
<div
class=
"col-xs-12 col-sm-6 col-md-4"
>
<label
class=
"label-item single-overflow pull-left"
title=
"型号:"
>
型号:
</label>
<form:input
path=
"model"
htmlEscape=
"false"
maxlength=
"64"
class=
" form-control"
/>
</div>
<div
class=
"col-xs-12 col-sm-6 col-md-4"
>
<label
class=
"label-item single-overflow pull-left"
title=
"货架id集合:"
>
货架id集合:
</label>
<form:input
path=
"shelvesIds"
htmlEscape=
"false"
maxlength=
"64"
class=
" form-control"
/>
</div>
<div
class=
"col-xs-12 col-sm-6 col-md-4"
>
<label
class=
"label-item single-overflow pull-left"
title=
"数量:"
>
数量:
</label>
<form:input
path=
"num"
htmlEscape=
"false"
class=
" form-control"
/>
</div>
<div
class=
"col-xs-12 col-sm-6 col-md-4"
>
<div
style=
"margin-top:26px"
>
<a
id=
"search"
class=
"btn btn-primary btn-rounded btn-bordered btn-sm"
><i
class=
"fa fa-search"
></i>
查询
</a>
<a
id=
"reset"
class=
"btn btn-primary btn-rounded btn-bordered btn-sm"
><i
class=
"fa fa-refresh"
></i>
重置
</a>
</div>
</div>
</form:form>
</div>
</div>
<!-- 工具栏 -->
<div
id=
"toolbar"
>
<shiro:hasPermission
name=
"warehouse:ledger:ledger:add"
>
<button
id=
"add"
class=
"btn btn-primary"
onclick=
"add()"
>
<i
class=
"glyphicon glyphicon-plus"
></i>
新建
</button>
</shiro:hasPermission>
<shiro:hasPermission
name=
"warehouse:ledger:ledger:edit"
>
<button
id=
"edit"
class=
"btn btn-success"
disabled
onclick=
"edit()"
>
<i
class=
"glyphicon glyphicon-edit"
></i>
修改
</button>
</shiro:hasPermission>
<shiro:hasPermission
name=
"warehouse:ledger:ledger:del"
>
<button
id=
"remove"
class=
"btn btn-danger"
disabled
onclick=
"deleteAll()"
>
<i
class=
"glyphicon glyphicon-remove"
></i>
删除
</button>
</shiro:hasPermission>
<shiro:hasPermission
name=
"warehouse:ledger:ledger:import"
>
<button
id=
"btnImport"
class=
"btn btn-info"
><i
class=
"fa fa-folder-open-o"
></i>
导入
</button>
</shiro:hasPermission>
<shiro:hasPermission
name=
"warehouse:ledger:ledger:export"
>
<button
id=
"export"
class=
"btn btn-warning"
>
<i
class=
"fa fa-file-excel-o"
></i>
导出
</button>
</shiro:hasPermission>
<shiro:hasPermission
name=
"warehouse:ledger:ledger:view"
>
<button
id=
"view"
class=
"btn btn-default"
disabled
onclick=
"view()"
>
<i
class=
"fa fa-search-plus"
></i>
查看
</button>
</shiro:hasPermission>
</div>
<!-- 表格 -->
<table
id=
"ledgerTable"
data-toolbar=
"#toolbar"
></table>
<!-- context menu -->
<ul
id=
"context-menu"
class=
"dropdown-menu"
>
<shiro:hasPermission
name=
"warehouse:ledger:ledger:view"
>
<li
data-item=
"view"
><a>
查看
</a></li>
</shiro:hasPermission>
<shiro:hasPermission
name=
"warehouse:ledger:ledger:edit"
>
<li
data-item=
"edit"
><a>
编辑
</a></li>
</shiro:hasPermission>
<shiro:hasPermission
name=
"warehouse:ledger:ledger:del"
>
<li
data-item=
"delete"
><a>
删除
</a></li>
</shiro:hasPermission>
<li
data-item=
"action1"
><a>
取消
</a></li>
</ul>
</div>
</div>
</div>
</body>
</html>
\ No newline at end of file
src/main/webapp/webpage/modules/warehouse/qrcode/qrCodeForm.jsp
0 → 100644
View file @
c27381c3
<
%@
page
contentType=
"text/html;charset=UTF-8"
%
>
<
%@
include
file=
"/webpage/include/taglib.jsp"
%
>
<html>
<head>
<title>
二维码管理
</title>
<meta
name=
"decorator"
content=
"ani"
/>
<script
type=
"text/javascript"
>
$
(
document
).
ready
(
function
()
{
jp
.
ajaxForm
(
"#inputForm"
,
function
(
data
){
if
(
data
.
success
){
jp
.
success
(
data
.
msg
);
jp
.
go
(
"${ctx}/warehouse/qrcode/qrCode"
);
}
else
{
jp
.
error
(
data
.
msg
);
$
(
"#inputForm"
).
find
(
"button:submit"
).
button
(
"reset"
);
}
});
});
</script>
</head>
<body>
<div
class=
"wrapper wrapper-content"
>
<div
class=
"row"
>
<div
class=
"col-md-12"
>
<div
class=
"panel panel-primary"
>
<div
class=
"panel-heading"
>
<h3
class=
"panel-title"
>
<a
class=
"panelButton"
href=
"${ctx}/warehouse/qrcode/qrCode"
><i
class=
"ti-angle-left"
></i>
返回
</a>
</h3>
</div>
<div
class=
"panel-body"
>
<form:form
id=
"inputForm"
modelAttribute=
"qrCode"
action=
"${ctx}/warehouse/qrcode/qrCode/save"
method=
"post"
class=
"form-horizontal"
>
<form:hidden
path=
"id"
/>
<div
class=
"form-group"
>
<label
class=
"col-sm-2 control-label"
>
货品明细外键:
</label>
<div
class=
"col-sm-10"
>
<form:input
path=
"goodsInfo.id"
htmlEscape=
"false"
class=
"form-control "
/>
</div>
</div>
<div
class=
"form-group"
>
<label
class=
"col-sm-2 control-label"
>
物资编码:
</label>
<div
class=
"col-sm-10"
>
<form:input
path=
"code"
htmlEscape=
"false"
class=
"form-control "
/>
</div>
</div>
<div
class=
"form-group"
>
<label
class=
"col-sm-2 control-label"
>
二维码存储路径:
</label>
<div
class=
"col-sm-10"
>
<form:input
path=
"url"
htmlEscape=
"false"
class=
"form-control "
/>
</div>
</div>
<div
class=
"form-group"
>
<label
class=
"col-sm-2 control-label"
>
备注信息:
</label>
<div
class=
"col-sm-10"
>
<form:textarea
path=
"remarks"
htmlEscape=
"false"
rows=
"4"
class=
"form-control "
/>
</div>
</div>
<c:if
test=
"${mode == 'add' || mode=='edit'}"
>
<div
class=
"col-lg-3"
></div>
<div
class=
"col-lg-6"
>
<div
class=
"form-group text-center"
>
<div>
<button
class=
"btn btn-primary btn-block btn-lg btn-parsley"
data-loading-text=
"正在提交..."
>
提 交
</button>
</div>
</div>
</div>
</c:if>
</form:form>
</div>
</div>
</div>
</div>
</div>
</body>
</html>
\ No newline at end of file
src/main/webapp/webpage/modules/warehouse/qrcode/qrCodeList.js
0 → 100644
View file @
c27381c3
<%
@
page
contentType
=
"text/html;charset=UTF-8"
%>
<
script
>
$
(
document
).
ready
(
function
()
{
$
(
'#qrCodeTable'
).
bootstrapTable
({
//请求方法
method
:
'post'
,
//类型json
dataType
:
"json"
,
contentType
:
"application/x-www-form-urlencoded"
,
//显示检索按钮
showSearch
:
true
,
//显示刷新按钮
showRefresh
:
true
,
//显示切换手机试图按钮
showToggle
:
true
,
//显示 内容列下拉框
showColumns
:
true
,
//显示到处按钮
showExport
:
true
,
//显示切换分页按钮
showPaginationSwitch
:
true
,
//最低显示2行
minimumCountColumns
:
2
,
//是否显示行间隔色
striped
:
true
,
//是否使用缓存,默认为true,所以一般情况下需要设置一下这个属性(*)
cache
:
false
,
//是否显示分页(*)
pagination
:
true
,
//排序方式
sortOrder
:
"asc"
,
//初始化加载第一页,默认第一页
pageNumber
:
1
,
//每页的记录行数(*)
pageSize
:
10
,
//可供选择的每页的行数(*)
pageList
:
[
10
,
25
,
50
,
100
],
//这个接口需要处理bootstrap table传递的固定参数,并返回特定格式的json数据
url
:
"${ctx}/warehouse/qrcode/qrCode/data"
,
//默认值为 'limit',传给服务端的参数为:limit, offset, search, sort, order Else
//queryParamsType:'',
////查询参数,每次调用是会带上这个参数,可自定义
queryParams
:
function
(
params
)
{
var
searchParam
=
$
(
"#searchForm"
).
serializeJSON
();
searchParam
.
pageNo
=
params
.
limit
===
undefined
?
"1"
:
params
.
offset
/
params
.
limit
+
1
;
searchParam
.
pageSize
=
params
.
limit
===
undefined
?
-
1
:
params
.
limit
;
searchParam
.
orderBy
=
params
.
sort
===
undefined
?
""
:
params
.
sort
+
" "
+
params
.
order
;
return
searchParam
;
},
//分页方式:client客户端分页,server服务端分页(*)
sidePagination
:
"server"
,
contextMenuTrigger
:
"right"
,
//pc端 按右键弹出菜单
contextMenuTriggerMobile
:
"press"
,
//手机端 弹出菜单,click:单击, press:长按。
contextMenu
:
'#context-menu'
,
onContextMenuItem
:
function
(
row
,
$el
){
if
(
$el
.
data
(
"item"
)
==
"edit"
){
edit
(
row
.
id
);
}
else
if
(
$el
.
data
(
"item"
)
==
"view"
){
view
(
row
.
id
);
}
else
if
(
$el
.
data
(
"item"
)
==
"delete"
){
jp
.
confirm
(
'确认要删除该二维码记录吗?'
,
function
(){
jp
.
loading
();
jp
.
get
(
"${ctx}/warehouse/qrcode/qrCode/delete?id="
+
row
.
id
,
function
(
data
){
if
(
data
.
success
){
$
(
'#qrCodeTable'
).
bootstrapTable
(
'refresh'
);
jp
.
success
(
data
.
msg
);
}
else
{
jp
.
error
(
data
.
msg
);
}
})
});
}
},
onClickRow
:
function
(
row
,
$el
){
},
onShowSearch
:
function
()
{
$
(
"#search-collapse"
).
slideToggle
();
},
columns
:
[{
checkbox
:
true
}
,{
field
:
'goodsInfo.id'
,
title
:
'货品明细外键'
,
sortable
:
true
,
sortName
:
'goodsInfo.id'
,
formatter
:
function
(
value
,
row
,
index
){
value
=
jp
.
unescapeHTML
(
value
);
<
c
:
choose
>
<
c
:
when
test
=
"${fns:hasPermission('warehouse:qrcode:qrCode:edit')}"
>
return
"<a href='javascript:edit(
\"
"
+
row
.
id
+
"
\"
)'>"
+
value
+
"</a>"
;
<
/c:when
>
<
c
:
when
test
=
"${fns:hasPermission('warehouse:qrcode:qrCode:view')}"
>
return
"<a href='javascript:view(
\"
"
+
row
.
id
+
"
\"
)'>"
+
value
+
"</a>"
;
<
/c:when
>
<
c
:
otherwise
>
return
value
;
<
/c:otherwise
>
<
/c:choose
>
}
}
,{
field
:
'code'
,
title
:
'物资编码'
,
sortable
:
true
,
sortName
:
'code'
}
,{
field
:
'url'
,
title
:
'二维码存储路径'
,
sortable
:
true
,
sortName
:
'url'
}
,{
field
:
'remarks'
,
title
:
'备注信息'
,
sortable
:
true
,
sortName
:
'remarks'
}
]
});
if
(
navigator
.
userAgent
.
match
(
/
(
iPhone|iPod|Android|ios
)
/i
)){
//如果是移动端
$
(
'#qrCodeTable'
).
bootstrapTable
(
"toggleView"
);
}
$
(
'#qrCodeTable'
).
on
(
'check.bs.table uncheck.bs.table load-success.bs.table '
+
'check-all.bs.table uncheck-all.bs.table'
,
function
()
{
$
(
'#remove'
).
prop
(
'disabled'
,
!
$
(
'#qrCodeTable'
).
bootstrapTable
(
'getSelections'
).
length
);
$
(
'#view,#edit'
).
prop
(
'disabled'
,
$
(
'#qrCodeTable'
).
bootstrapTable
(
'getSelections'
).
length
!=
1
);
});
$
(
"#btnImport"
).
click
(
function
(){
jp
.
open
({
type
:
2
,
area
:
[
500
,
200
],
auto
:
true
,
title
:
"导入数据"
,
content
:
"${ctx}/tag/importExcel"
,
btn
:
[
'下载模板'
,
'确定'
,
'关闭'
],
btn1
:
function
(
index
,
layero
){
jp
.
downloadFile
(
'${ctx}/warehouse/qrcode/qrCode/import/template'
);
},
btn2
:
function
(
index
,
layero
){
var
iframeWin
=
layero
.
find
(
'iframe'
)[
0
];
//得到iframe页的窗口对象,执行iframe页的方法:iframeWin.method();
iframeWin
.
contentWindow
.
importExcel
(
'${ctx}/warehouse/qrcode/qrCode/import'
,
function
(
data
)
{
if
(
data
.
success
){
jp
.
success
(
data
.
msg
);
refresh
();
}
else
{
jp
.
error
(
data
.
msg
);
}
jp
.
close
(
index
);
});
//调用保存事件
return
false
;
},
btn3
:
function
(
index
){
jp
.
close
(
index
);
}
});
});
$
(
"#export"
).
click
(
function
(){
//导出Excel文件
var
searchParam
=
$
(
"#searchForm"
).
serializeJSON
();
searchParam
.
pageNo
=
1
;
searchParam
.
pageSize
=
-
1
;
var
sortName
=
$
(
'#qrCodeTable'
).
bootstrapTable
(
"getOptions"
,
"none"
).
sortName
;
var
sortOrder
=
$
(
'#qrCodeTable'
).
bootstrapTable
(
"getOptions"
,
"none"
).
sortOrder
;
var
values
=
""
;
for
(
var
key
in
searchParam
){
values
=
values
+
key
+
"="
+
searchParam
[
key
]
+
"&"
;
}
if
(
sortName
!=
undefined
&&
sortOrder
!=
undefined
){
values
=
values
+
"orderBy="
+
sortName
+
" "
+
sortOrder
;
}
jp
.
downloadFile
(
'${ctx}/warehouse/qrcode/qrCode/export?'
+
values
);
})
$
(
"#search"
).
click
(
"click"
,
function
()
{
// 绑定查询按扭
$
(
'#qrCodeTable'
).
bootstrapTable
(
'refresh'
);
});
$
(
"#reset"
).
click
(
"click"
,
function
()
{
// 绑定查询按扭
$
(
"#searchForm input"
).
val
(
""
);
$
(
"#searchForm select"
).
val
(
""
);
$
(
"#searchForm .select-item"
).
html
(
""
);
$
(
'#qrCodeTable'
).
bootstrapTable
(
'refresh'
);
});
});
function
getIdSelections
()
{
return
$
.
map
(
$
(
"#qrCodeTable"
).
bootstrapTable
(
'getSelections'
),
function
(
row
)
{
return
row
.
id
});
}
function
deleteAll
(){
jp
.
confirm
(
'确认要删除该二维码记录吗?'
,
function
(){
jp
.
loading
();
jp
.
get
(
"${ctx}/warehouse/qrcode/qrCode/deleteAll?ids="
+
getIdSelections
(),
function
(
data
){
if
(
data
.
success
){
$
(
'#qrCodeTable'
).
bootstrapTable
(
'refresh'
);
jp
.
success
(
data
.
msg
);
}
else
{
jp
.
error
(
data
.
msg
);
}
})
})
}
function
refresh
(){
$
(
'#qrCodeTable'
).
bootstrapTable
(
'refresh'
);
}
function
add
(){
jp
.
go
(
"${ctx}/warehouse/qrcode/qrCode/form/add"
);
}
function
edit
(
id
){
if
(
id
==
undefined
){
id
=
getIdSelections
();
}
jp
.
go
(
"${ctx}/warehouse/qrcode/qrCode/form/edit?id="
+
id
);
}
function
view
(
id
)
{
if
(
id
==
undefined
){
id
=
getIdSelections
();
}
jp
.
go
(
"${ctx}/warehouse/qrcode/qrCode/form/view?id="
+
id
);
}
<
/script>
\ No newline at end of file
src/main/webapp/webpage/modules/warehouse/qrcode/qrCodeList.jsp
0 → 100644
View file @
c27381c3
<
%@
page
contentType=
"text/html;charset=UTF-8"
%
>
<
%@
include
file=
"/webpage/include/taglib.jsp"
%
>
<html>
<head>
<title>
二维码管理
</title>
<meta
http-equiv=
"Content-type"
content=
"text/html; charset=utf-8"
>
<meta
name=
"decorator"
content=
"ani"
/>
<
%@
include
file=
"/webpage/include/bootstraptable.jsp"
%
>
<
%@
include
file=
"/webpage/include/treeview.jsp"
%
>
<
%@
include
file=
"qrCodeList.js"
%
>
</head>
<body>
<div
class=
"wrapper wrapper-content"
>
<div
class=
"panel panel-primary"
>
<div
class=
"panel-heading"
>
<h3
class=
"panel-title"
>
二维码列表
</h3>
</div>
<div
class=
"panel-body"
>
<!-- 搜索 -->
<div
id=
"search-collapse"
class=
"collapse"
>
<div
class=
"accordion-inner"
>
<form:form
id=
"searchForm"
modelAttribute=
"qrCode"
class=
"form form-horizontal well clearfix"
>
<div
class=
"col-xs-12 col-sm-6 col-md-4"
>
<label
class=
"label-item single-overflow pull-left"
title=
"物资编码:"
>
物资编码:
</label>
<form:input
path=
"code"
htmlEscape=
"false"
maxlength=
"64"
class=
" form-control"
/>
</div>
<div
class=
"col-xs-12 col-sm-6 col-md-4"
>
<div
style=
"margin-top:26px"
>
<a
id=
"search"
class=
"btn btn-primary btn-rounded btn-bordered btn-sm"
><i
class=
"fa fa-search"
></i>
查询
</a>
<a
id=
"reset"
class=
"btn btn-primary btn-rounded btn-bordered btn-sm"
><i
class=
"fa fa-refresh"
></i>
重置
</a>
</div>
</div>
</form:form>
</div>
</div>
<!-- 工具栏 -->
<div
id=
"toolbar"
>
<shiro:hasPermission
name=
"warehouse:qrcode:qrCode:add"
>
<button
id=
"add"
class=
"btn btn-primary"
onclick=
"add()"
>
<i
class=
"glyphicon glyphicon-plus"
></i>
新建
</button>
</shiro:hasPermission>
<shiro:hasPermission
name=
"warehouse:qrcode:qrCode:edit"
>
<button
id=
"edit"
class=
"btn btn-success"
disabled
onclick=
"edit()"
>
<i
class=
"glyphicon glyphicon-edit"
></i>
修改
</button>
</shiro:hasPermission>
<shiro:hasPermission
name=
"warehouse:qrcode:qrCode:del"
>
<button
id=
"remove"
class=
"btn btn-danger"
disabled
onclick=
"deleteAll()"
>
<i
class=
"glyphicon glyphicon-remove"
></i>
删除
</button>
</shiro:hasPermission>
<shiro:hasPermission
name=
"warehouse:qrcode:qrCode:import"
>
<button
id=
"btnImport"
class=
"btn btn-info"
><i
class=
"fa fa-folder-open-o"
></i>
导入
</button>
</shiro:hasPermission>
<shiro:hasPermission
name=
"warehouse:qrcode:qrCode:export"
>
<button
id=
"export"
class=
"btn btn-warning"
>
<i
class=
"fa fa-file-excel-o"
></i>
导出
</button>
</shiro:hasPermission>
<shiro:hasPermission
name=
"warehouse:qrcode:qrCode:view"
>
<button
id=
"view"
class=
"btn btn-default"
disabled
onclick=
"view()"
>
<i
class=
"fa fa-search-plus"
></i>
查看
</button>
</shiro:hasPermission>
</div>
<!-- 表格 -->
<table
id=
"qrCodeTable"
data-toolbar=
"#toolbar"
></table>
<!-- context menu -->
<ul
id=
"context-menu"
class=
"dropdown-menu"
>
<shiro:hasPermission
name=
"warehouse:qrcode:qrCode:view"
>
<li
data-item=
"view"
><a>
查看
</a></li>
</shiro:hasPermission>
<shiro:hasPermission
name=
"warehouse:qrcode:qrCode:edit"
>
<li
data-item=
"edit"
><a>
编辑
</a></li>
</shiro:hasPermission>
<shiro:hasPermission
name=
"warehouse:qrcode:qrCode:del"
>
<li
data-item=
"delete"
><a>
删除
</a></li>
</shiro:hasPermission>
<li
data-item=
"action1"
><a>
取消
</a></li>
</ul>
</div>
</div>
</div>
</body>
</html>
\ No newline at end of file
src/main/webapp/webpage/modules/warehouse/storage/storageForm.jsp
0 → 100644
View file @
c27381c3
<
%@
page
contentType=
"text/html;charset=UTF-8"
%
>
<
%@
include
file=
"/webpage/include/taglib.jsp"
%
>
<html>
<head>
<title>
入库信息管理
</title>
<meta
name=
"decorator"
content=
"ani"
/>
<script
type=
"text/javascript"
>
$
(
document
).
ready
(
function
()
{
jp
.
ajaxForm
(
"#inputForm"
,
function
(
data
){
if
(
data
.
success
){
jp
.
success
(
data
.
msg
);
jp
.
go
(
"${ctx}/warehouse/storage/storage"
);
}
else
{
jp
.
error
(
data
.
msg
);
$
(
"#inputForm"
).
find
(
"button:submit"
).
button
(
"reset"
);
}
});
$
(
'#time'
).
datetimepicker
({
format
:
"YYYY-MM-DD HH:mm:ss"
});
});
function
addRow
(
list
,
idx
,
tpl
,
row
){
$
(
list
).
append
(
Mustache
.
render
(
tpl
,
{
idx
:
idx
,
delBtn
:
true
,
row
:
row
}));
$
(
list
+
idx
).
find
(
"select"
).
each
(
function
(){
$
(
this
).
val
(
$
(
this
).
attr
(
"data-value"
));
});
$
(
list
+
idx
).
find
(
"input[type='checkbox'], input[type='radio']"
).
each
(
function
(){
var
ss
=
$
(
this
).
attr
(
"data-value"
).
split
(
','
);
for
(
var
i
=
0
;
i
<
ss
.
length
;
i
++
){
if
(
$
(
this
).
val
()
==
ss
[
i
]){
$
(
this
).
attr
(
"checked"
,
"checked"
);
}
}
});
$
(
list
+
idx
).
find
(
".form_datetime"
).
each
(
function
(){
$
(
this
).
datetimepicker
({
format
:
"YYYY-MM-DD HH:mm:ss"
});
});
}
function
delRow
(
obj
,
prefix
){
var
id
=
$
(
prefix
+
"_id"
);
var
delFlag
=
$
(
prefix
+
"_delFlag"
);
if
(
id
.
val
()
==
""
){
$
(
obj
).
parent
().
parent
().
remove
();
}
else
if
(
delFlag
.
val
()
==
"0"
){
delFlag
.
val
(
"1"
);
$
(
obj
).
html
(
"÷"
).
attr
(
"title"
,
"撤销删除"
);
$
(
obj
).
parent
().
parent
().
addClass
(
"error"
);
}
else
if
(
delFlag
.
val
()
==
"1"
){
delFlag
.
val
(
"0"
);
$
(
obj
).
html
(
"×"
).
attr
(
"title"
,
"删除"
);
$
(
obj
).
parent
().
parent
().
removeClass
(
"error"
);
}
}
</script>
</head>
<body>
<div
class=
"wrapper wrapper-content"
>
<div
class=
"row"
>
<div
class=
"col-md-12"
>
<div
class=
"panel panel-primary"
>
<div
class=
"panel-heading"
>
<h3
class=
"panel-title"
>
<a
class=
"panelButton"
href=
"${ctx}/warehouse/storage/storage"
><i
class=
"ti-angle-left"
></i>
返回
</a>
</h3>
</div>
<div
class=
"panel-body"
>
<form:form
id=
"inputForm"
modelAttribute=
"storage"
action=
"${ctx}/warehouse/storage/storage/save"
method=
"post"
class=
"form-horizontal"
>
<form:hidden
path=
"id"
/>
<div
class=
"form-group"
>
<label
class=
"col-sm-2 control-label"
>
入库单:
</label>
<div
class=
"col-sm-10"
>
<form:input
path=
"code"
htmlEscape=
"false"
class=
"form-control "
/>
</div>
</div>
<div
class=
"form-group"
>
<label
class=
"col-sm-2 control-label"
>
操作人:
</label>
<div
class=
"col-sm-10"
>
<sys:userselect
id=
"operator"
name=
"operator.id"
value=
"${storage.operator.id}"
labelName=
"operator.name"
labelValue=
"${storage.operator.name}"
cssClass=
"form-control "
/>
</div>
</div>
<div
class=
"form-group"
>
<label
class=
"col-sm-2 control-label"
>
时间:
</label>
<div
class=
"col-sm-10"
>
<div
class=
'input-group form_datetime'
id=
'time'
>
<input
type=
'text'
name=
"time"
class=
"form-control "
value=
"<fmt:formatDate value="
${
storage
.
time
}"
pattern=
"yyyy-MM-dd HH:mm:ss"
/>
"/>
<span
class=
"input-group-addon"
>
<span
class=
"glyphicon glyphicon-calendar"
></span>
</span>
</div>
</div>
</div>
<div
class=
"form-group"
>
<label
class=
"col-sm-2 control-label"
>
批次号:
</label>
<div
class=
"col-sm-10"
>
<form:input
path=
"batchNum"
htmlEscape=
"false"
class=
"form-control "
/>
</div>
</div>
<div
class=
"form-group"
>
<label
class=
"col-sm-2 control-label"
>
备注信息:
</label>
<div
class=
"col-sm-10"
>
<form:textarea
path=
"remarks"
htmlEscape=
"false"
rows=
"4"
class=
"form-control "
/>
</div>
</div>
<div
class=
"tabs-container"
>
<ul
class=
"nav nav-tabs"
>
<li
class=
"active"
><a
data-toggle=
"tab"
href=
"#tab-1"
aria-expanded=
"true"
>
入库明细:
</a>
</li>
</ul>
<div
class=
"tab-content"
>
<div
id=
"tab-1"
class=
"tab-pane fade in active"
>
<a
class=
"btn btn-white btn-sm"
onclick=
"addRow('#storageInfoList', storageInfoRowIdx, storageInfoTpl);storageInfoRowIdx = storageInfoRowIdx + 1;"
title=
"新增"
><i
class=
"fa fa-plus"
></i>
新增
</a>
<table
class=
"table table-striped table-bordered table-condensed"
>
<thead>
<tr>
<th
class=
"hide"
></th>
<th>
名称
</th>
<th>
类型
</th>
<th>
型号
</th>
<th>
货品明细id
</th>
<th>
货架id
</th>
<th>
备注信息
</th>
<th
width=
"10"
>
</th>
</tr>
</thead>
<tbody
id=
"storageInfoList"
>
</tbody>
</table>
<script
type=
"text/template"
id=
"storageInfoTpl"
>
//
<!--
<
tr
id
=
"storageInfoList{{idx}}"
>
<
td
class
=
"hide"
>
<
input
id
=
"storageInfoList{{idx}}_id"
name
=
"storageInfoList[{{idx}}].id"
type
=
"hidden"
value
=
"{{row.id}}"
/>
<
input
id
=
"storageInfoList{{idx}}_delFlag"
name
=
"storageInfoList[{{idx}}].delFlag"
type
=
"hidden"
value
=
"0"
/>
<
/td
>
<
td
>
<
input
id
=
"storageInfoList{{idx}}_name"
name
=
"storageInfoList[{{idx}}].name"
type
=
"text"
value
=
"{{row.name}}"
class
=
"form-control "
/>
<
/td
>
<
td
>
<
sys
:
treeselect
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 "
allowClear
=
"true"
/>
<
/td
>
<
td
>
<
input
id
=
"storageInfoList{{idx}}_model"
name
=
"storageInfoList[{{idx}}].model"
type
=
"text"
value
=
"{{row.model}}"
class
=
"form-control "
/>
<
/td
>
<
td
>
<
input
id
=
"storageInfoList{{idx}}_goodsInfo"
name
=
"storageInfoList[{{idx}}].goodsInfo.id"
type
=
"text"
value
=
"{{row.goodsInfo.id}}"
class
=
"form-control "
/>
<
/td
>
<
td
>
<
sys
:
treeselect
id
=
"storageInfoList{{idx}}_shelves"
name
=
"storageInfoList[{{idx}}].shelves.id"
value
=
"{{row.shelves.id}}"
labelName
=
"storageInfoList{{idx}}.shelves.name"
labelValue
=
"{{row.shelves.name}}"
title
=
"货架id"
url
=
"/warehouse/shelves/shelves/data"
cssClass
=
"form-control "
allowClear
=
"true"
/>
<
/td
>
<
td
>
<
textarea
id
=
"storageInfoList{{idx}}_remarks"
name
=
"storageInfoList[{{idx}}].remarks"
rows
=
"4"
class
=
"form-control "
>
{{
row
.
remarks
}}
<
/textarea
>
<
/td
>
<
td
class
=
"text-center"
width
=
"10"
>
{{
#
delBtn
}}
<
span
class
=
"close"
onclick
=
"delRow(this, '#storageInfoList{{idx}}')"
title
=
"删除"
>&
times
;
<
/span>{{/
delBtn
}}
<
/td
>
<
/tr>/
/-->
</script>
<script
type=
"text/javascript"
>
var
storageInfoRowIdx
=
0
,
storageInfoTpl
=
$
(
"#storageInfoTpl"
).
html
().
replace
(
/
(\/\/
\<!
\-\-)
|
(\/\/\-\-
>
)
/g
,
""
);
$
(
document
).
ready
(
function
()
{
var
data
=
$
{
fns
:
toJson
(
storage
.
storageInfoList
)};
for
(
var
i
=
0
;
i
<
data
.
length
;
i
++
){
addRow
(
'#storageInfoList'
,
storageInfoRowIdx
,
storageInfoTpl
,
data
[
i
]);
storageInfoRowIdx
=
storageInfoRowIdx
+
1
;
}
});
</script>
</div>
</div>
</div>
<c:if
test=
"${mode == 'add' || mode=='edit'}"
>
<div
class=
"col-lg-3"
></div>
<div
class=
"col-lg-6"
>
<div
class=
"form-group text-center"
>
<div>
<button
class=
"btn btn-primary btn-block btn-lg btn-parsley"
data-loading-text=
"正在提交..."
>
提 交
</button>
</div>
</div>
</div>
</c:if>
</form:form>
</div>
</div>
</div>
</div>
</div>
</body>
</html>
\ No newline at end of file
src/main/webapp/webpage/modules/warehouse/storage/storageList.js
0 → 100644
View file @
c27381c3
This diff is collapsed.
Click to expand it.
src/main/webapp/webpage/modules/warehouse/storage/storageList.jsp
0 → 100644
View file @
c27381c3
<
%@
page
contentType=
"text/html;charset=UTF-8"
%
>
<
%@
include
file=
"/webpage/include/taglib.jsp"
%
>
<html>
<head>
<title>
入库信息管理
</title>
<meta
http-equiv=
"Content-type"
content=
"text/html; charset=utf-8"
>
<meta
name=
"decorator"
content=
"ani"
/>
<
%@
include
file=
"/webpage/include/bootstraptable.jsp"
%
>
<
%@
include
file=
"/webpage/include/treeview.jsp"
%
>
<
%@
include
file=
"storageList.js"
%
>
</head>
<body>
<div
class=
"wrapper wrapper-content"
>
<div
class=
"panel panel-primary"
>
<div
class=
"panel-heading"
>
<h3
class=
"panel-title"
>
入库信息列表
</h3>
</div>
<div
class=
"panel-body"
>
<!-- 搜索 -->
<div
id=
"search-collapse"
class=
"collapse"
>
<div
class=
"accordion-inner"
>
<form:form
id=
"searchForm"
modelAttribute=
"storage"
class=
"form form-horizontal well clearfix"
>
<div
class=
"col-xs-12 col-sm-6 col-md-4"
>
<label
class=
"label-item single-overflow pull-left"
title=
"入库单:"
>
入库单:
</label>
<form:input
path=
"code"
htmlEscape=
"false"
maxlength=
"64"
class=
" form-control"
/>
</div>
<div
class=
"col-xs-12 col-sm-6 col-md-4"
>
<label
class=
"label-item single-overflow pull-left"
title=
"操作人:"
>
操作人:
</label>
<sys:userselect
id=
"operator"
name=
"operator.id"
value=
"${storage.operator.id}"
labelName=
"operator.name"
labelValue=
"${storage.operator.name}"
cssClass=
"form-control "
/>
</div>
<div
class=
"col-xs-12 col-sm-6 col-md-4"
>
<div
class=
"form-group"
>
<label
class=
"label-item single-overflow pull-left"
title=
"时间:"
>
时间:
</label>
<div
class=
"col-xs-12"
>
<div
class=
"col-xs-12 col-sm-5"
>
<div
class=
'input-group date'
id=
'beginTime'
style=
"left: -10px;"
>
<input
type=
'text'
name=
"beginTime"
class=
"form-control"
/>
<span
class=
"input-group-addon"
>
<span
class=
"glyphicon glyphicon-calendar"
></span>
</span>
</div>
</div>
<div
class=
"col-xs-12 col-sm-1"
>
~
</div>
<div
class=
"col-xs-12 col-sm-5"
>
<div
class=
'input-group date'
id=
'endTime'
style=
"left: -10px;"
>
<input
type=
'text'
name=
"endTime"
class=
"form-control"
/>
<span
class=
"input-group-addon"
>
<span
class=
"glyphicon glyphicon-calendar"
></span>
</span>
</div>
</div>
</div>
</div>
</div>
<div
class=
"col-xs-12 col-sm-6 col-md-4"
>
<label
class=
"label-item single-overflow pull-left"
title=
"批次号:"
>
批次号:
</label>
<form:input
path=
"batchNum"
htmlEscape=
"false"
maxlength=
"64"
class=
" form-control"
/>
</div>
<div
class=
"col-xs-12 col-sm-6 col-md-4"
>
<div
style=
"margin-top:26px"
>
<a
id=
"search"
class=
"btn btn-primary btn-rounded btn-bordered btn-sm"
><i
class=
"fa fa-search"
></i>
查询
</a>
<a
id=
"reset"
class=
"btn btn-primary btn-rounded btn-bordered btn-sm"
><i
class=
"fa fa-refresh"
></i>
重置
</a>
</div>
</div>
</form:form>
</div>
</div>
<!-- 工具栏 -->
<div
id=
"toolbar"
>
<shiro:hasPermission
name=
"warehouse:storage:storage:add"
>
<button
id=
"add"
class=
"btn btn-primary"
onclick=
"add()"
>
<i
class=
"glyphicon glyphicon-plus"
></i>
新建
</button>
</shiro:hasPermission>
<shiro:hasPermission
name=
"warehouse:storage:storage:edit"
>
<button
id=
"edit"
class=
"btn btn-success"
disabled
onclick=
"edit()"
>
<i
class=
"glyphicon glyphicon-edit"
></i>
修改
</button>
</shiro:hasPermission>
<shiro:hasPermission
name=
"warehouse:storage:storage:del"
>
<button
id=
"remove"
class=
"btn btn-danger"
disabled
onclick=
"deleteAll()"
>
<i
class=
"glyphicon glyphicon-remove"
></i>
删除
</button>
</shiro:hasPermission>
<shiro:hasPermission
name=
"warehouse:storage:storage:import"
>
<button
id=
"btnImport"
class=
"btn btn-info"
><i
class=
"fa fa-folder-open-o"
></i>
导入
</button>
</shiro:hasPermission>
<shiro:hasPermission
name=
"warehouse:storage:storage:export"
>
<button
id=
"export"
class=
"btn btn-warning"
>
<i
class=
"fa fa-file-excel-o"
></i>
导出
</button>
</shiro:hasPermission>
<shiro:hasPermission
name=
"warehouse:storage:storage:view"
>
<button
id=
"view"
class=
"btn btn-default"
disabled
onclick=
"view()"
>
<i
class=
"fa fa-search-plus"
></i>
查看
</button>
</shiro:hasPermission>
</div>
<!-- 表格 -->
<table
id=
"storageTable"
data-toolbar=
"#toolbar"
></table>
<!-- context menu -->
<ul
id=
"context-menu"
class=
"dropdown-menu"
>
<shiro:hasPermission
name=
"warehouse:storage:storage:view"
>
<li
data-item=
"view"
><a>
查看
</a></li>
</shiro:hasPermission>
<shiro:hasPermission
name=
"warehouse:storage:storage:edit"
>
<li
data-item=
"edit"
><a>
编辑
</a></li>
</shiro:hasPermission>
<shiro:hasPermission
name=
"warehouse:storage:storage:del"
>
<li
data-item=
"delete"
><a>
删除
</a></li>
</shiro:hasPermission>
<li
data-item=
"action1"
><a>
取消
</a></li>
</ul>
</div>
</div>
</div>
</body>
</html>
\ No newline at end of file
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