From 705909e14fe4e9f2fc261ee4eb40a8b41fa2f6d4 Mon Sep 17 00:00:00 2001
From: wzp <2880584989@qq.com>
Date: 星期二, 12 七月 2022 17:37:26 +0800
Subject: [PATCH] 增加免密登陆的token

---
 web/web/SysUser.aspx |  257 ++++++++++++++++++++++++++++++++++++++++++++++-----
 1 files changed, 232 insertions(+), 25 deletions(-)

diff --git a/web/web/SysUser.aspx b/web/web/SysUser.aspx
index 8524a6c..baf8456 100644
--- a/web/web/SysUser.aspx
+++ b/web/web/SysUser.aspx
@@ -18,8 +18,10 @@
                         var html = [];
                         $.each(result.Message.Table, function(i) {
                             html.push("<tr>");
-                            html.push("<td>" + this.Account + "</td>");
+                            html.push("<td>" + this.Account + "</td>"); 
                             html.push("<td>" + this.UserName + "</td>");
+                            html.push("<td>" + this.RoleNames + "</td>");
+                            /**
                             if (this.UserType == 1) {
                                 html.push("<td>" + "绠$悊鍛�" + "</td>");
                             }
@@ -43,7 +45,7 @@
                             }
                             else {
                                 html.push("<td>" + "" + "</td>");
-                            }
+                            }**/
 
                             html.push("<td>" + this.Mobile + "</td>");
                             html.push("<td>" + formatFlagIcon(this.MobileFlag) + "</td>");
@@ -57,13 +59,14 @@
                             //html.push("<td>" + (this.Status == 1 ? "<a href='javascript:;' class='btn btn-primary btn-xs action-update-status' data-id=" + this.UserID + " data-status=0 ><i class='fa fa-toggle-off'></i>&nbsp;鍚敤</a>" : "<a href='javascript:;' class='btn btn-default btn-xs action-update-status' data-id=" + this.UserID + " data-status=1 ><i class='fa fa-toggle-on'></i>鍋滅敤</a>") + "</td>");
                             html.push("<td class='text-right' >");
                             if (this.Status == 0) {
-                                html.push("<a href='javascript:;' class='btn btn-primary btn-xs action-update-status' data-id=" + this.UserID + " data-status=1 ><i class='fa fa-toggle-off'></i>鍚敤</a>&nbsp;&nbsp;" );
+                                html.push("<a href='javascript:;' class='btn btn-primary btn-xs action-update-status' data-id=" + this.UserID + " data-status=1 ><i class='fa fa-toggle-off'></i>鍚敤</a>&nbsp;" );
                             }
                             else {
-                                html.push("<a href='javascript:;' class='btn btn-default btn-xs action-update-status' data-id=" + this.UserID + " data-status=0 ><i class='fa fa-toggle-on'></i>鍋滅敤</a>&nbsp;&nbsp;");
+                                html.push("<a href='javascript:;' class='btn btn-default btn-xs action-update-status' data-id=" + this.UserID + " data-status=0 ><i class='fa fa-toggle-on'></i>鍋滅敤</a>&nbsp;");
                             }
-                            html.push("<a href='javascript:;' class='btn btn-success btn-xs action-edit' data-id='" + this.UserID + "'><i class='fa fa-edit'></i>&nbsp;缂栬緫</a>&nbsp;&nbsp;");
-                            html.push("<a href='javascript:;' data-id='" + this.UserID + "' class='action-permission  btn btn-info btn-xs'><i class='fa fa-edit'></i>&nbsp;鏉冮檺</a>&nbsp;&nbsp;");
+                            html.push("<a href='javascript:;' class='btn btn-success btn-xs action-edit' data-id='" + this.UserID + "'><i class='fa fa-edit'></i>&nbsp;缂栬緫</a>&nbsp;");
+                            html.push("<a href='javascript:;' data-id='" + this.Account + "' class='action-modal-updatePwd  btn btn-primary btn-xs'><i class='fa fa-edit'></i>&nbsp;淇敼瀵嗙爜</a>&nbsp;");
+                            html.push("<a href='javascript:;' data-id='" + this.UserID + "' class='action-permission  btn btn-info btn-xs'><i class='fa fa-edit'></i>&nbsp;鏉冮檺</a>&nbsp;");
                             html.push("<a href='javascript:;' data-id='" + this.UserID + "' class='action-delete   btn btn-default btn-xs'><i class='fa fa-trash'></i>&nbsp;鍒犻櫎</a>");
                             html.push("</td>");
                             html.push("</tr>");
@@ -130,6 +133,13 @@
                 var isVerification = $("#userDialog #isVerification").prop("checked");
 
                 var clientIp = $("#userDialog #clientIp").val();
+                var userRoleArray = [];
+                $("#userDialog #_UserRole").each(function () {
+                    if ($(this).is(":checked")) {
+                        userRoleArray.push($(this).val());
+                    }
+                });
+                userType = $.toJSON(userRoleArray);
 
                 $.post("sysuser.ashx", { action: "saveUser", userid: userid, account: account, password: password, userName: userName, userType: userType, mobile: mobile, email: email, mobileFlag: mobileFlag, emailFlag: emailFlag, isVerification: isVerification, clientIp: clientIp },
              function(result) {
@@ -146,13 +156,20 @@
                 $("#userDialog .modal-title").html("鍒涘缓璐︽埛");
                 $("#userDialog").data("id", 0);
                 $("#userDialog #account").val("");
-                $("#userDialog #password").val("");
+                //$("#userDialog #password").val("");
                 $("#userDialog #userName").val("");
-                $("#userDialog #userType").val("");
+                //$("#userDialog #userType").val("");
+                $("#userDialog #_UserRole").iCheck("uncheck");
+
                 $("#userDialog #mobile").val("");
                 $("#userDialog #email").val("");
                 $("#userDialog input[name=isVerification]").iCheck("uncheck");
                 $("#userDialog #clientIp").val("");
+
+                //鍒锋柊涓�娆¢殢鏈哄瘑鐮�
+                $("#userDialog #password").val(randomString(8));
+                $(".pwdCss").show();
+
                 $("#userDialog").modal("show");
             });
 
@@ -164,9 +181,9 @@
                     }
                     else {
                         $("#permissionDialog").data("id", id);
-                        $("#permissionDialog #MenuID").prop("checked", false);
+                        $("#permissionDialog #MenuID").prop("checked", false).attr("disabled", "disabled");
                         $.each(result.Message, function(i) {
-                            $("#permissionDialog #MenuID[value='" + this + "']").prop("checked", true);
+                            $("#permissionDialog #MenuID[value='" + this + "']").prop("checked", true).attr("disabled", "disabled");
                         });
                     }
                     $("#permissionDialog").modal("show");
@@ -221,21 +238,161 @@
                     var user = result.Message;
                     $("#userDialog").data("id", id);
                     $("#userDialog #account").val(user.Account);
-                    $("#userDialog #password").val(user.Password);
+                    //$("#userDialog #password").val(user.Password);
+                    $("#userDialog #password").val("");
+                    //缂栬緫鏃跺瘑鐮佹闅愯棌
+                    $(".pwdCss").hide();
                     $("#userDialog #userName").val(user.UserName);
-                    $("#userDialog #userType").val(user.UserType);
+                    //$("#userDialog #userType").val(user.UserType);
+                    $.get("sysuser.ashx", { action: "arrayStrToDict", "userId": id, "userType": user.UserType  }, function (r) {
+                        if (!r.OK) {
+                            mytek.alert(r.Message, r.OK);
+                        }
+                        else {
+                            $("#userDialog #_UserRole").prop("checked", false);
+                            $.each(r.Message, function (i) {
+                                $("#userDialog #_UserRole[value='" + this + "']").prop("checked", true);
+                            });
+                        }
+                    }, "json");
+
                     $("#userDialog #mobile").val(user.Mobile);
                     $("#userDialog #email").val(user.Email);
                     $("#userDialog #emailFlag").val(user.EmailFlag);
                     $("#userDialog #mobileFlag").val(user.MobileFlag);
                     $("#userDialog #isVerification").iCheck(user.IsVerification == 1 ? "check" : "uncheck");
                     $("#userDialog #clientIp").val(user.ClientIp);
+
                     $("#userDialog").modal("show");
                 }, "json");
             });
 
             loadUserList();
 
