<!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/PubCustom.js"></script>
|
<style>
|
.main-btn { /*头部主按钮*/
|
padding: 0 2px; /*调整按钮左右空隙大小*/
|
height: 30px;
|
line-height: 30px;
|
}
|
|
.btn-title {
|
font-size: 16px;
|
}
|
</style>
|
</head>
|
<body>
|
<div class="layui-fluid" style="padding: 0;">
|
<div class="layui-card" style="padding: 2px;background-color: #efefef;">
|
<div class="layui-card-body" style="padding: 1px;">
|
<form class="layui-form" action="" lay-filter="formData" style="background-color:white;">
|
<div style="padding: 10px;">
|
<button class="layui-btn layui-btn-normal" style="margin-left: 0px" type="button" lay-submit="" lay-filter="btnSave" id="btnSave">保存</button>
|
<button class="layui-btn layui-btn-normal" style="margin-left: 0px" type="button" lay-submit="" lay-filter="btnEdit" id="btnEdit">退出</button>
|
</div>
|
<div class="layui-tab" lay-filter="tab-POStockInBill">
|
<ul class="layui-tab-title" lay-filter="tab-all">
|
<li lay-id="1" style="padding:1px;" class="layui-this">基本信息</li>
|
</ul>
|
<div class="layui-tab-content">
|
<!--基本信息-->
|
<div class="layui-tab-item layui-show">
|
<div class="layui-form-item" style="padding-top: 10px;">
|
<div class="layui-row">
|
<div class="layui-inline">
|
<label class="layui-form-label" style="width: 85px;">流程名称:</label>
|
<div class="layui-input-block" style="margin-left: 120px;">
|
<input type="text" class="layui-input" name="HName" lay-verify="HName" id="HName" style="background-color:#efefef4d;" readonly>
|
<input type="hidden" name="HInterID" id="HInterID" lay-verify="HInterID">
|
</div>
|
</div>
|
<div class="layui-inline">
|
<label class="layui-form-label">单据类型</label>
|
<div class="layui-inline">
|
<select name="HBillTypeID" id="HBillTypeID" lay-filter="HBillTypeID" style="width:190px;">
|
<!--动态渲染-->
|
</select>
|
</div>
|
</div>
|
<div class="layui-inline">
|
<label class="layui-form-label" style="width: 85px;">部门</label>
|
<div class="layui-input-block" style="margin-left: 67px;">
|
<input type="text" class="layui-input" name="HDeptIDName" lay-verify="HDeptIDName" id="HDeptIDName" style="background-color:#efefef4d;width: 55%;margin-left:7px;display: inline-block;" readonly>
|
<input type="hidden" class="layui-input" name="HDeptID" lay-verify="HDeptID" id="HDeptID" value="0">
|
<button class="layui-btn layuiadmin-btn-order" type="button" lay-submit="" lay-filter="btnHDeptID" id="btnHDeptID" style="padding: 0 10px;float: right;margin-right: 3px;">
|
<i class="layui-icon layui-icon-search layuiadmin-button-btn"></i>
|
</button>
|
</div>
|
</div>
|
</div>
|
<div class="layui-row">
|
<div class="layui-inline" style="width: 56%;">
|
<label class="layui-form-label" style="width: 85px;">备注</label>
|
<div class="layui-input-block" style="margin-left: 120px;">
|
<input type="text" class="layui-input" name="HRemark" id="HRemark" lay-verify="HRemark" placeholder="请输入内容" onmouseover="this.title=this.value">
|
</div>
|
</div>
|
<div class="layui-inline">
|
<div class="layui-input-block" style="margin-left: 30px;">
|
<input type="checkbox" name="HStandard" id="HStandard" lay-skin="primary" lay-filter="HStandard" title="默认流程">
|
</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>
|
</form>
|
</div>
|
</div>
|
</div>
|
|
<script type="text/html" id="barDemo">
|
<!--<a class="layui-btn layui-btn-xs" lay-event="edit">编辑</a>-->
|
<a class="layui-btn layui-btn-danger layui-btn-xs" lay-event="del">删除</a>
|
</script>
|
<!--复选框 是否允许跳过-->
|
<script type="text/html" id="HJumpFlag">
|
<div class="layui-input-block" style="margin-left: 20px;">
|
<input type="checkbox" name="HJumpFlag" lay-filter="HJumpFlag" id="HJumpFlag{{d.LAY_TABLE_INDEX+1}}" lay-skin="primary">
|
</div>
|
</script>
|
<!--复选框 制单人自己-->
|
<script type="text/html" id="HMakerSelf">
|
<div class="layui-input-block" style="margin-left: 20px;">
|
<input type="checkbox" name="HMakerSelf" lay-filter="HMakerSelf" id="HMakerSelf{{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;
|
|
//#endregion
|
|
//#region 进入页面即加载
|
|
set_ClearBill();
|
|
var option = {
|
elem: '#mainTable'
|
, toolbar: '#toolbarDemo'
|
, limit: 500 //每页默认显示的数量
|
, cellMinWidth: 90
|
, height: 400
|
, cols: [[ //表头
|
{ type: 'checkbox', totalRowText: '合计行' }
|
, { type: 'numbers', title: '序号', totalRow: true }
|
, { field: 'HFlowNo', title: '流程号', edit: 'text' }
|
, { field: 'HCheckItemID', title: '审批项目ID', hide: true }
|
, { field: 'HCheckItemNumber', title: '审批项目代码', edit: 'text', event: "HCheckItemID" }
|
, { field: 'HCheckItemName', title: '审批项目名称' }
|
, { field: 'HJumpFlag', title: '是否允许跳过', templet: "#HJumpFlag" }
|
, { field: 'HMakerSelf', title: '制单人自己', templet: "#HMakerSelf" }
|
, { field: 'HCheckMan', title: '审核人', width: 115, edit: 'text' }
|
, { fixed: 'right', title: '操作', toolbar: '#barDemo' }
|
]]
|
};
|
//初始表格数据
|
var rowdata = [{
|
"HFlowNo": "", "HCheckItemID": 0, "HCheckItemNumber": "", "HCheckItemName": ""
|
, "HJumpFlag": false, "HMakerSelf": false, "HCheckMan": ""
|
}];
|
option.data = rowdata;
|
table.render(option);
|
|
var params = getUrlVars();
|
var linterid = params[params[0]]; //从参数中获取 数据类型 添加 保存
|
var OperationType = params[params[1]]; //从参数中获取 单据内码
|
|
//判断是否新增
|
if (linterid == null || linterid == 0) {
|
OperationType = 1;
|
$.ajax({
|
url: GetWEBURL() + "/Web/GetMAXNum",
|
type: "GET",
|
data: { "HBillType": '8803' },
|
success: function (d) {
|
//赋值
|
$("#HInterID").val(d.data[0].HInterID);
|
$("#HName").val(d.data[0].HBillNo);
|
}
|
});
|
}
|
else {//如果修改则走下面 new
|
|
RoadBillMain(linterid);
|
}
|
|
|
//判断是否登录 未登录则跳到登录页
|
//if (sessionStorage.login != "login") {
|
// layer.confirm("登录失效,请重新登录!", {
|
// icon: 4, skin: 'layui-layer-lan', title: "温馨提示", closeBtn: 0, btn: ['重新登录']
|
// }, function () { window.location.href = "../../../user/login.html"; });
|
//}
|
|
|
|
//#endregion
|
|
//#region 触发事件:包括form.on(){}格式的所有点击事件、选择事件等
|
|
//选择部门按钮
|
form.on('submit(btnHDeptID)', function () {
|
get_btnHDeptID();
|
});
|
|
//保存提交
|
form.on('submit(btnSave)', function (data) {//提交
|
//为空验证
|
if (AllowLoadData(data)) {
|
set_AddNew(data);
|
}
|
});
|
|
//退出
|
form.on('submit(btnEdit)', function () {
|
Pub_Close(1);
|
})
|
|
//是否默认流程
|
form.on('checkbox(HStandard)', function (data) {
|
$("#HStandard").val(data.elem.checked);
|
});
|
|
//是否允许跳过
|
form.on('checkbox(HJumpFlag)', 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.HJumpFlag = data.elem.checked;//把选中下拉框id值赋值给表格缓存
|
}
|
});
|
});
|
|
//制单人自己
|
form.on('checkbox(HMakerSelf)', 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.HMakerSelf = data.elem.checked;//把选中下拉框id值赋值给表格缓存
|
}
|
});
|
});
|
|
//#region 子表头部触发事件
|
//头工具栏事件
|
table.on('toolbar(mainTable)', function (obj) {
|
var checkStatus = table.checkStatus('mainTable')
|
, data = checkStatus.data;
|
//新增行表格数据
|
var NewRow = {
|
"HFlowNo": "", "HCheckItemID": 0, "HCheckItemNumber": "", "HCheckItemName": ""
|
, "HJumpFlag": false, "HMakerSelf": false, "HCheckMan": ""
|
};
|
switch (obj.event) {
|
case 'btn-AddLine':
|
table.cache["mainTable"].push(NewRow);
|
option.data = table.cache["mainTable"];
|
table.render(option);
|
|
//行数据 下拉框 复选框 显示
|
checkRefresh();
|
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);//将数据渲染到表格上
|
|
//行数据 下拉框 复选框 显示
|
checkRefresh();
|
}
|
break;
|
}
|
});
|
|
//行内事件
|
table.on('tool(mainTable)', function (obj) {
|
set_GridDelete(obj); //行内删除
|
set_GridCellCheck(obj); //行内快捷键筛选
|
});
|
|
//#endregion
|
|
//#endregion
|
|
//#region 此页面所有的方法
|
// 初始化界面
|
function set_ClearBill() {
|
HBillType();
|
}
|
|
//选择部门
|
function get_btnHDeptID() {
|
//打开部门小窗体
|
layer.open({
|
type: 2
|
, skin: "layui-layer-rim" //加上边框
|
, title: "供应商列表" //标题
|
, closeBtn: 1 //窗体右上角关闭 的 样式
|
, shift: 2 //弹出动画
|
, area: ["90%", "90%"] //窗体大小
|
, maxmin: true //设置最大最小按钮是否显示
|
, content: ["../../../Baseset/基础资料/Gy_DepartmentList.html", "yes"]
|
, btn: ["确定", "取消"]
|
, btn1: function (index, laero) {
|
//按钮一 的回调
|
var iframeWindow = window["layui-layer-iframe" + index];//获取弹框页面
|
var checkStatus = iframeWindow.layui.table.checkStatus("mainTable");//获取选中的数据
|
|
if (checkStatus.data.length != 1) {
|
return layer.msg("请选择一条数据");
|
}
|
//更新表格缓存的数据
|
$("#HDeptID").val(checkStatus.data[0].HItemID);
|
$("#HDeptIDName").val(checkStatus.data[0].HName);
|
layer.close(index);//关闭弹窗
|
}
|
})
|
}
|
|
//单据类型
|
function HBillType() {
|
//获取登录页组织列
|
var HBillType = '';
|
$.ajax({
|
type: "get",
|
url: GetWEBURL() + "/Xt_BillType/list",
|
async: false,
|
data: { "sWhere": "" },
|
success: function (result) {
|
if (result.count == 1) { // 说明验证成功了,
|
var data = result.data;
|
for (var i = 0; i < data.length; i++) {
|
HBillType += '<option style="color:blue;" value="' + data[i]["单据类型资料代码"] + '">' + data[i]["单据类型资料名称"] + '</option>';
|
}
|
|
$("#HBillTypeID").append(HBillType);
|
form.render('select');
|
}
|
layer.closeAll("loading");
|
}
|
})
|
}
|
|
//行内删除
|
function set_GridDelete(obj) {
|
var data = obj.data;
|
var rowIndex = $(obj.tr).attr("data-index");
|
if (obj.event === 'del') {
|
layer.confirm('真的删除行吗?', function (index) {
|
console.log("索引为:" + rowIndex);
|
if (rowIndex === '0') {
|
layer.msg('首行无法删除!!!');
|
} else {
|
obj.del();
|
option.data = table.cache["mainTable"];//将数据绑定到data上
|
table.reload(option);
|
layer.close(index);
|
}
|
});
|
}
|
}
|
|
//行内快捷键
|
function set_GridCellCheck(obj) {
|
$(document).off('keydown', ".layui-table-edit").on('keydown', '.layui-table-edit', function (e) {
|
if (event.key == "F7") {
|
if (obj.event == "HCheckItemID") {
|
//打开审批项目小窗体
|
layer.open({
|
type: 2
|
, skin: "layui-layer-rim" //加上边框
|
, title: "审批项目列表" //标题
|
, closeBtn: 1 //窗体右上角关闭 的 样式
|
, shift: 2 //弹出动画
|
, area: ["90%", "90%"] //窗体大小
|
, maxmin: true //设置最大最小按钮是否显示
|
, content: ["../../../系统管理/多级审批/审核项目/Xt_CheckItemList.html", "yes"]
|
, btn: ["确定", "取消"]
|
, btn1: function (index, laero) {
|
//按钮一 的回调
|
var iframeWindow = window["layui-layer-iframe" + index];//获取弹框页面
|
var checkStatus = iframeWindow.layui.table.checkStatus("mainTable");//获取选中的数据
|
|
if (checkStatus.data.length != 1) {
|
return layer.msg("请选择一条数据");
|
}
|
//更新表格缓存的数据
|
obj.update({
|
"HCheckItemName": checkStatus.data[0].审批项目名称
|
, "HCheckItemID": checkStatus.data[0].HItemID
|
, "HCheckItemNumber": checkStatus.data[0].审批项目代码
|
})
|
layer.close(index);//关闭弹窗
|
}
|
})
|
}
|
obj.event = "";
|
}
|
})
|
}
|
|
//多选 刷新表格
|
function checkRefresh() {
|
for (var i = 1; i <= option.data.length; i++) {
|
//是否允许跳过
|
if (option.data[i - 1].HJumpFlag) {
|
$('#HJumpFlag' + i + '').attr("checked", true);
|
}
|
|
//制单人自己
|
if (option.data[i - 1].HMakerSelf) {
|
$('#HMakerSelf' + i + '').attr("checked", true);
|
}
|
}
|
form.render('checkbox');
|
}
|
|
//保存数据
|
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["HStandard"]=$("")
|
var sMainStr = JSON.stringify(data.field);
|
var sSubStr = JSON.stringify(num);
|
var sMainSub = sMainStr + ';' + sSubStr + ';' + OperationType + ";" + sessionStorage["HUserName"];
|
var index = layer.load();
|
|
$.ajax({
|
type: "POST",
|
url: GetWEBURL() + "/Xt_CheckFlowBill/Xt_CheckFlowBillEdit",
|
async: true,
|
data: { "msg": sMainSub },
|
dataType: "json",
|
success: function (data) {
|
if (data.count == 1) {
|
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 RoadBillMain(linterid)//加载表头
|
{
|
var sWhere = "and Hmainid=" + linterid;
|
//查询审核项目设置是否存在
|
$.ajax({
|
url: GetWEBURL() + "/Xt_CheckFlowBill/Xt_CheckFlowBillList",
|
type: "GET",
|
data: { "sWhere": sWhere, "user": sessionStorage["HUserName"] },
|
success: function (d) {
|
if (d.code == 1) { // 说明验证成功了,
|
var data = d.data[0];
|
var HStandard = data["默认流程"];
|
//禁用标记
|
if (HStandard) {
|
$("input[name='HStandard']").attr("checked", true);
|
$("#HStandard").val(true);
|
}
|
form.render('checkbox');
|
|
//主表
|
form.val("formData", { //formTest 即 class="layui-form" 所在元素属性 lay-filter="" 对应的值
|
"HName": d.data[0].流程名称
|
, "HInterID": d.data[0].Hmainid
|
, "HBillTypeID": d.data[0].HBillTypeID
|
, "HDeptID": d.data[0].HDeptID
|
, "HDeptIDName": d.data[0].部门
|
, "HRemark": d.data[0].备注
|
});
|
|
//子表 赋值
|
var rowdata = [];
|
for (var i = 0; i < d.data.length; i++) {
|
rowdata.push(
|
{
|
"HFlowNo": d.data[i].流程号, "HCheckItemID": d.data[i].HCheckItemID, "HCheckItemNumber": d.data[i].HCheckItemNumber
|
, "HCheckItemName": d.data[i].HCheckItemName, "HJumpFlag": d.data[i].是否允许跳过 == 1 ? true : false
|
, "HMakerSelf": d.data[i].HMakerSelf == 1 ? true : false, "HCheckMan": d.data[i].HCheckMan
|
}
|
)
|
}
|
option.data = rowdata;
|
table.render(option);
|
|
for (var i = 0; i < d.data.length; i++) {
|
if (d.data[i].是否允许跳过) {
|
$('#HJumpFlag' + (i + 1)).attr("checked", true);
|
}
|
if (d.data[i].HMakerSelf) {
|
$('#HMakerSelf' + (i + 1)).attr("checked", true);
|
}
|
}
|
form.render('checkbox');
|
}
|
}
|
})
|
}
|
|
//验证
|
function AllowLoadData() {
|
|
if ($("#HDeptID").val() == "0") {
|
layer.msg("部门不能为空");
|
return false;
|
}
|
return true;
|
}
|
|
//获取参数
|
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;
|
}
|
//#endregion
|
});
|
</script>
|
</body>
|
</html>
|