修复bug

This commit is contained in:
yubaolee
2017-03-22 00:09:03 +08:00
parent 48d9062258
commit 9122bec093
76 changed files with 47794 additions and 47840 deletions

View File

@@ -1,75 +1,75 @@
using System;
using System.Configuration;
using System.IO;
using System.Web;
using System.Web.Mvc;
using Infrastructure;
using OpenAuth.Mvc.Controllers;
namespace OpenAuth.Mvc.Areas.FlowManage.Controllers
{
public class FileController : BaseController
{
[HttpPost]
public string Add(HttpPostedFileBase Filedata)
{
if (Filedata != null && Filedata.ContentLength > 0 && Filedata.ContentLength < 10485760)
{
using (var binaryReader = new BinaryReader(Filedata.InputStream))
{
var fileName = Path.GetFileName(Filedata.FileName);
var data = binaryReader.ReadBytes(Filedata.ContentLength);
var result = UploadFile(fileName, data, string.Empty);
Result.Result = result;
}
}
else
{
Result.Message = "文件过大";
Result.Status = false;
}
return JsonHelper.Instance.Serialize(Result);
}
private string UploadFile(string fileName, byte[] fileBuffers, string folder)
{
if (string.IsNullOrEmpty(folder))
{
folder = DateTime.Now.ToString("yyyy_MM_dd");
}
//判断文件是否为空
if (string.IsNullOrEmpty(fileName))
{
throw new Exception("文件名不能为空");
}
//判断文件是否为空
if (fileBuffers.Length < 1)
{
throw new Exception("文件不能为空");
}
var filePath =Server.MapPath("upload");
var uploadPath = filePath +"\\" + folder + "\\";
var ext = Path.GetExtension(fileName);
var newName = Guid.NewGuid().ToString("N") + ext;
if (!Directory.Exists(uploadPath))
{
Directory.CreateDirectory(uploadPath);
}
using (var fs = new FileStream(uploadPath + newName, FileMode.Create))
{
fs.Write(fileBuffers, 0, fileBuffers.Length);
fs.Close();
return folder + "/" + newName;
}
}
}
using System;
using System.Configuration;
using System.IO;
using System.Web;
using System.Web.Mvc;
using Infrastructure;
using OpenAuth.Mvc.Controllers;
namespace OpenAuth.Mvc.Areas.FlowManage.Controllers
{
public class FileController : BaseController
{
[HttpPost]
public string Add(HttpPostedFileBase Filedata)
{
if (Filedata != null && Filedata.ContentLength > 0 && Filedata.ContentLength < 10485760)
{
using (var binaryReader = new BinaryReader(Filedata.InputStream))
{
var fileName = Path.GetFileName(Filedata.FileName);
var data = binaryReader.ReadBytes(Filedata.ContentLength);
var result = UploadFile(fileName, data, string.Empty);
Result.Result = result;
}
}
else
{
Result.Message = "文件过大";
Result.Status = false;
}
return JsonHelper.Instance.Serialize(Result);
}
private string UploadFile(string fileName, byte[] fileBuffers, string folder)
{
if (string.IsNullOrEmpty(folder))
{
folder = DateTime.Now.ToString("yyyy_MM_dd");
}
//判断文件是否为空
if (string.IsNullOrEmpty(fileName))
{
throw new Exception("文件名不能为空");
}
//判断文件是否为空
if (fileBuffers.Length < 1)
{
throw new Exception("文件不能为空");
}
var filePath =Server.MapPath("upload");
var uploadPath = filePath +"\\" + folder + "\\";
var ext = Path.GetExtension(fileName);
var newName = Guid.NewGuid().ToString("N") + ext;
if (!Directory.Exists(uploadPath))
{
Directory.CreateDirectory(uploadPath);
}
using (var fs = new FileStream(uploadPath + newName, FileMode.Create))
{
fs.Write(fileBuffers, 0, fileBuffers.Length);
fs.Close();
return folder + "/" + newName;
}
}
}
}

View File

@@ -1,174 +1,174 @@
using System;
using System.Collections.Generic;
using System.Data;
using System.Web.Mvc;
using System.Web.UI.WebControls;
using Infrastructure;
using LeaRun.Util.WebControl;
using OpenAuth.App;
using OpenAuth.App.SSO;
using OpenAuth.App.ViewModel;
using OpenAuth.Domain;
using OpenAuth.Domain.Service;
using OpenAuth.Mvc.Controllers;
namespace OpenAuth.Mvc.Areas.FlowManage.Controllers
{
/// <summary>
/// 流程设计
/// <para>李玉宝新增于2017-01-12 19:41:56</para>
/// </summary>
public class FlowDesignController :BaseController
{
private WFSchemeService wfFlowInfoBLL;
private UserManagerApp userBLL;
public FlowDesignController()
{
wfFlowInfoBLL = AutofacExt.GetFromFac<WFSchemeService>();
userBLL = AutofacExt.GetFromFac<UserManagerApp>();
}
#region
/// <summary>
/// 管理
/// </summary>
/// <returns></returns>
[HttpGet]
public ActionResult Index()
{
return View();
}
/// <summary>
/// 预览
/// </summary>
/// <returns></returns>
[HttpGet]
public ActionResult PreviewIndex()
{
return View();
}
/// <summary>
/// 表单
/// </summary>
/// <returns></returns>
[HttpGet]
public ActionResult Form()
{
return View();
}
/// <summary>
/// 节点设置
/// </summary>
/// <returns></returns>
[HttpGet]
public ActionResult FlowNodeForm()
{
return View();
}
/// <summary>
/// 连接线设置
/// </summary>
/// <returns></returns>
[HttpGet]
public ActionResult FlowLineForm()
{
return View();
}
/// <summary>
/// 流程创建
/// </summary>
/// <returns></returns>
[HttpGet]
public ActionResult FlowSchemeBuider()
{
return View();
}
#endregion
#region
/// <summary>
/// 设置流程
/// </summary>
/// <param name="keyValue">主键</param>
/// <returns></returns>
[HttpGet]
public ActionResult GetFormJson(Guid keyValue)
{
var schemeinfo = wfFlowInfoBLL.GetEntity(keyValue);
var schemecontent = wfFlowInfoBLL.GetSchemeEntity(schemeinfo.Id, schemeinfo.SchemeVersion);
var JsonData = new
{
schemeinfo = schemeinfo,
schemecontent = schemecontent
};
return Content(JsonData.ToJson());
}
/// <summary>
/// 获取工作流流程模板内容
/// </summary>
/// <param name="keyValue"></param>
/// <param name="SchemeVersion"></param>
/// <returns></returns>
[HttpGet]
public ActionResult GetSchemeContentJson(Guid keyValue, string SchemeVersion)
{
var schemecontent = wfFlowInfoBLL.GetSchemeEntity(keyValue, SchemeVersion);
return Content(schemecontent.ToJson());
}
#endregion
#region
/// <summary>
/// 删除表单模板
/// </summary>
/// <param name="keyValue">主键值</param>
/// <returns></returns>
[HttpPost]
public string RemoveForm(Guid[] ids)
{
wfFlowInfoBLL.RemoveForm(ids);
return Result.ToJson();
}
/// <summary>
/// 保存用户表单(新增、修改)
/// </summary>
/// <param name="keyValue">主键值</param>
/// <param name="userEntity">用户实体</param>
/// <returns></returns>
[HttpPost]
public string SaveForm(string keyValue, string InfoEntity, string ContentEntity, string shcemeAuthorizeData)
{
WFSchemeInfo entyity = InfoEntity.ToObject<WFSchemeInfo>();
WFSchemeContent contententity = ContentEntity.ToObject<WFSchemeContent>();
wfFlowInfoBLL.SaveForm(keyValue, entyity, contententity);
return Result.ToJson();
}
/// <summary>
/// (启用、禁用)
/// </summary>
/// <param name="keyValue">主键值</param>
/// <param name="State">状态1-启动0-禁用</param>
/// <returns></returns>
[HttpPost]
public ActionResult SubmitUpdateState(string keyValue, int State)
{
wfFlowInfoBLL.UpdateState(keyValue, State);
return Content("操作成功。");
}
public string Load(int pageCurrent = 1, int pageSize = 30)
{
return JsonHelper.Instance.Serialize(wfFlowInfoBLL.Load(pageCurrent, pageSize));
}
#endregion
}
}
using System;
using System.Collections.Generic;
using System.Data;
using System.Web.Mvc;
using System.Web.UI.WebControls;
using Infrastructure;
using LeaRun.Util.WebControl;
using OpenAuth.App;
using OpenAuth.App.SSO;
using OpenAuth.App.ViewModel;
using OpenAuth.Domain;
using OpenAuth.Domain.Service;
using OpenAuth.Mvc.Controllers;
namespace OpenAuth.Mvc.Areas.FlowManage.Controllers
{
/// <summary>
/// 流程设计
/// <para>李玉宝新增于2017-01-12 19:41:56</para>
/// </summary>
public class FlowDesignController :BaseController
{
private WFSchemeService wfFlowInfoBLL;
private UserManagerApp userBLL;
public FlowDesignController()
{
wfFlowInfoBLL = AutofacExt.GetFromFac<WFSchemeService>();
userBLL = AutofacExt.GetFromFac<UserManagerApp>();
}
#region
/// <summary>
/// 管理
/// </summary>
/// <returns></returns>
[HttpGet]
public ActionResult Index()
{
return View();
}
/// <summary>
/// 预览
/// </summary>
/// <returns></returns>
[HttpGet]
public ActionResult PreviewIndex()
{
return View();
}
/// <summary>
/// 表单
/// </summary>
/// <returns></returns>
[HttpGet]
public ActionResult Form()
{
return View();
}
/// <summary>
/// 节点设置
/// </summary>
/// <returns></returns>
[HttpGet]
public ActionResult FlowNodeForm()
{
return View();
}
/// <summary>
/// 连接线设置
/// </summary>
/// <returns></returns>
[HttpGet]
public ActionResult FlowLineForm()
{
return View();
}
/// <summary>
/// 流程创建
/// </summary>
/// <returns></returns>
[HttpGet]
public ActionResult FlowSchemeBuider()
{
return View();
}
#endregion
#region
/// <summary>
/// 设置流程
/// </summary>
/// <param name="keyValue">主键</param>
/// <returns></returns>
[HttpGet]
public ActionResult GetFormJson(Guid keyValue)
{
var schemeinfo = wfFlowInfoBLL.GetEntity(keyValue);
var schemecontent = wfFlowInfoBLL.GetSchemeEntity(schemeinfo.Id, schemeinfo.SchemeVersion);
var JsonData = new
{
schemeinfo = schemeinfo,
schemecontent = schemecontent
};
return Content(JsonData.ToJson());
}
/// <summary>
/// 获取工作流流程模板内容
/// </summary>
/// <param name="keyValue"></param>
/// <param name="SchemeVersion"></param>
/// <returns></returns>
[HttpGet]
public ActionResult GetSchemeContentJson(Guid keyValue, string SchemeVersion)
{
var schemecontent = wfFlowInfoBLL.GetSchemeEntity(keyValue, SchemeVersion);
return Content(schemecontent.ToJson());
}
#endregion
#region
/// <summary>
/// 删除表单模板
/// </summary>
/// <param name="keyValue">主键值</param>
/// <returns></returns>
[HttpPost]
public string RemoveForm(Guid[] ids)
{
wfFlowInfoBLL.RemoveForm(ids);
return Result.ToJson();
}
/// <summary>
/// 保存用户表单(新增、修改)
/// </summary>
/// <param name="keyValue">主键值</param>
/// <param name="userEntity">用户实体</param>
/// <returns></returns>
[HttpPost]
public string SaveForm(string keyValue, string InfoEntity, string ContentEntity, string shcemeAuthorizeData)
{
WFSchemeInfo entyity = InfoEntity.ToObject<WFSchemeInfo>();
WFSchemeContent contententity = ContentEntity.ToObject<WFSchemeContent>();
wfFlowInfoBLL.SaveForm(keyValue, entyity, contententity);
return Result.ToJson();
}
/// <summary>
/// (启用、禁用)
/// </summary>
/// <param name="keyValue">主键值</param>
/// <param name="State">状态1-启动0-禁用</param>
/// <returns></returns>
[HttpPost]
public ActionResult SubmitUpdateState(string keyValue, int State)
{
wfFlowInfoBLL.UpdateState(keyValue, State);
return Content("操作成功。");
}
public string Load(int pageCurrent = 1, int pageSize = 30)
{
return JsonHelper.Instance.Serialize(wfFlowInfoBLL.Load(pageCurrent, pageSize));
}
#endregion
}
}

View File

@@ -6,7 +6,6 @@ using LeaRun.Util.WebControl;
using OpenAuth.App;
using OpenAuth.App.SSO;
using OpenAuth.Domain;
using OpenAuth.Domain.Service;
using OpenAuth.Mvc.Controllers;
namespace OpenAuth.Mvc.Areas.FlowManage.Controllers
@@ -60,7 +59,7 @@ namespace OpenAuth.Mvc.Areas.FlowManage.Controllers
}
/// <summary>
/// 表单树
/// 返回表单列表树
/// </summary>
/// <param name="keyword">关键字</param>
/// <returns>返回树形Json</returns>
@@ -71,17 +70,19 @@ namespace OpenAuth.Mvc.Areas.FlowManage.Controllers
var treeList = new List<TreeEntity>();
foreach (var item in data)
{
TreeEntity tree = new TreeEntity();
TreeEntity tree = new TreeEntity
{
id = item.Id.ToString(),
text = item.FrmName,
value = item.Id.ToString(),
isexpand = true,
complete = true,
hasChildren = false,
parentId = "0",
Attribute = "Sort",
AttributeValue = "Frm"
};
tree.id = item.Id.ToString();
tree.text = item.FrmName;
tree.value = item.Id.ToString();
tree.isexpand = true;
tree.complete = true;
tree.hasChildren = false;
tree.parentId = "0";
tree.Attribute = "Sort";
tree.AttributeValue = "Frm";
treeList.Add(tree);
}
return Content(treeList.TreeToJson());
@@ -145,53 +146,6 @@ namespace OpenAuth.Mvc.Areas.FlowManage.Controllers
}
return Result.ToJson();
}
///// <summary>
///// 上传文件
///// </summary>
///// <param name="folderId">文件夹Id</param>
///// <param name="Filedata">文件对象</param>
///// <returns></returns>
//[HttpPost]
//public ActionResult UploadifyFile(string folderId, HttpPostedFileBase Filedata)
//{
// try
// {
// if (string.IsNullOrEmpty(folderId))
// {
// return Success("虚拟上传文件成功。");
// }
// Thread.Sleep(500);////延迟500毫秒
// //没有文件上传,直接返回
// if (Filedata == null || string.IsNullOrEmpty(Filedata.FileName) || Filedata.ContentLength == 0)
// {
// return HttpNotFound();
// }
// //获取文件完整文件名(包含绝对路径)
// //文件存放路径格式:/Resource/ResourceFile/{userId}{data}/{guid}.{后缀名}
// string userId = OperatorProvider.Provider.Current().UserId;
// string fileGuid = Guid.NewGuid().ToString();
// long filesize = Filedata.ContentLength;
// string FileEextension = Path.GetExtension(Filedata.FileName);
// string uploadDate = DateTime.Now.ToString("yyyyMMdd");
// string virtualPath = string.Format("~/Resource/DocumentFile/{0}/{1}/{2}{3}", userId, uploadDate, fileGuid, FileEextension);
// string fullFileName = this.Server.MapPath(virtualPath);
// //创建文件夹
// string path = Path.GetDirectoryName(fullFileName);
// Directory.CreateDirectory(path);
// if (!System.IO.File.Exists(fullFileName))
// {
// //保存文件
// Filedata.SaveAs(fullFileName);
// }
// return Success("上传成功。");
// }
// catch (Exception ex)
// {
// return Content(ex.Message);
// }
//}
#endregion
}
}

