/**
|
* 流程设计器
|
* @author weidy
|
* @date 2020-09-15
|
*/
|
layui.define(['layer','element' ],function(exports){
|
var webUtil = $webUtil;
|
var Class = function(){
|
this.MODELNAME = "platform/process/designer/VciProcessDesigner";
|
this.moduleKey = "VciProcessDesigner";
|
this.backPath = configData.compatibility?path:configData.processServicePath;
|
this.url = {
|
listDepts:'departmentQueryController/refDataGrid',
|
listRoles:'roleQueryController/refDataGrid',
|
listUser:'userQueryController/refDataGrid',
|
listDuty:'dutyQueryController/refDataGrid',
|
listWorkType:'smWorkTypeController/refDataGrid',
|
listUserByDept:'userQueryController/refDataGridByPkDepartment',
|
listUserByRole:'userQueryController/refDataGridByPkRole',
|
listUserByDuty:'userQueryController/refDataGridByPkDuty',
|
listProcessUserGroup:''
|
};
|
this.getContent=function(){
|
var that = this;
|
var html = "";
|
html = [
|
'<div class="layui-layout" style="display:block;overflow-y: auto">',
|
that.getToolbarHtml(),
|
'<div class="layui-layout-border" style="display:block;margin-top:0px;position:relative;height:815px;overflow:hidden;background:#f2f2f2;" id="border_',that.id,'">',
|
'<style type="text/css">.processElement{' ,
|
'background-color:#f2f2f2;color:#000;width:95px;font-size:16px;' ,
|
'}</style>',
|
'<div class="layui-west" style="width:135px;float: left;margin-top: 5px;">',
|
'<fieldset style="margin-left:10px;"><legend style="margin-left:10px;"><a href="javascript:void(0);" style="color:#0000ff;font-size:16px;">流程元素</a></legend></fieldset>',
|
'<div class="layui-collapse">',
|
'<div class="layui-colla-item">',
|
'<h2 class="layui-colla-title">开始结束</h2>',
|
'<div class="layui-colla-content layui-show">',
|
'<button class="layui-btn layui-btn-sm processElement" layui-filter="toolbar_',that.id,'_START"><i class="layui-icon layui-icon-circle-dot" style="color:green"></i>开始</button></br>',
|
'<button class="layui-btn layui-btn-sm processElement" layui-filter="toolbar_',that.id,'_END"><i class="layui-icon layui-icon-circle-dot" style="color:red;"></i>结束</button></br>',
|
'</div>',
|
'</div>',
|
'<div class="layui-colla-item">',
|
'<h2 class="layui-colla-title">任务类型</h2>',
|
'<div class="layui-colla-content" >',
|
'<button class="layui-btn layui-btn-sm processElement" layui-filter="toolbar_',that.id,'_USERTASK"><i class="layui-icon layui-icon-user" ></i>用户任务</button></br>',
|
'<button class="layui-btn layui-btn-sm processElement" layui-filter="toolbar_',that.id,'_MANUTASK"><i class="layui-icon layui-icon-praise" ></i>手动任务</button></br>',
|
'<button class="layui-btn layui-btn-sm processElement" layui-filter="toolbar_',that.id,'_SERVICETASK"><i class="layui-icon layui-icon-set" ></i>服务任务</button></br>',
|
'<button class="layui-btn layui-btn-sm processElement" layui-filter="toolbar_',that.id,'_SECRIPTTASK"><i class="layui-icon layui-icon-console" ></i>脚本任务</button></br>',
|
'<button class="layui-btn layui-btn-sm processElement" layui-filter="toolbar_',that.id,'_EMAILTASK"><i class="layui-icon layui-icon-email" ></i>邮件任务</button></br>',
|
'<button class="layui-btn layui-btn-sm processElement" layui-filter="toolbar_',that.id,'_RECEIVETASK"><i class="layui-icon layui-icon-email" style="color:green;"></i>接受任务</button></br>',
|
'<button class="layui-btn layui-btn-sm processElement" layui-filter="toolbar_',that.id,'_RULETASK"><i class="layui-icon layui-icon-table" ></i>业务规则</button></br>',
|
'<button class="layui-btn layui-btn-sm processElement" layui-filter="toolbar_',that.id,'_SUBTASK"><i class="layui-icon layui-icon-engine" ></i>子流程</button></br>',
|
'</div>',
|
'</div>',
|
'<div class="layui-colla-item">',
|
'<h2 class="layui-colla-title">网关</h2>',
|
'<div class="layui-colla-content">',
|
'<button class="layui-btn layui-btn-sm processElement" layui-filter="toolbar_',that.id,'_GATEAND"><i class="layui-icon layui-icon-add-circle" ></i>同步</button></br>',
|
'<button class="layui-btn layui-btn-sm processElement" layui-filter="toolbar_',that.id,'_GATEOR"><i class="layui-icon layui-icon-share" ></i>分支</button></br>',
|
'<button class="layui-btn layui-btn-sm processElement" layui-filter="toolbar_',that.id,'_GATEINCLUDE"><i class="layui-icon layui-icon-component" ></i>包含</button></br>',
|
'</div>',
|
'</div>',
|
'<div class="layui-colla-item">',
|
'<h2 class="layui-colla-title">边界事件</h2>',
|
'<div class="layui-colla-content">',
|
'<button class="layui-btn layui-btn-sm processElement" layui-filter="toolbar_',that.id,'_TIMEEVENT"><i class="layui-icon layui-icon-time"></i>时间边界</button></br>',
|
'<button class="layui-btn layui-btn-sm processElement" layui-filter="toolbar_',that.id,'_EXCEPTIONEVENT"><i class="layui-icon layui-icon-close-fill"></i>错误边界</button></br>',
|
'</div>',
|
'</div>',
|
'</div>',
|
'</div>',
|
'<div class="layui-center layuiCenter" id="center_',that.id,'">',
|
'<fieldset style="margin-left:10px;width:123px;"><legend style="margin-left:10px;"><a href="javascript:void(0);" style="color:#0000ff;font-size:16px;">流程绘制</a></legend></fieldset>',
|
'<div class="layui-tab" lay-filter="design_panel_',that.id,'">',
|
'<ul class="layui-tab-title">',
|
'<li class="layui-this">设计</li>',
|
'<li>源码</li>',
|
'</ul>',
|
'<div class="layui-tab-content" style="padding:0px;">',
|
'<div class="layui-tab-item layui-show" id="designer-area" style="POSITION: absolute;width:100%;height:100%;padding: 0;border: none;overflow:auto">' ,
|
'<div id="paintarea" style="POSITION: absolute;WIDTH: 100%; HEIGHT: 100%;background:url(\'./vciweb/platform/process/designer/images/paint.png\') repeat; " ></div>',
|
'</div>',
|
'<div class="layui-tab-item ">',
|
'<pre class="layui-code" style="width: 100%;height:100%;padding: 0;border: none;"></pre>',
|
'</div>',
|
'</div>',
|
'</div>',
|
'</div>',
|
'<div class="layui-east" style="overflow-y:auto;overflow-x:hidden;width:280px;">',
|
'<fieldset style="margin-left:10px;"><legend style="margin-left:10px;"><a href="javascript:void(0);" style="color:#0000ff;font-size:16px;">流程(任务)属性</a></legend></fieldset>',
|
'<div class="layui-collapse" id="process_properties_',that.id,'">',
|
'</div>',
|
'</div>',
|
'</div>',
|
'</div>'
|
].join("");
|
return html;
|
};
|
this.getToolbarHtml =function(){
|
var that = this;
|
var html = [
|
'<div layui-filter="toolbar_',that.id,'" class="layui-btn-container layui-buttons" style="padding:5px">',
|
'<button class="layui-btn layui-btn-sm" layui-filter="toolbar_',that.id,'_SAVE"><i class="layui-icon layui-icon-template-1"></i>保存</button>',
|
'<button class="layui-btn layui-btn-sm" layui-filter="toolbar_',that.id,'_REBACK"><i class="layui-icon layui-icon-prev"></i>撤销</button>',
|
'<button class="layui-btn layui-btn-sm" layui-filter="toolbar_',that.id,'_REDO"><i class="layui-icon layui-icon-next"></i>重做</button>',
|
'<button class="layui-btn layui-btn-sm" layui-filter="toolbar_',that.id,'_EXPORT"><i class="layui-icon layui-icon-export"></i>导出</button>',
|
'</div>'
|
].join("");
|
return html;
|
};
|
this.init = function(options){
|
var that = this;
|
var allWidth = $("#border_" + that.id ).parent().parent().width();
|
var centerWidth = allWidth - 265;
|
$("#center_" + that.id).width(centerWidth);
|
$("#designer-area").width(centerWidth);
|
$("#paintarea").width(centerWidth);
|
layui.element.render();
|
};
|
|
};
|
var cs = new Class();
|
exports(cs.MODELNAME,cs);
|
});
|