1 |
- "use strict";var appFormly=angular.module("formlyDashboard",["formly","formlyBootstrap","ui.bootstrap","ngSanitize","ui.select","ui.grid"]);app.requires.push("formlyDashboard"),appFormly.config(["formlyConfigProvider",function(e){}]),appFormly.controller("DashboardformCtrl",["$rootScope","$scope","$parse","$injector","$http","$q","$state","$modal","$timeout","$interval","SweetAlert","i18nService","Restangular","UserRestangular","BpmRestangular","api_configure_form","api_bpm_domain","api_bpm_data","api_user_data",function($rootScope,$scope,$parse,$injector,$http,$q,$state,$modal,$timeout,$interval,SweetAlert,i18nService,Restangular,UserRestangular,BpmRestangular,api_configure_form,api_bpm_domain,api_bpm_data,api_user_data){function refreshSelectOptions(e,t){if(t.templateOptions.optionsUrl){var o=BpmRestangular.all("");t.templateOptions.ApiService&&(o=UserRestangular.all("")),o.customPOST({idx:0,sum:1e3},t.templateOptions.optionsUrl).then(function(e){t.templateOptions.options||(t.templateOptions.options=[]),t.templateOptions.optionsDataKey?t.templateOptions.options=e[t.templateOptions.optionsDataKey]:t.templateOptions.options=e})}}function decodeVMForm(vmForm){var result={model:{},fields:[]},mdata=angular.fromJson(vmForm.model);angular.extend(result.model,mdata);var fields=[];return angular.forEach(vmForm.fields,function(field){if(""==field.key&&delete field.key,angular.isDefined(field.extjson)){var extObj=angular.fromJson(field.extjson);angular.extend(field.templateOptions,extObj.templateOptions),delete extObj.templateOptions;for(var prop in extObj)if(new RegExp("Expression").test(prop)){if(null!=extObj[prop])if(new RegExp("function").test(extObj[prop])){var propValue=eval(extObj[prop]);extObj[prop]=propValue}else{var obj=$scope.$eval(extObj[prop]);extObj[prop]=obj}}else if(new RegExp("expressionProperties").test(prop)){for(var p in extObj[prop])if(new RegExp("function").test(extObj[prop][p])){var propValue=eval(extObj[prop][p]);extObj[prop][p]=propValue}}else if("watcher"==prop)if(angular.isArray(extObj[prop]))angular.forEach(extObj[prop],function(item,index){for(var p in item)if(new RegExp("function").test(item[p])){var propValue=eval(item[p]);extObj[prop][index][p]=propValue}});else if(angular.isObject(extObj[prop]))for(var p in extObj[prop])if(new RegExp("function").test(extObj[prop][p])){var propValue=eval(extObj[prop][p]);extObj[prop][p]=propValue}angular.extend(field,extObj),delete field.extjson}if(angular.isDefined(field.templateOptions)){var templateOs=field.templateOptions;for(var property in templateOs)if(angular.isString(templateOs[property]))if(new RegExp("function").test(templateOs[property])){var propValue=eval(templateOs[property]);field.templateOptions[property]=propValue}else that.has(templateOs[property])?field.templateOptions[property]=that.get(templateOs[property]):field.templateOptions[property]=templateOs[property];else null==templateOs[property]}if(angular.isDefined(field.templateOptions)&&angular.isDefined(field.templateOptions.extjson)){var extObj=angular.fromJson(field.templateOptions.extjson);angular.extend(field.templateOptions,extObj),delete field.templateOptions.extjson}if(field.templateOptions){if(field.templateOptions.optionsUrl&&(field.templateOptions.refresh=refreshSelectOptions),field.templateOptions.pkey){var pmodel,i=0;angular.forEach(field.templateOptions.pkey.split("."),function(e){0==i?(null==result.model[e]&&(result.model[e]={}),pmodel=result.model[e],i++):(null==pmodel[e]&&(pmodel[e]={}),pmodel=pmodel[e])}),null!=pmodel&&(field.model=pmodel,null==pmodel[field.key]&&(pmodel[field.key]=null))}else null==result.model[field.key]&&(result.model[field.key]=null);if("ui-input-selectmodal"==field.type)field.templateOptions.modal=$modal;else if("ui-requesterselect"==field.type)field.templateOptions.modal=$modal,field.templateOptions.UserService=api_user_data;else if("ui-userselect"==field.type)field.templateOptions.modal=$modal;else if("ui-multiuserselect"==field.type)field.templateOptions.modal=$modal;else if("ui-search"==field.type)field.templateOptions.modal=$modal;else if("ui-modelselect"==field.type)field.templateOptions.modal=$modal,field.templateOptions.loginUser=$rootScope.user;else if("ui-incidentmodelselect"==field.type)field.templateOptions.modal=$modal,field.templateOptions.loginUser=$rootScope.user;else if("ui-repeatSection"==field.type){var repeatForm={model:{},fields:field.templateOptions.fields};repeatForm.model[field.key]=[],decodeVMForm(repeatForm)}else"ui-currentuser"==field.type&&(field.templateOptions.user=vm.model.loginUser)}result.fields.push(field)}),angular.extend($scope.vm.fields,result.fields),angular.extend($scope.vm.model,result.model),vm.model.loginUser=$rootScope.user,$scope.formData=vmForm,"start"==$scope.formData.url?($scope.Reset=!0,$scope.close=!1):"complete"==$scope.formData.url&&($scope.Reset=!1,$scope.close=!0),result}function filter(e){angular.forEach(e,function(t,o){""===o||null===o?delete e[t]:"[object Object]"===Object.prototype.toString.call(o)?filter(o):angular.isArray(o)&&angular.forEach(o,function(e){filter(e)})})}function userright(){api_user_data.fetchgetData("user",$rootScope.user.id).then(function(e){if(200==e.status){if($scope.filboard=e.data.dashboard,e.data.userDashboard&&e.data.userDashboard.length>0)$scope.userdashright=e.data.userDashboard;else for(var t=0;t<e.data.dashboard.length;t++)$scope.userdashright.push({dashboard:e.data.dashboard[t],orders:100+t});vmformData()}else SweetAlert.swal("系统错误!","请刷新重试","error")})}function vmformData(){$scope.vm=vm,api_configure_form.renderForm("dashboard").then(function(e){if(e){$scope.responseData=e,$scope.resonseform=angular.copy(e),$scope.resonseform.fields=[];for(var t=0;t<e.fields.length;t++)for(var o=0;o<$scope.userdashright.length;o++)$scope.userdashright[o].dashboard.type==e.fields[t].type&&(e.fields[t].id=$scope.userdashright[o].dashboard.id.toString(),e.fields[t].templateOptions.orders=$scope.userdashright[o].orders,$scope.resonseform.fields.push(e.fields[t]));for(var r={},t=0;t<$scope.resonseform.fields.length;t++)for(var o=0;o<t;o++)Number($scope.resonseform.fields[o].templateOptions.orders)>Number($scope.resonseform.fields[t].templateOptions.orders)&&(r=$scope.resonseform.fields[o],$scope.resonseform.fields[o]=$scope.resonseform.fields[t],$scope.resonseform.fields[t]=r);var s=Restangular.stripRestangular($scope.resonseform);s&&decodeVMForm(s)}})}$scope.changedata=!0,$scope.onDropComplete=function(e,t,o){var r=vm.fields[e],s=vm.fields.indexOf(t);vm.fields[e]=t,vm.fields[s]=r},$scope.addModel=function(){var e=$modal.open({templateUrl:"assets/views/system/tpl/adddashboard.html",controller:["$scope","$modalInstance","SweetAlert","scope",function(e,t,o,r){e.addmodel={},api_user_data.fetchgetData("user",$rootScope.user.id).then(function(s){if(200==s.status){e.dashboard=[];var a=angular.copy(s.data.dashboard);angular.forEach(s.data.dashboard,function(e,t){angular.forEach(r.resonseform.fields,function(o){e.type==o.type&&(a[t].repeat=!0)})}),angular.forEach(a,function(t){t&&t.repeat||e.dashboard.push(t)})}else o.swal("系统错误!","请刷新重试","error");e.ok=function(e){t.close(e)},e.cancel=function(){t.dismiss("cancel")}})}],size:"sm",resolve:{SweetAlert:function(){return SweetAlert},scope:function(){return $scope}}});e.result.then(function(e){if(e){for(var t=0;t<$scope.responseData.fields.length;t++)if(e.area.type==$scope.responseData.fields[t].type){$scope.responseData.fields[t].id=e.area.id.toString(),$scope.responseData.fields[t].templateOptions.orders=e.area.orders,$scope.resonseform.fields.push($scope.responseData.fields[t]);break}var o=Restangular.stripRestangular($scope.resonseform);o&&decodeVMForm(o)}})};var vm=this;vm.options={},vm.exampleTitle=["expressionProperties","model property"],vm.fields=[],vm.model={},$scope.langs=i18nService.getAllLangs(),$scope.lang="zh-cn",i18nService.setCurrentLang($scope.lang),vm.model.loginUser=$rootScope.user;var that=$injector,parse=$parse,userId=2;userId=$rootScope.user.id,$scope.ldloading={},$scope.decodeVMForm=decodeVMForm,$scope.closeModel=function(){event.preventDefault()},$scope.submit=function(e,t){var o=[];angular.forEach(e.fields,function(e,t){o.push({dashboardId:Number(e.id),orders:(100+t).toString()})});var r={userDashboard:{userId:$rootScope.user.id,userDashboards:o}};api_user_data.addData("userDashboard",r).then(function(e){if(e&&200==e.status){Restangular.stripRestangular(e);SweetAlert.swal({title:"提交成功!",confirmButtonColor:"#007AFF"},function(){userright()})}else SweetAlert.swal({title:"系统错误",text:"系统错误,请稍后重试!",type:"error",confirmButtonColor:"#DD6B55"})})},$scope.userdashright=[],userright()}]);
|