可以处理流程

This commit is contained in:
yubao
2018-03-26 00:34:49 +08:00
parent 99dd110885
commit 304e465b6b
15 changed files with 407 additions and 323 deletions

View File

@@ -1,6 +1,5 @@
using System;
using System.Linq;
using System.Web.Http;
using System.Web.Mvc;
using Infrastructure;
using Newtonsoft.Json.Linq;
@@ -27,6 +26,26 @@ namespace OpenAuth.Mvc.Controllers
return View();
}
public ActionResult Verification()
{
return View();
}
[HttpPost]
public string Verification(VerificationReq request)
{
try
{
App.Verification(request);
}
catch (Exception ex)
{
Result.Code = 500;
Result.Message = ex.Message;
}
return JsonHelper.Instance.Serialize(Result);
}
public string Get(string id)
{
@@ -80,7 +99,7 @@ namespace OpenAuth.Mvc.Controllers
/// <summary>
/// 加载列表
/// </summary>
public string Load([FromUri]QueryFlowInstanceListReq request)
public string Load([System.Web.Http.FromUri]QueryFlowInstanceListReq request)
{
return JsonHelper.Instance.Serialize(App.Load(request));
}

View File

@@ -195,6 +195,7 @@
<Content Include="js\flow\img\gooflow_icon.png" />
<Content Include="js\flowlayout.js" />
<Content Include="js\utils.js" />
<Content Include="userJs\flowInstanceOp.js" />
<Content Include="userJs\flowInstanceEdit.js" />
<Content Include="userJs\flowSchemes.js" />
<Content Include="userJs\nodeInfo.js" />
@@ -638,6 +639,7 @@
<Content Include="Views\FlowSchemes\NodeInfo.cshtml" />
<Content Include="Views\FlowSchemes\Design.cshtml" />
<Content Include="Views\FlowInstances\Edit.cshtml" />
<Content Include="Views\FlowInstances\Verification.cshtml" />
</ItemGroup>
<ItemGroup />
<ItemGroup>

View File

@@ -0,0 +1,52 @@

@section header
{
<link rel="stylesheet" href="/css/treetable.css" />
<link href="/js/flow/GooFlow.css" rel="stylesheet" />
<link href="/css/formpreview.css" rel="stylesheet" />
}
<form class="layui-form" action="" id="formEdit">
<div class="layui-row">
<div class="layui-tab layui-tab-brief" lay-filter="tab">
<ul class="layui-tab-title">
<li class="layui-this">表单信息</li>
<li>流程信息</li>
</ul>
<div class="layui-tab-content">
<div class="layui-tab-item layui-show">
<div id="frmPreview"></div>
</div>
<div class="layui-tab-item">
<div id="flowPanel" ></div>
</div>
</div>
</div>
<input type="hidden" id="FlowInstanceId" name="FlowInstanceId" v-model="FlowInstanceId" />
<div class="layui-form-item">
<label class="layui-form-label">审核结果</label>
<div class="layui-input-block">
<input type="radio" name="VerificationFinally" v-model="VerificationFinally" value="1" title="同意" checked>
<input type="radio" name="VerificationFinally" v-model="VerificationFinally" value="2" title="不同意">
<input type="radio" name="VerificationFinally" v-model="VerificationFinally" value="3" title="驳回">
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">审核意见</label>
<div class="layui-input-block">
<input type="text" name="VerificationOpinion" v-model="VerificationOpinion"
placeholder="" autocomplete="off" class="layui-input">
</div>
</div>
</div>
<input type="hidden" lay-submit id="btnSubmit" lay-filter="formSubmit"/>
</form>
<script type="text/javascript" src="/layui/layui.js"></script>
<script type="text/javascript" src="/userJs/flowInstanceOp.js?v2"></script>

View File

@@ -0,0 +1,69 @@
layui.config({
base: "/js/"
}).use(['form', 'vue', 'ztree', 'layer', 'utils', 'element', 'jquery', 'droptree', 'openauth', 'flow/gooflow', 'flowlayout'], function () {
var form = layui.form, element = layui.element,
//layer = (parent == undefined || parent.layer === undefined )? layui.layer : parent.layer,
layer = layui.layer,
$ = layui.jquery;
var openauth = layui.openauth;
var index = parent.layer.getFrameIndex(window.name); //获取窗口索引
var vm = new Vue({
el: "#formEdit"
});
var id = $.getUrlParam("id"); //ID
$("#FlowInstanceId").val(id);
//标签切换
element.on('tab(tab)', function (data) {
parent.layer.iframeAuto(index);
});
/*=========流程设计begin======================*/
var flowDesignPanel = $('#flowPanel').flowdesign({
height: 300,
widht: 300,
haveTool: false
});
/*=========流程设计end=====================*/
$.getJSON('/FlowInstances/get?id=' + id,
function (data) {
var obj = data.Result;
flowDesignPanel.loadData(JSON.parse(obj.SchemeContent));
//取表单的结构数据
$.getJSON("/forms/get?id=" + obj.FrmId, function (data) {
if (data.Code != 500) {
$("#frmPreview").html(data.Result.Html);
}
});
});
//提交数据
form.on('submit(formSubmit)',
function (data) {
$.post("/FlowInstances/Verification",
data.field,
function (result) {
layer.msg(result.Message);
},
"json");
return false; //阻止表单跳转。
});
//$(window).resize(function() {
// flowDesignPanel.reinitSize($(window).width()-30, $(window).height()-100);
//});
//该函数供给父窗口确定时调用
submit = function () {
//只能用隐藏的submit btn才行用form.submit()时data.field里没有数据
$("#btnSubmit").click();
}
//让层自适应iframe
parent.layer.iframeAuto(index);
})

View File

@@ -128,6 +128,32 @@
editDlg.update(data[0]);
}
, btnVerification: function () { //处理
var checkStatus = table.checkStatus('mainList')
, data = checkStatus.data;
if (data.length != 1) {
layer.msg("请选择要处理的流程,且同时只能选择一条");
return;
}
layer.open({
type: 2,
area: ['600px', '500px'], //宽高
maxmin: true, //开启最大化最小化按钮
title: '处理流程',
content: '/flowInstances/Verification?id=' + data[0].Id,
btn: ['保存', '关闭'],
yes: function (index, layero) {
var iframeWin = window[layero.find('iframe')[0]['name']]; //得到iframe页的窗口对象执行iframe页的方法iframeWin.method();
iframeWin.submit();
},
cancel: function (index) {
layer.close(index);
mainList();
}
});
}
, search: function () { //搜索
mainList({ key: $('#key').val() });
}