+        });
+
+        //鐢熸垚闅忔満鐮�
+        function randomString(len) {
+            len = len || 32;
+            var $chars = 'ABCDEFGHJKMNPQRSTWXYZabcdefhijkmnprstwxyz2345678';    /****榛樿鍘绘帀浜嗗鏄撴贩娣嗙殑瀛楃oOLl,9gq,Vv,Uu,I1****/
+            var maxPos = $chars.length;
+            var pwd = '';
+            for (i = 0; i < len; i++) {
+                pwd += $chars.charAt(Math.floor(Math.random() * maxPos));
+            }
+            return pwd;
+        }
+
+        //娣诲姞绯荤粺璐﹀彿锛氱敓鎴愬瘑鐮�
+        $(document).on("click", ".action-generate-password", function () {
+            $("#password").val(randomString(8));
+        });
+
+        //娣诲姞绯荤粺璐﹀彿锛氬鍒跺瘑鐮�
+        $(document).on("click", ".action-copyPwd", function () {
+            var value = $("#password").val();
+            if (value == "") {
+                mytek.alert("璇风敓鎴愬瘑鐮侊紒");
+                return false;
+            }
+            // for ie
+            if (window.clipboardData) {
+                window.clipboardData.clearData();
+                window.clipboardData.setData('text', value);
+            }
+            // for modern browser
+            else if (document.execCommand) {
+                var element = document.createElement('SPAN');
+                element.textContent = value;
+                document.body.appendChild(element);
+                if (document.selection) {
+                    var range = document.body.createTextRange();
+                    range.moveToElementText(element);
+                    range.select();
+                } else if (window.getSelection) {
+                    var range = document.createRange();
+                    range.selectNode(element);
+                    window.getSelection().removeAllRanges();
+                    window.getSelection().addRange(range);
+                }
+                document.execCommand('copy');
+                element.remove ? element.remove() : element.removeNode(true);
+            }
+            mytek.alert("澶嶅埗鎴愬姛锛�", false);
+
+        });
+
+        //淇敼瀵嗙爜锛氭墦寮�鐣岄潰
+        $(document).on("click", ".action-modal-updatePwd", function () {
+            //$("#updatePwdDialog .modal-title").text("淇敼瀹㈡埛璧勬枡");
+            $("#updatePwdDialog input[name=action]").val("updatePwd");
+            var account = $(this).data("id");
+
+            $("#updatePwdDialog input[name='account']").val(account);
+            $("#updatePwdDialog #newPwd").val("");
+
+            $("#updatePwdDialog").modal("show");
+
+        });
+
+        //淇敼瀵嗙爜锛氱敓鎴愬瘑鐮�
+        $(document).on("click", ".action-generate-newPwd", function () {
+            $("#newPwd").val(randomString(8));
+        });
+
+        //淇敼瀵嗙爜锛氬鍒跺瘑鐮�
+        $(document).on("click", ".action-copyNewPwd", function () {
+            var value = $("#newPwd").val();
+            if (value == "") {
+                mytek.alert("璇风敓鎴愬瘑鐮侊紒");
+                return false;
+            }
+
+            // for ie
+            if (window.clipboardData) {
+                window.clipboardData.clearData();
+                window.clipboardData.setData('text', value);
+            }
+            // for modern browser
+            else if (document.execCommand) {
+                var element = document.createElement('SPAN');
+                element.textContent = value;
+                document.body.appendChild(element);
+                if (document.selection) {
+                    var range = document.body.createTextRange();
+                    range.moveToElementText(element);
+                    range.select();
+                } else if (window.getSelection) {
+                    var range = document.createRange();
+                    range.selectNode(element);
+                    window.getSelection().removeAllRanges();
+                    window.getSelection().addRange(range);
+                }
+                document.execCommand('copy');
+                element.remove ? element.remove() : element.removeNode(true);
+            }
+            mytek.alert("澶嶅埗鎴愬姛锛�", false);
+
+        });
+
+        /**
+        //闈㈡澘椤垫彁浜わ細闅愯棌闈㈡澘锛堢櫧鍚嶅崟锛岄粦鍚嶅崟锛屼慨鏀瑰瘑鐮侊級
+        $("#blackForm, #whiteForm").ajaxForm({
+            success: function (r) {
+                mytek.alert(r.Message, r.OK, function () {
+                    $("#whiteDialog, #blackDialog").modal("hide");
+                });
+            }
+        });
+        **/
+
+        //闈㈡澘椤垫彁浜わ細閲嶆柊鍔犺浇鍒楄〃
+        $("#updatePwdForm").ajaxForm({
+            success: function (r) {
+                mytek.alert(r.Message, r.OK, function () {
+                    r.OK && (window.location.reload());
+                });
+            }
         });
 
     </script>
