提交 1c91c803 编写于 作者: Skyeye云's avatar Skyeye云

生产计划单托管到表单布局

上级 ad651e21
......@@ -53,4 +53,8 @@ layui.config({
});
}
});
$("body").on("click", "#cancle", function() {
parent.layer.close(index);
});
});
\ No newline at end of file
//工序选择必备参数
var procedureCheckType = 2;//工序选择类型:1.单选procedureMation;2.多选procedureMationList
var procedureMationList = new Array();
// 工艺信息---选择工序时,会覆盖工艺信息
var wayProcedureMation = {};
//销售单信息
var salesOrder = {};
layui.config({
base: basePath,
version: skyeyeVersion
}).extend({
window: 'js/winui.window'
}).define(['window', 'jquery', 'winui', 'laydate', 'textool'], function (exports) {
winui.renderColor();
layui.use(['form'], function (form) {
var index = parent.layer.getFrameIndex(window.name);
var $ = layui.$,
form = layui.form,
laydate = layui.laydate,
textool = layui.textool;
//子件清单列表集合
var childProList = new Array();
//下拉框模板
var selTemplate = getFileContent('tpl/template/select-option-must.tpl');
// 单据时间
laydate.render({elem: '#operTime', type: 'datetime', value: getFormatDate(), trigger: 'click'});
// 计划开始时间
laydate.render({elem: '#planStartDate', type: 'datetime', value: getFormatDate(), trigger: 'click'});
// 计划结束时间
laydate.render({elem: '#planComplateDate', type: 'datetime', value: getFormatDate(), trigger: 'click'});
textool.init({eleId: 'remark', maxlength: 200});
// 规格变化事件
form.on('select(unitList)', function(data) {
var thisRowValue = data.value;
// 加载bom方案列表
loadBomList(thisRowValue);
});
//加载bom方案列表
function loadBomList(normsId){
AjaxPostUtil.request({url: sysMainMation.erpBasePath + "queryBomListByNormsId", params: {normsId: normsId}, type: 'json', method: 'GET', callback: function (json) {
$("#bomList").html(getDataUseHandlebars(selTemplate, json));
form.render("select");
//加载bom方案下的子件列表
if(json.rows.length > 0){
loadBomChildProList(json.rows[0].id);
}
}});
}
//方案变化事件
form.on('select(bomList)', function(data) {
var thisRowValue = data.value;
//加载bom方案下的子件列表
loadBomChildProList(thisRowValue);
});
// 加载bom方案下的子件列表
function loadBomChildProList(bomId) {
AjaxPostUtil.request({url: flowableBasePath + "erpbom008", params: {id: bomId}, type: 'json', method: 'GET', callback: function (json) {
childProList = [].concat(json.rows);
$("#tBody").html(getDataUseHandlebars($("#tableBody").html(), {rows: childProList}));
//加载建议采购数量
loadChildProPosal();
}});
}
//计划数量变化事件
$("body").on("input", "#number", function() {
//加载建议采购数量
loadChildProPosal();
});
$("body").on("change", "#number", function() {
//加载建议采购数量
loadChildProPosal();
});
// 加载建议采购数量
function loadChildProPosal(){
//计划生产数量
var number = parseInt(isNull($("#number").val()) ? '0' : $("#number").val());
if (isNaN(number)) {
number = 0;
}
$.each(childProList, function(i, item) {
//单位所需数量*生产数量-库存抵扣数量
var proposal = number * parseInt(item.needNum) - parseInt(item.currentTock);
$("#proposal" + item.materialId).val(proposal < 0 ? 0 : proposal);
//需求数量=单位所需数量*生产数量
$("#needNum" + item.materialId).html(number * parseInt(item.needNum));
});
}
matchingLanguage();
form.render();
form.on('submit(formAddBean)', function (data) {
if (winui.verifyForm(data.elem)) {
if(procedureMationList.length == 0){
winui.window.msg('请选择工序', {icon: 2, time: 2000});
return false;
}
if(childProList.length == 0){
winui.window.msg('请选择子件清单', {icon: 2, time: 2000});
return false;
}
var params = {
orderId: isNull(salesOrder.orderHeaderId) ? '' : salesOrder.orderHeaderId,
materialId: erpOrderUtil.chooseProductMation.materialId,
normsId: $("#unitList").val(),
number: $("#number").val(),
planStartDate: $("#planStartDate").val(),
planComplateDate: $("#planComplateDate").val(),
operTime: $("#operTime").val(),
remark: $("#remark").val(),
bomId: $("#bomList").val(),
wayProcedureId: isNull(wayProcedureMation.id) ? "" : wayProcedureMation.id
};
//工序信息
params.procedureJsonStr = JSON.stringify(procedureMationList);
//子件清单
var childList = [];
$.each(childProList, function(i, item) {
childList.push({
materialId: item.materialId,
normsId: item.normsId,
number: $("#proposal" + item.materialId).val(),
unitNumber: item.needNum,
unitPrice: item.unitPrice
});
});
//子件清单信息
params.childProStr = JSON.stringify(childList);
AjaxPostUtil.request({url: flowableBasePath + "erpproduction002", params: params, type: 'json', method: "POST", callback: function (json) {
parent.layer.close(index);
parent.refreshCode = '0';
}});
}
return false;
});
// 工序选择
$("body").on("click", "#procedureChoose", function() {
_openNewWindows({
url: "../../tpl/erpWorkProcedure/erpWorkProcedureChoose.html",
title: "工序选择",
pageId: "erpWorkProcedureChoose",
area: ['90vw', '90vh'],
callBack: function (refreshCode) {
wayProcedureMation = {};
loadProcedureMation();
}});
});
// 工艺选择
$("body").on("click", "#wayProcedureChoose", function() {
_openNewWindows({
url: "../../tpl/erpWayProcedure/erpWayProcedureChoose.html",
title: "工艺选择",
pageId: "erpWayProcedureChoose",
area: ['90vw', '90vh'],
callBack: function (refreshCode) {
AjaxPostUtil.request({url: flowableBasePath + "erpwayprocedure008", params: {rowId: wayProcedureMation.id}, type: 'json', method: "GET", callback: function (json) {
procedureMationList = [].concat(json.bean.procedureList);
loadProcedureMation();
}});
}});
});
function loadProcedureMation(){
var str = "";
$.each(procedureMationList, function(i, item) {
str += '<tr><td>' + item.number + '</td><td>' + item.procedureName + '</td><td>' + item.departmentName + '</td></tr>';
});
$("#procedureBody").html(str);
form.render();
}
// 商品选择
$("body").on("click", "#productNameSel", function (e) {
erpOrderUtil.openMaterialChooseChoosePage(function (chooseProductMation) {
$("#materialName").val(chooseProductMation.materialName);
$("#materialModel").val(chooseProductMation.materialModel);
$("#unitList").html(getDataUseHandlebars(selTemplate, {rows: chooseProductMation.unitList}));
//重置单据信息
salesOrder = {};
$("#salesOrder").val("");
//加载bom方案列表
loadBomList(chooseProductMation.unitList[0].id);
form.render("select");
});
});
//销售单选择
$("body").on("click", "#salesOrderSel", function (e) {
_openNewWindows({
url: "../../tpl/salesOrder/salesOrderChoose.html",
title: "选择销售单据",
pageId: "salesOrderChoose",
area: ['90vw', '90vh'],
callBack: function (refreshCode) {
erpOrderUtil.chooseProductMation = {
materialName: salesOrder.materialName,
materialModel: salesOrder.materialModel,
materialId: salesOrder.materialId
};
$("#materialName").val(erpOrderUtil.chooseProductMation.materialName);
$("#materialModel").val(erpOrderUtil.chooseProductMation.materialModel);
//加载数量
$("#number").val(salesOrder.operNum);
//单号
$("#salesOrder").val(salesOrder.orderNumber);
//单位
var unitList = [{
id: salesOrder.mUnitId,
name: salesOrder.materialUnitName
}];
$("#unitList").html(getDataUseHandlebars(selTemplate, {rows: unitList}));
//加载bom方案列表
loadBomList(unitList[0].id);
form.render("select");
}});
});
// 取消
$("body").on("click", "#cancle", function() {
parent.layer.close(index);
});
});
});
\ No newline at end of file
// 加工单id
var rowId = "";
layui.config({
base: basePath,
version: skyeyeVersion
}).extend({
window: 'js/winui.window'
}).define(['window', 'jquery', 'winui', 'jqprint'], function (exports) {
winui.renderColor();
layui.use(['form'], function (form) {
var index = parent.layer.getFrameIndex(window.name);
var $ = layui.$;
AjaxPostUtil.request({url: flowableBasePath + "erpproduction006", params: {orderId: parent.rowId}, type: 'json', callback: function (json) {
json.bean.stateName = getStateName(json.bean);
$.each(json.bean.procedureMationList, function(i, item) {
if(item.state == 1){
item.stateName = "<span class='state-down'>待下达</span>";
} else if (item.state == 2){
item.stateName = "<span class='state-up'>已下达</span>"
}
});
$.each(json.bean.childList, function(i, item) {
item.needsNum = parseInt(item.needNum) * parseInt(json.bean.number);
});
$("#showForm").html(getDataUseHandlebars($("#mainHtml").html(), json));
matchingLanguage();
form.render();
}});
function getStateName(d){
if(d.state == 1){
return "<span class='state-new'>" + d.stateName + "</span>";
} else if (d.state == 2){
return "<span>" + d.stateName + "</span>";
} else if (d.state == 3){
return "<span class='state-up'>" + d.stateName + "</span>";
} else if (d.state == 4){
return "<span class='state-down'>" + d.stateName + "</span>";
} else if (d.state == 5){
return "<span class='state-up'>" + d.stateName + "</span>";
} else {
return "参数错误";
}
}
// 打印
$("body").on("click", "#jprint", function (e) {
$("#showForm").jqprint({
title: sysMainMation.mationTitle,
debug: false, // 如果是true则可以显示iframe查看效果(iframe默认高和宽都很小,可以再源码中调大),默认是false
importCSS: true, // true表示引进原来的页面的css,默认是true。(如果是true,先会找$("link[media=print]"),若没有会去找$("link")中的css文件)
printContainer: true, // 表示如果原来选择的对象必须被纳入打印(注意:设置为false可能会打破你的CSS规则)。
operaSupport: true // 表示如果插件也必须支持歌opera浏览器,在这种情况下,它提供了建立一个临时的打印选项卡。默认是true
});
});
// 详情
$("body").on("click", ".machinDetails", function (e) {
rowId = $(this).attr("rowId");
_openNewWindows({
url: "../../tpl/erpMachin/erpMachinDetails.html",
title: systemLanguage["com.skyeye.detailsPageTitle"][languageType],
pageId: "erpMachinDetails",
area: ['90vw', '90vh'],
callBack: function (refreshCode) {
}});
});
});
});
\ No newline at end of file
//工序选择必备参数
var procedureCheckType = 2;//工序选择类型:1.单选procedureMation;2.多选procedureMationList
var procedureMationList = new Array();
// 工艺信息---选择工序时,会覆盖工艺信息
var wayProcedureMation = {};
//销售单信息
var salesOrder = {};
layui.config({
base: basePath,
version: skyeyeVersion
}).extend({
window: 'js/winui.window'
}).define(['window', 'jquery', 'winui', 'laydate', 'textool'], function (exports) {
winui.renderColor();
layui.use(['form'], function (form) {
var index = parent.layer.getFrameIndex(window.name);
var $ = layui.$,
form = layui.form,
laydate = layui.laydate,
textool = layui.textool;
//子件清单列表集合
var childProList = new Array();
// 下拉框模板
var selTemplate = getFileContent('tpl/template/select-option-must.tpl');
// 单据时间
laydate.render({elem: '#operTime', type: 'datetime', value: getFormatDate(), trigger: 'click'});
// 计划开始时间
laydate.render({elem: '#planStartDate', type: 'datetime', value: getFormatDate(), trigger: 'click'});
// 计划结束时间
laydate.render({elem: '#planComplateDate', type: 'datetime', value: getFormatDate(), trigger: 'click'});
textool.init({eleId: 'remark', maxlength: 200});
AjaxPostUtil.request({url: flowableBasePath + "erpproduction003", params: {id: parent.rowId}, type: 'json', method: "GET", callback: function (json) {
// 商品信息
erpOrderUtil.chooseProductMation = {
materialId: json.bean.materialId,
materialName: json.bean.materialName,
materialModel: json.bean.materialModel
};
$("#materialName").val(json.bean.materialName);
$("#materialModel").val(json.bean.materialModel);
// 订单信息
if (!isNull(json.bean.orderId)){
salesOrder = {
orderHeaderId: json.bean.orderId
};
$("#salesOrder").val(json.bean.defaultNumber);
}
// 规格
$("#unitList").html(getDataUseHandlebars(selTemplate, {rows: json.bean.unitList}));
$("#unitList").val(json.bean.normsId);
$("#number").val(json.bean.number);
$("#planStartDate").val(json.bean.planStartDate);
$("#planComplateDate").val(json.bean.planComplateDate);
$("#operTime").val(json.bean.operTime);
$("#remark").val(json.bean.remark);
// 生产方案
$("#bomList").html(getDataUseHandlebars(selTemplate, {rows: json.bean.bomList}));
$("#bomList").val(json.bean.bomId);
//初始化工序
procedureMationList = [].concat(json.bean.procedureMationList);
var str = "";
$.each(procedureMationList, function(i, item) {
str += '<tr><td>' + item.number + '</td><td>' + item.procedureName + '</td><td>' + item.departmentName + '</td></tr>';
});
$("#procedureBody").html(str);
// 子件清单
childProList = [].concat(json.bean.childList);
$("#tBody").html(getDataUseHandlebars($("#tableBody").html(), {rows: childProList}));
$.each(childProList, function(i, item) {
$("#proposal" + item.materialId).val(item.number);
//需求数量=生产数量*单位所需数量
$("#needNum" + item.materialId).html(parseInt(json.bean.number) * parseInt(item.needNum));
});
// 工艺路线赋值
wayProcedureMation.id = json.bean.wayProcedureId;
matchingLanguage();
form.render();
}});
//规格变化事件
form.on('select(unitList)', function(data) {
var thisRowValue = data.value;
//加载bom方案列表
loadBomList(thisRowValue);
});
//加载bom方案列表
function loadBomList(normsId){
AjaxPostUtil.request({url: sysMainMation.erpBasePath + "queryBomListByNormsId", params: {normsId: normsId}, type: 'json', method: 'GET', callback: function (json) {
$("#bomList").html(getDataUseHandlebars(selTemplate, json));
form.render("select");
//加载bom方案下的子件列表
if(json.rows.length > 0){
loadBomChildProList(json.rows[0].id);
}
}});
}
//方案变化事件
form.on('select(bomList)', function(data) {
var thisRowValue = data.value;
//加载bom方案下的子件列表
loadBomChildProList(thisRowValue);
});
//加载bom方案下的子件列表
function loadBomChildProList(bomId){
AjaxPostUtil.request({url: flowableBasePath + "erpbom008", params: {id: bomId}, type: 'json', method: 'GET', callback: function (json) {
childProList = [].concat(json.rows);
$("#tBody").html(getDataUseHandlebars($("#tableBody").html(), {rows: childProList}));
//加载建议采购数量
loadChildProPosal();
}});
}
//计划数量变化事件
$("body").on("input", "#number", function() {
//加载建议采购数量
loadChildProPosal();
});
$("body").on("change", "#number", function() {
//加载建议采购数量
loadChildProPosal();
});
//加载建议采购数量
function loadChildProPosal(){
//计划生产数量
var number = parseInt(isNull($("#number").val()) ? '0' : $("#number").val());
if(isNaN(number)){
number = 0;
}
$.each(childProList, function(i, item) {
//单位所需数量*生产数量-库存抵扣数量
var proposal = number * parseInt(item.needNum) - parseInt(item.currentTock);
$("#proposal" + item.materialId).val(proposal < 0 ? 0 : proposal);
//需求数量=单位所需数量*生产数量
$("#needNum" + item.materialId).html(number * parseInt(item.needNum));
});
}
form.on('submit(formEditBean)', function (data) {
if (winui.verifyForm(data.elem)) {
if(procedureMationList.length == 0){
winui.window.msg('请选择工序', {icon: 2, time: 2000});
return false;
}
if(childProList.length == 0){
winui.window.msg('请选择子件清单', {icon: 2, time: 2000});
return false;
}
var params = {
orderId: isNull(salesOrder.orderHeaderId) ? '' : salesOrder.orderHeaderId,
materialId: erpOrderUtil.chooseProductMation.materialId,
normsId: $("#unitList").val(),
number: $("#number").val(),
planStartDate: $("#planStartDate").val(),
planComplateDate: $("#planComplateDate").val(),
operTime: $("#operTime").val(),
remark: $("#remark").val(),
bomId: $("#bomList").val(),
rowId: parent.rowId,
wayProcedureId: isNull(wayProcedureMation.id) ? "" : wayProcedureMation.id
};
//工序信息
params.procedureJsonStr = JSON.stringify(procedureMationList);
//子件清单
var childList = [];
$.each(childProList, function(i, item) {
childList.push({
materialId: item.materialId,
normsId: item.normsId,
number: $("#proposal" + item.materialId).val(),
unitNumber: item.needNum,
unitPrice: item.estimatePurchasePrice
});
});
//子件清单信息
params.childProStr = JSON.stringify(childList);
AjaxPostUtil.request({url: flowableBasePath + "erpproduction004", params: params, type: 'json', method: "PUT", callback: function (json) {
parent.layer.close(index);
parent.refreshCode = '0';
}});
}
return false;
});
// 工序选择
$("body").on("click", "#procedureChoose", function() {
_openNewWindows({
url: "../../tpl/erpWorkProcedure/erpWorkProcedureChoose.html",
title: "工序选择",
pageId: "erpWorkProcedureChoose",
area: ['90vw', '90vh'],
callBack: function (refreshCode) {
wayProcedureMation = {};
loadProcedureMation();
}});
});
// 工艺选择
$("body").on("click", "#wayProcedureChoose", function() {
_openNewWindows({
url: "../../tpl/erpWayProcedure/erpWayProcedureChoose.html",
title: "工艺选择",
pageId: "erpWayProcedureChoose",
area: ['90vw', '90vh'],
callBack: function (refreshCode) {
AjaxPostUtil.request({url: flowableBasePath + "erpwayprocedure008", params: {rowId: wayProcedureMation.id}, type: 'json', method: "GET", callback: function (json) {
procedureMationList = [].concat(json.bean.procedureList);
loadProcedureMation();
}});
}});
});
function loadProcedureMation(){
var str = "";
$.each(procedureMationList, function(i, item) {
str += '<tr><td>' + item.number + '</td><td>' + item.procedureName + '</td><td>' + item.departmentName + '</td></tr>';
});
$("#procedureBody").html(str);
form.render();
}
//商品选择
$("body").on("click", "#productNameSel", function (e) {
erpOrderUtil.openMaterialChooseChoosePage(function (chooseProductMation) {
$("#materialName").val(chooseProductMation.materialName);
$("#materialModel").val(chooseProductMation.materialModel);
$("#unitList").html(getDataUseHandlebars(selTemplate, {rows: chooseProductMation.unitList}));
//重置单据信息
salesOrder = {};
$("#salesOrder").val("");
//加载bom方案列表
loadBomList(chooseProductMation.unitList[0].id);
form.render("select");
});
});
//销售单选择
$("body").on("click", "#salesOrderSel", function (e) {
_openNewWindows({
url: "../../tpl/salesOrder/salesOrderChoose.html",
title: "选择销售单据",
pageId: "salesOrderChoose",
area: ['90vw', '90vh'],
callBack: function (refreshCode) {
erpOrderUtil.chooseProductMation = {
materialName: salesOrder.materialName,
materialModel: salesOrder.materialModel,
materialId: salesOrder.materialId
};
$("#materialName").val(erpOrderUtil.chooseProductMation.materialName);
$("#materialModel").val(erpOrderUtil.chooseProductMation.materialModel);
//加载数量
$("#number").val(salesOrder.operNum);
//单号
$("#salesOrder").val(salesOrder.orderNumber);
//单位
var unitList = [{
id: salesOrder.mUnitId,
name: salesOrder.materialUnitName
}];
$("#unitList").html(getDataUseHandlebars(selTemplate, {rows: unitList}));
//加载bom方案列表
loadBomList(unitList[0].id);
form.render("select");
}});
});
// 取消
$("body").on("click", "#cancle", function() {
parent.layer.close(index);
});
});
});
\ No newline at end of file
......@@ -29,7 +29,7 @@ layui.config({
{ field: 'oddNumber', title: '生产单号', align: 'center', width: 200, templet: function (d) {
return '<a lay-event="details" class="notice-title-click">' + d.oddNumber + '</a>';
}},
{ field: 'salesOrderNum', width: 200, title: '关联销售单', align: 'center' },
{ field: 'salesOrderNum', width: 200, title: '关联销售单', align: 'center', templet: function (d) {return isNull(d.sealOrderMation) ? '' : d.sealOrderMation.oddNumber}},
{ field: 'name', title: '产品名称', align: 'left',width: 150, templet: function (d) {return isNull(d.materialMation) ? '' : d.materialMation.name}},
{ field: 'model', title: '产品型号', align: 'left',width: 150, templet: function (d) {return isNull(d.materialMation) ? '' : d.materialMation.model}},
{ field: 'norms', title: '产品规格', align: 'left',width: 150, templet: function (d) {return isNull(d.normsMation) ? '' : d.normsMation.name}},
......@@ -65,8 +65,8 @@ layui.config({
edit(data);
} else if (layEvent === 'details') { //详情
details(data);
} else if (layEvent === 'subExamine') { //提交审核
subExamine(data);
} else if (layEvent === 'subApproval') { //提交审核
subApproval(data);
} else if (layEvent === 'processDetails') { // 工作流流程详情查看
activitiUtil.activitiDetails(data);
} else if (layEvent === 'revoke') { //撤销
......@@ -123,13 +123,20 @@ layui.config({
}
// 提交审批
function subExamine(data) {
layer.confirm('确认要提交审核吗?', { icon: 3, title: '提交审核操作' }, function (index) {
AjaxPostUtil.request({url: sysMainMation.erpBasePath + "erpproduction007", params: {id: data.id}, type: 'json', method: 'POST', callback: function (json) {
winui.window.msg("提交成功。", {icon: 1, time: 2000});
loadTable();
}});
});
function subApproval(data) {
layer.confirm(systemLanguage["com.skyeye.approvalOperationMsg"][languageType], {icon: 3, title: systemLanguage["com.skyeye.approvalOperation"][languageType]}, function (index) {
layer.close(index);
activitiUtil.startProcess(data.serviceClassName, null, function (approvalId) {
var params = {
id: data.id,
approvalId: approvalId
};
AjaxPostUtil.request({url: sysMainMation.erpBasePath + "erpproduction007", params: params, type: 'json', method: 'POST', callback: function (json) {
winui.window.msg("提交成功", {icon: 1, time: 2000});
loadTable();
}});
});
});
}
// 撤销
......
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title></title>
<link href="../../assets/lib/layui/css/layui.css" rel="stylesheet" />
<link href="../../assets/lib/winui/css/winui.css" rel="stylesheet" />
</head>
<body>
<div style="margin:0 auto;padding:20px;">
<form class="layui-form" action="" id="showForm" autocomplete="off">
<div class="layui-form-item layui-col-xs12">
<span class="hr-title">生产计划</span><hr>
</div>
<div class="layui-form-item layui-col-xs6">
<label class="layui-form-label">商品名称<i class="red">*</i></label>
<div class="layui-input-block">
<input type="text" id="materialName" name="materialName" win-verify="required" placeholder="请选择商品" class="layui-input" readonly="readonly"/>
<i class="fa fa-plus-circle input-icon" id="productNameSel"></i>
</div>
</div>
<div class="layui-form-item layui-col-xs6">
<label class="layui-form-label">销售单号</label>
<div class="layui-input-block">
<input type="text" id="salesOrder" name="salesOrder" placeholder="请选择销售单号" class="layui-input" readonly="readonly"/>
<i class="fa fa-plus-circle input-icon" id="salesOrderSel"></i>
</div>
</div>
<div class="layui-form-item layui-col-xs6">
<label class="layui-form-label">商品型号</label>
<div class="layui-input-block">
<input type="text" id="materialModel" name="materialModel" placeholder="请选择商品" class="layui-input" readonly="readonly"/>
</div>
</div>
<div class="layui-form-item layui-col-xs6">
<label class="layui-form-label">计量单位<i class="red">*</i></label>
<div class="layui-input-block">
<select id="unitList" name="unitList" lay-filter="unitList" win-verify="required">
</select>
</div>
</div>
<div class="layui-form-item layui-col-xs6">
<label class="layui-form-label">计划数量<i class="red">*</i></label>
<div class="layui-input-block">
<input type="text" id="number" name="number" win-verify="required|number" placeholder="请选择计划数量" class="layui-input" value="1"/>
</div>
</div>
<div class="layui-form-item layui-col-xs6">
<label class="layui-form-label">计划开始时间<i class="red">*</i></label>
<div class="layui-input-block">
<input type="text" id="planStartDate" name="planStartDate" win-verify="required" placeholder="请选择计划开始时间" class="layui-input"/>
</div>
</div>
<div class="layui-form-item layui-col-xs6">
<label class="layui-form-label">计划结束时间<i class="red">*</i></label>
<div class="layui-input-block">
<input type="text" id="planComplateDate" name="planComplateDate" win-verify="required" placeholder="请选择计划结束时间" class="layui-input"/>
</div>
</div>
<div class="layui-form-item layui-col-xs6">
<label class="layui-form-label">单据时间<i class="red">*</i></label>
<div class="layui-input-block">
<input type="text" id="operTime" name="operTime" win-verify="required" placeholder="请选择单据时间" class="layui-input"/>
</div>
</div>
<div class="layui-form-item layui-col-xs12">
<label class="layui-form-label">备注说明</label>
<div class="layui-input-block">
<textarea id="remark" name="remark" placeholder="请输入备注说明" maxlength="200" class="layui-textarea" style="height: 100px;"></textarea>
</div>
</div>
<div class="layui-form-item layui-col-xs12">
<span class="hr-title">生产工序</span><hr>
</div>
<div class="layui-form-item layui-col-xs6">
<label class="layui-form-label">工序资料<i class="red">*</i></label>
<div class="layui-input-block">
<button type="button" class="layui-btn layui-btn-primary layui-btn-xs" id="procedureChoose">工序选择</button>
<button type="button" class="layui-btn layui-btn-primary layui-btn-xs" id="wayProcedureChoose">工艺选择</button>
<table class="layui-table">
<thead>
<tr>
<th>工序编号</th>
<th>工序名称</th>
<th>加工部门</th>
</tr>
</thead>
<tbody id="procedureBody">
</tbody>
</table>
</div>
</div>
<div class="layui-form-item layui-col-xs12">
<span class="hr-title">生产建议</span><hr>
</div>
<div class="layui-form-item layui-col-xs6">
<label class="layui-form-label">生产方案<i class="red">*</i></label>
<div class="layui-input-block">
<select id="bomList" name="bomList" lay-filter="bomList" win-verify="required">
</select>
</div>
</div>
<div class="layui-form-item layui-col-xs12">
<label class="layui-form-label">子件清单<i class="red">*</i></label>
<div class="layui-input-block">
<div class="winui-tip alert-info" id="showInfo">
子件清单中如包含【自产】商品,请单独下达生产计划单
</div>
<table class="layui-table">
<thead>
<tr>
<th>商品名称</th>
<th>型号</th>
<th>商品分类</th>
<th>商品来源</th>
<th>工序</th>
<th>单位所需数量</th>
<th>需求数量</th>
<th>库存抵扣数量</th>
<th>待入库数量</th>
<th>建议采购/生产数量</th>
</tr>
</thead>
<tbody id="tBody">
</tbody>
</table>
</div>
</div>
<div class="layui-form-item layui-col-xs12">
<div class="layui-input-block">
<button class="winui-btn" id="cancle"><language showName="com.skyeye.cancel"></language></button>
<button class="winui-btn" lay-submit lay-filter="formAddBean"><language showName="com.skyeye.save"></language></button>
</div>
</div>
</form>
</div>
<script type="text/html" id="tableBody">
{{#each rows}}
<tr rowid="{{productId}}">
<td id="name{{productId}}">{{materialName}}</td>
<td id="model{{productId}}">{{materialModel}}</td>
<td>{{categoryName}}</td>
<td>{{typeName}}</td>
<td>
{{#each procedureMationList}}
<span class="layui-badge layui-bg-gray">{{number}}</span>{{procedureName}}<br>
{{/each}}
</td>
<td style="text-align: center;">{{needNum}}{{unitName}}</td>
<td style="text-align: center;" id="needNum{{productId}}">{{needNum}}</td>
<td>{{currentTock}}</td>
<td>{{beWarehousedNum}}</td>
<td>
<input type="text" id="proposal{{productId}}" name="proposal{{productId}}" win-verify="required|number" placeholder="请输入采购或生产数量" class="layui-input"/>
</td>
</tr>
{{/each}}
</script>
<script src="../../assets/lib/layui/layui.js"></script>
<script src="../../assets/lib/layui/custom.js"></script>
<script type="text/javascript">
layui.config({base: '../../js/erpProduction/'}).use('erpProductionAdd');
</script>
</body>
</html>
\ No newline at end of file
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title></title>
<link href="../../assets/lib/layui/css/layui.css" rel="stylesheet" />
<link href="../../assets/lib/winui/css/winui.css" rel="stylesheet" />
</head>
<body>
<div style="height: 100%">
<div class="layui-tab">
<ul class="layui-tab-title">
<li class="layui-this" id="orderMationLi">订单信息</li>
</ul>
<div class="layui-tab-content">
<div class="layui-tab-item layui-show">
<form class="layui-form" action="" id="showForm">
</form>
<div class="layui-form-item layui-col-xs12">
<div class="layui-input-block ver-center">
<button class="winui-btn" type="button" id="jprint">打印</button>
</div>
</div>
</div>
</div>
</div>
</div>
<script type="text/html" id="mainHtml">
{{#bean}}
<div class="layui-form-item layui-col-xs12">
<span class="hr-title">生产计划</span><hr>
</div>
<div class="layui-form-item layui-col-xs6">
<label class="layui-form-label">计划单号</label>
<div class="layui-input-block ver-center">
{{defaultNumber}}
</div>
</div>
<div class="layui-form-item layui-col-xs6">
<label class="layui-form-label">状态</label>
<div class="layui-input-block ver-center">
{{{stateName}}}
</div>
</div>
<div class="layui-form-item layui-col-xs6">
<label class="layui-form-label">商品名称</label>
<div class="layui-input-block ver-center">
{{materialName}}
</div>
</div>
<div class="layui-form-item layui-col-xs6">
<label class="layui-form-label">销售单号</label>
<div class="layui-input-block ver-center">
{{salesNumber}}
</div>
</div>
<div class="layui-form-item layui-col-xs6">
<label class="layui-form-label">商品型号</label>
<div class="layui-input-block ver-center">
{{materialModel}}
</div>
</div>
<div class="layui-form-item layui-col-xs6">
<label class="layui-form-label">计量单位</label>
<div class="layui-input-block ver-center">
{{unitName}}
</div>
</div>
<div class="layui-form-item layui-col-xs6">
<label class="layui-form-label">计划数量</label>
<div class="layui-input-block ver-center">
{{number}}
</div>
</div>
<div class="layui-form-item layui-col-xs6">
<label class="layui-form-label">计划开始时间</label>
<div class="layui-input-block ver-center">
{{planStartDate}}
</div>
</div>
<div class="layui-form-item layui-col-xs6">
<label class="layui-form-label">计划结束时间</label>
<div class="layui-input-block ver-center">
{{planComplateDate}}
</div>
</div>
<div class="layui-form-item layui-col-xs6">
<label class="layui-form-label">单据时间</label>
<div class="layui-input-block ver-center">
{{operTime}}
</div>
</div>
<div class="layui-form-item layui-col-xs12">
<label class="layui-form-label">备注说明</label>
<div class="layui-input-block ver-center">
{{remark}}
</div>
</div>
<div class="layui-form-item layui-col-xs12">
<span class="hr-title">生产工序</span><hr>
</div>
<div class="layui-form-item layui-col-xs6">
<label class="layui-form-label">工序资料</label>
<div class="layui-input-block">
<table class="layui-table" style="table-layout:fixed">
<thead>
<tr>
<th style="width: 100px">工序编号</th>
<th style="width: 100px">工序名称</th>
<th style="width: 100px">加工部门</th>
<th style="width: 80px">加工单</th>
<th style="width: 180px">单号</th>
</tr>
</thead>
<tbody id="tBody">
{{#each procedureMationList}}
<tr>
<td>{{number}}</td>
<td>{{procedureName}}</td>
<td>{{departmentName}}</td>
<td>{{{stateName}}}</td>
<td><a class="notice-title-click machinDetails" rowId="{{machinId}}">{{{machinOrderNum}}}</a></td>
</tr>
{{/each}}
</tbody>
</table>
</div>
</div>
<div class="layui-form-item layui-col-xs12">
<span class="hr-title">生产建议</span><hr>
</div>
<div class="layui-form-item layui-col-xs6">
<label class="layui-form-label">生产方案</label>
<div class="layui-input-block ver-center">
{{title}}
</div>
</div>
<div class="layui-form-item layui-col-xs12">
<label class="layui-form-label">子件清单</label>
<div class="layui-input-block">
<div class="winui-tip alert-info" id="showInfo">
子件清单中如包含自产商品请单独下达生产计划单
</div>
<table class="layui-table">
<thead>
<tr>
<th>商品名称</th>
<th>型号</th>
<th>商品分类</th>
<th>商品来源</th>
<th>工序</th>
<th style="text-align: center;">单位所需数量</th>
<th style="text-align: center;">需求数量</th>
<th style="text-align: center;">已采购数量</th>
<th style="text-align: center;">采购/生产数量</th>
</tr>
</thead>
<tbody id="tBody">
{{#each childList}}
<tr rowid="{{materialId}}">
<td id="name{{materialId}}">{{materialName}}</td>
<td id="model{{materialId}}">{{materialModel}}</td>
<td>{{materialCategoryName}}</td>
<td>{{materialTypeName}}</td>
<td>
{{#each procedureMationList}}
<span class="layui-badge layui-bg-gray">{{number}}</span>{{procedureName}}<br>
{{/each}}
</td>
<td style="text-align: center;">{{needNum}}{{unitName}}</td>
<td style="text-align: center;" id="needsNum">{{needsNum}}</td>
<td style="text-align: center;">{{purchaseNum}}</td>
<td style="text-align: center;">{{number}}</td>
</tr>
{{/each}}
</tbody>
</table>
</div>
</div>
<div class="layui-form-item layui-col-xs12">
<span class="hr-title">审核信息</span><hr>
</div>
<div class="layui-form-item layui-col-xs12">
<label class="layui-form-label">审核意见</label>
<div class="layui-input-block ver-center">
{{approvalContent}}
</div>
</div>
{{/bean}}
</script>
<script src="../../assets/lib/layui/layui.js"></script>
<script src="../../assets/lib/layui/custom.js"></script>
<script type="text/javascript">
layui.config({base: '../../js/erpProduction/'}).use('erpProductionDetail');
</script>
</body>
</html>
\ No newline at end of file
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title></title>
<link href="../../assets/lib/layui/css/layui.css" rel="stylesheet" />
<link href="../../assets/lib/winui/css/winui.css" rel="stylesheet" />
</head>
<body>
<div style="margin:0 auto;padding:20px;">
<form class="layui-form" action="" id="showForm" autocomplete="off">
<div class="layui-form-item layui-col-xs12">
<span class="hr-title">生产计划</span><hr>
</div>
<div class="layui-form-item layui-col-xs6">
<label class="layui-form-label">商品名称<i class="red">*</i></label>
<div class="layui-input-block">
<input type="text" id="materialName" name="materialName" win-verify="required" placeholder="请选择商品" class="layui-input" readonly="readonly"/>
<i class="fa fa-plus-circle input-icon" id="productNameSel"></i>
</div>
</div>
<div class="layui-form-item layui-col-xs6">
<label class="layui-form-label">销售单号</label>
<div class="layui-input-block">
<input type="text" id="salesOrder" name="salesOrder" placeholder="请选择销售单号" class="layui-input" readonly="readonly"/>
<i class="fa fa-plus-circle input-icon" id="salesOrderSel"></i>
</div>
</div>
<div class="layui-form-item layui-col-xs6">
<label class="layui-form-label">商品型号</label>
<div class="layui-input-block">
<input type="text" id="materialModel" name="materialModel" placeholder="请选择商品" class="layui-input" readonly="readonly"/>
</div>
</div>
<div class="layui-form-item layui-col-xs6">
<label class="layui-form-label">计量单位<i class="red">*</i></label>
<div class="layui-input-block">
<select id="unitList" name="unitList" lay-filter="unitList" win-verify="required">
</select>
</div>
</div>
<div class="layui-form-item layui-col-xs6">
<label class="layui-form-label">计划数量<i class="red">*</i></label>
<div class="layui-input-block">
<input type="text" id="number" name="number" win-verify="required|number" placeholder="请选择计划数量" class="layui-input" value="1"/>
</div>
</div>
<div class="layui-form-item layui-col-xs6">
<label class="layui-form-label">计划开始时间<i class="red">*</i></label>
<div class="layui-input-block">
<input type="text" id="planStartDate" name="planStartDate" win-verify="required" placeholder="请选择计划开始时间" class="layui-input"/>
</div>
</div>
<div class="layui-form-item layui-col-xs6">
<label class="layui-form-label">计划结束时间<i class="red">*</i></label>
<div class="layui-input-block">
<input type="text" id="planComplateDate" name="planComplateDate" win-verify="required" placeholder="请选择计划结束时间" class="layui-input"/>
</div>
</div>
<div class="layui-form-item layui-col-xs6">
<label class="layui-form-label">单据时间<i class="red">*</i></label>
<div class="layui-input-block">
<input type="text" id="operTime" name="operTime" win-verify="required" placeholder="请选择单据时间" class="layui-input"/>
</div>
</div>
<div class="layui-form-item layui-col-xs12">
<label class="layui-form-label">备注说明</label>
<div class="layui-input-block">
<textarea id="remark" name="remark" placeholder="请输入备注说明" maxlength="200" class="layui-textarea" style="height: 100px;"></textarea>
</div>
</div>
<div class="layui-form-item layui-col-xs12">
<span class="hr-title">生产工序</span><hr>
</div>
<div class="layui-form-item layui-col-xs6">
<label class="layui-form-label">工序资料<i class="red">*</i></label>
<div class="layui-input-block">
<button type="button" class="layui-btn layui-btn-primary layui-btn-xs" id="procedureChoose">工序选择</button>
<button type="button" class="layui-btn layui-btn-primary layui-btn-xs" id="wayProcedureChoose">工艺选择</button>
<table class="layui-table">
<thead>
<tr>
<th>工序编号</th>
<th>工序名称</th>
<th>加工部门</th>
</tr>
</thead>
<tbody id="procedureBody">
</tbody>
</table>
</div>
</div>
<div class="layui-form-item layui-col-xs12">
<span class="hr-title">生产建议</span><hr>
</div>
<div class="layui-form-item layui-col-xs6">
<label class="layui-form-label">生产方案<i class="red">*</i></label>
<div class="layui-input-block">
<select id="bomList" name="bomList" lay-filter="bomList" win-verify="required">
</select>
</div>
</div>
<div class="layui-form-item layui-col-xs12">
<label class="layui-form-label">子件清单<i class="red">*</i></label>
<div class="layui-input-block">
<div class="winui-tip alert-info" id="showInfo">
子件清单中如包含【自产】商品,请单独下达生产计划单
</div>
<table class="layui-table">
<thead>
<tr>
<th>商品名称</th>
<th>型号</th>
<th>商品分类</th>
<th>商品来源</th>
<th>工序</th>
<th>单位所需数量</th>
<th>需求数量</th>
<th>库存抵扣数量</th>
<th>待入库数量</th>
<th>建议采购/生产数量</th>
</tr>
</thead>
<tbody id="tBody">
</tbody>
</table>
</div>
</div>
<div class="layui-form-item layui-col-xs12">
<div class="layui-input-block">
<button class="winui-btn" id="cancle"><language showName="com.skyeye.cancel"></language></button>
<button class="winui-btn" lay-submit lay-filter="formEditBean"><language showName="com.skyeye.save"></language></button>
</div>
</div>
</form>
</div>
<script type="text/html" id="tableBody">
{{#each rows}}
<tr rowid="{{materialId}}">
<td id="name{{materialId}}">{{materialName}}</td>
<td id="model{{materialId}}">{{materialModel}}</td>
<td>{{categoryName}}</td>
<td>{{typeName}}</td>
<td>
{{#each procedureMationList}}
<span class="layui-badge layui-bg-gray">{{number}}</span>{{procedureName}}<br>
{{/each}}
</td>
<td style="text-align: center;">{{needNum}}{{unitName}}</td>
<td style="text-align: center;" id="needNum{{materialId}}">{{needNum}}</td>
<td>{{currentTock}}</td>
<td>{{beWarehousedNum}}</td>
<td>
<input type="text" id="proposal{{materialId}}" name="proposal{{materialId}}" win-verify="required|number" placeholder="请输入采购或生产数量" class="layui-input"/>
</td>
</tr>
{{/each}}
</script>
<script src="../../assets/lib/layui/layui.js"></script>
<script src="../../assets/lib/layui/custom.js"></script>
<script type="text/javascript">
layui.config({base: '../../js/erpProduction/'}).use('erpProductionEdit');
</script>
</body>
</html>
\ No newline at end of file
......@@ -28,7 +28,7 @@
{{# } }}
{{# } }}
{{# if(d.editRow == 2) { }}
{{# if(auth('')) { }}
{{# if(auth('1696246760629')) { }}
<a class="layui-btn layui-btn-xs layui-btn-danger" lay-event="revoke">撤销</a>
{{# } }}
{{# } }}
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册