View File

@@ -1,429 +1,429 @@
@{
ViewBag.Title = "工作流节点设置";
Layout = "~/Views/Shared/_Form.cshtml";
}
<link href="~/Content/styles/ckbox-radio.css" rel="stylesheet" />
<link href="~/Content/styles/flow.css" rel="stylesheet" />
<script>
var node, nodelist = [], frmContentJson, frmType, NodePramData;
$(function () {
initLoadPageData();
initControl();
})
function initLoadPageData()
{
var _FlowDesignObject = parent.FlowDesignObject;
node = _FlowDesignObject.$nodeData[_FlowDesignObject.$focus];
node.id = _FlowDesignObject.$focus;
for (var i in _FlowDesignObject.$nodeData) {
_FlowDesignObject.$nodeData[i]["id"] = i;
nodelist.push(_FlowDesignObject.$nodeData[i]);
}
frmContentJson = JSON.parse(parent.frmData["FrmContent"]);
initFrmCotent(frmContentJson);
}
//初始化控件
function initControl() {
GetDesignateMemberTree();
$('.systemdatabase').hide();
if (node.type != "confluencenode")//是否会签节点
{
$('#confluencenode').hide();
}
$('#NodeName').val(node.name);
//由谁执行
//var dd = $("#NodeMake").ComboBox({
// data: [{ "key": 0, "value": "操作执行人员" }, { "key": 1, "value": "系统执行" }],
// id: "key",
// text: "value"
//}).ComboBoxSetValue(0);
//表单
$("#NodeFrm").ComboBox({
url: "../../FlowManage/FormDesign/GetAllListJson",
id: "frmmainid",
text: "frmname",
description: "==请选择==",
allowSearch: true
});
//驳回类型
$("#NodeRejectType").ComboBox({
data: [{ "key": 0, "value": "前一步" }, { "key": 1, "value": "第一步" }, { "key": 2, "value": "某一步" }, { "key": 3, "value": "用户指定" }, { "key": 4, "value": "不处理" }],
id: "key",
text: "value"
}).bind("change", function () {
var _value = $(this).attr('data-value');
var _comdata = [];
if (_value == 2) {
_comdata = nodelist;
}
//驳回到某一步
$("#NodeRejectStep").ComboBox({
data: _comdata,
id: "id",
text: "name"
});
}).ComboBoxSetValue(0);
//驳回到某一步
$("#NodeRejectStep").ComboBox({
description: "==请选择==",
allowSearch: true,
height: "110px",
});
//会签策略
$("#NodeConfluenceType").ComboBox({
data: [{ "key": 0, "value": "所有步骤通过" }, { "key": 1, "value": "一个步骤通过即可" }, { "key": 2, "value": "按百分比计算" }],
id: "key",
text: "value",
description: "==请选择==",
});
//处理者
$("input[name='NodeDesignateTypename']").click(function () {
var id = $(this).attr('id');
if (id == 'NodeDesignateType2') {
$("#Treebackground").hide();
} else {
$("#Treebackground").show();
}
});
if (node.setInfo != undefined)
{
var _NodeCode = $('#NodeCode').val();
node.setInfo.NodeCode = node.setInfo.NodeCode == "" ? _NodeCode : node.setInfo.NodeCode;
$("#BaseInfo").SetWebControls(node.setInfo);
$('#NodeDataBase').trigger('change');
$('#NodeTable').ComboBoxSetValue(node.setInfo.NodeTable);
$('#NodeTable').trigger('change');
$('#NodePram').ComboBoxSetValue(node.setInfo.NodePram);
$("#" + node.setInfo.NodeDesignate).trigger("click");
if (node.setInfo.NodeDesignate == "NodeDesignateType2")
{
$("#Role").setCheckedNodes(node.setInfo.NodeDesignateData.role);
$("#Post").setCheckedNodes(node.setInfo.NodeDesignateData.post);
$("#UserGroup").setCheckedNodes(node.setInfo.NodeDesignateData.usergroup);
$("#User").setCheckedNodes(node.setInfo.NodeDesignateData.user);
}
$.each(node.setInfo.frmPermissionInfo, function (i, item) {
if (item.look) {
$('#PermissionInfo').find('#frm_' + item.fieldid).attr("checked", "checked");
}
else {
$('#PermissionInfo').find('#frm_' + item.fieldid).removeAttr("checked");
}
if (item.down != undefined)
{
if (item.down) {
$('#PermissionInfo').find('#frmx_' + item.fieldid).attr("checked", "checked");
}
else {
$('#PermissionInfo').find('#frmx_' + item.fieldid).removeAttr("checked");
}
}
});
}
}
function initLoadSysTemTable()
{
//数据库选择
var _NodeDb = "";
$("#NodeDataBase").ComboBoxTree({
description: "==请选择库==",
height: "150px",
url: "../../SystemManage/DataBaseLink/GetTreeJson",
allowSearch: true
}).bind("change", function () {
var value = $(this).attr('data-value');
_NodeDb = value;
//数据表
$("#NodeTable").ComboBox({
param: { dataBaseLinkId: value },
url: "../../SystemManage/DataBaseTable/GetTableListJson",
id: "name",
text: "name"
});
});
//数据表
$("#NodeTable").ComboBox({
description: "==请选择表==",
height: "140px",
allowSearch: true
}).bind("change", function () {
var value = $(this).attr('data-value');
var tablefiledJsonData = [];
$.ajax({
url: "../../SystemManage/DataBaseTable/GetTableFiledListJson",
data: { dataBaseLinkId: _NodeDb, tableName: value },
type: "GET",
dataType: "json",
async: false,
success: function (data) {
tablefiledJsonData = data;
$.each(tablefiledJsonData, function (id, item) {
item.remark = item.column + "【" + item.remark + "】";
});
NodePramData = tablefiledJsonData;
//数据表
$("#NodePram").ComboBox({
data: tablefiledJsonData,
id: "column",
text: "remark"
});
},
error: function (XMLHttpRequest, textStatus, errorThrown) {
dialogMsg(errorThrown, -1);
}
});
});
$("#NodePram").ComboBox({
description: "==请选择字段==",
height: "140px",
allowSearch: true
});
}
function GetTree(authtype) {
this.$authtype = authtype;
var data = $.arrayClone(parent.AllAuthorizeCheckData[$authtype]);
var item = {
height: 262,
showcheck: true,
data: data,
oncheckboxclick: function (item, et, s) {
var $item = $("#" + item.mytype + "Div");
if (et == 1) {
var mytype = "";
var _html = "";
var _title = '';
switch (item.mytype) {
case "Role":
mytype = 'label-success';
break;
case "Post":
mytype = 'label-info';
break;
case "UserGroup":
mytype = 'label-warning';
break;
case "User":
mytype = 'label-danger';
break;
}
_html += '<span id="' + item.id + '" data-value="' + item.mytype + '" class="flow-card-box label ' + mytype + ' ">' + item.text + '<i class="fa fa-close"></i></span>';
$item.append(_html);
$item.show();
$(".flow-card-box").click(function () {
$(this).remove();
$('#' + $(this).attr('data-value')).setNoCheckedNodes($(this).attr('id'));
if ($item.find('.flow-card-box').length == 0) {
$item.hide();
}
})
}
else if (et == 0) {
$item.find('#' + item.id).remove();
if ($item.find('.flow-card-box').length == 0) {
$item.hide();
}
}
}
};
$("#" + authtype).treeview(item);
}
function GetDesignateMemberTree()
{
//GetTree('Role');
//GetTree('Post');
//GetTree('UserGroup');
GetTree('User');
}
function initFrmCotent(data)
{
$.each(data, function (i, item) {
var rowdata = '<tr><td><i class="fa fa-star"></i></td><td>' + item.control_label + '</td><td>';
if (item.control_type == 'image' || item.control_type == 'upload')
{
rowdata += '<div class="ckbox ckbox-color_a"><input id="frmx_' + item.control_field + '" value="'+ item.control_field +'" type="checkbox" checked><label for="frmx_' + item.control_field + '">下载</label></div>';
}
rowdata += '<div class="ckbox ckbox-color_a"><input id="frm_' + item.control_field + '" value="'+ item.control_field +'" type="checkbox" checked><label for="frm_' + item.control_field + '">查看</label></div>';
rowdata += '</td></tr>';
$('#PermissionInfo').find('table').append(rowdata);
});
}
//保存字段设置
function AcceptClick() {
if (!$('#BaseInfo').Validform()) {
return false;
}
var baseinfo = $("#BaseInfo").GetWebControls();
baseinfo["NodeDesignate"] = $('.bottomline').find('input:checked').attr("id");
if (baseinfo["NodeDesignate"] == 'NodeDesignateType2') {
var _Designate = {};
_Designate["role"] = $("#Role").getCheckedAllNodes();
_Designate["post"] = $("#Post").getCheckedAllNodes();
_Designate["usergroup"] = $("#UserGroup").getCheckedAllNodes();
_Designate["user"] = $("#User").getCheckedAllNodes();
baseinfo["NodeDesignateData"] = _Designate;
}
var _PermissionInfo = [];
$.each($('#PermissionInfo').find('tr'),function(i,item){
var _ck = $(item).find('input');
var _point = {};
$.each(_ck,function(j,d){
_point["fieldid"] = $(d).val();
if($(d).attr("id").indexOf("frmx_") == -1)
{
_point["look"] = $(d)[0].checked;
}
else
{
_point["down"] = $(d)[0].checked;
}
});
_PermissionInfo.push(_point);
});
baseinfo["frmPermissionInfo"] = _PermissionInfo;
var sqlinfo = $("#SQLInfo").GetWebControls();
baseinfo = $.extend(baseinfo, sqlinfo);
parent.callBackNode(node.id, baseinfo, NodePramData);
}
</script>
<ul class="nav nav-tabs">
<li class="active"><a href="#BaseInfo" data-toggle="tab">基本配置</a></li>
<li><a href="#MakerInfo" data-toggle="tab">审核者</a></li>
<li><a href="#PermissionInfo" data-toggle="tab">权限分配</a></li>
@*<li><a href="#SQLInfo" data-toggle="tab">节点通过后执行SQL</a></li>*@
</ul>
<div class="tab-content">
<div id="BaseInfo" class="tab-pane active" style="padding-top:15px;padding-right:30px;">
<table class="form">
<tr>
<td class="formTitle">节点标识</td>
<td class="formValue">
<input id="NodeCode" type="text" class="form-control" value="@Guid.NewGuid().ToString()" disabled isvalid="yes" checkexpession="NotNull" />
</td>
<td class="formTitle">节点名称<font face="宋体">*</font></td>
<td class="formValue">
<input id="NodeName" type="text" class="form-control" isvalid="yes" checkexpession="NotNull" />
</td>
</tr>
<tr class="systemdatabase">
<td class="formTitle">绑定表名<font face="宋体">*</font></td>
<td class="formValue">
<div id="NodeDataBase" style="float:left;width:128px;" type="selectTree" class="ui-select" ></div>
<div id="NodeTable" style="float:right;width:128px;" type="select" class="ui-select" ></div>
</td>
<td class="formTitle">绑定字段<font face="宋体">*</font></td>
<td class="formValue">
<div id="NodePram" type="select" class="ui-select"></div>
</td>
</tr>
<tr>
<td class="formTitle">驳回类型<font face="宋体">*</font></td>
<td class="formValue">
<div id="NodeRejectType" type="select" class="ui-select" isvalid="yes" checkexpession="NotNull"></div>
</td>
<td class="formTitle">驳回步骤</td>
<td class="formValue">
<div id="NodeRejectStep" type="select" class="ui-select"></div>
</td>
</tr>
<tr>
@*<td class="formTitle">由谁执行<font face="宋体">*</font></td>
<td class="formValue">
<div id="NodeMake" type="select" class="ui-select" isvalid="yes" checkexpession="NotNull"></div>
</td>*@
<td class="formTitle">选项</td>
<td class="formValue">
<div class="ckbox ckbox-color_a"><input id="NodeIsOver" type="checkbox" /><label for="NodeIsOver">是否允许终止流程</label></div>
</td>
</tr>
<tr id="confluencenode">
<td class="formTitle">会签策略<font face="宋体">*</font></td>
<td class="formValue">
<div id="NodeConfluenceType" type="select" class="ui-select"></div>
</td>
<td class="formTitle">会签比例</td>
<td class="formValue">
<input id="NodeConfluenceRate" type="text" class="form-control" value="100" />
</td>
</tr>
<tr>
<th class="formTitle">
备注
</th>
<td class="formValue" colspan="3">
<textarea id="Description" class="form-control" style="height: 80px;"></textarea>
</td>
</tr>
</table>
</div>
<div id="MakerInfo" class="tab-pane">
<div class="bottomline">
<div class="rdio rdio-color_a"><input name="NodeDesignateTypename" id="NodeDesignateType1" type="radio" checked /><label for="NodeDesignateType1">所有成员</label></div>
<div class="rdio rdio-color_a"><input name="NodeDesignateTypename" id="NodeDesignateType2" type="radio" /><label for="NodeDesignateType2">指定成员</label></div>
@*<div class="rdio rdio-color_a"><input name="NodeDesignateTypename" id="NodeDesignateType3" type="radio" /><label for="NodeDesignateType3">发起者领导</label></div>
<div class="rdio rdio-color_a"><input name="NodeDesignateTypename" id="NodeDesignateType4" type="radio" /><label for="NodeDesignateType4">前一步骤领导</label></div>
<div class="rdio rdio-color_a"><input name="NodeDesignateTypename" id="NodeDesignateType5" type="radio" /><label for="NodeDesignateType5">发起者部门领导</label></div>
<div class="rdio rdio-color_a"><input name="NodeDesignateTypename" id="NodeDesignateType6" type="radio" /><label for="NodeDesignateType6">发起者公司领导</label></div>*@
</div>
<div id="DesignateMember" >
<div class="standtabborder" style="height: 262px;">
<div class="standtab standtabactived" onclick="$.standTabchange(this, 'Role')">
角色
</div>
<div class="standtab " onclick="$.standTabchange(this, 'User')">
用户
</div>
</div>
<div id="Role" class="standtab-pane"></div>
<div id="Post" style="display: none;" class="standtab-pane"></div>
<div id="UserGroup" style="display: none;" class="standtab-pane"></div>
<div id="User" style="display: none;" class="standtab-pane"></div>
<div style="margin: 0px; border-right: none; border-left: none; border-bottom: none; background-color: #fff; overflow: auto; padding-bottom: 10px;height:262px;">
<div id="RoleDiv" class="flow-portal-panel">
<div class="flow-portal-panel-title"><i class="fa fa-paw"></i>&nbsp;&nbsp;角色</div>
</div>
<div id="PostDiv" class="flow-portal-panel">
<div class="flow-portal-panel-title"><i class="fa fa-graduation-cap"></i>&nbsp;&nbsp;岗位</div>
</div>
<div id="UserGroupDiv" class="flow-portal-panel">
<div class="flow-portal-panel-title"><i class="fa fa-group"></i>&nbsp;&nbsp;用户组</div>
</div>
<div id="UserDiv" class="flow-portal-panel">
<div class="flow-portal-panel-title"><i class="fa fa-user"></i>&nbsp;&nbsp;用户</div>
</div>
</div>
<div id="Treebackground" style="position: fixed; top: 87px; left: 0px; z-index: 2; width: 750px; height: 262px; background: #000; filter: alpha(opacity=10); opacity: 0.1;"></div>
</div>
</div>
<div id="PermissionInfo" class="tab-pane" style="overflow-y:auto;">
<div style="line-height:45px;padding-left:10px;color: #666; font-weight: 300;font-size: 16px;">
<i class="fa fa-tags"></i>&nbsp;&nbsp;表单权限配置(默认都是勾选的)
</div>
<div style="overflow-y:auto;height:261px;">
<table class="table flow-table-Permission"></table>
</div>
</div>
<div id="SQLInfo" class="tab-pane">
<div style="padding:10px;">
<div id="NodeDataBaseToSQL" style="margin-bottom:10px;" type="selectTree" class="ui-select"></div>
<textarea id="NodeSQL" class="form-control" placeholder="请在此处填写需要执行的SQL语句,用{0}表示流程实例的主键Id!" style="height: 240px;"></textarea>
</div>
</div>
</div>
<style>
.standtab-pane {
width:224px;
border-right:1px solid #ccc;
float:left;
}
</style>
@{
ViewBag.Title = "工作流节点设置";
Layout = "~/Views/Shared/_Form.cshtml";
}
<link href="~/Content/styles/ckbox-radio.css" rel="stylesheet" />
<link href="~/Content/styles/flow.css" rel="stylesheet" />
<script>
var node, nodelist = [], frmContentJson, frmType, NodePramData;
$(function () {
initLoadPageData();
initControl();
})
function initLoadPageData()
{
var _FlowDesignObject = parent.FlowDesignObject;
node = _FlowDesignObject.$nodeData[_FlowDesignObject.$focus];
node.id = _FlowDesignObject.$focus;
for (var i in _FlowDesignObject.$nodeData) {
_FlowDesignObject.$nodeData[i]["id"] = i;
nodelist.push(_FlowDesignObject.$nodeData[i]);
}
frmContentJson = JSON.parse(parent.frmData["FrmContent"]);
initFrmCotent(frmContentJson);
}
//初始化控件
function initControl() {
GetDesignateMemberTree();
$('.systemdatabase').hide();
if (node.type != "confluencenode")//是否会签节点
{
$('#confluencenode').hide();
}
$('#NodeName').val(node.name);
//由谁执行
//var dd = $("#NodeMake").ComboBox({
// data: [{ "key": 0, "value": "操作执行人员" }, { "key": 1, "value": "系统执行" }],
// id: "key",
// text: "value"
//}).ComboBoxSetValue(0);
//表单
$("#NodeFrm").ComboBox({
url: "../../FlowManage/FormDesign/GetAllListJson",
id: "frmmainid",
text: "frmname",
description: "==请选择==",
allowSearch: true
});
//驳回类型
$("#NodeRejectType").ComboBox({
data: [{ "key": 0, "value": "前一步" }, { "key": 1, "value": "第一步" }, { "key": 2, "value": "某一步" }, { "key": 3, "value": "用户指定" }, { "key": 4, "value": "不处理" }],
id: "key",
text: "value"
}).bind("change", function () {
var _value = $(this).attr('data-value');
var _comdata = [];
if (_value == 2) {
_comdata = nodelist;
}
//驳回到某一步
$("#NodeRejectStep").ComboBox({
data: _comdata,
id: "id",
text: "name"
});
}).ComboBoxSetValue(0);
//驳回到某一步
$("#NodeRejectStep").ComboBox({
description: "==请选择==",
allowSearch: true,
height: "110px",
});
//会签策略
$("#NodeConfluenceType").ComboBox({
data: [{ "key": 0, "value": "所有步骤通过" }, { "key": 1, "value": "一个步骤通过即可" }, { "key": 2, "value": "按百分比计算" }],
id: "key",
text: "value",
description: "==请选择==",
});
//处理者
$("input[name='NodeDesignateTypename']").click(function () {
var id = $(this).attr('id');
if (id == 'NodeDesignateType2') {
$("#Treebackground").hide();
} else {
$("#Treebackground").show();
}
});
if (node.setInfo != undefined)
{
var _NodeCode = $('#NodeCode').val();
node.setInfo.NodeCode = node.setInfo.NodeCode == "" ? _NodeCode : node.setInfo.NodeCode;
$("#BaseInfo").SetWebControls(node.setInfo);
$('#NodeDataBase').trigger('change');
$('#NodeTable').ComboBoxSetValue(node.setInfo.NodeTable);
$('#NodeTable').trigger('change');
$('#NodePram').ComboBoxSetValue(node.setInfo.NodePram);
$("#" + node.setInfo.NodeDesignate).trigger("click");
if (node.setInfo.NodeDesignate == "NodeDesignateType2")
{
$("#Role").setCheckedNodes(node.setInfo.NodeDesignateData.role);
$("#Post").setCheckedNodes(node.setInfo.NodeDesignateData.post);
$("#UserGroup").setCheckedNodes(node.setInfo.NodeDesignateData.usergroup);
$("#User").setCheckedNodes(node.setInfo.NodeDesignateData.user);
}
$.each(node.setInfo.frmPermissionInfo, function (i, item) {
if (item.look) {
$('#PermissionInfo').find('#frm_' + item.fieldid).attr("checked", "checked");
}
else {
$('#PermissionInfo').find('#frm_' + item.fieldid).removeAttr("checked");
}
if (item.down != undefined)
{
if (item.down) {
$('#PermissionInfo').find('#frmx_' + item.fieldid).attr("checked", "checked");
}
else {
$('#PermissionInfo').find('#frmx_' + item.fieldid).removeAttr("checked");
}
}
});
}
}
function initLoadSysTemTable()
{
//数据库选择
var _NodeDb = "";
$("#NodeDataBase").ComboBoxTree({
description: "==请选择库==",
height: "150px",
url: "../../SystemManage/DataBaseLink/GetTreeJson",
allowSearch: true
}).bind("change", function () {
var value = $(this).attr('data-value');
_NodeDb = value;
//数据表
$("#NodeTable").ComboBox({
param: { dataBaseLinkId: value },
url: "../../SystemManage/DataBaseTable/GetTableListJson",
id: "name",
text: "name"
});
});
//数据表
$("#NodeTable").ComboBox({
description: "==请选择表==",
height: "140px",
allowSearch: true
}).bind("change", function () {
var value = $(this).attr('data-value');
var tablefiledJsonData = [];
$.ajax({
url: "../../SystemManage/DataBaseTable/GetTableFiledListJson",
data: { dataBaseLinkId: _NodeDb, tableName: value },
type: "GET",
dataType: "json",
async: false,
success: function (data) {
tablefiledJsonData = data;
$.each(tablefiledJsonData, function (id, item) {
item.remark = item.column + "【" + item.remark + "】";
});
NodePramData = tablefiledJsonData;
//数据表
$("#NodePram").ComboBox({
data: tablefiledJsonData,
id: "column",
text: "remark"
});
},
error: function (XMLHttpRequest, textStatus, errorThrown) {
dialogMsg(errorThrown, -1);
}
});
});
$("#NodePram").ComboBox({
description: "==请选择字段==",
height: "140px",
allowSearch: true
});
}
function GetTree(authtype) {
this.$authtype = authtype;
var data = $.arrayClone(parent.AllAuthorizeCheckData[$authtype]);
var item = {
height: 262,
showcheck: true,
data: data,
oncheckboxclick: function (item, et, s) {
var $item = $("#" + item.mytype + "Div");
if (et == 1) {
var mytype = "";
var _html = "";
var _title = '';
switch (item.mytype) {
case "Role":
mytype = 'label-success';
break;
case "Post":
mytype = 'label-info';
break;
case "UserGroup":
mytype = 'label-warning';
break;
case "User":
mytype = 'label-danger';
break;
}
_html += '<span id="' + item.id + '" data-value="' + item.mytype + '" class="flow-card-box label ' + mytype + ' ">' + item.text + '<i class="fa fa-close"></i></span>';
$item.append(_html);
$item.show();
$(".flow-card-box").click(function () {
$(this).remove();
$('#' + $(this).attr('data-value')).setNoCheckedNodes($(this).attr('id'));
if ($item.find('.flow-card-box').length == 0) {
$item.hide();
}
})
}
else if (et == 0) {
$item.find('#' + item.id).remove();
if ($item.find('.flow-card-box').length == 0) {
$item.hide();
}
}
}
};
$("#" + authtype).treeview(item);
}
function GetDesignateMemberTree()
{
//GetTree('Role');
//GetTree('Post');
//GetTree('UserGroup');
GetTree('User');
}
function initFrmCotent(data)
{
$.each(data, function (i, item) {
var rowdata = '<tr><td><i class="fa fa-star"></i></td><td>' + item.control_label + '</td><td>';
if (item.control_type == 'image' || item.control_type == 'upload')
{
rowdata += '<div class="ckbox ckbox-color_a"><input id="frmx_' + item.control_field + '" value="'+ item.control_field +'" type="checkbox" checked><label for="frmx_' + item.control_field + '">下载</label></div>';
}
rowdata += '<div class="ckbox ckbox-color_a"><input id="frm_' + item.control_field + '" value="'+ item.control_field +'" type="checkbox" checked><label for="frm_' + item.control_field + '">查看</label></div>';
rowdata += '</td></tr>';
$('#PermissionInfo').find('table').append(rowdata);
});
}
//保存字段设置
function AcceptClick() {
if (!$('#BaseInfo').Validform()) {
return false;
}
var baseinfo = $("#BaseInfo").GetWebControls();
baseinfo["NodeDesignate"] = $('.bottomline').find('input:checked').attr("id");
if (baseinfo["NodeDesignate"] == 'NodeDesignateType2') {
var _Designate = {};
_Designate["role"] = $("#Role").getCheckedAllNodes();
_Designate["post"] = $("#Post").getCheckedAllNodes();
_Designate["usergroup"] = $("#UserGroup").getCheckedAllNodes();
_Designate["user"] = $("#User").getCheckedAllNodes();
baseinfo["NodeDesignateData"] = _Designate;
}
var _PermissionInfo = [];
$.each($('#PermissionInfo').find('tr'),function(i,item){
var _ck = $(item).find('input');
var _point = {};
$.each(_ck,function(j,d){
_point["fieldid"] = $(d).val();
if($(d).attr("id").indexOf("frmx_") == -1)
{
_point["look"] = $(d)[0].checked;
}
else
{
_point["down"] = $(d)[0].checked;
}
});
_PermissionInfo.push(_point);
});
baseinfo["frmPermissionInfo"] = _PermissionInfo;
var sqlinfo = $("#SQLInfo").GetWebControls();
baseinfo = $.extend(baseinfo, sqlinfo);
parent.callBackNode(node.id, baseinfo, NodePramData);
}
</script>
<ul class="nav nav-tabs">
<li class="active"><a href="#BaseInfo" data-toggle="tab">基本配置</a></li>
<li><a href="#MakerInfo" data-toggle="tab">审核者</a></li>
<li><a href="#PermissionInfo" data-toggle="tab">权限分配</a></li>
@*<li><a href="#SQLInfo" data-toggle="tab">节点通过后执行SQL</a></li>*@
</ul>
<div class="tab-content">
<div id="BaseInfo" class="tab-pane active" style="padding-top:15px;padding-right:30px;">
<table class="form">
<tr>
<td class="formTitle">节点标识</td>
<td class="formValue">
<input id="NodeCode" type="text" class="form-control" value="@Guid.NewGuid().ToString()" disabled isvalid="yes" checkexpession="NotNull" />
</td>
<td class="formTitle">节点名称<font face="宋体">*</font></td>
<td class="formValue">
<input id="NodeName" type="text" class="form-control" isvalid="yes" checkexpession="NotNull" />
</td>
</tr>
<tr class="systemdatabase">
<td class="formTitle">绑定表名<font face="宋体">*</font></td>
<td class="formValue">
<div id="NodeDataBase" style="float:left;width:128px;" type="selectTree" class="ui-select" ></div>
<div id="NodeTable" style="float:right;width:128px;" type="select" class="ui-select" ></div>
</td>
<td class="formTitle">绑定字段<font face="宋体">*</font></td>
<td class="formValue">
<div id="NodePram" type="select" class="ui-select"></div>
</td>
</tr>
<tr>
<td class="formTitle">驳回类型<font face="宋体">*</font></td>
<td class="formValue">
<div id="NodeRejectType" type="select" class="ui-select" isvalid="yes" checkexpession="NotNull"></div>
</td>
<td class="formTitle">驳回步骤</td>
<td class="formValue">
<div id="NodeRejectStep" type="select" class="ui-select"></div>
</td>
</tr>
<tr>
@*<td class="formTitle">由谁执行<font face="宋体">*</font></td>
<td class="formValue">
<div id="NodeMake" type="select" class="ui-select" isvalid="yes" checkexpession="NotNull"></div>
</td>*@
<td class="formTitle">选项</td>
<td class="formValue">
<div class="ckbox ckbox-color_a"><input id="NodeIsOver" type="checkbox" /><label for="NodeIsOver">是否允许终止流程</label></div>
</td>
</tr>
<tr id="confluencenode">
<td class="formTitle">会签策略<font face="宋体">*</font></td>
<td class="formValue">
<div id="NodeConfluenceType" type="select" class="ui-select"></div>
</td>
<td class="formTitle">会签比例</td>
<td class="formValue">
<input id="NodeConfluenceRate" type="text" class="form-control" value="100" />
</td>
</tr>
<tr>
<th class="formTitle">
备注
</th>
<td class="formValue" colspan="3">
<textarea id="Description" class="form-control" style="height: 80px;"></textarea>
</td>
</tr>
</table>
</div>
<div id="MakerInfo" class="tab-pane">
<div class="bottomline">
<div class="rdio rdio-color_a"><input name="NodeDesignateTypename" id="NodeDesignateType1" type="radio" checked /><label for="NodeDesignateType1">所有成员</label></div>
<div class="rdio rdio-color_a"><input name="NodeDesignateTypename" id="NodeDesignateType2" type="radio" /><label for="NodeDesignateType2">指定成员</label></div>
@*<div class="rdio rdio-color_a"><input name="NodeDesignateTypename" id="NodeDesignateType3" type="radio" /><label for="NodeDesignateType3">发起者领导</label></div>
<div class="rdio rdio-color_a"><input name="NodeDesignateTypename" id="NodeDesignateType4" type="radio" /><label for="NodeDesignateType4">前一步骤领导</label></div>
<div class="rdio rdio-color_a"><input name="NodeDesignateTypename" id="NodeDesignateType5" type="radio" /><label for="NodeDesignateType5">发起者部门领导</label></div>
<div class="rdio rdio-color_a"><input name="NodeDesignateTypename" id="NodeDesignateType6" type="radio" /><label for="NodeDesignateType6">发起者公司领导</label></div>*@
</div>
<div id="DesignateMember" >
<div class="standtabborder" style="height: 262px;">
<div class="standtab standtabactived" onclick="$.standTabchange(this, 'Role')">
角色
</div>
<div class="standtab " onclick="$.standTabchange(this, 'User')">
用户
</div>
</div>
<div id="Role" class="standtab-pane"></div>
<div id="Post" style="display: none;" class="standtab-pane"></div>
<div id="UserGroup" style="display: none;" class="standtab-pane"></div>
<div id="User" style="display: none;" class="standtab-pane"></div>
<div style="margin: 0px; border-right: none; border-left: none; border-bottom: none; background-color: #fff; overflow: auto; padding-bottom: 10px;height:262px;">
<div id="RoleDiv" class="flow-portal-panel">
<div class="flow-portal-panel-title"><i class="fa fa-paw"></i>&nbsp;&nbsp;角色</div>
</div>
<div id="PostDiv" class="flow-portal-panel">
<div class="flow-portal-panel-title"><i class="fa fa-graduation-cap"></i>&nbsp;&nbsp;岗位</div>
</div>
<div id="UserGroupDiv" class="flow-portal-panel">
<div class="flow-portal-panel-title"><i class="fa fa-group"></i>&nbsp;&nbsp;用户组</div>
</div>
<div id="UserDiv" class="flow-portal-panel">
<div class="flow-portal-panel-title"><i class="fa fa-user"></i>&nbsp;&nbsp;用户</div>
</div>
</div>
<div id="Treebackground" style="position: fixed; top: 87px; left: 0px; z-index: 2; width: 750px; height: 262px; background: #000; filter: alpha(opacity=10); opacity: 0.1;"></div>
</div>
</div>
<div id="PermissionInfo" class="tab-pane" style="overflow-y:auto;">
<div style="line-height:45px;padding-left:10px;color: #666; font-weight: 300;font-size: 16px;">
<i class="fa fa-tags"></i>&nbsp;&nbsp;表单权限配置(默认都是勾选的)
</div>
<div style="overflow-y:auto;height:261px;">
<table class="table flow-table-Permission"></table>
</div>
</div>
<div id="SQLInfo" class="tab-pane">
<div style="padding:10px;">
<div id="NodeDataBaseToSQL" style="margin-bottom:10px;" type="selectTree" class="ui-select"></div>
<textarea id="NodeSQL" class="form-control" placeholder="请在此处填写需要执行的SQL语句,用{0}表示流程实例的主键Id!" style="height: 240px;"></textarea>
</div>
</div>
</div>
<style>
.standtab-pane {
width:224px;
border-right:1px solid #ccc;
float:left;
}
</style>

