var baseApp = angular.module('baseApp',['components','pascalprecht.translate']); /** * 国际化配置 */ baseApp.config(['$translateProvider',function($translateProvider){ $translateProvider.useLoader('translateCustomLoader') .preferredLanguage(__lang) .fallbackLanguage(__lang); }]) /** * 转换成html * 例子 * */ .filter("trust_as_html",['$sce',function($sce){ return function(text){ return $sce.trustAsHtml(text); } }]) /** * 转换附件格式的显示信息 * 例子 * */ .filter("turn_to_subdata",['$sce',function($sce){ return function(text){ if(text&&text.indexOf(HT.FILE_QUOTES)>=0){ var jsonArr=eval(text.replaceAll(HT.FILE_QUOTES,"\"")); text=""; for(var i=jsonArr.length;i--;){ text+=String.format('{1}',"'"+jsonArr[i].id+"'",jsonArr[i].name); } } return $sce.trustAsHtml(text); } }]) /** * 页面日期格式 * 例子: * 1.{item.createtime |date_format}} 默认的 * 2.{item.createtime |date_format:'yyyy-MM-dd'}} 按指定格式 */ .filter("date_format",function(){ return function(text,format){ return HT.date(text,format); } }) //流程任务审批 .controller('taskInfoCtrl',['$scope','baseService',function($scope,baseService){ //表单流程类型:0.新建流程表单、1.任务流程表单、2.流程实例表单 var formFlowType = HT.getStorage("formFlowType"), defId = HT.getStorage("defId"), taskId = HT.getStorage("taskId"), runId = HT.getStorage("runId"), //所有按钮 allButtons = {'1':{'type':'1','name':$i18n$.FLOW.COMPLETE,'icon':'icon-checkmark'}, '2':{'type':'2','name':$i18n$.FLOW.OPPOSE,'icon':'icon-mail-reply'}, '3':{'type':'3','name':$i18n$.FLOW.ABSTENT,'icon':'icon-minus-square'}, '5':{'type':'5','name':$i18n$.FLOW.BACK,'icon':'icon-arrow-back'}, '6':{'type':'6','name':$i18n$.FLOW.ASSIGNEE,'icon':'icon-arrow-forward'}, '16':{'type':'16','name':$i18n$.FLOW.COMMU,'icon':'icon-comment'}, '18':{'type':'18','name':$i18n$.FLOW.FEEDBACK,'icon':'icon-back'}, "42":{type:"42",icon:"icon-bell-o",name:$i18n$.FLOW.REMINDER}, "43":{type:"43",icon:"icon-arrow-loop-outline",name:$i18n$.FLOW.RECOVER}, 'more':{"type":"more","name":$i18n$.FLOW.MORE,"icon":"icon-eject2","subbnt":[]}}; $scope.buttons = []; $scope.showfooter=false; $scope.initButtons = function(){ var detail_type = HT.getStorage("detail_type",true), buttonAry =[]; if (detail_type == "undertake") { return; }else if(detail_type=="launch"){ if(HT.getStorage("flow_status",true)!="1") return; var b= HT.getStorage("buttonsAry"); b = b.split(","); angular.forEach(b, function(item){ if(item==42||item==43) buttonAry.push(item); }); if(buttonAry.length <= 0) buttonAry =[43]; }else{ buttonAry= HT.getStorage("buttonsAry"); buttonAry = buttonAry.split(","); } var ary = [], moreBnt = {}; angular.forEach(buttonAry, function(item){ var button = allButtons[item]; if (!button) return true; ary.push(button); // if(ary.length < 3){ // ary.push(button); // } // else if(ary.length == 3){ // moreBnt = {"type":"more","name":"更多","icon":"icon-eject2","subbnt":[]}; // ary.push(moreBnt); // } // else{ // moreBnt.subbnt.push(button); // } }); $scope.buttons = ary; if($scope.buttons.length>0){ $scope.showfooter=true; $scope.$digest(); HT.changePopHeight("form",-$$("footer").offsetHeight); } }; $scope.changeTap = function(button){ switch(button.type){ case "1": HT.setStorage("flow_type",1); break; case "2": HT.setStorage("flow_type",2); break; case "3": HT.setStorage("flow_type",3); break; case "4": HT.setStorage("flow_type",5); break; case "5": HT.setStorage("flow_type",5); break; case "6": HT.setStorage("flow_type",6); break; case "16": HT.setStorage("flow_type",16); break; case "18": HT.setStorage("flow_type",18); break; case "42": HT.setStorage("flow_type",42); break; case "43": HT.setStorage("flow_type",43); break; } uexWindow.evaluatePopoverScript("","form","isFormValid()"); }; }]) .controller('flowCtrl',['$scope','baseService',function($scope,baseService){ $scope.flowType=HT.getStorage("flow_type"); $scope.title=$i18n$.FLOW.COMPLETE; $scope.param ={}; $scope.showWrongMsg=function(){ var msg=HT.getStorage("wrongmsg",true); baseService.openDialog({ title: $i18n$.COMMON.ERROR_MSG, html: msg, digest:true, marTop:30, buttons: [{ label: $i18n$.COMMON.OK, callback: function(){ baseService.closeDialog(); } }] }); } switch($scope.flowType){ case "1" : //同意 $scope.title=$i18n$.FLOW.COMPLETE; $scope.onlymsg=true; $scope.opinionValidate=""; $scope.param.voteAgree =1; $scope.param.back =0; $scope.param.msg =$i18n$.FLOW.APPROVAL_SUCCESS; break; case "2" : $scope.title=$i18n$.FLOW.OPPOSE; $scope.onlymsg=true; $scope.param.voteAgree =2; $scope.param.back =0; $scope.param.msg =$i18n$.FLOW.OPPOSE_SUCCESS; break; case "3" ://弃权 $scope.title=$i18n$.FLOW.ABSTENT; $scope.onlymsg=true; $scope.param.voteAgree =0; $scope.param.back =0; $scope.param.msg =$i18n$.FLOW.ABSTENT_SUCCESS; break; case "5" ://驳回都是驳回发起人 $scope.title=$i18n$.FLOW.BACK; $scope.onlymsg=true; $scope.param.voteAgree =3; $scope.param.back =2; $scope.param.msg =$i18n$.FLOW.BACK_SUCCESS; break; case "16" : //沟通 $scope.title=$i18n$.FLOW.COMMU; $scope.name=$i18n$.FLOW.COMMUNICATOR; $scope.reasontitle=$i18n$.FLOW.COMMU_REASON; $scope.reasonplaceholder=$i18n$.FLOW.ENTER_COMMU_REASON_PLEASE; $scope.onlymsg=false; $scope.param.voteAgree =15; $scope.param.msg =$i18n$.FLOW.COMMU_SUCCESS; // $scope.param.cmpNames = "万年飞"; // $scope.param.cmpIds = "130000015589254"; break; case "18" : //沟通反馈 $scope.title=$i18n$.FLOW.FEEDBACK; $scope.reasontitle=$i18n$.FLOW.FEEDBACK_OPINION; $scope.reasonplaceholder=$i18n$.FLOW.ENTER_FEEDBACK_OPINION_PLEASE; $scope.onlymsg=true; $scope.param.voteAgree =20; $scope.param.msg =$i18n$.FLOW.FEEDBACK_SUCCESS; // $scope.param.cmpNames = "万年飞"; // $scope.param.cmpIds = "130000015589254"; break; case "6" ://转办 $scope.title=$i18n$.FLOW.ASSIGNEE; $scope.name=$i18n$.FLOW.ASSIGNEES; $scope.reasontitle=$i18n$.FLOW.ASSIGNEE_REASON; $scope.reasonplaceholder=$i18n$.FLOW.ENTER_ASSIGNEE_REASON_PLEASE; $scope.onlymsg=false; $scope.param.voteAgree =21; $scope.param.msg =$i18n$.FLOW.ASSIGNEE_SUCCESS; // $scope.param.cmpNames = "郭梦恬"; // $scope.param.cmpIds = "10000000571790"; break; case "42"://催办 $scope.title=$i18n$.FLOW.REMINDER; $scope.onlymsg=true; $scope.param.voteAgree =42; // $scope.param.back =0; $scope.param.msg =$i18n$.FLOW.REMINDER_SUCCESS; break; case "43" ://撤销 $scope.title=$i18n$.FLOW.RECOVER; $scope.onlymsg=true; $scope.param.voteAgree =17; // $scope.param.back =0; $scope.param.msg =$i18n$.FLOW.RECOVER_SUCCESS; break; } /** * 保存 */ $scope.save = function (){ switch($scope.flowType){ case "2" : case "3" ://弃权 case "5" ://驳回都是驳回发起人 if(HT.isEmpty($scope.param.voteContent)){ HT.hideModal(); HT.alert($i18n$.FLOW.INPUT_OPINION); return false } break; case "16" : //沟通 if(HT.isEmpty($scope.param.cmpIds)){ HT.hideModal(); HT.alert($i18n$.FLOW.SELET_COMM); return false } if(HT.isEmpty($scope.param.voteContent)){ HT.hideModal(); HT.alert($i18n$.FLOW.INPUT_OPINION); return false } break; case "18" : //沟通反馈 if(HT.isEmpty($scope.param.voteContent)){ HT.hideModal(); HT.alert($i18n$.FLOW.INPUT_OPINION); return false } break; case "6" ://转办 if(HT.isEmpty($scope.param.cmpIds)){ HT.hideModal(); HT.alert($i18n$.FLOW.SELET_ASSIGNEE); return false } break; case "42"://催办 if(HT.isEmpty($scope.param.voteContent)){ HT.hideModal(); HT.alert($i18n$.FLOW.INPUT_OPINION); return false } break; case "43" ://撤销 if(HT.isEmpty($scope.param.voteContent)){ HT.hideModal(); HT.alert($i18n$.FLOW.INPUT_OPINION); return false } break; } HT.setStorageJSON("param", $scope.param); return true; } }] ) //表单form .controller('formCtrl',['$scope','baseService','$compile','$http',function($scope,baseService,$compile,$http){ //表单流程类型:0.新建流程表单、1.任务流程表单、2.流程实例表单 var formFlowType = HT.getStorage("formFlowType"), defId = HT.getStorage("defId"), taskId = HT.getStorage("taskId"), runId = HT.getStorage("runId"), toastID = "flow_complete"; actDefId = HT.getStorage("actDefId"); $scope.openSubPopver = function(tagetId){ if($scope.$$childTail.isOnlyRead) return; HT.openSubPopver(tagetId); }; $scope.editSubTableCol = function(subTableId,index){ if($scope.$$childTail.isOnlyRead) return; var tagetScope=HT.$($$(subTableId)).scope(); // tagetScope.item=$scope.sub[subTableId][index]; angular.extend(tagetScope.item,$scope.sub[subTableId][index]); tagetScope.item.___index=index; $scope.openSubPopver(subTableId); }; /** * 获取新建流程表单 */ $scope.getStartFlowForm = function(){ //1.取得当前的表单ID baseService.post(__ctx+'/mobile/bpm/bpmMobileTask/startFlowForm.ht', {defId:defId},function(data){ $scope.getFormTempteByData(data); },{__notshowtoast:true}); } /** * 获取任务的表单 */ $scope.getTaskForm = function(){ //1.取得当前的表单ID baseService.post(__ctx+'/mobile/bpm/bpmMobileTask/getTaskForm.ht', {taskId:taskId},function(data){ $scope.getFormTempteByData(data); },{__notshowtoast:true}); } /** * 获取流程实例的表单 */ $scope.getProcessForm = function(){ //1.取得当前的表单ID baseService.post(__ctx+'/mobile/bpm/bpmMobileTask/getProcessForm.ht', {runId:runId},function(data){ $scope.getFormTempteByData(data); },{__notshowtoast:true}); } /** * 通过数据获取表单模板及数据 */ $scope.getFormTempteByData = function(data){ if(!data.success){ HT.$($$("ngNullPage")).children().eq(1).html($i18n$.FORM.BIND_FORM); uexWindow.evaluateScript("newFlow_add",0,"HT.hideModal()"); return; } var mobileFormId = data.mobileFormId; if(HT.isEmpty(mobileFormId)){//没有取到表单都是实时取表单模板 $scope.formContent = data.template; $scope.getFormData(); return; } //2.如果存在取出模板 $scope.getLocalStorageTemplate(mobileFormId,function(formTemlate){ if(!formTemlate || HT.isEmpty(formTemlate) || formTemlate.length <= 0){ //3.不存在去数据库取 $scope.getFormTempte({mobileFormId:mobileFormId}); }else{ //4.检查模板是否是最新版本 $scope.checkFormVersion({mobileFormId:mobileFormId,formTemlate:formTemlate}); } }); } /** * 检查版本 */ $scope.checkFormVersion = function(conf){ var mobileFormId=conf.mobileFormId, f = conf.formTemlate, guid = "", template ="", length = 0; if(f){ guid = f.guid?f.guid:""; template = f.template; if(template) length = template.length; } baseService.post(__ctx+'/mobile/bpm/bpmMobileTask/checkFormVersion.ht', {mobileFormId:mobileFormId,guid:guid,length:length},function(data){ if(!data.success){ HT.toast(data.msg); return; } var nguid = data.guid?data.guid:"", nlength = data.length; if (nguid != guid || nlength !== length) {//版本错误 $scope.setLocalStorageTemplate(data, mobileFormId); }else { $scope.setFormContentAndgetFormData(template); } },{__notshowtoast:true}); } /** * 获取表单模板 */ $scope.getFormTempte = function(conf){ var mobileFormId=conf.mobileFormId; baseService.post(__ctx+'/mobile/bpm/bpmMobileTask/getFormTemplate.ht', {mobileFormId:mobileFormId},function(data){ if(!data.success){ HT.toast(data.msg); return; } $scope.setLocalStorageTemplate(data,mobileFormId); },{__notshowtoast:true}); }; /** * 设置表单页面并且获取数据 * @param {Object} template */ $scope.setFormContentAndgetFormData = function(template){ $scope.formContent = template; //取数据 $scope.getFormData(); initHtml(); } /** * 根据数据设置模板的缓存 * */ $scope.setLocalStorageTemplate = function(data,formid){ var template = data.template, form = {}; form.formid=formid; form.template = template; form.guid = data.guid?data.guid:""; if(HT.isMobile()){//手机 try{ HT.addUpdateCacheTemplate(form,function(data){ $scope.setFormContentAndgetFormData(template); }); } catch (e) { $scope.setFormContentAndgetFormData(template); } }else{ $scope.setFormContentAndgetFormData(template); } } /** * 获取缓存的数据 * */ $scope.getLocalStorageTemplate = function(formid,callback){ if(HT.isMobile()){ try{ HT.getCacheTemplate(formid,function(data){ if (data && data.length > 0) { data[0].template = data[0].template.replaceAll(HT.FILE_QUOTES,"\"").replaceAll("#@@#","'"); callback(data[0]); } else callback(false); }); } catch (e) { callback(false); } }else{ //pc存 callback(false); } } /** * 根据表单的流程类型正在获取表单数据 */ $scope.getFormData = function(){ //取数据 if(formFlowType == 0){ $scope.getStartFlowFormData(); }else if(formFlowType == 1){ $scope.getTaskFormData(); }else if(formFlowType == 2){ $scope.getProcessFormData(); } } /** * 获取新建表单数据 */ $scope.getStartFlowFormData = function(conf){ baseService.post(__ctx+'/mobile/bpm/bpmMobileTask/getStartFlowData.ht', {defId:defId},function(data){ if(data.success){ var formData = data.data; if(HT.isMobile()){ HT.getCacheDraft(defId,function(drafts){ if(drafts&&drafts.length>0){ var draft =drafts[0]; if(!HT.isEmpty(draft) && !HT.isEmpty(draft.data) ){ baseService.openDialog({ title: $i18n$.COMMON.WARN, html: $i18n$.FLOW.IS_LOAD_DRAFT_DATA, digest:true, inline:true, buttons: [{ label: $i18n$.COMMON.YES, marTop:30, forecolor:"red", callback: function(){ formData = JSON.parse(draft.data); $scope.updateStartFlowFormData(data,formData); baseService.closeDialog(); } },{ label: $i18n$.COMMON.CLEAR, marTop:30, callback: function(){ HT.deleteCacheDraft(defId); baseService.closeDialog(); $scope.updateStartFlowFormData(data,formData); } },{ label: $i18n$.COMMON.NO, callback: function(){ baseService.closeDialog(); $scope.updateStartFlowFormData(data,formData); } }] }); } }else{ $scope.updateStartFlowFormData(data,formData); } }); }else{ //数据 $scope.updateStartFlowFormData(data,formData); } }else{ HT.toast(data.msg); } },{___colseid:"newFlow_add",__notshowtoast:true}); } $scope.updateStartFlowFormData = function (data,formData){ //数据 angular.extend($scope,formData); //权限permission.field.xxx angular.extend($scope,data.permission); initHtml(); if(!$scope.$$phase) $scope.$digest(); //联动 HT.gangedSet({scope:$scope,gangedSet:data.gangedSet}); } /** * 获取任务表单数据 */ $scope.getTaskFormData = function(conf){ baseService.post(__ctx+'/mobile/bpm/bpmMobileTask/getTaskFormData.ht', {taskId:taskId},function(data){ if(data.success){ //数据 angular.extend($scope,data.data); //权限 angular.extend($scope,data.permission); //按钮 HT.setStorage("buttonsAry",data.buttons); angular.extend($scope,data.actDefId); angular.extend($scope,data.defId); initHtml(); setTimeout(function(){ uexWindow.evaluateScript("",0,"initButtons()"); },100); }else{ HT.toastInWindow("", "", data.msg, 2000); initHtml(); } },{___colseid:"taskInfo",__notshowtoast:true}); }; /** * 获取流程实例表单数据 */ $scope.getProcessFormData = function (conf){ baseService.post(__ctx+'/mobile/bpm/bpmMobileTask/getProcessFormData.ht', {runId:runId},function(data){ if(data.success){ //数据 angular.extend($scope,data.data); //权限 angular.extend($scope,data.permission); //按钮 HT.setStorage("buttonsAry",data.buttons); setTimeout(function(){ uexWindow.evaluateScript("",0,"initButtons()"); },100); }else{ HT.toast(data.msg); } },{___colseid:"taskInfo",__notshowtoast:true}); } //初始表单处理 $scope.init = function(){ if(formFlowType == 0){ //新建流程表单 $scope.getStartFlowForm(); }else if(formFlowType == 1){//任务流程表单 $scope.getTaskForm(); }else if(formFlowType == 2){//流程实例表单 $scope.getProcessForm(); } } /** * 完成任务(包含同意【1,0】、驳回【3,1】、驳回发起人【3,2】、反对【2,0】、弃权【0、0】) * 沟通【15】、沟通反馈【20】、转办【21】、转办取消【22】、 代理【26】、 取消代理【27】、 撤销 【17】、催办【42】 * 如果一个值的是voteAgree,2个值的第一个是voteAgree,另外一个是back */ $scope.complete = function(conf){ /** * @param {} param 参数说明 * voteAgree : 投票状态。如果不传,默认同意(1) * 0=弃权, 1=同意,2=反对, 3=驳回 * 4=追回, 5=会签通过,6=会签不通过,34=重新提交; * back : 驳回。如果不传,默认不进行驳回(0) * 0. 不进行驳回 1,驳回,2,驳回发起人。【沟通、沟通反馈、转办、代理不需要传入这个参数】; * cmpIds : 沟通人ID或转办人ID或代理人ID; * cmpNames : 沟通人姓名或转办人姓名或代理人姓名; * voteContent : 意见 * msg : 成功后的提示消息。默认是提交成功。 * */ var param = HT.getStorageJSON("param",true); if(!param) param ={}; var voteAgree = param.voteAgree?param.voteAgree:1, url = "",isValidateForm =false; try{ if(conf&&(voteAgree==0||voteAgree==1||voteAgree==2||voteAgree==3||voteAgree==1000)&&conf.valid&&!$scope.valid({withoutdom:document.querySelectorAll(".scrollerH")})){ HT.showmsg(baseService,$i18n$.FORM.FORM_VALID_ERROR) uexWindow.evaluateScript("newFlow_add",0,"HT.hideModal()"); return; } }catch(e){ HT.showmsg(baseService,$i18n$.FORM.BIND_FORM) uexWindow.evaluateScript("newFlow_add",0,"HT.hideModal()"); return ; } switch (voteAgree) { case 0: case 1: case 2: case 3: url = __ctx+'/mobile/bpm/bpmMobileTask/complete.ht'; param.actDefId = $scope.actDefId; param.defId = $scope.defId; // businessKey // formKey //获取表单是数据 param.formData = $scope.getScopeFormData(); param.taskId= taskId; isValidateForm = true; break; case 15://沟通 url = __ctx+'/mobile/bpm/bpmMobileTask/toStartCommunication.ht'; param.taskId= taskId; break; case 17://撤销 url = __ctx+'/mobile/bpm/bpmMobileTask/recover.ht'; param.runId= runId; break; case 20://沟通反馈 url = __ctx+'/mobile/bpm/bpmMobileTask/saveOpinion.ht'; param.taskId= taskId; break; case 21://转办 url = __ctx+'/mobile/bpm/bpmMobileTask/assignSave.ht'; param.taskId= taskId; break; case 22://取消转办 case 27://取消代理 url = __ctx+'/mobile/bpm/bpmMobileTask/cancelTaskExe.ht'; param.taskId= taskId; break; case 42://催办 url = __ctx+'/mobile/bpm/bpmMobileTask/urgeSubmit.ht'; param.runId= runId; break; case 1000://新建流程 启动 url = __ctx+'/mobile/bpm/bpmMobileTask/startFlow.ht'; param.defId= defId; param.actDefId= actDefId; param.formData = $scope.getScopeFormData(); isValidateForm = true; toastID = "newFlow_add"; default: break; } param.msg = param.msg?param.msg:$i18n$.FORM.SUBMIT_SUCCESS; var httpId = new Date().getTime().toString(); httpId=httpId.substring(httpId.length-3,httpId.length); window.setTimeout(function(){ HT.toastInWindow(toastID, "", $i18n$.FORM.WAITTING_MSG, 0); }, 1); uexXmlHttpMgr.open(httpId,'post',url,30000); for (k in param) { if (!HT.isEmpty(param[k])) { var o = param[k]; if(typeof param[k]=="object"){ o = JSON.stringify(param[k]) } uexXmlHttpMgr.setPostData(httpId, '0', k, o); } } uexXmlHttpMgr.send(httpId); uexXmlHttpMgr.onData = function(inOpCode,inStatus,inResult){ HT.closeToastInWindow(toastID, ""); if(inStatus == 1){ var data=eval(inResult); if(data.success){ HT.setStorage("__voteAgree",voteAgree); if(formFlowType ==0){ uexWindow.evaluatePopoverScript("newFlow_add","form","HT.toast('"+param.msg+"')"); setTimeout(function(){ uexWindow.evaluatePopoverScript("index","mytask","reload();"); uexWindow.evaluatePopoverScript("newFlow_add","form","HT.goback(-1);"); uexWindow.evaluateScript("newFlow_add",0,"HT.goback(-1);"); uexWindow.evaluateScript("index",0,"pendingCount();"); },500) }else{ uexWindow.evaluateScript("flow_complete",0,"HT.toast('"+param.msg+"')"); uexWindow.evaluatePopoverScript("index","mytask","reload();"); uexWindow.evaluateScript("index",0,"pendingCount()"); if(voteAgree==17||voteAgree==42){ uexWindow.evaluatePopoverScript("index","myLaunch","reload();"); } window.setTimeout(function(){ uexWindow.evaluateScript("flow_complete","0","HT.goback(-1);"); uexWindow.evaluateScript("taskInfo",0,"HT.goback(-1);"); },1200) } }else{ var msg=data.msg.replaceAll('\"','').replaceAll(',',' ').replaceAll("\n",""); if (formFlowType == 0) { baseService.openDialog({ title: $i18n$.COMMON.WARN, html: msg.substring(0,60), marTop:30, digest:true, buttons: [{ label: $i18n$.COMMON.CANCEL, callback: function(){ baseService.closeDialog(); uexWindow.evaluateScript("newFlow_add",0,"HT.hideModal();"); } }] }) }else{ HT.setStorage("wrongmsg",msg); uexWindow.evaluateScript("flow_complete", 0, "showWrongmsg()"); } } window.setTimeout(function(){ uexWindow.evaluateScript("flow_complete",0,"HT.hideModal()"); uexWindow.evaluateScript("newFlow_add",0,"HT.hideModal();"); },100) uexXmlHttpMgr.close(httpId); } } }; $scope.backNewFlow = function(){ if (HT.$($$("ngNullPage")).hasClass("uhide")) { baseService.openDialog({ title: $i18n$.COMMON.WARN, html: $i18n$.FLOW.IS_SAVE_DRAFT_DATA, digest: true, inline: true, buttons: [{ label: $i18n$.COMMON.OK, marTop: 30, forecolor: "red", callback: function(){ baseService.closeDialog(); var d = { main: $scope.main ? $scope.main : {}, sub: $scope.sub ? $scope.sub : {}, opinion: $scope.opinion ? $scope.opinion : [] }; var draft = { defId: defId, data: d }; HT.addUpdateCacheDraft(draft); uexWindow.evaluateScript("newFlow_add", 0, "back()"); } }, { label: $i18n$.COMMON.CANCEL, callback: function(){ baseService.closeDialog(); uexWindow.evaluateScript("newFlow_add", 0, "back()"); } }] }); } else { uexWindow.evaluateScript("newFlow_add", 0, "back()"); } } /** * 获取表单数据 */ $scope.getScopeFormData = function(){ var formData = {}, fields = $scope.main?$scope.main:{}, subdata = $scope.sub?$scope.sub:{}, opinion = $scope.opinion?$scope.opinion:[], main = { fields: fields }, sub = []; if (!HT.isObjNull(subdata)) { for (i in subdata) { var s = {}; s.tableName = i; s.fields = subdata[i]; sub.push(s); } } formData.main = main; formData.sub = sub; formData.opinion = opinion; return formData; } $scope.showWrongMsg=function(msg){ HT.showmsg(baseService,msg); } }]) /** * 审批历史 */ .controller('formhistoryCtrl',['$scope','baseService',function($scope,baseService){ $scope.init=function(){ var formFlowType = HT.getStorage("formFlowType"), taskId = HT.getStorage("taskId"), runId = HT.getStorage("runId"), params = {}; if(formFlowType == 1) params.taskId = taskId; else params.runId = runId; baseService.post(__ctx+'/mobile/bpm/bpmMobileTask/taskOpinions.ht', params,function(data){ $scope.lists = data.results; initHtml(); }); } $scope.displayDetail = function(user){ HT.userInfo(baseService,user,'formhistory'); }; }]) /** * 待办事宜 */ .controller('myTaskCtrl', ['$scope','baseService', function($scope,baseService){ $scope.showType=true;//HT.getStorage("__showType"); //查询 $scope.search = function(isSearch){ baseService.pageList(__ctx + '/mobile/bpm/bpmMobileTask/pendingMatters.ht', { userId: __curUserId, 'Q_subject_SUPL': $scope.keywords, pageBean:$scope.pageBean }, function(data){ $scope.tasks = data.results; $scope.issearched=$scope.keywords?true:false; },{pageLists:$scope.tasks,isSearch:isSearch}); }; $scope.taskInfo = function(task){ baseService.post(__ctx+'/mobile/bpm/bpmMobileTask/isAllowMobile.ht', {taskId:task.id},function(data){ if(!data.success){ HT.alert(data.msg); uexWindow.evaluatePopoverScript("index","mytask","reload();"); uexWindow.evaluateScript("index",0,"pendingCount()"); }else{ if(data.type == 1){ HT.alert(data.msg); }else{ HT.setStorage("formFlowType",1); HT.setStorage("taskId",task.id); HT.goToHtml("taskInfo"); } } },{__notshowtoast:true}); }; }]) /** * 历史-我的承接 */ .controller('myUndertakeCtrl', ['$scope','baseService', function($scope,baseService){ //查询 $scope.search = function(isSearch){ if(!HT.getStorage("__firstToMyUndertake",true)){ baseService.pageList(__ctx + '/mobile/bpm/bpmMobileTask/myUndertake.ht', { userId: __curUserId, 'Q_subject_SUPL': $scope.keywords, pageBean:$scope.pageBean }, function(data){ $scope.lists = data.results; $scope.issearched=$scope.keywords?true:false; },{pageLists:$scope.lists,isSearch:isSearch}); } }; $scope.processRunInfo = function(processRun){ //判断是否有任务 baseService.post(__ctx+'/mobile/bpm/bpmMobileTask/hashTask.ht', {actInstId:processRun.actInstId},function(data){ if(data.success){ var isTask = data.isTask; HT.setStorage("formFlowType",data.isTask?1:2); if(isTask){ var task = data.task; HT.setStorage("taskId",task.id); }else{ HT.setStorage("runId",processRun.runId); } HT.setStorage("detail_type","undertake"); HT.goToHtml("taskInfo"); }else{ HT.alert(data.msg); } }); }; } ]) /** * 历史-我的发起 */ .controller('myLaunchCtrl', ['$scope','baseService', function($scope,baseService){ //查询 $scope.search = function(isSearch){ if (!HT.getStorage("__firstToMyLaunch", true)) { baseService.pageList(__ctx + '/mobile/bpm/bpmMobileTask/myLaunch.ht', { userId: __curUserId, 'Q_subject_SUPL': $scope.keywords, pageBean: $scope.pageBean }, function(data){ $scope.lists = data.results; $scope.issearched = $scope.keywords ? true : false; }, { pageLists: $scope.lists, isSearch: isSearch }); } }; $scope.processRunInfo = function(processRun){ //判断是否有任务 baseService.post(__ctx+'/mobile/bpm/bpmMobileTask/hashTask.ht', {actInstId:processRun.actInstId},function(data){ if(data.success){ var isTask = data.isTask; HT.setStorage("formFlowType",data.isTask?1:2); if(isTask){ var task = data.task; HT.setStorage("taskId",task.id); }else{ HT.setStorage("runId",processRun.runId); } HT.setStorage("detail_type","launch"); HT.setStorage("flow_status",processRun.status); HT.goToHtml("taskInfo"); }else{ HT.alert(data.msg); } }); }; } ]) /** * 流程代理 */ .controller('agentFlowCtrl',['$scope','baseService',function($scope,baseService){ //查询 $scope.search = function(isSearch){ baseService.pageList(__ctx + '/mobile/bpm/bpmMobileAgent/list.ht', { userId: __curUserId, 'Q_subject_SUPL': $scope.keywords, pageBean:$scope.pageBean }, function(data){ $scope.lists = data.results; },{pageLists:$scope.lists,isSearch:isSearch}); }; $scope.angentFlow = function(agentSetting){ //条件代理 if(agentSetting.authtype=='2'){ uexWindow.toast(1,5,$i18n$.AGENT_SETTING.SET_CONDITIONAL_AT_PC,1000); return; } HT.setStorage("agentSettingId",agentSetting.id); HT.goToHtml("agentFlow_setting"); }; $scope.updStatus = function(agentSetting,me){ var status = agentSetting.enabled==1?0:1; agentSetting.enabled = status; baseService.post(__ctx+'/mobile/bpm/bpmMobileAgent/updStatus.ht', {id:agentSetting.id,status:status},function(data){ if(!data.success){ angular.element(me).next().next().checked= (status==1?null:'checked'); agentSetting.enabled = (status==1?0:1); HT.alert(data.msg); return; } }); }; $scope.confirmDelete=function(id,$index){ baseService.openDialog({ title: $i18n$.COMMON.WARN, html: $i18n$.AGENT_SETTING.IS_DELETE_AGENT, digest:true, inline:true, buttons: [{ label: $i18n$.COMMON.OK, marTop:30, forecolor:"red", callback: function(){ baseService.post(__ctx+'/mobile/bpm/bpmMobileAgent/del.ht', {id:id},function(data){ if(!data.success){ HT.alert(data.msg); return; }else{ for (var i in $scope.lists) { if ($scope.lists[i].id == id) { $scope.lists.splice(i, 1); } } HT.toastInWindow("", "", $i18n$.COMMON.DEL_SUCCESS, 1500,0); baseService.closeDialog(); } }); } },{ label: $i18n$.COMMON.CANCEL, callback: function(){ baseService.closeDialog(); } }] }); } }]) /** * 流程代理设定 */ .controller('agentFlowSettingCtrl',['$scope','baseService',function($scope,baseService){ $scope.agentSetting ={ authtype:"0", enabled:"1" }; $scope.$watch('agentSetting.authtype', function(newVal, oldVal) { if (newVal !== oldVal) { uexWindow.evaluateScript("agentFlow_setting",0,"rtClick("+$scope.agentSetting.authtype+")"); } }, true); $scope.init = function(){ var id = HT.getStorage("agentSettingId",true); baseService.post(__ctx+'/mobile/bpm/bpmMobileAgent/edit.ht', {id:id},function(data){ if(!data.success){ HT.alert(data.msg); return; } $scope.agentSetting =data.agentSetting; $scope.agentSetting.agent = $scope.agentSetting.agent||{}; //部分代理 if($scope.agentSetting.authtype=="1"){ var agentDefList = $scope.agentSetting.agentDefList; if(agentDefList&&agentDefList.length>0){ var flows = []; angular.forEach(agentDefList,function(agentDef){ flows.push({defKey:agentDef.flowkey,subject:agentDef.flowname}); }); HT.setStorageJSON("selectedFlow",flows); } } $scope.valid(); }); } $scope.toNext = function(){ var v = $scope.valid(); uexWindow.evaluateScript("agentFlow_setting",0,"HT.hideModal()"); if(!v){ HT.showmsg(baseService,$i18n$.FORM.FORM_VALID_ERROR); return; } HT.goToHtml("choseFlow"); } //保存 $scope.save = function(){ var v = $scope.valid(); uexWindow.evaluateScript("agentFlow_setting",0,"HT.hideModal()"); if(!v){ HT.showmsg(baseService,$i18n$.FORM.FORM_VALID_ERROR); return; } var flows = HT.getStorageJSON("selectedFlow",true), agentSetting = $scope.agentSetting, json ={ id:agentSetting.id, authid:agentSetting.authid, createtime:HT.date(agentSetting.createtime), startdate:HT.date(agentSetting.startdate), enddate:HT.date(agentSetting.enddate), enabled:agentSetting.enabled, authtype:agentSetting.authtype, agentid:agentSetting.agent.userId }, agentDefList = []; if(flows&&flows.length>0){ angular.forEach(flows,function(flow){ agentDefList.push({flowkey:flow.defKey,flowname:flow.subject}); }); json.agentDefList = agentDefList; } baseService.post(__ctx+'/mobile/bpm/bpmMobileAgent/save.ht', {json:json},function(data){ if(!data.success){ HT.alert(data.msg); return; } uexWindow.evaluatePopoverScript("agentFlow","agentFlow_content","reload();") HT.toast($i18n$.COMMON.ADD_SUCCESS); window.setTimeout(function(){ uexWindow.evaluateScript("choseFlow","0","HT.goback(-1);") uexWindow.evaluateScript("agentFlow_setting_content","0","HT.goback(-1)"); uexWindow.evaluateScript("agentFlow_setting","0","HT.goback(-1)"); },1200) }); } }]) /** * 部分代理中选择代理流程 */ .controller('choseFlowCtrl',['$scope','baseService',function($scope,baseService){ $scope.lists = []; $scope.ischange=""; $scope.remove = function($index){ $scope.lists.splice($index,1); } $scope.save = function(){ var lists = $scope.lists; if(lists.length <=0){ HT.alert($i18n$.AGENT_SETTING.ADD_FLOW); return; } HT.setStorageJSON("selectedFlow",$scope.lists); uexWindow.evaluatePopoverScript("agentFlow_setting","agentFlow_setting_content","save()"); } $scope.$watch("ischange",function(newVal,oldVal){ if(newVal){ var lists = HT.getStorageJSON("selectedFlow",true); if(!lists||lists.length==0)return; $scope.lists = lists; $scope.ischange=""; } }) $scope.ischange=true; }]) /** * 流程选择器 */ .controller('flowSelectorCtrl',['$scope','baseService',function($scope,baseService){ var choseItem = []; $scope.flows = []; $scope.defkey=""; //查询 $scope.search = function(isSearch){ baseService.pageList(__ctx + '/mobile/bpm/bpmMobileAgent/selector.ht', { "Q_subject_SUPL": $scope.keywords, pageBean:$scope.pageBean }, function(data){ if (data) { $scope.flows = data.results; $scope.issearched=$scope.keywords?true:false; } },{pageLists:$scope.flows,isSearch:isSearch}); }; $scope.mergeArray = function(a,b){ if(!angular.isArray(a)||!angular.isArray(b))return; for(var i=0;i -1){ choseItem.push(flow); } }); oldLists = HT.getStorageJSON("selectedFlow",true); if(!oldLists) oldLists = []; currentLists = $scope.mergeArray(oldLists,choseItem); HT.setStorageJSON("selectedFlow",currentLists); uexWindow.evaluatePopoverScript("choseFlow","choseFlow_content","HT.reload();"); uexWindow.evaluateScript("flow_selector",0,"HT.goback(-1);"); HT.goToHtml("choseFlow"); } }]) .controller('mytimeEventCtrl', ['$scope','baseService', function($scope,baseService){ $scope.update = function(cb){ baseService.mytimeSwitch = true; } }]) .controller('mytimeCtrl', ['$scope','baseService', function($scope,baseService){ $scope.service = baseService; $scope.$watch('service', function(newVal, oldVal) { if (newVal !== oldVal) { if(baseService.mytimeSwitch){ baseService.mytimeSwitch = false; $scope.update(); } } }, true); $scope.update = function(cb){ baseService.post(__ctx+'/mobile/bpm/bpmMobileTask/myAvgTime.ht', {userId: __curUserId},function(data){ var json = {}, avg_hour = 0, avg_minute = 0, org_avg_hour=0, org_avg_minute=0, level = 0, org_level=0, avg_order =0, task_count=0, count = 0; if(data){ var avg_time = HT.parseInt(data.AVG_TIME), org_avg_time = data.ORG_AVG_TIME; avg_order=data.AVG_ORDER; count =data.COUNT; task_count =data.TASK_COUNT; if(avg_time>0){ avg_hour = HT.parseInt(avg_time/3600000); avg_minute = HT.parseInt(avg_time/60000)-avg_hour*60; } if(org_avg_time>0){ org_avg_hour = HT.parseInt(org_avg_time/3600000); org_avg_minute = HT.parseInt(org_avg_time/60000)-org_avg_hour*60; } org_level = org_avg_time == avg_time?0:(org_avg_time >avg_time?1:-1); if(avg_hour <=4) level = 5; else if(avg_hour <=8) level = 4; else if(avg_hour <=24) level = 3; else if(avg_hour <=48) level = 2; else if(avg_hour <=72) level = 1; } json = { avg_time:avg_hour+$i18n$.MY_TIME.HOUR+avg_minute+$i18n$.MY_TIME.MINUTE, org_avg_time:org_avg_hour+$i18n$.MY_TIME.HOUR+org_avg_minute+$i18n$.MY_TIME.MINUTE, avg_order:avg_order, count:count, task_count: task_count,//任务数 level:level, org_level:org_level } $scope.mytime = json; }); } $scope.update(); } ]) /** * 新建流程 */ .controller('newFlowCtrl', ['$scope','baseService', function($scope, baseService){ baseService.post(__ctx+'/mobile/bpm/bpmMobileTask/newProcess.ht', {userId:__curUserId},function(data){ $scope.lists = data.results; $scope.issearched=true; }); $scope.startFlow = function(bpmDefinition){ HT.setStorage("defId",bpmDefinition.defId); HT.setStorage("actDefId",bpmDefinition.actDefId); HT.setStorage("formFlowType",0); HT.goToHtml('newFlow_add'); } }]) .controller('indexCtrl',['$scope','$compile','baseService','$translate',function($scope,$compile,baseService,$translate){ $scope.searchClass="ion-search"; $scope.maintitle=true; $scope.historytitle=false; $scope.pendingCount=""; HT.addIndexFooter($scope,$compile); $scope.getPendingCount = function(){ baseService.post(__ctx+'/mobile/bpm/bpmMobileTask/pendingMattersCount.ht', {userId:__curUserId},function(data){ $scope.pendingCount = data.count; }); } $scope.getPendingCount(); $scope.showSearch = function(me,i,title){ if(i=="mytask"){ $scope.plusClass="icon-plus5";// $scope.ltClass=""; $scope.ltName=""; $scope.maintitle=true; HT.$($$("indexTab")).addClass("uhide"); $scope.historytitle=false; $$("ifooter_"+i).checked=true; uexWindow.evaluatePopoverScript("","contactCommon","cancelDel()"); }else if(i=="contactCommon"){ $scope.plusClass = "icon-user-add2"; $scope.ltClass = "contactMge"; $scope.ltName = $i18n$.NEW_FLOW.MANAGEMENT; $scope.maintitle = true; HT.setStorage("isfromform","false"); HT.setStorage("multi","1"); HT.$($$("indexTab")).addClass("uhide"); $$("ifooter_"+i).checked=true; }else if(i=="myLaunch"){ $scope.plusClass=""; $scope.ltClass=""; $scope.ltName=""; $scope.maintitle=false; HT.$($$("indexTab")).removeClass("uhide"); $$("ifooter_"+i).checked=true; if(HT.$($$("indexTab")).children().children().eq(0).hasClass("ubb2")){ i="myUndertake"; } uexWindow.evaluatePopoverScript("","contactCommon","cancelDel()"); }else{ $scope.maintitle = true; $scope.plusClass=""; $scope.ltClass=""; $scope.ltName=""; HT.$($$("indexTab")).addClass("uhide"); $$("ifooter_"+i).checked=true; uexWindow.evaluatePopoverScript("","contactCommon","cancelDel()"); } $scope.rtName =""; $translate(title).then(function(translation){ $scope.title = translation; }); HT.openPopFrame(i); } var isCheckedAll = 0; $scope.rtClick= function(){ if($scope.plusClass=="icon-plus5"){ HT.goToHtml('newFlow'); }else if($scope.plusClass=="icon-user-add2"){ $scope.ltClass = "contactMge"; $scope.ltName = $i18n$.NEW_FLOW.MANAGEMENT; contact.cancel(); HT.setStorage(HT_LS.selectorSelected,"[]"); HT.setStorage(HT_LS.activeWin,"contactCommon"); HT.setStorage("isfromform","false"); HT.setStorage("isMulti",1); uexWindow.open("contactAll",0,"contactAll.html",0,"","",0); }else if($scope.plusClass=="contactSelAll"){ if(isCheckedAll==0) isCheckedAll=1; else isCheckedAll=0; uexWindow.evaluatePopoverScript("","contactCommon","selAllUserChb('"+isCheckedAll+"')"); } } $scope.ltClick = function(){ if ($scope.ltClass == "contactMge") { $scope.ltClass ="contactDel"; $scope.ltName =$i18n$.NEW_FLOW.DEL; $scope.plusClass="contactSelAll"; $scope.rtName =$i18n$.NEW_FLOW.CHECK_ALL; contact.commonMge(); }else if ($scope.ltClass == "contactDel") { $scope.ltClass = "contactMge"; $scope.ltName = $i18n$.NEW_FLOW.MANAGEMENT; $scope.plusClass="icon-user-add2"; $scope.rtName =""; contact.del(); } } // 推送回调 $scope.pushCallBack = function(type){ uexWidget.cbGetPushInfo=function(opId,dataType,data){ var json = JSON.parse(data); $scope.getPendingCount(); if(!type){ HT.toTaskInfo(baseService, json.taskid); }else{ uexWindow.cbConfirm=function(opId,dataType,data){ if (data == 1) { HT.toTaskInfo(baseService, json.taskid); } } uexWindow.confirm("待办事项",json.content,["取消","查看"]); } } uexWidget.getPushInfo(); } $scope.title=$i18n$.TITLE.MY_TODO; $scope.plusClass="icon-plus5"; }]) .controller('contactOrgCtrl', ['$scope', 'baseService', function($scope,baseService){ $scope.keywords=""; $scope.getOrg = function(o,fullname,length,type,isNavi,isRefresh){ var param = { orgid: o.id, username:fullname, type:type, isRefresh:isRefresh, orgCount: $scope.orgCount, start:length+1 }; baseService.pageList1(__ctx + '/mobile/contact/bpmMobileContact/_list.ht', param, function(data){ var ds = data.results; if(ds.length>0){ var us = []; if(type==1&&$scope.users!=null){ us = $scope.users; } for(var i=0;i0) HT.setStorageJSON(HT_LS.selectorSelected, choseItem); }else{ var sels = HT.mergeUsers(HT.getStorageJSON(HT_LS.selectorSelected), choseItem, $scope.users); HT.setStorageJSON(HT_LS.selectorSelected, sels); } } $scope.showSelected = function(){ $scope.getChooseUser(); HT.setStorage(HT_LS.selectorToSelected,"1"); uexWindow.open("contactSelected",0,"contactSelected.html",0,"","",0); } //查询 $scope.search = function(){ var search = $scope.keywords; var o = $scope.lastNavi; if(o==null){ o = $scope.headNavi; } $scope.getOrg(o,search.trim(),0,0); $scope.issearched=$scope.keywords?true:false; } }]) // 已选联系人 .controller('contactSelectedCtrl', ['$scope', function($scope){ var us = HT.getStorageJSON(HT_LS.selectorSelected); $scope.users= us; $scope.remove=function($index){ $scope.users.splice($index,1); HT.setStorageJSON(HT_LS.selectorSelected,$scope.users); } }]) // 常用联系人 .controller('contactCommonCtrl', ['$scope','baseService', function($scope,baseService){ $scope.keywords=""; $scope.initUsers = function(){ HT.getAllFrequent(function(rs){ if(rs){ var us = []; if(rs.length>0){ var zms = []; angular.forEach(rs, function(u){ var zm = makePy(u.name)[0].substring(0,1); u.fk = zm+"0"; u.position = u.position!=null?u.position:""; us.push(u); if (zms.indexOf(zm) == undefined) { zms.push(zm); } }); angular.forEach(zms, function(zm){ var groupName = zm.substring(0, 1); us.push({ id: zm, name: groupName, fk: groupName, t: 1 }); }); } $scope.users = us; var isMulti = HT.getStorage("isMulti"); $scope.isMulti = isMulti; var isfromform = HT.getStorage("isfromform"); $scope.isfromform = isfromform; var chbHide = true; var radHide = true; if (isMulti == "0" && isfromform == "true") { chbHide = true; radHide = false; } else if (isMulti == "1" && isfromform == "true") { chbHide = false; radHide = true; } $scope.chbHide = chbHide; $scope.radHide = radHide; $scope.zmArea = true; $scope.$digest(); __myScroll = new iScroll('wrapper', { vScrollbar: false }); } }); } // 删除常用联系人 $scope.del = function(){ var choseItem = []; var userChbs = angular.element(document.getElementsByName("userChb")); for(var i=0;i0?ids.substring(0,ids.length-1):""; var sql = "delete from frequent_contacts where id in("+ids+") and refid='"+__curUserId+"'"; HT.openDataBase(); HT.executeSql(sql,function(rs){ $scope.initUsers(); }); } $scope.confirmDelete=function(id){ baseService.openDialog({ title: $i18n$.COMMON.WARN, html: $i18n$.AGENT_SETTING.IS_DELETE_COMMON, digest:true, inline:true, buttons: [{ label: $i18n$.COMMON.OK, marTop:30, forecolor:"red", callback: function(){ var sql = "delete from frequent_contacts where id in("+id+") and refid='"+__curUserId+"'"; HT.openDataBase(); HT.executeSql(sql,function(rs){ $scope.initUsers(); }); baseService.closeDialog(); } },{ label: $i18n$.COMMON.CANCEL, callback: function(){ baseService.closeDialog(); } }] }); } $scope.getChooseUser = function(){ var userChbs = angular.element(document.getElementsByName("userChb")); var choseItem = []; for(var i=0;i0) HT.setStorageJSON(HT_LS.selectorSelected, choseItem); }else{ var sels = HT.mergeUsers(HT.getStorageJSON(HT_LS.selectorSelected), choseItem, $scope.users); HT.setStorageJSON(HT_LS.selectorSelected, sels); } } }]) .controller('loginCtrl',['$scope','baseService','$translate',function($scope,baseService,$translate){ $scope.user ={ username:'admin',//217107 password:'sf#ecp123' } //登陆处理 $scope.login = function(user){ if (HT.isEmpty(user)){ HT.alert($i18n$.LOGIN.USERNAME_OR_PASSWORD); return; } if (HT.isEmpty(user.username)&& HT.isEmpty(user.password)) { HT.alert($i18n$.LOGIN.USERNAME_OR_PASSWORD); return; } baseService.post(__ctx+'/mobile/system/mobileLogin.ht', {username:user.username,password:user.password,lang:__lang},function(data){ if(data.success){ var curUserInfo = {},user = data.user; // 用户ID curUserInfo.userId = user.userId; // 账号 curUserInfo.account = user.account; //用户名 curUserInfo.fullname = user.fullname; //组织ID curUserInfo.orgId = user.orgId; //组织名称 curUserInfo.orgName = user.orgName; //权限 curUserInfo.rights = user.rights; //设置当前登陆信息 try { uexWidget.setPushInfo(curUserInfo.account, curUserInfo.fullname); } catch (e) { } HT.setStorageJSON("__curUserInfo",curUserInfo); HT.goToHtml("index"); }else{ HT.alert(data.msg); } },{___waitmsg:$i18n$.LOGIN.LOGINING+"·····"}); }; $scope.hasLogin = false; $scope.json = ""; $scope.loadByOtherAppHandler = function(){ if (!$scope.json){ __hasLogin = false; if(HT.isAndroid()){//安卓的系统 HT.toastInWindow("","","从移动门户获取授权",2000,0); uexLoadAPP.cbGetTokenSuccess = function(action,data,userId,Token){ var result = "成功获得! " + "action:" + action + " data:" + data + " userId:" + userId + " Token:" + Token; alert(result); }; uexLoadAPP.getToken(); } } else{ var data = $scope.json.data; var token = JSON.parse(data).token; if(HT.isEmpty(token)){ __hasLogin = false; HT.toastInWindow("","","传入的参数不对",2000,0); uexWindow.close(-1); uexLoadAPP.getToken(); return; } var casToken = { token:token }; $scope.toLogin(casToken); } } //健全登录信息 $scope.toLogin = function(casToken){ baseService.post(__ctx+'/mobile/mdmapps/mdmMobileData/getUserInfo.ht', {cas_token:casToken},function(data){ if(data.success){ var curUserInfo = {},user = data.user; // 用户ID curUserInfo.userId = user.userId; // 账号 curUserInfo.account = user.account; //用户名 curUserInfo.fullname = user.fullname; //组织ID curUserInfo.orgId = user.orgId; //组织名称 curUserInfo.orgName = user.orgName; //权限 curUserInfo.rights = user.rights; //设置当前登陆信息 uexWidget.setPushInfo(curUserInfo.account,curUserInfo.fullname); HT.setStorageJSON("__curUserInfo",curUserInfo); HT.setStorageJSON("otherAppParams", $scope.json); HT.goToHtml("index"); }else{ HT.toastInWindow("","","认证失败,重新从移动门户获取授权",2000,0); uexLoadAPP.openLogin(); } },{___waitmsg:"登录中·····"}); } $scope.plusClass="icon-plus5"; }]) /** * 国际化 * @param {Object} $scope * @param {Object} $translate * @param {Object} baseService */ .controller('languageCtrl', ['$scope', '$translate','baseService', function($scope, $translate,baseService){ $scope.languages = [{ 'value': 'zh_cn', 'lable': '简体中文', 'langkey':$i18n$_zh_cn }, { 'value': 'zh_tw', 'lable': '繁體中文', 'langkey':$i18n$_zh_tw }, { 'value': 'en_us', 'lable': 'English', 'langkey':$i18n$_en_us }]; $scope.lang = { l: __lang }; $scope.save = function(){ var lang = $scope.lang.l; baseService.post(__ctx+'/mobile/system/lang/changLang.ht', {lang:lang},function(data){ angular.forEach($scope.languages,function(language){ if(language.value ==lang){ $i18n$ = language.langkey; HT.setStorage("__lang", lang); $translate.use(lang); HT.toast($i18n$.LANGUAGE.CHANG_LANG); HT.clearPages("index"); uexWindow.evaluateScript("setting",0,"HT.goback(-1)"); window.setTimeout(function(){ HT.goToHtml("index"); HT.goback(-1); },1200) } }); }); } } ]) .controller('selectorCtrl',['$scope',function($scope){ // 定位人员选择器回填 }]) /** * 更多 */ .controller('moreCtrl',['$scope','baseService',function($scope,baseService){ $scope.fullname = __curUserInfo?__curUserInfo.fullname:$i18n$.MORE.NOT_LOGIN; //获取用户信息 $scope.userInfo = function(){ HT.goToHtml('userInfo'); } $scope.newFlow = function(){ HT.goToHtml('newFlow'); } $scope.agentFlow = function(){ HT.goToHtml('agentFlow'); } $scope.mytime = function(){ HT.goToHtml('mytime'); } $scope.setting = function(){ HT.goToHtml('setting'); } $scope.logout = function(){ baseService.post(__ctx+'/mobile/system/mobileLogout.ht', {},function(data){ HT.toast($i18n$.MORE.LOGOUT_SUCCESS); uexWindow.evaluateScript("login",0,"HT.goback(-1);"); window.setTimeout(function(){ HT.goToHtml("login"); uexWindow.evaluateScript("index",0,"HT.goback(-1);"); },1200); }); } }]) /** * 用户信息 */ .controller('userInfoCtrl',['$scope','baseService',function($scope,baseService){ $scope.user ={}; $scope.init = function(){ baseService.post(__ctx+'/mobile/system/user/get.ht', {userId:__curUserId},function(data){ $scope.user = data.user; }); }; $scope.init(); }]) .controller('subTableCtrl',['$scope','baseService',function($scope,baseService){ $scope.item = {}; }]) .controller('orgCtrl', ['$scope', 'baseService', function($scope,baseService){ $scope.keywords = "" ; var getOrg = function(o,isNavi,orgName){ var param = { orgid: o.id, orgName:orgName }; baseService.post(__ctx + '/mobile/contact/bpmMobileContact/orglist.ht', param, function(data){ if(data.results&&data.results.length>0){ $scope.orgs = data.results; HT.setSeletorNavi(o,isNavi,head,$scope); } if(orgScroll){ setTimeout(function(){ orgScroll.refresh(); HT.checkSelected(); }, 200); } }) } // 初始化 $scope.navis = []; var head = {id: "0",name: $i18n$.ORG.ALL}; $scope.headNavi = head; $scope.prevNavi = head; $scope.isMulti = HT.getStorage("isMulti"); getOrg(head); $scope.clickOrg = function(o){ $scope._disOrgClick=true; $scope.getChooseOrg(); getOrg(o,0); setTimeout(function(){ $scope._disOrgClick=false; }, 800); } $scope.navi = function(o){ $scope.getChooseOrg(); getOrg(o,1); } $scope.addToOrg = function(){ $scope.getChooseOrg(); HT.goback('-1'); } $scope.getChooseOrg = function(){ var choseItem = HT.getChoseItem($scope.orgs); var multi = HT.getStorage("isMulti"); if(multi!="1"){ if(choseItem.length>0) HT.setStorageJSON(HT_LS.selectorSelected, choseItem); }else{ var sels = HT.mergeUsers(HT.getStorageJSON(HT_LS.selectorSelected), choseItem, $scope.orgs); HT.setStorageJSON(HT_LS.selectorSelected, sels); } } $scope.showSelected = function(){ $scope.getChooseOrg(); HT.setStorage(HT_LS.selectorToSelected,"1"); uexWindow.open("orgSelected",0,"orgSelected.html",0,"","",0); } //查询 $scope.search = function(){ var o = $scope.lastNavi; if(o==null){ o = $scope.headNavi; } getOrg(o,0,$scope.keywords); }; }]) // 已选组织 .controller('orgSelectedCtrl', ['$scope', function($scope){ $scope.orgs = HT.getStorageJSON(HT_LS.selectorSelected); $scope.remove=function($index){ $scope.orgs.splice($index,1); HT.setStorageJSON(HT_LS.selectorSelected,$scope.orgs); } }]) .controller('testCtrl', ['$scope', function($scope){ $scope.enddate="1990-10-11"; }]) .controller('aboutCtrl', ['$scope', function($scope){ $scope.version=__version; $scope.help=function(){ HT.goToHtml("help"); } $scope.feedback=function(){ HT.goToHtml("feedback"); } $scope.checkupdate=function(){ $scope.hasNewVersion="已是最新版本"; } }]) /** * 设置 */ .controller('settingCtrl', ['$scope', function($scope){ var setting = HT.getStorageJSON("SETTING"); if(HT.isEmpty(setting)){ setting = { openService:1, synchTime:"3", harassMode:1, sound:1, shock:1, quit:1 }; } $scope.setting = setting; $scope.updSetting = function(){ HT.setStorageJSON("SETTING",$scope.setting); } $scope.remove = function(type){ uexWindow.cbConfirm = function(opId, dataType, data){ if(data==0){ switch (type) { case 1://清除表单 HT.clearCacheTemplate(function(){ HT.alert($i18n$.SETTING.CLEAR_FORMSUCCESS); }); break; case 2://清除联系人 HT.clearFrequent(function(){ uexWindow.evaluatePopoverScript("index","contactCommon","HT.reload()"); HT.alert($i18n$.SETTING.CLEAR_CONTACT_SUCCESS); }); break; case 3://清除流程草稿 HT.clearCacheDraft(function(){ HT.alert($i18n$.SETTING.CLEAR_DRAFT_SUCCESS); }); break; default: break; } } } uexWindow.confirm($i18n$.COMMON.WARN, $i18n$.SETTING.CONFIRM_CLEAR, [$i18n$.COMMON.OK, $i18n$.COMMON.CANCEL]); }; $scope.language = function(){ HT.goToHtml("language"); }; $scope.about = function(){ HT.goToHtml("about"); }; $scope.version = function(){ HT.alert(__version); }; $scope.features = function(){ HT.goToHtml("features"); }; $scope.feedback = function(){ alert($i18n$.FEEDBACK.FEEDBACK_SUCCESS); }; }]) ;