$(function () {
|
page.init();
|
//$("#girdtable").on("click", ".subtrdel_js", function () {
|
// if ($(".grid").find(".body").length > 1) {
|
// if (confirm("确认删除该数据行吗??")) {
|
// $(this).closest('tr').remove();
|
// deleteMethod($(this).closest('tr'));
|
// }
|
// }
|
//});
|
});
|
|
var $loadUrl;
|
var page = {
|
init: function () {
|
page.initForm();
|
page.bind();
|
},
|
/*初始化表单*/
|
initForm: function () {
|
/*初始化表单*/
|
if (!!keyValue) {
|
$.ajax({
|
url: '/FormDesigner/FindFormData?keyValue=' + keyValue, async: false, cache: false, dataType: "json",
|
success: function (response) {
|
if (response.status === 1) {
|
// console.log("流程初始化表单:" + JSON.stringify(response.data.maindata));
|
if (response.data != null && response.data.maindata != undefined) {
|
$('#iform').FormRender(response.data);
|
$loadUrl = response.data.loadurl;//数据加载地址
|
} else {
|
layer.alert("无效的表单内容,请检查表单设计");
|
}
|
} else {
|
layer.alert(response.error);
|
}
|
},
|
complete: function () {
|
if (taskid !== '') {
|
page.loadInitData($loadUrl);
|
}
|
|
/*页面权限按钮*/
|
page.initAuthority();
|
|
/*重新装载页面业务Js*/
|
page.reLoadprofession();
|
}
|
});
|
}
|
},
|
|
reLoadprofession: function () {
|
/*业务JS装载*/
|
if (window.loadJsUrl != null && window.loadJsUrl != undefined && window.loadJsUrl !== '') {
|
$.getScript(window.loadJsUrl, function () {
|
if (window.initMethod != null && window.initMethod != undefined && window.initMethod !== '') {
|
eval(window.initMethod);
|
}
|
});
|
}
|
},
|
|
/*绑定事件和初始化控件*/
|
bind: function () {
|
$(".subtradd_js").on("click", function () {
|
var $row = createTabBody($children.columns, true);
|
$("#girdtable").append($row);
|
var nindex = $("#girdtable").find('tr[class="body"]').length;
|
$.each(window.authorize, function (index, obj) {
|
if (obj.Status === 0)//编辑
|
{
|
$("#girdtable").find('tr[class="body"]').eq(nindex-1).find("[name='" + obj.Field + "']").removeAttr("disabled").addClass("edit");
|
}
|
if (obj.Status === 1)//只读
|
{
|
$("#girdtable").find('tr[class="body"]').eq(nindex-1).find("[name='" + obj.Field + "']").attr("disabled", "disabled");
|
}
|
if (obj.Status === 2)//隐藏
|
{
|
if ($("#girdtable").find('tr[class="body"]').eq(nindex - 1).find("[name='" + obj.Field + "']").closest("td").length > 0) {
|
var $tdindex = $("#girdtable").find('tr[class="body"]').eq(nindex - 1).find("[name='" + obj.Field + "']").closest("td").index();//列索引
|
$('#girdtable').find('tr[class="body"]').eq(nindex - 1).find('td:eq("' + $tdindex + '")').hide();
|
}
|
}
|
});
|
setTimeout("initDateTime()", 500);
|
createMethod($row);
|
});
|
$("#girdtable").on("click", ".subtrdel_js", function () {
|
if ($(".grid").find(".body").length > 1) {
|
if (confirm("确认删除该数据行吗??")) {
|
$(this).closest('tr').remove();
|
deleteMethod($(this).closest('tr'));
|
}
|
}
|
});
|
},
|
|
/*数据权限加载*/
|
initAuthority: function () {
|
$.ajax({
|
url: '/WorkFlowRun/InitAuthority?flowid=' + flowid + '&taskid=' + taskid, async: false, cache: false, dataType: "json",
|
success: function (data) {
|
|
window.authorize = data.Permission.Authorize;
|
window.keyField = data.KeyField;
|
window.childKeyField = data.ChildKeyField;
|
window.IsFirstStep = data.IsFirstStep;
|
window.annexNumber = data.AnnexNumber;
|
window.StepId = data.StepId;
|
|
/*当前节点按钮*/
|
var $btnItems = data.Button;
|
|
if (data.HasBack && data.HistoryItems.length > 0) {
|
page.createHistoryOption(data.HistoryItems);
|
}
|
|
/*历史处理意见*/
|
var $annalItems = data.Opinion;//
|
if ($annalItems != null && $annalItems.length > 0) {
|
page.createOpinion($annalItems, $btnItems);
|
}
|
|
if ($btnItems.length > 0) {
|
/*控制显示隐藏*/
|
$.each(window.authorize, function (index, obj) {
|
if (obj.Status === 0) //编辑
|
{
|
$("[name='" + obj.Field + "']").removeAttr("disabled").addClass("edit");
|
}
|
if (obj.Status === 1) //只读
|
{
|
$("[name='" + obj.Field + "']").attr("disabled", "disabled");
|
}
|
if (obj.Status === 2) //隐藏
|
{
|
if ($("[name='" + obj.Field + "']").closest("td").length > 0) {
|
var $tdindex = $("[name='" + obj.Field + "']").closest("td").index(); //列索引
|
$('#girdtable tr').find('td:eq("' + $tdindex + '")').hide();
|
} else if ($("[name='" + obj.Field + "']").closest("div").length > 0) {
|
$("[name='" + obj.Field + "']").closest("div").parent().hide();
|
}
|
}
|
});
|
} else {
|
//add by yaozy 2019/6/12 判断权限列表是否为空
|
if (window.authorize != null) {
|
|
|
/*控制显示隐藏*/
|
$.each(window.authorize, function (index, obj) {
|
if (obj.Status === 2) //隐藏
|
{
|
if ($("[name='" + obj.Field + "']").closest("td").length > 0) {
|
var $tdindex = $("[name='" + obj.Field + "']").closest("td").index(); //列索引
|
$('#girdtable tr').find('td:eq("' + $tdindex + '")').hide();
|
} else if ($("[name='" + obj.Field + "']").closest("div").length > 0) {
|
$("[name='" + obj.Field + "']").closest("div").parent().hide();
|
}
|
}
|
});
|
}
|
var $tdindex = $(".subtradd_js").closest("td").index(); //列索引
|
$('#girdtable tr').find('td:eq("' + $tdindex + '")').hide();
|
}
|
page.createButton($btnItems);
|
if (window.IsFirstStep === false) {
|
var $tdindex = $(".subtradd_js").closest("td").index(); //列索引
|
$('#girdtable tr').find('td:eq("' + $tdindex + '")').hide();
|
}
|
}
|
});
|
},
|
|
/*页面按钮创建*/
|
createButton: function ($btnItems) {
|
var $row = $('<div style="position: fixed;left:0px; bottom: 0; padding-left: 0; padding-top: 8px; padding-right: 32px; height: 50px; border-top: 1px solid #e7ecf1; background-color: white; width: 100%; text-align: right;"></div>');
|
/*附件控件*/
|
$row.append(initannex());
|
if ($btnItems.length > 0) {
|
$.each($btnItems, function (index, obj) {
|
var $btn = $('<button class="' + obj.CssClass + '" onclick="' + obj.Script + '" title="" style=" margin-left: 4px;">' +
|
'<i class="' + obj.CssIcon + '"></i> ' + obj.Title + '</button>');
|
$row.append($btn);
|
});
|
}
|
$("#iform").append($row);
|
},
|
|
createHistoryOption: function ($annalItems) {
|
var $row = $('<div class="col-xs-12 col-sm-12 history" ></div>');
|
var $history = $('<div class="ibox float-e-margins cons" style="margin-bottom:0px;"></div>');
|
var $title = $('<div class="ibox-title"><div class="ibox-tools" style="height: 26px;"><a class="collapse-link" onclick="showremark(this);">历史意见<i class="fa fa-chevron-down" title="折叠/展开"></i></a> </div></div>');
|
$history.append($title);
|
var $panel = $('<div class="ibox-content clyj" onshow="0" style="display:none;"></div>');
|
var $content = $('<div class="row dtl" label="处理信息" key="SysCodeDtlList" name="SysCodeDtlList0" labtype="panel" islist="true" button="true"></div>');
|
var $table = $('<table class="table table-hover" border="1" style="border-collapse:collapse; border:1px solid #ddd;"></table>');
|
var $thead = $('<thead><tr><th style="width: 32px; text-align: center;">#</th>' +
|
'<th style="width: 98px; text-align: left;"> 步骤名称</th>' +
|
'<th style="width: 98px;text-align: left;"> 发送时间</th>' +
|
'<th style="width: 98px;text-align: left;"> 处理人</th>' +
|
'<th style="width: 98px;text-align: left;"> 完成时间</th>' +
|
'<th style="width: 98px;text-align: left;"> 处理结果</th>' +
|
'<th style="width: 128px;text-align: left;"> 处理意见</th>' +
|
'</tr></thead>');
|
$table.append($thead);
|
$table.append($thead);
|
var $tbody = $('<tbody></tbody>');
|
$.each($annalItems, function (index, obj) {
|
//console.log(obj.OrderBy);
|
var $trow = $('<tr><td style="width: 32px; text-align: center;"><i class="' + (obj.IsCurrent ? "t1" : "") + '">' + (obj.OrderBy) + '</i></td>' +
|
'<td style="width: 98px;text-align: left;">' + obj.StepName + '</td>' +
|
'<td style="width: 98px;text-align: left;">' + JsonDateToDate(obj.ReceiveTime).Format("yyyy-MM-dd HH:mm") + '</td>' +
|
'<td style="width: 98px;text-align: left;">' + (obj.DealName == null ? "" : obj.DealName) + '</td>' +
|
'<td style="width: 98px;text-align: left;">' + JsonDateToDate(obj.CompletedTime).Format("yyyy-MM-dd HH:mm") + '</td>' +
|
'<td style="width: 98px;text-align: left;">' + obj.ReviewStatus + '</td>' +
|
'<td style="width: 128px;text-align: left;">' + (obj.Comment === null ? "" : obj.Comment) + '</td>' +
|
'</tr>');
|
$tbody.append($trow);
|
});
|
$table.append($tbody);
|
$content.append($table);
|
$panel.append($content);
|
$history.append($panel);
|
$row.append($history);
|
$("#iform").append($row);
|
},
|
|
/*历史处理意见*/
|
createOpinion: function ($annalItems, $btnItems) {
|
var $row = $('<div class="col-xs-12 col-sm-12 opinion" ></div>');
|
var $title = $('<div class="ibox-title"><h5 style="text-align:center;">处理详情</h5></div>');
|
$row.append($title);
|
var $content = $('<div class="ibox-content" style="padding-bottom:30px;"></div>');
|
var $table = $('<table class="table table-hover" border="1" style="border-collapse:collapse; border:1px solid #ddd;"></table>');
|
var $thead = $('<thead><tr><th style="width: 32px; text-align: center;">#</th>' +
|
'<th style="width: 98px; text-align: left;"> 步骤名称</th>' +
|
'<th style="width: 98px;text-align: left;"> 发送时间</th>' +
|
'<th style="width: 98px;text-align: left;"> 处理人</th>' +
|
'<th style="width: 98px;text-align: left;"> 状态</th>' +
|
'<th style="width: 98px;text-align: left;"> 完成时间</th>' +
|
'<th style="width: 98px;text-align: left;"> 处理结果</th>' +
|
'<th style="width: 128px;text-align: left;"> 处理意见</th>' +
|
'</tr></thead>');
|
$table.append($thead);
|
var $tbody = $('<tbody></tbody>');
|
$.each($annalItems, function (index, obj) {
|
var $trow = $('<tr><td style="width: 32px; text-align: center;"><i class="' + (obj.IsCurrent ? "t1" : "") + '">' + (index + 1) + '</i></td>' +
|
'<td style="width: 98px;text-align: left;">' + obj.StepName + '</td>' +
|
'<td style="width: 98px;text-align: left;">' + (obj.ReceiveTime == null ? "" : obj.ReceiveTime) + '</td>' +
|
'<td style="width: 98px;text-align: left;">' + (obj.DealName == null ? "" : obj.DealName) + '</td>' +
|
'<td style="width: 98px;text-align: left;">' + obj.StepState + '</td>' +
|
'<td style="width: 98px;text-align: left;">' + (obj.CompletedTime == null ? "" : obj.CompletedTime) + '</td>' +
|
'<td style="width: 98px;text-align: left;">' + obj.ReviewStatus + '</td>' +
|
'<td style="width: 128px;text-align: left;">' + (obj.Comment === null ? "" : obj.Comment) + '</td>' +
|
'</tr>');
|
$tbody.append($trow);
|
});
|
$table.append($tbody);
|
$content.append($table);
|
if ($btnItems != null && $btnItems.length > 0 && window.IsFirstStep === false) {
|
var $verify = $('<div class="col-xs-12 col-sm-12"><label class="col-sm-2 col-md-2 control-label">处理意见</label>' +
|
'<div class="col-sm-10 col-md-10 form-group">' +
|
'<textarea class="form-control cl wf_remarks" isfixed="true" style="resize:none;height:150px;" maxlength="200" ></textarea>' +
|
'</div></div>');
|
$content.append($verify);
|
}
|
|
$row.append($content);
|
|
$("#iform").append($row);
|
},
|
|
/*获取数据*/
|
loadInitData: function ($url) {
|
$.ajax({
|
url: $url + "?sysid=" + sysid, async: false, cache: false, dataType: "json",
|
success: function (data) {
|
window.initItems = data;
|
window.childrenItems = data.Children;
|
var $data = data.Children;
|
for (var name in data) {
|
if (name !== "children") {
|
var $value = data[name];
|
if ($value != null && $value !== '') {
|
var $control = $(".main [field='" + name + "']");
|
var $controltype = $control.prop("tagName");
|
if ($controltype != null && $controltype !== '') {
|
var $type = $control.attr("type");
|
if ($type !== "radio" && $type !== "checkbox") {
|
$(".main [field='" + name + "']").val($value);
|
}
|
if ($type === "radio") {
|
$(".main [field='" + name + "'][value='" + $value + "']").attr("checked", "checked");
|
}
|
if ($type === "checkbox") {
|
var $items = $(".main [field='" + name + "']");
|
var $arr = $value.split(",");
|
$.each($items, function (index, obj) {
|
var value = $(obj).attr("value");
|
if (contains($arr, value))
|
$(obj).attr("checked", "checked");
|
});
|
}
|
}
|
}
|
}
|
}
|
if ($data != null && $data.length > 0) {
|
var $grid = $('<div class="col-xs-12 col-sm-12 grid" ></div>');
|
var $zrow = renderGirdtableByData($children, $data);
|
$grid.append($zrow);
|
$childTable = $children.columns[0].table;
|
$("#iform").append($grid);
|
}
|
}
|
});
|
}
|
};
|
|
initannex = function () {
|
var $annex = $('<div class="col-sm-3 col-md-3 form-group text-left annex" style="padding-left:18px;"></div>');
|
var $control = $("<button type=\"button\" id=\"fileUpload\" class=\"btn btn-success\" onclick=\"fileUpload('" + window.fileid + "', '" + $primaryTable + "');\"><i class=\"glyphicon glyphicon-open\"></i> 文件上传</button>");
|
if (window.IsFirstStep === false) {
|
$control = $("<button type=\"button\" id=\"viewUpload\" class=\"btn btn-success\" onclick=\"viewFile('" + window.fileid + "', '" + $primaryTable + "');\"><i class=\"glyphicon glyphicon-folder-open\"></i> 查看文件<em class=\"t1\">" + window.annexNumber + "</em></button>");
|
}
|
if (window.StepId == '03230afe-ae86-4d2e-a37d-592fb2f41f14') {
|
$control = $("<button type=\"button\" id=\"fileUpload\" class=\"btn btn-success\" onclick=\"fileUpload('" + window.fileid + "', '" + $primaryTable + "','true');\"><i class=\"glyphicon glyphicon-open\"></i> 文件上传</button>");
|
}
|
$annex.append($control);
|
return $annex;
|
}
|
|
deleteMethod = function (self) {
|
console.log("删除表格后的计算事件,请自己实现");
|
}
|
|
createMethod = function () {
|
console.log("创建表格后事件,请自己实现");
|
}
|
// 设置主表权限控制
|
setPowerMain = function () {
|
var $main = $("#iform .main");
|
/*控制显示隐藏*/
|
$.each(window.authorize, function (index, obj) {
|
if (obj.Status === 0) //编辑
|
{
|
$main.find("[name='" + obj.Field + "']").removeAttr("disabled").addClass("edit");
|
}
|
if (obj.Status === 1) //只读
|
{
|
$main.find("[name='" + obj.Field + "']").attr("disabled", "disabled");
|
}
|
if (obj.Status === 2) //隐藏
|
{
|
if ($main.find("[name='" + obj.Field + "']").closest("div").length > 0) {
|
$main.find("[name='" + obj.Field + "']").closest("div").parent().hide();
|
}
|
}
|
});
|
}
|
// 设置子表权限
|
setPowerChild = function () {
|
var $child = $("#iform #girdtable");
|
/*控制显示隐藏*/
|
$.each(window.authorize, function (index, obj) {
|
if (obj.Status === 0) //编辑
|
{
|
$child.find("[name='" + obj.Field + "']").removeAttr("disabled").addClass("edit");
|
}
|
if (obj.Status === 1) //只读
|
{
|
$child.find("[name='" + obj.Field + "']").attr("disabled", "disabled");
|
}
|
if (obj.Status === 2) //隐藏
|
{
|
if ($child.find("[name='" + obj.Field + "']").closest("td").length > 0) {
|
var $tdindex = $child.find("[name='" + obj.Field + "']").closest("td").index(); //列索引
|
$('#girdtable tr').find('td:eq("' + $tdindex + '")').hide();
|
}
|
}
|
});
|
}
|
|
$(document).on("keyup", "input[checkexpession='Num'],input[checkexpession='NumOrNull']", function () {
|
var val = $(this).val();
|
if (isNaN(val) && val != '-') {
|
$(this).val($(this).val().substring(0, $(this).val().length - 1));
|
}
|
else {
|
$(this).val($.trim($(this).val()));
|
}
|
|
});
|
|
//+---------------------------------------------------
|
//| Json格式日期转为 date对象
|
//| 格式 /Datexxxxx
|
//+---------------------------------------------------
|
function JsonDateToDate(jsondate) {
|
var date = new Date(parseInt(jsondate.replace("/Date(", "").replace(")/", ""), 10));
|
return date;
|
}
|
|
Date.prototype.Format = function (formatStr) {
|
var str = formatStr;
|
var Week = ['日', '一', '二', '三', '四', '五', '六'];
|
|
var mt = this.getMonth() + 1;
|
str = str.replace(/yyyy|YYYY/, this.getFullYear());
|
str = str.replace(/yy|YY/, (this.getYear() % 100) > 9 ? (this.getYear() % 100).toString() : '0' + (this.getYear() % 100));
|
str = str.replace(/MM/, mt > 9 ? mt : '0' + mt);
|
str = str.replace(/M/g, mt);
|
str = str.replace(/w|W/g, Week[this.getDay()]);
|
str = str.replace(/dd|DD/, this.getDate() > 9 ? this.getDate().toString() : '0' + this.getDate());
|
str = str.replace(/d|D/g, this.getDate());
|
str = str.replace(/hh|HH/, this.getHours() > 9 ? this.getHours().toString() : '0' + this.getHours());
|
str = str.replace(/h|H/g, this.getHours());
|
str = str.replace(/mm/, this.getMinutes() > 9 ? this.getMinutes().toString() : '0' + this.getMinutes());
|
str = str.replace(/m/g, this.getMinutes());
|
|
str = str.replace(/ss|SS/, this.getSeconds() > 9 ? this.getSeconds().toString() : '0' + this.getSeconds());
|
str = str.replace(/s|S/g, this.getSeconds());
|
return str;
|
}
|