View File

@@ -1,492 +1,492 @@
@{
ViewBag.Title = "流程设计器";
Layout = "~/Views/Shared/_FlowForm.cshtml";
}
<script>
var keyValue = request('keyValue');
var postData = {};//提交数据
var flowData = {};
var frmData = {};
var SchemeContentOld;
var frmapp;
var shcemeAuthorizeData = "";
var AllAuthorizeCheckData = {};
$(function () {
initialPage();
})
//初始化页面
function initialPage() {
$('#step-1 .panel-body').height($(window).height() - 228);
$('#Description').height($(window).height() - 385);
$('#DesignateMemberlist').height($(window).height() - 141);
$('#Treebackground').height($(window).height() - 131);
$('#step-2 .tab-content').height($(window).height() - 167);
initFrmInfo();
initFlowInfo();
//加载导向
$('#wizard').wizard().on('change', function (e, data) {
var $finish = $("#btn_finish");
var $next = $("#btn_next");
if (data.direction == "next") {
switch (data.step) {
case 1:
if (!bindingBase())
{
return false;
}
break;
case 2://绑定表单
if (!bindingFrm()) {
dialogTop("请选择左侧表单", "error");
return false;
}
var frmcotentls = frmapp.getData();
if (!frmcotentls) {
return false;
}
frmData.FrmContent = JSON.stringify(frmcotentls);
break;
case 3://流程设计
if (!bindingFlow())
{
return false;
}
$finish.removeAttr('disabled');
$next.attr('disabled', 'disabled');
break;
default:
break;
}
} else {
$finish.attr('disabled', 'disabled');
$next.removeAttr('disabled');
}
});
//获取表单
if (!!keyValue) {
$.SetForm({
url: "../../FlowManage/FlowDesign/GetFormJson",
param: { keyValue: keyValue },
success: function (data) {
$("#step-1").SetWebControls(data.schemeinfo);
postData["SchemeVersion"] = data.schemeinfo.SchemeVersion;
if(data.schemeinfo.EnabledMark == 3)
{
flowData["SchemeVersion"] = "cg";
}
SchemeContentOld = JSON.parse(data.schemecontent.SchemeContent);
$('#FormFrmTree').setNodeChecked(SchemeContentOld.Frm.FrmId);
frmData.FrmId = SchemeContentOld.Frm.FrmId;
setFrmInfo(SchemeContentOld.Frm);
setFlowInfo(SchemeContentOld.Flow);
}
});
}
GetTree('User');
}
/*=========基本配置begin==================================================================*/
function bindingBase()
{
if (!$('#step-1').Validform()) {
return false;
}
var _postData = $("#step-1").GetWebControls(keyValue);
postData = $.extend(postData, _postData);
return true;
}
/*=========基本配置end====================================================================*/
function GetTree(type) {
$.SetForm({
url: "/UserManager/Get" + type + "CheckTreeJson",
success: function (data) {
AllAuthorizeCheckData[type] = $.arrayClone(data);
//var item = {
// height: $(window).height() - 131,
// showcheck: true,
// //url: "../../FlowManage/FlowDesign/Get" + type + "CheckTreeJson",
// data: data,
// oncheckboxclick: function (item, et, s) {
// var $item = $("#" + item.mytype + "Div");
// if (et == 1) {
// var mytype = "";
// var _html = "";
// var _title = '';
// switch (item.mytype) {
// case "Role":
// mytype = "角色";
// break;
// case "Post":
// mytype = "岗位";
// break;
// case "UserGroup":
// mytype = "用户组";
// break;
// case "User":
// mytype = "用户";
// break;
// }
// _html += '<div id="' + item.id + '" data-value="' + item.mytype + '" class="card-box shcemeinfocheck active">';
// _html += ' <div class="card-box-img">';
// _html += ' <img src="/Content/images/UserCard03.png" />';
// _html += ' </div>';
// _html += ' <div class="card-box-content">';
// _html += ' <p>名称:' + item.text + '</p>';
// _html += ' <p>类别:' + mytype + '</p>';
// _html += ' </div><i></i>';
// _html += '</div>';
// $item.append(_html);
// $item.show();
// $(".card-box").click(function () {
// $(this).remove();
// $('#' + $(this).attr('data-value')).setNoCheckedNodes($(this).attr('id'));
// if ($item.find('.card-box-img').length == 0) {
// $item.hide();
// }
// })
// }
// else if (et == 0) {
// $item.find('#' + item.id).remove();
// if ($item.find('.card-box-img').length == 0) {
// $item.hide();
// }
// }
// }
//};
//$("#" + type).treeview(item);
}
});
}
/*=========表单选择begin==================================================================*/
var _frmdatabase = "";
var _frmflag = false;
function initFrmInfo()
{
//加载左边的树
var item = {
height: $(window).height() - 87,
url: "../../FlowManage/FormDesign/GetTreeJson",
onnodeclick: function (item) {
if (item.Sort == "Frm") {
frmData.FrmId = item.id;
if (SchemeContentOld != undefined && frmData.FrmId == SchemeContentOld.Frm.FrmId) {
setFrmInfo(SchemeContentOld.Frm);
}
else {
$.SetForm({
url: "../../FlowManage/FormDesign/GetFormJson",
param: { keyValue: item.id },
success: function (data) {
setFrmInfo(data);
}
});
}
}
else {
$('#frmdesign').hide();
$('#frmpreview').hide();
$('#frmDefaulting').show();
}
}
};
$("#FormFrmTree").treeview(item);
$(".editview").hover(function () {
$(this).find('.editviewtitle').show();
}, function (e) {
$(this).find('.editviewtitle').hide();
});
$('#editfrm').click(function () {
if (_frmflag) {
var frmcotentls = frmapp.getData();
if (!frmcotentls) {
return false;
}
frmData.FrmContent = JSON.stringify(frmcotentls);
$('#frmdesign').hide();
$('#frmDefaulting').hide();
$('#frmpreview').show();
$('#frmpreview').frmPreview({
tablecotent: frmData.FrmContent,
width: 870
});
$(this).html("编辑表单");
_frmflag = false;
}
else {
if ( frmData.FrmName != undefined) {
$('#frmpreview').hide();
$('#frmDefaulting').hide();
$('#frmdesign').show();
frmapp = $('#frmdesign').frmDesign({
Height: $(window).height() - 179,
frmContent: frmData.FrmContent
});
_frmflag = true;
$(this).html("预览表单");
}
else {
dialogTop("请选择左侧表单", "error");
}
}
return false;
});
}
//设置表单数据
function setFrmInfo(data)
{
$('#frmdesign').hide();
$('#frmDefaulting').hide();
$('#frmpreview').show();
frmData.FrmDbId = data.FrmDbId;
frmData.FrmTable = data.FrmTable;
frmData.FrmName = data.FrmName;
frmData.FrmContent = data.FrmContent;
frmData.FrmTableId = data.FrmTableId;
_frmflag = false;
$('#frmpreview').frmPreview({
tablecotent: data.FrmContent,
width:870
});
frmapp = $('#frmdesign').frmDesign({
Height: 480,
frmContent: frmData.FrmContent
});
}
function bindingFrm() {
if (frmData.FrmName == undefined)
{
return false;
}
return true;
}
/*=========表单选择end====================================================================*/
/*=========流程设计begin==================================================================*/
var FlowDesignPanel;
var FlowDesignObject;//
var LineId;
var nodePramData = [];
function initFlowInfo()
{
FlowDesignPanel = $('#FlowPanel').flowdesign({
height: ($(window).height() - 87),
widht: 1000,
OpenNode: function (object) {
FlowDesignObject = object;
if (object.$nodeData[object.$focus].type == 'startround')
{
return false;
}
layer.open({
type: 2,
skin: 'layui-layer-rim', //加上边框
area: ['800px', '450px'], //宽高
maxmin: true, //开启最大化最小化按钮
title: '节点设置【' + object.$nodeData[object.$focus].name + '】',
content: '/FlowManage/FlowDesign/FlowNodeForm',
btn: ['保存', '关闭'],
yes: function (index, layero) {
var body = layer.getChildFrame('body', index);
var iframeWin = window[layero.find('iframe')[0]['name']]; //得到iframe页的窗口对象执行iframe页的方法iframeWin.method();
iframeWin.AcceptClick();
},
cancel: function (index) {
layer.close(index);
}
});
},
OpenLine: function (id, object) {
FlowDesignObject = object;
LineId = id;
var _line = object.$lineData[id];
var _fromNode = object.$nodeData[_line.from];
if (_fromNode.type == "shuntnode")
{
dialogTop("前一个节点是分流节点无法设置流转条件", "error");
return false;
}
layer.open({
type: 2,
skin: 'layui-layer-rim', //加上边框
area: ['800px', '450px'], //宽高
maxmin: true, //开启最大化最小化按钮
title: '流转条件设置',
content: '/FlowManage/FlowDesign/FlowLineForm',
btn: ['保存', '关闭'],
yes: function (index, layero) {
var body = layer.getChildFrame('body', index);
var iframeWin = window[layero.find('iframe')[0]['name']]; //得到iframe页的窗口对象执行iframe页的方法iframeWin.method();
iframeWin.AcceptClick();
},
cancel: function (index) {
layer.close(index);
}
});
}
});
}
function setFlowInfo(data)
{
FlowDesignPanel.loadData(data);
}
function callBackNode(id, data, _nodePramData)
{
nodePramData = _nodePramData;
FlowDesignPanel.SetNodeEx(id, data);
}
function callBackLine(id, data)
{
FlowDesignPanel.SetLineEx(id, data);
}
function bindingFlow()
{
var _content = FlowDesignPanel.exportDataEx();
if (_content == -1)
{
return false;
}
flowData["SchemeContent"] = JSON.stringify({ "Frm": frmData, "Flow": _content });
return true;
}
/*=========流程设计end====================================================================*/
/*=========创建完成begin==================================================================*/
function finishbtn() {
postData["EnabledMark"] = 1;
var index = parent.layer.getFrameIndex(window.name); //获取窗口索引
$.SaveForm({
url: "../../FlowManage/FlowDesign/SaveForm?keyValue=" + keyValue,
param: { "InfoEntity": JSON.stringify(postData), "ContentEntity": JSON.stringify(flowData), "shcemeAuthorizeData": shcemeAuthorizeData },
loading: "正在保存数据...",
success: function () {
parent.layer.close(index);
}
})
}
/*=========创建完成end====================================================================*/
</script>
<div class="widget-body">
<div id="wizard" class="wizard" data-target="#wizard-steps">
<ul class="steps">
<li data-target="#step-1" class="active"><span class="step">1</span>基本配置<span class="chevron"></span></li>
<li data-target="#step-2"><span class="step">2</span>表单选择<span class="chevron"></span></li>
<li data-target="#step-3"><span class="step">3</span>流程设计<span class="chevron"></span></li>
<li data-target="#step-4"><span class="step">4</span>创建完成<span class="chevron"></span></li>
</ul>
</div>
<div class="step-content wizard-step-content" id="wizard-steps">
<div class="step-pane wizard-step-pane active" id="step-1">
<div class="alert alert-danger" style="text-align: left; margin-bottom: 10px;">
<i class="fa fa-warning alert-dismissible" style="position: relative; top: 1px; font-size: 15px; padding-right: 5px;"></i>
请你创建流程信息,用于创建或修改流程!
</div>
<div class="panel panel-default">
<div class="panel-heading">
<h3 class="panel-title">流程基本信息配置</h3>
</div>
<div class="panel-body" >
<table class="form">
<tr>
<td class="formTitle">流程编号<font face="宋体">*</font></td>
<td class="formValue">
<input id="SchemeCode" type="text" class="form-control" placeholder="请输入流程编号" isvalid="yes" checkexpession="NotNull" />
</td>
</tr>
<tr>
<td class="formTitle">流程名称<font face="宋体">*</font></td>
<td class="formValue">
<input id="SchemeName" type="text" class="form-control" placeholder="请输入流程名称" isvalid="yes" checkexpession="NotNull" />
</td>
</tr>
<tr>
<th class="formTitle formTitle-top">
备注
</th>
<td class="formValue">
<textarea id="Description" class="form-control"></textarea>
</td>
</tr>
</table>
</div>
</div>
</div>
<div class="step-pane" id="step-2">
<div>
<div id="FormFrmTree" class="border-right" style="width: 190px; float: left;"></div>
<div style="width: 890px;float:right;margin-right:10px;">
<div class="alert alert-danger" style="text-align: left;margin-top:10px;margin-bottom:10px;">
<i class="fa fa-question-circle alert-dismissible" style="position: relative; top: 1px; font-size: 15px; padding-right: 5px;"></i>
1、请在左侧选择需要绑定表单。2、可编辑表单(此编辑只作用与当前流程)。
</div>
<div class="tab-content editview border" style="overflow-y:auto;overflow-x:hidden;">
<div class="editviewtitle" id="editfrm">
编辑表单
</div>
<div style="width:870px;display:none;" id="frmdesign"></div>
<div class="app_layout app_preview" id="frmpreview" style="display:none;"></div>
<div id="frmDefaulting" style="width:300px;margin:140px auto 0px;text-align:center;font-size:100px;color:#0FA74F"><i class="fa fa-table"></i><div style="font-weight: bold; font-size: 24px; color: #0FA74F;margin-top: 0px;">表单预览</div></div>
</div>
</div>
</div>
</div>
<div class="step-pane" id="step-3">
<div id="FlowPanel" style="margin: 0px;">
</div>
</div>
<div class="step-pane" id="step-4">
<div class="drag-tip">
<i class="fa fa-check-circle"></i>
<p >设计完成,请点击保存</p>
</div>
</div>
</div>
<div class="form-button" id="wizard-actions">
<a id="btn_last" disabled class="btn btn-default btn-prev">上一步</a>
<a id="btn_next" class="btn btn-default btn-next">下一步</a>
<a id="btn_finish" disabled class="btn btn-success" onclick="finishbtn();">保存</a>
</div>
</div>
<style>
.editviewtitle {
position: fixed !important;
top: 117px;
right: 11px;
width: 50px;
z-index: 1000;
}
.standtab-pane {
width:224px;
border-right:1px solid #ccc;
float:left;
}
.SchemeAuthorizePanel {
width:828px;
float: left;
display:none;
}
.card-box.active {
background: url(../../Content/Images/item_close.png) right top no-repeat !important;
}
</style>
@{
ViewBag.Title = "流程设计器";
Layout = "~/Views/Shared/_FlowForm.cshtml";
}
<script>
var keyValue = request('keyValue');
var postData = {};//提交数据
var flowData = {};
var frmData = {};
var SchemeContentOld;
var frmapp;
var shcemeAuthorizeData = "";
var AllAuthorizeCheckData = {};
$(function () {
initialPage();
})
//初始化页面
function initialPage() {
$('#step-1 .panel-body').height($(window).height() - 228);
$('#Description').height($(window).height() - 385);
$('#DesignateMemberlist').height($(window).height() - 141);
$('#Treebackground').height($(window).height() - 131);
$('#step-2 .tab-content').height($(window).height() - 167);
initFrmInfo();
initFlowInfo();
//加载导向
$('#wizard').wizard().on('change', function (e, data) {
var $finish = $("#btn_finish");
var $next = $("#btn_next");
if (data.direction == "next") {
switch (data.step) {
case 1:
if (!bindingBase())
{
return false;
}
break;
case 2://绑定表单
if (!bindingFrm()) {
dialogTop("请选择左侧表单", "error");
return false;
}
var frmcotentls = frmapp.getData();
if (!frmcotentls) {
return false;
}
frmData.FrmContent = JSON.stringify(frmcotentls);
break;
case 3://流程设计
if (!bindingFlow())
{
return false;
}
$finish.removeAttr('disabled');
$next.attr('disabled', 'disabled');
break;
default:
break;
}
} else {
$finish.attr('disabled', 'disabled');
$next.removeAttr('disabled');
}
});
//获取表单
if (!!keyValue) {
$.SetForm({
url: "../../FlowManage/FlowDesign/GetFormJson",
param: { keyValue: keyValue },
success: function (data) {
$("#step-1").SetWebControls(data.schemeinfo);
postData["SchemeVersion"] = data.schemeinfo.SchemeVersion;
if(data.schemeinfo.EnabledMark == 3)
{
flowData["SchemeVersion"] = "cg";
}
SchemeContentOld = JSON.parse(data.schemecontent.SchemeContent);
$('#FormFrmTree').setNodeChecked(SchemeContentOld.Frm.FrmId);
frmData.FrmId = SchemeContentOld.Frm.FrmId;
setFrmInfo(SchemeContentOld.Frm);
setFlowInfo(SchemeContentOld.Flow);
}
});
}
GetTree('User');
}
/*=========基本配置begin==================================================================*/
function bindingBase()
{
if (!$('#step-1').Validform()) {
return false;
}
var _postData = $("#step-1").GetWebControls(keyValue);
postData = $.extend(postData, _postData);
return true;
}
/*=========基本配置end====================================================================*/
function GetTree(type) {
$.SetForm({
url: "/UserManager/Get" + type + "CheckTreeJson",
success: function (data) {
AllAuthorizeCheckData[type] = $.arrayClone(data);
//var item = {
// height: $(window).height() - 131,
// showcheck: true,
// //url: "../../FlowManage/FlowDesign/Get" + type + "CheckTreeJson",
// data: data,
// oncheckboxclick: function (item, et, s) {
// var $item = $("#" + item.mytype + "Div");
// if (et == 1) {
// var mytype = "";
// var _html = "";
// var _title = '';
// switch (item.mytype) {
// case "Role":
// mytype = "角色";
// break;
// case "Post":
// mytype = "岗位";
// break;
// case "UserGroup":
// mytype = "用户组";
// break;
// case "User":
// mytype = "用户";
// break;
// }
// _html += '<div id="' + item.id + '" data-value="' + item.mytype + '" class="card-box shcemeinfocheck active">';
// _html += ' <div class="card-box-img">';
// _html += ' <img src="/Content/images/UserCard03.png" />';
// _html += ' </div>';
// _html += ' <div class="card-box-content">';
// _html += ' <p>名称:' + item.text + '</p>';
// _html += ' <p>类别:' + mytype + '</p>';
// _html += ' </div><i></i>';
// _html += '</div>';
// $item.append(_html);
// $item.show();
// $(".card-box").click(function () {
// $(this).remove();
// $('#' + $(this).attr('data-value')).setNoCheckedNodes($(this).attr('id'));
// if ($item.find('.card-box-img').length == 0) {
// $item.hide();
// }
// })
// }
// else if (et == 0) {
// $item.find('#' + item.id).remove();
// if ($item.find('.card-box-img').length == 0) {
// $item.hide();
// }
// }
// }
//};
//$("#" + type).treeview(item);
}
});
}
/*=========表单选择begin==================================================================*/
var _frmdatabase = "";
var _frmflag = false;
function initFrmInfo()
{
//加载左边的树
var item = {
height: $(window).height() - 87,
url: "../../FlowManage/FormDesign/GetTreeJson",
onnodeclick: function (item) {
if (item.Sort == "Frm") {
frmData.FrmId = item.id;
if (SchemeContentOld != undefined && frmData.FrmId == SchemeContentOld.Frm.FrmId) {
setFrmInfo(SchemeContentOld.Frm);
}
else {
$.SetForm({
url: "../../FlowManage/FormDesign/GetFormJson",
param: { keyValue: item.id },
success: function (data) {
setFrmInfo(data);
}
});
}
}
else {
$('#frmdesign').hide();
$('#frmpreview').hide();
$('#frmDefaulting').show();
}
}
};
$("#FormFrmTree").treeview(item);
$(".editview").hover(function () {
$(this).find('.editviewtitle').show();
}, function (e) {
$(this).find('.editviewtitle').hide();
});
$('#editfrm').click(function () {
if (_frmflag) {
var frmcotentls = frmapp.getData();
if (!frmcotentls) {
return false;
}
frmData.FrmContent = JSON.stringify(frmcotentls);
$('#frmdesign').hide();
$('#frmDefaulting').hide();
$('#frmpreview').show();
$('#frmpreview').frmPreview({
tablecotent: frmData.FrmContent,
width: 870
});
$(this).html("编辑表单");
_frmflag = false;
}
else {
if ( frmData.FrmName != undefined) {
$('#frmpreview').hide();
$('#frmDefaulting').hide();
$('#frmdesign').show();
frmapp = $('#frmdesign').frmDesign({
Height: $(window).height() - 179,
frmContent: frmData.FrmContent
});
_frmflag = true;
$(this).html("预览表单");
}
else {
dialogTop("请选择左侧表单", "error");
}
}
return false;
});
}
//设置表单数据
function setFrmInfo(data)
{
$('#frmdesign').hide();
$('#frmDefaulting').hide();
$('#frmpreview').show();
frmData.FrmDbId = data.FrmDbId;
frmData.FrmTable = data.FrmTable;
frmData.FrmName = data.FrmName;
frmData.FrmContent = data.FrmContent;
frmData.FrmTableId = data.FrmTableId;
_frmflag = false;
$('#frmpreview').frmPreview({
tablecotent: data.FrmContent,
width:870
});
frmapp = $('#frmdesign').frmDesign({
Height: 480,
frmContent: frmData.FrmContent
});
}
function bindingFrm() {
if (frmData.FrmName == undefined)
{
return false;
}
return true;
}
/*=========表单选择end====================================================================*/
/*=========流程设计begin==================================================================*/
var FlowDesignPanel;
var FlowDesignObject;//
var LineId;
var nodePramData = [];
function initFlowInfo()
{
FlowDesignPanel = $('#FlowPanel').flowdesign({
height: ($(window).height() - 87),
widht: 1000,
OpenNode: function (object) {
FlowDesignObject = object;
if (object.$nodeData[object.$focus].type == 'startround')
{
return false;
}
layer.open({
type: 2,
skin: 'layui-layer-rim', //加上边框
area: ['800px', '450px'], //宽高
maxmin: true, //开启最大化最小化按钮
title: '节点设置【' + object.$nodeData[object.$focus].name + '】',
content: '/FlowManage/FlowDesign/FlowNodeForm',
btn: ['保存', '关闭'],
yes: function (index, layero) {
var body = layer.getChildFrame('body', index);
var iframeWin = window[layero.find('iframe')[0]['name']]; //得到iframe页的窗口对象执行iframe页的方法iframeWin.method();
iframeWin.AcceptClick();
},
cancel: function (index) {
layer.close(index);
}
});
},
OpenLine: function (id, object) {
FlowDesignObject = object;
LineId = id;
var _line = object.$lineData[id];
var _fromNode = object.$nodeData[_line.from];
if (_fromNode.type == "shuntnode")
{
dialogTop("前一个节点是分流节点无法设置流转条件", "error");
return false;
}
layer.open({
type: 2,
skin: 'layui-layer-rim', //加上边框
area: ['800px', '450px'], //宽高
maxmin: true, //开启最大化最小化按钮
title: '流转条件设置',
content: '/FlowManage/FlowDesign/FlowLineForm',
btn: ['保存', '关闭'],
yes: function (index, layero) {
var body = layer.getChildFrame('body', index);
var iframeWin = window[layero.find('iframe')[0]['name']]; //得到iframe页的窗口对象执行iframe页的方法iframeWin.method();
iframeWin.AcceptClick();
},
cancel: function (index) {
layer.close(index);
}
});
}
});
}
function setFlowInfo(data)
{
FlowDesignPanel.loadData(data);
}
function callBackNode(id, data, _nodePramData)
{
nodePramData = _nodePramData;
FlowDesignPanel.SetNodeEx(id, data);
}
function callBackLine(id, data)
{
FlowDesignPanel.SetLineEx(id, data);
}
function bindingFlow()
{
var _content = FlowDesignPanel.exportDataEx();
if (_content == -1)
{
return false;
}
flowData["SchemeContent"] = JSON.stringify({ "Frm": frmData, "Flow": _content });
return true;
}
/*=========流程设计end====================================================================*/
/*=========创建完成begin==================================================================*/
function finishbtn() {
postData["EnabledMark"] = 1;
var index = parent.layer.getFrameIndex(window.name); //获取窗口索引
$.SaveForm({
url: "../../FlowManage/FlowDesign/SaveForm?keyValue=" + keyValue,
param: { "InfoEntity": JSON.stringify(postData), "ContentEntity": JSON.stringify(flowData), "shcemeAuthorizeData": shcemeAuthorizeData },
loading: "正在保存数据...",
success: function () {
parent.layer.close(index);
}
})
}
/*=========创建完成end====================================================================*/
</script>
<div class="widget-body">
<div id="wizard" class="wizard" data-target="#wizard-steps">
<ul class="steps">
<li data-target="#step-1" class="active"><span class="step">1</span>基本配置<span class="chevron"></span></li>
<li data-target="#step-2"><span class="step">2</span>表单选择<span class="chevron"></span></li>
<li data-target="#step-3"><span class="step">3</span>流程设计<span class="chevron"></span></li>
<li data-target="#step-4"><span class="step">4</span>创建完成<span class="chevron"></span></li>
</ul>
</div>
<div class="step-content wizard-step-content" id="wizard-steps">
<div class="step-pane wizard-step-pane active" id="step-1">
<div class="alert alert-danger" style="text-align: left; margin-bottom: 10px;">
<i class="fa fa-warning alert-dismissible" style="position: relative; top: 1px; font-size: 15px; padding-right: 5px;"></i>
请你创建流程信息,用于创建或修改流程!
</div>
<div class="panel panel-default">
<div class="panel-heading">
<h3 class="panel-title">流程基本信息配置</h3>
</div>
<div class="panel-body" >
<table class="form">
<tr>
<td class="formTitle">流程编号<font face="宋体">*</font></td>
<td class="formValue">
<input id="SchemeCode" type="text" class="form-control" placeholder="请输入流程编号" isvalid="yes" checkexpession="NotNull" />
</td>
</tr>
<tr>
<td class="formTitle">流程名称<font face="宋体">*</font></td>
<td class="formValue">
<input id="SchemeName" type="text" class="form-control" placeholder="请输入流程名称" isvalid="yes" checkexpession="NotNull" />
</td>
</tr>
<tr>
<th class="formTitle formTitle-top">
备注
</th>
<td class="formValue">
<textarea id="Description" class="form-control"></textarea>
</td>
</tr>
</table>
</div>
</div>
</div>
<div class="step-pane" id="step-2">
<div>
<div id="FormFrmTree" class="border-right" style="width: 190px; float: left;"></div>
<div style="width: 890px;float:right;margin-right:10px;">
<div class="alert alert-danger" style="text-align: left;margin-top:10px;margin-bottom:10px;">
<i class="fa fa-question-circle alert-dismissible" style="position: relative; top: 1px; font-size: 15px; padding-right: 5px;"></i>
1、请在左侧选择需要绑定表单。2、可编辑表单(此编辑只作用与当前流程)。
</div>
<div class="tab-content editview border" style="overflow-y:auto;overflow-x:hidden;">
<div class="editviewtitle" id="editfrm">
编辑表单
</div>
<div style="width:870px;display:none;" id="frmdesign"></div>
<div class="app_layout app_preview" id="frmpreview" style="display:none;"></div>
<div id="frmDefaulting" style="width:300px;margin:140px auto 0px;text-align:center;font-size:100px;color:#0FA74F"><i class="fa fa-table"></i><div style="font-weight: bold; font-size: 24px; color: #0FA74F;margin-top: 0px;">表单预览</div></div>
</div>
</div>
</div>
</div>
<div class="step-pane" id="step-3">
<div id="FlowPanel" style="margin: 0px;">
</div>
</div>
<div class="step-pane" id="step-4">
<div class="drag-tip">
<i class="fa fa-check-circle"></i>
<p >设计完成,请点击保存</p>
</div>
</div>
</div>
<div class="form-button" id="wizard-actions">
<a id="btn_last" disabled class="btn btn-default btn-prev">上一步</a>
<a id="btn_next" class="btn btn-default btn-next">下一步</a>
<a id="btn_finish" disabled class="btn btn-success" onclick="finishbtn();">保存</a>
</div>
</div>
<style>
.editviewtitle {
position: fixed !important;
top: 117px;
right: 11px;
width: 50px;
z-index: 1000;
}
.standtab-pane {
width:224px;
border-right:1px solid #ccc;
float:left;
}
.SchemeAuthorizePanel {
width:828px;
float: left;
display:none;
}
.card-box.active {
background: url(../../Content/Images/item_close.png) right top no-repeat !important;
}
</style>