@@ -260,11 +417,15 @@
                             <input type="text" name="account" id="account" value="" class="form-control" />
                         </div>
                     </div>
-                    <div class="form-group">
+                    <div class="form-group pwdCss">
                         <label class="col-sm-2 control-label">
                             瀵嗙爜 <span style="color:red">*</span></label>
-                        <div class="col-sm-10">
+                        <div class="col-sm-4">
                             <input type="password" name="password" id="password" value="" class="form-control" />
+                        </div>
+                        <div class="col-sm-6">
+                            <a class="btn btn-xs btn-primary action-generate-password ">鐢熸垚瀵嗙爜</a>
+                            <a class="btn btn-xs btn-success action-copyPwd " >澶嶅埗瀵嗙爜</a>
                         </div>
                     </div>
                     <div class="form-group">
@@ -278,17 +439,18 @@
                         <label class="col-sm-2 control-label">
                             璐︽埛绫诲瀷 <span style="color:red">*</span>
                         </label>
-                        <div class="col-sm-4">
+                        <div class="col-sm-10">              
+                            <%=UserRoleList() %>
+                            <!--
                             <select name="userType" id="userType" class="form-control">
                                 <option value=""></option>
                                 <option value="1">绠$悊鍛�</option>
                                 <option value="2">涓氬姟鍛�</option>
