|
|
@ -8,6 +8,18 @@ |
|
|
|
<div class="wrapper wrapper-content animated fadeInRight ibox-content"> |
|
|
|
<form class="form-horizontal m" id="form-makeorderpick-edit" th:object="${sysMakeorderPick}"> |
|
|
|
<input name="id" th:field="*{id}" type="hidden"> |
|
|
|
<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> |
|
|
|
</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> |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
<div class="form-group"> |
|
|
|
<label class="col-sm-3 control-label">生产订单号:</label> |
|
|
|
<div class="col-sm-8"> |
|
|
@ -21,30 +33,268 @@ |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
<div class="form-group"> |
|
|
|
<label class="col-sm-3 control-label">生产领料单号:</label> |
|
|
|
<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 name="pickUser" th:field="*{pickUser}" class="form-control hidden" type="text" readonly> |
|
|
|
<input name="pickUserName" th:field="*{pickUserName}" class="form-control" type="text" readonly> |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
<!--缺订单类型--> |
|
|
|
<div class="form-group"> |
|
|
|
<label class="col-sm-3 control-label">领料员:</label> |
|
|
|
<label class="col-sm-3 control-label">订单类型号:</label> |
|
|
|
<div class="col-sm-8"> |
|
|
|
<input name="pickUser" th:field="*{pickUser}" class="form-control hidden" type="text" readonly> |
|
|
|
<input name="pickUserName" th:field="*{pickUserName}" class="form-control" type="text" readonly> |
|
|
|
<select name="orderType" class="form-control m-b" th:with="type=${@dict.getType('sys_order_type')}"> |
|
|
|
<option th:each="e : ${type}" th:text="${e.dictLabel}" th:value="${e.dictValue}" ></option> |
|
|
|
</select> |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
<!--缺订单类型--> |
|
|
|
<!--缺表格--> |
|
|
|
</form> |
|
|
|
<div class="row"> |
|
|
|
<div class="col-sm-12 select-table table-striped"> |
|
|
|
<table id="bootstrap-sub-table-1"></table> |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
<th:block th:include="include :: footer" /> |
|
|
|
<th:block th:include="include :: datetimepicker-js" /> |
|
|
|
<script th:inline="javascript"> |
|
|
|
var prefix = ctx + "system/makeorderpick"; |
|
|
|
$("#form-makeorderpick-edit").validate({ |
|
|
|
focusCleanup: true |
|
|
|
}); |
|
|
|
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')}]]; |
|
|
|
$("#form-makeorderpick-edit").validate({focusCleanup: true}); |
|
|
|
|
|
|
|
$(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: '订单数量'}, |
|
|
|
{field: '',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 readonly 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; |
|
|
|
} |
|
|
|
function submitHandler() { |
|
|
|
if ($.validate.form()) { |
|
|
|
$.operate.save(prefix + "/edit", $('#form-makeorderpick-edit').serialize()); |
|
|
|