<!DOCTYPE html>
|
<html>
|
<head>
|
<meta charset="utf-8" />
|
<title>工序流转卡单据拆分</title>
|
<link rel="stylesheet" href="../../../layuiadmin/layui/css/layui.css" media="all">
|
<link rel="stylesheet" href="../../../layuiadmin/style/admin.css" media="all">
|
<script src="../../../layuiadmin/zgqCustom/zgqCustom.js"></script>
|
<script src="../../../layuiadmin/layui/layui.js"></script>
|
<script src="../../../layuiadmin/Scripts/json2.js"></script>
|
<script src="../../../layuiadmin/Scripts/jquery-1.4.1.js"></script>
|
<script src="../../../layuiadmin/Scripts/webConfig.js"></script>
|
<script src="../../../layuiadmin/layui/lay/modules/util.js"></script>
|
<script src="../../../layuiadmin/PubCustom.js"></script>
|
<style type="text/css">
|
|
/*begin 此样式用于消除行元素中布局宽度不够的问题*/
|
.layui-form-item .layui-inline {
|
margin-top: 5px;
|
margin-bottom: 5px;
|
margin-right: 0px;
|
}
|
/*end*/
|
|
.layui-input-block {
|
margin-left: 229px;
|
min-height: 36px;
|
}
|
</style>
|
</head>
|
<body>
|
<div id="layout1" class="layui-fluid">
|
<div class="layui-row layui-col-space15">
|
<div class="layui-col-md12">
|
<div class="layui-card">
|
<form id="form0" class="layui-form" lay-filter="formData" action="">
|
<div class="layui-card-header">
|
<div class="layui-btn-group">
|
<button type="button" id="Saver" class="layui-btn layui-btn-normal layui-btn-radius" lay-submit="" lay-filter="Saver">保存</button>
|
<button type="button" class="layui-btn layui-btn-normal layui-btn-radius" lay-submit="" lay-filter="Exit">退出</button>
|
</div>
|
</div>
|
<div class="layui-card-body">
|
<div class="layui-tab layui-tab-brief" lay-filter="docDemoTabBrief">
|
<h1 style="text-align:center;"><b>工序流转卡单据拆分</b></h1>
|
<!--基本信息-->
|
<div class="layui-tab-content">
|
<div class="layui-tab-item layui-show">
|
<div class="layui-form-item">
|
<div class="layui-inline">
|
<label class="layui-form-label">单据号</label>
|
<div class="layui-input-inline">
|
<input class="layui-input" name="HBillNo" lay-filter="HBillNo" id="HBillNo" readonly="readonly" autocomplete="off">
|
<input type="hidden" name="HPRDORGID" id="HPRDORGID" lay-filter="HPRDORGID"><!--HSTOCKORGID-->
|
<input type="hidden" name="HICMOInterID" id="HICMOInterID" lay-filter="HICMOInterID">
|
<input type="hidden" name="HICMOEntryID" id="HICMOEntryID" lay-filter="HICMOEntryID">
|
<input type="hidden" name="HICMOBillNo" id="HICMOBillNo" lay-filter="HICMOBillNo">
|
</div>
|
</div>
|
<div class="layui-inline">
|
<label class="layui-form-label">日期</label>
|
<div class="layui-input-inline">
|
<input type="date" class="layui-input" name="HDate" id="HDate">
|
</div>
|
</div>
|
<div class="layui-inline">
|
<label class="layui-form-label">订单跟踪号</label>
|
<div class="layui-input-inline">
|
<input type="text" class="layui-input" name="HOrderProcNO" id="HOrderProcNO" style="background-color:#efefef4d;" readonly>
|
</div>
|
</div>
|
</div>
|
<div class="layui-form-item">
|
<div class="layui-inline">
|
<label class="layui-form-label">任务单号</label>
|
<div class="layui-input-inline">
|
<input type="text" class="layui-input" name="HICMOBillNo" id="HICMOBillNo" style="background-color:#efefef4d;" readonly>
|
</div>
|
</div>
|
<div class="layui-inline">
|
<label class="layui-form-label">批号</label>
|
<div class="layui-input-inline">
|
<input type="text" class="layui-input" name="HBatchNo" id="HBatchNo" style="background-color:#efefef4d;" readonly>
|
</div>
|
</div>
|
<div class="layui-inline">
|
<label class="layui-form-label">生产数量</label>
|
<div class="layui-input-inline">
|
<input type="text" class="layui-input" name="HPlanQty" id="HPlanQty" style="background-color:#efefef4d;" readonly>
|
</div>
|
</div>
|
</div>
|
<div class="layui-form-item">
|
<div class="layui-inline">
|
<label class="layui-form-label">产品</label>
|
<div class="layui-input-inline">
|
<input type="text" class="layui-input" name="HMaterName" id="HMaterName" style="background-color:#efefef4d;" readonly>
|
<input type="hidden" name="HMaterID" id="HMaterID">
|
</div>
|
</div>
|
<div class="layui-inline">
|
<label class="layui-form-label">产品代码</label>
|
<div class="layui-input-inline">
|
<input type="text" class="layui-input" name="HMaterNumber" id="HMaterNumber" style="background-color:#efefef4d;" readonly>
|
</div>
|
</div>
|
<div class="layui-inline">
|
<label class="layui-form-label">产品规格</label>
|
<div class="layui-input-inline">
|
<input type="text" class="layui-input" name="HModel" id="HModel" style="background-color:#efefef4d;" readonly>
|
</div>
|
</div>
|
</div>
|
<div class="layui-form-item">
|
<div class="layui-inline">
|
<label class="layui-form-label" style="width: 85px;">计划开工日期</label>
|
<div class="layui-input-block" style="margin-left: 120px;">
|
<input type="date" class="layui-input" lay-verify="HPlanBeginDate" name="HPlanBeginDate" id="HPlanBeginDate" style="padding-left: 72px;">
|
</div>
|
</div>
|
<div class="layui-inline">
|
<label class="layui-form-label" style="width: 85px;">计划完工日期</label>
|
<div class="layui-input-block" style="margin-left: 120px;">
|
<input type="date" class="layui-input" lay-verify="HPlanEndDate" name="HPlanEndDate" id="HPlanEndDate" style="padding-left: 80px;">
|
</div>
|
</div>
|
<div class="layui-inline">
|
<label class="layui-form-label">单位</label>
|
<div class="layui-input-inline">
|
<input type="text" class="layui-input" name="HUnitName" id="HUnitName" style="background-color:#efefef4d;" readonly>
|
<input type="hidden" name="HUnitID" id="HUnitID">
|
</div>
|
</div>
|
</div>
|
<div class="layui-form-item">
|
<div class="layui-inline">
|
<label class="layui-form-label" style="width: 85px;">委外加工单位</label>
|
<div class="layui-input-inline">
|
<input type="text" class="layui-input" name="HSuName" id="HSuName" style="background-color:#efefef4d;" readonly>
|
<input type="hidden" name="HSupID" id="HSupID">
|
</div>
|
</div>
|
<div class="layui-inline">
|
<label class="layui-form-label">生产车间</label>
|
<div class="layui-input-inline">
|
<input type="text" class="layui-input" name="HWorkShopName" id="HWorkShopName" style="background-color:#efefef4d;" readonly>
|
<input type="hidden" name="HWorkShopID" id="HWorkShopID">
|
</div>
|
</div>
|
<div class="layui-inline">
|
<label class="layui-form-label">拆分数量</label>
|
<div class="layui-input-inline">
|
<input type="text" class="layui-input" name="HQty" id="HQty">
|
<input type="hidden" class="layui-input" name="ProcessExchangeHQty" id="ProcessExchangeHQty">
|
</div>
|
</div>
|
</div>
|
<div class="layui-form-item">
|
<div class="layui-inline">
|
<label class="layui-form-label">摘要</label>
|
<div class="layui-input-inline">
|
<textarea placeholder="请输入摘要" class="layui-textarea" name="HExplanation" id="HExplanation"></textarea>
|
</div>
|
</div>
|
<div class="layui-inline">
|
<label class="layui-form-label">备注</label>
|
<div class="layui-input-inline">
|
<textarea placeholder="请输入备注" class="layui-textarea" name="HRemark" id="HRemark" style="background-color:#efefef4d;" readonly></textarea>
|
</div>
|
</div>
|
</div>
|
</div>
|
</div>
|
</div>
|
</div>
|
<table class="layui-hide" id="mainTable" lay-filter="mainTable"></table>
|
<!--<script type="text/html" id="toolbarDemo">
|
<div class="layui-btn-container">
|
<button type="button" class="layui-btn layui-btn-sm" lay-event="btn-AddLine"><i class="layui-icon layui-icon-form"></i>增加一行</button>
|
<button type="button" class="layui-btn layui-btn-sm" lay-event="btn-CopyLine"><i class="layui-icon layui-icon-form"></i>复制一行</button>
|
</div>
|
</script>-->
|
<!--<script type="text/html" id="xuhao">
|
{{d.LAY_TABLE_INDEX+1}}
|
</script>-->
|
</form>
|
</div>
|
</div>
|
</div>
|
</div>
|
</body>
|
</html>
|
<!--复选框 返工标志-->
|
<script type="text/html" id="HBackProc">
|
<div class="layui-input-block" style="margin-left: 20px;">
|
<input type="checkbox" name="HBackProc" lay-filter="HBackProc" id="HBackProc{{d.LAY_TABLE_INDEX+1}}" lay-skin="primary">
|
</div>
|
</script>
|
|
<script>
|
layui.config({
|
base: '../../../layuiadmin/' //静态资源所在路径
|
}).extend({
|
index: 'lib/index' //主入口模块
|
}).use(['index', 'form', 'laydate', 'table', 'element'], function () {
|
|
//#region 公共变量
|
|
var $ = layui.$
|
, admin = layui.admin
|
, layer = layui.layer
|
, table = layui.table
|
, form = layui.form
|
, element = layui.element;
|
|
//定义全局变量
|
var option = [];
|
|
//初始表格数据
|
var rowdata = [{
|
"HProcNo": "", "HProcID": 0, "HProcNumber": "", "HProcName": "", "HBackProc": false
|
, "HWorkRemark": "", "HCenterID": 0, "HCenterNumber": "", "HCenterName": "", "HDeptID": 0
|
, "HDeptNumber": "", "HDeptName": "", "HGroupID": 0, "HGroupNumber": "", "HGroupName": ""
|
, "HWorkerID": 0, "HWorkerNumber": "", "HWorkerName": "", "HLeftQty": "", "HSplitQty": ""
|
, "HQty": "", "HOutPrice": 0, "HRemark": "", "HOverRate": 0, "HMaxQty": 0
|
, "HPassRate": 0, "HSumPassRate": 0, "HPicNum": "", "HProcCheckNote": "", "HTechnologyParameter": ""
|
, "HPrevSourceInterID": 0, "HPrevSourceEntryID": 0
|
}];
|
//#endregion
|
|
//#region 进入页面即加载
|
|
//获取页面跳转参数
|
var params = get_UrlVars();
|
|
var OperationType = params[params[0]];//操作类型
|
var linterid = params[params[1]];//源单id
|
var HEntryID = params[params[2]];//源单子id
|
var HSouceBillType = params[params[3]];//源单类型
|
|
|
//初始化页面
|
set_ClearBill();
|
|
|
//#endregion
|
|
//#region 触发事件:包括form.on(){}格式的所有点击事件、选择事件等
|
|
//行内鼠标离开事件
|
table.on('edit(mainTable)', function (obj) {
|
if (obj.field == "HSplitQty") {
|
//修改数据
|
obj.update({
|
"HQty": obj.value
|
});
|
}
|
})
|
|
//委外协助
|
form.on('checkbox(HBackProc)', function (data) {
|
//获取下拉框选中的值
|
var elem = data.othis.parents('tr');
|
var dataindex = elem.attr("data-index");
|
$.each(option.data, function (index, value) {
|
if (value.LAY_TABLE_INDEX == dataindex) {
|
value.HBackProc = data.elem.checked;//把选中下拉框id值赋值给表格缓存
|
}
|
});
|
});
|
|
$("#HQty").on("input", function (e) {
|
//获取input输入的值
|
if (parseInt(e.delegateTarget.value) > parseInt(option.data[0]["HLeftQty"])) {
|
return layer.msg("拆分数量不能超过可拆分数量!")
|
}
|
else {
|
for (var i = 0; i < option.data.length; i++) {
|
option.data[i]["HSplitQty"] = e.delegateTarget.value;
|
option.data[i]["HQty"] = e.delegateTarget.value;
|
}
|
}
|
table.render(option);
|
});
|
|
//退出
|
form.on('submit(Exit)', function (data) {//提交
|
Pub_Close(1);
|
});
|
|
//保存提交
|
form.on('submit(Saver)', function (data) {//提交
|
if (AllowLoadData(data)) {
|
set_AddNew(data);
|
}
|
});
|
|
//#endregion
|
|
//#region 此页面所有的方法
|
//初始化表格
|
function set_ClearBill() {
|
$("#HDate").val(Format(new Date(), "yyyy-MM-dd"));
|
$("#HPlanBeginDate").val(Format(new Date(new Date() - 1000 * 60 * 60 * 24 * 30), "yyyy-MM-dd"));
|
$("#HPlanEndDate").val(Format(new Date(), "yyyy-MM-dd"));
|
//初始化表格
|
set_InitGrid();
|
set_EditForm(linterid); //编辑获取表头
|
set_EditGrid(linterid); //编辑获取表体
|
}
|
|
//初始化表格
|
function set_InitGrid() {
|
option = {
|
elem: '#mainTable'
|
, toolbar: '#toolbarDemo'
|
, height: 'full-50'
|
, page: true
|
, limits: [50, 500, 5000, 20000]
|
, limit: 50 //每页默认显示的数量
|
, cellMinWidth: 200
|
, loading: false
|
, cols: [[
|
{ type: 'checkbox', fixed: 'left' }
|
, { type: 'numbers', title: '序号', totalRow: true }
|
, { field: 'HProcNo', title: '流水号', width:120}
|
, { field: 'HProcID', title: '工序ID', hide: true }
|
, { field: 'HProcNumber', title: '工序代码', width: 120 }
|
, { field: 'HProcName', title: '工序名称', width: 120 }
|
, { field: 'HCenterID', title: '工作中心ID', hide: true }
|
, { field: 'HCenterNumber', title: '工作中心代码', width: 120 }
|
, { field: 'HCenterName', title: '工作中心名称', width: 120 }
|
, { field: 'HTechnologyParameter', title: '工艺参数', width: 120, edit: 'text' }
|
, { field: 'HRemark', title: '备注', edit: 'text', width: 120 }
|
, { field: 'HLeftQty', title: '可拆分数量', width: 120 }
|
, { field: 'HSplitQty', title: '拆分数量', width: 120, edit: 'text' }
|
, { field: 'HQty', title: '实际数量', width: 120 }
|
, { field: 'HWorkRemark', title: '加工说明', width: 120 }
|
, { field: 'HBackProc', title: '返工标志', templet: "#HBackProc", width: 120 }
|
|
//, { field: 'HDeptID', title: '部门ID', hide: true }
|
//, { field: 'HDeptNumber', title: '部门代码', width: 120}
|
//, { field: 'HDeptName', title: '部门', width: 120}
|
//, { field: 'HGroupID', title: '班组ID', hide: true }
|
//, { field: 'HGroupNumber', title: '班组代码', width: 120 }
|
//, { field: 'HGroupName', title: '班组', width: 120}
|
//, { field: 'HWorkerID', title: 'HWorkerID', hide: true }
|
//, { field: 'HWorkerNumber', title: '操作员代码', width: 120 }
|
//, { field: 'HWorkerName', title: '操作员', width: 120 }
|
//, { field: 'HOutPrice', title: '加工单价', width: 120 }
|
//, { field: 'HOverRate', title: '超额比例', width: 120 }
|
//, { field: 'HMaxQty', title: '最高上限', width: 120}
|
//, { field: 'HPassRate', title: '良率', width: 120}
|
//, { field: 'HSumPassRate', title: '累计良率', width: 120}
|
//, { field: 'HPicNum', title: '图纸编号', width: 120 }
|
//, { field: 'HProcCheckNote', title: '本工序确认记录', width: 120}
|
|
, { field: 'HPrevSourceInterID', title: 'HPrevSourceInterID', hide: true }
|
, { field: 'HPrevSourceEntryID', title: 'HPrevSourceEntryID', hide: true }
|
//, { fixed: 'right', title: '操作', toolbar: '#barDemo' }
|
]]
|
};
|
}
|
|
//通过主id查询数据
|
function set_EditForm() {
|
var ajaxLoad = layer.load();
|
$.ajax({
|
url: GetWEBURL() + '/Sc_ProcessExchangeBill/GetProcessExchangeBillMain_cf',
|
type: "GET",
|
async: false,
|
data: { "HInterID": linterid },
|
success: function (d) {
|
if (d.count == 1) {
|
//主表
|
form.val("formData", { //formTest 即 class="layui-form" 所在元素属性 lay-filter="" 对应的值
|
"HBillNo": d.data[0].单据号
|
, "HPRDORGID": d.data[0].HPRDORGID
|
, "HICMOInterID": d.data[0].hicmointerid
|
, "HICMOEntryID": d.data[0].HICMOEntryID
|
, "HICMOBillNo": d.data[0].生产订单号
|
, "HDate": Format(new Date(d.data[0].日期), "yyyy-MM-dd")
|
, "HOrderProcNO": d.data[0].订单跟踪号
|
, "HICMOBillNo": d.data[0].生产订单号
|
, "HBatchNo": d.data[0].批号
|
, "HPlanQty": d.data[0].生产数量
|
, "HMaterName": d.data[0].产品名称
|
, "HMaterID": d.data[0].HMaterID2
|
, "HMaterNumber": d.data[0].产品代码
|
, "HModel": d.data[0].产品规格
|
, "HPlanBeginDate": Format(new Date(d.data[0].计划开工日期), "yyyy-MM-dd")
|
, "HPlanEndDate": Format(new Date(d.data[0].计划完工日期), "yyyy-MM-dd")
|
, "HUnitName": d.data[0].单位
|
, "HUnitID": d.data[0].HUnitID
|
, "HSuName": d.data[0].委外加工单位
|
, "HSupID": d.data[0].HSupID
|
, "HWorkShopName": d.data[0].生产车间
|
, "HWorkShopID": d.data[0].HWorkShopID
|
, "HExplanation": d.data[0].摘要
|
, "HRemark": d.data[0].表头备注
|
});
|
|
layer.close(ajaxLoad);
|
} else {
|
layer.close(ajaxLoad);
|
layer.alert(d.code + d.Message, { icon: 5 });
|
}
|
}, error: function () {
|
layer.close(ajaxLoad);
|
layer.alert("接口请求失败!", { icon: 5 });
|
}
|
});
|
}
|
|
// 编辑获取表体
|
function set_EditGrid(linterid) {
|
$("#HInterID").val(linterid);
|
//编辑加载数据
|
$.ajax({
|
url: GetWEBURL() + 'Sc_ProcessExchangeBill/GetProcessExchangeBillSub_cf',
|
type: "GET",
|
data: { "HInterID": linterid },
|
success: function (d) {
|
if (d.count == 1) {
|
|
var result = [];
|
for (var i = 0; i < d.data.length; i++) {
|
result.push(
|
{
|
"HProcNo": d.data[i].流水号, "HProcID": d.data[i].HProcID, "HProcNumber": d.data[i].工序代码, "HProcName": d.data[i].工序名称, "HBackProc": d.data[i].HBackProc == 1 ? true : false
|
, "HWorkRemark": d.data[i].加工说明, "HCenterID": d.data[i].HCenterID, "HCenterNumber": d.data[i].工作中心代码, "HCenterName": d.data[i].工作中心, "HDeptID": d.data[i].HDeptID
|
, "HDeptNumber": d.data[i].加工车间代码, "HDeptName": d.data[i].加工车间, "HGroupID": d.data[i].HGroupID, "HGroupNumber": d.data[i].班组代码, "HGroupName": d.data[i].班组
|
, "HWorkerID": d.data[i].HWorkerID, "HWorkerNumber": d.data[i].操作工代码, "HWorkerName": d.data[i].操作工, "HLeftQty": d.data[i].计划数量, "HSplitQty": ""
|
, "HQty": d.data[i].计划数量, "HOutPrice": d.data[i].加工单价, "HRemark": d.data[i].表体备注, "HOverRate": d.data[i].超额比例, "HMaxQty": d.data[i].HMaxQty
|
, "HPassRate": d.data[i].良率, "HSumPassRate": d.data[i].累计良率, "HPicNum": d.data[i].图纸编号, "HProcCheckNote": d.data[i].本工序确认记录, "HTechnologyParameter": d.data[i].工艺参数
|
, "HPrevSourceInterID": linterid, "HPrevSourceEntryID": d.data[i].HEntryID
|
}
|
)
|
}
|
|
option.data = result;
|
table.render(option);
|
|
for (var i = 0; i < d.data.length; i++) {
|
if (d.data[i].HBackProc==1) {
|
$('#HBackProc' + (i + 1)).attr("checked", true);
|
}
|
}
|
form.render('checkbox');
|
|
} else {
|
layer.alert(d.code + d.Message, { icon: 5 });
|
}
|
}, error: function () {
|
layer.close(index0);
|
layer.alert("接口请求失败!", { icon: 5 });
|
}
|
});
|
}
|
|
//保存HMaker
|
function set_AddNew(data) {
|
|
var num = [];
|
for (var i = 0; i < table.cache["mainTable"].length; i++) {
|
if (table.cache["mainTable"][i] != "") {
|
table.cache["mainTable"][i].LAY_TABLE_INDEX = i;
|
num.push(table.cache["mainTable"][i])
|
}
|
}
|
|
data.field.HPRDORGID = sessionStorage["OrganizationID"];//组织
|
var sMainStr = JSON.stringify(data.field);
|
var sSubStr = JSON.stringify(num);
|
var sMainSub = sMainStr + ';' + sSubStr + ';' + OperationType + ";" + sessionStorage["HUserName"] + ";" + linterid;
|
|
var index = layer.load();
|
$.ajax({
|
type: "POST",
|
url: GetWEBURL() + "/Sc_ProcessExchangeBill/AddBill_cf",
|
async: true,
|
data: { "sMainSub": sMainSub },
|
dataType: "json",
|
success: function (data) {
|
if (data.count == 1) {
|
$('#Saver').addClass("layui-btn-disabled").attr("disabled", true);
|
layer.close(index);
|
layer.msg("提交成功");
|
}
|
else {
|
layer.close(index);
|
layer.msg(data.Message, { icon: 5, btn: ['确认'], time: 100000, offset: 't', skin: 'layui-layer-lan', title: "温馨提示" });
|
}
|
},
|
error: function (err) {
|
layer.close(index);
|
layer.msg("错误:" + err, { icon: 5, btn: ['确认'], time: 100000, offset: 't', skin: 'layui-layer-lan', title: "温馨提示" });
|
}
|
});
|
}
|
|
//非空验证
|
function AllowLoadData(data) {
|
|
if ($("#HQty").val() == "") {
|
layer.msg("请输入拆分数量!");
|
return false;
|
}
|
|
return true;
|
}
|
//#endregion
|
|
});
|
|
|
</script>
|