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
df05c88c
Commit
df05c88c
authored
Jul 19, 2023
by
anxiaohe
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
出库功能
parent
b75fb4fa
Hide whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
874 additions
and
691 deletions
+874
-691
ledgerDetail.jsp
.../webapp/webpage/modules/warehouse/ledger/ledgerDetail.jsp
+75
-25
ledgerForm.jsp
...in/webapp/webpage/modules/warehouse/ledger/ledgerForm.jsp
+9
-5
ledgerList.js
...ain/webapp/webpage/modules/warehouse/ledger/ledgerList.js
+9
-3
materialRequisitionDetail.jsp
...rehouse/materialrequisition/materialRequisitionDetail.jsp
+66
-14
materialRequisitionForm.jsp
...warehouse/materialrequisition/materialRequisitionForm.jsp
+2
-2
materialRequisitionList.js
.../warehouse/materialrequisition/materialRequisitionList.js
+334
-295
outboundList.js
...webapp/webpage/modules/warehouse/outbound/outboundList.js
+33
-5
storageList.js
...n/webapp/webpage/modules/warehouse/storage/storageList.js
+346
-342
No files found.
src/main/webapp/webpage/modules/warehouse/ledger/ledgerDetail.jsp
View file @
df05c88c
...
@@ -27,38 +27,49 @@
...
@@ -27,38 +27,49 @@
},
},
{
{
field: 'type.name',
field: 'type.name',
title: '品名代码',
title: '品名',
align: 'center'
sortable: true,
sortName: 'type.name',
},
},
{
{
field: 'model',
field: 'type.code',
title: '型号',
title: '代码',
align: 'center'
sortable: true,
sortName: 'type.code'
},
{
field: 'code',
title: '入库单'
},
},
{
{
field: 'batchNum',
field: 'batchNum',
title: '批次号',
title: '批次号',
align: 'center'
},
},
{
{
field: 'shelvesNames',
field: 'amount',
title: '货架',
title: '单价'
align: 'center'
},
},
{
{
field: 'warehouseNames',
field: "type.unit",
title: '仓库',
title: '单位'
align: 'center'
},
{
field: 'model',
title: '型号',
sortable: true,
sortName: 'model'
},
},
{
{
field: 'num',
field: 'num',
title: '数量',
title: '数量'
align: 'center'
},
},
{
{
field: 'sum',
field: 'sum',
title: '总价',
title: '总价',
align: 'center'
sortName: 'sum',
formatter (v, row) {
return new Big(row.num).times(row.amount).toNumber()
}
},
},
{
{
title: '操作',
title: '操作',
...
@@ -72,7 +83,7 @@
...
@@ -72,7 +83,7 @@
title: '查看明细',
title: '查看明细',
type: 1,
type: 1,
auto: true,
auto: true,
area: ['
8
00', '600'],
area: ['
10
00', '600'],
content: $("#detailTpl").html(),
content: $("#detailTpl").html(),
success: function (){
success: function (){
$("#table").bootstrapTable({
$("#table").bootstrapTable({
...
@@ -99,12 +110,49 @@
...
@@ -99,12 +110,49 @@
columns: [
columns: [
{checkbox:true},
{checkbox:true},
{field: 'code', title: '物资编码'},
{field: 'code', title: '物资编码'},
{field: 'name', title: '物资名称'},
{
{field: 'type.name', title: '品名代码'},
field: 'type.name',
title: '品名',
},
{
field: 'type.code',
title: '代码',
},
{
field: 'batchNum',
title: '批次号',
},
{
field: 'amount',
title: '单价'
},
{
field: "type.unit",
title: '单位'
},
{
field: 'amount',
title: '单价'
},
{
field: "type.unit",
title: '单位'
},
{field: 'model', title: '型号'},
{field: 'model', title: '型号'},
{field: 'batchNum', title: '批次号'},
{field: 'shelves.name', title: '货架'},
{field: 'shelves.name', title: '货架'},
{field: 'amount', title: '单价'},
// {field: 'amount', title: '单价'},
{
field: 'num',
title: '数量'
},
{
field: 'sum',
title: '总价',
sortName: 'sum',
formatter (v, row) {
return new Big(row.num).times(row.amount).toNumber()
}
},
{
{
field: 'qr.url',
field: 'qr.url',
title: '二维码',
title: '二维码',
...
@@ -135,11 +183,14 @@
...
@@ -135,11 +183,14 @@
}
}
}
}
}
}
]
].map(function (e) {
e.align = 'center';
return e;
})
});
});
jp.get("${ctx}/warehouse/ledger/ledger/
countLedger
?id=${ledger.id}", function (ledger) {
jp.get("${ctx}/warehouse/ledger/ledger/
detail
?id=${ledger.id}", function (ledger) {
var data = ledger.
countL
edgerInfoList || [];
var data = ledger.
l
edgerInfoList || [];
$(selector).bootstrapTable('append', data);
$(selector).bootstrapTable('append', data);
})
})
}
}
...
@@ -234,4 +285,4 @@
...
@@ -234,4 +285,4 @@
<button id="batchPrintBtn" class="btn btn-primary" onclick="onPrint()" disabled>批量打印</button>
<button id="batchPrintBtn" class="btn btn-primary" onclick="onPrint()" disabled>批量打印</button>
<table id="table"></table>
<table id="table"></table>
</div>
</div>
</script>
</script>
\ No newline at end of file
src/main/webapp/webpage/modules/warehouse/ledger/ledgerForm.jsp
View file @
df05c88c
...
@@ -22,17 +22,21 @@
...
@@ -22,17 +22,21 @@
<h3
class=
"text-center"
>
台账表
</h3>
<h3
class=
"text-center"
>
台账表
</h3>
<table
class=
"table table-bordered main-table"
>
<table
class=
"table table-bordered main-table"
>
<tr>
<tr>
<td>
物资名称
</td>
<td>
品名
</td>
<td>
<form:input
path=
"name"
htmlEscape=
"false"
class=
"form-control "
/>
</td>
<td>
品名代码
</td>
<td>
<td>
<sys:treeselect
id=
"type"
name=
"type.id"
value=
"${ledger.type.id}"
labelName=
"type.name"
<sys:treeselect
id=
"type"
name=
"type.id"
value=
"${ledger.type.id}"
labelName=
"type.name"
labelValue=
"${ledger.type.name}"
labelValue=
"${ledger.type.name}"
title=
"品名代码"
url=
"/warehouse/materialtype/materialType/treeData"
title=
"品名代码"
url=
"/warehouse/materialtype/materialType/treeData"
extId=
"${ledger.id}"
cssClass=
"form-control "
allowClear=
"true"
/>
extId=
"${ledger.id}"
cssClass=
"form-control "
allowClear=
"true"
/>
</td>
</td>
<td>
品名代码
</td>
<td>
<
%
--
<
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"
/>
--%>
<form:input
path=
"type.code"
htmlEscape=
"false"
class=
"form-control "
/>
</td>
<td>
型号
</td>
<td>
型号
</td>
<td>
<td>
<form:input
path=
"model"
htmlEscape=
"false"
class=
"form-control "
/>
<form:input
path=
"model"
htmlEscape=
"false"
class=
"form-control "
/>
...
...
src/main/webapp/webpage/modules/warehouse/ledger/ledgerList.js
View file @
df05c88c
...
@@ -240,21 +240,21 @@ function refresh(){
...
@@ -240,21 +240,21 @@ function refresh(){
$
(
'#ledgerTable'
).
bootstrapTable
(
'refresh'
);
$
(
'#ledgerTable'
).
bootstrapTable
(
'refresh'
);
}
}
function
add
(){
function
add
(){
jp
.
openSaveDialog
(
"新增台账"
,
"${ctx}/warehouse/ledger/ledger/form/add"
,
'1
2
00'
,
'800'
);
jp
.
openSaveDialog
(
"新增台账"
,
"${ctx}/warehouse/ledger/ledger/form/add"
,
'1
4
00'
,
'800'
);
}
}
function
edit
(
id
){
function
edit
(
id
){
if
(
id
==
undefined
){
if
(
id
==
undefined
){
id
=
getIdSelections
();
id
=
getIdSelections
();
}
}
jp
.
openSaveDialog
(
"编辑台账"
,
"${ctx}/warehouse/ledger/ledger/form/edit?id="
+
id
,
'1
2
00'
,
'800'
);
jp
.
openSaveDialog
(
"编辑台账"
,
"${ctx}/warehouse/ledger/ledger/form/edit?id="
+
id
,
'1
4
00'
,
'800'
);
}
}
function
view
(
id
){
//没有权限时,不显示确定按钮
function
view
(
id
){
//没有权限时,不显示确定按钮
if
(
id
==
undefined
){
if
(
id
==
undefined
){
id
=
getIdSelections
();
id
=
getIdSelections
();
}
}
jp
.
openViewDialog
(
"查看台账"
,
"${ctx}/warehouse/ledger/ledger/form/view?id="
+
id
,
'1
2
00'
,
'800'
);
jp
.
openViewDialog
(
"查看台账"
,
"${ctx}/warehouse/ledger/ledger/form/view?id="
+
id
,
'1
4
00'
,
'800'
);
}
}
...
@@ -534,6 +534,7 @@ function scanIptGetFocusStop () {
...
@@ -534,6 +534,7 @@ function scanIptGetFocusStop () {
<
tr
>
<
tr
>
<
th
>
品名
<
/th
>
<
th
>
品名
<
/th
>
<
th
>
代码
<
/th
>
<
th
>
代码
<
/th
>
<
th
>
物资编码
<
/th
>
<
th
>
数量
<
/th
>
<
th
>
数量
<
/th
>
<
th
>
单位
<
/th
>
<
th
>
单位
<
/th
>
<
th
>
型号
<
/th
>
<
th
>
型号
<
/th
>
...
@@ -542,6 +543,7 @@ function scanIptGetFocusStop () {
...
@@ -542,6 +543,7 @@ function scanIptGetFocusStop () {
<
th
>
批次号
<
/th
>
<
th
>
批次号
<
/th
>
<
th
>
货架
<
/th
>
<
th
>
货架
<
/th
>
<
th
>
仓库
<
/th
>
<
th
>
仓库
<
/th
>
<
th
>
备注
<
/th
>
<
/tr
>
<
/tr
>
<
/thead
>
<
/thead
>
<
tbody
id
=
"ledgerChild-{{idx}}-1-List"
>
<
tbody
id
=
"ledgerChild-{{idx}}-1-List"
>
...
@@ -558,6 +560,7 @@ function scanIptGetFocusStop () {
...
@@ -558,6 +560,7 @@ function scanIptGetFocusStop () {
<
td
>
<
td
>
{{
row
.
type
.
code
}}
{{
row
.
type
.
code
}}
<
/td
>
<
/td
>
<
td
>
{{
row
.
code
}}
<
/td
>
<
td
>
<
td
>
{{
row
.
num
}}
{{
row
.
num
}}
<
/td
>
<
/td
>
...
@@ -583,6 +586,9 @@ function scanIptGetFocusStop () {
...
@@ -583,6 +586,9 @@ function scanIptGetFocusStop () {
<
td
>
<
td
>
{{
row
.
warehouseNames
}}
{{
row
.
warehouseNames
}}
<
/td
>
<
/td
>
<
td
>
{{
row
.
remarks
}}
<
/td
>
<
/tr>/
/-->
<
/tr>/
/-->
<
/script
>
<
/script
>
src/main/webapp/webpage/modules/warehouse/materialrequisition/materialRequisitionDetail.jsp
View file @
df05c88c
...
@@ -26,6 +26,7 @@
...
@@ -26,6 +26,7 @@
if(data.length){
if(data.length){
data = data.map(function(item){
data = data.map(function(item){
item.delFlag = 0;
item.delFlag = 0;
item.infoSum = new Big(item.num).times(item.amount).toNumber();
return item;
return item;
})
})
}
}
...
@@ -48,30 +49,50 @@
...
@@ -48,30 +49,50 @@
}
}
},
},
{
{
field: 'ledgerInfo.
nam
e',
field: 'ledgerInfo.
cod
e',
title: '物资
名称
',
title: '物资
编码
',
formatter: function (value, row, index) {
formatter: function (value, row, index) {
return Mustache.render($("#ledgerInfo
Nam
eTpl").html(), {
return Mustache.render($("#ledgerInfo
Cod
eTpl").html(), {
row: row,
row: row,
idx: index
idx: index
})
})
}
}
},
},
{
{
field: 'ledgerInfo.
cod
e',
field: 'ledgerInfo.
type.nam
e',
title: '
物资编码
',
title: '
品名
',
formatter: function (value, row, index) {
formatter: function (value, row, index) {
return Mustache.render($("#ledgerInfo
CodeTpl").html(
), {
return Mustache.render($("#ledgerInfo
TypeTpl").html().replace(/(\/\/\<!\-\-)|(\/\/\-\->)/g, ""
), {
row: row,
row: row,
idx: index
idx: index
})
})
}
}
},
},
{
{
field: 'ledgerInfo.type.
nam
e',
field: 'ledgerInfo.type.
cod
e',
title: '
品名
代码',
title: '代码',
formatter: function (value, row, index) {
formatter: function (value, row, index) {
return Mustache.render($("#ledgerInfoTypeTpl").html().replace(/(\/\/\<!\-\-)|(\/\/\-\->)/g, ""), {
return Mustache.render($("#ledgerInfoTypeCodeTpl").html().replace(/(\/\/\<!\-\-)|(\/\/\-\->)/g, ""), {
row: row,
idx: index
})
}
},
{
field: 'ledgerInfo.amount',
title: '单价',
formatter: function (value, row, index) {
return Mustache.render($("#ledgerInfoAmountTpl").html().replace(/(\/\/\<!\-\-)|(\/\/\-\->)/g, ""), {
row: row,
idx: index
})
}
},
{
field: "ledgerInfo.type.unit",
title: '单位',
formatter: function (value, row, index) {
return Mustache.render($("#ledgerInfoTypeUnitTpl").html().replace(/(\/\/\<!\-\-)|(\/\/\-\->)/g, ""), {
row: row,
row: row,
idx: index
idx: index
})
})
...
@@ -88,10 +109,21 @@
...
@@ -88,10 +109,21 @@
}
}
},
},
{
{
field: '
ledgerInfo.amount
',
field: '
num
',
title: '
单价
',
title: '
数量
',
formatter: function (value, row, index) {
formatter: function (value, row, index) {
return Mustache.render($("#ledgerInfoAmountTpl").html().replace(/(\/\/\<!\-\-)|(\/\/\-\->)/g, ""), {
return Mustache.render($("#ledgerInfoNumTpl").html().replace(/(\/\/\<!\-\-)|(\/\/\-\->)/g, ""), {
row: row,
idx: index
})
}
},
{
field: 'infoSum',
title: '总价',
sortName: 'infoSum',
formatter: function (value, row, index) {
return Mustache.render($("#ledgerInfoInfoSumTpl").html().replace(/(\/\/\<!\-\-)|(\/\/\-\->)/g, ""), {
row: row,
row: row,
idx: index
idx: index
})
})
...
@@ -170,6 +202,7 @@
...
@@ -170,6 +202,7 @@
})
})
var data = newItems.map(function (item) {
var data = newItems.map(function (item) {
item[0] = false;
item[0] = false;
item.infoSum = new Big(item.num).times(item.amount).toNumber();
return {
return {
id: '',
id: '',
delFlag: 0,
delFlag: 0,
...
@@ -377,6 +410,16 @@
...
@@ -377,6 +410,16 @@
<sys:treeselect id="materialRequisitionInfoList{{idx}}_ledgerInfoType" name="materialRequisitionInfoList[{{idx}}].ledgerInfo.type.id" value="{{row.ledgerInfo.type.id}}" labelName="materialRequisitionInfoList{{idx}}.ledgerInfo.type.name" labelValue="{{row.ledgerInfo.type.name}}"
<sys:treeselect id="materialRequisitionInfoList{{idx}}_ledgerInfoType" name="materialRequisitionInfoList[{{idx}}].ledgerInfo.type.id" value="{{row.ledgerInfo.type.id}}" labelName="materialRequisitionInfoList{{idx}}.ledgerInfo.type.name" labelValue="{{row.ledgerInfo.type.name}}"
title="品名代码" url="/warehouse/materialtype/materialType/treeData" cssClass="form-control " disabled="disabled" allowClear="true"/>//-->
title="品名代码" url="/warehouse/materialtype/materialType/treeData" cssClass="form-control " disabled="disabled" allowClear="true"/>//-->
</script>
</script>
<script id="ledgerInfoTypeCodeTpl" type="text/html">
<input id="materialRequisitionInfoList{{idx}}_ledgerInfoTypeCode"
name="materialRequisitionInfoList[{{idx}}].ledgerInfo.type.code" type="text" class="form-control" readonly
value="{{row.ledgerInfo.type.code}}"/>
</script>
<script id="ledgerInfoTypeUnitTpl" type="text/html">
<input id="materialRequisitionInfoList{{idx}}_ledgerInfoTypeUnit
name="materialRequisitionInfoList[{{idx}}].ledgerInfo.type.unit" type="text" class="form-control" readonly
value="{{row.ledgerInfo.type.unit}}"/>
</script>
<script id="ledgerInfoModelTpl" type="text/html">
<script id="ledgerInfoModelTpl" type="text/html">
<input id="materialRequisitionInfoList{{idx}}_ledgerInfoModel"
<input id="materialRequisitionInfoList{{idx}}_ledgerInfoModel"
name="materialRequisitionInfoList[{{idx}}].ledgerInfo.model" type="text" class="form-control" readonly
name="materialRequisitionInfoList[{{idx}}].ledgerInfo.model" type="text" class="form-control" readonly
...
@@ -387,6 +430,16 @@
...
@@ -387,6 +430,16 @@
name="materialRequisitionInfoList[{{idx}}].ledgerInfo.amount" type="text" readonly class="form-control"
name="materialRequisitionInfoList[{{idx}}].ledgerInfo.amount" type="text" readonly class="form-control"
value="{{row.ledgerInfo.amount}}"/>
value="{{row.ledgerInfo.amount}}"/>
</script>
</script>
<script id="ledgerInfoNumTpl" type="text/html">
<input id="materialRequisitionInfoList{{idx}}_ledgerInfoNum"
name="materialRequisitionInfoList[{{idx}}].ledgerInfo.num" type="text" readonly class="form-control"
value="{{row.ledgerInfo.num}}"/>
</script>
<script id="ledgerInfoInfoSumTpl" type="text/html">
<input id="materialRequisitionInfoList{{idx}}_ledgerInfoInfoSum"
name="materialRequisitionInfoList[{{idx}}].ledgerInfo.infoSum" type="text" readonly class="form-control"
value="{{row.ledgerInfo.infoSum}}"/>
</script>
<script id="receiverTpl" type="text/html">
<script id="receiverTpl" type="text/html">
<input type="hidden" name="materialRequisitionInfoList[{{idx}}].receiver" value="{{row.receiver}}">
<input type="hidden" name="materialRequisitionInfoList[{{idx}}].receiver" value="{{row.receiver}}">
{{#row.receiver}}
{{#row.receiver}}
...
@@ -418,4 +471,4 @@
...
@@ -418,4 +471,4 @@
</div>
</div>
</div>
</div>
<br>
<br>
</script>
</script>
\ No newline at end of file
src/main/webapp/webpage/modules/warehouse/materialrequisition/materialRequisitionForm.jsp
View file @
df05c88c
...
@@ -8,6 +8,7 @@
...
@@ -8,6 +8,7 @@
<link
rel=
"stylesheet"
href=
"${ctxStatic}/plugin/bootstrapTable/bootstrap-table.min.css"
>
<link
rel=
"stylesheet"
href=
"${ctxStatic}/plugin/bootstrapTable/bootstrap-table.min.css"
>
<script
type=
"text/javascript"
src=
"${ctxStatic}/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>
<script
type=
"text/javascript"
src=
"${ctxStatic}/common/js/big.js"
></script>
<style>
<style>
.sign-result
{
.sign-result
{
width
:
80px
;
width
:
80px
;
...
@@ -146,4 +147,4 @@
...
@@ -146,4 +147,4 @@
}
}
</script>
</script>
</body>
</body>
</html>
</html>
\ No newline at end of file
src/main/webapp/webpage/modules/warehouse/materialrequisition/materialRequisitionList.js
View file @
df05c88c
<%
@
page
contentType
=
"text/html;charset=UTF-8"
%>
<%
@
page
contentType
=
"text/html;charset=UTF-8"
%>
<
script
>
<
script
>
$
(
document
).
ready
(
function
()
{
$
(
document
).
ready
(
function
()
{
$
(
'#materialRequisitionTable'
).
bootstrapTable
({
$
(
'#materialRequisitionTable'
).
bootstrapTable
({
//请求方法
//请求方法
method
:
'post'
,
method
:
'post'
,
//类型json
//类型json
dataType
:
"json"
,
dataType
:
"json"
,
contentType
:
"application/x-www-form-urlencoded"
,
contentType
:
"application/x-www-form-urlencoded"
,
//显示检索按钮
//显示检索按钮
showSearch
:
true
,
showSearch
:
true
,
//显示刷新按钮
//显示刷新按钮
showRefresh
:
true
,
showRefresh
:
true
,
//显示切换手机试图按钮
//显示切换手机试图按钮
showToggle
:
true
,
showToggle
:
true
,
//显示 内容列下拉框
//显示 内容列下拉框
showColumns
:
true
,
showColumns
:
true
,
//显示到处按钮
//显示到处按钮
showExport
:
true
,
showExport
:
true
,
//显示切换分页按钮
//显示切换分页按钮
showPaginationSwitch
:
true
,
showPaginationSwitch
:
true
,
//显示详情按钮
//显示详情按钮
detailView
:
true
,
detailView
:
true
,
//显示详细内容函数
//显示详细内容函数
detailFormatter
:
"detailFormatter"
,
detailFormatter
:
"detailFormatter"
,
//最低显示2行
//最低显示2行
minimumCountColumns
:
2
,
minimumCountColumns
:
2
,
//是否显示行间隔色
//是否显示行间隔色
striped
:
true
,
striped
:
true
,
//是否使用缓存,默认为true,所以一般情况下需要设置一下这个属性(*)
//是否使用缓存,默认为true,所以一般情况下需要设置一下这个属性(*)
cache
:
false
,
cache
:
false
,
//是否显示分页(*)
//是否显示分页(*)
pagination
:
true
,
pagination
:
true
,
//排序方式
//排序方式
sortOrder
:
"asc"
,
sortOrder
:
"asc"
,
//初始化加载第一页,默认第一页
//初始化加载第一页,默认第一页
pageNumber
:
1
,
pageNumber
:
1
,
//每页的记录行数(*)
//每页的记录行数(*)
pageSize
:
10
,
pageSize
:
10
,
//可供选择的每页的行数(*)
//可供选择的每页的行数(*)
pageList
:
[
10
,
25
,
50
,
100
],
pageList
:
[
10
,
25
,
50
,
100
],
//这个接口需要处理bootstrap table传递的固定参数,并返回特定格式的json数据
//这个接口需要处理bootstrap table传递的固定参数,并返回特定格式的json数据
url
:
"${ctx}/warehouse/materialrequisition/materialRequisition/data"
,
url
:
"${ctx}/warehouse/materialrequisition/materialRequisition/data"
,
//默认值为 'limit',传给服务端的参数为:limit, offset, search, sort, order Else
//默认值为 'limit',传给服务端的参数为:limit, offset, search, sort, order Else
//queryParamsType:'',
//queryParamsType:'',
////查询参数,每次调用是会带上这个参数,可自定义
////查询参数,每次调用是会带上这个参数,可自定义
queryParams
:
function
(
params
)
{
queryParams
:
function
(
params
)
{
var
searchParam
=
$
(
"#searchForm"
).
serializeJSON
();
var
searchParam
=
$
(
"#searchForm"
).
serializeJSON
();
searchParam
.
pageNo
=
params
.
limit
===
undefined
?
"1"
:
params
.
offset
/
params
.
limit
+
1
;
searchParam
.
pageNo
=
params
.
limit
===
undefined
?
"1"
:
params
.
offset
/
params
.
limit
+
1
;
searchParam
.
pageSize
=
params
.
limit
===
undefined
?
-
1
:
params
.
limit
;
searchParam
.
pageSize
=
params
.
limit
===
undefined
?
-
1
:
params
.
limit
;
searchParam
.
orderBy
=
params
.
sort
===
undefined
?
""
:
params
.
sort
+
" "
+
params
.
order
;
searchParam
.
orderBy
=
params
.
sort
===
undefined
?
""
:
params
.
sort
+
" "
+
params
.
order
;
return
searchParam
;
return
searchParam
;
},
},
//分页方式:client客户端分页,server服务端分页(*)
//分页方式:client客户端分页,server服务端分页(*)
sidePagination
:
"server"
,
sidePagination
:
"server"
,
contextMenuTrigger
:
"right"
,
//pc端 按右键弹出菜单
contextMenuTrigger
:
"right"
,
//pc端 按右键弹出菜单
contextMenuTriggerMobile
:
"press"
,
//手机端 弹出菜单,click:单击, press:长按。
contextMenuTriggerMobile
:
"press"
,
//手机端 弹出菜单,click:单击, press:长按。
contextMenu
:
'#context-menu'
,
contextMenu
:
'#context-menu'
,
onContextMenuItem
:
function
(
row
,
$el
){
onContextMenuItem
:
function
(
row
,
$el
){
if
(
$el
.
data
(
"item"
)
==
"edit"
){
if
(
$el
.
data
(
"item"
)
==
"edit"
){
edit
(
row
.
id
);
edit
(
row
.
id
);
}
else
if
(
$el
.
data
(
"item"
)
==
"view"
){
}
else
if
(
$el
.
data
(
"item"
)
==
"view"
){
view
(
row
.
id
);
view
(
row
.
id
);
}
else
if
(
$el
.
data
(
"item"
)
==
"delete"
){
}
else
if
(
$el
.
data
(
"item"
)
==
"delete"
){
jp
.
confirm
(
'确认要删除该物资领用记录吗?'
,
function
(){
jp
.
confirm
(
'确认要删除该物资领用记录吗?'
,
function
(){
jp
.
loading
();
jp
.
loading
();
jp
.
get
(
"${ctx}/warehouse/materialrequisition/materialRequisition/delete?id="
+
row
.
id
,
function
(
data
){
jp
.
get
(
"${ctx}/warehouse/materialrequisition/materialRequisition/delete?id="
+
row
.
id
,
function
(
data
){
if
(
data
.
success
){
if
(
data
.
success
){
$
(
'#materialRequisitionTable'
).
bootstrapTable
(
'refresh'
);
$
(
'#materialRequisitionTable'
).
bootstrapTable
(
'refresh'
);
jp
.
success
(
data
.
msg
);
jp
.
success
(
data
.
msg
);
}
else
{
}
else
{
jp
.
error
(
data
.
msg
);
jp
.
error
(
data
.
msg
);
}
}
})
})
});
});
}
}
},
},
onClickRow
:
function
(
row
,
$el
){
onClickRow
:
function
(
row
,
$el
){
},
},
onShowSearch
:
function
()
{
onShowSearch
:
function
()
{
$
(
"#search-collapse"
).
slideToggle
();
$
(
"#search-collapse"
).
slideToggle
();
},
},
columns
:
[{
columns
:
[{
checkbox
:
true
checkbox
:
true
}
}
,{
,{
field
:
'number'
,
field
:
'number'
,
title
:
'领用单号'
,
title
:
'领用单号'
,
sortable
:
true
,
sortable
:
true
,
sortName
:
'number'
sortName
:
'number'
,
formatter
:
function
(
value
,
row
,
index
){
,
formatter
:
function
(
value
,
row
,
index
){
value
=
jp
.
unescapeHTML
(
value
);
value
=
jp
.
unescapeHTML
(
value
);
return
"<a href='javascript:view(
\"
"
+
row
.
id
+
"
\"
)'>"
+
value
+
"</a>"
;
return
"<a href='javascript:view(
\"
"
+
row
.
id
+
"
\"
)'>"
+
value
+
"</a>"
;
}
}
}
}
,{
,{
field
:
'operator.name'
,
field
:
'operator.name'
,
title
:
'操作人'
,
title
:
'操作人'
,
sortable
:
true
,
sortable
:
true
,
sortName
:
'operator.name'
sortName
:
'operator.name'
}
}
,{
,{
field
:
'office.name'
,
field
:
'office.name'
,
title
:
'领用机构'
,
title
:
'领用机构'
,
sortable
:
true
,
sortable
:
true
,
sortName
:
'o.name'
sortName
:
'o.name'
}
}
,{
,{
field
:
'time'
,
field
:
'time'
,
title
:
'领用时间'
,
title
:
'领用时间'
,
sortable
:
true
,
sortable
:
true
,
sortName
:
'time'
sortName
:
'time'
}
},
,{
{
field
:
'status'
,
field
:
'status'
,
title
:
'出库状态'
,
title
:
'出库状态'
,
sortable
:
true
,
sortable
:
true
,
sortName
:
'status'
,
sortName
:
'status'
,
formatter
:
function
(
value
,
row
,
index
){
formatter
:
function
(
value
,
row
,
index
){
return
jp
.
getDictLabel
(
$
{
fns
:
toJson
(
fns
:
getDictList
(
'wh_delivery_status'
))},
value
,
"-"
);
return
jp
.
getDictLabel
(
$
{
fns
:
toJson
(
fns
:
getDictList
(
'wh_delivery_status'
))},
value
,
"-"
);
}
}
}
},
,{
{
field
:
'remarks'
,
field
:
'remarks'
,
title
:
'备注信息'
,
title
:
'备注信息'
,
sortable
:
true
,
sortable
:
true
,
sortName
:
'remarks'
sortName
:
'remarks'
},
}
{
]
title
:
'操作'
,
formatter
(
v
,
r
)
{
});
if
(
r
.
status
===
'1'
)
{
return
"<a class='delivery'>出库</a>"
}
if
(
navigator
.
userAgent
.
match
(
/
(
iPhone|iPod|Android|ios
)
/i
)){
//如果是移动端
},
events
:
{
'click .delivery'
:
function
(
e
,
v
,
r
)
{
$
(
'#materialRequisitionTable'
).
bootstrapTable
(
"toggleView"
);
onDelivery
(
r
.
id
);
}
}
}
$
(
'#materialRequisitionTable'
).
on
(
'check.bs.table uncheck.bs.table load-success.bs.table '
+
}
'check-all.bs.table uncheck-all.bs.table'
,
function
()
{
]
});
if
(
navigator
.
userAgent
.
match
(
/
(
iPhone|iPod|Android|ios
)
/i
)){
//如果是移动端
$
(
'#materialRequisitionTable'
).
bootstrapTable
(
"toggleView"
);
}
$
(
'#materialRequisitionTable'
).
on
(
'check.bs.table uncheck.bs.table load-success.bs.table '
+
'check-all.bs.table uncheck-all.bs.table'
,
function
()
{
$
(
'#remove'
).
prop
(
'disabled'
,
!
$
(
'#materialRequisitionTable'
).
bootstrapTable
(
'getSelections'
).
length
);
$
(
'#remove'
).
prop
(
'disabled'
,
!
$
(
'#materialRequisitionTable'
).
bootstrapTable
(
'getSelections'
).
length
);
$
(
'#view,#edit'
).
prop
(
'disabled'
,
$
(
'#materialRequisitionTable'
).
bootstrapTable
(
'getSelections'
).
length
!=
1
);
$
(
'#view,#edit'
).
prop
(
'disabled'
,
$
(
'#materialRequisitionTable'
).
bootstrapTable
(
'getSelections'
).
length
!=
1
);
$
(
'#delivery'
).
prop
(
'disabled'
,
!
(
$
(
'#materialRequisitionTable'
).
bootstrapTable
(
'getSelections'
).
length
==
1
&&
$
(
'#materialRequisitionTable'
).
bootstrapTable
(
'getSelections'
)[
0
].
status
==
'1'
));
$
(
'#delivery'
).
prop
(
'disabled'
,
!
(
$
(
'#materialRequisitionTable'
).
bootstrapTable
(
'getSelections'
).
length
==
1
&&
$
(
'#materialRequisitionTable'
).
bootstrapTable
(
'getSelections'
)[
0
].
status
==
'1'
));
});
});
$
(
"#btnImport"
).
click
(
function
(){
$
(
"#btnImport"
).
click
(
function
(){
jp
.
open
({
jp
.
open
({
type
:
2
,
type
:
2
,
area
:
[
500
,
200
],
area
:
[
500
,
200
],
auto
:
true
,
auto
:
true
,
title
:
"导入数据"
,
title
:
"导入数据"
,
content
:
"${ctx}/tag/importExcel"
,
content
:
"${ctx}/tag/importExcel"
,
btn
:
[
'下载模板'
,
'确定'
,
'关闭'
],
btn
:
[
'下载模板'
,
'确定'
,
'关闭'
],
btn1
:
function
(
index
,
layero
){
btn1
:
function
(
index
,
layero
){
jp
.
downloadFile
(
'${ctx}/warehouse/materialrequisition/materialRequisition/import/template'
);
jp
.
downloadFile
(
'${ctx}/warehouse/materialrequisition/materialRequisition/import/template'
);
},
},
btn2
:
function
(
index
,
layero
){
btn2
:
function
(
index
,
layero
){
var
iframeWin
=
layero
.
find
(
'iframe'
)[
0
];
//得到iframe页的窗口对象,执行iframe页的方法:iframeWin.method();
var
iframeWin
=
layero
.
find
(
'iframe'
)[
0
];
//得到iframe页的窗口对象,执行iframe页的方法:iframeWin.method();
iframeWin
.
contentWindow
.
importExcel
(
'${ctx}/warehouse/materialrequisition/materialRequisition/import'
,
function
(
data
)
{
iframeWin
.
contentWindow
.
importExcel
(
'${ctx}/warehouse/materialrequisition/materialRequisition/import'
,
function
(
data
)
{
if
(
data
.
success
){
if
(
data
.
success
){
jp
.
success
(
data
.
msg
);
jp
.
success
(
data
.
msg
);
refresh
();
refresh
();
}
else
{
}
else
{
jp
.
error
(
data
.
msg
);
jp
.
error
(
data
.
msg
);
}
}
jp
.
close
(
index
);
jp
.
close
(
index
);
});
//调用保存事件
});
//调用保存事件
return
false
;
return
false
;
},
},
btn3
:
function
(
index
){
btn3
:
function
(
index
){
jp
.
close
(
index
);
jp
.
close
(
index
);
}
}
});
});
});
});
$
(
"#export"
).
click
(
function
(){
//导出Excel文件
$
(
"#export"
).
click
(
function
(){
//导出Excel文件
var
searchParam
=
$
(
"#searchForm"
).
serializeJSON
();
var
searchParam
=
$
(
"#searchForm"
).
serializeJSON
();
searchParam
.
pageNo
=
1
;
searchParam
.
pageNo
=
1
;
searchParam
.
pageSize
=
-
1
;
searchParam
.
pageSize
=
-
1
;
var
sortName
=
$
(
'#materialRequisitionTable'
).
bootstrapTable
(
"getOptions"
,
"none"
).
sortName
;
var
sortName
=
$
(
'#materialRequisitionTable'
).
bootstrapTable
(
"getOptions"
,
"none"
).
sortName
;
var
sortOrder
=
$
(
'#materialRequisitionTable'
).
bootstrapTable
(
"getOptions"
,
"none"
).
sortOrder
;
var
sortOrder
=
$
(
'#materialRequisitionTable'
).
bootstrapTable
(
"getOptions"
,
"none"
).
sortOrder
;
var
values
=
""
;
var
values
=
""
;
...
@@ -199,112 +211,115 @@ $(document).ready(function() {
...
@@ -199,112 +211,115 @@ $(document).ready(function() {
values
=
values
+
"orderBy="
+
sortName
+
" "
+
sortOrder
;
values
=
values
+
"orderBy="
+
sortName
+
" "
+
sortOrder
;
}
}
jp
.
downloadFile
(
'${ctx}/warehouse/materialrequisition/materialRequisition/export?'
+
values
);
jp
.
downloadFile
(
'${ctx}/warehouse/materialrequisition/materialRequisition/export?'
+
values
);
})
})
$
(
"#search"
).
click
(
"click"
,
function
()
{
// 绑定查询按扭
$
(
"#search"
).
click
(
"click"
,
function
()
{
// 绑定查询按扭
$
(
'#materialRequisitionTable'
).
bootstrapTable
(
'refresh'
);
$
(
'#materialRequisitionTable'
).
bootstrapTable
(
'refresh'
);
});
});
$
(
"#reset"
).
click
(
"click"
,
function
()
{
// 绑定查询按扭
$
(
"#reset"
).
click
(
"click"
,
function
()
{
// 绑定查询按扭
$
(
"#searchForm input"
).
val
(
""
);
$
(
"#searchForm input"
).
val
(
""
);
$
(
"#searchForm select"
).
val
(
""
);
$
(
"#searchForm select"
).
val
(
""
);
$
(
"#searchForm .select-item"
).
html
(
""
);
$
(
"#searchForm .select-item"
).
html
(
""
);
$
(
'#materialRequisitionTable'
).
bootstrapTable
(
'refresh'
);
$
(
'#materialRequisitionTable'
).
bootstrapTable
(
'refresh'
);
});
});
function
getIdSelections
()
{
return
$
.
map
(
$
(
"#materialRequisitionTable"
).
bootstrapTable
(
'getSelections'
),
function
(
row
)
{
return
row
.
id
});
});
});
function
getIdSelections
()
{
return
$
.
map
(
$
(
"#materialRequisitionTable"
).
bootstrapTable
(
'getSelections'
),
function
(
row
)
{
return
row
.
id
});
}
function
deleteAll
(){
jp
.
confirm
(
'确认要删除该物资领用记录吗?'
,
function
(){
jp
.
loading
();
jp
.
get
(
"${ctx}/warehouse/materialrequisition/materialRequisition/deleteAll?ids="
+
getIdSelections
(),
function
(
data
){
if
(
data
.
success
){
$
(
'#materialRequisitionTable'
).
bootstrapTable
(
'refresh'
);
jp
.
success
(
data
.
msg
);
}
else
{
jp
.
error
(
data
.
msg
);
}
})
})
}
//刷新列表
function
refresh
(){
$
(
'#materialRequisitionTable'
).
bootstrapTable
(
'refresh'
);
}
function
add
(){
jp
.
openSaveDialog
(
"新增物资领用"
,
"${ctx}/warehouse/materialrequisition/materialRequisition/form/add"
,
'1200'
,
'800'
);
}
function
edit
(
id
){
if
(
id
==
undefined
){
id
=
getIdSelections
();
}
jp
.
openSaveDialog
(
"编辑物资领用"
,
"${ctx}/warehouse/materialrequisition/materialRequisition/form/edit?id="
+
id
,
'1200'
,
'800'
);
}
function
view
(
id
){
//没有权限时,不显示确定按钮
if
(
id
==
undefined
){
id
=
getIdSelections
();
}
}
jp
.
openViewDialog
(
"查看物资领用"
,
"${ctx}/warehouse/materialrequisition/materialRequisition/form/view?id="
+
id
,
'1200'
,
'800'
);
function
deleteAll
(){
}
jp
.
confirm
(
'确认要删除该物资领用记录吗?'
,
function
(){
jp
.
loading
();
jp
.
get
(
"${ctx}/warehouse/materialrequisition/materialRequisition/deleteAll?ids="
+
getIdSelections
(),
function
(
data
){
if
(
data
.
success
){
$
(
'#materialRequisitionTable'
).
bootstrapTable
(
'refresh'
);
function
detailFormatter
(
index
,
row
)
{
jp
.
success
(
data
.
msg
);
var
htmltpl
=
$
(
"#materialRequisitionChildrenTpl"
).
html
().
replace
(
/
(\/\/\<
!
\-\-)
|
(\/\/\-\-
>
)
/g
,
""
);
}
else
{
var
html
=
Mustache
.
render
(
htmltpl
,
{
jp
.
error
(
data
.
msg
);
idx
:
row
.
id
}
});
})
$
.
get
(
"${ctx}/warehouse/materialrequisition/materialRequisition/detail?id="
+
row
.
id
,
function
(
materialRequisition
){
var
materialRequisitionChild1RowIdx
=
0
,
materialRequisitionChild1Tpl
=
$
(
"#materialRequisitionChild1Tpl"
).
html
().
replace
(
/
(\/\/\<
!
\-\-)
|
(\/\/\-\-
>
)
/g
,
""
);
})
var
data1
=
materialRequisition
.
materialRequisitionInfoList
;
}
for
(
var
i
=
0
;
i
<
data1
.
length
;
i
++
){
data1
[
i
].
dict
=
{};
//刷新列表
addRow
(
'#materialRequisitionChild-'
+
row
.
id
+
'-1-List'
,
materialRequisitionChild1RowIdx
,
materialRequisitionChild1Tpl
,
data1
[
i
]);
function
refresh
(){
materialRequisitionChild1RowIdx
=
materialRequisitionChild1RowIdx
+
1
;
$
(
'#materialRequisitionTable'
).
bootstrapTable
(
'refresh'
);
}
}
function
add
(){
jp
.
openSaveDialog
(
"新增物资领用"
,
"${ctx}/warehouse/materialrequisition/materialRequisition/form/add"
,
'1200'
,
'800'
);
})
}
return
html
;
function
edit
(
id
){
}
if
(
id
==
undefined
){
id
=
getIdSelections
();
function
addRow
(
list
,
idx
,
tpl
,
row
){
}
$
(
list
).
append
(
Mustache
.
render
(
tpl
,
{
jp
.
openSaveDialog
(
"编辑物资领用"
,
"${ctx}/warehouse/materialrequisition/materialRequisition/form/edit?id="
+
id
,
'1200'
,
'800'
);
idx
:
idx
,
delBtn
:
true
,
row
:
row
}
}));
}
function
view
(
id
){
//没有权限时,不显示确定按钮
if
(
id
==
undefined
){
/**
id
=
getIdSelections
();
* 出库
}
*/
jp
.
openViewDialog
(
"查看物资领用"
,
"${ctx}/warehouse/materialrequisition/materialRequisition/form/view?id="
+
id
,
'1200'
,
'800'
);
function
onDelivery
(
id
)
{
}
if
(
!
id
)
{
id
=
getIdSelections
();
function
detailFormatter
(
index
,
row
)
{
var
htmltpl
=
$
(
"#materialRequisitionChildrenTpl"
).
html
().
replace
(
/
(\/\/\<
!
\-\-)
|
(\/\/\-\-
>
)
/g
,
""
);
var
html
=
Mustache
.
render
(
htmltpl
,
{
idx
:
row
.
id
});
$
.
get
(
"${ctx}/warehouse/materialrequisition/materialRequisition/detail?id="
+
row
.
id
,
function
(
materialRequisition
){
var
materialRequisitionChild1RowIdx
=
0
,
materialRequisitionChild1Tpl
=
$
(
"#materialRequisitionChild1Tpl"
).
html
().
replace
(
/
(\/\/\<
!
\-\-)
|
(\/\/\-\-
>
)
/g
,
""
);
var
data1
=
materialRequisition
.
materialRequisitionInfoList
;
for
(
var
i
=
0
;
i
<
data1
.
length
;
i
++
){
data1
[
i
].
dict
=
{};
addRow
(
'#materialRequisitionChild-'
+
row
.
id
+
'-1-List'
,
materialRequisitionChild1RowIdx
,
materialRequisitionChild1Tpl
,
data1
[
i
]);
materialRequisitionChild1RowIdx
=
materialRequisitionChild1RowIdx
+
1
;
}
})
return
html
;
}
}
jp
.
confirm
(
'确认是否出库?'
,
function
(){
function
addRow
(
list
,
idx
,
tpl
,
row
){
jp
.
get
(
'${ctx}/warehouse/materialrequisition/materialRequisition/delivery?id='
+
id
,
function
(
res
){
$
(
list
).
append
(
Mustache
.
render
(
tpl
,
{
if
(
res
.
success
)
{
idx
:
idx
,
delBtn
:
true
,
row
:
row
jp
.
success
(
res
.
msg
);
}));
refresh
();
}
}
else
{
jp
.
error
(
res
.
msg
);
/**
}
* 出库
})
*/
})
function
onDelivery
(){
}
jp
.
confirm
(
'确认是否出库?'
,
function
(){
jp
.
get
(
'${ctx}/warehouse/materialrequisition/materialRequisition/delivery?id='
+
getIdSelections
(),
function
(
res
){
if
(
res
.
success
){
jp
.
success
(
res
.
msg
);
refresh
();
}
else
{
jp
.
error
(
res
.
msg
);
}
})
})
}
<
/script
>
<
/script
>
<
script
type
=
"text/template"
id
=
"materialRequisitionChildrenTpl"
>
//<!--
<
script
type
=
"text/template"
id
=
"materialRequisitionChildrenTpl"
>
//<!--
<
div
class
=
"tabs-container"
>
<
div
class
=
"tabs-container"
>
...
@@ -317,10 +332,16 @@ $(document).ready(function() {
...
@@ -317,10 +332,16 @@ $(document).ready(function() {
<
thead
>
<
thead
>
<
tr
>
<
tr
>
<
th
>
物资编码
<
/th
>
<
th
>
物资编码
<
/th
>
<
th
>
物资名称
<
/th
>
<
th
>
品名
<
/th
>
<
th
>
代码
<
/th
>
<
th
>
数量
<
/th
>
<
th
>
单位
<
/th
>
<
th
>
型号
<
/th
>
<
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
>
...
@@ -330,29 +351,47 @@ $(document).ready(function() {
...
@@ -330,29 +351,47 @@ $(document).ready(function() {
<
/table
>
<
/table
>
<
/div
>
<
/div
>
<
/div>/
/-->
<
/div>/
/-->
<
/script
>
<
/script
>
<
script
type
=
"text/template"
id
=
"materialRequisitionChild1Tpl"
>
//<!--
<
script
type
=
"text/template"
id
=
"materialRequisitionChild1Tpl"
>
//<!--
<
tr
>
<
tr
>
<
td
>
<
td
>
{{
row
.
ledgerInfo
.
code
}}
{{
row
.
ledgerInfo
.
code
}}
<
/td
>
<
/td
>
<
td
>
<
td
>
{{
row
.
ledgerInfo
.
name
}}
{{
row
.
ledgerInfo
.
type
.
name
}}
<
/td
>
<
td
>
{{
row
.
ledgerInfo
.
type
.
code
}}
<
/td
>
<
/td
>
<
td
>
<
td
>
{{
row
.
ledgerInfo
.
model
}}
{{
row
.
ledgerInfo
.
num
}}
<
/td
>
<
/td
>
<
td
>
<
td
>
{{
row
.
ledgerInfo
.
type
.
name
}}
{{
row
.
ledgerInfo
.
type
.
unit
}}
<
/td
>
<
td
>
{{
row
.
ledgerInfo
.
model
}}
<
/td
>
<
/td
>
<
td
>
<
td
>
{{
row
.
ledgerInfo
.
amount
}}
{{
row
.
ledgerInfo
.
amount
}}
<
/td
>
<
/td
>
<
td
>
<
td
>
{{
row
.
ledgerInfo
.
infoSum
}}
<
/td
>
<
td
>
{{
row
.
ledgerInfo
.
batchNum
}}
<
/td
>
<
td
>
{{
row
.
shelvesNames
}}
<
/td
>
<
td
>
{{
row
.
warehouseNames
}}
<
/td
>
<
td
>
<
img
src
=
"{{row.receiver}}"
width
=
"80"
/>
<
img
src
=
"{{row.receiver}}"
width
=
"80"
/>
<
/td
>
<
/td
>
<
td
>
<
td
>
{{
row
.
remarks
}}
{{
row
.
remarks
}}
<
/td
>
<
/td
>
<
/tr>/
/-->
<
/tr>/
/-->
<
/script
>
<
/script
>
src/main/webapp/webpage/modules/warehouse/outbound/outboundList.js
View file @
df05c88c
...
@@ -299,11 +299,18 @@ $(document).ready(function() {
...
@@ -299,11 +299,18 @@ $(document).ready(function() {
<
table
class
=
"ani table"
>
<
table
class
=
"ani table"
>
<
thead
>
<
thead
>
<
tr
>
<
tr
>
<
th
>
品名
<
/th
>
<
th
>
代码
<
/th
>
<
th
>
物资编码
<
/th
>
<
th
>
物资编码
<
/th
>
<
th
>
物资名称
<
/th
>
<
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
=
"outboundChild-{{idx}}-1-List"
>
<
tbody
id
=
"outboundChild-{{idx}}-1-List"
>
...
@@ -315,21 +322,42 @@ $(document).ready(function() {
...
@@ -315,21 +322,42 @@ $(document).ready(function() {
<
script
type
=
"text/template"
id
=
"outboundChild1Tpl"
>
//<!--
<
script
type
=
"text/template"
id
=
"outboundChild1Tpl"
>
//<!--
<
tr
>
<
tr
>
<
td
>
<
td
>
{{
row
.
ledgerInfo
.
name
}}
<
/td
>
<
td
>
{{
row
.
ledgerInfo
.
code
}}
{{
row
.
ledgerInfo
.
code
}}
<
/td
>
<
/td
>
<
td
>
<
td
>
{{
row
.
ledgerInfo
.
type
.
name
}}
{{
row
.
ledgerInfo
.
type
.
name
}}
<
/td
>
<
/td
>
<
td
>
<
td
>
{{
row
.
ledgerInfo
.
type
.
code
}}
<
/td
>
<
td
>
{{
row
.
ledgerInfo
.
num
}}
<
/td
>
<
td
>
{{
row
.
ledgerInfo
.
type
.
unit
}}
<
/td
>
<
td
>
{{
row
.
ledgerInfo
.
model
}}
{{
row
.
ledgerInfo
.
model
}}
<
/td
>
<
/td
>
<
td
>
<
td
>
{{
row
.
ledgerInfo
.
amount
}}
{{
row
.
ledgerInfo
.
amount
}}
<
/td
>
<
/td
>
<
td
>
<
td
>
{{
row
.
ledgerInfo
.
infoSum
}}
<
/td
>
<
td
>
{{
row
.
ledgerInfo
.
batchNum
}}
<
/td
>
<
td
>
{{
row
.
shelvesNames
}}
<
/td
>
<
td
>
{{
row
.
warehouseNames
}}
<
/td
>
<
td
>
<
img
src
=
"{{row.receiver}}"
width
=
"80"
/>
<
/td
>
<
td
>
{{
row
.
remarks
}}
{{
row
.
remarks
}}
<
/td
>
<
/td
>
<
/tr>/
/-->
<
/tr>/
/-->
...
...
src/main/webapp/webpage/modules/warehouse/storage/storageList.js
View file @
df05c88c
<%
@
page
contentType
=
"text/html;charset=UTF-8"
%>
<%
@
page
contentType
=
"text/html;charset=UTF-8"
%>
<
script
>
<
script
>
$
(
document
).
ready
(
function
()
{
$
(
document
).
ready
(
function
()
{
$
(
'#storageTable'
).
bootstrapTable
({
$
(
'#storageTable'
).
bootstrapTable
({
//请求方法
//请求方法
method
:
'post'
,
method
:
'post'
,
//类型json
//类型json
dataType
:
"json"
,
dataType
:
"json"
,
contentType
:
"application/x-www-form-urlencoded"
,
contentType
:
"application/x-www-form-urlencoded"
,
//显示检索按钮
//显示检索按钮
showSearch
:
true
,
showSearch
:
true
,
//显示刷新按钮
//显示刷新按钮
showRefresh
:
true
,
showRefresh
:
true
,
//显示切换手机试图按钮
//显示切换手机试图按钮
showToggle
:
true
,
showToggle
:
true
,
//显示 内容列下拉框
//显示 内容列下拉框
showColumns
:
true
,
showColumns
:
true
,
//显示到处按钮
//显示到处按钮
showExport
:
true
,
showExport
:
true
,
//显示切换分页按钮
//显示切换分页按钮
showPaginationSwitch
:
true
,
showPaginationSwitch
:
true
,
//显示详情按钮
//显示详情按钮
detailView
:
true
,
detailView
:
true
,
//显示详细内容函数
//显示详细内容函数
detailFormatter
:
"detailFormatter"
,
detailFormatter
:
"detailFormatter"
,
//最低显示2行
//最低显示2行
minimumCountColumns
:
2
,
minimumCountColumns
:
2
,
//是否显示行间隔色
//是否显示行间隔色
striped
:
true
,
striped
:
true
,
//是否使用缓存,默认为true,所以一般情况下需要设置一下这个属性(*)
//是否使用缓存,默认为true,所以一般情况下需要设置一下这个属性(*)
cache
:
false
,
cache
:
false
,
//是否显示分页(*)
//是否显示分页(*)
pagination
:
true
,
pagination
:
true
,
//排序方式
//排序方式
sortOrder
:
"asc"
,
sortOrder
:
"asc"
,
//初始化加载第一页,默认第一页
//初始化加载第一页,默认第一页
pageNumber
:
1
,
pageNumber
:
1
,
//每页的记录行数(*)
//每页的记录行数(*)
pageSize
:
10
,
pageSize
:
10
,
//可供选择的每页的行数(*)
//可供选择的每页的行数(*)
pageList
:
[
10
,
25
,
50
,
100
],
pageList
:
[
10
,
25
,
50
,
100
],
//这个接口需要处理bootstrap table传递的固定参数,并返回特定格式的json数据
//这个接口需要处理bootstrap table传递的固定参数,并返回特定格式的json数据
url
:
"${ctx}/warehouse/storage/storage/data"
,
url
:
"${ctx}/warehouse/storage/storage/data"
,
//默认值为 'limit',传给服务端的参数为:limit, offset, search, sort, order Else
//默认值为 'limit',传给服务端的参数为:limit, offset, search, sort, order Else
//queryParamsType:'',
//queryParamsType:'',
////查询参数,每次调用是会带上这个参数,可自定义
////查询参数,每次调用是会带上这个参数,可自定义
queryParams
:
function
(
params
)
{
queryParams
:
function
(
params
)
{
var
searchParam
=
$
(
"#searchForm"
).
serializeJSON
();
var
searchParam
=
$
(
"#searchForm"
).
serializeJSON
();
searchParam
.
pageNo
=
params
.
limit
===
undefined
?
"1"
:
params
.
offset
/
params
.
limit
+
1
;
searchParam
.
pageNo
=
params
.
limit
===
undefined
?
"1"
:
params
.
offset
/
params
.
limit
+
1
;
searchParam
.
pageSize
=
params
.
limit
===
undefined
?
-
1
:
params
.
limit
;
searchParam
.
pageSize
=
params
.
limit
===
undefined
?
-
1
:
params
.
limit
;
searchParam
.
orderBy
=
params
.
sort
===
undefined
?
""
:
params
.
sort
+
" "
+
params
.
order
;
searchParam
.
orderBy
=
params
.
sort
===
undefined
?
""
:
params
.
sort
+
" "
+
params
.
order
;
return
searchParam
;
return
searchParam
;
},
},
//分页方式:client客户端分页,server服务端分页(*)
//分页方式:client客户端分页,server服务端分页(*)
sidePagination
:
"server"
,
sidePagination
:
"server"
,
contextMenuTrigger
:
"right"
,
//pc端 按右键弹出菜单
contextMenuTrigger
:
"right"
,
//pc端 按右键弹出菜单
contextMenuTriggerMobile
:
"press"
,
//手机端 弹出菜单,click:单击, press:长按。
contextMenuTriggerMobile
:
"press"
,
//手机端 弹出菜单,click:单击, press:长按。
contextMenu
:
'#context-menu'
,
contextMenu
:
'#context-menu'
,
onContextMenuItem
:
function
(
row
,
$el
){
onContextMenuItem
:
function
(
row
,
$el
){
if
(
$el
.
data
(
"item"
)
==
"edit"
){
if
(
$el
.
data
(
"item"
)
==
"edit"
){
edit
(
row
.
id
);
edit
(
row
.
id
);
}
else
if
(
$el
.
data
(
"item"
)
==
"view"
){
}
else
if
(
$el
.
data
(
"item"
)
==
"view"
){
view
(
row
.
id
);
view
(
row
.
id
);
}
else
if
(
$el
.
data
(
"item"
)
==
"delete"
){
}
else
if
(
$el
.
data
(
"item"
)
==
"delete"
){
jp
.
confirm
(
'确认要删除该入库信息记录吗?'
,
function
(){
jp
.
confirm
(
'确认要删除该入库信息记录吗?'
,
function
(){
jp
.
loading
();
jp
.
loading
();
jp
.
get
(
"${ctx}/warehouse/storage/storage/delete?id="
+
row
.
id
,
function
(
data
){
jp
.
get
(
"${ctx}/warehouse/storage/storage/delete?id="
+
row
.
id
,
function
(
data
){
if
(
data
.
success
){
if
(
data
.
success
){
$
(
'#storageTable'
).
bootstrapTable
(
'refresh'
);
$
(
'#storageTable'
).
bootstrapTable
(
'refresh'
);
jp
.
success
(
data
.
msg
);
jp
.
success
(
data
.
msg
);
}
else
{
}
else
{
jp
.
error
(
data
.
msg
);
jp
.
error
(
data
.
msg
);
}
}
})
})
});
});
}
}
},
},
onClickRow
:
function
(
row
,
$el
){
onClickRow
:
function
(
row
,
$el
){
},
},
onShowSearch
:
function
()
{
onShowSearch
:
function
()
{
$
(
"#search-collapse"
).
slideToggle
();
$
(
"#search-collapse"
).
slideToggle
();
},
},
columns
:
[{
columns
:
[{
checkbox
:
true
checkbox
:
true
}
}
,{
,{
field
:
'code'
,
field
:
'code'
,
title
:
'入库单'
,
title
:
'入库单'
,
sortable
:
true
,
sortable
:
true
,
sortName
:
'code'
sortName
:
'code'
,
formatter
:
function
(
value
,
row
,
index
){
,
formatter
:
function
(
value
,
row
,
index
){
value
=
jp
.
unescapeHTML
(
value
);
value
=
jp
.
unescapeHTML
(
value
);
return
"<a href='javascript:view(
\"
"
+
row
.
id
+
"
\"
)'>"
+
value
+
"</a>"
;
return
"<a href='javascript:view(
\"
"
+
row
.
id
+
"
\"
)'>"
+
value
+
"</a>"
;
}
}
}
}
,{
,{
field
:
'operator.name'
,
field
:
'operator.name'
,
title
:
'操作人'
,
title
:
'操作人'
,
sortable
:
true
,
sortable
:
true
,
sortName
:
'operator.name'
sortName
:
'operator.name'
}
}
,{
,{
field
:
'time'
,
field
:
'time'
,
title
:
'时间'
,
title
:
'时间'
,
sortable
:
true
,
sortable
:
true
,
sortName
:
'time'
sortName
:
'time'
}
}
,{
,{
field
:
'batchNum'
,
field
:
'batchNum'
,
title
:
'批次号'
,
title
:
'批次号'
,
sortable
:
true
,
sortable
:
true
,
sortName
:
'batchNum'
sortName
:
'batchNum'
}
}
,{
//
,{
field
:
'remarks'
,
//
field: 'remarks',
title
:
'备注信息'
,
//
title: '备注信息',
sortable
:
true
,
//
sortable: true,
sortName
:
'remarks'
//
sortName: 'remarks'
//
}
//
}
]
]
});
});
if
(
navigator
.
userAgent
.
match
(
/
(
iPhone|iPod|Android|ios
)
/i
)){
//如果是移动端
if
(
navigator
.
userAgent
.
match
(
/
(
iPhone|iPod|Android|ios
)
/i
)){
//如果是移动端
$
(
'#storageTable'
).
bootstrapTable
(
"toggleView"
);
$
(
'#storageTable'
).
bootstrapTable
(
"toggleView"
);
}
}
$
(
'#storageTable'
).
on
(
'check.bs.table uncheck.bs.table load-success.bs.table '
+
$
(
'#storageTable'
).
on
(
'check.bs.table uncheck.bs.table load-success.bs.table '
+
'check-all.bs.table uncheck-all.bs.table'
,
function
()
{
'check-all.bs.table uncheck-all.bs.table'
,
function
()
{
$
(
'#remove'
).
prop
(
'disabled'
,
!
$
(
'#storageTable'
).
bootstrapTable
(
'getSelections'
).
length
);
$
(
'#remove'
).
prop
(
'disabled'
,
!
$
(
'#storageTable'
).
bootstrapTable
(
'getSelections'
).
length
);
$
(
'#view,#edit'
).
prop
(
'disabled'
,
$
(
'#storageTable'
).
bootstrapTable
(
'getSelections'
).
length
!=
1
);
$
(
'#view,#edit'
).
prop
(
'disabled'
,
$
(
'#storageTable'
).
bootstrapTable
(
'getSelections'
).
length
!=
1
);
});
});
$
(
"#btnImport"
).
click
(
function
(){
$
(
"#btnImport"
).
click
(
function
(){
jp
.
open
({
jp
.
open
({
type
:
2
,
type
:
2
,
area
:
[
500
,
200
],
area
:
[
500
,
200
],
auto
:
true
,
auto
:
true
,
title
:
"导入数据"
,
title
:
"导入数据"
,
content
:
"${ctx}/tag/importExcel"
,
content
:
"${ctx}/tag/importExcel"
,
btn
:
[
'下载模板'
,
'确定'
,
'关闭'
],
btn
:
[
'下载模板'
,
'确定'
,
'关闭'
],
btn1
:
function
(
index
,
layero
){
btn1
:
function
(
index
,
layero
){
jp
.
downloadFile
(
'${ctx}/warehouse/storage/storage/import/template'
);
jp
.
downloadFile
(
'${ctx}/warehouse/storage/storage/import/template'
);
},
},
btn2
:
function
(
index
,
layero
){
btn2
:
function
(
index
,
layero
){
var
iframeWin
=
layero
.
find
(
'iframe'
)[
0
];
//得到iframe页的窗口对象,执行iframe页的方法:iframeWin.method();
var
iframeWin
=
layero
.
find
(
'iframe'
)[
0
];
//得到iframe页的窗口对象,执行iframe页的方法:iframeWin.method();
iframeWin
.
contentWindow
.
importExcel
(
'${ctx}/warehouse/storage/storage/import'
,
function
(
data
)
{
iframeWin
.
contentWindow
.
importExcel
(
'${ctx}/warehouse/storage/storage/import'
,
function
(
data
)
{
if
(
data
.
success
){
if
(
data
.
success
){
jp
.
success
(
data
.
msg
);
jp
.
success
(
data
.
msg
);
refresh
();
refresh
();
}
else
{
}
else
{
jp
.
error
(
data
.
msg
);
jp
.
error
(
data
.
msg
);
}
}
jp
.
close
(
index
);
jp
.
close
(
index
);
});
//调用保存事件
});
//调用保存事件
return
false
;
return
false
;
},
},
btn3
:
function
(
index
){
btn3
:
function
(
index
){
jp
.
close
(
index
);
jp
.
close
(
index
);
}
}
});
});
});
});
$
(
"#export"
).
click
(
function
(){
//导出Excel文件
$
(
"#export"
).
click
(
function
(){
//导出Excel文件
var
searchParam
=
$
(
"#searchForm"
).
serializeJSON
();
var
searchParam
=
$
(
"#searchForm"
).
serializeJSON
();
searchParam
.
pageNo
=
1
;
searchParam
.
pageNo
=
1
;
searchParam
.
pageSize
=
-
1
;
searchParam
.
pageSize
=
-
1
;
var
sortName
=
$
(
'#storageTable'
).
bootstrapTable
(
"getOptions"
,
"none"
).
sortName
;
var
sortName
=
$
(
'#storageTable'
).
bootstrapTable
(
"getOptions"
,
"none"
).
sortName
;
var
sortOrder
=
$
(
'#storageTable'
).
bootstrapTable
(
"getOptions"
,
"none"
).
sortOrder
;
var
sortOrder
=
$
(
'#storageTable'
).
bootstrapTable
(
"getOptions"
,
"none"
).
sortOrder
;
var
values
=
""
;
var
values
=
""
;
...
@@ -188,173 +188,174 @@ $(document).ready(function() {
...
@@ -188,173 +188,174 @@ $(document).ready(function() {
values
=
values
+
"orderBy="
+
sortName
+
" "
+
sortOrder
;
values
=
values
+
"orderBy="
+
sortName
+
" "
+
sortOrder
;
}
}
jp
.
downloadFile
(
'${ctx}/warehouse/storage/storage/export?'
+
values
);
jp
.
downloadFile
(
'${ctx}/warehouse/storage/storage/export?'
+
values
);
})
})
$
(
"#search"
).
click
(
"click"
,
function
()
{
// 绑定查询按扭
$
(
"#search"
).
click
(
"click"
,
function
()
{
// 绑定查询按扭
$
(
'#storageTable'
).
bootstrapTable
(
'refresh'
);
$
(
'#storageTable'
).
bootstrapTable
(
'refresh'
);
});
});
$
(
"#reset"
).
click
(
"click"
,
function
()
{
// 绑定查询按扭
$
(
"#reset"
).
click
(
"click"
,
function
()
{
// 绑定查询按扭
$
(
"#searchForm input"
).
val
(
""
);
$
(
"#searchForm input"
).
val
(
""
);
$
(
"#searchForm select"
).
val
(
""
);
$
(
"#searchForm select"
).
val
(
""
);
$
(
"#searchForm .select-item"
).
html
(
""
);
$
(
"#searchForm .select-item"
).
html
(
""
);
$
(
'#storageTable'
).
bootstrapTable
(
'refresh'
);
$
(
'#storageTable'
).
bootstrapTable
(
'refresh'
);
});
});
$
(
'#beginTime'
).
datetimepicker
({
$
(
'#beginTime'
).
datetimepicker
({
format
:
"YYYY-MM-DD HH:mm:ss"
format
:
"YYYY-MM-DD HH:mm:ss"
});
$
(
'#endTime'
).
datetimepicker
({
format
:
"YYYY-MM-DD HH:mm:ss"
});
});
function
getIdSelections
()
{
return
$
.
map
(
$
(
"#storageTable"
).
bootstrapTable
(
'getSelections'
),
function
(
row
)
{
return
row
.
id
});
});
$
(
'#endTime'
).
datetimepicker
({
format
:
"YYYY-MM-DD HH:mm:ss"
});
});
function
getIdSelections
()
{
return
$
.
map
(
$
(
"#storageTable"
).
bootstrapTable
(
'getSelections'
),
function
(
row
)
{
return
row
.
id
});
}
function
deleteAll
(){
jp
.
confirm
(
'确认要删除该入库信息记录吗?'
,
function
(){
jp
.
loading
();
jp
.
get
(
"${ctx}/warehouse/storage/storage/deleteAll?ids="
+
getIdSelections
(),
function
(
data
){
if
(
data
.
success
){
$
(
'#storageTable'
).
bootstrapTable
(
'refresh'
);
jp
.
success
(
data
.
msg
);
}
else
{
jp
.
error
(
data
.
msg
);
}
})
})
}
//刷新列表
function
refresh
(){
$
(
'#storageTable'
).
bootstrapTable
(
'refresh'
);
}
function
add
(){
jp
.
openSaveDialog
(
"新增入库单"
,
"${ctx}/warehouse/storage/storage/form/add"
,
'1400'
,
'800'
);
}
function
edit
(
id
){
if
(
id
==
undefined
){
id
=
getIdSelections
();
}
}
jp
.
openSaveDialog
(
"编辑入库单"
,
"${ctx}/warehouse/storage/storage/form/edit?id="
+
id
,
'1400'
,
'800'
);
function
deleteAll
(){
}
jp
.
confirm
(
'确认要删除该入库信息记录吗?'
,
function
(){
function
view
(
id
){
//没有权限时,不显示确定按钮
jp
.
loading
();
if
(
id
==
undefined
){
jp
.
get
(
"${ctx}/warehouse/storage/storage/deleteAll?ids="
+
getIdSelections
(),
function
(
data
){
id
=
getIdSelections
();
if
(
data
.
success
){
$
(
'#storageTable'
).
bootstrapTable
(
'refresh'
);
jp
.
success
(
data
.
msg
);
}
else
{
jp
.
error
(
data
.
msg
);
}
})
})
}
//刷新列表
function
refresh
(){
$
(
'#storageTable'
).
bootstrapTable
(
'refresh'
);
}
function
add
(){
jp
.
openSaveDialog
(
"新增入库单"
,
"${ctx}/warehouse/storage/storage/form/add"
,
'1400'
,
'800'
);
}
function
edit
(
id
){
if
(
id
==
undefined
){
id
=
getIdSelections
();
}
jp
.
openSaveDialog
(
"编辑入库单"
,
"${ctx}/warehouse/storage/storage/form/edit?id="
+
id
,
'1400'
,
'800'
);
}
function
view
(
id
){
//没有权限时,不显示确定按钮
if
(
id
==
undefined
){
id
=
getIdSelections
();
}
jp
.
openViewDialog
(
"查看入库单"
,
"${ctx}/warehouse/storage/storage/form/view?id="
+
id
,
'1400'
,
'800'
);
}
function
detailFormatter
(
index
,
row
)
{
var
htmltpl
=
$
(
"#storageChildrenTpl"
).
html
().
replace
(
/
(\/\/\<
!
\-\-)
|
(\/\/\-\-
>
)
/g
,
""
);
var
html
=
Mustache
.
render
(
htmltpl
,
{
idx
:
row
.
id
});
$
.
get
(
"${ctx}/warehouse/storage/storage/detail?id="
+
row
.
id
,
function
(
storage
){
var
storageChild1RowIdx
=
0
,
storageChild1Tpl
=
$
(
"#storageChild1Tpl"
).
html
().
replace
(
/
(\/\/\<
!
\-\-)
|
(\/\/\-\-
>
)
/g
,
""
);
var
data1
=
storage
.
storageInfoList
;
for
(
var
i
=
0
;
i
<
data1
.
length
;
i
++
){
var
item
=
data1
[
i
];
data1
[
i
].
dict
=
{};
data1
[
i
].
storageId
=
row
.
id
;
data1
[
i
].
batchNum
=
row
.
batchNum
;
data1
[
i
].
jsonStr
=
JSON
.
stringify
(
data1
[
i
]);
data1
[
i
].
isNotStorage
=
data1
[
i
].
qrCode
.
state
!==
'2'
;
data1
[
i
].
isStorage
=
data1
[
i
].
qrCode
.
state
===
'2'
;
data1
[
i
].
mainRowIndex
=
index
;
item
.
infoSum
=
new
Big
(
item
.
num
).
times
(
item
.
amount
).
toNumber
();
item
.
shelvesNames
=
item
.
shelvesList
.
map
(
function
(
e
)
{
return
e
.
name
}).
join
(
','
);
item
.
warehouseNames
=
item
.
warehouseList
.
map
(
function
(
e
)
{
return
e
.
name
}).
join
(
','
);
addRow
(
'#storageChild-'
+
row
.
id
+
'-1-List'
,
storageChild1RowIdx
,
storageChild1Tpl
,
data1
[
i
]);
storageChild1RowIdx
=
storageChild1RowIdx
+
1
;
}
})
return
html
;
}
}
jp
.
openViewDialog
(
"查看入库单"
,
"${ctx}/warehouse/storage/storage/form/view?id="
+
id
,
'1400'
,
'800'
);
function
addRow
(
list
,
idx
,
tpl
,
row
){
}
$
(
list
).
append
(
Mustache
.
render
(
tpl
,
{
idx
:
idx
,
delBtn
:
true
,
row
:
row
}));
}
function
onStorage
(
countStorage
,
goodsInfoId
,
rowIndex
){
function
detailFormatter
(
index
,
row
)
{
debugger
var
htmltpl
=
$
(
"#storageChildrenTpl"
).
html
().
replace
(
/
(\/\/\<
!
\-\-)
|
(\/\/\-\-
>
)
/g
,
""
);
var
main
=
JSON
.
parse
(
countStorage
);
var
html
=
Mustache
.
render
(
htmltpl
,
{
var
data
=
[
main
];
idx
:
row
.
id
// var shelvesIds = data.map(function (item){
});
// return item.shelves.id
$
.
get
(
"${ctx}/warehouse/storage/storage/detail?id="
+
row
.
id
,
function
(
storage
){
// }).join(',');
var
storageChild1RowIdx
=
0
,
storageChild1Tpl
=
$
(
"#storageChild1Tpl"
).
html
().
replace
(
/
(\/\/\<
!
\-\-)
|
(\/\/\-\-
>
)
/g
,
""
);
// 构建台账主表
var
data1
=
storage
.
storageInfoList
;
var
name$
=
$
(
"<input type='hidden' name='name' value='"
+
main
.
name
+
"' />"
);
for
(
var
i
=
0
;
i
<
data1
.
length
;
i
++
){
var
typeId$
=
$
(
"<input type='hidden' name='type.id' value='"
+
main
.
type
.
id
+
"' />"
);
var
item
=
data1
[
i
];
var
typeName$
=
$
(
"<input type='hidden' name='type.name' value='"
+
main
.
type
.
name
+
"' />"
);
data1
[
i
].
dict
=
{};
var
model$
=
$
(
"<input type='hidden' name='model' value='"
+
main
.
model
+
"' />"
);
data1
[
i
].
storageId
=
row
.
id
;
// var shelvesIds$ = $("<input type='hidden' name='shelvesIds' value='"+shelvesIds+"' />");
data1
[
i
].
batchNum
=
row
.
batchNum
;
var
num$
=
$
(
"<input type='hidden' name='num' value="
+
main
.
num
+
" />"
);
data1
[
i
].
jsonStr
=
JSON
.
stringify
(
data1
[
i
]);
var
sum$
=
$
(
"<input type='hidden' name='sum' value="
+
new
Big
(
main
.
num
).
times
(
main
.
amount
).
toNumber
()
+
" />"
);
data1
[
i
].
isNotStorage
=
data1
[
i
].
qrCode
.
state
!==
'2'
;
$
(
"#ledgerForm"
).
empty
();
data1
[
i
].
isStorage
=
data1
[
i
].
qrCode
.
state
===
'2'
;
$
(
"#ledgerForm"
).
append
(
name$
).
append
(
typeId$
).
append
(
typeName$
).
append
(
model$
).
append
(
num$
).
append
(
sum$
);
data1
[
i
].
mainRowIndex
=
index
;
data
.
forEach
(
function
(
item
,
index
){
item
.
infoSum
=
new
Big
(
item
.
num
).
times
(
item
.
amount
).
toNumber
();
// 构建台账附表
item
.
shelvesNames
=
item
.
shelvesList
.
map
(
function
(
e
)
{
var
id$
=
$
(
"<input type='hidden' name='ledgerInfoList["
+
index
+
"].id' value='' />"
);
return
e
.
name
var
delFlag$
=
$
(
"<input type='hidden' name='ledgerInfoList["
+
index
+
"].delFlag' value='0' />"
);
}).
join
(
','
);
var
name$
=
$
(
"<input type='hidden' name='ledgerInfoList["
+
index
+
"].name' value='"
+
item
.
name
+
"' />"
);
item
.
warehouseNames
=
item
.
warehouseList
.
map
(
function
(
e
)
{
var
typeId$
=
$
(
"<input type='hidden' name='ledgerInfoList["
+
index
+
"].type.id' value='"
+
item
.
type
.
id
+
"' />"
);
return
e
.
name
var
batchNum$
=
$
(
"<input type='hidden' name='ledgerInfoList["
+
index
+
"].batchNum' value='"
+
main
.
batchNum
+
"' />"
);
}).
join
(
','
);
var
model$
=
$
(
"<input type='hidden' name='ledgerInfoList["
+
index
+
"].model' value='"
+
item
.
model
+
"' />"
);
addRow
(
'#storageChild-'
+
row
.
id
+
'-1-List'
,
storageChild1RowIdx
,
storageChild1Tpl
,
data1
[
i
]);
var
goodsInfoId$
=
$
(
"<input type='hidden' name='ledgerInfoList["
+
index
+
"].goodsInfo.id' value='"
+
item
.
goodsInfo
.
id
+
"' />"
);
storageChild1RowIdx
=
storageChild1RowIdx
+
1
;
var
qrId$
=
$
(
"<input type='hidden' name='ledgerInfoList["
+
index
+
"].qr.id' value='"
+
item
.
qrCode
.
id
+
"' />"
);
}
// var shelvesId$ = $("<input type='hidden' name='ledgerInfoList["+index+"].shelves.id' value='"+item.shelves.id+"' />");
var
code$
=
$
(
"<input type='hidden' name='ledgerInfoList["
+
index
+
"].code' value='"
+
item
.
qrCode
.
code
+
"' />"
);
var
amount$
=
$
(
"<input type='hidden' name='ledgerInfoList["
+
index
+
"].amount' value='"
+
item
.
amount
+
"' />"
);
})
var
num$
=
$
(
"<input type='hidden' name='ledgerInfoList["
+
index
+
"].num' value='"
+
item
.
num
+
"' />"
);
var
shelvesIds$
=
$
(
"<input type='hidden' name='ledgerInfoList["
+
index
+
"].shelvesIds' value='"
+
item
.
shelvesIds
+
"' />"
);
return
html
;
var
warehouseIds$
=
$
(
"<input type='hidden' name='ledgerInfoList["
+
index
+
"].warehouseIds' value='"
+
item
.
warehouseIds
+
"' />"
);
}
$
(
"#ledgerForm"
).
append
(
id$
).
append
(
delFlag$
).
append
(
name$
).
append
(
typeId$
).
append
(
batchNum$
).
append
(
model$
).
append
(
num$
)
.
append
(
goodsInfoId$
).
append
(
qrId$
).
append
(
code$
).
append
(
amount$
).
append
(
shelvesIds$
).
append
(
warehouseIds$
);
function
addRow
(
list
,
idx
,
tpl
,
row
){
})
$
(
list
).
append
(
Mustache
.
render
(
tpl
,
{
jp
.
loading
(
'入库中...'
);
idx
:
idx
,
delBtn
:
true
,
row
:
row
jp
.
post
(
"${ctx}/warehouse/ledger/ledger/save"
,
$
(
"#ledgerForm"
).
serialize
(),
function
(
res
){
}));
if
(
res
.
success
){
}
jp
.
success
(
'入库成功!'
);
$
(
'#storageTable'
).
bootstrapTable
(
'collapseRow'
,
rowIndex
);
function
onStorage
(
countStorage
,
goodsInfoId
,
rowIndex
){
setTimeout
(
function
(){
debugger
$
(
'#storageTable'
).
bootstrapTable
(
'expandRow'
,
rowIndex
);
var
main
=
JSON
.
parse
(
countStorage
);
},
0
)
var
data
=
[
main
];
}
else
{
// var shelvesIds = data.map(function (item){
jp
.
error
(
'入库失败!'
);
// return item.shelves.id
}
// }).join(',');
})
// 构建台账主表
// jp.get("${ctx}/warehouse/storage/storage/findInfoBycountStorage?goodsInfo.id="+goodsInfoId+"&storage.id="+main.storageId, function (res){
var
name$
=
$
(
"<input type='hidden' name='name' value='"
+
main
.
name
+
"' />"
);
// var data = res.body.storageInfoList;
var
typeId$
=
$
(
"<input type='hidden' name='type.id' value='"
+
main
.
type
.
id
+
"' />"
);
// if(Array.isArray(data)){
var
typeName$
=
$
(
"<input type='hidden' name='type.name' value='"
+
main
.
type
.
name
+
"' />"
);
//
var
model$
=
$
(
"<input type='hidden' name='model' value='"
+
main
.
model
+
"' />"
);
// }
// var shelvesIds$ = $("<input type='hidden' name='shelvesIds' value='"+shelvesIds+"' />");
// })
var
num$
=
$
(
"<input type='hidden' name='num' value="
+
main
.
num
+
" />"
);
}
var
sum$
=
$
(
"<input type='hidden' name='sum' value="
+
new
Big
(
main
.
num
).
times
(
main
.
amount
).
toNumber
()
+
" />"
);
$
(
"#ledgerForm"
).
empty
();
$
(
"#ledgerForm"
).
append
(
name$
).
append
(
typeId$
).
append
(
typeName$
).
append
(
model$
).
append
(
num$
).
append
(
sum$
);
data
.
forEach
(
function
(
item
,
index
){
// 构建台账附表
var
id$
=
$
(
"<input type='hidden' name='ledgerInfoList["
+
index
+
"].id' value='' />"
);
var
delFlag$
=
$
(
"<input type='hidden' name='ledgerInfoList["
+
index
+
"].delFlag' value='0' />"
);
var
name$
=
$
(
"<input type='hidden' name='ledgerInfoList["
+
index
+
"].name' value='"
+
item
.
name
+
"' />"
);
var
typeId$
=
$
(
"<input type='hidden' name='ledgerInfoList["
+
index
+
"].type.id' value='"
+
item
.
type
.
id
+
"' />"
);
var
batchNum$
=
$
(
"<input type='hidden' name='ledgerInfoList["
+
index
+
"].batchNum' value='"
+
main
.
batchNum
+
"' />"
);
var
model$
=
$
(
"<input type='hidden' name='ledgerInfoList["
+
index
+
"].model' value='"
+
item
.
model
+
"' />"
);
var
goodsInfoId$
=
$
(
"<input type='hidden' name='ledgerInfoList["
+
index
+
"].goodsInfo.id' value='"
+
item
.
goodsInfo
.
id
+
"' />"
);
var
qrId$
=
$
(
"<input type='hidden' name='ledgerInfoList["
+
index
+
"].qr.id' value='"
+
item
.
qrCode
.
id
+
"' />"
);
// var shelvesId$ = $("<input type='hidden' name='ledgerInfoList["+index+"].shelves.id' value='"+item.shelves.id+"' />");
var
code$
=
$
(
"<input type='hidden' name='ledgerInfoList["
+
index
+
"].code' value='"
+
item
.
qrCode
.
code
+
"' />"
);
var
amount$
=
$
(
"<input type='hidden' name='ledgerInfoList["
+
index
+
"].amount' value='"
+
item
.
amount
+
"' />"
);
var
num$
=
$
(
"<input type='hidden' name='ledgerInfoList["
+
index
+
"].num' value='"
+
item
.
num
+
"' />"
);
var
shelvesIds$
=
$
(
"<input type='hidden' name='ledgerInfoList["
+
index
+
"].shelvesIds' value='"
+
item
.
shelvesIds
+
"' />"
);
var
warehouseIds$
=
$
(
"<input type='hidden' name='ledgerInfoList["
+
index
+
"].warehouseIds' value='"
+
item
.
warehouseIds
+
"' />"
);
var
remarks$
=
$
(
"<input type='hidden' name='ledgerInfoList["
+
index
+
"].remarks' value='"
+
item
.
remarks
+
"' />"
);
$
(
"#ledgerForm"
).
append
(
id$
).
append
(
delFlag$
).
append
(
name$
).
append
(
typeId$
).
append
(
batchNum$
).
append
(
model$
).
append
(
num$
)
.
append
(
goodsInfoId$
).
append
(
qrId$
).
append
(
code$
).
append
(
amount$
).
append
(
shelvesIds$
).
append
(
warehouseIds$
).
append
(
remarks$
);
})
jp
.
loading
(
'入库中...'
);
jp
.
post
(
"${ctx}/warehouse/ledger/ledger/save"
,
$
(
"#ledgerForm"
).
serialize
(),
function
(
res
){
if
(
res
.
success
){
jp
.
success
(
'入库成功!'
);
$
(
'#storageTable'
).
bootstrapTable
(
'collapseRow'
,
rowIndex
);
setTimeout
(
function
(){
$
(
'#storageTable'
).
bootstrapTable
(
'expandRow'
,
rowIndex
);
},
0
)
}
else
{
jp
.
error
(
'入库失败!'
);
}
})
// jp.get("${ctx}/warehouse/storage/storage/findInfoBycountStorage?goodsInfo.id="+goodsInfoId+"&storage.id="+main.storageId, function (res){
// var data = res.body.storageInfoList;
// if(Array.isArray(data)){
//
// }
// })
}
<
/script
>
<
/script
>
<
script
type
=
"text/template"
id
=
"storageChildrenTpl"
>
//<!--
<
script
type
=
"text/template"
id
=
"storageChildrenTpl"
>
//<!--
<
div
class
=
"tabs-container"
>
<
div
class
=
"tabs-container"
>
...
@@ -375,6 +376,7 @@ $(document).ready(function() {
...
@@ -375,6 +376,7 @@ $(document).ready(function() {
<
th
>
总价
<
/th
>
<
th
>
总价
<
/th
>
<
th
>
仓库
<
/th
>
<
th
>
仓库
<
/th
>
<
th
>
货架
<
/th
>
<
th
>
货架
<
/th
>
<
th
>
备注
<
/th
>
<
th
>
操作
<
/th
>
<
th
>
操作
<
/th
>
<
/tr
>
<
/tr
>
<
/thead
>
<
/thead
>
...
@@ -383,8 +385,8 @@ $(document).ready(function() {
...
@@ -383,8 +385,8 @@ $(document).ready(function() {
<
/table
>
<
/table
>
<
/div
>
<
/div
>
<
/div>/
/-->
<
/div>/
/-->
<
/script
>
<
/script
>
<
script
type
=
"text/template"
id
=
"storageChild1Tpl"
>
//<!--
<
script
type
=
"text/template"
id
=
"storageChild1Tpl"
>
//<!--
<
tr
>
<
tr
>
<
td
>
<
td
>
{{
row
.
type
.
name
}}
{{
row
.
type
.
name
}}
...
@@ -413,7 +415,9 @@ $(document).ready(function() {
...
@@ -413,7 +415,9 @@ $(document).ready(function() {
<
td
>
<
td
>
{{
row
.
shelvesNames
}}
{{
row
.
shelvesNames
}}
<
/td
>
<
/td
>
<
td
>
{{
row
.
remarks
}}
<
/td
>
{{
#
row
.
isNotStorage
}}
{{
#
row
.
isNotStorage
}}
<
td
>
<
td
>
<
a
href
=
"javascript:void(0);"
onclick
=
"onStorage('{{row.jsonStr}}','{{row.goodsInfo.id}}',{{row.mainRowIndex}})"
>
入库
<
/a
>
<
a
href
=
"javascript:void(0);"
onclick
=
"onStorage('{{row.jsonStr}}','{{row.goodsInfo.id}}',{{row.mainRowIndex}})"
>
入库
<
/a
>
...
@@ -425,4 +429,4 @@ $(document).ready(function() {
...
@@ -425,4 +429,4 @@ $(document).ready(function() {
<
/td
>
<
/td
>
{{
/
row
.
isStorage
}}
{{
/
row
.
isStorage
}}
<
/tr>/
/-->
<
/tr>/
/-->
<
/script
>
<
/script
>
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