/** * Created by weidy on 2018/5/22 * 流程代理 */ layui.define(['layer','table','form'],function(exports){ var WorkFlowProxy = function(){ this.moduleKey = "vciWebProProxy"; this.id = "vciWebProProxy_table"; this.backPath = configData.compatibility ? path : configData.processServicePath;//默认流程和项目的路径是一样的 this.userBackPath = path;//用户的后台路径,默认和项目路径是一样的 this.url = { getProxy :'webProcessCommandController/getProxy', startProxy: 'webProcessCommandController/startProxy', endProxy:'webProcessCommandController/endProxy', referUser:'userQueryController/refDataGrid'//queryUserTree' }; this.columns = []; }; WorkFlowProxy.prototype.getContent = function(){//获取基础的html var that = this; return ['
',//主列表的按钮 '', '', '', '
', '
'].join("");//主列表 }; WorkFlowProxy.prototype.init = function(){//初始化 var that = this; $webUtil.copyConfig(that,that.moduleKey); //显示表格信息 that.checkColumns(); var table =layui.table; table.render({ elem: "#table_" + that.id, id: that.id, backPath:that.backPath, url:that.url.getProxy, height:150, cols:[that.columns], done:function(res,cur,count){ that.proxyCount = count; } }); that.bindButtonListener(); }; WorkFlowProxy.prototype.checkColumns=function(){ var that = this; var table = layui.table; if(!that.columns || that.columns.length == 0){ that.columns = [table.getIndexColumn(),{ field:'tasksName', title:'代理人账号', width:150 },{ field:'userName', title:'代理人', width:220 },{ field:'startTime', title:'开始日期', width:135 },{ field:'endTime', title:'结束日期', width:135 },{ field:'isTrue', title:'启用状态', width:150, templet:function(d){ if(d.isTrue == 1){ return "启用"; }else{ return "停用"; } } }] } }; WorkFlowProxy.prototype.bindButtonListener=function(){ var that =this; $("[layui-filter='toolbar_" + that.id + "_startProxy']").click(function(){ if(that.proxyCount>0){ $webUtil.showConfirmMsg("已经设置过代理人,只能设置一个代理人,继续操作将会覆盖原来的设置。是否继续?",function(){ that.showStartProxy(); }); }else{ that.showStartProxy(); } }); $("[layui-filter='toolbar_" + that.id + "_refresh']").click(function(){ that.refresh(); }); $("[layui-filter='toolbar_" + that.id + "_endProxy']").click(function(){ that.endProxy(); }); }; WorkFlowProxy.prototype.refresh = function(){ var that =this; var table = layui.table; table.reload(that.id); }; /** * 设置流程代理人窗口 * 需要选择一个用户 * 然后选择开始日期 */ WorkFlowProxy.prototype.showStartProxy = function(){ var that = this; var formId = "start_process_proxy_form" ; var form = layui.form; var table = layui.table; var startProxyIndex = layer.open({ type:1, title:'设置流程代理人', btn:['确定','取消'], skin:'layui-layer-lan', content:'
', area:[620 +'px', 300 + 'px'], closeBtn:2, shade:true, shadeClose:true, resize:true, resizing:function(layero){ form.doResize(); }, yes:function(index,layero){ if(form.validata(formId)){ //校验通过 var values = form.getValues(formId); delete values.name; $webUtil.post(that.url.startProxy,values,function(result){ if(result.success){ $webUtil.showMsg("设置流程代理人成功"); layer.close(startProxyIndex); that.refresh(); }else{ $webUtil.showErrorMsg(result.msg); } },function(result){},that.backPath); } }, btn2:function(index,layero){ layer.close(startProxyIndex); that.refresh(); }, cancel:function(index,layero){ that.refresh(); }, success:function(layero) { var formItems = [{ type: 'refer', name: 'userId', text: '流程代理人', required: true, labelWidth: 120, textWidth: 400, showField:'userName', referConfig:{ type:'refer/SmUserRefer', valueField:'id' } }, { type: 'date', name: 'startTime', text: '开始时间', textWidth: 400, required:true, labelWidth: 120, value:$webUtil.getSystemVar($webUtil.systemValueKey.currentDate), min:$webUtil.getSystemVar($webUtil.systemValueKey.currentDate) },{ type:'date', name:'endTime', text:'结束时间', textWidth:400, required:true, labelWidth:120, min:$webUtil.getSystemVar($webUtil.systemValueKey.currentDate) }]; form.addItems(formId,formItems,function() { //form.setValues({ //startTime: $webUtil.getSystemVar($webUtil.systemValueKey.currentDate) //}); form.on('select(' + formId + ')', function (data) { if (data.name == 'startTime') { var values = form.getValues(formId); if (values.endTime <= data.value) { form.setValues({endTime: ''}, formId); } } else if (data.name == 'endTime') { var values = form.getValues(formId); if (values.startTime >= data.value) { form.setValues({startTime: ''}, formId); } } }) },{},{ defaultColumnOneRow:1, inDialog:true }); } }); }; /** * 停止代理,会将设置的代理的信息直接删除 */ WorkFlowProxy.prototype.endProxy =function(){ var that =this; $webUtil.showConfirmMsg("是否停止代理流程",function(){ $webUtil.post(that.url.endProxy,{},function(result){ if(result.success){ $webUtil.showMsg("停止代理流程成功"); that.refresh(); }else{ $webUtil.showErrorMsg(result.msg); } },function(result){},that.backPath); }); }; var sp = new WorkFlowProxy(); exports("process/vciWebProProxy",sp); });