View File

@@ -1,113 +1,113 @@
@{
ViewBag.Title = "流程预览";
Layout = "~/Views/Shared/_FlowForm.cshtml";
}
<link href="~/Content/styles/flow.css" rel="stylesheet" />
<script src="~/BllScripts/clientData.js"></script>
<script>
var keyValue = request('keyValue');
var schemeVersion = request('schemeVersion');
var processSchemeId = request('processSchemeId');
$(function () {
var schemeContent;
var _width = $(window).width() * 0.9 - 20;
if (_width > 1000)
{
_width = 1000;
}
if (keyValue) {
$.SetForm({
url: "../../FlowManage/FlowDesign/GetSchemeContentJson",
param: { keyValue: keyValue, SchemeVersion: schemeVersion },
success: function (data) {
schemeContent = JSON.parse(data.SchemeContent);
$('#frmpreview').frmPreview({
tablecotent: schemeContent.Frm.FrmContent,
width: _width
});
$('#frmname').html(schemeContent.Frm.FrmName);
console.log(schemeContent);
$('#FlowPanel').flowdesign({
height: $(window).height() - 18,
width: $(window).width() - 20,
flowcontent: schemeContent.Flow,
frmData: JSON.parse(schemeContent.Frm == "" ?"[]":schemeContent.Frm.FrmContent),
haveTool: false,
preview:1
});
}
});
}
else {
$.SetForm({
url: "../../FlowManage/FlowInstances/GetProcessSchemeJson",
param: { keyValue: processSchemeId },
success: function (data) {
schemeContent = JSON.parse(JSON.parse(data.SchemeContent).SchemeContent);
$('#frmpreview').frmPreview({
tablecotent: schemeContent.Frm.FrmContent,
width: _width,
});
$('#frmname').html(schemeContent.Frm.FrmName);
$('#FlowPanel').flowdesign({
height: $(window).height() - 18,
width: $(window).width() - 20,
flowcontent: schemeContent.Flow,
frmData: JSON.parse(schemeContent.Frm == "" ? "[]" : schemeContent.Frm.FrmContent),
haveTool: false,
preview: 1
});
}
});
}
//resize重设(表格、树形)宽高
$(window).resize(function (e) {
window.setTimeout(function () {
$('#previewpage').css("height", e.currentTarget.innerHeight-20);
$('#formAreas').css("width", e.currentTarget.innerWidth * 0.9-20);
if (schemeContent != undefined)
{
$('#FlowPanel').flowdesign({
height: e.currentTarget.innerHeight - 18,
width: e.currentTarget.innerWidth - 20,
flowcontent: schemeContent.Flow,
haveTool: false
});
}
}, 200);
e.stopPropagation();
});
$('#formAreas').css("width", $(window).width() * 0.9-20);
$('#previewpage').css("height", $(window).height()-20);
});
function flowshow()
{
$('#previewpage').hide();
$('#FlowPanel').show();
}
function frmshow() {
$('#FlowPanel').hide();
$('#previewpage').show();
}
</script>
<div style="position:absolute;top:0; right:100px;z-index:1000;background:rgba(0, 0, 0, 0.1);padding:10px;border-radius:0px 0px 5px 5px;">
<a class="btn btn-success" onclick="flowshow()">&nbsp;流程预览</a>
<a class="btn btn-default" onclick="frmshow()">&nbsp;表单预览</a>
</div>
<div class="panels">
<div id="previewpage" style="overflow-y:auto;background-color:#fff;display:none;border: 1px solid #ccc;">
<div id="formAreas" style="margin: 30px auto;max-width: 1000px;">
<div style="border-bottom:1px solid #ccc;text-align:center"><span id="frmname"></span></div>
<div class="app_layout app_preview" id="frmpreview"></div>
</div>
</div>
<div id="FlowPanel" style="margin: 0px;border: 1px solid #ccc;"></div>
</div>
<style>
body {
overflow: hidden;
}
.panels {
padding: 10px;
}
</style>
@{
ViewBag.Title = "流程预览";
Layout = "~/Views/Shared/_FlowForm.cshtml";
}
<link href="~/Content/styles/flow.css" rel="stylesheet" />
<script src="~/BllScripts/clientData.js"></script>
<script>
var keyValue = request('keyValue');
var schemeVersion = request('schemeVersion');
var processSchemeId = request('processSchemeId');
$(function () {
var schemeContent;
var _width = $(window).width() * 0.9 - 20;
if (_width > 1000)
{
_width = 1000;
}
if (keyValue) {
$.SetForm({
url: "../../FlowManage/FlowDesign/GetSchemeContentJson",
param: { keyValue: keyValue, SchemeVersion: schemeVersion },
success: function (data) {
schemeContent = JSON.parse(data.SchemeContent);
$('#frmpreview').frmPreview({
tablecotent: schemeContent.Frm.FrmContent,
width: _width
});
$('#frmname').html(schemeContent.Frm.FrmName);
console.log(schemeContent);
$('#FlowPanel').flowdesign({
height: $(window).height() - 18,
width: $(window).width() - 20,
flowcontent: schemeContent.Flow,
frmData: JSON.parse(schemeContent.Frm == "" ?"[]":schemeContent.Frm.FrmContent),
haveTool: false,
preview:1
});
}
});
}
else {
$.SetForm({
url: "../../FlowManage/FlowInstances/GetProcessSchemeJson",
param: { keyValue: processSchemeId },
success: function (data) {
schemeContent = JSON.parse(JSON.parse(data.SchemeContent).SchemeContent);
$('#frmpreview').frmPreview({
tablecotent: schemeContent.Frm.FrmContent,
width: _width,
});
$('#frmname').html(schemeContent.Frm.FrmName);
$('#FlowPanel').flowdesign({
height: $(window).height() - 18,
width: $(window).width() - 20,
flowcontent: schemeContent.Flow,
frmData: JSON.parse(schemeContent.Frm == "" ? "[]" : schemeContent.Frm.FrmContent),
haveTool: false,
preview: 1
});
}
});
}
//resize重设(表格、树形)宽高
$(window).resize(function (e) {
window.setTimeout(function () {
$('#previewpage').css("height", e.currentTarget.innerHeight-20);
$('#formAreas').css("width", e.currentTarget.innerWidth * 0.9-20);
if (schemeContent != undefined)
{
$('#FlowPanel').flowdesign({
height: e.currentTarget.innerHeight - 18,
width: e.currentTarget.innerWidth - 20,
flowcontent: schemeContent.Flow,
haveTool: false
});
}
}, 200);
e.stopPropagation();
});
$('#formAreas').css("width", $(window).width() * 0.9-20);
$('#previewpage').css("height", $(window).height()-20);
});
function flowshow()
{
$('#previewpage').hide();
$('#FlowPanel').show();
}
function frmshow() {
$('#FlowPanel').hide();
$('#previewpage').show();
}
</script>
<div style="position:absolute;top:0; right:100px;z-index:1000;background:rgba(0, 0, 0, 0.1);padding:10px;border-radius:0px 0px 5px 5px;">
<a class="btn btn-success" onclick="flowshow()">&nbsp;流程预览</a>
<a class="btn btn-default" onclick="frmshow()">&nbsp;表单预览</a>
</div>
<div class="panels">
<div id="previewpage" style="overflow-y:auto;background-color:#fff;display:none;border: 1px solid #ccc;">
<div id="formAreas" style="margin: 30px auto;max-width: 1000px;">
<div style="border-bottom:1px solid #ccc;text-align:center"><span id="frmname"></span></div>
<div class="app_layout app_preview" id="frmpreview"></div>
</div>
</div>
<div id="FlowPanel" style="margin: 0px;border: 1px solid #ccc;"></div>
</div>
<style>
body {
overflow: hidden;
}
.panels {
padding: 10px;
}
</style>

