Sfoglia il codice sorgente

Merge branch 'master' of http://192.168.1.220:10080/esb/esb

zhenglingfeng 8 anni fa
parent
commit
d1056baebe

+ 4 - 1
src/main/webapp/WEB-INF/ehr/jsp/system/flow/flowJs.jsp

@ -45,7 +45,7 @@
                        display: '操作', name: 'operator', width: '40%', render: function (row) {
                        var html = '<div class="m-inline-buttons" style="width:350px;vertical-align:middle;">';
                        html += "<a class=\"m-btn\" style=\"padding-right:10px\" onclick=\"flow.showImage('${contextRoot}/app/read/"+row.chart+"')\">查看流程图</a>";
                        html += "<a class=\"m-btn\" style=\"padding-right:10px\" onclick=\"flow.showFlow('"+row.id+"')\">查看流程图</a>";
                        html += "<a class=\"m-btn-edit\" onclick=\"flow.editorDialog('"+row.id+"')\"></a>";
                        html += "<a class=\"m-btn-delete\" onclick=\"flow.delete('"+row.id+"')\"></a>";
                        html += '</div>';
@ -59,6 +59,9 @@
            });
        },
	    showFlow:function (id) {
		    indexPage.openChildPage("",'${contextRoot}/process/initial?flowId='+id);
	    },
        bindEvents: function () {
            var me = this;
            var flag = false;

+ 7 - 230
src/main/webapp/WEB-INF/ehr/jsp/system/process/processJs.jsp

@ -1,237 +1,14 @@
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="utf-8" %>
<%@include file="/WEB-INF/ehr/commons/jsp/commonInclude.jsp" %>
<link rel="stylesheet" type="text/css" href="${contextRoot}/develop/lib/gooflow/css/GooFlow.css"/>
<script type="text/javascript" src="${contextRoot}/develop/lib/gooflow/js/jquery.min.js"></script>
<script type="text/javascript" src="${contextRoot}/develop/lib/ligerui/ligerui.min.js"></script>
<%--<script type="text/javascript" src="${contextRoot}/develop/lib/gooflow/js/jquery.min.js"></script>--%>
<%--<script type="text/javascript" src="${contextRoot}/develop/lib/ligerui/ligerui.min.js"></script>--%>
<script type="text/javascript" src="${contextRoot}/develop/lib/gooflow/js/GooFlow.js"></script>
<script type="text/javascript">
 	$(function () {
		var demo1 = $('#esb').createGooFlow();
		$('#demo1Export').click(function () {
			console.log(demo1.exportData());
		});
        var data = {
        "nodes": {
        "esb_node_0": {
        "name": "SDf",
        "left": 64,
        "top": 71,
        "type": "task",
        "value": "sd",
        "sType": "service",
        "width": 140,
        "height": 50
        },
        "esb_node_1": {
        "name": "crawler转换器",
        "left": 283,
        "top": 71,
        "type": "plug",
        "value": "CrawlerProcessor0",
        "sType": "processor",
        "width": 140,
        "height": 50
        },
        "esb_node_2": {
        "name": "判断",
        "left": 75,
        "top": 213,
        "type": "state",
        "sType": "judgement",
        "width": 120,
        "height": 70
        },
        "esb_node_3": {
        "name": "循环",
        "left": 100,
        "top": 363,
        "type": "complex",
        "sType": "circle",
        "width": 70,
        "height": 70
        },
        "esb_node_4": {
        "name": "全流程-用户信息",
        "left": 65,
        "top": 560,
        "type": "task",
        "value": "全流程-用户信息",
        "sType": "service",
        "width": 140,
        "height": 50
        },
        "esb_node_5": {
        "name": "全流程-就诊信息",
        "left": 319,
        "top": 435,
        "type": "task",
        "value": "jetty:http://localhost:8080/clinicInfo",
        "sType": "service",
        "width": 140,
        "height": 50
        },
        "esb_node_6": {
        "name": "分流",
        "left": 333,
        "top": 223,
        "type": "fork",
        "sType": "multicast",
        "width": 120,
        "height": 50
        },
        "esb_node_7": {
        "name": "crawler转换器",
        "left": 536,
        "top": 132,
        "type": "plug",
        "value": "CrawlerProcessor0",
        "sType": "processor",
        "width": 140,
        "height": 50
        },
        "esb_node_8": {
        "name": "crawler转换器",
        "left": 540,
        "top": 223,
        "type": "plug",
        "value": "CrawlerProcessor0",
        "sType": "processor",
        "width": 140,
        "height": 50
        },
        "esb_node_9": {
        "name": "crawler转换器",
        "left": 537,
        "top": 311,
        "type": "plug",
        "value": "CrawlerProcessor0",
        "sType": "processor",
        "width": 140,
        "height": 50
        },
        "esb_node_10": {
        "name": "聚合",
        "left": 830,
        "top": 305,
        "type": "join",
        "sType": "aggregate",
        "width": 90,
        "height": 60
        },
        "esb_node_11": {
        "name": "全流程-患者信息",
        "left": 687,
        "top": 453,
        "type": "task",
        "value": "全流程-患者信息",
        "sType": "service",
        "width": 140,
        "height": 50
        },
        "esb_node_12": {
        "name": "全流程-就诊信息",
        "left": 928,
        "top": 452,
        "type": "task",
        "value": "jetty:http://localhost:8080/clinicInfo",
        "sType": "service",
        "width": 140,
        "height": 50
        }
        },
        "lines": {
        "esb_line_0": {
        "type": "sl",
        "from": "esb_node_0",
        "to": "esb_node_1",
        "name": "",
        "marked": false
        },
        "esb_line_1": {
        "type": "tb",
        "M": 171.5,
        "from": "esb_node_1",
        "to": "esb_node_2",
        "name": "",
        "marked": false
        },
        "esb_line_2": {
        "type": "sl",
        "from": "esb_node_2",
        "to": "esb_node_3",
        "name": "自定义内容",
        "marked": false
        },
        "esb_line_3": {
        "type": "tb",
        "from": "esb_node_3",
        "to": "esb_node_5",
        "name": "自定义内容",
        "marked": false,
        "M": 390
        },
        "esb_line_4": {
        "type": "sl",
        "from": "esb_node_3",
        "to": "esb_node_4",
        "name": "自定义内容",
        "marked": false
        },
        "esb_line_5": {
        "type": "sl",
        "from": "esb_node_2",
        "to": "esb_node_6",
        "name": "自定义内容",
        "marked": false
        },
        "esb_line_6": {
        "type": "sl",
        "from": "esb_node_6",
        "to": "esb_node_8",
        "name": "",
        "marked": false
        },
        "esb_line_7": {
        "type": "lr",
        "M": 499.5,
        "from": "esb_node_6",
        "to": "esb_node_7",
        "name": "",
        "marked": false
        },
        "esb_line_8": {
        "type": "lr",
        "M": 500,
        "from": "esb_node_6",
        "to": "esb_node_9",
        "name": "",
        "marked": false
        },
        "esb_line_9": {
        "type": "sl",
        "from": "esb_node_9",
        "to": "esb_node_10",
        "name": "",
        "marked": false
        },
        "esb_line_10": {
        "type": "tb",
        "M": 406.5,
        "from": "esb_node_11",
        "to": "esb_node_10",
        "name": "",
        "marked": false
        },
        "esb_line_11": {
        "type": "tb",
        "M": 406,
        "from": "esb_node_12",
        "to": "esb_node_10",
        "name": "",
        "marked": false
        }
        }
        }
		demo1.loadData(data);
	});
		var esb = $('#esb').createGooFlow();
	    var id = "${flowId}";
	    var dataGetURL = "/esb/process/chart?flowId="+ id;
	    esb.loadData(dataGetURL);
    });
