You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
1029 lines
43 KiB
1029 lines
43 KiB
<!DOCTYPE html>
|
|
<html lang="zh" xmlns:th="http://www.thymeleaf.org" >
|
|
<head>
|
|
<th:block th:include="include :: header('新增制工单')" />
|
|
<th:block th:include="include :: datetimepicker-css"/>
|
|
<link th:href="@{/ajax/libs/select2/select2.css}" rel="stylesheet">
|
|
<link th:href="@{/ajax/libs/select2/select2-bootstrap.css}" rel="stylesheet">
|
|
<th:block th:include="include :: bootstrap-editable-css"/>
|
|
<style>
|
|
.other-container {
|
|
width: 90%;
|
|
height: 200px;
|
|
margin: auto;
|
|
}
|
|
.other {
|
|
margin-top: 20px;
|
|
}
|
|
h4 {
|
|
display: inline-block;
|
|
margin-right: 20px;
|
|
}
|
|
.modal-body{
|
|
height: 550px;
|
|
}
|
|
iframe{
|
|
width: 100%;
|
|
height: 500px;
|
|
frameborder: 0;
|
|
border: 0;
|
|
display: inline-block;
|
|
}
|
|
</style>
|
|
</head>
|
|
<body class="white-bg">
|
|
<div class="wrapper wrapper-content animated fadeInRight ibox-content">
|
|
<form class="form-horizontal m" id="form-workOrderInfo-add">
|
|
<div class="form-group">
|
|
<label class="col-sm-3 control-label is-required">订单号码:</label>
|
|
<div class="col-sm-8">
|
|
<input name="salesOrderNumber" class="form-control" placeholder="双击选择订单" type="text" required>
|
|
</div>
|
|
</div>
|
|
<div class="form-group">
|
|
<label class="col-sm-3 control-label is-required">工单号:</label>
|
|
<div class="col-sm-8">
|
|
<input name="workOrderNumber" class="form-control" type="text" required readonly>
|
|
</div>
|
|
</div>
|
|
<div class="form-group">
|
|
<label class="col-sm-3 control-label">Line#:</label>
|
|
<div class="col-sm-8">
|
|
<input name="line" 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">
|
|
<select name="processDept" class="form-control m-b" th:with="type=${@dict.getType('sys_department_class')}">
|
|
<option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictValue}"></option>
|
|
</select>
|
|
</div>
|
|
</div>
|
|
<div class="form-group">
|
|
<label class="col-sm-3 control-label">客户代码:</label>
|
|
<div class="col-sm-8">
|
|
<input name="enterpriseCode" class="form-control" type="text">
|
|
</div>
|
|
</div>
|
|
<div class="form-group">
|
|
<label class="col-sm-3 control-label">客户名称:</label>
|
|
<div class="col-sm-8">
|
|
<input name="enterpriseName" class="form-control" type="text">
|
|
</div>
|
|
</div>
|
|
<div class="form-group">
|
|
<label class="col-sm-3 control-label">成品代码:</label>
|
|
<div class="col-sm-8">
|
|
<input name="finishProductCode" class="form-control" type="text">
|
|
</div>
|
|
</div>
|
|
<div class="form-group">
|
|
<label class="col-sm-3 control-label">成品名称:</label>
|
|
<div class="col-sm-8">
|
|
<input name="finishProductName" class="form-control" type="text">
|
|
</div>
|
|
</div>
|
|
<div class="form-group">
|
|
<label class="col-sm-3 control-label">规格型号:</label>
|
|
<div class="col-sm-8">
|
|
<input name="specificationModel" class="form-control" type="text">
|
|
</div>
|
|
</div>
|
|
<div class="form-group">
|
|
<label class="col-sm-3 control-label">机种:</label>
|
|
<div class="col-sm-8">
|
|
<input name="typeMachine" class="form-control" type="text">
|
|
</div>
|
|
</div>
|
|
<div class="form-group">
|
|
<label class="col-sm-3 control-label">单位:</label>
|
|
<div class="col-sm-8">
|
|
<input name="inventoryUnit" class="form-control" type="text">
|
|
</div>
|
|
</div>
|
|
<div class="form-group">
|
|
<label class="col-sm-3 control-label">订单数量:</label>
|
|
<div class="col-sm-8">
|
|
<input name="orderQuantity" class="form-control" type="text">
|
|
</div>
|
|
</div>
|
|
<div class="form-group">
|
|
<label class="col-sm-3 control-label">投单数量:</label>
|
|
<div class="col-sm-8">
|
|
<input name="deliveryOrderQuantity" class="form-control" type="text">
|
|
</div>
|
|
</div>
|
|
<div class="form-group">
|
|
<label class="col-sm-3 control-label">已开工单数:</label>
|
|
<div class="col-sm-8">
|
|
<input name="beginOrderQuantity" class="form-control" type="text">
|
|
</div>
|
|
</div>
|
|
<div class="form-group">
|
|
<label class="col-sm-3 control-label">未开工单数:</label>
|
|
<div class="col-sm-8">
|
|
<input name="notBeginOrderQuantity" class="form-control" type="text">
|
|
</div>
|
|
</div>
|
|
<div class="form-group">
|
|
<label class="col-sm-3 control-label">客户厂区:</label>
|
|
<div class="col-sm-8">
|
|
<input name="customerFactory" class="form-control" type="text">
|
|
</div>
|
|
</div>
|
|
<div class="form-group">
|
|
<label class="col-sm-3 control-label">开工日期:</label>
|
|
<div class="col-sm-8">
|
|
<div class="input-group date">
|
|
<input name="beginDate" class="form-control" placeholder="yyyy-MM-dd" type="text">
|
|
<span class="input-group-addon"><i class="fa fa-calendar"></i></span>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="form-group">
|
|
<label class="col-sm-3 control-label">完工日期:</label>
|
|
<div class="col-sm-8">
|
|
<div class="input-group date">
|
|
<input name="endDate" class="form-control" placeholder="yyyy-MM-dd" type="text">
|
|
<span class="input-group-addon"><i class="fa fa-calendar"></i></span>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="form-group">
|
|
<label class="col-sm-3 control-label">开单日期:</label>
|
|
<div class="col-sm-8">
|
|
<div class="input-group date">
|
|
<input name="billingTime" class="form-control" placeholder="yyyy-MM-dd" type="text">
|
|
<span class="input-group-addon"><i class="fa fa-calendar"></i></span>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="form-group">
|
|
<label class="col-sm-3 control-label">交期:</label>
|
|
<div class="col-sm-8">
|
|
<div class="input-group date">
|
|
<input name="deliveryTime" class="form-control" placeholder="yyyy-MM-dd" type="text">
|
|
<span class="input-group-addon"><i class="fa fa-calendar"></i></span>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="form-group">
|
|
<label class="col-sm-3 control-label">版本号:</label>
|
|
<div class="col-sm-8">
|
|
<input name="versionNumber" class="form-control" type="text">
|
|
</div>
|
|
</div>
|
|
<div class="form-group">
|
|
<label class="col-sm-3 control-label">备注说明:</label>
|
|
<div class="col-sm-8">
|
|
<textarea name="salesExplain" class="form-control" type="text"></textarea>
|
|
</div>
|
|
</div>
|
|
<div class="form-group">
|
|
<label class="col-sm-3 control-label">工单类型:</label>
|
|
<div class="col-sm-8">
|
|
<select name="workOrderClass" class="form-control m-b" th:with="type=${@dict.getType('sys_workorderClass')}">
|
|
<option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictValue}"></option>
|
|
</select>
|
|
</div>
|
|
</div>
|
|
<div class="form-group hidden">
|
|
<label class="col-sm-3 control-label">结案否:</label>
|
|
<div class="col-sm-8">
|
|
<select name="closeCaseFlag" class="form-control m-b" th:with="type=${@dict.getType('sys_whether')}">
|
|
<option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictValue}"></option>
|
|
</select>
|
|
</div>
|
|
</div>
|
|
<!-- <div class="form-group"> -->
|
|
<!-- <label class="col-sm-3 control-label">结案人:</label>-->
|
|
<!-- <div class="col-sm-8">-->
|
|
<!-- <input name="closeCasePerson" class="form-control" type="text">-->
|
|
<!-- </div>-->
|
|
<!-- </div>-->
|
|
<!-- <div class="form-group"> -->
|
|
<!-- <label class="col-sm-3 control-label">结案时间:</label>-->
|
|
<!-- <div class="col-sm-8">-->
|
|
<!-- <div class="input-group date">-->
|
|
<!-- <input name="closeCaseTime" class="form-control" placeholder="yyyy-MM-dd" type="text">-->
|
|
<!-- <span class="input-group-addon"><i class="fa fa-calendar"></i></span>-->
|
|
<!-- </div>-->
|
|
<!-- </div>-->
|
|
<!-- </div>-->
|
|
</form>
|
|
</div>
|
|
|
|
<div class="modal inmodal" id="salesFinishModal"
|
|
role="dilog" aria-hidden="true">
|
|
|
|
<!-- 查询订单成品资料-->
|
|
<div class="modal-dialog" style="width: 1000px;background-color: #FFFFFF">
|
|
|
|
<div class="modal-content" style="background-color: #FFFFFF">
|
|
|
|
<div class="modal-body">
|
|
<div class="container-div">
|
|
<div class="row">
|
|
<div class="col-sm-12 search-collapse">
|
|
<form id="salesFinishFormId">
|
|
<div class="select-list">
|
|
<ul>
|
|
<li>
|
|
<label>订单号码:</label>
|
|
<input type="text" name="salesOrderNumber"/>
|
|
</li>
|
|
<li>
|
|
<label>成品代码:</label>
|
|
<input type="text" name="finishProductCode"/>
|
|
</li>
|
|
<li>
|
|
<label>成品名称:</label>
|
|
<input type="text" name="finishProductName"/>
|
|
</li>
|
|
<li>
|
|
<label>客户代码:</label>
|
|
<input type="text" name="enterpriseCode"/>
|
|
</li>
|
|
<li>
|
|
<label>客户名称:</label>
|
|
<input type="text" name="enterpriseName"/>
|
|
</li>
|
|
<li>
|
|
<a class="btn btn-primary btn-rounded btn-sm" onclick="$.table.search('salesFinishFormId','salesFinishTable')"><i
|
|
class="fa fa-search"></i> 搜索</a>
|
|
<a class="btn btn-warning btn-rounded btn-sm" onclick="$.form.reset('salesFinishFormId','salesFinishTable')"><i
|
|
class="fa fa-refresh"></i> 重置</a>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</form>
|
|
</div>
|
|
<div class="col-sm-12 select-table table-striped">
|
|
<table id="salesFinishTable" style="white-space:nowrap"></table>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="modal-footer">
|
|
<a class="btn btn-warning btn-rounded" onclick="addSalesFinishToTable()">确认添加</a>
|
|
<a class="btn btn-primary btn-rounded" onclick="closeSalesFinishModal()">关闭</a>
|
|
</div>
|
|
</div>
|
|
|
|
</div>
|
|
</div>
|
|
|
|
<div class="other-container">
|
|
<div class="other">
|
|
<br><hr>
|
|
<h4>物料信息</h4>
|
|
<a class="btn btn-primary" onclick="showBomModal()"><i class="fa fa-plus"></i> 查看BOM信息</a>
|
|
<div class="col-sm-12 select-table table-striped">
|
|
<table id="addBomMaterialTable" style="white-space:nowrap"></table>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="modal inmodal" id="bomMaterialModal"
|
|
role="dilog" aria-hidden="true">
|
|
<!-- 查询BOM资料-->
|
|
<div class="modal-dialog" style="width: 1000px;background-color: #FFFFFF">
|
|
|
|
<div class="modal-content" style="background-color: #FFFFFF">
|
|
|
|
<div class="modal-body">
|
|
<div class="container-div">
|
|
<div class="row">
|
|
<div class="col-sm-12 select-table table-striped">
|
|
<table id="rawMaterialBomTable" style="white-space:nowrap"></table>
|
|
</div>
|
|
<div class="col-sm-12 select-table table-striped">
|
|
<table id="subsidiaryMaterialBomTable" style="white-space:nowrap"></table>
|
|
</div>
|
|
<div class="col-sm-12 select-table table-striped">
|
|
<table id="bcpMaterialBomTable" style="white-space:nowrap"></table>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="modal-footer">
|
|
<a class="btn btn-warning btn-rounded" onclick="addBomDetailToTable()">确认添加</a>
|
|
<a class="btn btn-primary btn-rounded" onclick="closeBomDetailModal()">关闭</a>
|
|
</div>
|
|
</div>
|
|
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<th:block th:include="include :: footer" />
|
|
<th:block th:include="include :: datetimepicker-js"/>
|
|
<th:block th:include="include :: select2-js"/>
|
|
<th:block th:include="include :: bootstrap-table-editable-js"/>
|
|
<script th:inline="javascript">
|
|
var prefix = ctx + "manufacture/workOrderInfo"
|
|
|
|
var inventoryUnitDatas = [[${@dict.getType('sys_unit_class')}]];
|
|
var materialTypeDatas = [[${@dict.getType('bom_material_category')}]];
|
|
|
|
$("#form-workOrderInfo-add").validate({
|
|
focusCleanup: true
|
|
});
|
|
|
|
function submitHandler() {
|
|
var getData = $("#addBomMaterialTable").bootstrapTable("getData");
|
|
if(getData.length > 0){
|
|
if ($.validate.form()) {
|
|
//确认添加选中的物料数据
|
|
confirmMaterial();
|
|
$.operate.save(prefix + "/add", $('#form-workOrderInfo-add').serialize());
|
|
}
|
|
} else {
|
|
$.modal.alertWarning("未选择物料,请选择!")
|
|
}
|
|
|
|
}
|
|
|
|
$("input[name='billingTime']").datetimepicker({
|
|
format: "yyyy-mm-dd hh:ii:ss",
|
|
minView: "month",
|
|
autoclose: true,
|
|
todayBtn: true
|
|
});
|
|
$("input[name='billingTime']").datetimepicker("setDate", new Date())
|
|
|
|
$("input[name='beginDate']").datetimepicker({
|
|
format: "yyyy-mm-dd",
|
|
minView: "month",
|
|
autoclose: true,
|
|
todayBtn: true
|
|
});
|
|
|
|
$("input[name='endDate']").datetimepicker({
|
|
format: "yyyy-mm-dd",
|
|
minView: "month",
|
|
autoclose: true,
|
|
todayBtn: true
|
|
});
|
|
|
|
$("input[name='deliveryTime']").datetimepicker({
|
|
format: "yyyy-mm-dd",
|
|
minView: "month",
|
|
autoclose: true,
|
|
todayBtn: true
|
|
});
|
|
|
|
$("input[name='closeCaseTime']").datetimepicker({
|
|
format: "yyyy-mm-dd hh:ii:ss",
|
|
minView: "month",
|
|
autoclose: true,
|
|
todayBtn: true
|
|
});
|
|
|
|
//获取单号
|
|
$.ajax({
|
|
url: prefix + "/id",
|
|
type: "post",
|
|
dateType: "json",
|
|
success: function (resp) {
|
|
if (resp.code === 0) {
|
|
$("input[name='workOrderNumber']").val(resp.data);
|
|
} else {
|
|
$.modal.msgError("失败啦");
|
|
}
|
|
},
|
|
error: function () {
|
|
$.modal.msgError("后台出错啦!");
|
|
}
|
|
});
|
|
|
|
$("#form-workOrderInfo-add input[name='salesOrderNumber']").focus(function () {
|
|
$(this).attr("placeholder", "");
|
|
}).blur(function () {
|
|
$(this).attr("placeholder", "双击选择订单");
|
|
});
|
|
|
|
|
|
//双击选择订单成品
|
|
$("#form-workOrderInfo-add input[name='salesOrderNumber']").dblclick(function () {
|
|
// $.modal.msg("订单详情")
|
|
$("#salesFinishModal").modal("show");
|
|
var options = {
|
|
id: 'salesFinishTable',
|
|
url: ctx + "system/salesFinish/list",
|
|
modalName: "销售产品",
|
|
showToggle: false, // 是否显示详细视图和列表视图的切换按钮
|
|
cardView: false, // 是否显示详细视图
|
|
detailView: false, // 是否显示父子表
|
|
smartDisplay: false, // 加了这个才显示每页显示的行数
|
|
showExport: false, // 是否显示导出按钮
|
|
clickToSelect: true,//点击行选中
|
|
queryParams: function (params) {
|
|
var curParams = {
|
|
// 传递参数查询参数
|
|
pageSize: params.limit,
|
|
pageNum: params.offset / params.limit + 1,
|
|
// enterpriseCode: data[0].enterpriseCode
|
|
};
|
|
let json = $.extend(curParams, $.common.formToJSON("salesFinishFormId"));
|
|
return json;
|
|
},
|
|
columns: [{
|
|
checkbox: true
|
|
},
|
|
{
|
|
field: 'salesFinishId',
|
|
title: '订单id',
|
|
visible: false
|
|
},
|
|
{
|
|
field: 'salesOrderCode',
|
|
title: '订单编号'
|
|
},
|
|
{
|
|
field: 'salesOrderNumber',
|
|
title: '订单号码'
|
|
},
|
|
{
|
|
field: 'enterpriseCode',
|
|
title: '客户代码'
|
|
},
|
|
{
|
|
field: 'enterpriseName',
|
|
title: '客户名称'
|
|
},
|
|
{
|
|
field: 'finishProductCode',
|
|
title: '成品代码'
|
|
},
|
|
{
|
|
field: 'finishProductName',
|
|
title: '成品名称'
|
|
},
|
|
{
|
|
field: 'specificationModel',
|
|
title: '规格型号'
|
|
},
|
|
{
|
|
field: 'typeMachine',
|
|
title: '机种'
|
|
},
|
|
{
|
|
field: 'inventoryUnit',
|
|
title: '单位'
|
|
},
|
|
{
|
|
field: 'stockUnitWeight',
|
|
title: '重量'
|
|
},
|
|
{
|
|
field: 'processPrice',
|
|
title: '单价'
|
|
},
|
|
{
|
|
field: 'productQuantity',
|
|
title: '数量'
|
|
},
|
|
{
|
|
field: 'amountMoney',
|
|
title: '金额'
|
|
},
|
|
{
|
|
field: 'deliveryTime',
|
|
title: '交期'
|
|
},
|
|
{
|
|
field: 'line',
|
|
title: 'Line#'
|
|
},
|
|
{
|
|
field: 'versionNumber',
|
|
title: '版本号'
|
|
},
|
|
{
|
|
field: 'salesExplain',
|
|
title: '说明'
|
|
}]
|
|
};
|
|
$.table.init(options);
|
|
})
|
|
|
|
//初始化添加表格
|
|
$("#addBomMaterialTable").bootstrapTable({
|
|
pagination: true,
|
|
pageNumber: 1,
|
|
pageSize: 10,
|
|
showToggle: false, // 是否显示详细视图和列表视图的切换按钮
|
|
cardView: false, // 是否显示详细视图
|
|
detailView: false, // 是否显示父子表
|
|
smartDisplay: false, // 加了这个才显示每页显示的行数
|
|
showExport: false, // 是否显示导出按钮
|
|
clickToSelect: true,//点击行选中
|
|
paginationDetailHAlign: ' hiddenDetailInfo',
|
|
height: 250,
|
|
uniqueId: 'materialCode',
|
|
queryParams: function (params) {
|
|
//console.log("123");
|
|
var curParams = {
|
|
// 传递参数查询参数
|
|
pageSize: params.limit,
|
|
pageNum: params.offset / params.limit + 1,
|
|
// enterpriseCode: data[0].enterpriseCode
|
|
|
|
};
|
|
// console.log(data[0].enterpriseCode)
|
|
return curParams
|
|
},
|
|
columns: [
|
|
{
|
|
title: '操作',
|
|
align: 'center',
|
|
formatter: function (value, row, index) {
|
|
var actions = [];
|
|
actions.push('<a class="btn btn-danger btn-xs" href="javascript:void(0)" onclick="removeMaterial(\'' + row.materialCode + '\')" ><i class="fa fa-remove"></i>删除</a>');
|
|
return actions.join('');
|
|
}
|
|
},
|
|
{
|
|
field: 'workOrderDetailId',
|
|
title: '制工材料id',
|
|
visible: false
|
|
},
|
|
{
|
|
field: 'workOrderNumber',
|
|
title: '工单号',
|
|
visible: false
|
|
},
|
|
{
|
|
field: 'materialCode',
|
|
title: '物料代码'
|
|
},
|
|
{
|
|
field: 'materialName',
|
|
title: '物料名称'
|
|
},
|
|
{
|
|
field: 'specificationModel',
|
|
title: '规格型号'
|
|
},
|
|
{
|
|
field: 'inventoryUnit',
|
|
title: '单位'
|
|
},
|
|
{
|
|
field: 'materialType',
|
|
title: '物料类别',
|
|
formatter: function(value, row, index) {
|
|
return $.table.selectDictLabel(materialTypeDatas, value);
|
|
},
|
|
visible: false
|
|
},
|
|
{
|
|
field: 'materialConsumption',
|
|
title: '用量',
|
|
editable: {
|
|
type: 'text',
|
|
title: '用量',
|
|
emptytext: '用量',
|
|
validate: function (value) {
|
|
|
|
}
|
|
}
|
|
},
|
|
{
|
|
field: 'itemNumber',
|
|
title: '料号',
|
|
editable: {
|
|
type: 'text',
|
|
title: '料号',
|
|
emptytext: '料号',
|
|
validate: function (value) {
|
|
|
|
}
|
|
}
|
|
},
|
|
{
|
|
field: 'description',
|
|
title: '说明',
|
|
editable: {
|
|
type: 'text',
|
|
title: '说明',
|
|
emptytext: '说明',
|
|
validate: function (value) {
|
|
|
|
}
|
|
}
|
|
}]
|
|
})
|
|
|
|
//选择订单填充数据
|
|
function addSalesFinishToTable() {
|
|
var data = $("#salesFinishTable").bootstrapTable("getSelections",true);
|
|
// console.log(data)
|
|
if (data.length === 1) {
|
|
$("#form-workOrderInfo-add input[name='salesOrderNumber']").val(data[0].salesOrderNumber);
|
|
$("#form-workOrderInfo-add input[name='line']").val(data[0].line);
|
|
// $("#form-workOrderInfo-add select[name='processDept']").val(data[0].processDept).trigger("change");
|
|
$("#form-workOrderInfo-add input[name='enterpriseCode']").val(data[0].enterpriseCode);
|
|
$("#form-workOrderInfo-add input[name='enterpriseName']").val(data[0].enterpriseName);
|
|
$("#form-workOrderInfo-add input[name='finishProductCode']").val(data[0].finishProductCode);
|
|
$("#form-workOrderInfo-add input[name='finishProductName']").val(data[0].finishProductName);
|
|
$("#form-workOrderInfo-add input[name='specificationModel']").val(data[0].specificationModel);
|
|
$("#form-workOrderInfo-add input[name='typeMachine']").val(data[0].typeMachine);
|
|
$("#form-workOrderInfo-add input[name='inventoryUnit']").val(data[0].inventoryUnit);
|
|
$("#form-workOrderInfo-add input[name='orderQuantity']").val(data[0].productQuantity);
|
|
$("#form-workOrderInfo-add input[name='deliveryOrderQuantity']").val(data[0].productQuantity);
|
|
$("#form-workOrderInfo-add input[name='deliveryTime']").val(data[0].deliveryTime);
|
|
$("#form-workOrderInfo-add input[name='versionNumber']").val(data[0].versionNumber);
|
|
$("#form-workOrderInfo-add textarea[name='salesExplain']").val(data[0].salesExplain);
|
|
closeSalesFinishModal();
|
|
} else {
|
|
$.modal.alertError("出错了!")
|
|
}
|
|
}
|
|
|
|
//关闭订单框
|
|
function closeSalesFinishModal() {
|
|
$("#salesFinishModal").modal("hide");
|
|
}
|
|
|
|
//显示BOM信息
|
|
function showBomModal() {
|
|
if ($.validate.form()) {
|
|
$("#bomMaterialModal").modal("show");
|
|
//显示BOM原料数据
|
|
showBomRawMaterial();
|
|
//显示BOM辅料数据
|
|
showBomSubsidiaryMaterial();
|
|
//显示BOM半成品数据
|
|
showBomBcpMaterial();
|
|
} else {
|
|
$.modal.alertWarning("请填写必填项!")
|
|
}
|
|
}
|
|
|
|
//显示BOM原料数据
|
|
function showBomRawMaterial() {
|
|
var finishProductCode = $("#form-workOrderInfo-add input[name='finishProductCode']").val();
|
|
var versionNumber = $("#form-workOrderInfo-add input[name='versionNumber']").val();
|
|
var options = {
|
|
id: 'rawMaterialBomTable',
|
|
url: ctx + "system/bomrawmaterial/list",
|
|
modalName: "bom原料",
|
|
showToggle: false, // 是否显示详细视图和列表视图的切换按钮
|
|
cardView: false, // 是否显示详细视图
|
|
detailView: false, // 是否显示父子表
|
|
smartDisplay: false, // 加了这个才显示每页显示的行数
|
|
showExport: false, // 是否显示导出按钮
|
|
clickToSelect: true,
|
|
queryParams: function (params) {
|
|
var curParams = {
|
|
// 传递参数查询参数
|
|
pageSize: params.limit,
|
|
pageNum: params.offset / params.limit + 1,
|
|
finishProductCode: finishProductCode,
|
|
versionNumber: versionNumber
|
|
};
|
|
// let json = $.extend(curParams, $.common.formToJSON("salesFinishFormId"));
|
|
return curParams;
|
|
},
|
|
columns: [{
|
|
checkbox: true
|
|
},
|
|
{
|
|
field: 'rawMaterialId',
|
|
title: '原料id',
|
|
visible: false
|
|
},
|
|
{
|
|
field: 'finishProductCode',
|
|
title: '成品代码',
|
|
visible: false
|
|
},
|
|
{
|
|
field: 'rawMaterialCode',
|
|
title: '原料代码'
|
|
},
|
|
{
|
|
field: 'rawMaterialName',
|
|
title: '原料名称'
|
|
},
|
|
{
|
|
field: 'specificationModel',
|
|
title: '规格型号'
|
|
},
|
|
{
|
|
field: 'inventoryUnit',
|
|
title: '单位'
|
|
},
|
|
{
|
|
field: 'rawMaterialConsumption',
|
|
title: '用量'
|
|
},
|
|
{
|
|
field: 'rawMaterialLoss',
|
|
title: '损耗%'
|
|
},
|
|
{
|
|
field: 'supplierNumber',
|
|
title: '厂商料号'
|
|
},
|
|
{
|
|
field: 'finishedProductQuantity',
|
|
title: '成品数量'
|
|
},
|
|
{
|
|
field: 'remarks',
|
|
title: '备注说明'
|
|
},
|
|
{
|
|
field: 'processingCategory',
|
|
title: '加工类别'
|
|
}]
|
|
};
|
|
$.table.init(options);
|
|
}
|
|
//显示BOM辅料数据
|
|
function showBomSubsidiaryMaterial() {
|
|
var finishProductCode = $("#form-workOrderInfo-add input[name='finishProductCode']").val();
|
|
var versionNumber = $("#form-workOrderInfo-add input[name='versionNumber']").val();
|
|
var options = {
|
|
id: 'subsidiaryMaterialBomTable',
|
|
url: ctx + "system/bomsubsidiarymaterial/list",
|
|
modalName: "bom辅料",
|
|
showToggle: false, // 是否显示详细视图和列表视图的切换按钮
|
|
cardView: false, // 是否显示详细视图
|
|
detailView: false, // 是否显示父子表
|
|
smartDisplay: false, // 加了这个才显示每页显示的行数
|
|
showExport: false, // 是否显示导出按钮
|
|
clickToSelect: true,
|
|
queryParams: function (params) {
|
|
var curParams = {
|
|
// 传递参数查询参数
|
|
pageSize: params.limit,
|
|
pageNum: params.offset / params.limit + 1,
|
|
finishProductCode: finishProductCode,
|
|
versionNumber: versionNumber
|
|
};
|
|
// let json = $.extend(curParams, $.common.formToJSON("salesFinishFormId"));
|
|
return curParams;
|
|
},
|
|
columns: [{
|
|
checkbox: true
|
|
},
|
|
{
|
|
field: 'subsidiaryMaterialId',
|
|
title: 'bom辅料id',
|
|
visible: false
|
|
},
|
|
{
|
|
field: 'finishProductCode',
|
|
title: '成品代码',
|
|
visible: false
|
|
},
|
|
{
|
|
field: 'subsidiaryMaterialCode',
|
|
title: '辅料代码'
|
|
},
|
|
{
|
|
field: 'subsidiaryMaterialName',
|
|
title: '辅料名称'
|
|
},
|
|
{
|
|
field: 'specificationModel',
|
|
title: '规格型号'
|
|
},
|
|
{
|
|
field: 'inventoryUnit',
|
|
title: '单位'
|
|
},
|
|
{
|
|
field: 'subsidiaryMaterialConsumption',
|
|
title: '用量'
|
|
},
|
|
{
|
|
field: 'subsidiaryMaterialLoss',
|
|
title: '损耗%'
|
|
},
|
|
{
|
|
field: 'supplierNumber',
|
|
title: '厂商料号'
|
|
},
|
|
{
|
|
field: 'finishedProductQuantity',
|
|
title: '成品数量'
|
|
},
|
|
{
|
|
field: 'remarks',
|
|
title: '备注说明'
|
|
},
|
|
{
|
|
field: 'processingCategory',
|
|
title: '加工类别'
|
|
}]
|
|
};
|
|
$.table.init(options);
|
|
}
|
|
//显示BOM半成品数据
|
|
function showBomBcpMaterial() {
|
|
var finishProductCode = $("#form-workOrderInfo-add input[name='finishProductCode']").val();
|
|
var versionNumber = $("#form-workOrderInfo-add input[name='versionNumber']").val();
|
|
var options = {
|
|
id: 'bcpMaterialBomTable',
|
|
url: ctx + "system/bomBcp/list",
|
|
modalName: "bom半成品",
|
|
showToggle: false, // 是否显示详细视图和列表视图的切换按钮
|
|
cardView: false, // 是否显示详细视图
|
|
detailView: false, // 是否显示父子表
|
|
smartDisplay: false, // 加了这个才显示每页显示的行数
|
|
showExport: false, // 是否显示导出按钮
|
|
clickToSelect: true,
|
|
queryParams: function (params) {
|
|
var curParams = {
|
|
// 传递参数查询参数
|
|
pageSize: params.limit,
|
|
pageNum: params.offset / params.limit + 1,
|
|
finishProductCode: finishProductCode,
|
|
versionNumber: versionNumber
|
|
};
|
|
// let json = $.extend(curParams, $.common.formToJSON("salesFinishFormId"));
|
|
return curParams;
|
|
},
|
|
columns: [{
|
|
checkbox: true
|
|
},
|
|
{
|
|
field: 'bomBcpId',
|
|
title: 'bom半成品id',
|
|
visible: false
|
|
},
|
|
{
|
|
field: 'finishProductCode',
|
|
title: '成品代码',
|
|
visible: false
|
|
},
|
|
{
|
|
field: 'versionNumber',
|
|
title: '版本号',
|
|
visible: false
|
|
},
|
|
{
|
|
field: 'bcpCode',
|
|
title: '半成品代码'
|
|
},
|
|
{
|
|
field: 'bcpName',
|
|
title: '半成品名称'
|
|
},
|
|
{
|
|
field: 'specificationModel',
|
|
title: '规格型号'
|
|
},
|
|
{
|
|
field: 'inventoryUnit',
|
|
title: '单位',
|
|
formatter: function(value, row, index) {
|
|
return $.table.selectDictLabel(inventoryUnitDatas, value);
|
|
}
|
|
},
|
|
{
|
|
field: 'bcpMaterialConsumption',
|
|
title: '用量'
|
|
},
|
|
{
|
|
field: 'bcpMaterialLoss',
|
|
title: '损耗%'
|
|
},
|
|
{
|
|
field: 'customerNumber',
|
|
title: '厂商料号'
|
|
},
|
|
{
|
|
field: 'finishedProductQuantity',
|
|
title: '成品数量'
|
|
},
|
|
{
|
|
field: 'remarks',
|
|
title: '备注说明'
|
|
},
|
|
{
|
|
field: 'processingCategory',
|
|
title: '加工类别'
|
|
}]
|
|
};
|
|
$.table.init(options);
|
|
}
|
|
|
|
//关闭BOM信息
|
|
function closeBomDetailModal() {
|
|
$("#bomMaterialModal").modal("hide");
|
|
}
|
|
|
|
//添加BOM材料信息
|
|
function addBomDetailToTable() {
|
|
var dataRaw = $("#rawMaterialBomTable").bootstrapTable("getSelections");
|
|
var dataSubsidiary = $("#subsidiaryMaterialBomTable").bootstrapTable("getSelections");
|
|
var dataBcp = $("#bcpMaterialBomTable").bootstrapTable("getSelections");
|
|
var count = $('#addBomMaterialTable').bootstrapTable('getData').length;
|
|
var workOrderNumber = $("input[name='workOrderNumber']").val();
|
|
for (let i = 0; i < dataRaw.length; i++) {
|
|
let material = $('#addBomMaterialTable').bootstrapTable('getRowByUniqueId', dataRaw[i].rawMaterialCode);
|
|
if (material != null) {
|
|
alert(material.materialName + "已存在,不可重复添加!");
|
|
continue;
|
|
}
|
|
$("#addBomMaterialTable").bootstrapTable('insertRow', {
|
|
index: count + i,
|
|
row: {
|
|
workOrderNumber: workOrderNumber,
|
|
materialCode: dataRaw[i].rawMaterialCode,
|
|
materialName: dataRaw[i].rawMaterialName,
|
|
specificationModel: dataRaw[i].specificationModel,
|
|
inventoryUnit: dataRaw[i].inventoryUnit,
|
|
materialType: '原料',
|
|
materialConsumption: dataRaw[i].rawMaterialConsumption,
|
|
itemNumber: dataRaw[i].supplierNumber,
|
|
description: dataRaw[i].remarks
|
|
}
|
|
});
|
|
}
|
|
for (let i = 0; i < dataSubsidiary.length; i++) {
|
|
let material = $('#addBomMaterialTable').bootstrapTable('getRowByUniqueId', dataSubsidiary[i].subsidiaryMaterialCode);
|
|
if (material != null) {
|
|
alert(material.materialName + "已存在,不可重复添加!");
|
|
continue;
|
|
}
|
|
$("#addBomMaterialTable").bootstrapTable('insertRow', {
|
|
index: count + i,
|
|
row: {
|
|
workOrderNumber: workOrderNumber,
|
|
materialCode: dataSubsidiary[i].subsidiaryMaterialCode,
|
|
materialName: dataSubsidiary[i].subsidiaryMaterialName,
|
|
specificationModel: dataSubsidiary[i].specificationModel,
|
|
inventoryUnit: dataSubsidiary[i].inventoryUnit,
|
|
materialType: '辅料',
|
|
materialConsumption: dataSubsidiary[i].subsidiaryMaterialConsumption,
|
|
itemNumber: dataSubsidiary[i].supplierNumber,
|
|
description: dataSubsidiary[i].remarks
|
|
}
|
|
});
|
|
}
|
|
for (let i = 0; i < dataBcp.length; i++) {
|
|
let material = $('#addBomMaterialTable').bootstrapTable('getRowByUniqueId', dataBcp[i].bcpCode);
|
|
if (material != null) {
|
|
alert(material.materialName + "已存在,不可重复添加!");
|
|
continue;
|
|
}
|
|
$("#addBomMaterialTable").bootstrapTable('insertRow', {
|
|
index: count + i,
|
|
row: {
|
|
workOrderNumber: workOrderNumber,
|
|
materialCode: dataBcp[i].bcpCode,
|
|
materialName: dataBcp[i].bcpName,
|
|
specificationModel: dataBcp[i].specificationModel,
|
|
inventoryUnit: dataBcp[i].inventoryUnit,
|
|
materialType: '半成品',
|
|
materialConsumption: dataBcp[i].bcpMaterialConsumption,
|
|
itemNumber: dataBcp[i].customerNumber,
|
|
description: dataBcp[i].remarks
|
|
}
|
|
});
|
|
}
|
|
$("#rawMaterialBomTable").bootstrapTable("uncheckAll");
|
|
$("#subsidiaryMaterialBomTable").bootstrapTable("uncheckAll");
|
|
$("#bcpMaterialBomTable").bootstrapTable("uncheckAll");
|
|
closeBomDetailModal();
|
|
}
|
|
|
|
//确认材料信息
|
|
function confirmMaterial() {
|
|
var data = $("#addBomMaterialTable").bootstrapTable("getData");
|
|
// console.log(data)
|
|
$.ajax({
|
|
url: ctx + 'manufacture/workOrderDetail/addEditSave',
|
|
type: "POST",
|
|
data: {
|
|
data: JSON.stringify(data)
|
|
},
|
|
dataType: "json",
|
|
success: function (resp) {
|
|
// console.log(data)
|
|
console.log(resp)
|
|
},
|
|
|
|
})
|
|
}
|
|
|
|
//删除表内材料信息
|
|
function removeMaterial(materialCode) {
|
|
var ids = [];
|
|
ids.push(materialCode);
|
|
$('#addBomMaterialTable').bootstrapTable("remove",{
|
|
field:'materialCode',
|
|
values:ids
|
|
})
|
|
$("#addBomMaterialTable").bootstrapTable('refresh');
|
|
}
|
|
</script>
|
|
</body>
|
|
</html>
|