2018-03-31 11:18:57 +08:00
|
|
|
|
/// <reference path="flowInstanceOp.js" />
|
|
|
|
|
layui.config({
|
2018-03-17 21:41:04 +08:00
|
|
|
|
base: "/js/"
|
2018-03-23 07:39:39 +08:00
|
|
|
|
}).use(['form', 'vue', 'ztree', 'layer', 'utils', 'element', 'jquery', 'table', 'droptree', 'openauth', 'flow/gooflow', 'flowlayout'], function () {
|
2018-03-17 21:41:04 +08:00
|
|
|
|
var form = layui.form, element = layui.element,
|
2018-04-01 22:08:00 +08:00
|
|
|
|
layer = (top == undefined || top.layer === undefined )? layui.layer : top.layer,
|
2018-03-17 21:41:04 +08:00
|
|
|
|
$ = layui.jquery;
|
|
|
|
|
var table = layui.table;
|
|
|
|
|
var openauth = layui.openauth;
|
2018-03-17 23:04:19 +08:00
|
|
|
|
|
|
|
|
|
var index = parent.layer.getFrameIndex(window.name); //获取窗口索引
|
2018-03-24 09:56:32 +08:00
|
|
|
|
var id = $.getUrlParam("id"); //ID
|
|
|
|
|
var update = (id != null && id != '');
|
2018-03-17 21:41:04 +08:00
|
|
|
|
//提交的URL
|
|
|
|
|
var url = "/FlowSchemes/Add";
|
|
|
|
|
|
|
|
|
|
var vm = new Vue({
|
|
|
|
|
el: "#formEdit"
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
//表单选择
|
|
|
|
|
var frmTree = function () {
|
|
|
|
|
var zTreeObj;
|
|
|
|
|
var setting = {
|
|
|
|
|
view: { selectedMulti: true },
|
|
|
|
|
check: {
|
|
|
|
|
enable: true,
|
2018-03-17 23:04:19 +08:00
|
|
|
|
chkStyle: "radio",
|
|
|
|
|
radioType: "all", //整个节点一个分组
|
2018-03-17 21:41:04 +08:00
|
|
|
|
chkboxType: { "Y": "", "N": "" } //去掉勾选时级联
|
|
|
|
|
},
|
|
|
|
|
data: {
|
|
|
|
|
key: {
|
|
|
|
|
name: 'Name',
|
|
|
|
|
title: 'Name'
|
|
|
|
|
},
|
|
|
|
|
simpleData: {
|
|
|
|
|
enable: true,
|
|
|
|
|
idKey: 'Id',
|
|
|
|
|
pIdKey: 'ParentId',
|
|
|
|
|
rootPId: 'null'
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
callback: {
|
|
|
|
|
onClick: function (event, treeId, treeNode) {
|
2018-03-24 09:56:32 +08:00
|
|
|
|
$.getJSON("/forms/get?id=" + treeNode.Id, function (data) {
|
|
|
|
|
$("#frmPreview").html(data.Result.Html);
|
2018-03-17 21:41:04 +08:00
|
|
|
|
});
|
|
|
|
|
},
|
|
|
|
|
onCheck: function (event, treeId, treeNode) {
|
|
|
|
|
$("#FrmId").val(treeNode.Id);
|
2018-03-24 09:56:32 +08:00
|
|
|
|
$.getJSON("/forms/get?id=" + treeNode.Id, function (data) {
|
|
|
|
|
$("#frmPreview").html(data.Result.Html);
|
2018-03-17 23:04:19 +08:00
|
|
|
|
});
|
2018-03-17 21:41:04 +08:00
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
};
|
|
|
|
|
|
2018-03-20 17:40:50 +08:00
|
|
|
|
var url = '/forms/load';
|
2018-03-20 23:15:09 +08:00
|
|
|
|
$.ajax(url,
|
|
|
|
|
{
|
|
|
|
|
async: false
|
2018-03-17 21:41:04 +08:00
|
|
|
|
|
2018-03-20 23:15:09 +08:00
|
|
|
|
, success: function (data) {
|
|
|
|
|
var json = JSON.parse(data);
|
|
|
|
|
zTreeObj = $.fn.zTree.init($("#frmTree"), setting);
|
|
|
|
|
zTreeObj.addNodes(null, json.data);
|
|
|
|
|
|
|
|
|
|
$("#menutree").html("点击预览表单效果");
|
|
|
|
|
zTreeObj.expandAll(true);
|
|
|
|
|
}
|
2018-03-24 09:56:32 +08:00
|
|
|
|
});
|
2018-03-17 21:41:04 +08:00
|
|
|
|
|
|
|
|
|
var setCheck = function (id) { //设置已经选中的表单
|
|
|
|
|
if (id == null | id == '') return;
|
|
|
|
|
var node = zTreeObj.getNodeByParam("Id", id, null);
|
|
|
|
|
zTreeObj.checkNode(node, true, false);
|
|
|
|
|
|
2018-03-26 14:11:07 +08:00
|
|
|
|
$.getJSON("/forms/get?id=" + id, function (data) {
|
|
|
|
|
$("#frmPreview").html(data.Result.Html);
|
2018-03-17 21:41:04 +08:00
|
|
|
|
});
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return {
|
|
|
|
|
setCheck: setCheck
|
|
|
|
|
}
|
|
|
|
|
}();
|
|
|
|
|
|
|
|
|
|
/*=========流程设计(begin)======================*/
|
|
|
|
|
var flowDesignPanel = $('#flowPanel').flowdesign({
|
2018-03-19 17:21:56 +08:00
|
|
|
|
height: 300,
|
|
|
|
|
widht: 300,
|
2018-03-17 21:41:04 +08:00
|
|
|
|
OpenNode: function (object) {
|
|
|
|
|
FlowDesignObject = object; //为NodeInfo窗口提供调用
|
|
|
|
|
|
2018-03-19 17:21:56 +08:00
|
|
|
|
if (object.type == 'start round mix' || object.type == 'end round') {
|
|
|
|
|
layer.msg("开始节点与结束节点不能设置");
|
2018-03-17 21:41:04 +08:00
|
|
|
|
return false;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
layer.open({
|
|
|
|
|
type: 2,
|
|
|
|
|
area: ['500px', '450px'], //宽高
|
|
|
|
|
maxmin: true, //开启最大化最小化按钮
|
2018-03-19 17:21:56 +08:00
|
|
|
|
title: '节点设置【' + object.name + '】',
|
2018-03-17 21:41:04 +08:00
|
|
|
|
content: '/flowschemes/nodeInfo',
|
2018-03-31 11:18:57 +08:00
|
|
|
|
btn: ['确定', '取消'],
|
2018-03-17 21:41:04 +08:00
|
|
|
|
yes: function (index, layero) {
|
|
|
|
|
var body = layer.getChildFrame('body', index);
|
|
|
|
|
var iframeWin = window[layero.find('iframe')[0]['name']]; //得到iframe页的窗口对象,执行iframe页的方法:iframeWin.method();
|
|
|
|
|
var nodedata = iframeWin.getVal();
|
2018-03-19 17:21:56 +08:00
|
|
|
|
flowDesignPanel.SetNodeEx(object.id, nodedata);
|
2018-03-17 21:41:04 +08:00
|
|
|
|
layer.close(index);
|
|
|
|
|
},
|
|
|
|
|
cancel: function (index) {
|
|
|
|
|
layer.close(index);
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
},
|
|
|
|
|
OpenLine: function (id, object) {
|
|
|
|
|
lay.msg("暂不能设置分支条件");
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
/*=========流程设计(end)=====================*/
|
|
|
|
|
|
|
|
|
|
if (update) {
|
2018-03-17 23:04:19 +08:00
|
|
|
|
$.getJSON('/flowschemes/get?id=' + id,
|
2018-03-17 21:41:04 +08:00
|
|
|
|
function (data) {
|
2018-03-17 23:04:19 +08:00
|
|
|
|
var obj = data.Result;
|
2018-03-17 21:41:04 +08:00
|
|
|
|
url = "/FlowSchemes/Update";
|
2018-03-17 23:04:19 +08:00
|
|
|
|
vm.$set('$data', obj);
|
2018-03-31 11:18:57 +08:00
|
|
|
|
|
|
|
|
|
$('input:checkbox[name="Disabled"][value="' + obj.Disabled + '"]').prop('checked', true);
|
|
|
|
|
form.render();
|
|
|
|
|
|
2018-03-17 23:04:19 +08:00
|
|
|
|
flowDesignPanel.loadData(JSON.parse(obj.SchemeContent));
|
|
|
|
|
frmTree.setCheck(obj.FrmId);
|
2018-03-17 21:41:04 +08:00
|
|
|
|
});
|
|
|
|
|
} else {
|
|
|
|
|
vm.$set('$data',
|
|
|
|
|
{
|
|
|
|
|
Id: ''
|
2018-03-31 11:18:57 +08:00
|
|
|
|
, SchemeCode: new Date().getTime()
|
2018-03-31 12:41:25 +08:00
|
|
|
|
, SortCode: '1'
|
2018-03-17 21:41:04 +08:00
|
|
|
|
});
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
//提交数据
|
2018-03-17 23:04:19 +08:00
|
|
|
|
form.on('submit(formSubmit)',
|
2018-03-17 21:41:04 +08:00
|
|
|
|
function (data) {
|
2018-03-27 22:58:55 +08:00
|
|
|
|
var content = flowDesignPanel.exportDataEx();
|
2018-03-17 23:04:19 +08:00
|
|
|
|
if (content == -1) {
|
|
|
|
|
return false; //阻止表单跳转。
|
|
|
|
|
}
|
2018-03-17 21:41:04 +08:00
|
|
|
|
var schemecontent = {
|
|
|
|
|
SchemeContent: JSON.stringify(content)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
$.extend(data.field, schemecontent);
|
|
|
|
|
$.post(url,
|
|
|
|
|
data.field,
|
|
|
|
|
function (result) {
|
|
|
|
|
layer.msg(result.Message);
|
|
|
|
|
},
|
|
|
|
|
"json");
|
2018-03-19 17:21:56 +08:00
|
|
|
|
|
|
|
|
|
return false; //阻止表单跳转。
|
2018-03-17 21:41:04 +08:00
|
|
|
|
});
|
|
|
|
|
|
2018-03-24 09:56:32 +08:00
|
|
|
|
$(window).resize(function () {
|
|
|
|
|
flowDesignPanel.reinitSize($(window).width() - 30, $(window).height() - 100);
|
2018-03-19 17:21:56 +08:00
|
|
|
|
});
|
|
|
|
|
|
2018-03-17 23:04:19 +08:00
|
|
|
|
//该函数供给父窗口确定时调用
|
|
|
|
|
submit = function () {
|
|
|
|
|
//只能用隐藏的submit btn才行,用form.submit()时data.field里没有数据
|
|
|
|
|
$("#btnSubmit").click();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
//让层自适应iframe
|
|
|
|
|
parent.layer.iframeAuto(index);
|
2018-03-17 21:41:04 +08:00
|
|
|
|
})
|