</script>

+ 12 - 3
src/main/webapp/develop/lib/gooflow/css/GooFlow.css

@ -710,8 +710,16 @@ v\:group,v\:rect,v\:imagedata,v\:oval,v\:line,v\:polyline,v\:stroke,v\:textbox {
.line-error{
    stroke:#f00
}
.file-box{position:absolute;top:0;left:50px;
    z-index: 9999;}
.file-box{
    position: absolute;
    top: 20px;
    padding-left: 30px;
    left: 50px;
    z-index: 9999;
}
.file-box.error{
    border:2px dashed #f00;
}
.file-box input{
    margin: 20px;
@ -719,4 +727,5 @@ v\:group,v\:rect,v\:imagedata,v\:oval,v\:line,v\:polyline,v\:stroke,v\:textbox {
    background: none;
    padding: 5px;
    border-bottom: 1px solid #333;
}
    
}

+ 50 - 21
src/main/webapp/develop/lib/gooflow/js/GooFlow.js

@ -8,8 +8,7 @@ var GooFunc = {
			t += dom.offsetTop;
			l += dom.offsetLeft;
			dom = dom.offsetParent;
		}
		;
		};
		return {top: t, left: l};
	},
	mousePosition: function (ev) {
@ -107,6 +106,8 @@ function GooFlow(bgDiv, property) {
		getAllProcessorsURL = URL + "/esb/process/getAllProcessors";
		dataPostURL = URL + "/esb/process/json";
	/*
	 * Todo: 初始化布局 【初始化】
	 * Author: LE
@ -526,8 +527,8 @@ GooFlow.prototype = {
        this.$draw = document.createElementNS("http://www.w3.org/2000/svg", "svg");
        this.$workArea.prepend(this.$draw);
        this.$workArea.prepend("<div class='file-box'>Code:<input id='fileCode' value='" + this.$fileCode +
			"'>Name:<input id='fileName' value='" + this.$fileName +
        this.$workArea.prepend("<div class='file-box'>编码:<input id='fileCode' value='" + this.$fileCode +
			"'>流程名称:<input id='fileName' value='" + this.$fileName +
			"'></div>")
        // 设置画布属性
        this.$draw.id = id;
@ -635,7 +636,8 @@ GooFlow.prototype = {
                var id = Dom.attr("id");
                clearTimeout(timeId);
                timeId = setTimeout(function () {
                    var ev = GooFunc.mousePosition(e),
	                that.focusItem(id, true);
	                var ev = GooFunc.mousePosition(e),
                        t = GooFunc.getElCoordinate(that.$workArea[0]),
                        c = GooFunc.getElCoordinate(that.$MainContener);
@ -769,6 +771,11 @@ GooFlow.prototype = {
            }
        }, ".rs_close")
	    $('.file-box input').click(function () {
		    // 编辑的时候禁止delete键删除
		    that.blurItem();
	    })
		/*
		 * Todo: 连线链接 【 $$$】
		 * Author: LE
@ -984,8 +991,9 @@ GooFlow.prototype = {
	 * time: 9:53
	 * */
    blurItem: function () {
        this.$deteLineId = '';
        this.$deteNodeId = '';
	    this.$canDelLine = false;
	    this.$deteNodeId = '';
	    this.$deteLineId = '';
        if (this.$focus != "") {
            // 获取被选中对象
            var jq = $("#" + this.$focus);
@ -1150,13 +1158,10 @@ GooFlow.prototype = {
                    break;
            }
            this.$nodeDom[id] = $(" <div class='GooFlow_item node-" + json.type + "' id='" + id + "' style='top:" + json.top + "px;left:" + json.left + "px'> <div class='GooFlow_item_cont'> <i class='fa ico_" + json.type + "'></i>   <span class='GooFlow_item_txt' id='type-" + json.type + "'>" + json.name + "</span></div> <div class='rs-box' style='display:none'> <div class='rs_close'><i class='fa fa-close' aria-hidden='true'></i></div> </div> </div>");
            this.$nodeDom[id] = $("<div class='GooFlow_item node-" + json.type + "' id='" + id + "' style='top:" + json.top + "px;left:" + json.left + "px'><div class='GooFlow_item_cont'> <i class='fa ico_" + json.type + "'></i><span class='GooFlow_item_txt' id='type-" + json.type + "'>" + json.name + "</span></div> <div class='rs-box' style='display:none'><div class='rs_close'><i class='fa fa-close' aria-hidden='true'></i></div></div></div>");
        }
        var ua = navigator.userAgent.toLowerCase();
        if (ua.indexOf('msie') != -1 && ua.indexOf('8.0') != -1) {
            this.$nodeDom[id].css("filter", "progid:DXImageTransform.Microsoft.Shadow(color=#94AAC2,direction=135,strength=2)");
        }
        this.$workArea.append(this.$nodeDom[id]);
        json.width = this.$nodeDom[id].width();
        json.height = this.$nodeDom[id].height();
@ -1852,14 +1857,29 @@ GooFlow.prototype = {
	 * Date: 2017/2/15
	 * time: 15:02
	 * */
    loadData: function (data) {
		this.fileMsg(data.code,data.name);
        for (var i in data.nodes) {
            this.addNode(i, data.nodes[i]);
        }
        for (var j in data.lines) {
            this.addLine(j, data.lines[j], true);
        }
    loadData: function (url) {
    	var that = this;
	    $.ajax({
		    url: url,
		    type: 'GET',
		    async: true,
		    dataType: 'json',
		    success: function (data) {
		    	var data = $.parseJSON(data.message);
			    that.fileMsg(data.code,data.name);
			    for (var i in data.result.nodes) {
				    that.addNode(i, data.result.nodes[i]);
			    }
			    for (var j in data.result.lines) {
				    that.addLine(j, data.result.lines[j], true);
			    }
		    },
		    error: function (data, xhr, textStatus) {
			    console.log('错误')
			    console.log(xhr)
			    console.log(textStatus)
		    },
	    })
    },
	fileMsg:function (code,name) {
@ -1906,6 +1926,8 @@ GooFlow.prototype = {
            flowJson: JSON.stringify(data)
        }
        console.log(postData);
		var nodeArr = [];
		var specialArr = [];
		var fromArr = [];
@ -1964,7 +1986,14 @@ GooFlow.prototype = {
			}
		})
		console.log(postData);
	    // 标题code和name不能为空
	    if (this.$fileCode === '' || this.$fileName === ''){
		    noError = false;
		    $('.file-box').addClass('node-error');
	    }else{
		    $('.file-box').removeClass('node-error');
	    }
		// 如果没有错误则弹出保存菜单
		if (noError) {
			saveConfirm();