mirror of
https://gitee.com/dotnetchina/OpenAuth.Net.git
synced 2025-04-05 17:38:01 +08:00
165 lines
6.3 KiB
JavaScript
165 lines
6.3 KiB
JavaScript
new Vue({
|
||
el: "#formEdit",
|
||
data() {
|
||
return {
|
||
tmp: {
|
||
Id: '',
|
||
Code: new Date().getTime(),
|
||
SchemeCode:'',
|
||
SchemeId: '',
|
||
FrmData:''
|
||
}
|
||
}
|
||
},
|
||
mounted() {
|
||
let _this = this;
|
||
layui.config({
|
||
base: "/js/"
|
||
}).use(['form', 'dtree', 'layer', 'utils', 'element', 'jquery', 'cookie','table', 'slimscroll', 'openauth', 'flow/gooflow', 'flowlayout'], function () {
|
||
var form = layui.form,
|
||
element = layui.element,
|
||
layer = layui.layer,
|
||
dtree = layui.dtree,
|
||
$ = layui.jquery;
|
||
var index = layer.getFrameIndex(window.name); //获取窗口索引
|
||
var id = $.getUrlParam("id"); //ID
|
||
var update = (id != null && id != '');
|
||
//提交的URL
|
||
var url = "/FlowInstances/Add";
|
||
|
||
/*=========流程设计(begin)======================*/
|
||
var flowDesignPanel = $('#flowPanel').flowdesign({
|
||
height: 300,
|
||
widht: $(window).width() - 250,
|
||
haveTool: false,
|
||
preview: 1,
|
||
OpenNode: function (object) {
|
||
FlowDesignObject = object; //为NodeInfo窗口提供调用
|
||
|
||
if (object.type == 'start round mix' || object.type == 'end round') {
|
||
return false;
|
||
}
|
||
|
||
layer.open({
|
||
type: 2,
|
||
area: ['550px', '450px'], //宽高
|
||
maxmin: true, //开启最大化最小化按钮
|
||
title: '节点设置【' + object.name + '】',
|
||
content: '/flowschemes/nodeInfo',
|
||
btn: ['关闭'],
|
||
cancel: function (index) {
|
||
layer.close(index);
|
||
}
|
||
});
|
||
},
|
||
OpenLine: function (id, object) {
|
||
lay.msg("暂不能设置分支条件");
|
||
return;
|
||
}
|
||
});
|
||
/*=========流程设计(end)=====================*/
|
||
|
||
//流程模板选择列表
|
||
function initTree(option) {
|
||
var treeObj = dtree.render({
|
||
elem: "#tree",
|
||
url: '/flowschemes/load',
|
||
method: 'GET',
|
||
dataFormat: 'list',
|
||
dataStyle: 'layuiStyle',
|
||
initLevel: "4",
|
||
record: true, //记录节点数据
|
||
response: {
|
||
statusName: "code", //返回标识(必填)
|
||
statusCode: 200, //返回码(必填)
|
||
message: "msg", //返回信息(必填)
|
||
rootName: "data", //根节点名称(必填)
|
||
treeId: "Id", //节点ID(必填)
|
||
parentId: "ParentId", //父节点ID(必填)
|
||
title: "SchemeName", //节点名称(必填)
|
||
},
|
||
done: function (data, obj) { //使用异步加载回调
|
||
if (option) {
|
||
dtree.dataInit("tree", option); // 初始化复选框的值
|
||
}
|
||
}
|
||
});
|
||
dtree.on("node('tree')", function (obj) { //节点点击事件
|
||
var record = JSON.parse(obj.param.recordData); //从记录中取节点数据
|
||
_this.tmp.SchemeId = record.Id;
|
||
_this.tmp.SchemeCode = record.SchemeCode;
|
||
|
||
//取表单的结构数据
|
||
$.getJSON("/forms/get?id=" + record.FrmId, function (data) {
|
||
if (data.Code != 500) {
|
||
if (data.Result.FrmType == 0) {
|
||
$("#frmPreview").html(data.Result.Html);
|
||
} else {
|
||
$("#frmPreview").html('复杂表单暂时只能在<a href="http://demo.openauth.net.cn:1803">企业版</a>查看,开源版预计会在以后的开源版本中发布');
|
||
}
|
||
}
|
||
});
|
||
|
||
//预览流程
|
||
flowDesignPanel.loadData(JSON.parse(record.SchemeContent));
|
||
|
||
});
|
||
|
||
}
|
||
|
||
if (update) {
|
||
$.getJSON('/FlowInstances/get?id=' + id,
|
||
function (data) {
|
||
var obj = data.Result;
|
||
url = "/FlowInstances/Update";
|
||
|
||
_this.tmp = $.extend({}, obj)
|
||
flowDesignPanel.loadData(JSON.parse(obj.SchemeContent));
|
||
initTree(obj.SchemeId);
|
||
});
|
||
} else {
|
||
initTree();
|
||
}
|
||
|
||
//提交数据
|
||
form.on('submit(formSubmit)',
|
||
function (data) {
|
||
var content = flowDesignPanel.exportData();
|
||
if (content == -1) {
|
||
return false; //阻止表单跳转。
|
||
}
|
||
|
||
delete data.field.CustomName;
|
||
delete data.field.Code;
|
||
delete data.field.Description;
|
||
_this.tmp.OrgId = $.cookie('defaultorgid');
|
||
|
||
_this.tmp.FrmData = JSON.stringify(data.field);
|
||
$.post(url,
|
||
_this.tmp,
|
||
function (result) {
|
||
layer.msg(result.Message);
|
||
},
|
||
"json");
|
||
|
||
return false; //阻止表单跳转。
|
||
});
|
||
|
||
$(window).resize(function () {
|
||
flowDesignPanel.reinitSize($(window).width() - 250, $(window).height() - 100);
|
||
});
|
||
|
||
//该函数供给父窗口确定时调用
|
||
submit = function () {
|
||
//只能用隐藏的submit btn才行,用form.submit()时data.field里没有数据
|
||
$("#btnSubmit").click();
|
||
}
|
||
|
||
$(".GooFlow_work").slimScroll({
|
||
height: 'auto'
|
||
});
|
||
|
||
})
|
||
|
||
}
|
||
}); |