Browse Source

修改密码

seimin 1 year ago
parent
commit
900700a0b9

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

@@ -47,6 +47,10 @@ app.controller('AppCtrl', ['$rootScope', '$scope', '$state', '$translate', '$loc
47 47
     // 监听路由
48 48
     $rootScope.$on('$stateChangeStart', function (event, toState, toParams, fromState, fromParams) {
49 49
       console.log(event, toState, toParams, fromState, fromParams)
50
+      // 修改密码验证
51
+      // if(toState.name != 'login.signin'){
52
+      //   $rootScope.changepassword();
53
+      // }
50 54
       if ((toState.name == 'app.incident.chart' || toState.name == 'app.incident.editor') &&
51 55
         fromState.name) {
52 56
         console.log($rootScope.jry_state);
@@ -364,8 +368,8 @@ app.controller('AppCtrl', ['$rootScope', '$scope', '$state', '$translate', '$loc
364 368
             //     $rootScope.imUsrMap[eventName]['msgs']=$rootScope.imUsrMap[eventName]['msgs']||[];
365 369
             //     angular.forEach(changedDoc.args,function(item){
366 370
             //         $rootScope.imUsrMap[eventName].msgs.push(item);
367
-            //     })                    
368
-            // }                
371
+            //     })
372
+            // }
369 373
           } else {
370 374
 
371 375
           }
@@ -432,7 +436,7 @@ app.controller('AppCtrl', ['$rootScope', '$scope', '$state', '$translate', '$loc
432 436
       getMenus();
433 437
       //console.log(data);
434 438
       //$rootScope.user = data.user;
435
-      //$rootScope.menus = data.menu;   
439
+      //$rootScope.menus = data.menu;
436 440
     });
437 441
 
438 442
     //$rootScope.$watch('$auth.user')
@@ -464,7 +468,7 @@ app.controller('AppCtrl', ['$rootScope', '$scope', '$state', '$translate', '$loc
464 468
     // $rootScope.$on('auth:logout-success', function(ev) {
465 469
     //     //alert('goodbye');
466 470
     //     //delete $rootScope.user;
467
-    //     //delete $rootScope.menus;  
471
+    //     //delete $rootScope.menus;
468 472
     //     $state.go('login.signin');
469 473
     // });
470 474
 
@@ -500,7 +504,7 @@ app.controller('AppCtrl', ['$rootScope', '$scope', '$state', '$translate', '$loc
500 504
     //             if(angular.isUndefined(user.id)){
501 505
 
502 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 524
     //                     }else{
521 525
     //                         $rootScope.user = data.user;
522
-    //                         $rootScope.menus = data.menu;  
526
+    //                         $rootScope.menus = data.menu;
523 527
     //                         $cookieStore.put("userObm", $rootScope.user);
524 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 540
     $scope.changeWorkId = function () {
537 541
       event.stopPropagation();
538 542
     }
539
-    
543
+
540 544
     $rootScope.getSession = function () {
541 545
       if ($auth.userIsAuthenticated()) {
542 546
         return $auth.retrieveData('auth_headers')
@@ -2007,7 +2011,7 @@ app.controller('AppCtrl', ['$rootScope', '$scope', '$state', '$translate', '$loc
2007 2011
         var toData = { 'model': { 'incident': { 'contactsInformation': data.callerIdNumber, 'source': { 'id': 1 } } } }
2008 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 2017
     $scope.jry_callToIncident = function (data) {
@@ -2084,12 +2088,12 @@ app.controller('AppCtrl', ['$rootScope', '$scope', '$state', '$translate', '$loc
2084 2088
               //       title: "登出成功",
2085 2089
               //       text: "呼叫中心登出成功!",
2086 2090
               //       type: "success"
2087
-              //     });    
2091
+              //     });
2088 2092
               // }else{SweetAlert.swal({
2089 2093
               //       title: "登出失败",
2090 2094
               //       text: "呼叫中心登出失败!",
2091 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 2218
       var modalInstance = $modal.open({
2215 2219
         templateUrl: 'assets/views/changepassword.html',
2216 2220
         controller: function ($scope, $modalInstance, items, Restangular, SweetAlert) {
@@ -2221,35 +2225,45 @@ app.controller('AppCtrl', ['$rootScope', '$scope', '$state', '$translate', '$loc
2221 2225
             $modalInstance.dismiss('cancel');
2222 2226
             // console.log('pwd=' + pwd + '+' + pwd_2);
2223 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 2230
               SweetAlert.swal({
2248 2231
                 title: "两次输入的新密码不相同!",
2249 2232
                 text: "输入错误,请重新输入!",
2250 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 2267
             // }else{
2254 2268
             //     SweetAlert.swal({
2255 2269
             //                     title: "密码不能为空!",
@@ -2259,7 +2273,6 @@ app.controller('AppCtrl', ['$rootScope', '$scope', '$state', '$translate', '$loc
2259 2273
             // }
2260 2274
           }
2261 2275
         },
2262
-        size: size,
2263 2276
         resolve: {
2264 2277
           items: function () {
2265 2278
             return {

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

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

+ 7 - 1
assets/views/changepassword.html

@@ -29,7 +29,13 @@
29 29
 									<div class="col-sm-8">
30 30
 										<input type="password" placeholder="输入新密码" id="pwd_2" ng-model="pwd_2" class="form-control">
31 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 39
 								<div class="form-group margin-bottom-0">
34 40
 									<div class="col-sm-offset-5 col-sm-2">
35 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 149
                 </div>
150 150
                 <div class="form-group col-sm-6">
151 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 161
                     </label>
154 162
                     <div class="col-sm-8">