-                                <option value="3">涓氬姟涓荤</option>
-                                <option value="4">涓氬姟鎬荤洃</option>
-                                <option value="5">瀹㈡湇浜哄憳</option>
-                                <option value="6">璐㈠姟浜哄憳</option>
-                                <option value="99">鍏朵粬</option>
+                                <option value="3">瀹㈡埛缁忕悊</option>
+                                <option value="4">瀹㈡湇浜哄憳</option>
+                                <option value="5">璐㈠姟浜哄憳</option>
                             </select>
+                            -->
                         </div>
                     </div>
                     <div class="form-group">
@@ -360,7 +522,7 @@
         <div class="modal-dialog">
             <div class="modal-content animated bounceInRight">
                 <div class="modal-header">
-                    <span class="title">璁剧疆璐︽埛鏉冮檺</span><a class="close" data-dismiss="modal" aria-hidden="true">脳</a></div>
+                    <span class="title">鏌ョ湅璐︽埛鏉冮檺</span><a class="close" data-dismiss="modal" aria-hidden="true">脳</a></div>
                 <div class="modal-body">
                    
           <%=RenderFunctionTree() %>
@@ -368,14 +530,58 @@
                 <div class="modal-footer">
                     <button class="btn-default btn" data-dismiss="modal" aria-hidden="true">
                         鍙栨秷</button>&nbsp;&nbsp;
+                    <!--
                     <button class="btn btn-primary action-update-permission">
                         淇濆瓨</button>
+                    -->
                 </div>
             </div>
         </div>
     </div>
-    <form name="DefaultForm" method="post" action="GwSpUpdate.aspx" id="DefaultForm">
-    <div class="listCanvas">
+
+    
+    <!--閲嶇疆瀵嗙爜鎴栦慨鏀瑰瘑鐮� -->
+    <div class="modal inmodal fade" id="updatePwdDialog" tabindex="-1" role="dialog" aria-hidden="true">
+        <form name="updatePwdForm" method="post" action="sysuser.ashx?action=updatePwd" id="updatePwdForm"
+            class="form-horizontal">
+            <div class="modal-dialog modal-lg">
+                <div class="modal-content ">
+                    <div class="modal-header">
+                        <button type="button" class="close" data-dismiss="modal">
+                            <span aria-hidden="true">&times;</span><span class="sr-only">Close</span></button>
+                        <h4 class="modal-title">绯荤粺璐﹀彿瀵嗙爜淇敼
+                        </h4>
+                        璇峰厛鎵ц銆愮敓鎴愬瘑鐮併�戝悗锛屽啀鎵ц銆愬鍒跺瘑鐮併�戙��
+                    </div>
+                    <div class="modal-body">
+                        <input type="hidden" value="" name="account" />
+                        <div class="form-group">
+                            <label class="control-label  col-sm-2">
+                                鐧诲綍瀵嗙爜 <span style="color:red">*</span>
+                            </label>
+                            <div class="col-sm-4">
+                                <input type="password" name="newPwd" id="newPwd" value="" class="form-control" />
+                            </div>
+                            <div class="col-sm-6">
+                                <a class="btn btn-xs btn-primary action-generate-newPwd ">鐢熸垚瀵嗙爜</a>
+                                <a class="btn btn-xs btn-success action-copyNewPwd " >澶嶅埗瀵嗙爜</a>
+                            </div>
+                        </div>
+                    </div>
+                    <div class="modal-footer">
+                        <button class="btn btn-warning" data-dismiss="modal" aria-hidden="true">
+                            鍙栨秷</button>&nbsp;&nbsp;
+                    <button class="btn btn-primary action-save-pwd">
+                        淇濆瓨</button>
+                    </div>
+                </div>
+            </div>
+        </form>
+    </div>
+
+    <!--form name="DefaultForm" method="post" action="GwSpUpdate.aspx" id="DefaultForm" -->
+    <div class="listCanvas">        
+        <button class="btn btn-warning action-create "> 鍒涘缓璐︽埛</button>
         <table id="mainTable" class="table table-striped table-bordered table-hover">
             <thead>
                 <tr>
@@ -412,7 +618,7 @@
                     <th>
                         鐘舵��
                     </th>
-                    <th style="width: 240px;">
+                    <th style="width: 320px;">
                         鎿嶄綔
                     </th>
                 </tr>
@@ -423,7 +629,7 @@
     </div>
     <div id="pagination">
     </div>
-    </form>
+    <!--
     <div class="row">
         <div class="col-sm-7">
             <div class="ibox float-e-margins">
@@ -432,6 +638,7 @@
             </div>
         </div>
     </div>
+    -->
     <div>
         <h5>
         </h5>

--
Gitblit v1.9.1