View File

@@ -1,156 +1,156 @@
@{
ViewBag.Title = "发起流程";
Layout = "~/Views/Shared/_FlowForm.cshtml";
}
<script>
var keyValue = request('keyValue');
$(function () {
var schemeContent;
$('.FlowPanelall').height($.windowHeight() - 40);
$('#Description').height($.windowHeight() - 280);
$.SetForm({
url: "../../FlowManage/FlowDesign/GetFormJson",
param: { keyValue: keyValue },
success: function (data) {
schemeContent = JSON.parse(data.schemecontent.SchemeContent);
$('#frmpreview').frmPreview({
tablecotent: schemeContent.Frm.FrmContent
});
$('#Code').val(data.schemeinfo.SchemeName);
}
});
});
//保存为草稿
function btn_Roughdraft() {
var _postData = $("#ProcessInfo").GetWebControls();
_postData["EnabledMark"] = 3;
_postData["wfLevel"] = $('input[name="wfLevel"]:checked').val();
var _data = $("#frmpreview").frmGetData();
var index = parent.layer.getFrameIndex(window.name); //获取窗口索引
$.SaveForm({
url: "../../FlowManage/FlowInstances/CreateProcess",
param: { "wfSchemeInfoId": keyValue, "frmData": JSON.stringify(_data), "wfProcessInstanceJson": JSON.stringify(_postData) },
loading: "正在保存数据...",
success: function() {
parent.layer.close(index);
}
})
}
//提交表单
function btn_Finish() {
if (!$('#ProcessInfo').Validform()) {
return false;
}
var _postData = $("#ProcessInfo").GetWebControls(keyValue);
_postData["EnabledMark"] = 1;
_postData["wfLevel"] = $('input[name="wfLevel"]:checked').val();
var _data = $("#frmpreview").frmGetData();
var index = parent.layer.getFrameIndex(window.name); //获取窗口索引
$.SaveForm({
url: "../../FlowManage/FlowInstances/CreateProcess",
param: { "wfSchemeInfoId": keyValue, "frmData": JSON.stringify(_data), "wfProcessInstanceJson": JSON.stringify(_postData) },
loading: "正在保存数据...",
success: function() {
parent.layer.close(index);
}
})
}
</script>
<div class="FlowPanelall">
<div id="frmpreview" class="tab-pane app_layout app_preview active">
</div>
</div>
<div class="FlowInfoPanel" id="ProcessInfo">
<div style="color:#9f9f9f;padding-bottom:15px;padding-left:5px;"><i style="padding-right:5px;" class="fa fa-info-circle"></i><span>填写左侧表单和实例信息,提交创建</span></div>
<table class="form">
<tr>
<td class="formTitle">流程实例编号<font face="宋体">*</font></td>
</tr>
<tr>
<td class="formValue">
<input id="Code" disabled type="text" class="form-control" isvalid="yes" checkexpession="NotNull" />
</td>
</tr>
<tr>
<td class="formTitle">自定义标题<font face="宋体">*</font></td>
</tr>
<tr>
<td class="formValue">
<input id="CustomName" type="text" class="form-control" isvalid="yes" checkexpession="NotNull" />
</td>
</tr>
<tr>
<td class="formTitle">重要等级<font face="宋体">*</font></td>
</tr>
<tr>
<td class="formValue">
<div class="rdio rdio-color_c"><input name="wfLevel" id="wfLevel1" value="1" type="radio" /><label for="wfLevel1">重要</label></div>
<div class="rdio rdio-color_f"><input name="wfLevel" id="wfLevel2" value="2" type="radio" checked /><label for="wfLevel2">普通</label></div>
<div class="rdio rdio-color_a"><input name="wfLevel" id="wfLevel3" value="3" type="radio" /><label for="wfLevel3">一般</label></div>
</td>
</tr>
<tr>
<td class="formTitle">备注</td>
</tr>
<tr>
<td class="formValue">
<textarea id="Description" class="form-control" style="height: 383px;"></textarea>
</td>
</tr>
</table>
</div>
<div class="form-button" >
<a id="btn_finish" class="btn btn-success" onclick="btn_Finish();">完成提交</a>
</div>
<style>
body {
overflow: hidden;
}
.app_preview .item_field_value {
width: 664px;
}
.app_preview .item_row {
background-color: #fff;
}
.app_layout .item_field_label {
background-color: #fff;
}
.FlowPanelall {
width: 800px;
float: left;
overflow-y:auto;
}
.FlowInfoPanel {
float: right;
width: 300px;
height: 659px;
z-index: 1000;
background: rgba(0,0,0,0.01);
padding: 10px;
border-left: 1px solid #ccc;
}
.form .formTitle {
text-align: left;
padding-left: 5px;
}
form .formTitle font {
right: auto !important;
margin-left: 5px;
}
.formValue input, .formValue textarea {
border-radius: 5px;
}
input, textarea {
background: #fff !important;
}
</style>
@{
ViewBag.Title = "发起流程";
Layout = "~/Views/Shared/_FlowForm.cshtml";
}
<script>
var keyValue = request('keyValue');
$(function () {
var schemeContent;
$('.FlowPanelall').height($.windowHeight() - 40);
$('#Description').height($.windowHeight() - 280);
$.SetForm({
url: "../../FlowManage/FlowDesign/GetFormJson",
param: { keyValue: keyValue },
success: function (data) {
schemeContent = JSON.parse(data.schemecontent.SchemeContent);
$('#frmpreview').frmPreview({
tablecotent: schemeContent.Frm.FrmContent
});
$('#Code').val(data.schemeinfo.SchemeName);
}
});
});
//保存为草稿
function btn_Roughdraft() {
var _postData = $("#ProcessInfo").GetWebControls();
_postData["EnabledMark"] = 3;
_postData["wfLevel"] = $('input[name="wfLevel"]:checked').val();
var _data = $("#frmpreview").frmGetData();
var index = parent.layer.getFrameIndex(window.name); //获取窗口索引
$.SaveForm({
url: "../../FlowManage/FlowInstances/CreateProcess",
param: { "wfSchemeInfoId": keyValue, "frmData": JSON.stringify(_data), "wfProcessInstanceJson": JSON.stringify(_postData) },
loading: "正在保存数据...",
success: function() {
parent.layer.close(index);
}
})
}
//提交表单
function btn_Finish() {
if (!$('#ProcessInfo').Validform()) {
return false;
}
var _postData = $("#ProcessInfo").GetWebControls(keyValue);
_postData["EnabledMark"] = 1;
_postData["wfLevel"] = $('input[name="wfLevel"]:checked').val();
var _data = $("#frmpreview").frmGetData();
var index = parent.layer.getFrameIndex(window.name); //获取窗口索引
$.SaveForm({
url: "../../FlowManage/FlowInstances/CreateProcess",
param: { "wfSchemeInfoId": keyValue, "frmData": JSON.stringify(_data), "wfProcessInstanceJson": JSON.stringify(_postData) },
loading: "正在保存数据...",
success: function() {
parent.layer.close(index);
}
})
}
</script>
<div class="FlowPanelall">
<div id="frmpreview" class="tab-pane app_layout app_preview active">
</div>
</div>
<div class="FlowInfoPanel" id="ProcessInfo">
<div style="color:#9f9f9f;padding-bottom:15px;padding-left:5px;"><i style="padding-right:5px;" class="fa fa-info-circle"></i><span>填写左侧表单和实例信息,提交创建</span></div>
<table class="form">
<tr>
<td class="formTitle">流程实例编号<font face="宋体">*</font></td>
</tr>
<tr>
<td class="formValue">
<input id="Code" disabled type="text" class="form-control" isvalid="yes" checkexpession="NotNull" />
</td>
</tr>
<tr>
<td class="formTitle">自定义标题<font face="宋体">*</font></td>
</tr>
<tr>
<td class="formValue">
<input id="CustomName" type="text" class="form-control" isvalid="yes" checkexpession="NotNull" />
</td>
</tr>
<tr>
<td class="formTitle">重要等级<font face="宋体">*</font></td>
</tr>
<tr>
<td class="formValue">
<div class="rdio rdio-color_c"><input name="wfLevel" id="wfLevel1" value="1" type="radio" /><label for="wfLevel1">重要</label></div>
<div class="rdio rdio-color_f"><input name="wfLevel" id="wfLevel2" value="2" type="radio" checked /><label for="wfLevel2">普通</label></div>
<div class="rdio rdio-color_a"><input name="wfLevel" id="wfLevel3" value="3" type="radio" /><label for="wfLevel3">一般</label></div>
</td>
</tr>
<tr>
<td class="formTitle">备注</td>
</tr>
<tr>
<td class="formValue">
<textarea id="Description" class="form-control" style="height: 383px;"></textarea>
</td>
</tr>
</table>
</div>
<div class="form-button" >
<a id="btn_finish" class="btn btn-success" onclick="btn_Finish();">完成提交</a>
</div>
<style>
body {
overflow: hidden;
}
.app_preview .item_field_value {
width: 664px;
}
.app_preview .item_row {
background-color: #fff;
}
.app_layout .item_field_label {
background-color: #fff;
}
.FlowPanelall {
width: 800px;
float: left;
overflow-y:auto;
}
.FlowInfoPanel {
float: right;
width: 300px;
height: 659px;
z-index: 1000;
background: rgba(0,0,0,0.01);
padding: 10px;
border-left: 1px solid #ccc;
}
.form .formTitle {
text-align: left;
padding-left: 5px;
}
form .formTitle font {
right: auto !important;
margin-left: 5px;
}
.formValue input, .formValue textarea {
border-radius: 5px;
}
input, textarea {
background: #fff !important;
}
</style>

