dashboardCtrl.js 31 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674
  1. 'use strict';
  2. /**
  3. * controllers used for the dashboard
  4. */
  5. var appFormly = angular.module('formlyDashboard', [
  6. 'formly', 'formlyBootstrap', 'ui.bootstrap',
  7. 'ngSanitize', 'ui.select', 'ui.grid'
  8. ]);
  9. app.requires.push('formlyDashboard');
  10. // var appFormly = angular.module('formlyExample', [
  11. // 'formly', 'formlyBootstrap','ui.bootstrap',
  12. // 'ngSanitize','ui.select','ui.grid'],
  13. appFormly.config(
  14. function config(formlyConfigProvider) {
  15. //格式转换方法 XXX-XXX转驼峰命名
  16. });
  17. appFormly.controller('DashboardCtrl', ['$rootScope', '$scope', '$parse', '$injector', '$http', '$q', '$state', '$modal', '$timeout', '$interval', 'SweetAlert', 'i18nService', '$window', 'Restangular', 'UserRestangular', 'BpmRestangular', 'api_configure_form', 'api_bpm_domain', 'api_bpm_data', 'api_user_data', 'api_report',
  18. function($rootScope, $scope, $parse, $injector, $http, $q, $state, $modal, $timeout, $interval, SweetAlert, i18nService, $window, Restangular, UserRestangular, BpmRestangular, api_configure_form, api_bpm_domain, api_bpm_data, api_user_data, api_report) {
  19. $scope.lodingstyle = 'nodata';
  20. $scope.onDropComplete = function(index, obj, evt) {
  21. var otherObj = vm.fields[index];
  22. var otherIndex = vm.fields.indexOf(obj);
  23. vm.fields[index] = obj;
  24. vm.fields[otherIndex] = otherObj;
  25. // console.log($scope)
  26. }
  27. $rootScope.app.layout.isNavbarFixed = false;
  28. $rootScope.app.layout.isSidebarFixed = false;
  29. $scope.loginBtn = {
  30. closeEl: '.close',
  31. modal: {
  32. templateUrl: 'assets/views/loginform.html',
  33. postion: 'center'
  34. }
  35. };
  36. // $scope.jry_ceshi=function(){
  37. // // alert('ok')
  38. // console.log('ok')
  39. // }
  40. $scope.choicevalue = 1
  41. $scope.choicelogin = function(e) {
  42. $scope.choicevalue = e;
  43. }
  44. $scope.login = function() {
  45. angular.element('.el-login').trigger('click');
  46. }
  47. // $scope.login();
  48. $scope.close = function() {
  49. console.log(angular.element('.el-login'));
  50. angular.element('.el-login').trigger('click');
  51. }
  52. $scope.loginForm = {
  53. username: "",
  54. // account:"",
  55. password: ""
  56. }
  57. $rootScope.app.isLoginFixed = true;
  58. $scope.validateUsername = function() {
  59. return $scope.loginForm.username == null || $scope.loginForm.username == "";
  60. }
  61. $scope.validatePassword = function() {
  62. return $scope.loginForm.password == null || $scope.loginForm.password == "";
  63. }
  64. $scope.formValid = function() {
  65. return $scope.loginForm.username == null || $scope.loginForm.username == "" || $scope.loginForm.password == null || $scope.loginForm.password == "";
  66. }
  67. $scope.more = function(field) {
  68. $state.go('app.incident.list', {});
  69. }
  70. // api_report.getLicenseKey().then(function(response) {
  71. // $cookieStore.put('Auth-Token', response.token);
  72. // });
  73. $scope.dashboardcount = {};
  74. if ($rootScope.user.group) {
  75. api_bpm_data.getCount({ "assignee": $rootScope.user.id, "candidateGroups": $rootScope.user.group[0].id, "idx": 0, "sum": 1000 }).then(function(response) {
  76. // if (response.status == 200) {
  77. $scope.dashboardcount = response;
  78. $scope.dashboardcount.knowledgedata = parseInt(response.toReleaseCount) + parseInt(response.toAuditCount);
  79. // } else {
  80. // SweetAlert.swal("系统错误!", "请刷新重试", "error");
  81. // }
  82. })
  83. } else {
  84. // SweetAlert.swal("访问数据失败!", "该用户没有分配组", "error");
  85. }
  86. $scope.roleidcode = true;
  87. if ($rootScope.user && $rootScope.user.role) {
  88. angular.forEach($rootScope.user.role, function(item) {
  89. if (item.rolecode == "call center") {
  90. $scope.roleidcode = false;
  91. }
  92. })
  93. }
  94. $scope.largedash = function(key) {
  95. if (key == 'lefttop') {
  96. localStorage.userId = key;
  97. var url = $state.href('dashlefttop', { basicType: 8 });
  98. window.open(url, '_blank');
  99. // $window.open("assets/views/dashboard/tpl/lagerdashboard/dash-lefttop.html");
  100. } else if (key == 'leftbottom') {
  101. localStorage.userId = key;
  102. var url = $state.href('dashleftbottom', { basicType: 8 });
  103. window.open(url, '_blank');
  104. } else if (key == 'righttop') {
  105. localStorage.userId = key;
  106. var url = $state.href('dashrighttop', { basicType: 8 });
  107. window.open(url, '_blank');
  108. } else if (key == 'rightbottom') {
  109. localStorage.userId = key;
  110. var url = $state.href('dashrightbottom', { basicType: 8 });
  111. window.open(url, '_blank');
  112. }
  113. }
  114. $scope.addModel = function() {
  115. var modalInstance = $modal.open({
  116. templateUrl: 'assets/views/system/tpl/adddashboard.html',
  117. controller: function($scope, $modalInstance, SweetAlert, scope) {
  118. $scope.addmodel = {};
  119. api_user_data.fetchgetData('user', $rootScope.user.id).then(function(response) {
  120. if (response.status == 200) {
  121. $scope.dashboard = [];
  122. var dashdata = angular.copy(response.data.dashboard);
  123. angular.forEach(response.data.dashboard, function(item, i) {
  124. angular.forEach(scope.resonseform.fields, function(index) {
  125. if (item.type == index.type) {
  126. dashdata[i].repeat = true
  127. }
  128. })
  129. })
  130. angular.forEach(dashdata, function(item) {
  131. if (!item || !item.repeat) {
  132. $scope.dashboard.push(item);
  133. }
  134. })
  135. // $scope.dashboard = response.data.dashboard;
  136. } else {
  137. SweetAlert.swal("系统错误!", "请刷新重试", "error");
  138. }
  139. $scope.ok = function(item) {
  140. $modalInstance.close(item);
  141. };
  142. $scope.cancel = function() {
  143. $modalInstance.dismiss('cancel');
  144. };
  145. })
  146. },
  147. size: 'sm',
  148. resolve: {
  149. SweetAlert: function() {
  150. return SweetAlert;
  151. },
  152. scope: function() {
  153. return $scope;
  154. }
  155. }
  156. });
  157. modalInstance.result.then(function(selectedItem) {
  158. if (selectedItem) {
  159. // api_user_data.addData('userDashboard', { "userDashboard": { "userId": $rootScope.user.id, "dashboardId": selectedItem.area.dashboard.id, "orders": "3" } }).then(function(response) {
  160. // if (response.status == 200) {
  161. // $scope.dashboard = response.data.userDashboard;
  162. // } else {
  163. // SweetAlert.swal("系统错误!", "请刷新重试", "error");
  164. // }
  165. // })
  166. for (var i = 0; i < $scope.responseData.fields.length; i++) {
  167. // for (var j = 0; j < $scope.userdashright.length; j++) {
  168. if (selectedItem.area.type == $scope.responseData.fields[i].type) {
  169. $scope.responseData.fields[i].id = selectedItem.area.id.toString();
  170. $scope.responseData.fields[i].templateOptions.orders = selectedItem.area.orders;
  171. $scope.resonseform.fields.push($scope.responseData.fields[i]);
  172. break;
  173. }
  174. // }
  175. }
  176. // $scope.formupdata = angular.copy($scope.formdatas)
  177. var vmForm = Restangular.stripRestangular($scope.resonseform);
  178. if (vmForm) { //console.log("vmForm>>>");//console.log(vmForm);
  179. decodeVMForm(vmForm);
  180. console.log(vm);
  181. }
  182. }
  183. });
  184. }
  185. $scope.removes = function(item) {
  186. var modalInstance = $modal.open({
  187. templateUrl: 'assets/views/delete.html',
  188. controller: function($scope, $modalInstance) {
  189. $scope.ok = function() {
  190. $modalInstance.close();
  191. };
  192. $scope.cancel = function() {
  193. $modalInstance.dismiss('cancel');
  194. };
  195. },
  196. size: 'sm'
  197. });
  198. modalInstance.result.then(function() {
  199. for (var i = 0; i < $scope.resonseform.fields.length; i++) {
  200. if (item.type == $scope.resonseform.fields[i].type) {
  201. // $scope.resonseform.fields.push($scope.responseData.fields[i]);
  202. $scope.resonseform.fields.splice(i, 1)
  203. break;
  204. }
  205. }
  206. var vmForm = Restangular.stripRestangular($scope.resonseform);
  207. if (vmForm) { //console.log("vmForm>>>");//console.log(vmForm);
  208. decodeVMForm(vmForm);
  209. vm.fields = vmForm.fields
  210. console.log(vm);
  211. }
  212. })
  213. }
  214. $scope.inWechat = function() {
  215. $state.go('app.desk.chart', {});
  216. }
  217. $scope.inIncident = function() {
  218. console.log($rootScope)
  219. var strandata = {};
  220. for (var i = 0; i < $rootScope.user.role.length; i++) {
  221. if ($rootScope.user.role[i].id = 5) {
  222. strandata = { "searchType": "todo" };
  223. break;
  224. }
  225. }
  226. $state.go('app.incident.list', { model: JSON.stringify(strandata) });
  227. }
  228. $scope.inInspect = function() {
  229. $state.go('app.inspection.inspectList', {});
  230. }
  231. $scope.inMeans = function() {
  232. $state.go('app.means.list', {});
  233. }
  234. $scope.inKnowledge = function() {
  235. $state.go('app.knowledge.manager', {});
  236. }
  237. $scope.inProblem = function() {
  238. $state.go('app.problem.list', {});
  239. }
  240. $scope.inChange = function() {
  241. $state.go('app.change.list', {});
  242. }
  243. $scope.inRelease = function() {
  244. $state.go('app.release.list', {});
  245. }
  246. $scope.datasetData = [{
  247. option: "这个是第一条数据"
  248. }, {
  249. option: "这个是第二条数据"
  250. }, {
  251. option: "这个是第三条数据"
  252. }, {
  253. option: "这个是第四条数据"
  254. }, {
  255. option: "这个是第五条数据"
  256. }, {
  257. option: "这个是第六条数据"
  258. }]
  259. // var speed = 60;
  260. // var FGDemo = document.getElementById('demo');
  261. // var FGDemo1 = document.getElementById('demo1');
  262. // var FGDemo2 = document.getElementById('demo2');
  263. // FGDemo2.innerHTML = FGDemo1.innerHTML
  264. // function Marquee1() {
  265. // if (FGDemo2.offsetHeight - FGDemo.scrollTop <= 0)
  266. // FGDemo.scrollTop -= FGDemo1.offsetHeight
  267. // else {
  268. // FGDemo.scrollTop++
  269. // }
  270. // }
  271. // var MyMar1 = setInterval(Marquee1, speed)
  272. // FGDemo.onmouseover = function() {
  273. // clearInterval(MyMar1)
  274. // }
  275. // FGDemo.onmouseout = function() {
  276. // MyMar1 = setInterval(Marquee1, speed)
  277. // }
  278. var vm = this;
  279. vm.options = {};
  280. vm.exampleTitle = ['expressionProperties', 'model property'];
  281. vm.fields = [];
  282. vm.model = {};
  283. $scope.langs = i18nService.getAllLangs();
  284. $scope.lang = 'zh-cn';
  285. i18nService.setCurrentLang($scope.lang);
  286. //alert($rootScope.user.id,null,2);
  287. vm.model["loginUser"] = $rootScope.user;
  288. var that = $injector;
  289. var parse = $parse;
  290. //用户测试数据,后续从header的auth中获取
  291. var userId = 2;
  292. userId = $rootScope.user.id;
  293. //==============处理表单设计数据 开始====================
  294. //处理组件加载后台数据选项的方法
  295. function refreshSelectOptions(searchVal, field) {
  296. if (field.templateOptions.optionsUrl) {
  297. var process = BpmRestangular.all("");
  298. if (field.templateOptions.ApiService) {
  299. process = UserRestangular.all("");
  300. }
  301. process.customPOST({ "idx": 0, "sum": 1000 }, field.templateOptions.optionsUrl).then(function(result) {
  302. if (!field.templateOptions.options) {
  303. field.templateOptions.options = [];
  304. }
  305. if (field.templateOptions.optionsDataKey) {
  306. field.templateOptions.options = result[field.templateOptions.optionsDataKey];
  307. } else {
  308. field.templateOptions.options = result;
  309. }
  310. });
  311. }
  312. }
  313. //解析自定义表单设计数据
  314. function decodeVMForm(vmForm) {
  315. var result = { model: {}, fields: [] };
  316. //设置模型实体数据 begin
  317. // var mdata = vmForm.model;
  318. //解析数据实体
  319. var mdata = angular.fromJson(vmForm.model); //JSON.parse(field.extjson);
  320. angular.extend(result.model, mdata);
  321. //设置模型实体数据 end
  322. //解析设计数据生成表单项 begin
  323. var fields = [];
  324. //处理修改设计数据中展示设置
  325. angular.forEach(vmForm.fields, function(field) {
  326. if (field.key == "") {
  327. delete field.key;
  328. }
  329. if (angular.isDefined(field.extjson)) {
  330. var extObj = angular.fromJson(field.extjson); //JSON.parse(field.extjson);
  331. angular.extend(field.templateOptions, extObj.templateOptions);
  332. delete extObj.templateOptions;
  333. for (var prop in extObj) {
  334. if (new RegExp("Expression").test(prop)) {
  335. //var obj = $scope.$eval(extObj[prop]);
  336. //extObj[prop] = $scope.$eval(extObj[prop]);
  337. if (extObj[prop] != null) {
  338. if (new RegExp("function").test(extObj[prop])) {
  339. var propValue = eval(extObj[prop]);
  340. extObj[prop] = propValue;
  341. } else {
  342. //console.log(extObj[prop]);
  343. var obj = $scope.$eval(extObj[prop]);
  344. extObj[prop] = obj;
  345. //console.log(obj);
  346. }
  347. }
  348. } else if (new RegExp("expressionProperties").test(prop)) {
  349. for (var p in extObj[prop]) {
  350. if (new RegExp("function").test(extObj[prop][p])) {
  351. var propValue = eval(extObj[prop][p]);
  352. extObj[prop][p] = propValue;
  353. } else {
  354. //if(p.indexOf("'")>=0){
  355. // var obj = $scope.$eval(extObj[prop][p]);
  356. // extObj[prop][$scope.$eval(p)]=obj;
  357. //}
  358. }
  359. }
  360. } else if ("watcher" == prop) {
  361. if (angular.isArray(extObj[prop])) {
  362. angular.forEach(extObj[prop], function(item, index) {
  363. for (var p in item) {
  364. if (new RegExp("function").test(item[p])) {
  365. var propValue = eval(item[p]);
  366. extObj[prop][index][p] = propValue;
  367. }
  368. }
  369. });
  370. } else if (angular.isObject(extObj[prop])) {
  371. for (var p in extObj[prop]) {
  372. if (new RegExp("function").test(extObj[prop][p])) {
  373. var propValue = eval(extObj[prop][p]);
  374. extObj[prop][p] = propValue;
  375. }
  376. }
  377. }
  378. }
  379. }
  380. angular.extend(field, extObj);
  381. delete field.extjson;
  382. }
  383. if (angular.isDefined(field.templateOptions)) {
  384. var templateOs = field.templateOptions;
  385. for (var property in templateOs) {
  386. //console.log(angular.isString(templateOs[property]) +" "+property + " " + (!(new RegExp("[\u4e00-\u9fa5]").test(templateOs[property]))));
  387. if (angular.isString(templateOs[property])) { //&& !(new RegExp("[\u4e00-\u9fa5]").test(templateOs[property]))
  388. if (new RegExp("function").test(templateOs[property])) {
  389. var propValue = eval(templateOs[property]);
  390. field.templateOptions[property] = propValue;
  391. } else {
  392. if (that.has(templateOs[property])) {
  393. field.templateOptions[property] = that.get(templateOs[property]);
  394. } else {
  395. field.templateOptions[property] = templateOs[property];
  396. }
  397. }
  398. } else if (templateOs[property] == null) {
  399. //delete field.templateOptions[property];
  400. } else {}
  401. }
  402. }
  403. // if (angular.isDefined($stateParams.formKey) && $stateParams.formKey != "") {
  404. // api_configure_form.renderForm($stateParams.formKey, '00000').then(function(responseData) {
  405. // if (responseData) {
  406. // //console.log("responseData>>>");console.log(responseData);
  407. // var vmForm = Restangular.stripRestangular(responseData);
  408. // if (vmForm) {
  409. // //console.log("vmForm>>>");console.log(vmForm);
  410. // var modelData = {};
  411. // //modelData=myData.data;
  412. // decodeVMForm(vmForm);
  413. // }
  414. // }
  415. // });
  416. // }
  417. console.log(field);
  418. if (angular.isDefined(field.templateOptions) && angular.isDefined(field.templateOptions.extjson)) {
  419. var extObj = angular.fromJson(field.templateOptions.extjson); //JSON.parse(field.extjson);
  420. angular.extend(field.templateOptions, extObj);
  421. delete field.templateOptions.extjson;
  422. }
  423. // ...
  424. if (field.templateOptions) {
  425. //处理远程获取数据控件方法调用
  426. if (field.templateOptions.optionsUrl) {
  427. field.templateOptions.refresh = refreshSelectOptions;
  428. }
  429. //事件脚本处理
  430. // if(field.templateOptions.ngChangeScript){
  431. // if(!field.expressionProperties)field.expressionProperties={};
  432. // field.expressionProperties.ngChange = function(modelVal,viewVal,ev){
  433. //// console.log(ev);
  434. //// console.log("change>>"+ev.options.key);
  435. // eval(field.templateOptions.ngChangeScript);
  436. // }
  437. // }
  438. // if(field.templateOptions.ngClickScript){
  439. // if(!field.expressionProperties)field.expressionProperties={};
  440. // field.expressionProperties.ngClick = function(modelVal,viewVal,ev){
  441. //// console.log(ev);
  442. //// console.log("click>>"+ev.options.key);
  443. // eval(field.templateOptions.ngClickScript);
  444. // }
  445. // }
  446. //处理嵌套属性数据绑定/
  447. if (field.templateOptions.pkey) {
  448. var pmodel, i = 0;
  449. angular.forEach(field.templateOptions.pkey.split("."), function(p) {
  450. if (i == 0) {
  451. if (result.model[p] == null) {
  452. result.model[p] = {};
  453. }
  454. pmodel = result.model[p];
  455. i++;
  456. } else {
  457. if (pmodel[p] == null) {
  458. pmodel[p] = {};
  459. }
  460. pmodel = pmodel[p];
  461. }
  462. });
  463. if (pmodel != null) {
  464. field.model = pmodel;
  465. if (pmodel[field.key] == null) {
  466. pmodel[field.key] = null;
  467. }
  468. }
  469. } else {
  470. if (result.model[field.key] == null) {
  471. result.model[field.key] = null;
  472. }
  473. }
  474. //处理弹出框组件初始化
  475. if (field.type == "ui-input-selectmodal") {
  476. field.templateOptions.modal = $modal;
  477. //field.templateOptions.Restangular = Restangular;
  478. } else if (field.type == "ui-requesterselect") {
  479. //field.templateOptions.language = $scope.lang;
  480. field.templateOptions.modal = $modal;
  481. field.templateOptions.UserService = api_user_data;
  482. } else if (field.type == "ui-userselect") {
  483. field.templateOptions.modal = $modal;
  484. //field.templateOptions.Restangular = Restangular;
  485. } else if (field.type == "ui-multiuserselect") {
  486. field.templateOptions.modal = $modal;
  487. } else if (field.type == "ui-search") {
  488. field.templateOptions.modal = $modal;
  489. } else if (field.type == "ui-modelselect") {
  490. field.templateOptions.modal = $modal;
  491. //console.log("$rootScope.user:" + JSON.stringify($rootScope.user));
  492. field.templateOptions.loginUser = $rootScope.user;
  493. //field.templateOptions.Restangular = Restangular;
  494. } else if (field.type == "ui-incidentmodelselect") {
  495. field.templateOptions.modal = $modal;
  496. //console.log("$rootScope.user:" + JSON.stringify($rootScope.user));
  497. field.templateOptions.loginUser = $rootScope.user;
  498. //field.templateOptions.Restangular = Restangular;
  499. } else if (field.type == "ui-repeatSection") {
  500. var repeatForm = {
  501. model: {
  502. },
  503. fields: field.templateOptions.fields
  504. };
  505. repeatForm.model[field.key] = [];
  506. decodeVMForm(repeatForm);
  507. } else if (field.type == "ui-currentuser") {
  508. field.templateOptions.user = vm.model["loginUser"];
  509. }
  510. }
  511. // console.log(field);
  512. result.fields.push(field);
  513. });
  514. angular.extend($scope.vm.fields, result.fields);
  515. angular.extend($scope.vm.model, result.model);
  516. // console.log("$scope.vm.model="+JSON.stringify($scope.vm.model));
  517. vm.model["loginUser"] = $rootScope.user;
  518. $scope.formData = vmForm;
  519. // console.log("$scope.formData="+JSON.stringify($scope.formData.url));
  520. if ($scope.formData.url == "start") {
  521. $scope.Reset = true;
  522. $scope.close = false;
  523. } else if ($scope.formData.url == "complete") {
  524. $scope.Reset = false;
  525. $scope.close = true;
  526. }
  527. //解析设计数据生成表单项 end
  528. return result;
  529. }
  530. //======================处理表单设计数据 结束========================
  531. $scope.ldloading = {};
  532. function filter(obj) {
  533. angular.forEach(obj, function(key, value) {
  534. if (value === "" || value === null) {
  535. delete obj[key];
  536. } else if (Object.prototype.toString.call(value) === '[object Object]') {
  537. filter(value);
  538. } else if (angular.isArray(value)) {
  539. angular.forEach(value, function(item) {
  540. filter(item);
  541. });
  542. }
  543. });
  544. }
  545. $scope.closeModel = function() {
  546. // console.log("pdKey="+pdKey);
  547. // if ($stateParams.pdKey) {
  548. // pdKey = $stateParams.pdKey;
  549. // }
  550. event.preventDefault();
  551. };
  552. $scope.submit = function(data, style) {
  553. var userDashboards = [];
  554. angular.forEach(data.fields, function(item, index) {
  555. userDashboards.push({ "dashboardId": Number(item.id), "orders": (100 + index).toString() })
  556. })
  557. var fildata = {
  558. userDashboard: {
  559. "userId": $rootScope.user.id,
  560. "userDashboards": userDashboards
  561. }
  562. }
  563. api_user_data.addData("userDashboard", fildata).then(function(response) {
  564. if (response && response.status == 200) {
  565. var resData = Restangular.stripRestangular(response);
  566. SweetAlert.swal({
  567. title: "提交成功!",
  568. type: "success",
  569. confirmButtonColor: "#007AFF"
  570. }, function() {
  571. userright();
  572. });
  573. } else {
  574. SweetAlert.swal({
  575. title: "系统错误",
  576. text: "系统错误,请稍后重试!",
  577. type: "error",
  578. confirmButtonColor: "#DD6B55"
  579. });
  580. }
  581. // $scope.ldloading[style.replace('-', '_')] = false;
  582. });
  583. };
  584. $scope.userdashright = [];
  585. function userright() {
  586. api_user_data.fetchgetData('user', $rootScope.user.id).then(function(response) {
  587. if (response.status == 200) {
  588. $scope.filboard = response.data.dashboard;
  589. if (response.data.userDashboard && response.data.userDashboard.length > 0) {
  590. $scope.userdashright = response.data.userDashboard;
  591. } else {
  592. if (response.data.dashboard && response.data.dashboard.length > 0) {
  593. for (var i = 0; i < response.data.dashboard.length; i++) {
  594. $scope.userdashright.push({ dashboard: response.data.dashboard[i], orders: 100 + i })
  595. }
  596. }
  597. }
  598. // $scope.userdashright = response.data.userDashboard;
  599. vmformData();
  600. } else {
  601. SweetAlert.swal("系统错误!", "请刷新重试", "error");
  602. }
  603. })
  604. }
  605. userright();
  606. function vmformData() {
  607. $scope.vm = vm;
  608. api_configure_form.renderForm("dashboard").then(function(responseData) {
  609. if (responseData) { //console.log("responseData>>>");//console.log(responseData);
  610. $scope.responseData = responseData;
  611. $scope.resonseform = angular.copy(responseData);
  612. $scope.resonseform.fields = [];
  613. for (var i = 0; i < responseData.fields.length; i++) {
  614. for (var j = 0; j < $scope.userdashright.length; j++) {
  615. if ($scope.userdashright[j].dashboard.type == responseData.fields[i].type) {
  616. responseData.fields[i].id = $scope.userdashright[j].dashboard.id.toString();
  617. responseData.fields[i].templateOptions.orders = $scope.userdashright[j].orders;
  618. $scope.resonseform.fields.push(responseData.fields[i]);
  619. break;
  620. }
  621. }
  622. }
  623. var temp = {};
  624. for (var i = 0; i < $scope.resonseform.fields.length; i++) {
  625. for (var j = 0; j < i; j++) {
  626. if (Number($scope.resonseform.fields[j].templateOptions.orders) > Number($scope.resonseform.fields[i].templateOptions.orders)) {
  627. temp = $scope.resonseform.fields[j];
  628. $scope.resonseform.fields[j] = $scope.resonseform.fields[i];
  629. $scope.resonseform.fields[i] = temp;
  630. }
  631. }
  632. }
  633. // $scope.formdatas = angular.copy($scope.resonseform);
  634. var vmForm = Restangular.stripRestangular($scope.resonseform);
  635. if (vmForm) { //console.log("vmForm>>>");//console.log(vmForm);
  636. decodeVMForm(vmForm);
  637. console.log(vm);
  638. }
  639. }
  640. });
  641. }
  642. }
  643. ]);