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
da3c02e5
Commit
da3c02e5
authored
Jul 21, 2023
by
anxiaohe
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
盘盈盘亏
parent
91cf88d6
Hide whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
730 additions
and
449 deletions
+730
-449
logic.js
src/main/webapp/webpage/modules/warehouse/goods/logic.js
+13
-1
materialLossDetail.jsp
...age/modules/warehouse/materialloss/materialLossDetail.jsp
+29
-9
materialLossList.js
...ebpage/modules/warehouse/materialloss/materialLossList.js
+11
-5
outboundList.js
...webapp/webpage/modules/warehouse/outbound/outboundList.js
+4
-4
profitWarehousingDetail.jsp
...s/warehouse/profitwarehousing/profitWarehousingDetail.jsp
+282
-60
profitWarehousingList.js
...ules/warehouse/profitwarehousing/profitWarehousingList.js
+389
-368
profitWarehousingList.jsp
...les/warehouse/profitwarehousing/profitWarehousingList.jsp
+2
-2
No files found.
src/main/webapp/webpage/modules/warehouse/goods/logic.js
View file @
da3c02e5
...
...
@@ -85,7 +85,7 @@ var pageConfig = {
// 图片高度
Image_h
:
63
,
// 图片阈值
Image_Threshold
:
17
0
,
Image_Threshold
:
22
0
,
// 图片打印模式
Image_style_let
:
3
,
}
...
...
@@ -154,6 +154,18 @@ function printImage (url) {
]
}
console
.
log
(
pack
)
var
str
=
JSON
.
stringify
(
pack
,
null
,
2
);
var
blob
=
new
Blob
([
str
],
{
type
:
"application/json"
});
var
url
=
URL
.
createObjectURL
(
blob
);
var
a
=
document
.
createElement
(
'a'
);
a
.
href
=
url
;
a
.
download
=
'a.json'
;
a
.
click
();
a
.
remove
();
on_link_device
(
pack
,
onBack
);
})
...
...
src/main/webapp/webpage/modules/warehouse/materialloss/materialLossDetail.jsp
View file @
da3c02e5
...
...
@@ -44,30 +44,30 @@
}
},
{
field: 'ledgerInfo.
nam
e',
title: '物资
名称
',
field: 'ledgerInfo.
cod
e',
title: '物资
编码
',
formatter: function (value, row, index) {
return Mustache.render($("#ledgerInfo
Nam
eTpl").html(), {
return Mustache.render($("#ledgerInfo
Cod
eTpl").html(), {
row: row,
idx: index
})
}
},
{
field: 'ledgerInfo.
cod
e',
title: '
物资编码
',
field: 'ledgerInfo.
type.nam
e',
title: '
品名
',
formatter: function (value, row, index) {
return Mustache.render($("#ledgerInfo
CodeTpl").html(
), {
return Mustache.render($("#ledgerInfo
TypeTpl").html().replace(/(\/\/\<!\-\-)|(\/\/\-\->)/g, ""
), {
row: row,
idx: index
})
}
},
{
field: 'ledgerInfo.type.
nam
e',
title: '
品名
代码',
field: 'ledgerInfo.type.
cod
e',
title: '代码',
formatter: function (value, row, index) {
return Mustache.render($("#ledgerInfoTypeTpl").html().replace(/(\/\/\<!\-\-)|(\/\/\-\->)/g, ""), {
return Mustache.render($("#ledgerInfoType
Code
Tpl").html().replace(/(\/\/\<!\-\-)|(\/\/\-\->)/g, ""), {
row: row,
idx: index
})
...
...
@@ -94,6 +94,16 @@
}
},
{
field: 'ledgerInfo.type.unit',
title: '单位',
formatter: function (value, row, index) {
return Mustache.render($("#ledgerInfoTypeUnitTpl").html().replace(/(\/\/\<!\-\-)|(\/\/\-\->)/g, ""), {
row: row,
idx: index
})
}
},
{
field: 'ledgerInfo.batchNum',
title: '批次号',
formatter: function (value, row, index) {
...
...
@@ -246,6 +256,16 @@
<sys:treeselect id="materialLossInfoList{{idx}}_ledgerInfoType" name="materialLossInfoList[{{idx}}].ledgerInfo.type.id" value="{{row.ledgerInfo.type.id}}" labelName="materialLossInfoList{{idx}}.ledgerInfo.type.name" labelValue="{{row.ledgerInfo.type.name}}"
title="品名代码" url="/warehouse/materialtype/materialType/treeData" cssClass="form-control " disabled="disabled" allowClear="true"/>//-->
</script>
<script id="ledgerInfoTypeCodeTpl" type="text/html">
<input id="materialLossInfoList{{idx}}_ledgerInfoTypeCode"
name="materialLossInfoList[{{idx}}].ledgerInfo.type.code" type="text" class="form-control" readonly
value="{{row.ledgerInfo.type.code}}"/>
</script>
<script id="ledgerInfoTypeUnitTpl" type="text/html">
<input id="materialLossInfoList{{idx}}_ledgerInfoTypeUnit"
name="materialLossInfoList[{{idx}}].ledgerInfo.type.unit" type="text" class="form-control" readonly
value="{{row.ledgerInfo.type.unit}}"/>
</script>
<script id="ledgerInfoModelTpl" type="text/html">
<input id="materialLossInfoList{{idx}}_ledgerInfoModel"
name="materialLossInfoList[{{idx}}].ledgerInfo.model" type="text" class="form-control" readonly
...
...
src/main/webapp/webpage/modules/warehouse/materialloss/materialLossList.js
View file @
da3c02e5
...
...
@@ -289,11 +289,13 @@ $(document).ready(function() {
<
table
class
=
"ani table"
>
<
thead
>
<
tr
>
<
th
>
物资名称
<
/th
>
<
th
>
物资编号
<
/th
>
<
th
>
品名代码
<
/th
>
<
th
>
品名
<
/th
>
<
th
>
代码
<
/th
>
<
th
>
型号
<
/th
>
<
th
>
单价
<
/th
>
<
th
>
单位
<
/th
>
<
th
>
批次号
<
/th
>
<
th
>
货架
<
/th
>
<
th
>
仓库
<
/th
>
...
...
@@ -308,9 +310,7 @@ $(document).ready(function() {
<
/script
>
<
script
type
=
"text/template"
id
=
"materialLossChild1Tpl"
>
//<!--
<
tr
>
<
td
>
{{
row
.
ledgerInfo
.
name
}}
<
/td
>
<
td
>
{{
row
.
ledgerInfo
.
code
}}
<
/td
>
...
...
@@ -318,12 +318,18 @@ $(document).ready(function() {
{{
row
.
ledgerInfo
.
type
.
name
}}
<
/td
>
<
td
>
{{
row
.
ledgerInfo
.
type
.
code
}}
<
/td
>
<
td
>
{{
row
.
ledgerInfo
.
model
}}
<
/td
>
<
td
>
{{
row
.
ledgerInfo
.
amount
}}
<
/td
>
<
td
>
{{
row
.
ledgerInfo
.
type
.
unit
}}
<
/td
>
<
td
>
{{
row
.
ledgerInfo
.
batchNum
}}
<
/td
>
<
td
>
...
...
src/main/webapp/webpage/modules/warehouse/outbound/outboundList.js
View file @
da3c02e5
...
...
@@ -321,16 +321,16 @@ function addRow(list, idx, tpl, row){
<
/script
>
<
script
type
=
"text/template"
id
=
"outboundChild1Tpl"
>
//<!--
<
tr
>
<
td
>
{{
row
.
ledgerInfo
.
code
}}
<
/td
>
<
td
>
{{
row
.
ledgerInfo
.
type
.
name
}}
<
/td
>
<
td
>
{{
row
.
ledgerInfo
.
type
.
code
}}
<
/td
>
<
td
>
{{
row
.
ledgerInfo
.
code
}}
<
/td
>
<
td
>
{{
row
.
ledgerInfo
.
type
.
unit
}}
<
/td
>
...
...
src/main/webapp/webpage/modules/warehouse/profitwarehousing/profitWarehousingDetail.jsp
View file @
da3c02e5
...
...
@@ -20,6 +20,7 @@
function initTable(){
var data = ${fns:toJson(profitWarehousing.profitWarehousingInfoList)};
if(data.length){
debugger
data = data.map(function(item){
item.delFlag = 0;
item.readonly = item.qrCode && item.qrCode.state === '2'
...
...
@@ -44,21 +45,51 @@
return html + '<span>'+(index+1)+'</span>'
}
},
// {
// field: 'name',
// title: '名称',
// formatter: function (value,row,index){
// return Mustache.render($("#nameTpl").html(),{
// row: row,
// idx: index
// })
// }
// },
{
field: 'name',
title: '
名称
',
field: '
type.
name',
title: '
品名
',
formatter: function (value,row,index){
return Mustache.render($("#
nameTpl").html(
),{
return Mustache.render($("#
typeTpl").html().replace(/(\/\/\<!\-\-)|(\/\/\-\->)/g, ""
),{
row: row,
idx: index
})
}
},
{
field: 'type.name',
title: '品名代码',
field: 'type.code',
title: '代码',
formatter: function (value,row,index) {
return Mustache.render($("#typeCodeTpl").html().replace(/(\/\/\<!\-\-)|(\/\/\-\->)/g, ""),{
row: row,
idx: index
})
}
},
{
field: 'amount',
title: '单价',
formatter: function (value,row,index){
return Mustache.render($("#typeTpl").html().replace(/(\/\/\<!\-\-)|(\/\/\-\->)/g, ""),{
return Mustache.render($("#amountTpl").html().replace(/(\/\/\<!\-\-)|(\/\/\-\->)/g, ""),{
row: row,
idx: index
})
}
},
{
field: 'type.unit',
title: '单位',
formatter: function (value,row,index){
return Mustache.render($("#unitTpl").html().replace(/(\/\/\<!\-\-)|(\/\/\-\->)/g, ""),{
row: row,
idx: index
})
...
...
@@ -75,7 +106,17 @@
}
},
{
field: 'shelves.name',
field: 'num',
title: '数量',
formatter: function (value,row,index){
return Mustache.render($("#numTpl").html().replace(/(\/\/\<!\-\-)|(\/\/\-\->)/g, ""),{
row: row,
idx: index
})
}
},
{
field: 'shelvesIds',
title: '货架',
formatter: function (value,row,index){
return Mustache.render($("#shelvesTpl").html().replace(/(\/\/\<!\-\-)|(\/\/\-\->)/g, ""),{
...
...
@@ -85,10 +126,10 @@
}
},
{
field: '
amount
',
title: '
单价
',
field: '
warehouseIds
',
title: '
仓库
',
formatter: function (value,row,index){
return Mustache.render($("#
amount
Tpl").html().replace(/(\/\/\<!\-\-)|(\/\/\-\->)/g, ""),{
return Mustache.render($("#
warehouse
Tpl").html().replace(/(\/\/\<!\-\-)|(\/\/\-\->)/g, ""),{
row: row,
idx: index
})
...
...
@@ -175,10 +216,48 @@
* @param elem 元素
* @param field 属性
*/
// function onInputChange(rowIndex, elem , field){
// var obj = {};
// obj[field] = $(elem).val()
// updateRow(rowIndex, obj)
// if(field === 'amount' && obj[field]) {
// // 正则表达式验证可以带小数点的数字
// // 不是数字
// if(!/^(?:[1-9]\d*|0)(?:\.\d{1,2})?$/.test(obj[field])) {
// jp.warning("输入正确的金额");
// $(elem).val('')
// return
// }
// setSumPrice();
// }
// }
function onInputChange(rowIndex, elem , field){
var obj = {};
obj[field] = $(elem).val()
updateRow(rowIndex, obj)
obj[field] = $(elem).val();
debugger
// 校验数量与单价
if(field === 'num' && obj[field]){
// 正则表达式验证可以带小数点的数字
var reg = new RegExp("^[0-9]+(.[0-9]{1,2})?$");
// 不是数字
if(!reg.test(obj[field])){
jp.warning("必须是数字");
$(elem).val('')
return
}
if (Number(obj[field]) <= 0) {
jp.warning("数量不能小于等于0");
$(elem).val('');
return;
}
if ($("#profitWarehousingInfoList" + rowIndex + "_amount").val()) {
obj.infoSum = new Big($("#profitWarehousingInfoList" + rowIndex + "_amount").val()).times(obj[field]).toNumber();
}
}
if(field === 'amount' && obj[field]) {
// 正则表达式验证可以带小数点的数字
// 不是数字
...
...
@@ -187,15 +266,35 @@
$(elem).val('')
return
}
if ($("#profitWarehousingInfoList" + rowIndex + "_num").val()) {
obj.infoSum = new Big($("#profitWarehousingInfoList" + rowIndex + "_num").val()).times(obj[field]).toNumber();
}
}
updateRow(rowIndex, obj);
if((field === 'num' && obj[field]) || (field === 'amount' && obj[field])) {
setSumPrice();
}
}
// function setSumPrice(){
// var data = $(selector).bootstrapTable('getData');
// var sum = data.reduce(function (sum, current){
// if(current.delFlag != 1 && current.amount){
// return new Big(current.amount).plus(sum);
// }
// return new Big(sum);
// },0)
// $("#sum").val(sum);
// }
function setSumPrice(){
var data = $(selector).bootstrapTable('getData');
var sum = data.reduce(function (sum, current){
if(current.delFlag != 1 && current.amount){
return new Big(current.amount).plus(sum);
if(current.delFlag != 1 && current.amount && current.num){
var total = new Big(current.amount).times(current.num).toNumber();
return new Big(sum).plus(total);
}
return new Big(sum);
},0)
...
...
@@ -207,32 +306,62 @@
* @param nodes 选中数据
* @param rowIndex 行下标
*/
function onSelectType(nodes, rowIndex){
if(Array.isArray(nodes) && nodes.length === 1){
var node = nodes[0];
var obj = {
type: {
id: node.id,
name: node.text
}
};
updateRow(rowIndex, obj)
}
}
// function onSelectType(nodes, rowIndex){
// if(Array.isArray(nodes) && nodes.length === 1){
// var node = nodes[0];
// var obj = {
// type: {
// id: node.id,
// name: node.text
// }
// };
// updateRow(rowIndex, obj)
// }
// }
function onSelectShelves(nodes, rowIndex){
if(Array.isArray(nodes) && nodes.length === 1){
var node = nodes[0];
if(Array.isArray(nodes)){
var obj = {
shelves: {
id: node.id,
name: node.name
},
warehouse: node.warehouse
shelvesIds: '',
warehouseIds: '',
shelvesNames: '',
warehouseNames: ''
};
var warehouseIdMap = {};
nodes.forEach(function (item) {
obj.shelvesIds += item.id + ',';
obj.shelvesNames += item.name + ',';
if (!warehouseIdMap[item.warehouse.id]) {
obj.warehouseIds += item.warehouse.id + ',';
obj.warehouseNames += item.warehouse.name + ',';
warehouseIdMap[item.warehouse.id] = true;
}
})
// var node = nodes[0];
// var obj = {
// shelves: {
// id: node.id,
// name: node.name
// },
// warehouse: node.warehouse
// };
updateRow(rowIndex, obj)
}
}
// function onSelectShelves(nodes, rowIndex){
// if(Array.isArray(nodes) && nodes.length === 1){
// var node = nodes[0];
// var obj = {
// shelves: {
// id: node.id,
// name: node.name
// },
// warehouse: node.warehouse
// };
// updateRow(rowIndex, obj)
// }
// }
/**
* 获取所有明细数据
...
...
@@ -246,21 +375,62 @@
* 批量添加货架
*/
function addShelve(){
// jp.openShelvesSelectDialog(function (items){
// var Shelve = items[0]; // 货架对象
//
// getTableData().forEach(function (item,index){
// if(item[0]){
// updateRow(index,{
// shelves: {
// id: Shelve.id,
// name: Shelve.name
// },
// warehouse: Shelve.warehouse
// })
// }
// })
// })
jp.openShelvesSelectDialog(function (items){
var Shelve = items[0]; // 货架对象
setTimeout(function(){
// var Shelve = items[0]; // 货架对象
getTableData().forEach(function (item,index){
if(item[0]){
updateRow(index,{
shelves: {
id: Shelve.id,
name: Shelve.name
},
warehouse: Shelve.warehouse
})
}
})
})
var obj = {
shelvesIds: '',
warehouseIds: '',
shelvesNames: '',
warehouseNames: ''
};
var warehouseIdMap = {};
items.forEach(function (item) {
obj.shelvesIds += item.id + ',';
obj.shelvesNames += item.name + ',';
if (!warehouseIdMap[item.warehouse.id]) {
obj.warehouseIds += item.warehouse.id + ',';
obj.warehouseNames += item.warehouse.name + ',';
warehouseIdMap[item.warehouse.id] = true;
}
})
// var realSelections = []; // 保存真实选中的数据
var allSelections = getSelections(); // 保存所有选中的数据(含分页)
var currentPageData = getTableData(true); // 保存当前分页数据
// allSelections.forEach(function(item){
// var finded = currentPageData.find(function(value){
// return value.qrCode.id === item.qrCode.id
// });
// if(finded){
// realSelections.push(item);
// }
// });
allSelections.forEach(function (item, index){
// var index = getTableData().findIndex(function (current){
// return current.qrCode.id === item.qrCode.id;
// }); // 需更新的行的下标
updateRow(index, Object.assign({}, obj));
})
},200)
}, true);
}
function addDetail(){
...
...
@@ -284,6 +454,51 @@
}
$(selector).bootstrapTable('append',[row])
}
function onSelectType(nodes, rowIndex){
if(Array.isArray(nodes) && nodes.length === 1){
var node = nodes[0];
var obj = {
type: {
id: node.id,
name: node.text,
code: node.original.code,
unit: node.original.unit
},
amount: node.original.amount,
};
if ($("#profitWarehousingInfoList" + rowIndex + "_num").val()) {
obj.infoSum = new Big($("#profitWarehousingInfoList" + rowIndex + "_num").val()).times(obj.amount).toNumber();
}
updateRow(rowIndex, obj)
}
}
function delType (idName, id) {
var name = $("#" + idName + 'Id').attr('name');
var str1 = name.split('.')[0];
var startNum = str1.indexOf('[') + 1;
var str2 = str1.substring(startNum);
var endNum = str2.length - 1;
var num = str2.substring(0, endNum);
var key = "#profitWarehousingInfoList" + num;
$(key + "_typeCode").val('');
$(key + "_amount").val('');
$(key + "_unit").val('');
$(key + "_infoSum").val('');
var obj = {
type: {
id: '',
name: '',
code: '',
unit: ''
},
amount: '',
infoSum: ''
};
updateRow(num, obj);
setSumPrice();
}
</script>
<script id="hideTpl" type="text/html">
...
...
@@ -308,10 +523,12 @@
{{/row.readonly}}
{{^row.readonly}}
<sys:treeselect id="profitWarehousingInfoList{{idx}}_type" name="profitWarehousingInfoList[{{idx}}].type.id" value="{{row.type.id}}" labelName="profitWarehousingInfoList{{idx}}.type.name" labelValue="{{row.type.name}}"
title="品名代码" url="/warehouse/materialtype/materialType/treeData" notAllowSelectParent="true" cssClass="form-control required" allowClear="true" allowSearch="true" callback="onSelectType" />
title="品名代码" url="/warehouse/materialtype/materialType/treeData" notAllowSelectParent="true" cssClass="form-control required" allowClear="true" allowSearch="true" callback="onSelectType"
delCallback="delType"
/>
{{/row.readonly}}//-->
</script>
<script id="typeCodeTpl" type="text/html">
<input id="profitWarehousingInfoList{{idx}}_typeCode" name="profitWarehousingInfoList[{{idx}}].type.code" type="text" value="{{row.type.code}}" readonly class="form-control required"/>
</script>
<script id="modelTpl" type="text/html">
{{#row.readonly}}
<input id="profitWarehousingInfoList{{idx}}_marking" name="profitWarehousingInfoList[{{idx}}].marking" type="text" value="{{row.marking}}" readonly class="form-control "/>
...
...
@@ -321,21 +538,27 @@
{{/row.readonly}}
</script>
<script id="amountTpl" type="text/html">
{{#row.readonly}}
<input id="profitWarehousingInfoList{{idx}}_amount" name="profitWarehousingInfoList[{{idx}}].amount" type="text" value="{{row.amount}}" readonly class="form-control "/>
{{/row.readonly}}
{{^row.readonly}}
<input id="profitWarehousingInfoList{{idx}}_amount" name="profitWarehousingInfoList[{{idx}}].amount" type="text" value="{{row.amount}}" onchange="onInputChange('{{idx}}', this, 'amount')" class="form-control "/>
{{/row.readonly}}
<input id="profitWarehousingInfoList{{idx}}_amount" name="profitWarehousingInfoList[{{idx}}].amount" type="text" value="{{row.amount}}" readonly onchange="onInputChange('{{idx}}', this, 'amount')" class="form-control required"/>
</script>
<script id="unitTpl" type="text/html">
<input id="profitWarehousingInfoList{{idx}}_unit" name="profitWarehousingInfoList[{{idx}}].type.unit" type="text" value="{{row.type.unit}}" readonly onchange="onInputChange('{{idx}}', this, 'type.unit')" class="form-control required"/>
</script>
<script id="numTpl" type="text/html">
<input id="profitWarehousingInfoList{{idx}}_num" name="profitWarehousingInfoList[{{idx}}].num" type="text" value="{{row.num}}" onchange="onInputChange('{{idx}}', this, 'num')" class="form-control required"/>
</script>
<script id="warehouseTpl" type="text/html">
<input id="profitWarehousingInfoList{{idx}}_warehouseName" type="text" value="{{row.warehouseNames}}" readonly class="form-control "/>
<input id="profitWarehousingInfoList{{idx}}_warehouseIds" name="profitWarehousingInfoList[{{idx}}].warehouseIds" type="hidden" value="{{row.warehouseIds}}" readonly class="form-control "/>
<input type="hidden" id="profitWarehousingInfoList{{idx}}_shelvesIds" name="profitWarehousingInfoList[{{idx}}].shelvesIds" value="{{row.shelvesIds}}">
</script>
<script id="shelvesTpl" type="text/html">//<!--
{{#row.readonly}}
<sys:shelvesselect id="profitWarehousingInfoList{{idx}}_shelves" name="profitWarehousingInfoList[{{idx}}].shelves
.id" value="{{row.shelves.id}}" labelName="profitWarehousingInfoList[{{idx}}].shelves.name" labelValue="{{row.shelves.name
}}"
cssClass="form-control required" iframeUrl="/warehouse/profitwarehousing/profitWarehousing/form" disabled="disabled"
></sys:shelvesselect
>
<sys:shelvesselect id="profitWarehousingInfoList{{idx}}_shelves" name="profitWarehousingInfoList[{{idx}}].shelves
Ids" value="{{row.shelvesIds}}" labelName="profitWarehousingInfoList[{{idx}}].shelvesNames" labelValue="{{row.shelvesNames
}}"
cssClass="form-control required" iframeUrl="/warehouse/profitwarehousing/profitWarehousing/form" disabled="disabled"
/
>
{{/row.readonly}}
{{^row.readonly}}
<sys:shelvesselect id="profitWarehousingInfoList{{idx}}_shelves" name="profitWarehousingInfoList[{{idx}}].shelves
.id" value="{{row.shelves.id}}" labelName="profitWarehousingInfoList[{{idx}}].shelves.name" labelValue="{{row.shelves.name
}}"
cssClass="form-control required" iframeUrl="/warehouse/profitwarehousing/profitWarehousing/form" callback="onSelectShelves"
></sys:shelvesselect
>
<sys:shelvesselect id="profitWarehousingInfoList{{idx}}_shelves" name="profitWarehousingInfoList[{{idx}}].shelves
Ids" value="{{row.shelvesIds}}" labelName="profitWarehousingInfoList[{{idx}}].shelvesNames" labelValue="{{row.shelvesNames
}}"
cssClass="form-control required" iframeUrl="/warehouse/profitwarehousing/profitWarehousing/form" callback="onSelectShelves"
isMultiSelected="true" /
>
{{/row.readonly}}//-->
</script>
<script id="remarksTpl" type="text/html">
...
...
@@ -361,4 +584,4 @@
</div>
</div>
<br>
</script>
\ No newline at end of file
</script>
src/main/webapp/webpage/modules/warehouse/profitwarehousing/profitWarehousingList.js
View file @
da3c02e5
<%
@
page
contentType
=
"text/html;charset=UTF-8"
%>
<
script
>
var
LODOP
;
<
script
>
var
LODOP
;
$
(
document
).
ready
(
function
()
{
$
(
'#profitWarehousingTable'
).
bootstrapTable
({
//请求方法
method
:
'post'
,
//类型json
dataType
:
"json"
,
contentType
:
"application/x-www-form-urlencoded"
,
//显示检索按钮
showSearch
:
true
,
//显示刷新按钮
showRefresh
:
true
,
//显示切换手机试图按钮
showToggle
:
true
,
//显示 内容列下拉框
showColumns
:
true
,
//显示到处按钮
showExport
:
true
,
//显示切换分页按钮
showPaginationSwitch
:
true
,
//显示详情按钮
detailView
:
true
,
//显示详细内容函数
detailFormatter
:
"detailFormatter"
,
//最低显示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/profitwarehousing/profitWarehousing/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/profitwarehousing/profitWarehousing/delete?id="
+
row
.
id
,
function
(
data
){
if
(
data
.
success
){
$
(
'#profitWarehousingTable'
).
bootstrapTable
(
'refresh'
);
jp
.
success
(
data
.
msg
);
}
else
{
jp
.
error
(
data
.
msg
);
}
})
});
}
},
onClickRow
:
function
(
row
,
$el
){
},
onShowSearch
:
function
()
{
$
(
"#search-collapse"
).
slideToggle
();
},
columns
:
[{
checkbox
:
true
}
,{
field
:
'number'
,
title
:
'单号'
,
sortable
:
true
,
sortName
:
'number'
,
formatter
:
function
(
value
,
row
,
index
){
value
=
jp
.
unescapeHTML
(
value
);
return
"<a href='javascript:view(
\"
"
+
row
.
id
+
"
\"
)'>"
+
value
+
"</a>"
;
}
}
,{
field
:
'operator.name'
,
title
:
'操作人'
,
sortable
:
true
,
sortName
:
'operator.name'
}
,{
field
:
'time'
,
title
:
'时间'
,
sortable
:
true
,
sortName
:
'time'
},{
field
:
'sum'
,
title
:
'总价'
,
sortable
:
true
,
sortName
:
'sum'
}
,{
field
:
'remarks'
,
title
:
'备注信息'
,
sortable
:
true
,
sortName
:
'remarks'
}
]
});
if
(
navigator
.
userAgent
.
match
(
/
(
iPhone|iPod|Android|ios
)
/i
)){
//如果是移动端
$
(
'#profitWarehousingTable'
).
bootstrapTable
(
"toggleView"
);
}
$
(
'#profitWarehousingTable'
).
on
(
'check.bs.table uncheck.bs.table load-success.bs.table '
+
'check-all.bs.table uncheck-all.bs.table'
,
function
()
{
$
(
'#remove'
).
prop
(
'disabled'
,
!
$
(
'#profitWarehousingTable'
).
bootstrapTable
(
'getSelections'
).
length
);
$
(
'#view,#edit'
).
prop
(
'disabled'
,
$
(
'#profitWarehousingTable'
).
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/profitwarehousing/profitWarehousing/import/template'
);
},
btn2
:
function
(
index
,
layero
){
var
iframeWin
=
layero
.
find
(
'iframe'
)[
0
];
//得到iframe页的窗口对象,执行iframe页的方法:iframeWin.method();
iframeWin
.
contentWindow
.
importExcel
(
'${ctx}/warehouse/profitwarehousing/profitWarehousing/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
=
$
(
'#profitWarehousingTable'
).
bootstrapTable
(
"getOptions"
,
"none"
).
sortName
;
var
sortOrder
=
$
(
'#profitWarehousingTable'
).
bootstrapTable
(
"getOptions"
,
"none"
).
sortOrder
;
var
values
=
""
;
for
(
var
key
in
searchParam
){
values
=
values
+
key
+
"="
+
searchParam
[
key
]
+
"&"
;
$
(
'#profitWarehousingTable'
).
bootstrapTable
({
//请求方法
method
:
'post'
,
//类型json
dataType
:
"json"
,
contentType
:
"application/x-www-form-urlencoded"
,
//显示检索按钮
showSearch
:
true
,
//显示刷新按钮
showRefresh
:
true
,
//显示切换手机试图按钮
showToggle
:
true
,
//显示 内容列下拉框
showColumns
:
true
,
//显示到处按钮
showExport
:
true
,
//显示切换分页按钮
showPaginationSwitch
:
true
,
//显示详情按钮
detailView
:
true
,
//显示详细内容函数
detailFormatter
:
"detailFormatter"
,
//最低显示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/profitwarehousing/profitWarehousing/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/profitwarehousing/profitWarehousing/delete?id="
+
row
.
id
,
function
(
data
){
if
(
data
.
success
){
$
(
'#profitWarehousingTable'
).
bootstrapTable
(
'refresh'
);
jp
.
success
(
data
.
msg
);
}
else
{
jp
.
error
(
data
.
msg
);
}
})
});
}
if
(
sortName
!=
undefined
&&
sortOrder
!=
undefined
){
values
=
values
+
"orderBy="
+
sortName
+
" "
+
sortOrder
;
},
onClickRow
:
function
(
row
,
$el
){
},
onShowSearch
:
function
()
{
$
(
"#search-collapse"
).
slideToggle
();
},
columns
:
[{
checkbox
:
true
}
,{
field
:
'number'
,
title
:
'单号'
,
sortable
:
true
,
sortName
:
'number'
,
formatter
:
function
(
value
,
row
,
index
){
value
=
jp
.
unescapeHTML
(
value
);
return
"<a href='javascript:view(
\"
"
+
row
.
id
+
"
\"
)'>"
+
value
+
"</a>"
;
}
}
,{
field
:
'operator.name'
,
title
:
'操作人'
,
sortable
:
true
,
sortName
:
'operator.name'
}
,{
field
:
'time'
,
title
:
'时间'
,
sortable
:
true
,
sortName
:
'time'
},{
field
:
'sum'
,
title
:
'总价'
,
sortable
:
true
,
sortName
:
'sum'
}
,{
field
:
'remarks'
,
title
:
'备注信息'
,
sortable
:
true
,
sortName
:
'remarks'
}
]
});
if
(
navigator
.
userAgent
.
match
(
/
(
iPhone|iPod|Android|ios
)
/i
)){
//如果是移动端
jp
.
downloadFile
(
'${ctx}/warehouse/profitwarehousing/profitWarehousing/export?'
+
values
);
})
$
(
"#search"
).
click
(
"click"
,
function
()
{
// 绑定查询按扭
$
(
'#profitWarehousingTable'
).
bootstrapTable
(
'refresh'
);
});
$
(
"#reset"
).
click
(
"click"
,
function
()
{
// 绑定查询按扭
$
(
"#searchForm input"
).
val
(
""
);
$
(
"#searchForm select"
).
val
(
""
);
$
(
"#searchForm .select-item"
).
html
(
""
);
$
(
'#profitWarehousingTable'
).
bootstrapTable
(
'refresh'
);
});
$
(
'#beginTime'
).
datetimepicker
({
format
:
"YYYY-MM-DD HH:mm:ss"
});
$
(
'#endTime'
).
datetimepicker
({
format
:
"YYYY-MM-DD HH:mm:ss"
});
});
function
getIdSelections
()
{
return
$
.
map
(
$
(
"#profitWarehousingTable"
).
bootstrapTable
(
'getSelections'
),
function
(
row
)
{
return
row
.
id
$
(
'#profitWarehousingTable'
).
bootstrapTable
(
"toggleView"
);
}
$
(
'#profitWarehousingTable'
).
on
(
'check.bs.table uncheck.bs.table load-success.bs.table '
+
'check-all.bs.table uncheck-all.bs.table'
,
function
()
{
$
(
'#remove'
).
prop
(
'disabled'
,
!
$
(
'#profitWarehousingTable'
).
bootstrapTable
(
'getSelections'
).
length
);
$
(
'#view,#edit'
).
prop
(
'disabled'
,
$
(
'#profitWarehousingTable'
).
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/profitwarehousing/profitWarehousing/import/template'
);
},
btn2
:
function
(
index
,
layero
){
var
iframeWin
=
layero
.
find
(
'iframe'
)[
0
];
//得到iframe页的窗口对象,执行iframe页的方法:iframeWin.method();
iframeWin
.
contentWindow
.
importExcel
(
'${ctx}/warehouse/profitwarehousing/profitWarehousing/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
=
$
(
'#profitWarehousingTable'
).
bootstrapTable
(
"getOptions"
,
"none"
).
sortName
;
var
sortOrder
=
$
(
'#profitWarehousingTable'
).
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/profitwarehousing/profitWarehousing/export?'
+
values
);
})
$
(
"#search"
).
click
(
"click"
,
function
()
{
// 绑定查询按扭
$
(
'#profitWarehousingTable'
).
bootstrapTable
(
'refresh'
);
});
$
(
"#reset"
).
click
(
"click"
,
function
()
{
// 绑定查询按扭
$
(
"#searchForm input"
).
val
(
""
);
$
(
"#searchForm select"
).
val
(
""
);
$
(
"#searchForm .select-item"
).
html
(
""
);
$
(
'#profitWarehousingTable'
).
bootstrapTable
(
'refresh'
);
});
$
(
'#beginTime'
).
datetimepicker
({
format
:
"YYYY-MM-DD HH:mm:ss"
});
$
(
'#endTime'
).
datetimepicker
({
format
:
"YYYY-MM-DD HH:mm:ss"
});
});
function
getIdSelections
()
{
return
$
.
map
(
$
(
"#profitWarehousingTable"
).
bootstrapTable
(
'getSelections'
),
function
(
row
)
{
return
row
.
id
});
}
function
deleteAll
(){
jp
.
confirm
(
'确认要删除该盘盈入库单记录吗?'
,
function
(){
jp
.
loading
();
jp
.
get
(
"${ctx}/warehouse/profitwarehousing/profitWarehousing/deleteAll?ids="
+
getIdSelections
(),
function
(
data
){
if
(
data
.
success
){
$
(
'#profitWarehousingTable'
).
bootstrapTable
(
'refresh'
);
jp
.
success
(
data
.
msg
);
}
else
{
jp
.
error
(
data
.
msg
);
}
})
})
}
//刷新列表
function
refresh
(){
$
(
'#profitWarehousingTable'
).
bootstrapTable
(
'refresh'
);
}
function
add
(){
jp
.
openSaveDialog
(
"新增盘盈入库单"
,
"${ctx}/warehouse/profitwarehousing/profitWarehousing/form/add"
,
'1200'
,
'800'
);
}
function
edit
(
id
){
if
(
id
==
undefined
){
id
=
getIdSelections
();
}
function
deleteAll
(){
jp
.
confirm
(
'确认要删除该盘盈入库单记录吗?'
,
function
(){
jp
.
loading
();
jp
.
get
(
"${ctx}/warehouse/profitwarehousing/profitWarehousing/deleteAll?ids="
+
getIdSelections
(),
function
(
data
){
if
(
data
.
success
){
$
(
'#profitWarehousingTable'
).
bootstrapTable
(
'refresh'
);
jp
.
success
(
data
.
msg
);
}
else
{
jp
.
error
(
data
.
msg
);
}
})
})
}
//刷新列表
function
refresh
(){
$
(
'#profitWarehousingTable'
).
bootstrapTable
(
'refresh'
);
}
function
add
(){
jp
.
openSaveDialog
(
"新增盘盈入库单"
,
"${ctx}/warehouse/profitwarehousing/profitWarehousing/form/add"
,
'1200'
,
'800'
);
}
function
edit
(
id
){
if
(
id
==
undefined
){
id
=
getIdSelections
();
}
jp
.
openSaveDialog
(
"编辑盘盈入库单"
,
"${ctx}/warehouse/profitwarehousing/profitWarehousing/form/edit?id="
+
id
,
'1200'
,
'800'
);
}
function
view
(
id
){
//没有权限时,不显示确定按钮
if
(
id
==
undefined
){
id
=
getIdSelections
();
}
jp
.
openViewDialog
(
"查看盘盈入库单"
,
"${ctx}/warehouse/profitwarehousing/profitWarehousing/form/view?id="
+
id
,
'1200'
,
'800'
);
}
function
detailFormatter
(
index
,
row
)
{
var
htmltpl
=
$
(
"#profitWarehousingChildrenTpl"
).
html
().
replace
(
/
(\/\/\<
!
\-\-)
|
(\/\/\-\-
>
)
/g
,
""
);
var
html
=
Mustache
.
render
(
htmltpl
,
{
idx
:
row
.
id
});
$
.
get
(
"${ctx}/warehouse/profitwarehousing/profitWarehousing/detail?id="
+
row
.
id
,
function
(
profitWarehousing
){
var
profitWarehousingChild1RowIdx
=
0
,
profitWarehousingChild1Tpl
=
$
(
"#profitWarehousingChild1Tpl"
).
html
().
replace
(
/
(\/\/\<
!
\-\-)
|
(\/\/\-\-
>
)
/g
,
""
);
var
data1
=
profitWarehousing
.
profitWarehousingInfoList
;
for
(
var
i
=
0
;
i
<
data1
.
length
;
i
++
){
data1
[
i
].
dict
=
{};
data1
[
i
].
qrCodeStr
=
data1
[
i
].
qrCode
&&
JSON
.
stringify
(
data1
[
i
].
qrCode
);
data1
[
i
].
status
=
data1
[
i
].
qrCode
&&
data1
[
i
].
qrCode
.
state
===
'2'
;
// 已入库
data1
[
i
].
status2
=
data1
[
i
].
qrCode
&&
data1
[
i
].
qrCode
.
state
===
'3'
;
// 已出库
data1
[
i
].
status3
=
!
data1
[
i
].
qrCode
||
(
data1
[
i
].
qrCode
&&
data1
[
i
].
qrCode
.
state
!==
'2'
&&
data1
[
i
].
qrCode
.
state
!==
'3'
);
data1
[
i
].
hasQr
=
data1
[
i
].
qrCode
;
data1
[
i
].
mainRowIndex
=
index
;
addRow
(
'#profitWarehousingChild-'
+
row
.
id
+
'-1-List'
,
profitWarehousingChild1RowIdx
,
profitWarehousingChild1Tpl
,
data1
[
i
]);
profitWarehousingChild1RowIdx
=
profitWarehousingChild1RowIdx
+
1
;
}
})
return
html
;
jp
.
openSaveDialog
(
"编辑盘盈入库单"
,
"${ctx}/warehouse/profitwarehousing/profitWarehousing/form/edit?id="
+
id
,
'1200'
,
'800'
);
}
function
view
(
id
){
//没有权限时,不显示确定按钮
if
(
id
==
undefined
){
id
=
getIdSelections
();
}
jp
.
openViewDialog
(
"查看盘盈入库单"
,
"${ctx}/warehouse/profitwarehousing/profitWarehousing/form/view?id="
+
id
,
'1200'
,
'800'
);
}
function
detailFormatter
(
index
,
row
)
{
var
htmltpl
=
$
(
"#profitWarehousingChildrenTpl"
).
html
().
replace
(
/
(\/\/\<
!
\-\-)
|
(\/\/\-\-
>
)
/g
,
""
);
var
html
=
Mustache
.
render
(
htmltpl
,
{
idx
:
row
.
id
});
$
.
get
(
"${ctx}/warehouse/profitwarehousing/profitWarehousing/detail?id="
+
row
.
id
,
function
(
profitWarehousing
){
var
profitWarehousingChild1RowIdx
=
0
,
profitWarehousingChild1Tpl
=
$
(
"#profitWarehousingChild1Tpl"
).
html
().
replace
(
/
(\/\/\<
!
\-\-)
|
(\/\/\-\-
>
)
/g
,
""
);
var
data1
=
profitWarehousing
.
profitWarehousingInfoList
;
for
(
var
i
=
0
;
i
<
data1
.
length
;
i
++
){
data1
[
i
].
dict
=
{};
data1
[
i
].
qrCodeStr
=
data1
[
i
].
qrCode
&&
JSON
.
stringify
(
data1
[
i
].
qrCode
);
data1
[
i
].
status
=
data1
[
i
].
qrCode
&&
data1
[
i
].
qrCode
.
state
===
'2'
;
// 已入库
data1
[
i
].
status2
=
data1
[
i
].
qrCode
&&
data1
[
i
].
qrCode
.
state
===
'3'
;
// 已出库
data1
[
i
].
status3
=
!
data1
[
i
].
qrCode
||
(
data1
[
i
].
qrCode
&&
data1
[
i
].
qrCode
.
state
!==
'2'
&&
data1
[
i
].
qrCode
.
state
!==
'3'
);
data1
[
i
].
hasQr
=
data1
[
i
].
qrCode
;
data1
[
i
].
mainRowIndex
=
index
;
addRow
(
'#profitWarehousingChild-'
+
row
.
id
+
'-1-List'
,
profitWarehousingChild1RowIdx
,
profitWarehousingChild1Tpl
,
data1
[
i
]);
profitWarehousingChild1RowIdx
=
profitWarehousingChild1RowIdx
+
1
;
}
})
return
html
;
}
function
addRow
(
list
,
idx
,
tpl
,
row
){
$
(
list
).
append
(
Mustache
.
render
(
tpl
,
{
idx
:
idx
,
delBtn
:
true
,
row
:
row
}));
}
function
initLodop
(){
LODOP
=
getLodop
(
document
.
getElementById
(
'LODOP_OB'
),
document
.
getElementById
(
'LODOP_EM'
));
}
function
printQr_
(
id
,
qrCodeStr
,
rowIndex
)
{
try
{
if
(
!
LODOP
){
initLodop
();
}
if
(
LODOP
){
if
(
qrCodeStr
){
var
qrCode
=
JSON
.
parse
(
qrCodeStr
);
preview_LODOP
(
qrCode
);
jp
.
close
();
}
else
{
jp
.
loading
(
'loading...'
);
jp
.
get
(
"${ctx}/warehouse/profitwarehousing/profitWarehousing/printQr?profitWarehousingInfoId="
+
id
,
function
(
res
)
{
if
(
res
.
success
){
var
profitWarehousingInfo
=
res
.
body
.
profitWarehousingInfo
;
preview_LODOP
(
profitWarehousingInfo
.
qrCode
);
$
(
'#profitWarehousingTable'
).
bootstrapTable
(
'collapseRow'
,
rowIndex
);
setTimeout
(
function
(){
$
(
'#profitWarehousingTable'
).
bootstrapTable
(
'expandRow'
,
rowIndex
);
},
0
)
}
else
{
jp
.
warning
(
res
.
msg
);
}
jp
.
close
();
})
}
}
else
{
jp
.
close
();
}
}
catch
(
e
){
console
.
error
(
'异常!'
)
}
}
function
printQr
(
id
)
{
jp
.
loading
(
'loading...'
);
jp
.
get
(
"${ctx}/warehouse/profitwarehousing/profitWarehousing/printQr?profitWarehousingInfoId="
+
id
,
function
(
res
)
{
if
(
res
.
success
)
{
var
row
=
res
.
body
.
goodsInfo
.
qrCode
;
var
imgUrl
=
"${ctxPath}/"
+
row
.
url
;
// jp.showPic(imgUrl);
_thermal_Image_print_
(
imgUrl
);
}
jp
.
close
();
})
}
function
preview_LODOP
(
qrCode
){
if
(
qrCode
&&
qrCode
.
url
){
LODOP
.
PRINT_INIT
(
"打印货品"
);
LODOP
.
SET_PRINT_PAGESIZE
(
1
,
400
,
600
,
0
)
var
imgUrl
=
"${ctxPath}/"
+
qrCode
.
url
;
LODOP
.
ADD_PRINT_IMAGE
(
'0%'
,
"0%"
,
"100%"
,
"100%"
,
"<img width='150' border='0' src='"
+
imgUrl
+
"' />"
);
LODOP
.
PREVIEW
();
}
else
{
jp
.
error
(
'二维码不存在!'
)
}
function
addRow
(
list
,
idx
,
tpl
,
row
){
$
(
list
).
append
(
Mustache
.
render
(
tpl
,
{
idx
:
idx
,
delBtn
:
true
,
row
:
row
}));
}
function
initLodop
(){
LODOP
=
getLodop
(
document
.
getElementById
(
'LODOP_OB'
),
document
.
getElementById
(
'LODOP_EM'
));
}
function
printQr
(
id
,
qrCodeStr
,
rowIndex
)
{
try
{
if
(
!
LODOP
){
initLodop
();
}
if
(
LODOP
){
if
(
qrCodeStr
){
var
qrCode
=
JSON
.
parse
(
qrCodeStr
);
preview_LODOP
(
qrCode
);
jp
.
close
();
}
else
{
jp
.
loading
(
'loading...'
);
jp
.
get
(
"${ctx}/warehouse/profitwarehousing/profitWarehousing/printQr?profitWarehousingInfoId="
+
id
,
function
(
res
)
{
if
(
res
.
success
){
var
profitWarehousingInfo
=
res
.
body
.
profitWarehousingInfo
;
preview_LODOP
(
profitWarehousingInfo
.
qrCode
);
$
(
'#profitWarehousingTable'
).
bootstrapTable
(
'collapseRow'
,
rowIndex
);
setTimeout
(
function
(){
$
(
'#profitWarehousingTable'
).
bootstrapTable
(
'expandRow'
,
rowIndex
);
},
0
)
}
else
{
jp
.
warning
(
res
.
msg
);
}
jp
.
close
();
})
}
}
else
{
jp
.
close
();
}
}
catch
(
e
){
console
.
error
(
'异常!'
)
}
}
function
preview_LODOP
(
qrCode
){
if
(
qrCode
&&
qrCode
.
url
){
LODOP
.
PRINT_INIT
(
"打印货品"
);
LODOP
.
SET_PRINT_PAGESIZE
(
1
,
400
,
600
,
0
)
var
imgUrl
=
"${ctxPath}/"
+
qrCode
.
url
;
LODOP
.
ADD_PRINT_IMAGE
(
'0%'
,
"0%"
,
"100%"
,
"100%"
,
"<img width='150' border='0' src='"
+
imgUrl
+
"' />"
);
LODOP
.
PREVIEW
();
}
else
{
jp
.
error
(
'二维码不存在!'
)
}
}
}
/**
* 清除二维码
* @param id 明细id
*/
function
cleanQr
(
id
,
rowIndex
)
{
jp
.
confirm
(
'确认清除二维码吗?'
,
function
(){
jp
.
get
(
"${ctx}/warehouse/profitwarehousing/profitWarehousing/cleanQr?profitWarehousingInfoId="
+
id
,
function
(
res
)
{
res
.
success
&&
jp
.
success
(
'清除二维码成功!'
);
$
(
'#profitWarehousingTable'
).
bootstrapTable
(
'collapseRow'
,
rowIndex
);
setTimeout
(
function
(){
$
(
'#profitWarehousingTable'
).
bootstrapTable
(
'expandRow'
,
rowIndex
);
},
0
)
})
})
}
function
cleanQr
(
id
,
rowIndex
)
{
jp
.
confirm
(
'确认清除二维码吗?'
,
function
(){
jp
.
get
(
"${ctx}/warehouse/profitwarehousing/profitWarehousing/cleanQr?profitWarehousingInfoId="
+
id
,
function
(
res
)
{
res
.
success
&&
jp
.
success
(
'清除二维码成功!'
);
$
(
'#profitWarehousingTable'
).
bootstrapTable
(
'collapseRow'
,
rowIndex
);
setTimeout
(
function
(){
$
(
'#profitWarehousingTable'
).
bootstrapTable
(
'expandRow'
,
rowIndex
);
},
0
)
})
})
}
/**
* 入库
* @param id 明细id
* @param rowIndex 主表下标
*/
function
inLedgerInfo
(
id
,
rowIndex
){
jp
.
get
(
"${ctx}/warehouse/profitwarehousing/profitWarehousing/inLedgerInfo?profitWarehousingInfoId="
+
id
,
function
(
res
){
if
(
res
.
success
){
jp
.
success
(
res
.
msg
);
$
(
'#profitWarehousingTable'
).
bootstrapTable
(
'collapseRow'
,
rowIndex
);
setTimeout
(
function
(){
$
(
'#profitWarehousingTable'
).
bootstrapTable
(
'expandRow'
,
rowIndex
);
},
0
)
}
else
{
jp
.
error
(
res
.
msg
);
}
})
}
function
inLedgerInfo
(
id
,
rowIndex
){
jp
.
get
(
"${ctx}/warehouse/profitwarehousing/profitWarehousing/inLedgerInfo?profitWarehousingInfoId="
+
id
,
function
(
res
){
if
(
res
.
success
){
jp
.
success
(
res
.
msg
);
$
(
'#profitWarehousingTable'
).
bootstrapTable
(
'collapseRow'
,
rowIndex
);
setTimeout
(
function
(){
$
(
'#profitWarehousingTable'
).
bootstrapTable
(
'expandRow'
,
rowIndex
);
},
0
)
}
else
{
jp
.
error
(
res
.
msg
);
}
})
}
<
/script
>
<
script
type
=
"text/template"
id
=
"profitWarehousingChildrenTpl"
>
//<!--
<
div
class
=
"tabs-container"
>
...
...
@@ -384,12 +397,14 @@ $(document).ready(function() {
<
table
class
=
"ani table"
>
<
thead
>
<
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
>
<
/tr
>
...
...
@@ -399,28 +414,34 @@ $(document).ready(function() {
<
/table
>
<
/div
>
<
/div>/
/-->
<
/script
>
<
script
type
=
"text/template"
id
=
"profitWarehousingChild1Tpl"
>
//<!--
<
/script
>
<
script
type
=
"text/template"
id
=
"profitWarehousingChild1Tpl"
>
//<!--
<
tr
>
<
td
>
{{
row
.
name
}}
<
/td
>
<
td
>
{{
row
.
type
.
name
}}
<
/td
>
<
td
>
{{
row
.
marking
}}
{{
row
.
type
.
code
}}
<
/td
>
<
td
>
{{
row
.
shelves
.
name
}}
{{
row
.
model
}}
<
/td
>
<
td
>
{{
row
.
warehouse
.
name
}}
{{
row
.
num
}}
<
/td
>
<
td
>
{{
row
.
amount
}}
<
/td
>
<
td
>
{{
row
.
type
.
unit
}}
<
/td
>
<
td
>
{{
row
.
shelves
.
name
}}
<
/td
>
<
td
>
{{
row
.
warehouse
.
name
}}
<
/td
>
<
td
>
{{
row
.
remarks
}}
<
/td
>
<
td
>
...
...
@@ -445,4 +466,4 @@ $(document).ready(function() {
{{
/row.status3}
}
<
/td
>
<
/tr>/
/-->
<
/script
>
<
/script
>
src/main/webapp/webpage/modules/warehouse/profitwarehousing/profitWarehousingList.jsp
View file @
da3c02e5
...
...
@@ -7,6 +7,7 @@
<meta
name=
"decorator"
content=
"ani"
/>
<
%@
include
file=
"/webpage/include/bootstraptable.jsp"
%
>
<
%@
include
file=
"/webpage/include/treeview.jsp"
%
>
<
%@
include
file=
"./../goods/logic.js"
%
>
<
%@
include
file=
"profitWarehousingList.js"
%
>
</head>
<body>
...
...
@@ -113,4 +114,4 @@
</div>
</div>
</body>
</html>
\ No newline at end of file
</html>
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