Commit da3c02e5 by anxiaohe

盘盈盘亏

parent 91cf88d6
...@@ -85,7 +85,7 @@ var pageConfig = { ...@@ -85,7 +85,7 @@ var pageConfig = {
// 图片高度 // 图片高度
Image_h: 63, Image_h: 63,
// 图片阈值 // 图片阈值
Image_Threshold: 170, Image_Threshold: 220,
// 图片打印模式 // 图片打印模式
Image_style_let: 3, Image_style_let: 3,
} }
...@@ -154,6 +154,18 @@ function printImage (url) { ...@@ -154,6 +154,18 @@ function printImage (url) {
] ]
} }
console.log(pack) 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); on_link_device(pack, onBack);
}) })
......
...@@ -44,30 +44,30 @@ ...@@ -44,30 +44,30 @@
} }
}, },
{ {
field: 'ledgerInfo.name', field: 'ledgerInfo.code',
title: '物资名称', title: '物资编码',
formatter: function (value, row, index) { formatter: function (value, row, index) {
return Mustache.render($("#ledgerInfoNameTpl").html(), { return Mustache.render($("#ledgerInfoCodeTpl").html(), {
row: row, row: row,
idx: index idx: index
}) })
} }
}, },
{ {
field: 'ledgerInfo.code', field: 'ledgerInfo.type.name',
title: '物资编码', title: '品名',
formatter: function (value, row, index) { formatter: function (value, row, index) {
return Mustache.render($("#ledgerInfoCodeTpl").html(), { return Mustache.render($("#ledgerInfoTypeTpl").html().replace(/(\/\/\<!\-\-)|(\/\/\-\->)/g, ""), {
row: row, row: row,
idx: index idx: index
}) })
} }
}, },
{ {
field: 'ledgerInfo.type.name', field: 'ledgerInfo.type.code',
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, row: row,
idx: index idx: index
}) })
...@@ -94,6 +94,16 @@ ...@@ -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', field: 'ledgerInfo.batchNum',
title: '批次号', title: '批次号',
formatter: function (value, row, index) { formatter: function (value, row, index) {
...@@ -246,6 +256,16 @@ ...@@ -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}}" <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"/>//--> title="品名代码" url="/warehouse/materialtype/materialType/treeData" cssClass="form-control " disabled="disabled" allowClear="true"/>//-->
</script> </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"> <script id="ledgerInfoModelTpl" type="text/html">
<input id="materialLossInfoList{{idx}}_ledgerInfoModel" <input id="materialLossInfoList{{idx}}_ledgerInfoModel"
name="materialLossInfoList[{{idx}}].ledgerInfo.model" type="text" class="form-control" readonly name="materialLossInfoList[{{idx}}].ledgerInfo.model" type="text" class="form-control" readonly
......
...@@ -289,11 +289,13 @@ $(document).ready(function() { ...@@ -289,11 +289,13 @@ $(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>
...@@ -308,9 +310,7 @@ $(document).ready(function() { ...@@ -308,9 +310,7 @@ $(document).ready(function() {
</script> </script>
<script type="text/template" id="materialLossChild1Tpl">//<!-- <script type="text/template" id="materialLossChild1Tpl">//<!--
<tr> <tr>
<td>
{{row.ledgerInfo.name}}
</td>
<td> <td>
{{row.ledgerInfo.code}} {{row.ledgerInfo.code}}
</td> </td>
...@@ -318,12 +318,18 @@ $(document).ready(function() { ...@@ -318,12 +318,18 @@ $(document).ready(function() {
{{row.ledgerInfo.type.name}} {{row.ledgerInfo.type.name}}
</td> </td>
<td> <td>
{{row.ledgerInfo.type.code}}
</td>
<td>
{{row.ledgerInfo.model}} {{row.ledgerInfo.model}}
</td> </td>
<td> <td>
{{row.ledgerInfo.amount}} {{row.ledgerInfo.amount}}
</td> </td>
<td> <td>
{{row.ledgerInfo.type.unit}}
</td>
<td>
{{row.ledgerInfo.batchNum}} {{row.ledgerInfo.batchNum}}
</td> </td>
<td> <td>
......
...@@ -321,16 +321,16 @@ function addRow(list, idx, tpl, row){ ...@@ -321,16 +321,16 @@ function addRow(list, idx, tpl, row){
</script> </script>
<script type="text/template" id="outboundChild1Tpl">//<!-- <script type="text/template" id="outboundChild1Tpl">//<!--
<tr> <tr>
<td>
{{row.ledgerInfo.code}}
</td>
<td> <td>
{{row.ledgerInfo.type.name}} {{row.ledgerInfo.type.name}}
</td> </td>
<td> <td>
{{row.ledgerInfo.type.code}} {{row.ledgerInfo.type.code}}
</td> </td>
<td>
{{row.ledgerInfo.code}}
</td>
<td> <td>
{{row.ledgerInfo.type.unit}} {{row.ledgerInfo.type.unit}}
</td> </td>
......
...@@ -20,6 +20,7 @@ ...@@ -20,6 +20,7 @@
function initTable(){ function initTable(){
var data = ${fns:toJson(profitWarehousing.profitWarehousingInfoList)}; var data = ${fns:toJson(profitWarehousing.profitWarehousingInfoList)};
if(data.length){ if(data.length){
debugger
data = data.map(function(item){ data = data.map(function(item){
item.delFlag = 0; item.delFlag = 0;
item.readonly = item.qrCode && item.qrCode.state === '2' item.readonly = item.qrCode && item.qrCode.state === '2'
...@@ -44,21 +45,51 @@ ...@@ -44,21 +45,51 @@
return html + '<span>'+(index+1)+'</span>' 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', field: 'type.name',
title: '名称', title: '品名',
formatter: function (value,row,index){ formatter: function (value,row,index){
return Mustache.render($("#nameTpl").html(),{ return Mustache.render($("#typeTpl").html().replace(/(\/\/\<!\-\-)|(\/\/\-\->)/g, ""),{
row: row, row: row,
idx: index idx: index
}) })
} }
}, },
{ {
field: 'type.name', field: 'type.code',
title: '品名代码', 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){ 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, row: row,
idx: index idx: index
}) })
...@@ -75,7 +106,17 @@ ...@@ -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: '货架', title: '货架',
formatter: function (value,row,index){ formatter: function (value,row,index){
return Mustache.render($("#shelvesTpl").html().replace(/(\/\/\<!\-\-)|(\/\/\-\->)/g, ""),{ return Mustache.render($("#shelvesTpl").html().replace(/(\/\/\<!\-\-)|(\/\/\-\->)/g, ""),{
...@@ -85,10 +126,10 @@ ...@@ -85,10 +126,10 @@
} }
}, },
{ {
field: 'amount', field: 'warehouseIds',
title: '单价', title: '仓库',
formatter: function (value,row,index){ formatter: function (value,row,index){
return Mustache.render($("#amountTpl").html().replace(/(\/\/\<!\-\-)|(\/\/\-\->)/g, ""),{ return Mustache.render($("#warehouseTpl").html().replace(/(\/\/\<!\-\-)|(\/\/\-\->)/g, ""),{
row: row, row: row,
idx: index idx: index
}) })
...@@ -175,10 +216,48 @@ ...@@ -175,10 +216,48 @@
* @param elem 元素 * @param elem 元素
* @param field 属性 * @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){ function onInputChange(rowIndex, elem , field){
var obj = {}; var obj = {};
obj[field] = $(elem).val() obj[field] = $(elem).val();
updateRow(rowIndex, obj) 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]) { if(field === 'amount' && obj[field]) {
// 正则表达式验证可以带小数点的数字 // 正则表达式验证可以带小数点的数字
// 不是数字 // 不是数字
...@@ -187,15 +266,35 @@ ...@@ -187,15 +266,35 @@
$(elem).val('') $(elem).val('')
return 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(); 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(){ function setSumPrice(){
var data = $(selector).bootstrapTable('getData'); var data = $(selector).bootstrapTable('getData');
var sum = data.reduce(function (sum, current){ var sum = data.reduce(function (sum, current){
if(current.delFlag != 1 && current.amount){ if(current.delFlag != 1 && current.amount && current.num){
return new Big(current.amount).plus(sum); var total = new Big(current.amount).times(current.num).toNumber();
return new Big(sum).plus(total);
} }
return new Big(sum); return new Big(sum);
},0) },0)
...@@ -207,32 +306,62 @@ ...@@ -207,32 +306,62 @@
* @param nodes 选中数据 * @param nodes 选中数据
* @param rowIndex 行下标 * @param rowIndex 行下标
*/ */
function onSelectType(nodes, rowIndex){ // function onSelectType(nodes, rowIndex){
if(Array.isArray(nodes) && nodes.length === 1){ // if(Array.isArray(nodes) && nodes.length === 1){
var node = nodes[0]; // var node = nodes[0];
var obj = { // var obj = {
type: { // type: {
id: node.id, // id: node.id,
name: node.text // name: node.text
} // }
}; // };
updateRow(rowIndex, obj) // updateRow(rowIndex, obj)
} // }
} // }
function onSelectShelves(nodes, rowIndex){ function onSelectShelves(nodes, rowIndex){
if(Array.isArray(nodes) && nodes.length === 1){ if(Array.isArray(nodes)){
var node = nodes[0];
var obj = { var obj = {
shelves: { shelvesIds: '',
id: node.id, warehouseIds: '',
name: node.name shelvesNames: '',
}, warehouseNames: ''
warehouse: node.warehouse
}; };
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) 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 @@ ...@@ -246,21 +375,62 @@
* 批量添加货架 * 批量添加货架
*/ */
function addShelve(){ 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){ jp.openShelvesSelectDialog(function (items){
var Shelve = items[0]; // 货架对象 setTimeout(function(){
// var Shelve = items[0]; // 货架对象
getTableData().forEach(function (item,index){ var obj = {
if(item[0]){ shelvesIds: '',
updateRow(index,{ warehouseIds: '',
shelves: { shelvesNames: '',
id: Shelve.id, warehouseNames: ''
name: Shelve.name };
}, var warehouseIdMap = {};
warehouse: Shelve.warehouse 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(){ function addDetail(){
...@@ -284,6 +454,51 @@ ...@@ -284,6 +454,51 @@
} }
$(selector).bootstrapTable('append',[row]) $(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>
<script id="hideTpl" type="text/html"> <script id="hideTpl" type="text/html">
...@@ -308,10 +523,12 @@ ...@@ -308,10 +523,12 @@
{{/row.readonly}} {{/row.readonly}}
{{^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}}" <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}}//--> {{/row.readonly}}//-->
</script> </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"> <script id="modelTpl" type="text/html">
{{#row.readonly}} {{#row.readonly}}
<input id="profitWarehousingInfoList{{idx}}_marking" name="profitWarehousingInfoList[{{idx}}].marking" type="text" value="{{row.marking}}" readonly class="form-control "/> <input id="profitWarehousingInfoList{{idx}}_marking" name="profitWarehousingInfoList[{{idx}}].marking" type="text" value="{{row.marking}}" readonly class="form-control "/>
...@@ -321,21 +538,27 @@ ...@@ -321,21 +538,27 @@
{{/row.readonly}} {{/row.readonly}}
</script> </script>
<script id="amountTpl" type="text/html"> <script id="amountTpl" type="text/html">
{{#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"/>
<input id="profitWarehousingInfoList{{idx}}_amount" name="profitWarehousingInfoList[{{idx}}].amount" type="text" value="{{row.amount}}" readonly class="form-control "/> </script>
{{/row.readonly}} <script id="unitTpl" type="text/html">
{{^row.readonly}} <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"/>
<input id="profitWarehousingInfoList{{idx}}_amount" name="profitWarehousingInfoList[{{idx}}].amount" type="text" value="{{row.amount}}" onchange="onInputChange('{{idx}}', this, 'amount')" class="form-control "/> </script>
{{/row.readonly}} <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>
<script id="shelvesTpl" type="text/html">//<!-- <script id="shelvesTpl" type="text/html">//<!--
{{#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}}" <sys:shelvesselect id="profitWarehousingInfoList{{idx}}_shelves" name="profitWarehousingInfoList[{{idx}}].shelvesIds" value="{{row.shelvesIds}}" labelName="profitWarehousingInfoList[{{idx}}].shelvesNames" labelValue="{{row.shelvesNames}}"
cssClass="form-control required" iframeUrl="/warehouse/profitwarehousing/profitWarehousing/form" disabled="disabled"></sys:shelvesselect> cssClass="form-control required" iframeUrl="/warehouse/profitwarehousing/profitWarehousing/form" disabled="disabled" />
{{/row.readonly}} {{/row.readonly}}
{{^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}}" <sys:shelvesselect id="profitWarehousingInfoList{{idx}}_shelves" name="profitWarehousingInfoList[{{idx}}].shelvesIds" value="{{row.shelvesIds}}" labelName="profitWarehousingInfoList[{{idx}}].shelvesNames" labelValue="{{row.shelvesNames}}"
cssClass="form-control required" iframeUrl="/warehouse/profitwarehousing/profitWarehousing/form" callback="onSelectShelves"></sys:shelvesselect> cssClass="form-control required" iframeUrl="/warehouse/profitwarehousing/profitWarehousing/form" callback="onSelectShelves" isMultiSelected="true" />
{{/row.readonly}}//--> {{/row.readonly}}//-->
</script> </script>
<script id="remarksTpl" type="text/html"> <script id="remarksTpl" type="text/html">
......
<%@ page contentType="text/html;charset=UTF-8" %> <%@ page contentType="text/html;charset=UTF-8" %>
<script> <script>
var LODOP; var LODOP;
$(document).ready(function() { $(document).ready(function() {
$('#profitWarehousingTable').bootstrapTable({ $('#profitWarehousingTable').bootstrapTable({
...@@ -209,15 +209,15 @@ $(document).ready(function() { ...@@ -209,15 +209,15 @@ $(document).ready(function() {
format: "YYYY-MM-DD HH:mm:ss" format: "YYYY-MM-DD HH:mm:ss"
}); });
}); });
function getIdSelections() { function getIdSelections() {
return $.map($("#profitWarehousingTable").bootstrapTable('getSelections'), function (row) { return $.map($("#profitWarehousingTable").bootstrapTable('getSelections'), function (row) {
return row.id return row.id
}); });
} }
function deleteAll(){ function deleteAll(){
jp.confirm('确认要删除该盘盈入库单记录吗?', function(){ jp.confirm('确认要删除该盘盈入库单记录吗?', function(){
jp.loading(); jp.loading();
...@@ -231,35 +231,35 @@ $(document).ready(function() { ...@@ -231,35 +231,35 @@ $(document).ready(function() {
}) })
}) })
} }
//刷新列表 //刷新列表
function refresh(){ function refresh(){
$('#profitWarehousingTable').bootstrapTable('refresh'); $('#profitWarehousingTable').bootstrapTable('refresh');
} }
function add(){ function add(){
jp.openSaveDialog("新增盘盈入库单","${ctx}/warehouse/profitwarehousing/profitWarehousing/form/add",'1200','800'); jp.openSaveDialog("新增盘盈入库单","${ctx}/warehouse/profitwarehousing/profitWarehousing/form/add",'1200','800');
} }
function edit(id){ function edit(id){
if(id == undefined){ if(id == undefined){
id = getIdSelections(); id = getIdSelections();
} }
jp.openSaveDialog("编辑盘盈入库单","${ctx}/warehouse/profitwarehousing/profitWarehousing/form/edit?id=" + id,'1200','800'); jp.openSaveDialog("编辑盘盈入库单","${ctx}/warehouse/profitwarehousing/profitWarehousing/form/edit?id=" + id,'1200','800');
} }
function view(id){//没有权限时,不显示确定按钮 function view(id){//没有权限时,不显示确定按钮
if(id == undefined){ if(id == undefined){
id = getIdSelections(); id = getIdSelections();
} }
jp.openViewDialog("查看盘盈入库单","${ctx}/warehouse/profitwarehousing/profitWarehousing/form/view?id=" + id,'1200','800'); jp.openViewDialog("查看盘盈入库单","${ctx}/warehouse/profitwarehousing/profitWarehousing/form/view?id=" + id,'1200','800');
} }
function detailFormatter(index, row) { function detailFormatter(index, row) {
var htmltpl = $("#profitWarehousingChildrenTpl").html().replace(/(\/\/\<!\-\-)|(\/\/\-\->)/g,""); var htmltpl = $("#profitWarehousingChildrenTpl").html().replace(/(\/\/\<!\-\-)|(\/\/\-\->)/g,"");
var html = Mustache.render(htmltpl, { var html = Mustache.render(htmltpl, {
idx:row.id idx:row.id
...@@ -281,19 +281,19 @@ $(document).ready(function() { ...@@ -281,19 +281,19 @@ $(document).ready(function() {
}) })
return html; return html;
} }
function addRow(list, idx, tpl, row){ function addRow(list, idx, tpl, row){
$(list).append(Mustache.render(tpl, { $(list).append(Mustache.render(tpl, {
idx: idx, delBtn: true, row: row idx: idx, delBtn: true, row: row
})); }));
} }
function initLodop(){ function initLodop(){
LODOP=getLodop(document.getElementById('LODOP_OB'),document.getElementById('LODOP_EM')); LODOP=getLodop(document.getElementById('LODOP_OB'),document.getElementById('LODOP_EM'));
} }
function printQr(id, qrCodeStr, rowIndex) { function printQr_(id, qrCodeStr, rowIndex) {
try{ try{
if(!LODOP){ if(!LODOP){
initLodop(); initLodop();
...@@ -325,9 +325,22 @@ $(document).ready(function() { ...@@ -325,9 +325,22 @@ $(document).ready(function() {
}catch (e){ }catch (e){
console.error('异常!') 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){ function preview_LODOP(qrCode){
if(qrCode && qrCode.url){ if(qrCode && qrCode.url){
LODOP.PRINT_INIT("打印货品"); LODOP.PRINT_INIT("打印货品");
LODOP.SET_PRINT_PAGESIZE(1,400,600,0) LODOP.SET_PRINT_PAGESIZE(1,400,600,0)
...@@ -337,13 +350,13 @@ $(document).ready(function() { ...@@ -337,13 +350,13 @@ $(document).ready(function() {
}else{ }else{
jp.error('二维码不存在!') jp.error('二维码不存在!')
} }
} }
/** /**
* 清除二维码 * 清除二维码
* @param id 明细id * @param id 明细id
*/ */
function cleanQr(id,rowIndex) { function cleanQr(id,rowIndex) {
jp.confirm('确认清除二维码吗?', function (){ jp.confirm('确认清除二维码吗?', function (){
jp.get("${ctx}/warehouse/profitwarehousing/profitWarehousing/cleanQr?profitWarehousingInfoId="+id, function (res) { jp.get("${ctx}/warehouse/profitwarehousing/profitWarehousing/cleanQr?profitWarehousingInfoId="+id, function (res) {
res.success && jp.success('清除二维码成功!'); res.success && jp.success('清除二维码成功!');
...@@ -353,14 +366,14 @@ $(document).ready(function() { ...@@ -353,14 +366,14 @@ $(document).ready(function() {
},0) },0)
}) })
}) })
} }
/** /**
* 入库 * 入库
* @param id 明细id * @param id 明细id
* @param rowIndex 主表下标 * @param rowIndex 主表下标
*/ */
function inLedgerInfo(id, rowIndex ){ function inLedgerInfo(id, rowIndex ){
jp.get("${ctx}/warehouse/profitwarehousing/profitWarehousing/inLedgerInfo?profitWarehousingInfoId="+ id, function (res){ jp.get("${ctx}/warehouse/profitwarehousing/profitWarehousing/inLedgerInfo?profitWarehousingInfoId="+ id, function (res){
if(res.success){ if(res.success){
jp.success(res.msg); jp.success(res.msg);
...@@ -372,7 +385,7 @@ $(document).ready(function() { ...@@ -372,7 +385,7 @@ $(document).ready(function() {
jp.error(res.msg); jp.error(res.msg);
} }
}) })
} }
</script> </script>
<script type="text/template" id="profitWarehousingChildrenTpl">//<!-- <script type="text/template" id="profitWarehousingChildrenTpl">//<!--
<div class="tabs-container"> <div class="tabs-container">
...@@ -384,12 +397,14 @@ $(document).ready(function() { ...@@ -384,12 +397,14 @@ $(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> <th>操作</th>
</tr> </tr>
...@@ -399,28 +414,34 @@ $(document).ready(function() { ...@@ -399,28 +414,34 @@ $(document).ready(function() {
</table> </table>
</div> </div>
</div>//--> </div>//-->
</script> </script>
<script type="text/template" id="profitWarehousingChild1Tpl">//<!-- <script type="text/template" id="profitWarehousingChild1Tpl">//<!--
<tr> <tr>
<td> <td>
{{row.name}}
</td>
<td>
{{row.type.name}} {{row.type.name}}
</td> </td>
<td> <td>
{{row.marking}} {{row.type.code}}
</td> </td>
<td> <td>
{{row.shelves.name}} {{row.model}}
</td> </td>
<td> <td>
{{row.warehouse.name}} {{row.num}}
</td> </td>
<td> <td>
{{row.amount}} {{row.amount}}
</td> </td>
<td> <td>
{{row.type.unit}}
</td>
<td>
{{row.shelves.name}}
</td>
<td>
{{row.warehouse.name}}
</td>
<td>
{{row.remarks}} {{row.remarks}}
</td> </td>
<td> <td>
...@@ -445,4 +466,4 @@ $(document).ready(function() { ...@@ -445,4 +466,4 @@ $(document).ready(function() {
{{/row.status3}} {{/row.status3}}
</td> </td>
</tr>//--> </tr>//-->
</script> </script>
...@@ -7,6 +7,7 @@ ...@@ -7,6 +7,7 @@
<meta name="decorator" content="ani"/> <meta name="decorator" content="ani"/>
<%@ include file="/webpage/include/bootstraptable.jsp"%> <%@ include file="/webpage/include/bootstraptable.jsp"%>
<%@include file="/webpage/include/treeview.jsp" %> <%@include file="/webpage/include/treeview.jsp" %>
<%@include file="./../goods/logic.js"%>
<%@include file="profitWarehousingList.js" %> <%@include file="profitWarehousingList.js" %>
</head> </head>
<body> <body>
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment