|
@ -6,10 +6,31 @@ |
|
|
<th:block th:include="include :: datetimepicker-css" /> |
|
|
<th:block th:include="include :: datetimepicker-css" /> |
|
|
<th:block th:include="include :: bootstrap-editable-css" /> |
|
|
<th:block th:include="include :: bootstrap-editable-css" /> |
|
|
</head> |
|
|
</head> |
|
|
|
|
|
<style> |
|
|
|
|
|
.col-sm-12.material-table{ |
|
|
|
|
|
height: 75px; |
|
|
|
|
|
} |
|
|
|
|
|
.hr-line-dashed { |
|
|
|
|
|
border-top: 1px dashed #ddd; |
|
|
|
|
|
margin-top: 20px; /* 调整间距 */ |
|
|
|
|
|
border-bottom: 1px dashed #ddd; |
|
|
|
|
|
margin-bottom: 20px; |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
</style> |
|
|
<body class="white-bg"> |
|
|
<body class="white-bg"> |
|
|
<div class="wrapper wrapper-content animated fadeInRight ibox-content"> |
|
|
<div class="wrapper wrapper-content animated fadeInRight ibox-content"> |
|
|
<form class="form-horizontal m" id="form-order-outsourceStorage-add" > |
|
|
<form class="form-horizontal m" id="form-order-outsourceStorage-add" > |
|
|
|
|
|
<div class="col-xs-11" > |
|
|
|
|
|
<label class="col-sm-2 control-label" style="margin-left: 10px;">已选择委外计划:</label> |
|
|
|
|
|
<div class="col-sm-8"> |
|
|
|
|
|
<input id="outsourcePlanCode" name="outsourcePlanCode" class="form-control" type="text" readonly> |
|
|
|
|
|
</div> |
|
|
|
|
|
</div> |
|
|
|
|
|
<div class="col-xs-11" style="margin-left: 60px;height: 20px;"> |
|
|
|
|
|
<div class="hr-line-dashed" > |
|
|
|
|
|
</div> |
|
|
|
|
|
</div> |
|
|
<div class="container" id="material"> |
|
|
<div class="container" id="material"> |
|
|
|
|
|
|
|
|
</div> |
|
|
</div> |
|
@ -17,19 +38,20 @@ |
|
|
<!-- 订单合计--> |
|
|
<!-- 订单合计--> |
|
|
<div class="container"> |
|
|
<div class="container"> |
|
|
<div class="row"><h4 class="card-header">订单合计:</h4></div> |
|
|
<div class="row"><h4 class="card-header">订单合计:</h4></div> |
|
|
<div class="form-group"> |
|
|
<div class="col-xs-12"> |
|
|
<label for="materialAmount" class="col-sm-2 col-form-label">物料合计:</label> |
|
|
<div class="col-sm-6"> |
|
|
<div class="col-sm-4"> |
|
|
<label for="materialAmount" class="col-sm-4 col-form-label">物料合计:</label> |
|
|
<input type="text" class="form-control" value="0" id="materialAmount"> |
|
|
<div class="col-sm-6"> |
|
|
|
|
|
<input type="text" class="form-control" value="0" id="materialAmount" disabled> |
|
|
|
|
|
</div> |
|
|
</div> |
|
|
</div> |
|
|
</div> |
|
|
<div class="col-sm-6"> |
|
|
<div class="form-group"> |
|
|
<label for="nowStorageTotalAmount" class="col-sm-4 col-form-label">领料数量合计:</label> |
|
|
<label for="outsourceMaterialAmount" class="col-sm-2 col-form-label">委外数量合计:</label> |
|
|
<div class="col-sm-6"> |
|
|
<div class="col-sm-4"> |
|
|
<input type="text" class="form-control" value="0" id="nowStorageTotalAmount" disabled> |
|
|
<input type="text" class="form-control" value="0" id="outsourceMaterialAmount"> |
|
|
</div> |
|
|
</div> |
|
|
</div> |
|
|
</div> |
|
|
</div> |
|
|
|
|
|
|
|
|
</div> |
|
|
</div> |
|
|
</div> |
|
|
</div> |
|
|
</div> |
|
|
</div> |
|
@ -38,11 +60,11 @@ |
|
|
<th:block th:include="include :: datetimepicker-js" /> |
|
|
<th:block th:include="include :: datetimepicker-js" /> |
|
|
<th:block th:include="include :: bootstrap-table-editable-js" /> |
|
|
<th:block th:include="include :: bootstrap-table-editable-js" /> |
|
|
<script th:inline="javascript"> |
|
|
<script th:inline="javascript"> |
|
|
var prefix = ctx + "system/storage"; |
|
|
var prefix = ctx + "system/outsource_storage"; |
|
|
$("#form-order-outsourceStorage-add").validate({focusCleanup: true}); |
|
|
$("#form-order-outsourceStorage-add").validate({focusCleanup: true}); |
|
|
var outsourcePlanDetailList = []; |
|
|
var outsourcePlanDetailList = []; |
|
|
// var chargeUnitDatas = [[${@dict.getType("charge_unit")}]] |
|
|
var processMethodDatas = [[${@dict.getType('processMethod')}]]; |
|
|
var formId = "form-plan-outsourceOrder-add"; |
|
|
var formId = "form-order-outsourceStorage-add"; |
|
|
var outsourcePlanCode = ''; |
|
|
var outsourcePlanCode = ''; |
|
|
var materialList = []; |
|
|
var materialList = []; |
|
|
var tableIdList = []; |
|
|
var tableIdList = []; |
|
@ -57,16 +79,16 @@ |
|
|
|
|
|
|
|
|
$(function() { |
|
|
$(function() { |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
originMaterial = outsourceOrderList[0].materials; |
|
|
originMaterial = outsourceOrderList[0].materials; |
|
|
// 根据料号去重 |
|
|
// 根据料号去重 |
|
|
materials = mergeRecords(originMaterial); |
|
|
materials = mergeRecords(originMaterial); |
|
|
|
|
|
outsourcePlanCode = outsourceOrderList[0].outsourcePlanCode |
|
|
|
|
|
$("input[name='outsourcePlanCode']").val(outsourcePlanCode); |
|
|
|
|
|
|
|
|
// 遍历委外计划详情信息 |
|
|
|
|
|
materials.forEach(function (material, index) { |
|
|
materials.forEach(function (material, index) { |
|
|
var tableId = 'materialNo-' + (index+1); |
|
|
var tableId = 'materialNo-' + (index+1); |
|
|
var materialTable = "bootstrap-table_" + tableId; |
|
|
var materialTable = "bootstrap-table_" + tableId; |
|
|
tableIdList.push(materialTable); |
|
|
tableIdList.push(tableId); |
|
|
// 创建物料信息的容器 |
|
|
// 创建物料信息的容器 |
|
|
var $tableWrapper = $('<div id="material-' + tableId + '"></div>'); |
|
|
var $tableWrapper = $('<div id="material-' + tableId + '"></div>'); |
|
|
// 将整个物料信息容器添加到页面 |
|
|
// 将整个物料信息容器添加到页面 |
|
@ -78,14 +100,14 @@ |
|
|
'<h3>' + |
|
|
'<h3>' + |
|
|
'<span><strong>物料 ' + (index+1) + ': </strong> ' + '<strong>关联订单号: </strong></span>' + '<span class="correlationCodes" style="color: blue" id="correlationCodes-' + tableId + '"></span>' + |
|
|
'<span><strong>物料 ' + (index+1) + ': </strong> ' + '<strong>关联订单号: </strong></span>' + '<span class="correlationCodes" style="color: blue" id="correlationCodes-' + tableId + '"></span>' + |
|
|
'</h3>' + |
|
|
'</h3>' + |
|
|
'<div class="col-sm-12">' + |
|
|
'<div class="col-sm-12 material-table">' + |
|
|
'<table class="table-materialNo" id="' + materialTable + '">' + '</table>' + |
|
|
'<table class="table-materialNo" id="' + materialTable + '">' + '</table>' + |
|
|
'</div>' + |
|
|
'</div>' + |
|
|
'</div>' + |
|
|
'</div>' + |
|
|
'</div>'); |
|
|
'</div>'); |
|
|
$tableWrapper.append($headerDiv); |
|
|
$tableWrapper.append($headerDiv); |
|
|
|
|
|
|
|
|
$(".correlationCodes").text(outsourceOrderList[0].outsourceOrderNo); |
|
|
$(".correlationCodes").text(material.orderDetails[0].correlationCodes); |
|
|
$("#materialAmount").val(materials.length); |
|
|
$("#materialAmount").val(materials.length); |
|
|
|
|
|
|
|
|
var materialObj = { |
|
|
var materialObj = { |
|
@ -108,7 +130,7 @@ |
|
|
tables(materialTable, materialData); |
|
|
tables(materialTable, materialData); |
|
|
|
|
|
|
|
|
var $MaterialNumDiv = |
|
|
var $MaterialNumDiv = |
|
|
$('<div class="row">' + |
|
|
$('<div class="row" style="margin-top: 20px;margin-left: 10px;">' + |
|
|
'<div class="form-group">' + |
|
|
'<div class="form-group">' + |
|
|
'<div class="col-xs-12">' + |
|
|
'<div class="col-xs-12">' + |
|
|
'<h3>' + |
|
|
'<h3>' + |
|
@ -126,35 +148,40 @@ |
|
|
$tableWrapper.append($noProcessDiv); |
|
|
$tableWrapper.append($noProcessDiv); |
|
|
}else{ |
|
|
}else{ |
|
|
material.orderDetails.forEach(function(detail, detailsIndex) { |
|
|
material.orderDetails.forEach(function(detail, detailsIndex) { |
|
|
// console.log(processIndex); |
|
|
|
|
|
var processSelectId = 'process-select-' + tableId + '_' + (detailsIndex+1); |
|
|
var processSelectId = 'process-select-' + tableId + '_' + (detailsIndex+1); |
|
|
var processTableId = 'process-' + tableId + '_' + (detailsIndex+1); |
|
|
var processTableId = 'process-' + tableId + '_' + (detailsIndex+1); |
|
|
switch (detail.chargeUnit) { |
|
|
switch (detail.chargeUnit) { |
|
|
case "0": |
|
|
case "0": |
|
|
detail.unitInfo = "按重量计"; |
|
|
detail.unitInfo = "按重量计"; |
|
|
|
|
|
detail.singleMaterialInfo = detail.singleMaterial + "kg"; |
|
|
break; |
|
|
break; |
|
|
case "1": |
|
|
case "1": |
|
|
detail.unitInfo = "按数量计"; |
|
|
detail.unitInfo = "按数量计"; |
|
|
|
|
|
detail.singleMaterialInfo = detail.singleMaterial + "个"; |
|
|
break; |
|
|
break; |
|
|
case "2": |
|
|
case "2": |
|
|
detail.unitInfo = "按面积计"; |
|
|
detail.unitInfo = "按面积计"; |
|
|
|
|
|
detail.singleMaterialInfo = detail.singleMaterial + "平方英寸"; |
|
|
break; |
|
|
break; |
|
|
default:; |
|
|
default:; |
|
|
} |
|
|
} |
|
|
$processContent = |
|
|
$processContent = |
|
|
$('<div class="card-header process_card" id="process-' + tableId + '_' + (detailsIndex+1) + '">' + |
|
|
$('<div class="card-header process_card" id="process-' + tableId + '_' + (detailsIndex+1) + '" >' + |
|
|
'<div class="row">' + |
|
|
'<div class="row" style="margin-left: 25px;height: 20px">' + |
|
|
'<div class="card-text">' + |
|
|
'<div class="card-text">' + |
|
|
'<h5>委外工序 ' + (detailsIndex+1) + ':' + |
|
|
'<h5>委外工序 ' + (detailsIndex+1) + ':' + |
|
|
'<span class="processNo">' + detail.outsourceProcessNo + '</span>' + '-' + |
|
|
'<span style="color: blue" class="processNo">' + detail.outsourceProcessNo + '</span>' + '-' + |
|
|
'<span class="processName">' + detail.outsourceProcessName + '</span>' + |
|
|
'<span style="color: blue" class="processName">' + detail.outsourceProcessName + '</span>' + |
|
|
'</h5>' + |
|
|
'</h5>' + |
|
|
'</div>' + |
|
|
'</div>' + |
|
|
'<div class="col-sm-2" id="chargeUnit-'+processSelectId+'">' + |
|
|
'<div class="col-xs-12" style="padding-left: 0px;">' + |
|
|
'<span class="chargeUnit">*计价单位:</span>' + '-' + |
|
|
'<div class="col-sm-12" style="padding-left: 0px;" id="chargeUnit-'+processSelectId+'">' + |
|
|
'<span class="">' + detail.unitInfo + '</span>' + |
|
|
'<span class="chargeUnit" style="padding-right: 10px;">*计价单位:</span>' + |
|
|
'<span class="singleMaterial">每个物料:</span>' + |
|
|
'<span class="chargeUnitInfo" style="padding-right: 80px;">' + detail.unitInfo + '</span>' + |
|
|
'<span class="singleMaterialInfo">' + detail.singleMaterial + '</span>' + |
|
|
'<span class="singleMaterial" style="padding-right: 10px;">每个物料:</span>' + |
|
|
|
|
|
'<span class="singleMaterialInfo">' + detail.singleMaterialInfo + '</span>' + |
|
|
|
|
|
'</div>' + |
|
|
'</div>' + |
|
|
'</div>' + |
|
|
'</div>' + |
|
|
'</div>' + |
|
|
'</div>'); |
|
|
'</div>'); |
|
@ -162,33 +189,39 @@ |
|
|
$tableWrapper.append($processContent); |
|
|
$tableWrapper.append($processContent); |
|
|
$supplierheaderContent = |
|
|
$supplierheaderContent = |
|
|
$('<div class="card-header suppplier_card" id = "supplier-' + processTableId + '_' + ' ">' + |
|
|
$('<div class="card-header suppplier_card" id = "supplier-' + processTableId + '_' + ' ">' + |
|
|
'<div class="row">' + |
|
|
'<div class="col-xs-12">' + |
|
|
'<div class="card-text">' + |
|
|
'<div class="col-sm-4" style="margin-top: 13px;padding-left: 10px;">' + |
|
|
'<input type="radio" id="supplier-' + processTableId + '_' + '" name="supplier-' + processTableId + '" value="">' + |
|
|
'<input type="radio" id="supplier-' + processTableId + '" name="supplier-' + processTableId + '" value="" checked>' + |
|
|
'<span class="supplierCode">' + detail.supplierCode + '</span>' + '-' + |
|
|
'<span class="supplierCode">' + detail.supplierCode + '</span>' + '--' + |
|
|
'<span class="supplierName">' + detail.supplierName + '</span>' + |
|
|
'<span class="supplierName">' + detail.supplierName + '</span>' + |
|
|
'-最新不含税采购价: ' + '<span id="materialNormb-' + processTableId + '" class="materialNormb">' + detail.materialNoRmb + '</span>' + |
|
|
// '--最新不含税采购价: ' + '<span id="materialNormb-' + processTableId + '" class="materialNormb">' + detail.materialNoRmb + '</span>' + |
|
|
' RMB 最新含税采购价: ' + '<span id="materialRmb-' + processTableId + '" class="materialRmb">' + detail.materialRmb + '</span> RMB ' + |
|
|
// ' RMB --最新含税采购价: ' + '<span id="materialRmb-' + processTableId + '" class="materialRmb">' + detail.materialRmb + '</span> RMB ' + |
|
|
// '<span class="supplierPurchasePlanCode" hidden="hidden" >' + material.planCodes + '</span>' + |
|
|
'</div>' + |
|
|
// '<span class="supplierCorrelationCode" hidden="hidden" >' + material.correlationCodes + '</span>' + |
|
|
'<div class="col-sm-8 deliveryTime-'+processTableId+'" style="padding-top: 10px;padding-left: 0px;">' + |
|
|
// '<span class="supplierPurchaseQuoteCode" hidden="hidden" >' + supplier.purchaseQuoteCode + '</span>' + |
|
|
'<label class="col-sm-2" style="padding-left: 0px;margin-top: 5px;">计划交付时间: </label>' + |
|
|
'<div class="form-row deliveryTime-'+processTableId+'" >' + |
|
|
|
|
|
'<label class="col-sm-2">计划交付时间: </label>' + |
|
|
|
|
|
'<div class ="col-sm-4">' + |
|
|
'<div class ="col-sm-4">' + |
|
|
'<div class="input-group date"> ' + |
|
|
'<div class="input-group date"> ' + |
|
|
'<input type="text" name="deliveryTime" value="' + detail.deliveryTime + '" class="form-control supplierDeliveryTime" id="deliveryTime_' + processTableId + '">' + |
|
|
'<input type="text" disabled name="deliveryTime" value="' + detail.deliveryTime + '" class="form-control supplierDeliveryTime" id="deliveryTime_' + processTableId + '">' + |
|
|
'<span class="input-group-addon"><i class="fa fa-calendar"></i></span>' + |
|
|
'<span class="input-group-addon"><i class="fa fa-calendar"></i></span>' + |
|
|
'<hr style="border: none; height: 1px; background-color: #ccc;">' + |
|
|
|
|
|
'</div>' + |
|
|
'</div>' + |
|
|
'</div>' + |
|
|
'</div>' + |
|
|
'</div>'+ |
|
|
'</div>'+ |
|
|
|
|
|
|
|
|
'</div>' + |
|
|
'</div>' + |
|
|
|
|
|
'</div>'+ |
|
|
|
|
|
'<div class="row">' + |
|
|
|
|
|
'<div class="hr-line-dashed" style="margin-bottom: 0px;margin-top: 80px;">' + |
|
|
'</div>' + |
|
|
'</div>' + |
|
|
'</div>'); |
|
|
'</div>'); |
|
|
$("#"+processTableId).append($supplierheaderContent); |
|
|
$("#"+processTableId).append($supplierheaderContent); |
|
|
|
|
|
$("input[name='deliveryTime']").datetimepicker({ |
|
|
|
|
|
format: "yyyy-mm-dd", |
|
|
|
|
|
minView: "month", |
|
|
|
|
|
todayBtn: true, |
|
|
|
|
|
autoClose: true |
|
|
|
|
|
}); |
|
|
}); |
|
|
}); |
|
|
} |
|
|
} |
|
|
// tableSetup($processInfo, tableId); |
|
|
|
|
|
}); |
|
|
}); |
|
|
}); |
|
|
}); |
|
|
|
|
|
|
|
@ -202,7 +235,6 @@ |
|
|
showToggle: false, |
|
|
showToggle: false, |
|
|
data: data, |
|
|
data: data, |
|
|
columns: [ |
|
|
columns: [ |
|
|
{checkbox: false}, |
|
|
|
|
|
{title: '料号', field: 'materialNo'}, |
|
|
{title: '料号', field: 'materialNo'}, |
|
|
{title: '图片', field: 'materialPhotourl', formatter: function (value, row, index) { |
|
|
{title: '图片', field: 'materialPhotourl', formatter: function (value, row, index) { |
|
|
return $.table.imageView(value); |
|
|
return $.table.imageView(value); |
|
@ -212,8 +244,13 @@ |
|
|
{title: '物料描述', field: 'description'}, |
|
|
{title: '物料描述', field: 'description'}, |
|
|
{title: '品牌', field: 'brand'}, |
|
|
{title: '品牌', field: 'brand'}, |
|
|
{title: '单位', field: 'unit', align: 'center', }, |
|
|
{title: '单位', field: 'unit', align: 'center', }, |
|
|
{title: '加工方式', field: 'processMethod', align: 'center',}, |
|
|
{title: '加工方式', field: 'processMethod', align: 'center', |
|
|
|
|
|
formatter: function (value, row, index) { |
|
|
|
|
|
return $.table.selectDictLabel(processMethodDatas, value); |
|
|
|
|
|
} |
|
|
|
|
|
}, |
|
|
{title: '计划委外数', field: 'plannedOutsourceAmount'}, |
|
|
{title: '计划委外数', field: 'plannedOutsourceAmount'}, |
|
|
|
|
|
{title: '实际委外数', field: 'actualOutsourceAmount'}, |
|
|
{title: '已入库数', field: 'alreadyStorageAmount'}, |
|
|
{title: '已入库数', field: 'alreadyStorageAmount'}, |
|
|
{title: '本次入库数', field: 'nowStorageAmount', |
|
|
{title: '本次入库数', field: 'nowStorageAmount', |
|
|
formatter: function(value, row, index) { |
|
|
formatter: function(value, row, index) { |
|
@ -223,7 +260,20 @@ |
|
|
}, |
|
|
}, |
|
|
], |
|
|
], |
|
|
}); |
|
|
}); |
|
|
|
|
|
$('input[name="nowStorageAmount"]').on('input', function() { |
|
|
|
|
|
calculateTotal(); |
|
|
|
|
|
}); |
|
|
} |
|
|
} |
|
|
|
|
|
function calculateTotal() { |
|
|
|
|
|
var inputs = $('input[name="nowStorageAmount"]'); |
|
|
|
|
|
var total = 0; |
|
|
|
|
|
|
|
|
|
|
|
inputs.each(function() { |
|
|
|
|
|
var value = parseFloat($(this).val()) || 0; // 将输入框的值转换为数字,默认为0 |
|
|
|
|
|
total += value; |
|
|
|
|
|
}); |
|
|
|
|
|
$("#nowStorageTotalAmount").val(total); |
|
|
|
|
|
}; |
|
|
// 函数用于合并重复的material的记录 |
|
|
// 函数用于合并重复的material的记录 |
|
|
function mergeRecords(items) { |
|
|
function mergeRecords(items) { |
|
|
return items.reduce((merged, current) => { |
|
|
return items.reduce((merged, current) => { |
|
@ -234,9 +284,9 @@ |
|
|
if (!existingRecord.orderDetails) { |
|
|
if (!existingRecord.orderDetails) { |
|
|
existingRecord.orderDetails = []; |
|
|
existingRecord.orderDetails = []; |
|
|
} |
|
|
} |
|
|
existingRecord.orderDetails = current.orderDetails; |
|
|
existingRecord.orderDetails.push(current.orderDetails[0]); |
|
|
} else { |
|
|
} else { |
|
|
console.log(current); |
|
|
// console.log(current); |
|
|
// 如果是第一次遇到这个materialNo,创建一个新的记录 |
|
|
// 如果是第一次遇到这个materialNo,创建一个新的记录 |
|
|
merged.push({ |
|
|
merged.push({ |
|
|
materialNo: current.materialNo, |
|
|
materialNo: current.materialNo, |
|
@ -247,85 +297,97 @@ |
|
|
unit: current.unit, |
|
|
unit: current.unit, |
|
|
brand: current.brand, |
|
|
brand: current.brand, |
|
|
processMethod: current.processMethod, |
|
|
processMethod: current.processMethod, |
|
|
// correlationCodes: current.correlationCodes, |
|
|
correlationCodes: current.correlationCodes, |
|
|
plannedOutsourceAmount: current.plannedOutsourceAmount, |
|
|
plannedOutsourceAmount: current.plannedOutsourceAmount, |
|
|
orderDetails: current.orderDetails |
|
|
orderDetails: [ |
|
|
|
|
|
current.orderDetails[0], |
|
|
|
|
|
] |
|
|
}); |
|
|
}); |
|
|
} |
|
|
} |
|
|
return merged; |
|
|
return merged; |
|
|
}, []); |
|
|
}, []); |
|
|
}; |
|
|
}; |
|
|
|
|
|
|
|
|
// 保存信息 刷新表格 |
|
|
|
|
|
function saveJson(url, data, callback) { |
|
|
|
|
|
var config = { |
|
|
|
|
|
url: url, |
|
|
|
|
|
type: "post", |
|
|
|
|
|
dataType: "json", |
|
|
|
|
|
contentType: "application/json;charset=utf-8", |
|
|
|
|
|
data: data, |
|
|
|
|
|
beforeSend: function () { |
|
|
|
|
|
$.modal.loading("正在处理中,请稍后..."); |
|
|
|
|
|
$.modal.disable(); |
|
|
|
|
|
}, |
|
|
|
|
|
success: function(result) { |
|
|
|
|
|
if (typeof callback == "function") { |
|
|
|
|
|
callback(result); |
|
|
|
|
|
} |
|
|
|
|
|
$.operate.successCallback(result); |
|
|
|
|
|
} |
|
|
|
|
|
}; |
|
|
|
|
|
$.ajax(config) |
|
|
|
|
|
}; |
|
|
|
|
|
function submitHandler() { |
|
|
function submitHandler() { |
|
|
var outsourceStorage = { |
|
|
var outsourceStorage = { |
|
|
relatedOrderCode: outsourceOrderList[0].outsourceOrderNo, |
|
|
relatedOrderCode: outsourceOrderList[0].outsourceOrderNo, |
|
|
materialAmount: materials.length, |
|
|
outsourcePlanCode: outsourcePlanCode, |
|
|
storageNum: 0, |
|
|
notifyArrivedNum: 0, |
|
|
warehouseStorageOrderDetailList:[] |
|
|
storageDetailList:[] |
|
|
}; |
|
|
}; |
|
|
if ($.validate.form()) { |
|
|
let storageSum = 0; |
|
|
let storageSum = 0; |
|
|
var hasError = false; |
|
|
var storageDetail; |
|
|
var hasValue = false; |
|
|
$('.table-materialNo').each(function(index, tableElement) { |
|
|
$('.table-materialNo').each(function(index, tableElement) { |
|
|
|
|
|
var tableId = tableIdList[index]; |
|
|
var tableId = tableIdList[index]; |
|
|
let materialObj = materialList[index]; |
|
|
let materialObj = materialList[index]; |
|
|
if (typeof materialObj === 'undefined') return; |
|
|
if (typeof materialObj === 'undefined') return; |
|
|
|
|
|
|
|
|
|
|
|
var rows = $("#" + tableId).bootstrapTable('getData').length; |
|
|
var rows = $("#" + "bootstrap-table_" + tableId).bootstrapTable('getData').length; |
|
|
console.log(rows); |
|
|
if(rows != 0) { |
|
|
for(var i = 0;i < rows;i++){ |
|
|
var data = $("#" + "bootstrap-table_" + tableId).bootstrapTable('getData')[0]; |
|
|
var data = $("#" + tableId).bootstrapTable('getData')[i]; |
|
|
if ($('[id^="nowStorageAmount_bootstrap-table_' + tableId + '"]').val() === "") { |
|
|
// console.log(data.nowRequisitionAmount); |
|
|
return; |
|
|
// console.log($('[id^="nowRequisitionAmount_' + tableId + '"]').val()); |
|
|
} else { |
|
|
let value = Number($('[id^="nowStorageAmount_' + tableId + '"]').val()); |
|
|
hasValue = true; |
|
|
|
|
|
// materialAmount++; |
|
|
|
|
|
let value = Number($('[id^="nowStorageAmount_bootstrap-table_' + tableId + '"]').val()); |
|
|
if (!isNaN(value)) { |
|
|
if (!isNaN(value)) { |
|
|
|
|
|
var hasReValue = Number(data.alreadyStorageAmount); |
|
|
|
|
|
if (hasReValue + value > data.actualOutsourceAmount) { |
|
|
|
|
|
hasError = true; |
|
|
|
|
|
} |
|
|
storageSum += value; |
|
|
storageSum += value; |
|
|
} |
|
|
} |
|
|
storageDetail = { |
|
|
var correlationCodes = $("#correlationCodes-" + tableId).text().trim(); |
|
|
relatedOrderCode: outsourceOrderList[0].outsourceOrderNo, |
|
|
$('#' + 'material-' + tableId).find('.process_card').each(function (processIndex, processCard) { |
|
|
materialNo: data.materialNo, |
|
|
var processNo = $(processCard).find('.processNo').text().trim(); |
|
|
materialName: data.materialName, |
|
|
var processName = $(processCard).find('.processName').text().trim(); |
|
|
materialPhotourl: data.materialPhotoUrl, |
|
|
var chargeUnitInfo = $(processCard).find('.chargeUnitInfo').text().trim(); |
|
|
materialBrand: data.brand, |
|
|
var singleMaterialInfo = $(processCard).find('.singleMaterialInfo').text().trim(); |
|
|
materialUnit: data.unit, |
|
|
var supplierCode = $(processCard).find('.supplierCode').text().trim(); |
|
|
materialDescribe: data.description, |
|
|
var supplierName = $(processCard).find('.supplierName').text().trim(); |
|
|
materialProcessMethod: data.processMethod, |
|
|
var processInfo = processNo + '-' + processName; |
|
|
// takenMaterial: (data.alreadyOutsourceAmount==='undefined'?0:data.alreadyOutsourceAmount), |
|
|
var supplierInfo = supplierCode + '--' + supplierName; |
|
|
takenMaterial:0, |
|
|
var deliveryTimeInfo = $(processCard).find("input[name='deliveryTime']").val(); |
|
|
takingMaterial: $('[id^="nowStorageAmount_' + tableId + '"]').val(), |
|
|
var storageDetail = { |
|
|
}; |
|
|
materialNo: data.materialNo, |
|
|
console.log(storageDetail); |
|
|
materialPhotourl: data.materialPhotourl, |
|
|
|
|
|
materialName: data.materialName, |
|
|
|
|
|
description: data.description, |
|
|
|
|
|
brand: data.brand, |
|
|
|
|
|
unit: data.unit, |
|
|
|
|
|
processMethod: data.processMethod, |
|
|
|
|
|
plannedOutsourceAmount: data.plannedOutsourceAmount, |
|
|
|
|
|
actualOutsourceAmount: data.actualOutsourceAmount, |
|
|
|
|
|
outsourceOrderNo: outsourceStorage.relatedOrderCode, |
|
|
|
|
|
takenMaterial: data.alreadyStorageAmount, |
|
|
|
|
|
takingMaterial: value, |
|
|
|
|
|
outsourceProcessInfo: processInfo, |
|
|
|
|
|
chargeUnitInfo: chargeUnitInfo, |
|
|
|
|
|
singleMaterialInfo: singleMaterialInfo, |
|
|
|
|
|
supplierInfo: supplierInfo, |
|
|
|
|
|
deliveryTimeInfo: deliveryTimeInfo, |
|
|
|
|
|
correlationCodes: correlationCodes, |
|
|
|
|
|
outsourcePlanCode: outsourceStorage.outsourcePlanCode, |
|
|
|
|
|
}; |
|
|
|
|
|
outsourceStorage.storageDetailList.push(storageDetail); |
|
|
|
|
|
}); |
|
|
} |
|
|
} |
|
|
outsourceStorage.storageNum += storageSum; |
|
|
outsourceStorage.notifyArrivedNum = storageSum; |
|
|
outsourceStorage.warehouseStorageOrderDetailList.push(storageDetail); |
|
|
} |
|
|
}); |
|
|
}); |
|
|
|
|
|
if(!hasValue){ |
|
|
|
|
|
$.modal.msgError("入库数不能全为空!"); |
|
|
|
|
|
return; |
|
|
|
|
|
} |
|
|
|
|
|
if(!hasError){ |
|
|
console.log(outsourceStorage); |
|
|
console.log(outsourceStorage); |
|
|
|
|
|
$.operate.saveJson(prefix + "/addStorage",JSON.stringify(outsourceStorage)); |
|
|
}; |
|
|
}else{ |
|
|
// 发送数据到后端API |
|
|
$.modal.msgError("累计入库数不能大于实际委外数!"); |
|
|
saveJson(prefix + "/addStorage",JSON.stringify(outsourceStorage)); |
|
|
return; |
|
|
|
|
|
} |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
</script> |
|
|
</script> |
|
|