loginCtrl.js 38 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658
  1. app.controller('LoginCtrl', ['$rootScope', '$scope', '$state', '$translate', '$localStorage', '$cookieStore', '$auth', '$window', '$document', '$timeout', '$filter', '$http', 'cfpLoadingBar', 'Restangular', 'api_login', 'api_is_category', 'SweetAlert', 'api_msg',
  2. function ($rootScope, $scope, $state, $translate, $localStorage, $cookieStore, $auth, $window, $document, $timeout, $filter, $http, cfpLoadingBar, Restangular, api_login, api_is_category, SweetAlert, api_msg) {
  3. $rootScope.app.layout.isNavbarFixed = false;
  4. $rootScope.app.layout.isSidebarFixed = false;
  5. //判断项目归属 start
  6. //因项目众多,前端为了加以区分,所以用域名加以判断,后期有更好的方式可以自行修改
  7. // 中南财大
  8. // $rootScope.isZncd = document.domain === 'itsm.zuel.edu.cn';
  9. $rootScope.isZncd = document.domain === true;
  10. //判断项目归属 end
  11. // 是否单点登录
  12. $scope.isSSo = location.search.length > 0;
  13. //初始化,获取版本类别,处理人/处理科室-seimin
  14. $scope.isCategoryHandle = function () {
  15. api_is_category.isCategory({ "idx": 0, "sum": 1000 })
  16. .then(function (res) {
  17. if (res.status == 200) {
  18. //存储报修主体到缓存
  19. var list = res.list;
  20. var repairMain = list.find((v) => v.keyconfig == "repairMain"); //报修主体
  21. var incidentWithConsumable = list.find(
  22. (v) => v.keyconfig == "incidentWithConsumable"
  23. ); //是否绑定耗材
  24. var wxIncidentWithCmdb = list.find(
  25. (v) => v.keyconfig == "wxIncidentWithCmdb"
  26. ); //是否绑定资产
  27. sessionStorage.setItem(
  28. "repair_main",
  29. JSON.stringify(repairMain)
  30. );
  31. sessionStorage.setItem(
  32. "incidentWithConsumable",
  33. incidentWithConsumable.valueconfig
  34. );
  35. sessionStorage.setItem(
  36. "wxIncidentWithCmdb",
  37. wxIncidentWithCmdb.valueconfig
  38. );
  39. }
  40. })
  41. .catch(function (err) {
  42. console.log(err)
  43. })
  44. };
  45. $scope.loginBtn = {
  46. closeEl: '.close',
  47. modal: {
  48. templateUrl: 'assets/views/loginform.html',
  49. postion: 'center'
  50. }
  51. };
  52. // $scope.jry_ceshi=function(){
  53. // // alert('ok')
  54. // console.log('ok')
  55. // }
  56. $scope.choicevalue = 1
  57. $scope.choicelogin = function (e) {
  58. $scope.choicevalue = e;
  59. }
  60. $scope.login = function () {
  61. angular.element('.el-login').trigger('click');
  62. }
  63. // $scope.login();
  64. $scope.close = function () {
  65. console.log(angular.element('.el-login'));
  66. angular.element('.el-login').trigger('click');
  67. }
  68. $scope.loginForm = {
  69. username: "",
  70. // account:"",
  71. password: ""
  72. }
  73. $rootScope.app.isLoginFixed = true;
  74. $scope.validateUsername = function () {
  75. return $scope.loginForm.username == null || $scope.loginForm.username == "";
  76. }
  77. $scope.validatePassword = function () {
  78. return $scope.loginForm.password == null || $scope.loginForm.password == "";
  79. }
  80. $scope.formValid = function () {
  81. return $scope.loginForm.username == null || $scope.loginForm.username == "" || $scope.loginForm.password == null || $scope.loginForm.password == "";
  82. }
  83. $rootScope.$on('auth:invalid', function (ev) {
  84. $state.go('login.signin');
  85. });
  86. $scope.licensePassShow = false;
  87. $scope.licenseSoonShow = false;
  88. $scope.licenseTrialShow = false;
  89. $scope.licenseSurplusTime = 0;
  90. $scope.licensePassSub = function () {
  91. if ($scope.licenseIsAdmin) {
  92. $scope.licensePassShow = false;
  93. $state.go('login.license');
  94. } else {
  95. $scope.licensePassShow = false;
  96. }
  97. }
  98. $scope.licenseSoonShowSub = function () {
  99. $scope.licenseSoonShow = false;
  100. $rootScope.getpending();
  101. $state.go('app.dashboard');
  102. }
  103. $scope.licenseTrialSub = function () {
  104. $scope.licenseTrialShow = false;
  105. $rootScope.getpending();
  106. $state.go('app.dashboard');
  107. }
  108. $scope.licenseTrialActivation = function () {
  109. $state.go('login.license');
  110. }
  111. $scope.licenseIsAdmin = "";
  112. // 未读消息数量
  113. // $scope.noReadData=0
  114. // $rootScope.getMsgNum=function(id){
  115. // api_msg.msgDataList({idx: 0, sum: 1, messageStation: {readStatus: 0, userId: id}}).then(function(data) {
  116. // if (data.status == 200) {
  117. // $rootScope.noReadData=data.totalNum
  118. // } else {
  119. // $rootScope.noReadData=0
  120. // }
  121. // return $rootScope.noReadData
  122. // })
  123. // }
  124. //aes加密
  125. $rootScope.encryptByEnAESLogin = function(data) {
  126. data = CryptoJS.enc.Utf8.parse(data);
  127. let Key = CryptoJS.enc.Utf8.parse('Aes2Util666AQWER');
  128. let tmpAES = CryptoJS.AES.encrypt(data, Key, {
  129. mode: CryptoJS.mode.ECB,
  130. padding: CryptoJS.pad.Pkcs7,
  131. });
  132. return tmpAES.toString();
  133. }
  134. // 验证码
  135. $scope.verificationCodeImg = '';
  136. // 获取验证码
  137. $scope.getVerificationCodeImg = function(){
  138. var fileURL = api_login.getVerificationCodeImg().getRequestedUrl();
  139. $scope.verificationCodeImg = fileURL;
  140. }
  141. $scope.getVerificationCodeImg();
  142. //登录
  143. $scope.handleLoginClick = function (e) {
  144. // api_login.getLicense({}).then(function(res){
  145. // $auth.submitLogin($scope.loginForm)
  146. // var ssoStr = location.search.replace('?', '').split('&')[0].split('=')[1];
  147. var ssoStr = '';
  148. var ssoJson;
  149. if ($scope.isSSo) {
  150. ssoStr = location.search.replace('?', '').split('&')[0].split('=')[1];
  151. ssoStr = Base64.decode(decodeURIComponent(ssoStr));
  152. ssoJson = JSON.parse(ssoStr);
  153. }else if(!$scope.loginForm.username || !$scope.loginForm.username.trim()){
  154. SweetAlert.swal({
  155. title: "请输入用户名",
  156. type: "error"
  157. })
  158. return;
  159. }else if(!$scope.loginForm.password || !$scope.loginForm.password.trim()){
  160. SweetAlert.swal({
  161. title: "请输入密码",
  162. type: "error"
  163. })
  164. return;
  165. }else if(!$scope.loginForm.captcha || !$scope.loginForm.captcha.trim()){
  166. SweetAlert.swal({
  167. title: "请输入验证码",
  168. type: "error"
  169. })
  170. return;
  171. }
  172. var postData = $scope.isSSo ? { username: ssoJson.a, password: ssoJson.u, t: false } : $scope.loginForm;
  173. postData = {
  174. k: $rootScope.encryptByEnAESLogin(JSON.stringify(postData))
  175. };
  176. api_login.login(postData)
  177. .then(function (resp) {
  178. console.log(resp);
  179. if ($scope.isSSo) {
  180. localStorage.setItem('isSSo', '1');//单点登录
  181. } else {
  182. localStorage.setItem('isSSo', '0');//正常登录
  183. }
  184. if (resp.state == "10000") {//license失效
  185. // console.log($scope.loginForm);
  186. if (resp.role) {
  187. for (var i = 0; i < resp.role.length; i++) {
  188. if (resp.role[i] == "admin general" || resp.role[i] == "admin") {
  189. $scope.licenseIsAdmin = true
  190. }
  191. }
  192. }
  193. if ($scope.licenseIsAdmin) {
  194. $scope.licensePassShow = true;
  195. // $state.go('login.license');
  196. } else {
  197. $scope.licensePassShow = true
  198. }
  199. }else if(resp.state == 403){
  200. SweetAlert.swal({
  201. title: "验证码错误",
  202. type: "error"
  203. })
  204. $scope.getVerificationCodeImg();
  205. } else {
  206. api_login.getLicense({}).then(function (res) {
  207. console.log(res);
  208. var subIsAdmin = "";
  209. if (resp.data && resp.data.user && resp.data.user.role) {
  210. for (var i = 0; i < resp.data.user.role.length; i++) {
  211. if (resp.data.user.role[i].rolecode == "admin") {
  212. var subIsAdmin = true
  213. }
  214. }
  215. }
  216. $scope.isCategoryHandle();//判断报修主体
  217. $scope.featureSum = res.featureSum;
  218. $scope.licenseSurplusTime = Number(res.featureSum) - Number(res.featureAlready);
  219. if (res.type == 1 && subIsAdmin) {
  220. $scope.licenseTrialShow = true;
  221. resp.data.user["menu"] = resp.data.menu;
  222. localStorage.setItem("jry_user", JSON.stringify(resp.data.user));
  223. localStorage.setItem("login_requester", JSON.stringify(resp.data.requester));
  224. $rootScope.user = JSON.parse(localStorage.getItem("jry_user"));
  225. $rootScope.login_requester = JSON.parse(localStorage.getItem("login_requester"));
  226. $rootScope.getMsgNum($rootScope.user.id)
  227. $rootScope.isFuwutai = false;//服务台人员和服务台经理才显示右上角呼叫功能
  228. if ($rootScope.user) {
  229. if($rootScope.user.role&&angular.isArray($rootScope.user.role)&&$rootScope.user.role.length){
  230. $rootScope.isFuwutai = $rootScope.user.role.some(function(v){
  231. return v.rolecode == 'call center';
  232. })
  233. }else{
  234. $rootScope.isFuwutai = false;
  235. }
  236. }
  237. if($rootScope.isFuwutai){
  238. localStorage.setItem("isFuwutai", 'true');
  239. }else{
  240. localStorage.removeItem('isFuwutai');
  241. }
  242. // $rootScope.userMenus = JSON.parse(localStorage.getItem("jry_user")).menu;
  243. var allJurisdiction = JSON.parse(localStorage.getItem("jry_user")).menu;
  244. var onlyMenu = [];
  245. // console.log(allJurisdiction);
  246. for (var i = 0; i < allJurisdiction.length; i++) {
  247. if (allJurisdiction[i].event == "1") {
  248. onlyMenu.push(allJurisdiction[i])
  249. }
  250. }
  251. // console.log(onlyMenu);
  252. $rootScope.userMenus = onlyMenu;
  253. var getMenus = function () {
  254. function convertListToTree(data, treeMap) {
  255. var idToNodeMap = {}; //Keeps track of nodes using id as key, for fast lookup
  256. var root = null; //Initially set our loop to null
  257. var parentNode = null;
  258. //loop over data
  259. for (var i = 0; i < data.length; i++) {
  260. // data[i].id = Number(data[i].id);
  261. var datum = data[i];
  262. //each node will have children, so let's give it a "children" poperty
  263. datum.children = [];
  264. //add an entry for this node to the map so that any future children can
  265. //lookup the parent
  266. idToNodeMap[datum.id] = datum;
  267. //Does this node have a parent?
  268. if (typeof datum.parentid === "undefined" || datum.parentid == null) {
  269. //Doesn't look like it, so this node is the root of the tree
  270. root = datum;
  271. treeMap[datum.id] = root;
  272. } else {
  273. //This node has a parent, so let's look it up using the id
  274. parentNode = idToNodeMap[datum.parentid];
  275. //We don't need this property, so let's delete it.
  276. //delete datum.parentid;
  277. //Let's add the current node as a child of the parent node.
  278. parentNode.children.push(datum);
  279. }
  280. }
  281. return root;
  282. }
  283. function convertParentToChildList(data) {
  284. var treeMap = {};
  285. var list = [];
  286. convertListToTree(data, treeMap);
  287. angular.forEach(treeMap, function (item) {
  288. list.push(item);
  289. });
  290. list = window._.sortBy(list, function (o) {
  291. return o.orders;
  292. });
  293. return list;
  294. }
  295. //if(userMenus.length==0){
  296. var userMenus = [];
  297. var idMapMenu = {};
  298. if ($rootScope.user) {
  299. if ($rootScope.user.menu) {
  300. console.log($rootScope.user.menu);
  301. var allJurisdiction2 = $rootScope.user.menu;
  302. var onlyMenu2 = [];
  303. for (var i = 0; i < allJurisdiction2.length; i++) {
  304. if (allJurisdiction2[i].event == "1") {
  305. onlyMenu2.push(allJurisdiction2[i])
  306. }
  307. }
  308. // userMenus = convertParentToChildList($rootScope.user.menu);
  309. userMenus = convertParentToChildList(onlyMenu2);
  310. }
  311. }
  312. //}
  313. $rootScope.userMenus = userMenus;
  314. if ($rootScope.userMenus.length > 0) {
  315. // getpending();
  316. // setInterval(getpending, 30000);
  317. }
  318. return userMenus;
  319. }
  320. getMenus();
  321. } else {
  322. if ($scope.licenseSurplusTime < 7 && subIsAdmin) {
  323. $scope.licenseSoonShow = true;
  324. // if (resp.error != 501 && resp.error != 400) {
  325. // $state.go('app.knowledge.forum');
  326. // $rootScope.app.isLoginFixed = false;
  327. // // console.log(resp);
  328. // // api_wechatfile.getDictionary({ "type": "list", "key": "hjzx_cornet" }).then(function(data) {
  329. // // $scope.runNumber = data;
  330. // // $scope.phone = $scope.runNumber[0].name;
  331. // // $rootScope.phoneChange($scope.phone);
  332. // // })
  333. // } else {
  334. // resp.error = "";
  335. // $scope.loginForm.password = "";
  336. // SweetAlert.swal("用户名或者密码验证失败,请重试!", "error");
  337. // // $rootScope.user=resp.user;
  338. // // $rootScope.menu=resp.menu;
  339. // }
  340. resp.data.user["menu"] = resp.data.menu;
  341. localStorage.setItem("jry_user", JSON.stringify(resp.data.user));
  342. localStorage.setItem("login_requester", JSON.stringify(resp.data.requester));
  343. $rootScope.user = JSON.parse(localStorage.getItem("jry_user"));
  344. $rootScope.login_requester = JSON.parse(localStorage.getItem("login_requester"));
  345. $rootScope.getMsgNum($rootScope.user.id)
  346. $rootScope.isFuwutai = false;//服务台人员和服务台经理才显示右上角呼叫功能
  347. if ($rootScope.user) {
  348. if($rootScope.user.role&&angular.isArray($rootScope.user.role)&&$rootScope.user.role.length){
  349. $rootScope.isFuwutai = $rootScope.user.role.some(function(v){
  350. return v.rolecode == 'call center';
  351. })
  352. }else{
  353. $rootScope.isFuwutai = false;
  354. }
  355. }
  356. if($rootScope.isFuwutai){
  357. localStorage.setItem("isFuwutai", 'true');
  358. }else{
  359. localStorage.removeItem('isFuwutai');
  360. }
  361. // $rootScope.userMenus = JSON.parse(localStorage.getItem("jry_user")).menu;
  362. var allJurisdiction = JSON.parse(localStorage.getItem("jry_user")).menu;
  363. var onlyMenu = [];
  364. // console.log(allJurisdiction);
  365. for (var i = 0; i < allJurisdiction.length; i++) {
  366. if (allJurisdiction[i].event == "1") {
  367. onlyMenu.push(allJurisdiction[i])
  368. }
  369. }
  370. // console.log(onlyMenu);
  371. $rootScope.userMenus = onlyMenu;
  372. var getMenus = function () {
  373. function convertListToTree(data, treeMap) {
  374. var idToNodeMap = {}; //Keeps track of nodes using id as key, for fast lookup
  375. var root = null; //Initially set our loop to null
  376. var parentNode = null;
  377. //loop over data
  378. for (var i = 0; i < data.length; i++) {
  379. // data[i].id = Number(data[i].id);
  380. var datum = data[i];
  381. //each node will have children, so let's give it a "children" poperty
  382. datum.children = [];
  383. //add an entry for this node to the map so that any future children can
  384. //lookup the parent
  385. idToNodeMap[datum.id] = datum;
  386. //Does this node have a parent?
  387. if (typeof datum.parentid === "undefined" || datum.parentid == null) {
  388. //Doesn't look like it, so this node is the root of the tree
  389. root = datum;
  390. treeMap[datum.id] = root;
  391. } else {
  392. //This node has a parent, so let's look it up using the id
  393. parentNode = idToNodeMap[datum.parentid];
  394. //We don't need this property, so let's delete it.
  395. //delete datum.parentid;
  396. //Let's add the current node as a child of the parent node.
  397. parentNode.children.push(datum);
  398. }
  399. }
  400. return root;
  401. }
  402. function convertParentToChildList(data) {
  403. var treeMap = {};
  404. var list = [];
  405. convertListToTree(data, treeMap);
  406. angular.forEach(treeMap, function (item) {
  407. list.push(item);
  408. });
  409. list = window._.sortBy(list, function (o) {
  410. return o.orders;
  411. });
  412. return list;
  413. }
  414. //if(userMenus.length==0){
  415. var userMenus = [];
  416. var idMapMenu = {};
  417. if ($rootScope.user) {
  418. if ($rootScope.user.menu) {
  419. console.log($rootScope.user.menu);
  420. var allJurisdiction2 = $rootScope.user.menu;
  421. var onlyMenu2 = [];
  422. for (var i = 0; i < allJurisdiction2.length; i++) {
  423. if (allJurisdiction2[i].event == "1") {
  424. onlyMenu2.push(allJurisdiction2[i])
  425. }
  426. }
  427. // userMenus = convertParentToChildList($rootScope.user.menu);
  428. userMenus = convertParentToChildList(onlyMenu2);
  429. }
  430. }
  431. //}
  432. $rootScope.userMenus = userMenus;
  433. if ($rootScope.userMenus.length > 0) {
  434. // getpending();
  435. // setInterval(getpending, 30000);
  436. }
  437. return userMenus;
  438. }
  439. getMenus();
  440. } else {
  441. if (resp.state == "500") {
  442. SweetAlert.swal("用户名或者密码验证失败,请重试!", "error");
  443. } else {
  444. // if (resp.error != 501 && resp.error != 400) {
  445. // $state.go('app.knowledge.forum');
  446. // $rootScope.app.isLoginFixed = false;
  447. // // console.log(resp);
  448. // // api_wechatfile.getDictionary({ "type": "list", "key": "hjzx_cornet" }).then(function(data) {
  449. // // $scope.runNumber = data;
  450. // // $scope.phone = $scope.runNumber[0].name;
  451. // // $rootScope.phoneChange($scope.phone);
  452. // // })
  453. // } else {
  454. // resp.error = "";
  455. // $scope.loginForm.password = "";
  456. // SweetAlert.swal("用户名或者密码验证失败,请重试!", "error");
  457. // // $rootScope.user=resp.user;
  458. // // $rootScope.menu=resp.menu;
  459. // }
  460. resp.data.user["menu"] = resp.data.menu;
  461. localStorage.setItem("jry_user", JSON.stringify(resp.data.user));
  462. localStorage.setItem("login_requester", JSON.stringify(resp.data.requester));
  463. $rootScope.user = JSON.parse(localStorage.getItem("jry_user"));
  464. $rootScope.login_requester = JSON.parse(localStorage.getItem("login_requester"));
  465. $rootScope.getMsgNum($rootScope.user.id)
  466. $rootScope.isFuwutai = false;//服务台人员和服务台经理才显示右上角呼叫功能
  467. if ($rootScope.user) {
  468. if($rootScope.user.role&&angular.isArray($rootScope.user.role)&&$rootScope.user.role.length){
  469. $rootScope.isFuwutai = $rootScope.user.role.some(function(v){
  470. return v.rolecode == 'call center';
  471. })
  472. }else{
  473. $rootScope.isFuwutai = false;
  474. }
  475. }
  476. if($rootScope.isFuwutai){
  477. localStorage.setItem("isFuwutai", 'true');
  478. }else{
  479. localStorage.removeItem('isFuwutai');
  480. }
  481. // $rootScope.userMenus = JSON.parse(localStorage.getItem("jry_user")).menu;
  482. var allJurisdiction = JSON.parse(localStorage.getItem("jry_user")).menu;
  483. var onlyMenu = [];
  484. // console.log(allJurisdiction);
  485. for (var i = 0; i < allJurisdiction.length; i++) {
  486. if (allJurisdiction[i].event == "1") {
  487. onlyMenu.push(allJurisdiction[i])
  488. }
  489. }
  490. // console.log(onlyMenu);
  491. $rootScope.userMenus = onlyMenu;
  492. var getMenus = function () {
  493. function convertListToTree(data, treeMap) {
  494. var idToNodeMap = {}; //Keeps track of nodes using id as key, for fast lookup
  495. var root = null; //Initially set our loop to null
  496. var parentNode = null;
  497. //loop over data
  498. for (var i = 0; i < data.length; i++) {
  499. // data[i].id = Number(data[i].id);
  500. var datum = data[i];
  501. //each node will have children, so let's give it a "children" poperty
  502. datum.children = [];
  503. //add an entry for this node to the map so that any future children can
  504. //lookup the parent
  505. idToNodeMap[datum.id] = datum;
  506. //Does this node have a parent?
  507. if (typeof datum.parentid === "undefined" || datum.parentid == null) {
  508. //Doesn't look like it, so this node is the root of the tree
  509. root = datum;
  510. treeMap[datum.id] = root;
  511. } else {
  512. //This node has a parent, so let's look it up using the id
  513. parentNode = idToNodeMap[datum.parentid];
  514. //We don't need this property, so let's delete it.
  515. //delete datum.parentid;
  516. //Let's add the current node as a child of the parent node.
  517. parentNode.children.push(datum);
  518. }
  519. }
  520. return root;
  521. }
  522. function convertParentToChildList(data) {
  523. var treeMap = {};
  524. var list = [];
  525. convertListToTree(data, treeMap);
  526. angular.forEach(treeMap, function (item) {
  527. list.push(item);
  528. });
  529. list = window._.sortBy(list, function (o) {
  530. return o.orders;
  531. });
  532. return list;
  533. }
  534. //if(userMenus.length==0){
  535. var userMenus = [];
  536. var idMapMenu = {};
  537. if ($rootScope.user) {
  538. if ($rootScope.user.menu) {
  539. console.log($rootScope.user.menu);
  540. var allJurisdiction2 = $rootScope.user.menu;
  541. var onlyMenu2 = [];
  542. for (var i = 0; i < allJurisdiction2.length; i++) {
  543. if (allJurisdiction2[i].event == "1") {
  544. onlyMenu2.push(allJurisdiction2[i])
  545. }
  546. }
  547. // userMenus = convertParentToChildList($rootScope.user.menu);
  548. userMenus = convertParentToChildList(onlyMenu2);
  549. }
  550. }
  551. //}
  552. $rootScope.userMenus = userMenus;
  553. if ($rootScope.userMenus.length > 0) {
  554. // getpending();
  555. // setInterval(getpending, 30000);
  556. }
  557. return userMenus;
  558. }
  559. getMenus();
  560. // if (!resp.error || resp.error != 500) {
  561. if (resp.data && resp.data.user && resp.data.user.id) {
  562. // console.log(resp.error);
  563. $rootScope.getpending();
  564. // 正常登录并且密码有效期已过
  565. if(resp.overTime && !$scope.isSSo){
  566. $rootScope.changepassword(true);
  567. return;
  568. }else{
  569. $state.go('app.dashboard');
  570. }
  571. $rootScope.app.isLoginFixed = false;
  572. // console.log(resp);
  573. // api_wechatfile.getDictionary({ "type": "list", "key": "hjzx_cornet" }).then(function(data) {
  574. // $scope.runNumber = data;
  575. // $scope.phone = $scope.runNumber[0].name;
  576. // $rootScope.phoneChange($scope.phone);
  577. // })
  578. } else {
  579. resp.error = "";
  580. $scope.loginForm.password = "";
  581. SweetAlert.swal("用户名或者密码验证失败,请重试!", "error");
  582. // $rootScope.user=resp.user;
  583. // $rootScope.menu=resp.menu;
  584. };
  585. if($rootScope.isFuwutai){
  586. $rootScope.getExtnDirect();
  587. }
  588. }
  589. }
  590. }
  591. })
  592. }
  593. })
  594. .catch(function (resp) {
  595. $scope.loginForm.password = "";
  596. // SweetAlert.swal("系统错误,请重试!", "登录错误", "error");
  597. SweetAlert.swal("用户名或者密码验证失败,请重试!", "error");
  598. });
  599. // })
  600. };
  601. if ($scope.isSSo) {
  602. $scope.handleLoginClick();
  603. }
  604. $scope.handleloginEnter = function (e) {
  605. if (e.keyCode == 13) {
  606. $scope.handleLoginClick();
  607. }
  608. };
  609. $scope.viewType = "password";
  610. $scope.isPassword = true;
  611. $scope.toggleView = function () {
  612. $scope.isPassword = !$scope.isPassword;
  613. $scope.viewType = $scope.isPassword ? "password" : "text";
  614. }
  615. $scope.handleSignOutBtnClick = function () {
  616. $auth.signOut()
  617. .then(function (resp) {
  618. // handle success response
  619. })
  620. .catch(function (resp) {
  621. // handle error response
  622. });
  623. };
  624. }
  625. ]);