View File

@@ -1,48 +1,48 @@
@{
ViewBag.Title = "查看流程进度";
Layout = "~/Views/Shared/_FlowForm.cshtml";
}
<script src="~/BllScripts/clientData.js"></script>
<script>
var processSchemeId = request('processSchemeId');
var ActivityId = request('activityId');
$(function () {
var schemeContent;
$.SetForm({
url: "../../FlowManage/FlowInstances/GetProcessSchemeJson",
param: { keyValue: processSchemeId },
success: function (data) {
schemeContent = JSON.parse(JSON.parse(data.SchemeContent).SchemeContent);
frmdata = JSON.parse(JSON.parse(data.SchemeContent).frmData);
$('#frmpreview').frmPreview({
tablecotent: schemeContent.Frm.FrmContent,
width:1080
});
$('#FlowPanel').flowdesign({
width: $(window).width()+3,
height: $(window).height()-42,
flowcontent: schemeContent.Flow,
haveTool: false,
isprocessing: true,
activityId: ActivityId,
nodeData: schemeContent.Flow.nodes
});
$('#frmpreview').frmSetData(frmdata);
$('#frmpreview').find('input,select,textarea,.ui-select').attr('disabled', 'disabled');
}
});
});
</script>
<ul class="nav nav-tabs">
<li class="active"><a href="#FlowPanel" data-toggle="tab">流程信息</a></li>
<li><a href="#frmpreview" data-toggle="tab">表单信息</a></li>
</ul>
<div class="tab-content">
<div id="FlowPanel" class="tab-pane active">
</div>
<div id="frmpreview" class="tab-pane app_layout app_preview">
</div>
</div>
@{
ViewBag.Title = "查看流程进度";
Layout = "~/Views/Shared/_FlowForm.cshtml";
}
<script src="~/BllScripts/clientData.js"></script>
<script>
var processSchemeId = request('processSchemeId');
var ActivityId = request('activityId');
$(function () {
var schemeContent;
$.SetForm({
url: "../../FlowManage/FlowInstances/GetProcessSchemeJson",
param: { keyValue: processSchemeId },
success: function (data) {
schemeContent = JSON.parse(JSON.parse(data.SchemeContent).SchemeContent);
frmdata = JSON.parse(JSON.parse(data.SchemeContent).frmData);
$('#frmpreview').frmPreview({
tablecotent: schemeContent.Frm.FrmContent,
width:1080
});
$('#FlowPanel').flowdesign({
width: $(window).width()+3,
height: $(window).height()-42,
flowcontent: schemeContent.Flow,
haveTool: false,
isprocessing: true,
activityId: ActivityId,
nodeData: schemeContent.Flow.nodes
});
$('#frmpreview').frmSetData(frmdata);
$('#frmpreview').find('input,select,textarea,.ui-select').attr('disabled', 'disabled');
}
});
});
</script>
<ul class="nav nav-tabs">
<li class="active"><a href="#FlowPanel" data-toggle="tab">流程信息</a></li>
<li><a href="#frmpreview" data-toggle="tab">表单信息</a></li>
</ul>
<div class="tab-content">
<div id="FlowPanel" class="tab-pane active">
</div>
<div id="frmpreview" class="tab-pane app_layout app_preview">
</div>
</div>

