万材erp项目
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.
 
 
 
 

905 lines
33 KiB

<!DOCTYPE html>
<html lang="zh" xmlns:th="http://www.thymeleaf.org" >
<head>
<th:block th:include="include :: header('新增物料清单')" />
<th:block th:include="include :: bootstrap-editable-css" />
</head>
<body class="gray-bg">
<div class="container-div">
<p>新增BOM</p>
<div class="row">
<div class="col-sm-12">
</div>
<form class="form-horizontal m" id="form-bom-add">
<div class="row">
<div class="col-sm-6">
成品代码:
<input id="cpCode" type="text" class="form-control" name="cpCode">
</div>
<div class="col-sm-6">
成品名称:
<input id="cpName" type="text" class="form-control" name="cpName">
</div>
</div>
<div class="row">
<div class="col-sm-6">
版本:
<input id="versionNo" type="text" class="form-control" name="versionNo">
</div>
<div class="col-sm-6">
型号:
<input id="cpType" type="text" class="form-control" name="cpType">
</div>
</div>
<div class="row">
<div class="col-sm-6">
机种号码:
<input id="cpMachineNo" type="text" class="form-control" name="cpMachineNo">
</div>
</div>
<div class="row">
<div class="col-sm-6">
客户料号:
<input id="wldm" type="text" class="form-control" name="wldm" readonly>
</div>
</div>
</form>
<button class="btn btn-success" id="btn_addBom" onclick="addBom()">新增</button>
<div class="col-sm-12 select-table table-striped">
<table id="bootstrapTable-body">
</table>
<!-- <div class="row">-->
<!-- <div class="col-sm-12" style="text-align: center">-->
<!-- <button id="submit">提交</button>-->
<!-- <button id="cancel">取消</button>-->
<!-- </div>-->
<!-- </div>-->
</div>
<div class="modal inmodal" id="bomModal" tabindex="-1"
role="dilog" aria-hidden="true" style="padding-bottom: 100px;">
<div class="modal-dialog" style="width: 800px">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal"
aria-hidden="true"></button>
<h4 class="modal-title">选择物料</h4>
</div>
<div class="modal-body" style="text-align: center;">
<div class="row" >
<div class="col-md-5">
<form id="bomForm" class="form-group">
<label class="control-label col-md-4">物料代码:</label>
<div class="col-md-8">
<input type="text" class="form-control" name="wlCode"
id="wlCode">
</div>
</form>
</div>
<div class="col-md-2">
<button type="button" class="btn btn-success" id="bomCodeSearch">搜索</button>
</div>
</div>
<div class="row">
<div class="col-md-12">
<div class="table-responsive" >
<table id="bomTable"
class="table table-striped table-responsive" style="padding-bottom: 50px;">
</table>
</div>
</div>
</div>
<button class="btn btn-success" id="btn_addWaitTable" onclick="addBom2()">添加</button>
<div class="row">
<div class="col-md-12">
<div class="table-responsive" style="padding-bottom:30px; ">
<table id="bomTable2"
class="table table-striped table-responsive">
</table>
</div>
</div>
</div>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-primary"
onClick="confirm();">确定</button>
<button type="button" class="btn btn-default" data-dismiss="modal">关闭</button>
</div>
</div>
<!-- /.modal-content -->
</div>
<!-- /.modal-dialog -->
</div>
<div class="modal inmodal" id="cpModal" tabindex="-1"
role="dilog" aria-hidden="true">
<div class="modal-dialog" style="width: 800px">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal"
aria-hidden="true"></button>
<h4 class="modal-title">选择成品</h4>
</div>
<div class="modal-body" style="text-align: center;">
<div class="row">
<div class="col-md-5">
<form id="formId" class="form-group">
<label class="control-label col-md-4">成品代码:</label>
<div class="col-md-8">
<input type="text" class="form-control" name="wlCode"
id="cpCode2">
</div>
</form>
</div>
<div class="col-md-2">
<button type="button" class="btn btn-success" id="cpCodeSearch">搜索</button>
</div>
</div>
<div class="row">
<div class="col-md-12">
<div class="table-responsive">
<table id="cpTable"
class="table table-striped table-responsive">
</table>
</div>
</div>
</div>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-primary"
onClick="selWlCode();">选择</button>
<button type="button" class="btn btn-default" data-dismiss="modal">关闭</button>
</div>
</div>
<!-- /.modal-content -->
</div>
<!-- /.modal-dialog -->
</div>
</div>
</div>
<th:block th:include="include :: footer" />
<th:block th:include="include :: bootstrap-table-editable-js" />
<script th:inline="javascript">
var prefix = ctx + "ck/bom";
function submit(){
var cpCode=$("#cpCode").val();
var versionNO=$("#versionNo").val();
if (cpCode===("")||versionNO===("")){
alert("代码或版本号不能为空");
return false;
}
let formData=new FormData($("#form-bom-add")[0]);
var row=$("#bootstrapTable-body").bootstrapTable("getData",true);
formData.append("bomList",JSON.stringify(row));
let data={};
formData.forEach((value, key) => data[key] = value);
//console.log(cpCode+":"+versionNO);
//console.log(row);
console.log(data)
$.ajax({
url:prefix+"/add",
data:{"jsonStr":JSON.stringify(data)},
type:"post",
dataType:"json",
success:function (resp) {
if (resp.code===0){
alert("添加成功!");
//window.location.href=prefix;
var index = parent.layer.getFrameIndex(window.name);
var parent2 = window.parent;
parent2.$.table.refresh();
parent.layer.close(index);//关闭当前页
} else {
$.modal.msgError("添加失败!");
}
},
error:function () {
$.modal.msgError("后台出错了!");
}
})
}
function remove2(wlCode) {
$("#bootstrapTable-body").bootstrapTable("remove", {
field: 'wlCode',
values: wlCode
});
}
//引入bom2表格
function addBom2(){
var row= $("#bomTable").bootstrapTable("getSelections");
var count = $('#bomTable2').bootstrapTable('getData').length;
for(var i=0;i<row.length;i++){
let bootstrapTable = $("#bomTable2").bootstrapTable("getRowByUniqueId",row[i].wlCode);
//alert(bootstrapTable);
if (bootstrapTable!=null){
alert(bootstrapTable.wlCode+"已存在,不可重复添加!");
continue;
}
$("#bomTable2").bootstrapTable('insertRow', {index:count+i,
row:{
wldm:row[i].wldm,
wlCode:row[i].wlCode,
itemname:row[i].itemname,
itemstandard:row[i].itemstandard,
machineNo:row[i].machineNo,
stockDw:row[i].stockDw,
intakeorchina:row[i].intakeorchina,
weight:row[i].weight
}
});
}
$("#bomTable").bootstrapTable("uncheckAll");
}
//移除bomtable2的对应行数据
function remove(wlCode){
$("#bomTable2").bootstrapTable("remove",{
field:'wlCode',
values:wlCode
});
}
//点击引入按钮
function addBom(){
$("#bomModal").modal("show");
}
//确认
function confirm(){
var row=$("#bomTable2").bootstrapTable("getData",true);
var count = $('#bootstrapTable-body').bootstrapTable('getData').length;
for(var i=0;i<row.length;i++){
let bootstrapTable = $("#bootstrapTable-body").bootstrapTable("getRowByUniqueId",row[i].wlCode);
//alert(bootstrapTable);
if (bootstrapTable!=null){
alert(bootstrapTable.wldm+"已存在,不可重复添加!");
continue;
}
$("#bootstrapTable-body").bootstrapTable('insertRow', {index:count+i,
row:{
wldm:row[i].wldm,
wlCode:row[i].wlCode,
itemname:row[i].itemname,
itemstandard:row[i].itemstandard,
machineNo:row[i].machineNo,
stockDw:row[i].stockDw,
intakeorchina:row[i].intakeorchina,
weight:row[i].weight,
useNum:0,
lostpre:0
}
});
}
$("#bomModal").modal("hide");
$("#bomTable2").bootstrapTable("removeAll");
$("#wlCode").val("");
$("#bomTable").bootstrapTable("refresh");
}
//选中成品
function selWlCode(){
var row=$('#cpTable').bootstrapTable('getSelections');
$("#cpCode").val(row[0].wlCode);
$("#cpName").val(row[0].itemname);
$("#wldm").val(row[0].pWldm);
$("#cpModal").modal("hide");
}
//点击成品代码输入栏出模态框
$("#cpCode").focus(function () {
// $("#btn_cpCode").click();
console.log("123");
$("#cpModal").modal("show");
});
//点击搜索,刷新表格
$("#cpCodeSearch").click(function () {
$('#cpTable').bootstrapTable('refresh');
});
//查询参数
function queryParams(params) {
var search = $.table.queryParams(params);
search.wlCode=$("#cpCode2").val();
return search;
}
//选择成品
$('#cpTable').bootstrapTable({
url : ctx + "ck/itemCP/list",
method : 'post',
striped : true, // 是否显示行间隔色
cache : false, // 是否使用缓存,默认为true,所以一般情况下需要设置一下这个属性(*)
pagination : true, // 是否显示分页(*)
contentType :"application/x-www-form-urlencoded",
queryParams : function(params) {
var curParams = {
// 传递参数查询参数
pageSize: params.limit,
pageNum: params.offset / params.limit + 1,
searchValue: params.search,
orderByColumn: params.sort,
isAsc: params.order
};
var json= $.extend(curParams, $.common.formToJSON("formId"));
console.log(json);
return json;
},
sidePagination : "server", // 分页方式:client客户端分页,server服务端分页(*)
pageNumber : 1, // 初始化加载第一页,默认第一页
pageSize : 10, // 每页的记录行数(*)
pageList : [ 5, 10,50], // 可供选择的每页的行数(*)
clickToSelect : true, // 是否启用点击选中行
showToggle : false, // 是否显示详细视图和列表视图的切换按钮
cardView : false, // 是否显示详细视图
detailView : false, // 是否显示父子表
smartDisplay : false, // 加了这个才显示每页显示的行数
showExport : false, // 是否显示导出按钮
singleSelect : true,
height:400,
columns : [
{
checkbox: true
},
{
field: 'wldm',
title: '',
visible: false
},
{
field: 'wlCode',
title: '成品代码'
},
{
field: 'hsCode',
title: '',
visible: false
},
{
field: 'itemname',
title: '名称'
},
{
field: 'enName',
title: '',
visible: false
},
{
field: 'itemstandard',
title: '规格型号'
},
{
field: 'machineNo',
title: '机种',
},
{
field: 'stockDw',
title: '库存单位'
},
{
field: 'pWldm',
title: '客户料号'
},
{
field: 'intakeorchina',
title: '',
visible: false
},
{
field: 'weight',
title: '单位重量',
visible: false
}
]
});
//全部itemList
$('#bomTable').bootstrapTable({
url : ctx + "ck/itemCP/itemList",
method : 'post',
striped : true, // 是否显示行间隔色
cache : false, // 是否使用缓存,默认为true,所以一般情况下需要设置一下这个属性(*)
pagination : true, // 是否显示分页(*)
contentType :"application/x-www-form-urlencoded",
queryParams : function(params) {
var curParams = {
// 传递参数查询参数
pageSize: params.limit,
pageNum: params.offset / params.limit + 1,
searchValue: params.search,
orderByColumn: params.sort,
isAsc: params.order
};
var json= $.extend(curParams, $.common.formToJSON("bomForm"));
return json;
},
sidePagination : "server", // 分页方式:client客户端分页,server服务端分页(*)
pageNumber : 1, // 初始化加载第一页,默认第一页
pageSize : 5, // 每页的记录行数(*)
pageList : [ 5, 10,50], // 可供选择的每页的行数(*)
clickToSelect : true, // 是否启用点击选中行
showToggle : false, // 是否显示详细视图和列表视图的切换按钮
cardView : false, // 是否显示详细视图
detailView : false, // 是否显示父子表
smartDisplay : false, // 加了这个才显示每页显示的行数
showExport : false, // 是否显示导出按钮
// singleSelect : true,
height:350,
columns : [
{
checkbox: true
},
{
field: 'wldm',
title: '',
visible: false
},
{
field: 'wlCode',
title: '物料代码'
},
{
field: 'hsCode',
title: '',
visible: false
},
{
field: 'itemname',
title: '名称'
},
{
field: 'enName',
title: '',
visible: false
},
{
field: 'itemstandard',
title: '规格型号'
},
{
field: 'machineNo',
title: '机种',
},
{
field: 'stockDw',
title: '库存单位'
},
{
field: 'pWldm',
title: '客户料号'
},
{
field: 'intakeorchina',
title: '',
visible: false
},
{
field: 'weight',
title: '单位重量',
visible: false
}
]
});
//待确认bom
$('#bomTable2').bootstrapTable({
striped : true, // 是否显示行间隔色
cache : false, // 是否使用缓存,默认为true,所以一般情况下需要设置一下这个属性(*)
// contentType :"application/x-www-form-urlencoded",
// pageNumber : 1, // 初始化加载第一页,默认第一页
// pageSize : 10, // 每页的记录行数(*)
// pageList : [ 5, 10,50], // 可供选择的每页的行数(*)
// clickToSelect : true, // 是否启用点击选中行
showToggle : false, // 是否显示详细视图和列表视图的切换按钮
cardView : false, // 是否显示详细视图
detailView : false, // 是否显示父子表
smartDisplay : false, // 加了这个才显示每页显示的行数
showExport : false, // 是否显示导出按钮
singleSelect : true,
height:400,
uniqueId : 'wlCode',
columns : [
{
field: 'wldm',
title: '',
visible: false
},
{
field: 'wlCode',
title: '物料代码'
},
{
field: 'hsCode',
title: '',
visible: false
},
{
field: 'itemname',
title: '名称'
},
{
field: 'enName',
title: '',
visible: false
},
{
field: 'itemstandard',
title: '规格型号'
},
{
field: 'machineNo',
title: '机种',
},
{
field: 'stockDw',
title: '库存单位'
},
{
field: 'pWldm',
title: '客户料号'
},
{
field: 'intakeorchina',
title: '',
visible: false
},
{
field: 'weight',
title: '单位重量',
visible: false
},
{
title: '操作',
align: 'center',
formatter: function(value, row, index) {
var actions = [];
// actions.push('<a class="btn btn-success btn-xs ' + editFlag + '" href="javascript:void(0)" onclick="edit()"><i class="fa fa-edit"></i>编辑</a> ');
actions.push('<a class="btn btn-danger btn-xs ' + '" href="javascript:void(0)" onclick="remove(\'' + row.wlCode + '\')"><i class="fa fa-remove"></i>删除</a>');
return actions.join('');
}
}
]
});
//准备提交的bom
$('#bootstrapTable-body').bootstrapTable({
striped : true, // 是否显示行间隔色
cache : false, // 是否使用缓存,默认为true,所以一般情况下需要设置一下这个属性(*)
// contentType :"application/x-www-form-urlencoded",
// pageNumber : 1, // 初始化加载第一页,默认第一页
// pageSize : 10, // 每页的记录行数(*)
// pageList : [ 5, 10,50], // 可供选择的每页的行数(*)
// clickToSelect : true, // 是否启用点击选中行
showToggle : false, // 是否显示详细视图和列表视图的切换按钮
cardView : false, // 是否显示详细视图
detailView : false, // 是否显示父子表
smartDisplay : false, // 加了这个才显示每页显示的行数
showExport : false, // 是否显示导出按钮
singleSelect : true,
height:400,
uniqueId : 'wldm',
columns: [
{
checkbox: true
},
{
field: 'cpCode',
title: '成品代码',
visible: false
},
{
field: 'cpName',
title: '成品名称',
visible: false
},
{
field: 'cpType',
title: '规格型号',
visible: false
},
{
field: 'cpDw',
title: '单位',
visible: false
},
{
field: 'wlCode',
title: '原料编号'
},
{
field: 'itemname',
title: '名称'
},
{
field: 'itemstandard',
title: '规格型号'
},
{
field: 'stockDw',
title: '单位'
},
{
field: 'useNum',
title: '使用量',
// visible: false
editable : {
type : 'text',
title : '使用量',
validate : function(value) {
if (isNaN(value)) return '使用量必须是数字';
var price = parseFloat(value);
if (price <= 0) return '使用量必须大于0';
}
}
},
{
field: 'lostpre',
title: '损耗',
// visible: false
editable : {
type : 'text',
title : '损耗',
validate : function(value) {
if (isNaN(value)) return '损耗必须是数字';
var lostpre = parseFloat(value);
if (lostpre < 0||lostpre>100) return '损耗必须大于等于0';
}
}
},
// {
// field: 'zpGuige',
// title: '厂商l料号'
// },
{
field: 'zpUseNum',
title: '成品数量',
visible: false
},
{
field: 'mQty',
title: '',
visible: false
},
{
field: 'memolist',
title: '',
visible: false
},
{
field: 'nowversion',
title: '',
visible: false
},
{
field: 'begindate',
title: '',
visible: false
},
{
field: 'endtime',
title: '',
visible: false
},
{
field: 'wldm',
title: '',
visible: false
},
{
field: 'customno',
title: '',
visible: false
},
{
field: 'sendflag',
title: '',
visible: false
},
{
field: 'yDWDH',
title: '',
visible: false
},
{
field: 'zLDWDH',
title: '',
visible: false
},
{
field: 'ylWeight',
title: '',
visible: false
},
{
field: 'zongzhongWeight',
title: '',
visible: false
},
{
field: 'pno',
title: '',
visible: false
},
{
field: 'addtime',
title: '',
visible: false
},
{
field: 'fuWidth',
title: '',
visible: false
},
{
field: 'yflItemclass',
title: '',
visible: false
},
{
field: 'mouldNo',
title: '',
visible: false
},
{
field: 'standNowversion',
title: '',
visible: false
},
{
field: 'comfirmFlag',
title: '',
visible: false
},
{
field: 'comfirmMan',
title: '',
visible: false
},
{
field: 'comfirmDate',
title: '',
visible: false
},
{
field: 'writeMan',
title: '',
visible: false
},
{
field: 'GongCha',
title: '',
visible: false
},
{
field: 'factoryMouldNo',
title: '',
visible: false
},
{
field: 'mainMaterial',
title: '',
visible: false
},
{
field: 'limitFlag',
title: '',
visible: false
},
{
field: 'gongchaMore',
title: '',
visible: false
},
{
field: 'gongchaSmall',
title: '',
visible: false
},
{
field: 'changtime',
title: '',
visible: false
},
{
field: 'cpNum',
title: '',
visible: false
},
{
field: 'worklineclass',
title: '',
visible: false
},
{
title: '操作',
align: 'center',
formatter: function(value, row, index) {
var actions = [];
actions.push('<a class="btn btn-danger btn-xs ' + '" href="javascript:void(0)" onclick="remove2(\'' + row.wlCode + '\')"><i class="fa fa-remove"></i>删除</a>');
return actions.join('');
}
}]
});
$("#form-bom-add").validate({
focusCleanup: true
});
function submitHandler() {
submit();
}
$("#cancel").on("click",function (){
window.location.href=prefix;
})
// $("input[name='begindate']").datetimepicker({
// format: "yyyy-mm-dd",
// minView: "month",
// autoclose: true
// });
//
// $("input[name='endtime']").datetimepicker({
// format: "yyyy-mm-dd",
// minView: "month",
// autoclose: true
// });
//
// $("input[name='Addtime']").datetimepicker({
// format: "yyyy-mm-dd",
// minView: "month",
// autoclose: true
// });
//
// $("input[name='comfirmDate']").datetimepicker({
// format: "yyyy-mm-dd",
// minView: "month",
// autoclose: true
// });
//
// $("input[name='changtime']").datetimepicker({
// format: "yyyy-mm-dd",
// minView: "month",
// autoclose: true
// });
</script>
</body>
</html>