mirror of
https://gitee.com/dotnetchina/OpenAuth.Net.git
synced 2026-04-07 17:41:28 +08:00
基于原有gooflow的改造
This commit is contained in:
@@ -1,76 +0,0 @@
|
||||
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)
|
||||
{
|
||||
var response = new Response<string>();
|
||||
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);
|
||||
response.Result = result;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
response.Message = "文件过大";
|
||||
response.Code = 500;
|
||||
}
|
||||
|
||||
return JsonHelper.Instance.Serialize(response);
|
||||
|
||||
}
|
||||
|
||||
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;
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,164 +0,0 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Data;
|
||||
using System.Web.Mvc;
|
||||
using System.Web.UI.WebControls;
|
||||
using Infrastructure;
|
||||
using OpenAuth.App;
|
||||
using OpenAuth.App.SSO;
|
||||
using OpenAuth.Mvc.Controllers;
|
||||
using OpenAuth.Repository.Domain;
|
||||
|
||||
namespace OpenAuth.Mvc.Areas.FlowManage.Controllers
|
||||
{
|
||||
|
||||
/// <summary>
|
||||
/// 流程设计
|
||||
/// <para>李玉宝新增于2017-01-12 19:41:56</para>
|
||||
/// </summary>
|
||||
public class FlowDesignController :BaseController
|
||||
{
|
||||
public WFSchemeService WfFlowInfoBll { get; set; }
|
||||
|
||||
#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(string 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(string 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(string[] 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
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
@@ -1,230 +0,0 @@
|
||||
using Infrastructure;
|
||||
using OpenAuth.App;
|
||||
using OpenAuth.App.SSO;
|
||||
using OpenAuth.Mvc.Controllers;
|
||||
using System;
|
||||
using System.Web.Mvc;
|
||||
using OpenAuth.Repository.Domain;
|
||||
|
||||
namespace OpenAuth.Mvc.Areas.FlowManage.Controllers
|
||||
{
|
||||
/// <summary>
|
||||
/// 通用申请流程处理
|
||||
/// <para>李玉宝新增于2016-09-08 19:21:59</para>
|
||||
/// </summary>
|
||||
public class FlowInstancesController : BaseController
|
||||
{
|
||||
public WFProcessInstanceService App { get; set; }
|
||||
|
||||
#region 视图
|
||||
|
||||
public ActionResult Index()
|
||||
{
|
||||
return View();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 进度查看
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
[HttpGet]
|
||||
public ActionResult ProcessLookForm()
|
||||
{
|
||||
return View();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 审核流程
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
[HttpGet]
|
||||
public ActionResult VerificationForm()
|
||||
{
|
||||
return View();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 创建流程实例视图
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
[HttpGet]
|
||||
public ActionResult FlowProcessNewForm()
|
||||
{
|
||||
return View();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 流程监控
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
[HttpGet]
|
||||
public ActionResult MonitoringIndex()
|
||||
{
|
||||
return View();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 流程指派
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
[HttpGet]
|
||||
public ActionResult DesignationIndex()
|
||||
{
|
||||
return View();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 流程进度查看
|
||||
/// </summary>
|
||||
/// <returns></returns>\
|
||||
[HttpGet]
|
||||
public ActionResult ProcessLookFrom()
|
||||
{
|
||||
return View();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 流程指派
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
[HttpGet]
|
||||
public ActionResult ProcessDesignate()
|
||||
{
|
||||
return View();
|
||||
}
|
||||
|
||||
#endregion 视图
|
||||
|
||||
#region 提交数据
|
||||
|
||||
/// <summary>
|
||||
/// 创建流程实例
|
||||
/// </summary>
|
||||
/// <param name="wfSchemeInfoId">流程模板信息Id</param>
|
||||
/// <param name="frmData">表单数据</param>
|
||||
/// <param name="type">0发起,3草稿</param>
|
||||
/// <returns></returns>
|
||||
[HttpPost]
|
||||
public string CreateProcess(string wfSchemeInfoId, string wfProcessInstanceJson, string frmData)
|
||||
{
|
||||
WFProcessInstance wfProcessInstanceEntity = wfProcessInstanceJson.ToObject<WFProcessInstance>();
|
||||
wfProcessInstanceEntity.Id = string.Empty;
|
||||
|
||||
App.CreateInstance(Guid.NewGuid().ToString(), wfSchemeInfoId, wfProcessInstanceEntity, frmData);
|
||||
|
||||
return Result.ToJson();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 审核流程
|
||||
/// </summary>
|
||||
/// <param name="processId">工作流实例主键Id</param>
|
||||
/// <param name="verificationData">审核数据</param>
|
||||
/// <returns></returns>
|
||||
[HttpPost]
|
||||
public string VerificationProcess(string processId, string verificationData)
|
||||
{
|
||||
App.VerificationProcess(processId, verificationData);
|
||||
return Result.ToJson();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 删除申请
|
||||
/// </summary>
|
||||
public string Delete(string[] ids)
|
||||
{
|
||||
try
|
||||
{
|
||||
foreach (var id in ids)
|
||||
{
|
||||
App.DeleteProcess(id);
|
||||
}
|
||||
return Result.ToJson();
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
Result.Code = 500;
|
||||
Result.Message = e.Message;
|
||||
return Result.ToJson();
|
||||
}
|
||||
}
|
||||
|
||||
#endregion 提交数据
|
||||
|
||||
#region 获取数据(公用)
|
||||
|
||||
/// <summary>
|
||||
/// 获取进程模板Json
|
||||
/// </summary>
|
||||
/// <param name="keyValue"></param>
|
||||
/// <returns></returns>
|
||||
[HttpGet]
|
||||
public ActionResult GetProcessSchemeJson(string keyValue)
|
||||
{
|
||||
var data = App.GetProcessSchemeEntity(keyValue);
|
||||
return Content(data.ToJson());
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 已办流程进度查看,根据当前访问人的权限查看表单内容
|
||||
/// </summary>
|
||||
/// <param name="keyValue"></param>
|
||||
/// <returns></returns>
|
||||
[HttpGet]
|
||||
public ActionResult GetProcessSchemeEntityByUserId(string keyValue)
|
||||
{
|
||||
var data = App.GetProcessSchemeByUserId(keyValue);
|
||||
return Content(data.ToJson());
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 已办流程进度查看,根据当前节点的权限查看表单内容
|
||||
/// </summary>
|
||||
/// <param name="keyValue"></param>
|
||||
/// <param name="isPermission"></param>
|
||||
/// <returns></returns>
|
||||
[HttpGet]
|
||||
public ActionResult GetProcessSchemeEntityByNodeId(string keyValue, string nodeId)
|
||||
{
|
||||
var data = App.GetProcessSchemeEntityByNodeId(keyValue, nodeId);
|
||||
return Content(data.ToJson());
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 获取进程信息
|
||||
/// </summary>
|
||||
/// <param name="keyValue"></param>
|
||||
/// <returns></returns>
|
||||
[HttpGet]
|
||||
public ActionResult GetProcessInfoJson(string keyValue)
|
||||
{
|
||||
var processInstance = App.GetProcessInstanceEntity(keyValue);
|
||||
var processScheme = App.GetProcessSchemeEntity(processInstance.ProcessSchemeId);
|
||||
var JsonData = new
|
||||
{
|
||||
processInstance = processInstance,
|
||||
processScheme = processScheme
|
||||
};
|
||||
return Content(JsonData.ToJson());
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 获取进程实例
|
||||
/// </summary>
|
||||
/// <param name="keyValue"></param>
|
||||
/// <returns></returns>
|
||||
[HttpGet]
|
||||
public ActionResult GetProcessInstanceJson(string keyValue)
|
||||
{
|
||||
var processInstance = App.GetProcessInstanceEntity(keyValue);
|
||||
return Content(processInstance.ToJson());
|
||||
}
|
||||
|
||||
public string Load(string type, int pageCurrent = 1, int pageSize = 30)
|
||||
{
|
||||
return JsonHelper.Instance.Serialize(App.Load(AuthUtil.GetCurrentUser().User.Id.ToString(), type, pageCurrent, pageSize));
|
||||
}
|
||||
|
||||
#endregion 获取数据(公用)
|
||||
}
|
||||
}
|
||||
@@ -1,24 +0,0 @@
|
||||
using System.Web.Mvc;
|
||||
|
||||
namespace OpenAuth.Mvc.Areas.FlowManage
|
||||
{
|
||||
public class FlowManageAreaRegistration : AreaRegistration
|
||||
{
|
||||
public override string AreaName
|
||||
{
|
||||
get
|
||||
{
|
||||
return "FlowManage";
|
||||
}
|
||||
}
|
||||
|
||||
public override void RegisterArea(AreaRegistrationContext context)
|
||||
{
|
||||
context.MapRoute(
|
||||
"FlowManage_default",
|
||||
"FlowManage/{controller}/{action}/{id}",
|
||||
new { action = "Index", id = UrlParameter.Optional }
|
||||
);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,207 +0,0 @@
|
||||
@{
|
||||
ViewBag.Title = "流转条件设置";
|
||||
Layout = "~/Views/Shared/_Form.cshtml";
|
||||
}
|
||||
<!--jqgrid表格组件start-->
|
||||
<link href="~/Content/scripts/plugins/jqgrid/jqgrid.css" rel="stylesheet" />
|
||||
<script src="~/Content/scripts/plugins/jqgrid/grid.locale-cn.js"></script>
|
||||
<script src="~/Content/scripts/plugins/jqgrid/jqgrid.min.js"></script>
|
||||
<!--表格组件end-->
|
||||
<script>
|
||||
var frmtype, lineobject, fromnode, frmCotent, nodePramData;
|
||||
$(function () {
|
||||
initLoadPageData();
|
||||
GetGrid();
|
||||
InitControl();
|
||||
});
|
||||
function initLoadPageData() {
|
||||
var _FlowDesignObject = parent.FlowDesignObject;
|
||||
lineobject = _FlowDesignObject.$lineData[parent.LineId];
|
||||
lineobject.id = parent.LineId;
|
||||
fromnode = _FlowDesignObject.$nodeData[lineobject.from];
|
||||
|
||||
frmtype = parent.postData["FrmType"];
|
||||
if (frmtype == 0) {
|
||||
frmCotent = JSON.parse(top.FlowSchemeBuider.frmData["FrmContent"]);
|
||||
}
|
||||
else {
|
||||
nodePramData = top.FlowSchemeBuider.nodePramData;
|
||||
}
|
||||
console.log(frmCotent);
|
||||
|
||||
|
||||
$("#LineName").val(lineobject.name);
|
||||
}
|
||||
|
||||
//获取对象给控件赋值
|
||||
var SetJsonData;
|
||||
function InitControl() {
|
||||
if (lineobject.setInfo) {
|
||||
$("#gridTable")[0].addJSONData(lineobject.setInfo.ConditionJson);
|
||||
}
|
||||
}
|
||||
//加载表格
|
||||
function GetGrid() {
|
||||
//显示表里面字段
|
||||
var FieldValue = ":";
|
||||
if (frmtype == 0) {//自定义表单
|
||||
$.each(frmCotent, function (i, item) {
|
||||
if (item.control_type != 'image' && item.control_type != 'upload') {
|
||||
FieldValue += ";" + item.control_field + ":" + item.control_label;
|
||||
}
|
||||
});
|
||||
}
|
||||
else {//系统表单
|
||||
$.each(nodePramData, function (i, item) {
|
||||
FieldValue += ";" + item.column + ":" + item.remark;
|
||||
});
|
||||
}
|
||||
var lastsel = 0;
|
||||
$("#gridTable").jqGrid({
|
||||
datatype: "local",
|
||||
height: 271,
|
||||
autowidth: true,
|
||||
colModel: [
|
||||
{ label: '字段ID', name: 'FieldId', index: 'FieldId', hidden: true },
|
||||
{
|
||||
label: "字段名称", name: "FieldName", index: "FieldName", width: 240, sortable: false, editable: true, edittype: 'select', editoptions: {
|
||||
value: FieldValue
|
||||
}
|
||||
},
|
||||
{ label: '比较Id', name: 'FilterId', index: 'FilterId', hidden: true },
|
||||
{
|
||||
label: "比较", name: "FilterName", index: "FilterName", align: 'center', width: 80, sortable: false, editable: true, edittype: 'select', editoptions: {
|
||||
value: ":;Equal:等于;NotEqual:不等于;Greater:大于;GreaterThan:大于等于;Less:小于;LessThan:小于等于;Null:为空;NotNull:不为空;Like:包含;NotLike:不包含"//;LeftLike:左包含;RightLike:右包含"
|
||||
}
|
||||
},
|
||||
{ label: "比较值", name: "FilterValue", index: "FilterValue", width: 300, sortable: false, editable: true },
|
||||
{
|
||||
label: "逻辑", name: "Logic", index: "Logic", width: 60, sortable: false, editable: true, edittype: 'select', editoptions: {
|
||||
value: ":;并且:并且;或:或"
|
||||
}
|
||||
}
|
||||
],
|
||||
pager: "false",
|
||||
rowNum: 300,
|
||||
rownumbers: true,
|
||||
shrinkToFit: false,
|
||||
altRows: false,
|
||||
onSelectRow: function (id) {
|
||||
var RowData = {
|
||||
FieldId: $("[name='FieldName']").val(),
|
||||
FieldName: $("[name='FieldName']").find('option:selected').text(),
|
||||
FilterId: $("[name='FilterName']").val(),
|
||||
FilterName: $("[name='FilterName']").find('option:selected').text(),
|
||||
FilterValue: $("[name='FilterValue']").val(),
|
||||
Logic: $("[name='Logic']").val(),
|
||||
}
|
||||
$('#gridTable').jqGrid('restoreRow', lastsel);
|
||||
$('#gridTable').jqGrid('editRow', id, true);
|
||||
$('#gridTable').jqGrid('setRowData', lastsel, RowData, '');
|
||||
lastsel = id;
|
||||
}
|
||||
});
|
||||
$('#gridTable').jqGrid('restoreRow', 1);
|
||||
$('#gridTable').jqGrid('addRowData', 1, {}, "last");
|
||||
//表格自适应(高度、宽度)
|
||||
$(window).resize(function () {
|
||||
$("#gridTable").jqGrid('setGridWidth', $(window).width() - 4);
|
||||
});
|
||||
}
|
||||
//增加栏位
|
||||
var rownum = 1;
|
||||
function btn_add() {
|
||||
$('#gridTable').jqGrid('restoreRow', rownum+1);
|
||||
$('#gridTable').jqGrid('addRowData', rownum+1, {}, "last");
|
||||
rownum++;
|
||||
}
|
||||
//删除栏位
|
||||
function btn_delete()
|
||||
{
|
||||
$('#gridTable').jqGrid('restoreRow', rownum);
|
||||
$('#gridTable').jqGrid('delRowData', rownum);
|
||||
rownum--;
|
||||
}
|
||||
//保存事件
|
||||
function AcceptClick(callBack) {
|
||||
var index = $("#gridTable").jqGrid('getGridParam', 'selrow');
|
||||
var RowData = {
|
||||
FieldId: $("[name='FieldName']").val(),
|
||||
FieldName: $("[name='FieldName']").find('option:selected').text(),
|
||||
FilterId: $("[name='FilterName']").val(),
|
||||
FilterName: $("[name='FilterName']").find('option:selected').text(),
|
||||
FilterValue: $("[name='FilterValue']").val(),
|
||||
Logic: $("[name='Logic']").val(),
|
||||
}
|
||||
$('#gridTable').jqGrid('setRowData', index, RowData, '');
|
||||
var ConditionJson = $("#gridTable").jqGrid("getRowData");
|
||||
var ConditionValueJson = [];
|
||||
for (var i = 0; i < ConditionJson.length; i++) {
|
||||
if (ConditionJson[i].FieldId) {
|
||||
var Logic = "AND";
|
||||
if (ConditionJson[i].Logic) {
|
||||
Logic = ConditionJson[i].Logic == "并且" ? "AND" : "OR";
|
||||
}
|
||||
var tdData = {
|
||||
ParamName: ConditionJson[i].FieldId,
|
||||
Operation: ConditionJson[i].FilterId,
|
||||
ParamValue: ConditionJson[i].FilterValue,
|
||||
Logic: Logic,
|
||||
}
|
||||
ConditionValueJson.push(tdData);
|
||||
}
|
||||
}
|
||||
var postData = {
|
||||
LineName: $("#LineName").val(),
|
||||
ConditionJson: ConditionJson,
|
||||
ConditionValueJson: ConditionValueJson
|
||||
}
|
||||
top.FlowSchemeBuider.callBackLine(lineobject.id, postData);
|
||||
dialogClose();
|
||||
}
|
||||
</script>
|
||||
<form id="form1">
|
||||
<div style="margin: 10px;">
|
||||
<input id="LineName" type="text" class="form-control" placeholder="请输入箭头标签" style="width: 260px;display:inline-block;" />
|
||||
<div style="float:right;">
|
||||
<div class="btn-group">
|
||||
<a id="btn_add" class="btn btn-default btn-sm" onclick="btn_add()"><i class="fa fa-plus"></i> 添加栏位</a>
|
||||
<a id="btn_delete" class="btn btn-default btn-sm" onclick="btn_delete()"><i class="fa fa-minus"></i> 删除栏位</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div>
|
||||
<div style=" overflow: auto; height: 301px;">
|
||||
<div id="seniorcondition" class="tabPanel">
|
||||
<table id="gridTable"></table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
<style>
|
||||
.ui-widget-content {
|
||||
border-left: none;
|
||||
border-bottom: none;
|
||||
}
|
||||
.ui-jqgrid tr.ui-row-ltr td {
|
||||
padding: 0px;
|
||||
}
|
||||
.ui-widget-content .ui-state-hover {
|
||||
background: #fff;
|
||||
}
|
||||
.ui-widget-content .ui-state-highlight {
|
||||
background: #fff;
|
||||
color: #000;
|
||||
}
|
||||
.unwritten {
|
||||
display:none;
|
||||
}
|
||||
.ui-jqgrid tr.ui-row-ltr td {
|
||||
border-right: 1px solid #ccc;
|
||||
}
|
||||
option {
|
||||
font-family:微软雅黑,宋体,Arial,Helvetica,Verdana,sans-serif;
|
||||
font-size:9pt;
|
||||
}
|
||||
</style>
|
||||
|
||||
@@ -1,415 +0,0 @@
|
||||
@{
|
||||
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: "value",
|
||||
text: "text",
|
||||
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 = $("#UserDiv");
|
||||
if (et == 1) {
|
||||
var html = '<span id="' + item.id
|
||||
+ '" data-value="User" class="flow-card-box label label-danger">'
|
||||
+ 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> 角色</div>
|
||||
</div>
|
||||
<div id="PostDiv" class="flow-portal-panel">
|
||||
<div class="flow-portal-panel-title"><i class="fa fa-graduation-cap"></i> 岗位</div>
|
||||
</div>
|
||||
<div id="UserGroupDiv" class="flow-portal-panel">
|
||||
<div class="flow-portal-panel-title"><i class="fa fa-group"></i> 用户组</div>
|
||||
</div>
|
||||
<div id="UserDiv" class="flow-portal-panel">
|
||||
<div class="flow-portal-panel-title"><i class="fa fa-user"></i> 用户</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> 表单权限配置(默认都是勾选的)
|
||||
</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>
|
||||
@@ -1,423 +0,0 @@
|
||||
@{
|
||||
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",
|
||||
url:"/UserManager/GetAccessedUsers",
|
||||
success: function (data) {
|
||||
AllAuthorizeCheckData[type] = $.arrayClone(data);
|
||||
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
/*=========表单选择(begin)==================================================================*/
|
||||
var _frmdatabase = "";
|
||||
var _frmflag = false;
|
||||
function initFrmInfo() {
|
||||
//加载左边的树
|
||||
var item = {
|
||||
height: $(window).height() - 87,
|
||||
url: "../../FlowManage/FormDesign/GetAllListJson",
|
||||
onnodeclick: function (item) {
|
||||
|
||||
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);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
}
|
||||
};
|
||||
$("#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>
|
||||
@@ -1,41 +0,0 @@
|
||||
@{
|
||||
Layout = "~/Views/Shared/_Layout.cshtml";
|
||||
}
|
||||
|
||||
<!-- #section:basics/content.breadcrumbs -->
|
||||
<div class="breadcrumbs" id="breadcrumbs">
|
||||
<ul class="breadcrumb">
|
||||
<li>
|
||||
<i class="ace-icon fa fa-home home-icon"></i>
|
||||
<a href="#">流程模版</a>
|
||||
</li>
|
||||
<li class="active">列表</li>
|
||||
</ul><!-- /.breadcrumb -->
|
||||
</div>
|
||||
|
||||
<div class="page-content">
|
||||
<div class="row">
|
||||
<div class="col-md-12">
|
||||
<div class="widget-box widget-color-blue">
|
||||
<div class="widget-header">
|
||||
@Html.Action("MenuHeader", "Home", new {area=""})
|
||||
</div>
|
||||
<div class="widget-body gridwidth">
|
||||
<div class="widget-main">
|
||||
<div class="row">
|
||||
<div class="col-md-12 ">
|
||||
<table id="maingrid"></table>
|
||||
<div id="grid-pager"></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div><!-- /.page-content -->
|
||||
|
||||
<script src="~/BllScripts/grid.js"></script>
|
||||
<script src="~/BllScripts/flowDesign.js"></script>
|
||||
<script src="~/BllScripts/jqEvent.js"></script>
|
||||
|
||||
@@ -1,113 +0,0 @@
|
||||
@{
|
||||
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()"> 流程预览</a>
|
||||
<a class="btn btn-default" onclick="frmshow()"> 表单预览</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>
|
||||
@@ -1,156 +0,0 @@
|
||||
@{
|
||||
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>
|
||||
@@ -1,56 +0,0 @@
|
||||
@{
|
||||
Layout = "~/Views/Shared/_Layout.cshtml";
|
||||
}
|
||||
|
||||
<!-- #section:basics/content.breadcrumbs -->
|
||||
<div class="breadcrumbs" id="breadcrumbs">
|
||||
<ul class="breadcrumb">
|
||||
<li>
|
||||
<i class="ace-icon fa fa-home home-icon"></i>
|
||||
<a href="#">申请管理</a>
|
||||
</li>
|
||||
<li class="active">列表</li>
|
||||
</ul><!-- /.breadcrumb -->
|
||||
</div>
|
||||
|
||||
<!-- /section:basics/content.breadcrumbs -->
|
||||
<div class="page-content">
|
||||
<div class="row">
|
||||
<div class="col-md-12">
|
||||
<div class="col-md-3">
|
||||
<div class="widget-box widget-color-blue">
|
||||
<div class="widget-header">
|
||||
</div>
|
||||
<div class="widget-body">
|
||||
<div class="widget-main">
|
||||
<ul id="orgtree" class="ztree" style="width: 100%"></ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-9">
|
||||
<div class="widget-box widget-color-blue">
|
||||
<div class="widget-header">
|
||||
@Html.Action("MenuHeader", "Home", new {area=""})
|
||||
</div>
|
||||
<div class="widget-body gridwidth">
|
||||
<div class="widget-main">
|
||||
<div class="row">
|
||||
<div class="col-md-12 ">
|
||||
<table id="maingrid"></table>
|
||||
<div id="grid-pager"></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div><!-- /.page-content -->
|
||||
|
||||
<script src="~/BllScripts/grid.js"></script>
|
||||
<script src="~/BllScripts/flowInstance.js"></script>
|
||||
<script src="~/BllScripts/jqEvent.js"></script>
|
||||
|
||||
|
||||
@@ -1,48 +0,0 @@
|
||||
@{
|
||||
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>
|
||||
@@ -1,223 +0,0 @@
|
||||
@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> 提交审核</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>
|
||||
@@ -1,36 +0,0 @@
|
||||
@{
|
||||
ViewBag.Title = "表单预览";
|
||||
Layout = "~/Views/Shared/_FlowForm.cshtml";
|
||||
}
|
||||
<script>
|
||||
var keyValue = request('keyValue');
|
||||
$(function () {
|
||||
$('#formAreas').css("min-height", $(window).height() - 82);
|
||||
$('#formAreas').css("width", $(window).width() * 0.9);
|
||||
$('#previewpage').css("height", $(window).height()-20);
|
||||
$.SetForm({
|
||||
url: "../../FlowManage/FormDesign/GetFormJson",
|
||||
param: { keyValue: keyValue },
|
||||
success: function (data) {
|
||||
$('#frmpreview').frmPreview({
|
||||
tablecotent: data.FrmContent
|
||||
});
|
||||
$('#frmname').html(data.FrmName);
|
||||
}
|
||||
});
|
||||
//resize重设(表格、树形)宽高
|
||||
$(window).resize(function (e) {
|
||||
window.setTimeout(function () {
|
||||
$('#previewpage').css("height", e.currentTarget.innerHeight-20);
|
||||
$('#formAreas').css("min-height", e.currentTarget.innerHeight - 82).css("width", e.currentTarget.innerWidth * 0.9);
|
||||
}, 200);
|
||||
e.stopPropagation();
|
||||
});
|
||||
});
|
||||
</script>
|
||||
<div id="previewpage" style="overflow-y:auto;background-color:#fff;margin:10px;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>
|
||||
@@ -1,238 +0,0 @@
|
||||
@{
|
||||
ViewBag.Title = "表单创建";
|
||||
Layout = "~/Views/Shared/_FlowForm.cshtml";
|
||||
}
|
||||
<script>
|
||||
var keyValue = request('keyValue');
|
||||
var postData = {};//提交数据
|
||||
var frmdatabase = "";
|
||||
var frmapp = "";
|
||||
$(function () {
|
||||
initialPage();
|
||||
})
|
||||
//初始化页面
|
||||
function initialPage() {
|
||||
$('#step-1 .panel-body').height($(window).height() - 228);
|
||||
$('#Description').height($(window).height() - 380);
|
||||
$('#step-2 .tab-content').height($(window).height() - 87);
|
||||
initBaseInfo();
|
||||
//加载导向
|
||||
$('#wizard').wizard().on('change', function (e, data) {
|
||||
var $finish = $("#btn_finish");
|
||||
var $next = $("#btn_next");
|
||||
if (data.direction == "next") {
|
||||
switch (data.step) {
|
||||
case 1:
|
||||
return bindingBase();
|
||||
break;
|
||||
case 2://绑定表单
|
||||
if (!bindingFrm()) {
|
||||
return false;
|
||||
}
|
||||
$finish.removeAttr('disabled');
|
||||
$next.attr('disabled', 'disabled');
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
} else {
|
||||
$finish.attr('disabled', 'disabled');
|
||||
$next.removeAttr('disabled');
|
||||
}
|
||||
});
|
||||
$('input[name="isSystemTable"]').click(function () {
|
||||
var value = $(this).val();
|
||||
if (value == 0) {
|
||||
$('.Systemtable').hide();
|
||||
$('.Systemtable').find('.ui-select').removeAttr('isvalid');
|
||||
$('.Systemtable').find('.ui-select').removeAttr('checkexpession');
|
||||
}
|
||||
else {
|
||||
$('.Systemtable').show();
|
||||
$('.Systemtable').find('.ui-select').attr('isvalid', 'yes');
|
||||
$('.Systemtable').find('.ui-select').attr('checkexpession', 'NotNull');
|
||||
}
|
||||
});
|
||||
//获取表单
|
||||
if (!!keyValue) {
|
||||
//获取表单
|
||||
$.SetForm({
|
||||
url: "../../FlowManage/FormDesign/GetFormJson",
|
||||
param: { keyValue: keyValue },
|
||||
success: function (data) {
|
||||
$("#step-1").SetWebControls(data);
|
||||
$('#isSystemTable' + data.isSystemTable).trigger('click');
|
||||
if (data.isSystemTable == 1)
|
||||
{
|
||||
$("#step-1").find("#FrmDbId").trigger("change");
|
||||
$("#step-1").find("#FrmTable").ComboBoxSetValue(data.FrmTable);
|
||||
$("#step-1").find("#FrmTable").trigger("change");
|
||||
$("#step-1").find("#FrmTableId").ComboBoxSetValue(data.FrmTableId);
|
||||
}
|
||||
|
||||
setFrmInfo(data);
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
/*=========基本配置(begin)==================================================================*/
|
||||
function initBaseInfo()
|
||||
{
|
||||
//性别
|
||||
$("#Gender").ComboBox({
|
||||
description: "==请选择==",
|
||||
});
|
||||
|
||||
}
|
||||
function bindingBase()
|
||||
{
|
||||
if (!$('#step-1').Validform()) {
|
||||
return false;
|
||||
}
|
||||
var _postData = $("#step-1").GetWebControls(keyValue);
|
||||
postData.isSystemTable = $('input[name="isSystemTable"]:checked').val();
|
||||
postData = $.extend(postData, _postData);
|
||||
setFrmInfo(postData);
|
||||
return true;
|
||||
}
|
||||
/*=========基本配置(end)====================================================================*/
|
||||
|
||||
/*=========表单选择(begin)==================================================================*/
|
||||
function setFrmInfo(data)
|
||||
{
|
||||
var _height = $(window).height() - 87 < 410 ? 410 : $(window).height() - 87;
|
||||
postData.FrmContent = data.FrmContent;
|
||||
if (data.isSystemTable == "0") {
|
||||
frmapp = $('#frmdesign').frmDesign({
|
||||
Height: _height,
|
||||
frmContent: postData.FrmContent
|
||||
});
|
||||
}
|
||||
else {
|
||||
var _frmdatabase = [];
|
||||
for (var i in frmdatabase)
|
||||
{
|
||||
if (frmdatabase[i].column != postData.FrmTableId)
|
||||
{
|
||||
_frmdatabase.push(frmdatabase[i]);
|
||||
}
|
||||
}
|
||||
frmapp = $('#frmdesign').frmDesign({
|
||||
Height: _height,
|
||||
tablefiledJsonData: _frmdatabase,
|
||||
isSystemTable: postData.isSystemTable,
|
||||
frmContent: postData.FrmContent
|
||||
});
|
||||
}
|
||||
}
|
||||
function bindingFrm() {
|
||||
var frmcotentls = frmapp.getData();
|
||||
if (!frmcotentls) {
|
||||
return false;
|
||||
}
|
||||
postData.FrmContent = JSON.stringify(frmcotentls);
|
||||
return true;
|
||||
}
|
||||
/*=========表单选择(end)====================================================================*/
|
||||
|
||||
/*=========创建完成(begin)==================================================================*/
|
||||
function finishbtn() {
|
||||
postData["EnabledMark"] = 1;
|
||||
var index = parent.layer.getFrameIndex(window.name); //获取窗口索引
|
||||
$.SaveForm({
|
||||
url: "../../FlowManage/FormDesign/SaveForm?keyValue=" + keyValue,
|
||||
param: postData,
|
||||
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-4"><span class="step">3</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="FrmCode" 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="FrmName" type="text" class="form-control" placeholder="请输入名称" isvalid="yes" checkexpession="NotNull" />
|
||||
</td>
|
||||
</tr>
|
||||
<tr style="display:none">
|
||||
<td class="formTitle">是否建表<font face="宋体">*</font></td>
|
||||
<td class="formValue">
|
||||
<div class="rdio rdio-color_a"><input type="radio" name="isSystemTable" id="isSystemTable0" value="0" checked /><label for="isSystemTable0">否</label></div>
|
||||
<div class="rdio rdio-color_c"><input type="radio" name="isSystemTable" id="isSystemTable1" value="1" /><label for="isSystemTable1">是</label></div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="Systemtable" style="display:none">
|
||||
<td class="formTitle">数据库<font face="宋体">*</font></td>
|
||||
<td class="formValue">
|
||||
<div id="FrmDbId" type="selectTree" class="ui-select"></div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="Systemtable" style="display:none">
|
||||
<td class="formTitle">数据表<font face="宋体">*</font></td>
|
||||
<td class="formValue">
|
||||
<div id="FrmTable" type="select" class="ui-select"></div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="Systemtable" style="display:none">
|
||||
<td class="formTitle">绑定主键<font face="宋体">*</font></td>
|
||||
<td class="formValue">
|
||||
<div id="FrmTableId" type="select" class="ui-select"></div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th class="formTitle formTitle-top">
|
||||
备注
|
||||
</th>
|
||||
<td class="formValue">
|
||||
<textarea id="Description" class="form-control" style="height: 180px;"></textarea>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="step-pane flowapp" id="step-2">
|
||||
<div id="frmdesign"></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>
|
||||
@@ -1,41 +0,0 @@
|
||||
@{
|
||||
Layout = "~/Views/Shared/_Layout.cshtml";
|
||||
}
|
||||
|
||||
<!-- #section:basics/content.breadcrumbs -->
|
||||
<div class="breadcrumbs" id="breadcrumbs">
|
||||
<ul class="breadcrumb">
|
||||
<li>
|
||||
<i class="ace-icon fa fa-home home-icon"></i>
|
||||
<a href="#">表单设计</a>
|
||||
</li>
|
||||
<li class="active">列表</li>
|
||||
</ul><!-- /.breadcrumb -->
|
||||
</div>
|
||||
|
||||
<div class="page-content">
|
||||
<div class="row">
|
||||
<div class="col-md-12">
|
||||
<div class="widget-box widget-color-blue">
|
||||
<div class="widget-header">
|
||||
@Html.Action("MenuHeader", "Home", new {area=""})
|
||||
</div>
|
||||
<div class="widget-body gridwidth">
|
||||
<div class="widget-main">
|
||||
<div class="row">
|
||||
<div class="col-md-12 ">
|
||||
<table id="maingrid"></table>
|
||||
<div id="grid-pager"></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div><!-- /.page-content -->
|
||||
|
||||
<script src="~/BllScripts/grid.js"></script>
|
||||
<script src="~/BllScripts/formDesign.js"></script>
|
||||
<script src="~/BllScripts/jqEvent.js"></script>
|
||||
|
||||
@@ -1,36 +0,0 @@
|
||||
<?xml version="1.0"?>
|
||||
|
||||
<configuration>
|
||||
<configSections>
|
||||
<sectionGroup name="system.web.webPages.razor" type="System.Web.WebPages.Razor.Configuration.RazorWebSectionGroup, System.Web.WebPages.Razor, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35">
|
||||
<section name="host" type="System.Web.WebPages.Razor.Configuration.HostSection, System.Web.WebPages.Razor, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" />
|
||||
<section name="pages" type="System.Web.WebPages.Razor.Configuration.RazorPagesSection, System.Web.WebPages.Razor, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" />
|
||||
</sectionGroup>
|
||||
</configSections>
|
||||
|
||||
<system.web.webPages.razor>
|
||||
<host factoryType="System.Web.Mvc.MvcWebRazorHostFactory, System.Web.Mvc, Version=5.2.3.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
|
||||
<pages pageBaseType="System.Web.Mvc.WebViewPage">
|
||||
<namespaces>
|
||||
<add namespace="System.Web.Mvc" />
|
||||
<add namespace="System.Web.Mvc.Ajax" />
|
||||
<add namespace="System.Web.Mvc.Html" />
|
||||
<add namespace="System.Web.Routing" />
|
||||
<add namespace="System.Web.Optimization" />
|
||||
<add namespace="OpenAuth.Mvc" />
|
||||
|
||||
</namespaces>
|
||||
</pages>
|
||||
</system.web.webPages.razor>
|
||||
|
||||
<appSettings>
|
||||
<add key="webpages:Enabled" value="false" />
|
||||
</appSettings>
|
||||
|
||||
<system.webServer>
|
||||
<handlers>
|
||||
<remove name="BlockViewHandler"/>
|
||||
<add name="BlockViewHandler" path="*" verb="*" preCondition="integratedMode" type="System.Web.HttpNotFoundHandler" />
|
||||
</handlers>
|
||||
</system.webServer>
|
||||
</configuration>
|
||||
81
OpenAuth.Mvc/Controllers/FlowInstancesController.cs
Normal file
81
OpenAuth.Mvc/Controllers/FlowInstancesController.cs
Normal file
@@ -0,0 +1,81 @@
|
||||
using System;
|
||||
using System.Web.Http;
|
||||
using System.Web.Mvc;
|
||||
using Infrastructure;
|
||||
using OpenAuth.App;
|
||||
using OpenAuth.App.Request;
|
||||
using OpenAuth.Mvc.Models;
|
||||
using OpenAuth.Repository.Domain;
|
||||
|
||||
namespace OpenAuth.Mvc.Controllers
|
||||
{
|
||||
public class FlowInstancesController : BaseController
|
||||
{
|
||||
public FlowInstanceApp App { get; set; }
|
||||
|
||||
//
|
||||
[Authenticate]
|
||||
public ActionResult Index()
|
||||
{
|
||||
return View();
|
||||
}
|
||||
|
||||
//添加或修改
|
||||
[System.Web.Mvc.HttpPost]
|
||||
public string Add(FlowInstance obj)
|
||||
{
|
||||
try
|
||||
{
|
||||
App.Add(obj);
|
||||
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
Result.Code = 500;
|
||||
Result.Message = ex.Message;
|
||||
}
|
||||
return JsonHelper.Instance.Serialize(Result);
|
||||
}
|
||||
|
||||
//添加或修改
|
||||
[System.Web.Mvc.HttpPost]
|
||||
public string Update(FlowInstance obj)
|
||||
{
|
||||
try
|
||||
{
|
||||
App.Update(obj);
|
||||
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
Result.Code = 500;
|
||||
Result.Message = ex.Message;
|
||||
}
|
||||
return JsonHelper.Instance.Serialize(Result);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 加载列表
|
||||
/// </summary>
|
||||
public string Load([FromUri]QueryFlowInstanceListReq request)
|
||||
{
|
||||
return JsonHelper.Instance.Serialize(App.Load(request));
|
||||
}
|
||||
|
||||
[System.Web.Mvc.HttpPost]
|
||||
public string Delete(string[] ids)
|
||||
{
|
||||
try
|
||||
{
|
||||
App.Delete(ids);
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
Result.Code = 500;
|
||||
Result.Message = e.Message;
|
||||
}
|
||||
|
||||
return JsonHelper.Instance.Serialize(Result);
|
||||
}
|
||||
}
|
||||
}
|
||||
81
OpenAuth.Mvc/Controllers/FlowSchemesController.cs
Normal file
81
OpenAuth.Mvc/Controllers/FlowSchemesController.cs
Normal file
@@ -0,0 +1,81 @@
|
||||
using System;
|
||||
using System.Web.Http;
|
||||
using System.Web.Mvc;
|
||||
using Infrastructure;
|
||||
using OpenAuth.App;
|
||||
using OpenAuth.App.Request;
|
||||
using OpenAuth.Mvc.Models;
|
||||
using OpenAuth.Repository.Domain;
|
||||
|
||||
namespace OpenAuth.Mvc.Controllers
|
||||
{
|
||||
public class FlowSchemesController : BaseController
|
||||
{
|
||||
public FlowSchemeApp App { get; set; }
|
||||
|
||||
//
|
||||
[Authenticate]
|
||||
public ActionResult Index()
|
||||
{
|
||||
return View();
|
||||
}
|
||||
|
||||
//添加或修改
|
||||
[System.Web.Mvc.HttpPost]
|
||||
public string Add(FlowScheme obj)
|
||||
{
|
||||
try
|
||||
{
|
||||
App.Add(obj);
|
||||
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
Result.Code = 500;
|
||||
Result.Message = ex.Message;
|
||||
}
|
||||
return JsonHelper.Instance.Serialize(Result);
|
||||
}
|
||||
|
||||
//添加或修改
|
||||
[System.Web.Mvc.HttpPost]
|
||||
public string Update(FlowScheme obj)
|
||||
{
|
||||
try
|
||||
{
|
||||
App.Update(obj);
|
||||
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
Result.Code = 500;
|
||||
Result.Message = ex.Message;
|
||||
}
|
||||
return JsonHelper.Instance.Serialize(Result);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 加载列表
|
||||
/// </summary>
|
||||
public string Load([FromUri]QueryFlowSchemeListReq request)
|
||||
{
|
||||
return JsonHelper.Instance.Serialize(App.Load(request));
|
||||
}
|
||||
|
||||
[System.Web.Mvc.HttpPost]
|
||||
public string Delete(string[] ids)
|
||||
{
|
||||
try
|
||||
{
|
||||
App.Delete(ids);
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
Result.Code = 500;
|
||||
Result.Message = e.Message;
|
||||
}
|
||||
|
||||
return JsonHelper.Instance.Serialize(Result);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -142,13 +142,11 @@
|
||||
<Compile Include="App_Start\BundleConfig.cs" />
|
||||
<Compile Include="App_Start\FilterConfig.cs" />
|
||||
<Compile Include="App_Start\RouteConfig.cs" />
|
||||
<Compile Include="Areas\FlowManage\Controllers\FileController.cs" />
|
||||
<Compile Include="Areas\FlowManage\Controllers\FlowDesignController.cs" />
|
||||
<Compile Include="Areas\FlowManage\FlowManageAreaRegistration.cs" />
|
||||
<Compile Include="Controllers\BaseController.cs" />
|
||||
<Compile Include="Controllers\CategoriesController.cs" />
|
||||
<Compile Include="Controllers\ErrorController.cs" />
|
||||
<Compile Include="Areas\FlowManage\Controllers\FlowInstancesController.cs" />
|
||||
<Compile Include="Controllers\FlowInstancesController.cs" />
|
||||
<Compile Include="Controllers\FlowSchemesController.cs" />
|
||||
<Compile Include="Controllers\FormsController.cs" />
|
||||
<Compile Include="Controllers\HomeController.cs" />
|
||||
<Compile Include="Controllers\LoginController.cs" />
|
||||
@@ -207,6 +205,8 @@
|
||||
<Content Include="images\userface4.jpg" />
|
||||
<Content Include="images\userface5.jpg" />
|
||||
<Content Include="images\wechat.jpg" />
|
||||
<Content Include="userJs\flowInstances.js" />
|
||||
<Content Include="userJs\flowSchemes.js" />
|
||||
<Content Include="userJs\modules.js" />
|
||||
<Content Include="js\queryString.js" />
|
||||
<Content Include="userJs\orgs.js" />
|
||||
@@ -578,18 +578,6 @@
|
||||
<Content Include="layui\lay\modules\upload.js" />
|
||||
<Content Include="layui\lay\modules\util.js" />
|
||||
<Content Include="js\ztree.js" />
|
||||
<Content Include="Areas\FlowManage\Views\web.config" />
|
||||
<Content Include="Areas\FlowManage\Views\FlowDesign\FlowLineForm.cshtml" />
|
||||
<Content Include="Areas\FlowManage\Views\FlowDesign\FlowNodeForm.cshtml" />
|
||||
<Content Include="Areas\FlowManage\Views\FlowDesign\FlowSchemeBuider.cshtml" />
|
||||
<Content Include="Areas\FlowManage\Views\FlowDesign\Index.cshtml" />
|
||||
<Content Include="Areas\FlowManage\Views\FlowInstances\ProcessLookForm.cshtml" />
|
||||
<Content Include="Areas\FlowManage\Views\FlowInstances\FlowProcessNewForm.cshtml" />
|
||||
<Content Include="Areas\FlowManage\Views\FlowDesign\PreviewIndex.cshtml" />
|
||||
<Content Include="Areas\FlowManage\Views\FlowInstances\VerificationForm.cshtml" />
|
||||
<Content Include="Areas\FlowManage\Views\FormDesign\Index.cshtml" />
|
||||
<Content Include="Areas\FlowManage\Views\FormDesign\FormPreview.cshtml" />
|
||||
<Content Include="Areas\FlowManage\Views\FormDesign\FrmBuider.cshtml" />
|
||||
<Content Include="layui\font\iconfont.eot" />
|
||||
<Content Include="layui\font\iconfont.ttf" />
|
||||
<Content Include="layui\font\iconfont.woff" />
|
||||
@@ -617,7 +605,6 @@
|
||||
<Content Include="Views\Web.config" />
|
||||
<Content Include="Views\_ViewStart.cshtml" />
|
||||
<Content Include="Views\Home\Index.cshtml" />
|
||||
<Content Include="Areas\FlowManage\Views\FlowInstances\Index.cshtml" />
|
||||
<Content Include="Views\Shared\_FlowForm.cshtml" />
|
||||
<Content Include="Views\Home\Main.cshtml" />
|
||||
<Content Include="Views\Shared\_Layout.cshtml" />
|
||||
@@ -627,11 +614,10 @@
|
||||
<Content Include="Views\RoleManager\Index.cshtml" />
|
||||
<Content Include="Views\Forms\index.cshtml" />
|
||||
<Content Include="Views\Forms\Preview.cshtml" />
|
||||
<Content Include="Views\FlowInstances\Index.cshtml" />
|
||||
<Content Include="Views\FlowSchemes\Index.cshtml" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Folder Include="Areas\FlowManage\Models\" />
|
||||
<Folder Include="Areas\FlowManage\Views\Shared\" />
|
||||
</ItemGroup>
|
||||
<ItemGroup />
|
||||
<ItemGroup>
|
||||
<Content Include="packages.config">
|
||||
<SubType>Designer</SubType>
|
||||
|
||||
181
OpenAuth.Mvc/Views/FlowInstances/Index.cshtml
Normal file
181
OpenAuth.Mvc/Views/FlowInstances/Index.cshtml
Normal file
@@ -0,0 +1,181 @@
|
||||
@section header
|
||||
{
|
||||
<link rel="stylesheet" href="/css/treetable.css" />
|
||||
}
|
||||
<blockquote class="layui-elem-quote news_search toolList">
|
||||
@Html.Action("MenuHeader", "Home")
|
||||
</blockquote>
|
||||
|
||||
<div style="display: flex;">
|
||||
<ul id="tree" class="ztree" style="display: inline-block; width: 180px; padding: 10px; border: 1px solid #ddd; overflow: auto;"></ul>
|
||||
<table class="layui-table"
|
||||
lay-data="{height: 'full-80', page:true, id:'mainList'}"
|
||||
lay-filter="list" lay-size="sm">
|
||||
<thead>
|
||||
<tr>
|
||||
<th lay-data="{checkbox:true, fixed: true}"></th>
|
||||
<th lay-data="{field:'Id', width:150}">主键Id</th>
|
||||
<th lay-data="{field:'InstanceSchemeId', width:150}">流程实例模板Id</th>
|
||||
<th lay-data="{field:'Code', width:150}">实例编号</th>
|
||||
<th lay-data="{field:'CustomName', width:150}">自定义名称</th>
|
||||
<th lay-data="{field:'ActivityId', width:150}">当前节点ID</th>
|
||||
<th lay-data="{field:'ActivityType', width:150}">当前节点类型(0会签节点)</th>
|
||||
<th lay-data="{field:'ActivityName', width:150}">当前节点名称</th>
|
||||
<th lay-data="{field:'PreviousId', width:150}">前一个ID</th>
|
||||
<th lay-data="{field:'FrmType', width:150}">表单类型</th>
|
||||
<th lay-data="{field:'SchemeType', width:150}">流程类型</th>
|
||||
<th lay-data="{field:'Disabled', width:150}">有效标志</th>
|
||||
<th lay-data="{field:'CreateDate', width:150}">创建时间</th>
|
||||
<th lay-data="{field:'CreateUserId', width:150}">创建用户主键</th>
|
||||
<th lay-data="{field:'CreateUserName', width:150}">创建用户</th>
|
||||
<th lay-data="{field:'FlowLevel', width:150}">等级</th>
|
||||
<th lay-data="{field:'Description', width:150}">实例备注</th>
|
||||
<th lay-data="{field:'IsFinish', width:150}">是否完成</th>
|
||||
<th lay-data="{field:'MakerList', width:150}">执行人</th>
|
||||
<th lay-data="{fixed: 'right', width:160, align:'center', toolbar: '#barList'}"></th>
|
||||
</tr>
|
||||
</thead>
|
||||
</table>
|
||||
</div>
|
||||
<script type="text/html" id="barList">
|
||||
<a class="layui-btn layui-btn-primary layui-btn-mini" lay-event="detail">查看</a>
|
||||
</script>
|
||||
|
||||
<!--用户添加/编辑窗口-->
|
||||
<div id="divEdit" style="display: none">
|
||||
<form class="layui-form" action="" id="formEdit">
|
||||
<input type="hidden" name="Id" v-model="Id" />
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">流程实例模板Id</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="text" name="InstanceSchemeId" v-model="InstanceSchemeId" required lay-verify="required"
|
||||
placeholder="流程实例模板Id" autocomplete="off" class="layui-input">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">实例编号</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="text" name="Code" v-model="Code" required lay-verify="required"
|
||||
placeholder="实例编号" autocomplete="off" class="layui-input">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">自定义名称</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="text" name="CustomName" v-model="CustomName" required lay-verify="required"
|
||||
placeholder="自定义名称" autocomplete="off" class="layui-input">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">当前节点ID</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="text" name="ActivityId" v-model="ActivityId" required lay-verify="required"
|
||||
placeholder="当前节点ID" autocomplete="off" class="layui-input">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">当前节点类型(0会签节点)</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="radio" name="ActivityType" value="1" title="value1" checked>
|
||||
<input type="radio" name="ActivityType" value="0" title="value2">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">当前节点名称</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="text" name="ActivityName" v-model="ActivityName" required lay-verify="required"
|
||||
placeholder="当前节点名称" autocomplete="off" class="layui-input">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">前一个ID</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="text" name="PreviousId" v-model="PreviousId" required lay-verify="required"
|
||||
placeholder="前一个ID" autocomplete="off" class="layui-input">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">表单类型</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="radio" name="FrmType" value="1" title="value1" checked>
|
||||
<input type="radio" name="FrmType" value="0" title="value2">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">流程类型</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="text" name="SchemeType" v-model="SchemeType" required lay-verify="required"
|
||||
placeholder="流程类型" autocomplete="off" class="layui-input">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">有效标志</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="radio" name="Disabled" value="1" title="value1" checked>
|
||||
<input type="radio" name="Disabled" value="0" title="value2">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">创建时间</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="text" name="CreateDate" v-model="CreateDate" required lay-verify="required"
|
||||
placeholder="创建时间" autocomplete="off" class="layui-input">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">创建用户主键</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="text" name="CreateUserId" v-model="CreateUserId" required lay-verify="required"
|
||||
placeholder="创建用户主键" autocomplete="off" class="layui-input">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">创建用户</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="text" name="CreateUserName" v-model="CreateUserName" required lay-verify="required"
|
||||
placeholder="创建用户" autocomplete="off" class="layui-input">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">等级</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="radio" name="FlowLevel" value="1" title="value1" checked>
|
||||
<input type="radio" name="FlowLevel" value="0" title="value2">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">实例备注</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="text" name="Description" v-model="Description" required lay-verify="required"
|
||||
placeholder="实例备注" autocomplete="off" class="layui-input">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">是否完成</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="radio" name="IsFinish" value="1" title="value1" checked>
|
||||
<input type="radio" name="IsFinish" value="0" title="value2">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">执行人</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="text" name="MakerList" v-model="MakerList" required lay-verify="required"
|
||||
placeholder="执行人" autocomplete="off" class="layui-input">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="layui-form-item">
|
||||
<div class="layui-input-block">
|
||||
<button class="layui-btn" lay-submit lay-filter="formSubmit">立即提交</button>
|
||||
<button type="reset" class="layui-btn layui-btn-primary">重置</button>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
|
||||
<script type="text/javascript" src="/layui/layui.js"></script>
|
||||
<script type="text/javascript" src="/userJs/flowInstances.js"></script>
|
||||
|
||||
|
||||
98
OpenAuth.Mvc/Views/FlowSchemes/Index.cshtml
Normal file
98
OpenAuth.Mvc/Views/FlowSchemes/Index.cshtml
Normal file
@@ -0,0 +1,98 @@
|
||||
@section header
|
||||
{
|
||||
<link rel="stylesheet" href="/css/treetable.css" />
|
||||
}
|
||||
<blockquote class="layui-elem-quote news_search toolList">
|
||||
@Html.Action("MenuHeader", "Home")
|
||||
</blockquote>
|
||||
|
||||
<div style="display: flex;">
|
||||
<ul id="tree" class="ztree" style="display: inline-block; width: 180px; padding: 10px; border: 1px solid #ddd; overflow: auto;"></ul>
|
||||
<table class="layui-table"
|
||||
lay-data="{height: 'full-80', page:true, id:'mainList'}"
|
||||
lay-filter="list" lay-size="sm">
|
||||
<thead>
|
||||
<tr>
|
||||
<th lay-data="{checkbox:true, fixed: true}"></th>
|
||||
<th lay-data="{field:'Id', width:150}">主键Id</th>
|
||||
<th lay-data="{field:'SchemeCode', width:150}">流程编号</th>
|
||||
<th lay-data="{field:'SchemeName', width:150}">流程名称</th>
|
||||
<th lay-data="{field:'SchemeVersion', width:150}">流程内容版本</th>
|
||||
<th lay-data="{field:'FrmType', width:150}">表单类型</th>
|
||||
<th lay-data="{field:'AuthorizeType', width:150}">模板权限类型0所有人,1指定成员</th>
|
||||
<th lay-data="{field:'SortCode', width:150}">排序码</th>
|
||||
<th lay-data="{field:'Disabled', width:150}">有效</th>
|
||||
<th lay-data="{field:'Description', width:150}">备注</th>
|
||||
<th lay-data="{field:'CreateDate', width:150}">创建时间</th>
|
||||
|
||||
<th lay-data="{fixed: 'right', width:160, align:'center', toolbar: '#barList'}"></th>
|
||||
</tr>
|
||||
</thead>
|
||||
</table>
|
||||
</div>
|
||||
<script type="text/html" id="barList">
|
||||
<a class="layui-btn layui-btn-primary layui-btn-mini" lay-event="detail">查看</a>
|
||||
</script>
|
||||
|
||||
<!--用户添加/编辑窗口-->
|
||||
<div id="divEdit" style="display: none">
|
||||
<form class="layui-form" action="" id="formEdit">
|
||||
<input type="hidden" name="Id" v-model="Id" />
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">流程编号</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="text" name="SchemeCode" v-model="SchemeCode" required lay-verify="required"
|
||||
placeholder="流程编号" autocomplete="off" class="layui-input">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">流程名称</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="text" name="SchemeName" v-model="SchemeName" required lay-verify="required"
|
||||
placeholder="流程名称" autocomplete="off" class="layui-input">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">模板权限类型0所有人,1指定成员</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="radio" name="AuthorizeType" value="1" title="value1" checked>
|
||||
<input type="radio" name="AuthorizeType" value="0" title="value2">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">排序码</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="radio" name="SortCode" value="1" title="value1" checked>
|
||||
<input type="radio" name="SortCode" value="0" title="value2">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">有效</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="radio" name="Disabled" value="1" title="value1" checked>
|
||||
<input type="radio" name="Disabled" value="0" title="value2">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">备注</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="text" name="Description" v-model="Description" required lay-verify="required"
|
||||
placeholder="备注" autocomplete="off" class="layui-input">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<div class="layui-input-block">
|
||||
<button class="layui-btn" lay-submit lay-filter="formSubmit">立即提交</button>
|
||||
<button type="reset" class="layui-btn layui-btn-primary">重置</button>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
|
||||
<script type="text/javascript" src="/layui/layui.js"></script>
|
||||
<script type="text/javascript" src="/userJs/flowSchemes.js"></script>
|
||||
|
||||
|
||||
156
OpenAuth.Mvc/userJs/flowInstances.js
Normal file
156
OpenAuth.Mvc/userJs/flowInstances.js
Normal file
@@ -0,0 +1,156 @@
|
||||
layui.config({
|
||||
base: "/js/"
|
||||
}).use(['form','vue', 'ztree', 'layer', 'jquery', 'table','droptree','openauth'], function () {
|
||||
var form = layui.form,
|
||||
//layer = (parent == undefined || parent.layer === undefined )? layui.layer : parent.layer,
|
||||
layer = layui.layer,
|
||||
$ = layui.jquery;
|
||||
var table = layui.table;
|
||||
var openauth = layui.openauth;
|
||||
layui.droptree("/UserSession/GetOrgs", "#Organizations", "#OrganizationIds");
|
||||
|
||||
//主列表加载,可反复调用进行刷新
|
||||
var config= {}; //table的参数,如搜索key,点击tree的id
|
||||
var mainList = function (options) {
|
||||
if (options != undefined) {
|
||||
$.extend(config, options);
|
||||
}
|
||||
table.reload('mainList', {
|
||||
url: '/FlowInstances/Load',
|
||||
where: config
|
||||
});
|
||||
}
|
||||
//左边树状机构列表
|
||||
var ztree = function () {
|
||||
var url = '/UserSession/GetOrgs';
|
||||
var zTreeObj;
|
||||
var setting = {
|
||||
view: { selectedMulti: false },
|
||||
data: {
|
||||
key: {
|
||||
name: 'Name',
|
||||
title: 'Name'
|
||||
},
|
||||
simpleData: {
|
||||
enable: true,
|
||||
idKey: 'Id',
|
||||
pIdKey: 'ParentId',
|
||||
rootPId: 'null'
|
||||
}
|
||||
},
|
||||
callback: {
|
||||
onClick: function (event, treeId, treeNode) {
|
||||
mainList({ orgId: treeNode.Id });
|
||||
}
|
||||
}
|
||||
};
|
||||
var load = function () {
|
||||
$.getJSON(url, function (json) {
|
||||
zTreeObj = $.fn.zTree.init($("#tree"), setting);
|
||||
var newNode = { Name: "根节点", Id: null, ParentId: "" };
|
||||
json.push(newNode);
|
||||
zTreeObj.addNodes(null, json);
|
||||
mainList({ orgId: "" });
|
||||
zTreeObj.expandAll(true);
|
||||
});
|
||||
};
|
||||
load();
|
||||
return {
|
||||
reload: load
|
||||
}
|
||||
}();
|
||||
|
||||
//添加(编辑)对话框
|
||||
var editDlg = function() {
|
||||
var vm = new Vue({
|
||||
el: "#formEdit"
|
||||
});
|
||||
var update = false; //是否为更新
|
||||
var show = function (data) {
|
||||
var title = update ? "编辑信息" : "添加";
|
||||
layer.open({
|
||||
title: title,
|
||||
area: ["500px", "400px"],
|
||||
type: 1,
|
||||
content: $('#divEdit'),
|
||||
success: function() {
|
||||
vm.$set('$data', data);
|
||||
},
|
||||
end: mainList
|
||||
});
|
||||
var url = "/FlowInstances/Add";
|
||||
if (update) {
|
||||
url = "/FlowInstances/Update";
|
||||
}
|
||||
//提交数据
|
||||
form.on('submit(formSubmit)',
|
||||
function(data) {
|
||||
$.post(url,
|
||||
data.field,
|
||||
function(data) {
|
||||
layer.msg(data.Message);
|
||||
},
|
||||
"json");
|
||||
return false;
|
||||
});
|
||||
}
|
||||
return {
|
||||
add: function() { //弹出添加
|
||||
update = false;
|
||||
show({
|
||||
Id: ''
|
||||
});
|
||||
},
|
||||
update: function(data) { //弹出编辑框
|
||||
update = true;
|
||||
show(data);
|
||||
}
|
||||
};
|
||||
}();
|
||||
|
||||
//监听表格内部按钮
|
||||
table.on('tool(list)', function (obj) {
|
||||
var data = obj.data;
|
||||
if (obj.event === 'detail') { //查看
|
||||
layer.msg('ID:' + data.Id + ' 的查看操作');
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
//监听页面主按钮操作
|
||||
var active = {
|
||||
btnDel: function () { //批量删除
|
||||
var checkStatus = table.checkStatus('mainList')
|
||||
, data = checkStatus.data;
|
||||
openauth.del("/FlowInstances/Delete",
|
||||
data.map(function (e) { return e.Id; }),
|
||||
mainList);
|
||||
}
|
||||
, btnAdd: function () { //添加
|
||||
editDlg.add();
|
||||
}
|
||||
, btnEdit: function () { //编辑
|
||||
var checkStatus = table.checkStatus('mainList')
|
||||
, data = checkStatus.data;
|
||||
if (data.length != 1) {
|
||||
layer.msg("请选择编辑的行,且同时只能编辑一行");
|
||||
return;
|
||||
}
|
||||
editDlg.update(data[0]);
|
||||
}
|
||||
|
||||
, search: function () { //搜索
|
||||
mainList({ key: $('#key').val() });
|
||||
}
|
||||
, btnRefresh: function() {
|
||||
mainList();
|
||||
}
|
||||
};
|
||||
|
||||
$('.toolList .layui-btn').on('click', function () {
|
||||
var type = $(this).data('type');
|
||||
active[type] ? active[type].call(this) : '';
|
||||
});
|
||||
|
||||
//监听页面主按钮操作 end
|
||||
})
|
||||
156
OpenAuth.Mvc/userJs/flowSchemes.js
Normal file
156
OpenAuth.Mvc/userJs/flowSchemes.js
Normal file
@@ -0,0 +1,156 @@
|
||||
layui.config({
|
||||
base: "/js/"
|
||||
}).use(['form','vue', 'ztree', 'layer', 'jquery', 'table','droptree','openauth'], function () {
|
||||
var form = layui.form,
|
||||
//layer = (parent == undefined || parent.layer === undefined )? layui.layer : parent.layer,
|
||||
layer = layui.layer,
|
||||
$ = layui.jquery;
|
||||
var table = layui.table;
|
||||
var openauth = layui.openauth;
|
||||
layui.droptree("/UserSession/GetOrgs", "#Organizations", "#OrganizationIds");
|
||||
|
||||
//主列表加载,可反复调用进行刷新
|
||||
var config= {}; //table的参数,如搜索key,点击tree的id
|
||||
var mainList = function (options) {
|
||||
if (options != undefined) {
|
||||
$.extend(config, options);
|
||||
}
|
||||
table.reload('mainList', {
|
||||
url: '/FlowSchemes/Load',
|
||||
where: config
|
||||
});
|
||||
}
|
||||
//左边树状机构列表
|
||||
var ztree = function () {
|
||||
var url = '/UserSession/GetOrgs';
|
||||
var zTreeObj;
|
||||
var setting = {
|
||||
view: { selectedMulti: false },
|
||||
data: {
|
||||
key: {
|
||||
name: 'Name',
|
||||
title: 'Name'
|
||||
},
|
||||
simpleData: {
|
||||
enable: true,
|
||||
idKey: 'Id',
|
||||
pIdKey: 'ParentId',
|
||||
rootPId: 'null'
|
||||
}
|
||||
},
|
||||
callback: {
|
||||
onClick: function (event, treeId, treeNode) {
|
||||
mainList({ orgId: treeNode.Id });
|
||||
}
|
||||
}
|
||||
};
|
||||
var load = function () {
|
||||
$.getJSON(url, function (json) {
|
||||
zTreeObj = $.fn.zTree.init($("#tree"), setting);
|
||||
var newNode = { Name: "根节点", Id: null, ParentId: "" };
|
||||
json.push(newNode);
|
||||
zTreeObj.addNodes(null, json);
|
||||
mainList({ orgId: "" });
|
||||
zTreeObj.expandAll(true);
|
||||
});
|
||||
};
|
||||
load();
|
||||
return {
|
||||
reload: load
|
||||
}
|
||||
}();
|
||||
|
||||
//添加(编辑)对话框
|
||||
var editDlg = function() {
|
||||
var vm = new Vue({
|
||||
el: "#formEdit"
|
||||
});
|
||||
var update = false; //是否为更新
|
||||
var show = function (data) {
|
||||
var title = update ? "编辑信息" : "添加";
|
||||
layer.open({
|
||||
title: title,
|
||||
area: ["500px", "400px"],
|
||||
type: 1,
|
||||
content: $('#divEdit'),
|
||||
success: function() {
|
||||
vm.$set('$data', data);
|
||||
},
|
||||
end: mainList
|
||||
});
|
||||
var url = "/FlowSchemes/Add";
|
||||
if (update) {
|
||||
url = "/FlowSchemes/Update";
|
||||
}
|
||||
//提交数据
|
||||
form.on('submit(formSubmit)',
|
||||
function(data) {
|
||||
$.post(url,
|
||||
data.field,
|
||||
function(data) {
|
||||
layer.msg(data.Message);
|
||||
},
|
||||
"json");
|
||||
return false;
|
||||
});
|
||||
}
|
||||
return {
|
||||
add: function() { //弹出添加
|
||||
update = false;
|
||||
show({
|
||||
Id: ''
|
||||
});
|
||||
},
|
||||
update: function(data) { //弹出编辑框
|
||||
update = true;
|
||||
show(data);
|
||||
}
|
||||
};
|
||||
}();
|
||||
|
||||
//监听表格内部按钮
|
||||
table.on('tool(list)', function (obj) {
|
||||
var data = obj.data;
|
||||
if (obj.event === 'detail') { //查看
|
||||
layer.msg('ID:' + data.Id + ' 的查看操作');
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
//监听页面主按钮操作
|
||||
var active = {
|
||||
btnDel: function () { //批量删除
|
||||
var checkStatus = table.checkStatus('mainList')
|
||||
, data = checkStatus.data;
|
||||
openauth.del("/FlowSchemes/Delete",
|
||||
data.map(function (e) { return e.Id; }),
|
||||
mainList);
|
||||
}
|
||||
, btnAdd: function () { //添加
|
||||
editDlg.add();
|
||||
}
|
||||
, btnEdit: function () { //编辑
|
||||
var checkStatus = table.checkStatus('mainList')
|
||||
, data = checkStatus.data;
|
||||
if (data.length != 1) {
|
||||
layer.msg("请选择编辑的行,且同时只能编辑一行");
|
||||
return;
|
||||
}
|
||||
editDlg.update(data[0]);
|
||||
}
|
||||
|
||||
, search: function () { //搜索
|
||||
mainList({ key: $('#key').val() });
|
||||
}
|
||||
, btnRefresh: function() {
|
||||
mainList();
|
||||
}
|
||||
};
|
||||
|
||||
$('.toolList .layui-btn').on('click', function () {
|
||||
var type = $(this).data('type');
|
||||
active[type] ? active[type].call(this) : '';
|
||||
});
|
||||
|
||||
//监听页面主按钮操作 end
|
||||
})
|
||||
Reference in New Issue
Block a user