View File

@@ -1,223 +1,223 @@
@using OpenAuth.App.SSO
@{
ViewBag.Title = "审核流程";
Layout = "~/Views/Shared/_FlowForm.cshtml";
}
<style>
body {
overflow: hidden;
}
.app_preview .item_row {
background-color: #fff;
}
.app_layout .item_field_label {
background-color: #fff;
}
.FlowPanelall {
width: 800px;
float: left;
}
.FlowInfoPanel {
float: right;
width: 300px;
height: 659px;
z-index: 1000;
background: rgba(0,0,0,0.01);
padding: 10px;
border-left: 1px solid #ccc;
}
.form .formTitle {
text-align: left;
padding-left: 5px;
}
.form .formTitle font {
right: auto !important;
margin-left: 5px;
}
.formValue input, .formValue textarea {
border-radius: 5px;
}
input, textarea {
background: #fff !important;
}
</style>
<div class="FlowPanelall">
<ul class="nav nav-tabs">
<li class="active"><a href="#frmtab" data-toggle="tab">表单信息</a></li>
<li><a href="#FlowPanel" data-toggle="tab">流程信息</a></li>
</ul>
<div class="tab-content">
<div id="frmtab" class="tab-pane active" style="overflow-y:auto;">
<div id="frmpreview" class="app_layout app_preview">
</div>
</div>
<div id="FlowPanel" class="tab-pane">
</div>
</div>
</div>
<div class="FlowInfoPanel" id="VerificationInfo">
<div style="color:#9f9f9f;padding-bottom:15px;padding-left:5px;"><i style="padding-right:5px;" class="fa fa-info-circle"></i><span>在此填写内容,提交审核</span></div>
<table class="form">
<tr>
<td class="formTitle">申请人员</td>
</tr>
<tr>
<td class="formValue">
<input id="Createusername" disabled type="text" class="form-control" isvalid="yes" checkexpession="NotNull" />
<input id="Createuserid" style="display: none" />
</td>
</tr>
<tr>
<td class="formTitle">申请备注</td>
</tr>
<tr>
<td class="formValue">
<textarea id="Description" disabled class="form-control" style="height:50px;"></textarea>
</td>
</tr>
<tr>
<td class="formTitle">审核人员<font face="宋体">*</font></td>
</tr>
<tr>
<td class="formValue">
<input id="VerificationUser" value="@AuthUtil.GetUserName()" disabled type="text" class="form-control" isvalid="yes" checkexpession="NotNull" />
</td>
</tr>
<tr>
<td class="formTitle">审核结果<font face="宋体">*</font></td>
</tr>
<tr>
<td class="formValue">
<div class="rdio rdio-color_a"><input name="VerificationFinally" id="VerificationFinally1" value="1" type="radio" /><label for="VerificationFinally1">同意</label></div>
<div class="rdio rdio-color_f"><input name="VerificationFinally" id="VerificationFinally2" value="2" type="radio" /><label for="VerificationFinally2">不同意</label></div>
<div class="rdio rdio-color_c"><input name="VerificationFinally" id="VerificationFinally3" value="3" type="radio" /><label for="VerificationFinally3">驳回</label></div>
</td>
</tr>
<tr class="NodeRejectStep" style="display:none">
<td class="formTitle">驳回步骤<font face="宋体">*</font></td>
</tr>
<tr class="NodeRejectStep" style="display:none">
<td class="formValue">
<div id="NodeRejectStep" type="select" class="ui-select"></div>
</td>
</tr>
<tr>
<td class="formTitle">审核意见</td>
</tr>
<tr>
<td class="formValue">
<textarea id="VerificationOpinion" class="form-control"></textarea>
</td>
</tr>
</table>
<div style="padding:5px;">
<a id="btn_Submission" class="btn btn-success btn-block"><i class="fa fa-check-circle"></i>&nbsp;提交审核</a>
</div>
</div>
<script src="~/BllScripts/clientData.js"></script>
<script>
var processSchemeId = request('processSchemeId');
var activityId = request('activityId');
var processInstanceId = request('processInstanceId');
var createusername = decodeURI(request('createusername'));
var createuserid = decodeURI(request('createuserid'));
var description = decodeURI(request('description'));
$(function () {
var schemeContent;
$('#Createusername').val(createusername);
$('#Createuserid').val(createuserid);
$('#Description').val(description);
$('#frmtab').height($.windowHeight() - 40);
$('#VerificationOpinion').height($.windowHeight() - 360);
$.SetForm({
url: "../../FlowManage/FlowInstances/GetProcessSchemeEntityByNodeId",
param: { keyValue: processSchemeId, nodeId: activityId },
success: function (data) {
schemeContent = JSON.parse(JSON.parse(data.SchemeContent).SchemeContent);
frmdata = JSON.parse(JSON.parse(data.SchemeContent).frmData);
$('#frmpreview').frmPreview({
tablecotent: schemeContent.Frm.FrmContent
});
$('#FlowPanel').flowdesign({
width: $(window).width() - 298,
height: $(window).height() - 42,
flowcontent: schemeContent.Flow,
haveTool: false,
isprocessing: true,
activityId: activityId,
nodeData: schemeContent.Flow.nodes
});
$('#frmpreview').frmSetData(frmdata);
$('#frmpreview').find('input,select,textarea,.ui-select').attr('disabled', 'disabled');
//驳回到某一步
$("#NodeRejectStep").ComboBox({
data: schemeContent.Flow.nodes,
id: "id",
text: "name",
description: "==请选择==",
allowSearch: true,
height: "300px",
});
var _node = "";
for (var i in schemeContent.Flow.nodes) {
if (schemeContent.Flow.nodes[i].id == activityId) {
_node = schemeContent.Flow.nodes[i];
break;
}
}
if (_node.setInfo != undefined && _node.setInfo.NodeRejectType == "3") {
$('input[name = "VerificationFinally"]').click(function () {
var _value = $(this).val();
var _height = $.windowHeight() - 360;
var _height1 = _height - 55;
if (_value == "3") {
$(".NodeRejectStep").show();
$("#VerificationOpinion").height(_height1);
}
else {
$(".NodeRejectStep").hide();
$("#VerificationOpinion").height(_height);
}
});
}
}
});
$('#btn_Submission').click(function () {
if (!$('#VerificationInfo').Validform()) {
return false;
}
var _verificationFinally = $('input[name = VerificationFinally]:checked').val();
if (_verificationFinally == undefined) {
dialogTop("请选择审核结果", "error");
return false;
}
var _postdata = $("#VerificationInfo").GetWebControls();
delete _postdata["VerificationFinally1"];
delete _postdata["VerificationFinally2"];
delete _postdata["VerificationFinally3"];
_postdata["VerificationFinally"] = _verificationFinally;
var index = parent.layer.getFrameIndex(window.name); //获取窗口索引
$.ConfirmAjax({
msg: "请确认是否要【提交审核】流程?",
url: "../../FlowManage/FlowInstances/VerificationProcess",
param: { processId: processInstanceId, verificationData: JSON.stringify(_postdata) },
success: function (data) {
parent.layer.close(index);
}
})
});
});
</script>
@using OpenAuth.App.SSO
@{
ViewBag.Title = "审核流程";
Layout = "~/Views/Shared/_FlowForm.cshtml";
}
<style>
body {
overflow: hidden;
}
.app_preview .item_row {
background-color: #fff;
}
.app_layout .item_field_label {
background-color: #fff;
}
.FlowPanelall {
width: 800px;
float: left;
}
.FlowInfoPanel {
float: right;
width: 300px;
height: 659px;
z-index: 1000;
background: rgba(0,0,0,0.01);
padding: 10px;
border-left: 1px solid #ccc;
}
.form .formTitle {
text-align: left;
padding-left: 5px;
}
.form .formTitle font {
right: auto !important;
margin-left: 5px;
}
.formValue input, .formValue textarea {
border-radius: 5px;
}
input, textarea {
background: #fff !important;
}
</style>
<div class="FlowPanelall">
<ul class="nav nav-tabs">
<li class="active"><a href="#frmtab" data-toggle="tab">表单信息</a></li>
<li><a href="#FlowPanel" data-toggle="tab">流程信息</a></li>
</ul>
<div class="tab-content">
<div id="frmtab" class="tab-pane active" style="overflow-y:auto;">
<div id="frmpreview" class="app_layout app_preview">
</div>
</div>
<div id="FlowPanel" class="tab-pane">
</div>
</div>
</div>
<div class="FlowInfoPanel" id="VerificationInfo">
<div style="color:#9f9f9f;padding-bottom:15px;padding-left:5px;"><i style="padding-right:5px;" class="fa fa-info-circle"></i><span>在此填写内容,提交审核</span></div>
<table class="form">
<tr>
<td class="formTitle">申请人员</td>
</tr>
<tr>
<td class="formValue">
<input id="Createusername" disabled type="text" class="form-control" isvalid="yes" checkexpession="NotNull" />
<input id="Createuserid" style="display: none" />
</td>
</tr>
<tr>
<td class="formTitle">申请备注</td>
</tr>
<tr>
<td class="formValue">
<textarea id="Description" disabled class="form-control" style="height:50px;"></textarea>
</td>
</tr>
<tr>
<td class="formTitle">审核人员<font face="宋体">*</font></td>
</tr>
<tr>
<td class="formValue">
<input id="VerificationUser" value="@AuthUtil.GetUserName()" disabled type="text" class="form-control" isvalid="yes" checkexpession="NotNull" />
</td>
</tr>
<tr>
<td class="formTitle">审核结果<font face="宋体">*</font></td>
</tr>
<tr>
<td class="formValue">
<div class="rdio rdio-color_a"><input name="VerificationFinally" id="VerificationFinally1" value="1" type="radio" /><label for="VerificationFinally1">同意</label></div>
<div class="rdio rdio-color_f"><input name="VerificationFinally" id="VerificationFinally2" value="2" type="radio" /><label for="VerificationFinally2">不同意</label></div>
<div class="rdio rdio-color_c"><input name="VerificationFinally" id="VerificationFinally3" value="3" type="radio" /><label for="VerificationFinally3">驳回</label></div>
</td>
</tr>
<tr class="NodeRejectStep" style="display:none">
<td class="formTitle">驳回步骤<font face="宋体">*</font></td>
</tr>
<tr class="NodeRejectStep" style="display:none">
<td class="formValue">
<div id="NodeRejectStep" type="select" class="ui-select"></div>
</td>
</tr>
<tr>
<td class="formTitle">审核意见</td>
</tr>
<tr>
<td class="formValue">
<textarea id="VerificationOpinion" class="form-control"></textarea>
</td>
</tr>
</table>
<div style="padding:5px;">
<a id="btn_Submission" class="btn btn-success btn-block"><i class="fa fa-check-circle"></i>&nbsp;提交审核</a>
</div>
</div>
<script src="~/BllScripts/clientData.js"></script>
<script>
var processSchemeId = request('processSchemeId');
var activityId = request('activityId');
var processInstanceId = request('processInstanceId');
var createusername = decodeURI(request('createusername'));
var createuserid = decodeURI(request('createuserid'));
var description = decodeURI(request('description'));
$(function () {
var schemeContent;
$('#Createusername').val(createusername);
$('#Createuserid').val(createuserid);
$('#Description').val(description);
$('#frmtab').height($.windowHeight() - 40);
$('#VerificationOpinion').height($.windowHeight() - 360);
$.SetForm({
url: "../../FlowManage/FlowInstances/GetProcessSchemeEntityByNodeId",
param: { keyValue: processSchemeId, nodeId: activityId },
success: function (data) {
schemeContent = JSON.parse(JSON.parse(data.SchemeContent).SchemeContent);
frmdata = JSON.parse(JSON.parse(data.SchemeContent).frmData);
$('#frmpreview').frmPreview({
tablecotent: schemeContent.Frm.FrmContent
});
$('#FlowPanel').flowdesign({
width: $(window).width() - 298,
height: $(window).height() - 42,
flowcontent: schemeContent.Flow,
haveTool: false,
isprocessing: true,
activityId: activityId,
nodeData: schemeContent.Flow.nodes
});
$('#frmpreview').frmSetData(frmdata);
$('#frmpreview').find('input,select,textarea,.ui-select').attr('disabled', 'disabled');
//驳回到某一步
$("#NodeRejectStep").ComboBox({
data: schemeContent.Flow.nodes,
id: "id",
text: "name",
description: "==请选择==",
allowSearch: true,
height: "300px",
});
var _node = "";
for (var i in schemeContent.Flow.nodes) {
if (schemeContent.Flow.nodes[i].id == activityId) {
_node = schemeContent.Flow.nodes[i];
break;
}
}
if (_node.setInfo != undefined && _node.setInfo.NodeRejectType == "3") {
$('input[name = "VerificationFinally"]').click(function () {
var _value = $(this).val();
var _height = $.windowHeight() - 360;
var _height1 = _height - 55;
if (_value == "3") {
$(".NodeRejectStep").show();
$("#VerificationOpinion").height(_height1);
}
else {
$(".NodeRejectStep").hide();
$("#VerificationOpinion").height(_height);
}
});
}
}
});
$('#btn_Submission').click(function () {
if (!$('#VerificationInfo').Validform()) {
return false;
}
var _verificationFinally = $('input[name = VerificationFinally]:checked').val();
if (_verificationFinally == undefined) {
dialogTop("请选择审核结果", "error");
return false;
}
var _postdata = $("#VerificationInfo").GetWebControls();
delete _postdata["VerificationFinally1"];
delete _postdata["VerificationFinally2"];
delete _postdata["VerificationFinally3"];
_postdata["VerificationFinally"] = _verificationFinally;
var index = parent.layer.getFrameIndex(window.name); //获取窗口索引
$.ConfirmAjax({
msg: "请确认是否要【提交审核】流程?",
url: "../../FlowManage/FlowInstances/VerificationProcess",
param: { processId: processInstanceId, verificationData: JSON.stringify(_postdata) },
success: function (data) {
parent.layer.close(index);
}
})
});
});
</script>