OpenAuth.Net/OpenAuth.Mvc/wwwroot/userJs/flowInstanceEdit.js
yubaolee c7acca904a 更新域名
fix issue #I3ZCIX 可以控制流程审批过程中表单项是否可写
2021-07-22 19:33:55 +08:00

165 lines
6.3 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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'
});
})
}
});