瀏覽代碼

修改密码

seimin 1 年之前
父節點
當前提交
900700a0b9

+ 48 - 35
assets/js/controllers/mainCtrl.js

@@ -47,6 +47,10 @@ app.controller('AppCtrl', ['$rootScope', '$scope', '$state', '$translate', '$loc
47
     // 监听路由
47
     // 监听路由
48
     $rootScope.$on('$stateChangeStart', function (event, toState, toParams, fromState, fromParams) {
48
     $rootScope.$on('$stateChangeStart', function (event, toState, toParams, fromState, fromParams) {
49
       console.log(event, toState, toParams, fromState, fromParams)
49
       console.log(event, toState, toParams, fromState, fromParams)
50
+      // 修改密码验证
51
+      // if(toState.name != 'login.signin'){
52
+      //   $rootScope.changepassword();
53
+      // }
50
       if ((toState.name == 'app.incident.chart' || toState.name == 'app.incident.editor') &&
54
       if ((toState.name == 'app.incident.chart' || toState.name == 'app.incident.editor') &&
51
         fromState.name) {
55
         fromState.name) {
52
         console.log($rootScope.jry_state);
56
         console.log($rootScope.jry_state);
@@ -364,8 +368,8 @@ app.controller('AppCtrl', ['$rootScope', '$scope', '$state', '$translate', '$loc
364
             //     $rootScope.imUsrMap[eventName]['msgs']=$rootScope.imUsrMap[eventName]['msgs']||[];
368
             //     $rootScope.imUsrMap[eventName]['msgs']=$rootScope.imUsrMap[eventName]['msgs']||[];
365
             //     angular.forEach(changedDoc.args,function(item){
369
             //     angular.forEach(changedDoc.args,function(item){
366
             //         $rootScope.imUsrMap[eventName].msgs.push(item);
370
             //         $rootScope.imUsrMap[eventName].msgs.push(item);
367
-            //     })                    
368
-            // }                
371
+            //     })
372
+            // }
369
           } else {
373
           } else {
370
 
374
 
371
           }
375
           }
@@ -432,7 +436,7 @@ app.controller('AppCtrl', ['$rootScope', '$scope', '$state', '$translate', '$loc
432
       getMenus();
436
       getMenus();
433
       //console.log(data);
437
       //console.log(data);
434
       //$rootScope.user = data.user;
438
       //$rootScope.user = data.user;
435
-      //$rootScope.menus = data.menu;   
439
+      //$rootScope.menus = data.menu;
436
     });
440
     });
437
 
441
 
438
     //$rootScope.$watch('$auth.user')
442
     //$rootScope.$watch('$auth.user')
@@ -464,7 +468,7 @@ app.controller('AppCtrl', ['$rootScope', '$scope', '$state', '$translate', '$loc
464
     // $rootScope.$on('auth:logout-success', function(ev) {
468
     // $rootScope.$on('auth:logout-success', function(ev) {
465
     //     //alert('goodbye');
469
     //     //alert('goodbye');
466
     //     //delete $rootScope.user;
470
     //     //delete $rootScope.user;
467
-    //     //delete $rootScope.menus;  
471
+    //     //delete $rootScope.menus;
468
     //     $state.go('login.signin');
472
     //     $state.go('login.signin');
469
     // });
473
     // });
470
 
474
 
@@ -500,7 +504,7 @@ app.controller('AppCtrl', ['$rootScope', '$scope', '$state', '$translate', '$loc
500
     //             if(angular.isUndefined(user.id)){
504
     //             if(angular.isUndefined(user.id)){
501
 
505
 
502
     //             }else{
506
     //             }else{
503
-    //                 $rootScope.user = user;                
507
+    //                 $rootScope.user = user;
504
     //             }
508
     //             }
505
     //         }
509
     //         }
506
     //     });
510
     //     });
@@ -519,10 +523,10 @@ app.controller('AppCtrl', ['$rootScope', '$scope', '$state', '$translate', '$loc
519
 
523
 
520
     //                     }else{
524
     //                     }else{
521
     //                         $rootScope.user = data.user;
525
     //                         $rootScope.user = data.user;
522
-    //                         $rootScope.menus = data.menu;  
526
+    //                         $rootScope.menus = data.menu;
523
     //                         $cookieStore.put("userObm", $rootScope.user);
527
     //                         $cookieStore.put("userObm", $rootScope.user);
524
     //                         $cookieStore.put("menuObm", $rootScope.menus);
528
     //                         $cookieStore.put("menuObm", $rootScope.menus);
525
-    //                         $cookieStore.put("session", data.sessionId);  
529
+    //                         $cookieStore.put("session", data.sessionId);
526
     //                     }
530
     //                     }
527
     //                 }
531
     //                 }
528
     //             }
532
     //             }
@@ -536,7 +540,7 @@ app.controller('AppCtrl', ['$rootScope', '$scope', '$state', '$translate', '$loc
536
     $scope.changeWorkId = function () {
540
     $scope.changeWorkId = function () {
537
       event.stopPropagation();
541
       event.stopPropagation();
538
     }
542
     }
539
-    
543
+
540
     $rootScope.getSession = function () {
544
     $rootScope.getSession = function () {
541
       if ($auth.userIsAuthenticated()) {
545
       if ($auth.userIsAuthenticated()) {
542
         return $auth.retrieveData('auth_headers')
546
         return $auth.retrieveData('auth_headers')
@@ -2007,7 +2011,7 @@ app.controller('AppCtrl', ['$rootScope', '$scope', '$state', '$translate', '$loc
2007
         var toData = { 'model': { 'incident': { 'contactsInformation': data.callerIdNumber, 'source': { 'id': 1 } } } }
2011
         var toData = { 'model': { 'incident': { 'contactsInformation': data.callerIdNumber, 'source': { 'id': 1 } } } }
2008
         $state.go('app.incident.title', { 'model': JSON.stringify(toData) });
2012
         $state.go('app.incident.title', { 'model': JSON.stringify(toData) });
2009
       };
2013
       };
2010
-      // ws.send("{\"type\":\"1\",\"phone\":\""+data.phone+"\"}");                 
2014
+      // ws.send("{\"type\":\"1\",\"phone\":\""+data.phone+"\"}");
2011
     }
2015
     }
2012
     //来电号码生成事件
2016
     //来电号码生成事件
2013
     $scope.jry_callToIncident = function (data) {
2017
     $scope.jry_callToIncident = function (data) {
@@ -2084,12 +2088,12 @@ app.controller('AppCtrl', ['$rootScope', '$scope', '$state', '$translate', '$loc
2084
               //       title: "登出成功",
2088
               //       title: "登出成功",
2085
               //       text: "呼叫中心登出成功!",
2089
               //       text: "呼叫中心登出成功!",
2086
               //       type: "success"
2090
               //       type: "success"
2087
-              //     });    
2091
+              //     });
2088
               // }else{SweetAlert.swal({
2092
               // }else{SweetAlert.swal({
2089
               //       title: "登出失败",
2093
               //       title: "登出失败",
2090
               //       text: "呼叫中心登出失败!",
2094
               //       text: "呼叫中心登出失败!",
2091
               //       type: "error"
2095
               //       type: "error"
2092
-              //     });   
2096
+              //     });
2093
             }
2097
             }
2094
           })
2098
           })
2095
         }
2099
         }
@@ -2210,7 +2214,7 @@ app.controller('AppCtrl', ['$rootScope', '$scope', '$state', '$translate', '$loc
2210
       });
2214
       });
2211
 
2215
 
2212
     }
2216
     }
2213
-    $rootScope.changepassword = function (data1, size) {
2217
+    $rootScope.changepassword = function () {
2214
       var modalInstance = $modal.open({
2218
       var modalInstance = $modal.open({
2215
         templateUrl: 'assets/views/changepassword.html',
2219
         templateUrl: 'assets/views/changepassword.html',
2216
         controller: function ($scope, $modalInstance, items, Restangular, SweetAlert) {
2220
         controller: function ($scope, $modalInstance, items, Restangular, SweetAlert) {
@@ -2221,35 +2225,45 @@ app.controller('AppCtrl', ['$rootScope', '$scope', '$state', '$translate', '$loc
2221
             $modalInstance.dismiss('cancel');
2225
             $modalInstance.dismiss('cancel');
2222
             // console.log('pwd=' + pwd + '+' + pwd_2);
2226
             // console.log('pwd=' + pwd + '+' + pwd_2);
2223
             // if(angular.isDefined(pwd)&&angular.isDefined(pwd_2)){
2227
             // if(angular.isDefined(pwd)&&angular.isDefined(pwd_2)){
2224
-            if (pwd == pwd_2) {
2225
-              var data2 = {};
2226
-              data2["originalPwd"] = originalPwd;
2227
-              data2["userid"] = $rootScope.user.id;
2228
-              data2["pwd"] = pwd;
2229
-              api_login.uppwd(data2).then(function (response) {
2230
-                var myData = Restangular.stripRestangular(response);
2231
-                if (myData.status == 200) {
2232
-                  SweetAlert.swal({
2233
-                    title: "保存成功!",
2234
-                    type: "success",
2235
-                    confirmButtonColor: "#007AFF"
2236
-                  });
2237
-                } else {
2238
-                  SweetAlert.swal({
2239
-                    title: "保存失败!",
2240
-                    text: "输入旧密码错误,请重新输入!",
2241
-                    type: "error"
2242
-                  });
2243
-                }
2244
-              })
2245
 
2228
 
2246
-            } else {
2229
+            if (pwd != pwd_2) {
2247
               SweetAlert.swal({
2230
               SweetAlert.swal({
2248
                 title: "两次输入的新密码不相同!",
2231
                 title: "两次输入的新密码不相同!",
2249
                 text: "输入错误,请重新输入!",
2232
                 text: "输入错误,请重新输入!",
2250
                 type: "error"
2233
                 type: "error"
2251
               });
2234
               });
2235
+              return;
2252
             }
2236
             }
2237
+            if (pwd == pwd_2 && !(/^(?=.*[a-z])(?=.*[A-Z])(?=.*\d).{8,20}$/.test(pwd))) {
2238
+              SweetAlert.swal({
2239
+                title: "密码长度8-20位,必须包含大写和小写!",
2240
+                text: "输入错误,请重新输入!",
2241
+                type: "error"
2242
+              });
2243
+              return;
2244
+            }
2245
+            var data2 = {};
2246
+            data2["originalPwd"] = originalPwd;
2247
+            data2["userid"] = $rootScope.user.id;
2248
+            data2["pwd"] = pwd;
2249
+            api_login.uppwd(data2).then(function (response) {
2250
+              var myData = Restangular.stripRestangular(response);
2251
+              if (myData.status == 200) {
2252
+                SweetAlert.swal({
2253
+                  title: '修改成功!',
2254
+                  text: myData.updatePwdMonth > 0 ? "本次修改密码有效期" + myData.updatePwdMonth + "个月" : '',
2255
+                  type: "success",
2256
+                  confirmButtonColor: "#007AFF"
2257
+                });
2258
+              } else {
2259
+                SweetAlert.swal({
2260
+                  title: "修改失败!",
2261
+                  text: "输入旧密码错误,请重新输入!",
2262
+                  type: "error"
2263
+                });
2264
+              }
2265
+            })
2266
+
2253
             // }else{
2267
             // }else{
2254
             //     SweetAlert.swal({
2268
             //     SweetAlert.swal({
2255
             //                     title: "密码不能为空!",
2269
             //                     title: "密码不能为空!",
@@ -2259,7 +2273,6 @@ app.controller('AppCtrl', ['$rootScope', '$scope', '$state', '$translate', '$loc
2259
             // }
2273
             // }
2260
           }
2274
           }
2261
         },
2275
         },
2262
-        size: size,
2263
         resolve: {
2276
         resolve: {
2264
           items: function () {
2277
           items: function () {
2265
             return {
2278
             return {

+ 9 - 0
assets/js/controllers/system/sysconfigCtrl.js

@@ -10,6 +10,10 @@ app.controller("sysconfigCtrl", ["$rootScope", "$scope", "$state", "$timeout", "
10
         var v = parseFloat(e.target.value)?parseFloat(e.target.value):0;
10
         var v = parseFloat(e.target.value)?parseFloat(e.target.value):0;
11
         a.autoCloseIncidentHour.valueconfig  = v > 0 ? v : 0;
11
         a.autoCloseIncidentHour.valueconfig  = v > 0 ? v : 0;
12
     }
12
     }
13
+    a.changeUpdatePwdMonth = function(e){
14
+        var v = parseFloat(e.target.value)?parseFloat(e.target.value):0;
15
+        a.updatePwdMonth.valueconfig  = v > 0 ? v : 0;
16
+    }
13
 
17
 
14
     function convertListToTree(data, treeMap) {
18
     function convertListToTree(data, treeMap) {
15
         var idToNodeMap = {}; //Keeps track of nodes using id as key, for fast lookup
19
         var idToNodeMap = {}; //Keeps track of nodes using id as key, for fast lookup
@@ -199,6 +203,7 @@ app.controller("sysconfigCtrl", ["$rootScope", "$scope", "$state", "$timeout", "
199
         arr.systemConfiguration.push(a.wxIncidentWithCmdb);//是否需要绑定资产
203
         arr.systemConfiguration.push(a.wxIncidentWithCmdb);//是否需要绑定资产
200
         arr.systemConfiguration.push(a.requesterLgoinType);//保修人登录方式
204
         arr.systemConfiguration.push(a.requesterLgoinType);//保修人登录方式
201
         arr.systemConfiguration.push(a.autoCloseIncidentHour);//自动关单小时
205
         arr.systemConfiguration.push(a.autoCloseIncidentHour);//自动关单小时
206
+        arr.systemConfiguration.push(a.updatePwdMonth);//密码强制修改时间
202
         if(a.cifilter_classic){
207
         if(a.cifilter_classic){
203
             a.alarmCategory.valueconfig = a.cifilter_classic.id + '';
208
             a.alarmCategory.valueconfig = a.cifilter_classic.id + '';
204
             arr.systemConfiguration.push(a.alarmCategory);//默认的告警转换分类
209
             arr.systemConfiguration.push(a.alarmCategory);//默认的告警转换分类
@@ -291,6 +296,10 @@ app.controller("sysconfigCtrl", ["$rootScope", "$scope", "$state", "$timeout", "
291
                         v.valueconfig = parseFloat(v.valueconfig)
296
                         v.valueconfig = parseFloat(v.valueconfig)
292
                         a.autoCloseIncidentHour = v;//自动关单小时
297
                         a.autoCloseIncidentHour = v;//自动关单小时
293
                     }
298
                     }
299
+                    if (v.keyconfig == 'updatePwdMonth') {
300
+                        v.valueconfig = parseFloat(v.valueconfig)
301
+                        a.updatePwdMonth = v;//密码强制修改时间
302
+                    }
294
                     if (v.keyconfig == 'alarmCategory') {
303
                     if (v.keyconfig == 'alarmCategory') {
295
                         a.alarmCategory = v;
304
                         a.alarmCategory = v;
296
                         a.try_async_load(null, null, v);
305
                         a.try_async_load(null, null, v);

+ 7 - 1
assets/views/changepassword.html

@@ -29,7 +29,13 @@
29
 									<div class="col-sm-8">
29
 									<div class="col-sm-8">
30
 										<input type="password" placeholder="输入新密码" id="pwd_2" ng-model="pwd_2" class="form-control">
30
 										<input type="password" placeholder="输入新密码" id="pwd_2" ng-model="pwd_2" class="form-control">
31
 									</div>
31
 									</div>
32
-								</div> 
32
+								</div>
33
+								<div class="form-group">
34
+									<label class="col-sm-3 control-label"></label>
35
+									<div class="col-sm-8 red">
36
+										(提示:密码长度8-20位,必须包含大写和小写)
37
+									</div>
38
+								</div>
33
 								<div class="form-group margin-bottom-0">
39
 								<div class="form-group margin-bottom-0">
34
 									<div class="col-sm-offset-5 col-sm-2">
40
 									<div class="col-sm-offset-5 col-sm-2">
35
 										<button class="btn btn-o btn-primary"  ng-disabled="passwordnull(originalPwd,pwd,pwd_2)" ng-click="savepassword(originalPwd,pwd,pwd_2);" type="submit">
41
 										<button class="btn btn-o btn-primary"  ng-disabled="passwordnull(originalPwd,pwd,pwd_2)" ng-click="savepassword(originalPwd,pwd,pwd_2);" type="submit">

+ 8 - 0
assets/views/system/sysconfig.html

@@ -149,6 +149,14 @@
149
                 </div>
149
                 </div>
150
                 <div class="form-group col-sm-6">
150
                 <div class="form-group col-sm-6">
151
                     <label class="col-sm-4 control-label">
151
                     <label class="col-sm-4 control-label">
152
+                        密码强制修改时间:
153
+                    </label>
154
+                    <div class="col-sm-8">
155
+                        <input ng-model="updatePwdMonth.valueconfig" ng-keyup="changeUpdatePwdMonth($event)" class="autoCloseIncidentHour" type="number" step="1" min="0">个月
156
+                    </div>
157
+                </div>
158
+                <div class="form-group col-sm-6">
159
+                    <label class="col-sm-4 control-label">
152
                         是否需要绑定耗材:
160
                         是否需要绑定耗材:
153
                     </label>
161
                     </label>
154
                     <div class="col-sm-8">
162
                     <div class="col-sm-8">