|
|
@ -35,19 +35,19 @@ |
|
|
|
<div class="form-group"> |
|
|
|
<label class="col-sm-3 control-label">生产订单号:</label> |
|
|
|
<div class="col-sm-8"> |
|
|
|
<input name="makeNo" th:field="*{makeNo}" class="form-control" type="text" readonly> |
|
|
|
<input id="makeNo" name="makeNo" th:field="*{makeNo}" class="form-control" type="text" readonly> |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
<div class="form-group"> |
|
|
|
<label class="col-sm-3 control-label">关联销售订单号:</label> |
|
|
|
<div class="col-sm-8"> |
|
|
|
<input name="saleNo" th:field="*{saleNo}" class="form-control" type="text" readonly> |
|
|
|
<input id="saleNo" name="saleNo" th:field="*{saleNo}" class="form-control" type="text" readonly> |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
<div class="form-group"> |
|
|
|
<label class="col-sm-3 control-label">生产领料单号:</label> |
|
|
|
<div class="col-sm-8"> |
|
|
|
<input name="pickNo" th:field="*{pickNo}" class="form-control" type="text" readonly> |
|
|
|
<input id="pickNo" name="pickNo" th:field="*{pickNo}" class="form-control" type="text" readonly> |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
<div class="form-group"> |
|
|
@ -58,7 +58,11 @@ |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
<!--缺订单类型--> |
|
|
|
<!--缺表格--> |
|
|
|
<div class="row"> |
|
|
|
<div class="col-sm-12 select-table table-striped"> |
|
|
|
<table id="bootstrap-sub-table-1"></table> |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
<hr /> |
|
|
|
<div class="form-group"> |
|
|
|
<label class="col-sm-3 control-label" for="reApply">是否继续申请:</label> |
|
|
@ -75,6 +79,292 @@ |
|
|
|
<th:block th:include="include :: datetimepicker-js" /> |
|
|
|
<script th:inline="javascript"> |
|
|
|
var prefix = ctx + "system/makeorderpick"; |
|
|
|
|
|
|
|
// 字典 |
|
|
|
var processMethodDatas = [[${@dict.getType('processMethod')}]]; |
|
|
|
var sysUnitClassDatas = [[${@dict.getType('sys_unit_class')}]]; |
|
|
|
var materialTypeDatas = [[${@category.getChildByCode('materialType')}]]; |
|
|
|
var levelDatas = [[${@dict.getType('bomLevel')}]]; |
|
|
|
var processMethodDatas = [[${@dict.getType('processMethod')}]]; |
|
|
|
|
|
|
|
|
|
|
|
$(function(){ |
|
|
|
var options = { |
|
|
|
url: ctx + "system/orderChild/list", |
|
|
|
id: 'bootstrap-sub-table-1', |
|
|
|
showSearch: false, |
|
|
|
showRefresh: false, |
|
|
|
showToggle: false, |
|
|
|
showColumns: false, |
|
|
|
uniqueId: "id", |
|
|
|
pagination: false, // 设置不分页 |
|
|
|
sidePagination: "client", |
|
|
|
queryParams: queryParams, |
|
|
|
detailView: true, |
|
|
|
onExpandRow : function(index, row, $detail) { |
|
|
|
initChildTable(index, row, $detail); |
|
|
|
}, |
|
|
|
/*onCollapseRow: function(index, row){ |
|
|
|
var childTableFormId = 'child_table_form_'+index; |
|
|
|
var formData = $('#'+childTableFormId).serialize(); |
|
|
|
var formObj = $.common.formDataToObj(formData); |
|
|
|
subTableFormArray.push(formObj); |
|
|
|
},*/ |
|
|
|
columns: [ |
|
|
|
{ |
|
|
|
field: 'id', |
|
|
|
title: '主键id', |
|
|
|
visible: false |
|
|
|
}, |
|
|
|
{ |
|
|
|
field: 'quoteId', |
|
|
|
title: '关联销售订单编号', |
|
|
|
visible: false |
|
|
|
}, |
|
|
|
{ |
|
|
|
field: 'bomId', |
|
|
|
title: 'bom主键Id', |
|
|
|
visible: false |
|
|
|
}, |
|
|
|
{ |
|
|
|
field: 'materialCode', |
|
|
|
align: 'center', |
|
|
|
title: '料号' |
|
|
|
}, |
|
|
|
{ |
|
|
|
field: 'materialName', |
|
|
|
align: 'center', |
|
|
|
title: '物料名称', |
|
|
|
}, |
|
|
|
{ |
|
|
|
field: 'materialType', |
|
|
|
align: 'center', |
|
|
|
title: '物料类型', |
|
|
|
formatter: function(value, row, index) { |
|
|
|
return $.table.selectCategoryLabel(materialTypeDatas, value); |
|
|
|
} |
|
|
|
}, |
|
|
|
{ |
|
|
|
field: 'unit', |
|
|
|
align: 'center', |
|
|
|
title: '单位', |
|
|
|
formatter: function(value, row, index) { |
|
|
|
return $.table.selectDictLabel(sysUnitClassDatas, value); |
|
|
|
} |
|
|
|
}, |
|
|
|
{ |
|
|
|
field: 'brand', |
|
|
|
align: 'center', |
|
|
|
title: '品牌' |
|
|
|
}, |
|
|
|
{ |
|
|
|
field: 'describe', |
|
|
|
align: 'center', |
|
|
|
title: '描述' |
|
|
|
}, |
|
|
|
{ |
|
|
|
field: 'processMethod', |
|
|
|
align: 'center', |
|
|
|
title: '加工方式', |
|
|
|
formatter: function(value, row, index) { |
|
|
|
return $.table.selectDictLabel(processMethodDatas, value); |
|
|
|
} |
|
|
|
}, |
|
|
|
{ |
|
|
|
field: 'deliveryTime', |
|
|
|
align: 'center', |
|
|
|
title: '客户期望交付时间' |
|
|
|
}, |
|
|
|
{ |
|
|
|
field: 'materialNum', |
|
|
|
align: 'center', |
|
|
|
title: '订单数量' |
|
|
|
} |
|
|
|
] |
|
|
|
}; |
|
|
|
$.table.init(options); |
|
|
|
}) |
|
|
|
|
|
|
|
initChildTable = function(index, row, $detail) { |
|
|
|
var parentRow = row; |
|
|
|
var parentRowIndex = index; |
|
|
|
var childTableId = 'child_table_'+index; |
|
|
|
var childFormTableId = 'child_form_table_'+index; |
|
|
|
var childTableFormId = 'child_table_form_'+index; |
|
|
|
// $detail.html('<form id="'+childTableFormId+'"><table id="'+childTableId+'"></table><table id="'+childFormTableId+'"></table></form>'); |
|
|
|
$detail.html('<table id="'+childTableId+'"></table>'); |
|
|
|
// BOM展示 |
|
|
|
$('#'+childTableId).bootstrapTable({ |
|
|
|
url: ctx + "system/makeorderpickdetail/list", |
|
|
|
method: 'post', |
|
|
|
sidePagination: "server", |
|
|
|
contentType: "application/x-www-form-urlencoded", |
|
|
|
queryParams : { |
|
|
|
pickNo: $("#pickNo").val() |
|
|
|
}, |
|
|
|
columns: [{ |
|
|
|
field: 'id', |
|
|
|
title: '主键id', |
|
|
|
visible: false |
|
|
|
}, |
|
|
|
{ |
|
|
|
field: 'level', |
|
|
|
title: '阶层', |
|
|
|
formatter: function(value, row, index) { |
|
|
|
return $.table.selectDictLabel(levelDatas, value); |
|
|
|
} |
|
|
|
}, |
|
|
|
{ |
|
|
|
field: 'bomNo', |
|
|
|
title: 'BOM号', |
|
|
|
formatter:function (value,row,index){ |
|
|
|
if (value == null || value == ''){ |
|
|
|
return '/'; |
|
|
|
}else{ |
|
|
|
return value |
|
|
|
} |
|
|
|
} |
|
|
|
}, |
|
|
|
{ |
|
|
|
field: 'materialNo', |
|
|
|
title: '料号', |
|
|
|
formatter: function (value,row,index){ |
|
|
|
var curIndex = row.sortNo-1; |
|
|
|
return '<input readonly class = "form-control" data-id = "materialNo_'+curIndex+'" name="pickDetails['+curIndex+'].materialNo" value="'+value+'">' + |
|
|
|
'<input class = "hidden form-control" data-id = "id_'+curIndex+'" name="pickDetails['+curIndex+'].id" value="'+row.id+'">'; |
|
|
|
} |
|
|
|
}, |
|
|
|
{ |
|
|
|
field: 'photoUrl', |
|
|
|
title: '图片', |
|
|
|
formatter: function(value, row, index) { |
|
|
|
return $.table.imageView(value); |
|
|
|
} |
|
|
|
}, |
|
|
|
{ |
|
|
|
field: 'materialName', |
|
|
|
title: '物料名称', |
|
|
|
formatter: function (value,row,index){ |
|
|
|
if (value == null || value == ''){ |
|
|
|
return '/'; |
|
|
|
}else{ |
|
|
|
return value |
|
|
|
} |
|
|
|
} |
|
|
|
}, |
|
|
|
{ |
|
|
|
field: 'materialType', |
|
|
|
title: '物料类型', |
|
|
|
formatter: function(value, row, index) { |
|
|
|
return $.table.selectCategoryLabel(materialTypeDatas, value); |
|
|
|
} |
|
|
|
}, |
|
|
|
{ |
|
|
|
field: 'describe', |
|
|
|
title: '描述', |
|
|
|
formatter: function (value,row,index){ |
|
|
|
if (value == null || value == ''){ |
|
|
|
return '/'; |
|
|
|
}else{ |
|
|
|
return value |
|
|
|
} |
|
|
|
} |
|
|
|
}, |
|
|
|
{ |
|
|
|
field: 'brand', |
|
|
|
title: '品牌', |
|
|
|
formatter: function (value,row,index){ |
|
|
|
if (value == null || value == ''){ |
|
|
|
return '/'; |
|
|
|
}else{ |
|
|
|
return value |
|
|
|
} |
|
|
|
} |
|
|
|
}, |
|
|
|
{ |
|
|
|
field: 'unit', |
|
|
|
title: '单位', |
|
|
|
formatter: function (value,row,index){ |
|
|
|
if (value == null || value == ''){ |
|
|
|
return '/'; |
|
|
|
}else{ |
|
|
|
return value |
|
|
|
} |
|
|
|
} |
|
|
|
}, |
|
|
|
|
|
|
|
{ |
|
|
|
field: 'processMethod', |
|
|
|
title: '加工方式', |
|
|
|
formatter: function(value, row, index) { |
|
|
|
return $.table.selectDictLabel(processMethodDatas, value); |
|
|
|
} |
|
|
|
}, |
|
|
|
{ |
|
|
|
field: 'useNum', |
|
|
|
title: '用量', |
|
|
|
formatter: function (value,row,index){ |
|
|
|
if (value == null || value == ''){ |
|
|
|
return '/'; |
|
|
|
}else{ |
|
|
|
return value |
|
|
|
} |
|
|
|
} |
|
|
|
}, |
|
|
|
{ |
|
|
|
field: 'lossRate', |
|
|
|
title: '损耗率', |
|
|
|
formatter: function (value,row,index){ |
|
|
|
if (value == null || value == ''){ |
|
|
|
return '/'; |
|
|
|
}else{ |
|
|
|
return value + "%"; |
|
|
|
} |
|
|
|
} |
|
|
|
}, |
|
|
|
{ |
|
|
|
field: 'materialNum', |
|
|
|
title: '订单用量', |
|
|
|
formatter: function (value,row,index){ |
|
|
|
return parentRow.materialNum * row.useNum; |
|
|
|
} |
|
|
|
}, |
|
|
|
{ |
|
|
|
field: 'pickNum', |
|
|
|
title: '本次领料数量', |
|
|
|
formatter: function (value,row,index){ |
|
|
|
var curIndex = row.sortNo-1; |
|
|
|
return '<input class = "form-control" data-id = "pickNum_'+curIndex+'" name="pickDetails['+curIndex+'].pickNum" value="'+value+'">'; |
|
|
|
} |
|
|
|
}, |
|
|
|
{ |
|
|
|
field: 'sortNo', |
|
|
|
title: '排序', |
|
|
|
visible: false |
|
|
|
}], |
|
|
|
// 当所有数据被加载时触发 |
|
|
|
onLoadSuccess: function(data) { |
|
|
|
|
|
|
|
}, |
|
|
|
}); |
|
|
|
}; |
|
|
|
|
|
|
|
|
|
|
|
function queryParams(params) { |
|
|
|
var curParams = { |
|
|
|
// 传递参数查询参数 |
|
|
|
// pageSize: params.limit, |
|
|
|
// pageNum: params.offset / params.limit + 1, |
|
|
|
// searchValue: params.search, |
|
|
|
// orderByColumn: params.sort, |
|
|
|
// isAsc: params.order |
|
|
|
}; |
|
|
|
// 额外传参 |
|
|
|
curParams.quoteId = $("#saleNo").val(); |
|
|
|
return curParams; |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
$("#form-makeorderpick-edit").validate({ |
|
|
|
focusCleanup: true |
|
|
|
}); |
|
|
|