<!DOCTYPE html>
|
<html xmlns="http://www.w3.org/1999/xhtml">
|
<head>
|
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
<title>工序出站汇报单</title>
|
<meta name="renderer" content="webkit">
|
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
|
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
|
<!--引用layui样式文件-->
|
<link rel="stylesheet" href="../../../layuiadmin/layui/css/layui.css" media="all">
|
<link rel="stylesheet" href="../../../layuiadmin/style/admin.css" media="all">
|
<!--引用layui js文件-->
|
<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/PubCustom.js"></script>
|
<script src="../../../layuiadmin/zgqCustom/zgqCustom.js"></script>
|
<!--自定义样式-->
|
<style>
|
.layui-form-label {
|
font-size: 14px;
|
width: 85px;
|
text-align: inherit;
|
}
|
/*全局设置输入框高度*/
|
.layui-input {
|
height: 30px;
|
}
|
/*设置表头输入框*/
|
.t1_input {
|
padding: 1%;
|
}
|
/*本站信息td*/
|
.bz_td {
|
display: -webkit-box; /*设置按钮不换行*/
|
padding: 1%; /*设置输入框边距*/
|
}
|
/*设置本站信息按钮高度*/
|
.bz_btu {
|
height: 30px;
|
width: 60px;
|
line-height: 30px;
|
}
|
|
th {
|
width: 70px;
|
text-align: center;
|
}
|
</style>
|
</head>
|
|
<body>
|
<div class="layui-fluid" style="padding: 0;">
|
<div class="layui-card">
|
<div class="layui-card-body" style="padding: 1px;">
|
<form class="layui-form" action="" lay-filter="formData" id="formData" style="background-color:white;">
|
<div style="background-color:#0085E8;">
|
<span style="color: white;"><i class="layui-icon layui-icon-form"></i>工序出站汇报单明细</span>
|
</div>
|
<div class="layui-tab layui-tab-card" lay-filter="TabTest">
|
<table style="width:80%;">
|
<tbody>
|
<tr>
|
<th>流水号</th>
|
<td class="bz_td">
|
<input type="text" name="HProcNo" class="layui-input" id="HProcNo" placeholder="流水号" style="border-radius:50px;background-color:#efefef4d;" readonly>
|
<input type="hidden" name="HBillNo_bak" id="HBillNo_bak" autocomplete="off" class="layui-input">
|
<input type="hidden" name="HInterID" id="HInterID" autocomplete="off" class="layui-input">
|
</td>
|
</tr>
|
<tr>
|
<th>工序</th>
|
<td class="bz_td">
|
<input type="text" name="HWorkProcName" class="layui-input" id="HWorkProcName" placeholder="工序" style="border-radius:50px;background-color:#efefef4d;" readonly>
|
<input type="hidden" name="HWorkProcID" id="HWorkProcID" autocomplete="off" value="0" class="layui-input">
|
</td>
|
</tr>
|
<tr>
|
<th>数量</th>
|
<td class="bz_td">
|
<input type="text" name="HPlanQty" class="layui-input" id="HPlanQty" placeholder="数量" style="border-radius:50px;background-color:#efefef4d;" readonly>
|
</td>
|
</tr>
|
</tbody>
|
</table>
|
|
<table class="" 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-Edit"><i class="layui-icon layui-icon-form"></i>编辑</button>
|
</div>
|
</script>
|
<script type="text/html" id="xuhao">
|
{{d.LAY_TABLE_INDEX+1}}
|
</script>
|
<script type="text/html" id="barDemo">
|
<a class="layui-btn layui-btn-danger layui-btn-xs" lay-event="del">删除</a>
|
</script>-->
|
</div>
|
<div class="layui-form-item" style="margin: 1% 2%;text-align: right;">
|
<button type="button" lay-submit="" lay-filter="Saver" class="layui-btn layui-btn-radius" style="float:left">提交</button>
|
<button type="button" lay-submit="" lay-filter="Cancel" class="layui-btn layui-btn-radius layui-btn-danger" style="float:right">退出</button>
|
</div>
|
<!--隐藏字段-->
|
<!--<input type="hidden" name="lngBillKey" id="lngBillKey">-->
|
</form>
|
</div>
|
</div>
|
</div>
|
|
<script>
|
layui.config({
|
base: '../../../layuiadmin/' //静态资源所在路径
|
}).extend({
|
index: 'lib/index' //主入口模块
|
}).use(['index', 'form', 'laydate', 'table', 'element'], function () {
|
var $ = layui.$
|
, admin = layui.admin
|
, layer = layui.layer
|
, table = layui.table
|
, form = layui.form
|
, laydate = layui.laydate
|
, element = layui.element;
|
/*固定代码,每张单据都要begin*/
|
/* 1.无源单新增
|
* 2.有源单新增
|
* 3.编辑
|
* 4.浏览
|
* 5.变更
|
*/
|
//获取参数
|
function getUrlVars() {
|
var vars = [], hash;
|
var hashes = window.location.href.slice(window.location.href.indexOf('?') + 1).split('&');
|
for (var i = 0; i < hashes.length; i++) {
|
hash = hashes[i].split('=');
|
vars.push(hash[0]);
|
vars[hash[0]] = hash[1];
|
}
|
return vars;
|
}
|
var params = getUrlVars();
|
|
$("#HBillNo_bak").val(params[params[0]]);
|
$("#HProcNo").val(params[params[2]]);
|
$("#HPlanQty").val(params[params[3]]);
|
$("#HWorkProcID").val(params[params[4]]);
|
$("#HInterID").val(params[params[8]]);
|
|
var HProcExchBillNo = params[params[1]];
|
var HWorkProcID = params[params[4]];
|
var HMaterID = params[params[5]];
|
var HProcExchHinteID = params[params[6]];
|
|
if (typeof (params[params[0]]) == "undefined") {
|
var OperationType = 1;//操作类型
|
var closeType = 2; //关闭类型
|
} else if (params[params[0]] == 2) { //工序出站汇报单
|
var OperationType = params[params[0]];//操作类型
|
var HBillNo = params[params[1]];//源单单号
|
var HProcNo = params[params[2]];//流水号
|
|
var HBarCode = HBillNo;//条形码
|
var sProcNo = HProcNo;//流水号
|
|
if (HBarCode != "undefined" && sProcNo != "undefined") {
|
$("#HBarCode").val(HBarCode);
|
$('#HProcNo').val(sProcNo);
|
txtHBarCode_KeyDown(HBarCode);
|
txtHProcNo_KeyDown(HBarCode, sProcNo);
|
get_DisplayTech(HBillNo);
|
}
|
} else {
|
var OperationType = params[params[7]];//操作类型
|
var linterid = params[params[1]];//源单id
|
var HSouceBillType = params[params[2]];//源单类型
|
var HBillNo = params[params[3]]; //获取单据号
|
var closeType = params[params[4]]; //关闭类型
|
}
|
/*固定代码,每张单据都要begin*/
|
|
var option = [];
|
|
get_Display(HMaterID, HWorkProcID, HProcExchBillNo);
|
set_InitGrid();
|
|
//#region [头工具栏事件]
|
table.on('toolbar(mainTable)', function (obj) {
|
var checkStatus = table.checkStatus('mainTable')
|
, data = checkStatus.data;
|
//新增行表格数据
|
var NewRow = {
|
"HWorkEmpID": 0, "HWorkEmpNumber": "", "HWorkName": "", "HWorkSourceID ": 0, "HWorkSourceNumber": "", "HWorkSourceName": "",
|
"HQty": 0, "HRate": 0, "HProcPrice": 0, "HMoney": 0, "HWorkProcID": 0, "HWorkProcNumber": "", "HWorkProcName": ""
|
};
|
|
switch (obj.event) {
|
case 'btn-AddLine':
|
table.cache["mainTable"].push(NewRow);
|
option.data = table.cache["mainTable"];
|
table.render(option);
|
for (var i = 1; i <= option.data.length; i++) {
|
$('#HSupFlag' + i + '').find("option[value='" + option.data[i - 1].HSupFlag + "']").attr("selected", true);
|
}
|
form.render('select');
|
break;
|
case 'btn-CopyLine':
|
var copydata = JSON.stringify(data);
|
if (data.length <= 0) {
|
layer.msg("请选择需要复制的一行!");
|
}
|
else if (data.length > 1) {
|
layer.msg("只能选择复制一行!");
|
}
|
else {
|
var copydata2 = copydata.substring(1, copydata.length);//去除首行字符'['
|
var copyrow = copydata2.substring(0, copydata2.length - 1);//去除末尾字符']'
|
table.cache["mainTable"].push(JSON.parse(copyrow));//将复制的行强转成json追加到表格上
|
option.data = table.cache["mainTable"];//将数据绑定到data上
|
table.render(option);//将数据渲染到表格上
|
for (var i = 1; i <= option.data.length; i++) {
|
$('#HSupFlag' + i + '').find("option[value='" + option.data[i - 1].HSupFlag + "']").attr("selected", true);
|
}
|
form.render('select');
|
}
|
break;
|
}
|
});
|
//#endregion
|
|
//提交按钮
|
form.on('submit(Saver)', function (data) {
|
Saver(data);
|
});
|
|
//#region 退出按钮
|
form.on('submit(Cancel)', function () {
|
layer.confirm('您确定要退出吗?', { icon: 3, title: '提示' }, function (index) {
|
if (OperationType == 1) {
|
Pub_Close(1);
|
} else if (OperationType == 3) {
|
Pub_Close(1);
|
} else if (OperationType == 4) {
|
Pub_Close(1);
|
} else if (OperationType == 2) {
|
Pub_Close(1);
|
}
|
});
|
})
|
//#endregion
|
|
//#region [行内事件]
|
table.on('tool(mainTable)', function (obj) {
|
set_GridCellCheck(obj); //行内获取数据
|
|
var data = obj.data;
|
var rowIndex = $(obj.tr).attr("data-index");
|
if (obj.event === 'del') {
|
layer.confirm('真的删除行吗?', function (index) {
|
if (rowIndex === '0') {
|
layer.msg('首行无法删除!!!');
|
} else {
|
obj.del();
|
option.data = table.cache["mainTable"];//将数据绑定到data上
|
layer.close(index);
|
}
|
});
|
}
|
});
|
//#endregion
|
|
//监听单元格编辑 单元格编辑后 变更
|
table.on('edit(mainTable)', function (obj) {
|
var value = obj.value //得到修改后的值
|
, data = obj.data //得到所在行所有键值
|
, field = obj.field; //得到字段
|
switch (field) {
|
case 'HQty':
|
obj.update({
|
HMoney: obj.data.HProcPrice * obj.data.HQty //工资=工价 * 数量
|
});
|
break;
|
}
|
});
|
|
//初始化表格
|
function set_InitGrid() {
|
//表头
|
columns = [ //表头
|
//{ type: 'checkbox', totalRowText: '合计行' }
|
{ field: 'HMoney', title: '工资', width: 70 }
|
, { field: 'HWorkEmpID', title: '职员ID', width: 60, hide: true }
|
, { field: 'HWorkName', title: '职员', edit: 'text', event: "HWorkName" }
|
, { field: 'HRate', title: '职员系数', width: 60, hide: true }
|
, { field: 'HProcPrice', title: '工价', width: 60 }
|
, { field: 'HQty', title: '数量', width: 60, edit: 'text', event:'HQty',totalRow: true}
|
, { field: 'HWorkSourceID', title: '生产资源ID', width: 60, hide: true }
|
, { field: 'HWorkSourceName', title: '生产资源', width: 60 }
|
, { type: 'numbers', title: '序号', width: 50 }
|
|
//, { fixed: 'right', title: '操作', toolbar: '#barDemo' }
|
];
|
option = {
|
id: 'mainTable'
|
, elem: '#mainTable'
|
, toolbar: '#toolbarDemo'
|
, page: false
|
, cellMinWidth: 120
|
, height: 400
|
, cols: [columns]
|
//, totalRow: true
|
};
|
table.render(option);
|
}
|
|
//#region 加载表头
|
function get_Display(HMaterID, HWorkProcID, HProcExchBillNo) {
|
var ajaxLoad = layer.load();
|
$.ajax({
|
url: GetWEBURL() + "/Cj_StationOutBill_Detail/get_Display2",
|
type: "GET",
|
data: { "HMaterID": HMaterID, "HWorkProcID": HWorkProcID, "HProcExchBillNo": HProcExchBillNo },
|
success: function (result) {
|
if (result.code == 1) { // 说明验证成功了,
|
var data = result.data;
|
$("#HWorkProcName").val(result.data[0]["工序名称"]);
|
|
form.val("component-form-group", { //formTest 即 class="layui-form" 所在元素属性 lay-filter="" 对应的值
|
//"HWorkProcName": data.工序名称
|
//"HBillNo": data.单据号
|
//, "HDate": formatDate(data.日期)
|
});
|
|
//子表 赋值
|
var rowdata = [];
|
for (var i = 0; i < result.data.length; i++) {
|
rowdata.push(
|
{
|
"HWorkEmpID": 0, "HWorkEmpNumber": "", "HWorkName": "", "HWorkSourceID": data[i].生产资源ID, "HWorkSourceNumber": "", "HWorkSourceName": data[i].生产资源名称,
|
"HQty": 0, "HRate": 0, "HProcPrice": data[i].工价, "HMoney": 0, "HWorkProcID": 0, "HWorkProcNumber": "", "HWorkProcName": ""
|
}
|
)
|
}
|
option.data = rowdata;
|
table.render(option);
|
form.render('select');
|
|
layer.close(ajaxLoad);
|
} else {
|
layer.close(ajaxLoad);
|
layer.alert(result.Message, { icon: 5, btn: ['退出'], time: 100000, offset: 't' });
|
}
|
}, error: function () {
|
layer.close(ajaxLoad);
|
layer.alert("发生错误!", { icon: 5 });
|
}
|
});
|
}
|
//#endregion
|
|
//#region 提交方法
|
function Saver(data) {
|
var num = [];
|
var number = 0;
|
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])
|
number = parseInt(number) + parseInt(num[i].HQty);
|
}
|
}
|
|
if ($("#HPlanQty").val() < number) {
|
layer.msg("数量超出!");
|
return;
|
}
|
|
var sMainStr = JSON.stringify(data.field);
|
var sSubStr = JSON.stringify(num);
|
//var hentryid = linteridSub;//子表 排序id
|
var sMainSub = sMainStr + ';' + sSubStr + ';' + OperationType + ';' + sessionStorage["HUserName"];
|
|
$.ajax({
|
type: "POST",
|
url: GetWEBURL() + "Cj_StationOutBill/AddBill_Detail", //方法所在页面和方法名
|
async: true,
|
data: { "sMainSub": sMainSub },
|
dataType: "json",
|
success: function (data) {
|
if (data.count == 1) { // 说明验证成功了,
|
layer.msg(data.Message, { icon: 1 });
|
|
$('#add-btn').addClass("layui-btn-disabled").attr("disabled", true);
|
//保存后浏览
|
//ReRoadBillMain();
|
}
|
else {
|
layer.alert(data.Message, { icon: 5 });
|
}
|
layer.closeAll("loading");
|
},
|
error: function (err) {
|
layer.alert("错误:" + err, { icon: 5 });
|
console.log("Reason" + sMainStr);
|
}
|
});
|
}
|
//#endregion
|
|
function set_GridCellCheck(obj) {
|
var data = obj.data;
|
var employeeBar;
|
if (obj.event === 'HWorkName') {
|
$(obj.tr).find(".layui-table-edit").keyup(function () {
|
var $input = $(this), val = $input.val();
|
/*if (!val) val = "0";*/
|
//$input.val(val.replace(/[^\d]/g, ''));
|
employeeBar = val;//单元实时格数据
|
});
|
}
|
//回车/扫码 获取职员名称
|
$(document).on('keydown', '.layui-table-edit', function (event) {
|
if (event.keyCode == 13) {
|
var data = obj.data;
|
var index = layer.load();
|
$.ajax({
|
url: GetWEBURL() + "/Cj_StationBill/txtHBarCode_KeyDown2",
|
type: "GET",
|
async: false,
|
data: { "HBarCode": employeeBar, "HInterID": HProcExchHinteID, "UserID": sessionStorage["Czybm"], "HBillType": "Out" },
|
success: function (result) {
|
if (result.count == 1) {
|
$("#HPlanQty").focus();
|
obj.update({
|
"HWorkEmpID": result.data[0].HItemID,
|
"HWorkName": result.data[0].职员名称,
|
"HRate": result.data[0].职员系数
|
})
|
layer.close(index);
|
return;
|
}
|
else {
|
layer.close(index);
|
layer.msg(result.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: "温馨提示" });
|
}
|
});
|
|
setTimeout(function () {
|
|
}, 1000);
|
|
obj.event = "";
|
return false;
|
}
|
})
|
}
|
|
//以上为layui模块
|
});
|
</script>
|
</body>
|
</html>
|