From 6a3d1f8ab19830adde3a653f48f89fd7c88afbde Mon Sep 17 00:00:00 2001 From: yzh <snbbt@21cn.com> Date: 星期五, 13 五月 2022 16:03:59 +0800 Subject: [PATCH] 代理商功能优化 产品功能优化 增加产品分类功能 用户功能优化 --- web/web/Bin/Dao.dll | 0 web/Model/obj/Debug/Model.pdb | 0 web/Dao/obj/Debug/Dao.dll | 0 web/Model/obj/Debug/Model.dll | 0 web/Dao/obj/Debug/Dao.csproj.AssemblyReference.cache | 0 web/Lib/Model.dll | 0 web/web/GwProduct.aspx | 35 ++- web/web/Bin/Dao.pdb | 0 web/web/GwProduct.ashx | 90 ++++++- web/Lib/Model.pdb | 0 web/Model/Model/SysUser.cs | 4 web/web/GwClient.aspx.cs | 49 ++++ web/Dao/obj/Debug/Dao.pdb | 0 web/Lib/Dao.dll | 0 web/web/Index.aspx | 1 web/web/GwClient.ashx | 67 +++++ web/web/SysUser.aspx | 52 ++++ web/web/Bin/Model.pdb | 0 web/.vs/Web/v16/.suo | 0 web/Dao/UserDao.cs | 34 ++ web/UMCLib/obj/Debug/UMCLib.csproj.AssemblyReference.cache | 0 web/web/GwClient.aspx | 40 +++ web/web/GwProduct.aspx.cs | 4 web/web/SysUser.ashx | 284 ++++++++++++++----------- web/Model/obj/Debug/Model.csproj.AssemblyReference.cache | 0 web/web/Bin/Model.dll | 0 web/Lib/Dao.pdb | 0 27 files changed, 484 insertions(+), 176 deletions(-) diff --git a/web/.vs/Web/v16/.suo b/web/.vs/Web/v16/.suo index 9291d3a..31623f2 100644 --- a/web/.vs/Web/v16/.suo +++ b/web/.vs/Web/v16/.suo Binary files differ diff --git a/web/Dao/UserDao.cs b/web/Dao/UserDao.cs index a049159..e973d65 100644 --- a/web/Dao/UserDao.cs +++ b/web/Dao/UserDao.cs @@ -130,6 +130,7 @@ e.UserID = oracleReaderWrapper.GetInt("USER_ID", 0); e.Account = oracleReaderWrapper.GetString("ACCOUNT", ""); e.Password = oracleReaderWrapper.GetString("PASSWORD", ""); + e.UserName = oracleReaderWrapper.GetString("USER_NAME", ""); e.ExpireTime = oracleReaderWrapper.GetDateTime("EXPIRE_TIME"); e.CreateTime = oracleReaderWrapper.GetDateTime("CREATE_TIME"); e.Remark = oracleReaderWrapper.GetString("REMARK", ""); @@ -141,6 +142,7 @@ e.IsEncryption = oracleReaderWrapper.GetInt("ISENCRYPTION", 0); e.IsVerification = oracleReaderWrapper.GetInt("ISVERIFICATION", 0); e.ClientIp = oracleReaderWrapper.GetString("CLIENTIP", ""); + e.Status = oracleReaderWrapper.GetInt("STATUS", 0); return true; } @@ -197,14 +199,42 @@ return Convert.ToInt32(OracleHelper.ExecuteScalar("select COUNT(*) from SYS_USER WHERE ACCOUNT=:ACCOUNT", OracleHelper.Connection, new OracleParameter(":ACCOUNT", (object)account))) > 0; } + public bool UserNameExists(string userName, int userId)//鏌ヨ鐢ㄦ埛鍚嶇О + { + //return Convert.ToInt32(OracleHelper.ExecuteScalar("select COUNT(*) from SYS_USER WHERE USER_NAME=:USER_NAME AND USER_ID!=:USER_ID", OracleHelper.Connection, new OracleParameter(":USER_NAME", (object)userName), new OracleParameter(":USER_ID", (object)userId))) > 0; + + using (OracleDataReader reader = OracleHelper.ExecuteReader("select * from SYS_USER WHERE USER_NAME=:USER_NAME ", OracleHelper.Connection, new OracleParameter(":USER_NAME", (object)userName) )) + { + while (((DbDataReader)reader).Read()) + { + SysUser e = new SysUser(); + if (this.ReadInfo(reader, e)) + { + if(e.UserID!= userId) + { + return true; + } + } + } + } + + return false; + } + public bool Update(SysUser o)//淇敼璐﹀彿 { - return OracleHelper.ExecuteSql("update SYS_USER SET ACCOUNT=:ACCOUNT,PASSWORD=:PASSWORD,EXPIRE_TIME=:EXPIRE_TIME,REMARK=:REMARK,MOBILE=:MOBILE,EMAIL=:EMAIL,MOBILE_FLAG=:MOBILE_FLAG,EMAIL_FLAG=:EMAIL_FLAG,ISENCRYPTION=:ISENCRYPTION,ISVERIFICATION=:ISVERIFICATION,CLIENTIP=:CLIENTIP,CREATE_TIME=:CREATE_TIME WHERE USER_ID=:USER_ID", OracleHelper.Connection, new OracleParameter(":ACCOUNT", (object)o.Account), new OracleParameter(":PASSWORD", (object)o.Password), new OracleParameter(":EXPIRE_TIME", (object)o.ExpireTime), new OracleParameter(":REMARK", (object)o.Remark), new OracleParameter(":USER_ID", (object)o.UserID), new OracleParameter(":MOBILE", (object)o.Mobile), new OracleParameter(":EMAIL", (object)o.Email), new OracleParameter(":MOBILE_FLAG", (object)o.MobileFlag), new OracleParameter(":EMAIL_FLAG", (object)o.EmailFlag), new OracleParameter(":ISENCRYPTION", (object)o.IsEncryption), new OracleParameter(":ISVERIFICATION", (object)o.IsVerification), new OracleParameter(":CLIENTIP", (object)o.ClientIp), new OracleParameter(":CREATE_TIME", (object)o.CreateTime)) > 0; + return OracleHelper.ExecuteSql("update SYS_USER SET ACCOUNT=:ACCOUNT,PASSWORD=:PASSWORD,USER_NAME=:USER_NAME,EXPIRE_TIME=:EXPIRE_TIME,REMARK=:REMARK,MOBILE=:MOBILE,EMAIL=:EMAIL,MOBILE_FLAG=:MOBILE_FLAG,EMAIL_FLAG=:EMAIL_FLAG,ISENCRYPTION=:ISENCRYPTION,ISVERIFICATION=:ISVERIFICATION,CLIENTIP=:CLIENTIP,CREATE_TIME=:CREATE_TIME WHERE USER_ID=:USER_ID", OracleHelper.Connection, new OracleParameter(":ACCOUNT", (object)o.Account), new OracleParameter(":PASSWORD", (object)o.Password), new OracleParameter(":USER_NAME", (object)o.UserName), new OracleParameter(":EXPIRE_TIME", (object)o.ExpireTime), new OracleParameter(":REMARK", (object)o.Remark), new OracleParameter(":USER_ID", (object)o.UserID), new OracleParameter(":MOBILE", (object)o.Mobile), new OracleParameter(":EMAIL", (object)o.Email), new OracleParameter(":MOBILE_FLAG", (object)o.MobileFlag), new OracleParameter(":EMAIL_FLAG", (object)o.EmailFlag), new OracleParameter(":ISENCRYPTION", (object)o.IsEncryption), new OracleParameter(":ISVERIFICATION", (object)o.IsVerification), new OracleParameter(":CLIENTIP", (object)o.ClientIp), new OracleParameter(":CREATE_TIME", (object)o.CreateTime) ) > 0; + } + + //鏇存柊鐘舵�� + public bool UpdateStatus(SysUser o)//淇敼璐﹀彿 + { + return OracleHelper.ExecuteSql("update SYS_USER SET STATUS=:STATUS WHERE USER_ID=:USER_ID", OracleHelper.Connection, new OracleParameter(":USER_ID", (object)o.UserID), new OracleParameter(":STATUS", (object)o.Status)) > 0; } public bool Add(SysUser e)//娣诲姞璐﹀彿 { - return OracleHelper.ExecuteSql("INSERT INTO SYS_USER(USER_ID,ACCOUNT,PASSWORD,EXPIRE_TIME,REMARK,MOBILE,EMAIL,MOBILE_FLAG,EMAIL_FLAG,ISENCRYPTION,ISVERIFICATION,CLIENTIP,CREATE_TIME) VALUES(SYS_USER_ID_SEQ.NextVal,:ACCOUNT,:PASSWORD,:EXPIRE_TIME,:REMARK,:MOBILE,:EMAIL,:MOBILE_FLAG,:EMAIL_FLAG,:ISENCRYPTION,:ISVERIFICATION,:CLIENTIP,:CREATE_TIME)", OracleHelper.Connection, new OracleParameter(":ACCOUNT", (object)e.Account), new OracleParameter(":PASSWORD", (object)e.Password), new OracleParameter(":EXPIRE_TIME", (object)e.ExpireTime), new OracleParameter(":REMARK", (object)e.Remark), new OracleParameter(":MOBILE", (object)e.Mobile), new OracleParameter(":EMAIL", (object)e.Email), new OracleParameter(":MOBILE_FLAG", (object)e.MobileFlag), new OracleParameter(":EMAIL_FLAG", (object)e.EmailFlag), new OracleParameter(":ISENCRYPTION", (object)e.IsEncryption), new OracleParameter(":ISVERIFICATION", (object)e.IsVerification), new OracleParameter(":CLIENTIP", (object)e.ClientIp), new OracleParameter(":CREATE_TIME", (object)e.CreateTime)) > 0; + return OracleHelper.ExecuteSql("INSERT INTO SYS_USER(USER_ID,ACCOUNT,PASSWORD, USER_NAME, EXPIRE_TIME,REMARK,MOBILE,EMAIL,MOBILE_FLAG,EMAIL_FLAG,ISENCRYPTION,ISVERIFICATION,CLIENTIP,CREATE_TIME, STATUS) VALUES(SYS_USER_ID_SEQ.NextVal,:ACCOUNT,:PASSWORD, :USER_NAME,:EXPIRE_TIME,:REMARK,:MOBILE,:EMAIL,:MOBILE_FLAG,:EMAIL_FLAG,:ISENCRYPTION,:ISVERIFICATION,:CLIENTIP,:CREATE_TIME, :STATUS)", OracleHelper.Connection, new OracleParameter(":ACCOUNT", (object)e.Account), new OracleParameter(":PASSWORD", (object)e.Password), new OracleParameter(":USER_NAME", (object)e.UserName), new OracleParameter(":EXPIRE_TIME", (object)e.ExpireTime), new OracleParameter(":REMARK", (object)e.Remark), new OracleParameter(":MOBILE", (object)e.Mobile), new OracleParameter(":EMAIL", (object)e.Email), new OracleParameter(":MOBILE_FLAG", (object)e.MobileFlag), new OracleParameter(":EMAIL_FLAG", (object)e.EmailFlag), new OracleParameter(":ISENCRYPTION", (object)e.IsEncryption), new OracleParameter(":ISVERIFICATION", (object)e.IsVerification), new OracleParameter(":CLIENTIP", (object)e.ClientIp), new OracleParameter(":CREATE_TIME", (object)e.CreateTime), new OracleParameter(":STATUS", (object)e.Status)) > 0; } public bool UpdatePassword(int userID, string oldPassword, string newPassword) diff --git a/web/Dao/obj/Debug/Dao.csproj.AssemblyReference.cache b/web/Dao/obj/Debug/Dao.csproj.AssemblyReference.cache index bddb077..6473010 100644 --- a/web/Dao/obj/Debug/Dao.csproj.AssemblyReference.cache +++ b/web/Dao/obj/Debug/Dao.csproj.AssemblyReference.cache Binary files differ diff --git a/web/Dao/obj/Debug/Dao.dll b/web/Dao/obj/Debug/Dao.dll index 2f2838e..eebe2f1 100644 --- a/web/Dao/obj/Debug/Dao.dll +++ b/web/Dao/obj/Debug/Dao.dll Binary files differ diff --git a/web/Dao/obj/Debug/Dao.pdb b/web/Dao/obj/Debug/Dao.pdb index a30e763..ba096d7 100644 --- a/web/Dao/obj/Debug/Dao.pdb +++ b/web/Dao/obj/Debug/Dao.pdb Binary files differ diff --git a/web/Lib/Dao.dll b/web/Lib/Dao.dll index 2f2838e..eebe2f1 100644 --- a/web/Lib/Dao.dll +++ b/web/Lib/Dao.dll Binary files differ diff --git a/web/Lib/Dao.pdb b/web/Lib/Dao.pdb index a30e763..ba096d7 100644 --- a/web/Lib/Dao.pdb +++ b/web/Lib/Dao.pdb Binary files differ diff --git a/web/Lib/Model.dll b/web/Lib/Model.dll index 26230f0..0e02822 100644 --- a/web/Lib/Model.dll +++ b/web/Lib/Model.dll Binary files differ diff --git a/web/Lib/Model.pdb b/web/Lib/Model.pdb index 8b3f111..b86b743 100644 --- a/web/Lib/Model.pdb +++ b/web/Lib/Model.pdb Binary files differ diff --git a/web/Model/Model/SysUser.cs b/web/Model/Model/SysUser.cs index c343d7b..67b6a91 100644 --- a/web/Model/Model/SysUser.cs +++ b/web/Model/Model/SysUser.cs @@ -14,6 +14,8 @@ public string Password { get; set; } + public string UserName { get; set; } + public DateTime ExpireTime { get; set; } public DateTime CreateTime { get; set; } @@ -36,6 +38,8 @@ public string ClientIp { get; set; } + public int Status { get; set; } + public Dictionary<string, SysUserMenu> MenuIDList { get; set; } public bool HasRight(string code) diff --git a/web/Model/obj/Debug/Model.csproj.AssemblyReference.cache b/web/Model/obj/Debug/Model.csproj.AssemblyReference.cache index 659dda6..f5e894a 100644 --- a/web/Model/obj/Debug/Model.csproj.AssemblyReference.cache +++ b/web/Model/obj/Debug/Model.csproj.AssemblyReference.cache Binary files differ diff --git a/web/Model/obj/Debug/Model.dll b/web/Model/obj/Debug/Model.dll index 26230f0..0e02822 100644 --- a/web/Model/obj/Debug/Model.dll +++ b/web/Model/obj/Debug/Model.dll Binary files differ diff --git a/web/Model/obj/Debug/Model.pdb b/web/Model/obj/Debug/Model.pdb index 8b3f111..b86b743 100644 --- a/web/Model/obj/Debug/Model.pdb +++ b/web/Model/obj/Debug/Model.pdb Binary files differ diff --git a/web/UMCLib/obj/Debug/UMCLib.csproj.AssemblyReference.cache b/web/UMCLib/obj/Debug/UMCLib.csproj.AssemblyReference.cache index bf88f7e..519d9ba 100644 --- a/web/UMCLib/obj/Debug/UMCLib.csproj.AssemblyReference.cache +++ b/web/UMCLib/obj/Debug/UMCLib.csproj.AssemblyReference.cache Binary files differ diff --git a/web/web/Bin/Dao.dll b/web/web/Bin/Dao.dll index 2f2838e..eebe2f1 100644 --- a/web/web/Bin/Dao.dll +++ b/web/web/Bin/Dao.dll Binary files differ diff --git a/web/web/Bin/Dao.pdb b/web/web/Bin/Dao.pdb index a30e763..ba096d7 100644 --- a/web/web/Bin/Dao.pdb +++ b/web/web/Bin/Dao.pdb Binary files differ diff --git a/web/web/Bin/Model.dll b/web/web/Bin/Model.dll index 26230f0..0e02822 100644 --- a/web/web/Bin/Model.dll +++ b/web/web/Bin/Model.dll Binary files differ diff --git a/web/web/Bin/Model.pdb b/web/web/Bin/Model.pdb index 8b3f111..b86b743 100644 --- a/web/web/Bin/Model.pdb +++ b/web/web/Bin/Model.pdb Binary files differ diff --git a/web/web/GwClient.ashx b/web/web/GwClient.ashx index 151e4be..ba332cc 100644 --- a/web/web/GwClient.ashx +++ b/web/web/GwClient.ashx @@ -15,6 +15,10 @@ public class GwClientHandler : PageHandler<Model.SysUser> { + + private UserDao _SysUserDao = new UserDao(); + private List<SysUser> _SysUserList; + public override JsonPageResult ProcessRequestInternal(PageContext<Model.SysUser> context) { string action = context.GetString("action"); @@ -91,7 +95,9 @@ } //edit:yangzh by 20220511 //str += @"<tr ><td>" + item.ClientID + "</td><td>" + item.Company + "</td><td>" + item.ClientName + "</td><td>" + item.Telephone + "</td><td>" + item.Top_up_Amount_Total + "鍏�</td><td>" + item.Agent + "</td><td>" + Certification_StatusResult + "</td>"; - str += @"<tr ><td>" + item.ClientID + "</td><td>" + item.Company + "</td><td>" + item.ClientName + "</td><td>" + item.Telephone + "</td><td>" + item.Balance/1000 + "鍏�</td><td>" + item.Top_up_Amount_Total/1000 + "鍏�</td><td>" + item.Agent + "</td><td>" + Certification_StatusResult + "</td>"; + //str += @"<tr ><td>" + item.ClientID + "</td><td>" + item.Company + "</td><td>" + item.ClientName + "</td><td>" + item.Telephone + "</td><td>" + item.Balance/1000 + "鍏�</td><td>" + item.Top_up_Amount_Total/1000 + "鍏�</td><td>" + item.Agent + "</td><td>" + Certification_StatusResult + "</td>"; + str += @"<tr ><td>" + item.ClientID + "</td><td>" + item.Company + "</td><td>" + item.ClientName + "</td><td>" + item.Telephone + "</td><td>" + item.Balance/1000 + "鍏�</td><td>" + item.Top_up_Amount_Total/1000 + "鍏�</td><td>" + SysUserName(string.IsNullOrEmpty(item.Agent)? 0: int.Parse(item.Agent) ) + "</td><td>" + Certification_StatusResult + "</td>"; + str += @"<td>"; string loginStr = "http://" + serverIp + ":" + clientPort + "/Attachedlogin.aspx?action=Attachedlogin&account=" + item.Account + "&password=" + item.Password; @@ -264,13 +270,26 @@ throw new ArgumentException("鑱旂郴浜�/鑱旂郴鐢佃瘽锛屼笉鑳戒负绌猴紒"); } + string savePassword = ""; + if (!string.IsNullOrEmpty(clientID)) + { + GwClient gwClient = this._Dao.Get(clientID); + savePassword = (gwClient.Password == password ? gwClient.Password : DataHelper.MD5Hex(password) ); + } + else + { + savePassword = DataHelper.MD5Hex(password); + } + var client = new Model.GwClient(); client.Id = id; client.ClientID = clientID; client.Company = company; - client.Password = password; + //client.Password = password; + client.Password = savePassword; + client.ClientName = clientName; client.Address = address; client.Remark = remark; @@ -313,6 +332,11 @@ if (string.IsNullOrEmpty(password) || !System.Text.RegularExpressions.Regex.IsMatch(password, @"[a-zA-Z0-9]{4,10}")) { throw new ArgumentException("瀹㈡埛瀵嗙爜涓嶈兘涓虹┖锛屼笖蹇呴』涓�4-10浣嶈嫳鏂囨垨鏁板瓧瀛楃缁勫悎锛�"); + } + + if (string.IsNullOrEmpty(clientName) || string.IsNullOrEmpty(telephone)) + { + throw new ArgumentException("鑱旂郴浜�/鑱旂郴鐢佃瘽锛屼笉鑳戒负绌猴紒"); } //if (string.IsNullOrEmpty(clientName)) @@ -362,8 +386,14 @@ return new JsonPageResult(false, "涓婁紶鍥剧墖澶勭悊寮傚父锛�" + ex.Message); } } + else + { + throw new ArgumentException("鏂囦欢鏍煎紡閿欒锛岃纭鏄惁涓簀pg|jpeg|gif|png銆�"); + } } + //瀵嗙爜鍔犲瘑 + password = DataHelper.MD5Hex(password); var client = new Model.GwClient(); client.ClientID = clientID; @@ -400,6 +430,39 @@ return new JsonPageResult(true, "鍒涘缓璐︽埛鎴愬姛锛�"); } + + + + //鑾峰彇绠$悊绔处鎴峰垪琛� + private List<SysUser> SysUserList + { + get + { + if (this._SysUserList == null) + { + + using (UserDao sysUserDao = new UserDao()) + { + int recordCount = 0; + int int1 = 999999999; + int int2 = 1; + this._SysUserList = sysUserDao.LoadInfoList(out recordCount, int1, int2); + } + } + return this._SysUserList; + } + } + + //绠$悊绔处鎴峰悕绉� + private string SysUserName(int userId) + { + if (this.SysUserList == null) + return string.Empty; + SysUser sysUser = this._SysUserList.Find((Predicate<SysUser>)(bean => bean.UserID == userId)); + if (sysUser != null) + return string.Format("{0}-{1}", (object)sysUser.UserID, (object)sysUser.UserName); + return string.Empty; + } } diff --git a/web/web/GwClient.aspx b/web/web/GwClient.aspx index 7218cb1..20a576e 100644 --- a/web/web/GwClient.aspx +++ b/web/web/GwClient.aspx @@ -56,7 +56,21 @@ $("#clientDialog .modal-title").text("鍒涘缓瀹㈡埛璐︽埛"); $("#clientDialog input").attr("readonly", false); $("#clientDialog input[name=action]").val("save"); + + //$("#clientDialog #id").val(""); + $("#clientDialog #clientID").val(""); + $("#clientDialog #company").val(""); + $("#clientDialog #clientName").val(""); + $("#clientDialog #agent").val(""); + $("#clientDialog #address").val(""); + $("#clientDialog #telephone").val(""); + $("#clientDialog #remark").val(""); + $("#clientDialog input[name=permissionData]").iCheck("uncheck"); + $("#clientDialog").modal("show"); + + $("#password").val(randomString(8)); + }); $(document).on("click", ".action-generate-password", function () { @@ -238,7 +252,7 @@ <div class="modal-body"> <div class="form-group"> <label class="control-label col-sm-2"> - 鐧诲綍璐︽埛 + 鐧诲綍璐︽埛 <span style="color:red">*</span> </label> <div class="col-sm-4"> <input type="text" name="clientID" id="clientID" value="" class="form-control" /> @@ -259,7 +273,7 @@ <div class="form-group"> <label class="control-label col-sm-2"> - 鐧诲綍瀵嗙爜 + 鐧诲綍瀵嗙爜 <span style="color:red">*</span> </label> <div class="col-sm-4"> <input type="text" name="password" id="password" value="123456" class="form-control" /> @@ -270,14 +284,15 @@ </div> <div class="form-group"> <label class="control-label col-sm-2"> - 鑱旂郴浜�</label> + 鑱旂郴浜� <span style="color:red">*</span> + </label> <div class="col-sm-4"> <input type="text" name="clientName" id="clientName" value="" class="form-control" /> </div> </div> <div class="form-group "> <label class="control-label col-sm-2"> - 鑱旂郴鐢佃瘽 + 鑱旂郴鐢佃瘽 <span style="color:red">*</span> </label> <div class="col-sm-4"> <input type="text" name="telephone" id="telephone" value="" class="form-control" /> @@ -291,6 +306,7 @@ <input type="text" name="address" id="address" value="" class="form-control" /> </div> </div> + <!-- <div class="form-group"> <label class="control-label col-sm-2"> 褰掑睘涓氬姟鍛� @@ -299,22 +315,36 @@ <input type="text" name="agent" id="agent" value="" class="form-control" /> </div> </div> + --> + <div class="form-group"> + <label class="control-label col-sm-2"> + 褰掑睘涓氬姟鍛� + </label> + <div class="col-sm-4"> + <select name="agent" id="agent" class="form-control"> + <%=SysUserOptions(0)%> + </select> + </div> + </div> + <!-- <div class="form-group"> <label class="control-label col-sm-2">钀ヤ笟鎵х収</label> <div class="col-sm-4"> <input type="file" name="txt_file" id="txt_file" class="file-loading" /> </div> </div> - + --> <div class="form-group"> <label class="control-label col-sm-2"> 鏉冮檺绠$悊 </label> <div class="col-sm-10"> <input type="checkbox" class="icheck-me" value="GwClientList.aspx" name="permissionData" />浠g悊鍟嗙鐞�(*鏄惁鏀寔鍒涘缓涓嬬骇浠g悊) + <!-- <input type="checkbox" class="icheck-me" value="LgSmsDetailReport.aspx" name="permissionData" />鏌ョ湅鐘舵�佹姤鍛� <input type="checkbox" class="icheck-me" value="1" name="permissionData" />鍙戦�佹潈闄� <input type="checkbox" class="icheck-me" value="2" name="permissionData" />鏌ョ湅鏁版嵁鏉冮檺 + --> </div> </div> <div class="form-group"> diff --git a/web/web/GwClient.aspx.cs b/web/web/GwClient.aspx.cs index 0cb9c4f..4acc808 100644 --- a/web/web/GwClient.aspx.cs +++ b/web/web/GwClient.aspx.cs @@ -5,12 +5,59 @@ using System.Web; using System.Web.Profile; using System.Web.SessionState; +using Dao; +using System.Collections.Generic; +using System.Text; public partial class _GwClient : PageBase<SysUser>, IRequiresSessionState -{ +{ + + protected List<SysUser> SysUserList; + protected void Page_Load(object sender, EventArgs e) { //鏉冮檺鏍¢獙 this.CheckRight("301", FailedOperation.ErrorMsgOnly); + + //鑾峰彇鍚敤鐨勪骇鍝佸垎绫� + using (UserDao userDao = new UserDao()) + { + + int recordCount = 0; + int int1 = 999999999; + int int2 = 1; + this.SysUserList = userDao.LoadInfoList(out recordCount, int1, int2); + + } } + + + //鑾峰彇浜у搧鍒嗙被淇℃伅 + public string SysUserOptions(int userId) + { + StringBuilder stringBuilder = new StringBuilder(); + if (this.SysUserList.Count == 0) + return "<option value=''>鏃�</option>"; + stringBuilder.AppendFormat("<option value=\"{0}\" >{1}</option>", (object)0, (object)"鏃�"); + foreach (SysUser bean in this.SysUserList) + { + //鍋滅敤鐨勭敤鎴蜂笉鍐嶆樉绀� + if (bean.Status == 0) + { + continue; + } + //杩囨护瓒呯骇绠$悊鍛� + if (bean.UserID == 1) + { + continue; + } + + if (userId == bean.UserID) + stringBuilder.AppendFormat("<option value=\"{0}\" selected>{0}-{1}</option>", (object)bean.UserID, (object)bean.UserName); + else + stringBuilder.AppendFormat("<option value=\"{0}\">{0}-{1}</option>", (object)bean.UserID, (object)bean.UserName); + } + return stringBuilder.ToString(); + } + } diff --git a/web/web/GwProduct.ashx b/web/web/GwProduct.ashx index 8134fa4..261a614 100644 --- a/web/web/GwProduct.ashx +++ b/web/web/GwProduct.ashx @@ -35,7 +35,9 @@ case "add": return this.Add(context); //娣诲姞 case "list": - return this.List(context); //鏌ヨ + return this.List(context); //浜у搧鏌ヨ + case "productClassesList": + return this.ProductClassesList(context); //浜у搧鏌ヨ case "get": return this.Get(context); //鑾峰彇璁板綍淇℃伅 case "updateStatus": @@ -68,6 +70,7 @@ int num = 0; foreach (GwProduct bean in list) { + ++num; //str1 = str1 + (object) "<tr><td>" + "<img src=\"../static/images/productIcon/" + (object) bean.Icon + "\" >"; if (bean.Classes == 1 && !string.IsNullOrEmpty(bean.Icon)) @@ -79,15 +82,9 @@ str1 += "<tr><td>" + (object)bean.Icon + "</td>"; } + str1 = str1 + "<td>" + ProductToName(bean.ParentId) + "</td>"; str1 += "<td>" + bean.Name + "</td>"; - str1 = string.Concat(new object[4] - { - str1, - "<td>", - bean.Instructions, - "</td>" - }); - str1 = str1 + "<td>" + (object)this.ClassesToName(bean.Classes) + "</td>"; + //str1 = str1 + "<td>" + (object)this.ClassesToName(bean.Classes) + "</td>"; if (bean.RouterType == 1) { str1 += "<td rowspan=\"1\"><div class=\"btn btn-primary btn-xs\">鐐硅矾鐢�</div>"; @@ -102,16 +99,16 @@ { str1 += "<td rowspan=\"1\"></td>"; } - str1 = str1 + "<td>" + ProductToName(bean.ParentId) + "</td>"; str1 = str1 + "<td>" + IsDefaultToName(bean.IsDefault) + "</td>"; str1 = str1 + "<td>" + IsEnableToName(bean.IsEnable) + "</td>"; - str1 = string.Concat(new object[4] - { - str1, - "<td>", - bean.Sort, - "</td>" - }); + /** + str1 = string.Concat(new object[4] + { + str1, + "<td>", + bean.Sort, + "</td>" + });**/ str1 = string.Concat(new object[4] { str1, @@ -122,6 +119,13 @@ str1 += string.Format("<td>{0}鍏�/鏉�</td>", (object)(Convert.ToDecimal(bean.Price) / new Decimal(1000))); str1 = str1 + "<td>" + bean.CreateTime + "</td>"; + str1 = string.Concat(new object[4] + { + str1, + "<td>", + bean.Instructions, + "</td>" + }); str1 += "<td class=\"text-right\">"; str1 = bean.IsEnable != 0 ? str1 + string.Format("<a href=\"javascript:;\" data-id=\"{0}\" data-is_enable=\"0\" class=\"action-update-status btn btn-primary btn-xs\"><i class=\"fa fa-toggle-off\"></i> 鍋滅敤</a> ", (object) bean.Id ) : str1 + string.Format("<a href=\"javascript:;\" data-id=\"{0}\" data-is_enable=\"1\" class=\"action-update-status btn btn-default btn-xs\"><i class=\"fa fa-toggle-on\"/></i> 鍚敤</a> ", (object) bean.Id ); str1 += string.Format("<a href=\"javascript:;\" data-id=\"{0}\" class=\"action-modal-edit btn btn-success btn-xs\"><i class=\"fa fa-edit\"></i> 缂栬緫</a> ", (object) bean.Id); @@ -131,7 +135,57 @@ } } else - str1 += "<tr><td colspan=\"13\" style=\"padding-left:5px; text-align: center;\">鏆傛棤淇℃伅</td></tr>"; + str1 += "<tr><td colspan=\"11\" style=\"padding-left:5px; text-align: center;\">鏆傛棤淇℃伅</td></tr>"; + + return new JsonPageResult(true, new + { + Table = str1.ToString(), + TotalCount = recordCount + }); + } + + + + //鍔犺浇浜у搧鍒嗙被淇℃伅 + private JsonPageResult ProductClassesList(PageContext<SysUser> context) + { + //Console.WriteLine("List.............[" + context.GetInt("name") + "][" + context.GetInt("classes") + "]"); + int classes = context.GetInt("classes"); + string name = context.GetString("name"); + + int recordCount = 0; + int pageSize = context.GetInt("pageSize", 50); + int pageIndex = context.GetInt("pageIndex", 1); + + List<GwProduct> list = _Dao.LoadInfoList(classes, name, pageSize, pageIndex, out recordCount); + + string str1 = ""; + if (list != null && list.Count > 0) + { + + int num = 0; + foreach (GwProduct bean in list) + { + + ++num; + + str1 += "<tr>"; + str1 += "<td>" + bean.Name + "</td>"; + str1 += "<td>" + ProductToName(bean.ParentId) + "</td>"; + str1 = str1 + "<td>" + IsEnableToName(bean.IsEnable) + "</td>"; + str1 = str1 + "<td>" + bean.CreateTime + "</td>"; + str1 = str1 + "<td>" + bean.Remark + "</td>"; + + str1 += "<td class=\"text-right\">"; + str1 = bean.IsEnable != 0 ? str1 + string.Format("<a href=\"javascript:;\" data-id=\"{0}\" data-is_enable=\"0\" class=\"action-update-status btn btn-primary btn-xs\"><i class=\"fa fa-toggle-off\"></i> 鍋滅敤</a> ", (object) bean.Id ) : str1 + string.Format("<a href=\"javascript:;\" data-id=\"{0}\" data-is_enable=\"1\" class=\"action-update-status btn btn-default btn-xs\"><i class=\"fa fa-toggle-on\"/></i> 鍚敤</a> ", (object) bean.Id ); + str1 += string.Format("<a href=\"javascript:;\" data-id=\"{0}\" class=\"action-modal-edit btn btn-success btn-xs\"><i class=\"fa fa-edit\"></i> 缂栬緫</a> ", (object) bean.Id); + str1 += string.Format("<a href=\"javascript:;\" data-id=\"{0}\" class=\"action-delete btn btn-default btn-xs\"><i class=\"fa fa-trash\"></i> 鍒犻櫎</a> ", (object) bean.Id); + str1 += "</td>"; + str1 += "</tr>"; + } + } + else + str1 += "<tr><td colspan=\"11\" style=\"padding-left:5px; text-align: center;\">鏆傛棤淇℃伅</td></tr>"; return new JsonPageResult(true, new { diff --git a/web/web/GwProduct.aspx b/web/web/GwProduct.aspx index de239c9..fa56267 100644 --- a/web/web/GwProduct.aspx +++ b/web/web/GwProduct.aspx @@ -12,7 +12,8 @@ function loadPageList() { var name = $("#Name").val(); - var classes = $("#Classes").val(); + //var classes = $("#Classes").val(); + var classes = 1; $.ajax({ url: "GwProduct.ashx", type: "POST", @@ -31,16 +32,16 @@ } $(document).on("click", ".action-modal-add", function() { - $("#productDialog .modal-title").text("娣诲姞浜у搧鎴栦骇鍝佸垎绫�"); + $("#productDialog .modal-title").text("娣诲姞浜у搧"); $("#productDialog #action").val("add"); $("#productDialog #id").val("").attr("readonly", false); $("#productDialog #name").val(""); $("#productDialog #icon").val(""); $("#productDialog #instructions").val(""); - $("#productDialog #classes").val(""); + //$("#productDialog #classes").val(""); $("#productDialog #parentId").val(""); //$("#productDialog #path").val(""); - $("#productDialog #isDefault").val(""); + //$("#productDialog #isDefault").val(""); $("#productDialog #isDnable").val(1); $("#productDialog #sort").val(1); $("#productDialog #routerType").val(1); @@ -101,7 +102,7 @@ $(document).on("click", ".action-modal-edit", function() { var id = $(this).data("id"); - $("#productDialog .modal-title").text("缂栬緫浜у搧鎴栦骇鍝佸垎绫�"); + $("#productDialog .modal-title").text("缂栬緫浜у搧"); $("#productDialog #id").val(id).attr("readonly", true); $.get("gwProduct.ashx", { "action": "get", id: id }, function(r) { @@ -198,7 +199,7 @@ }); </script> </asp:Content> -<asp:Content runat="server" ID="Content2" ContentPlaceHolderID="title">浜у搧鎴栦骇鍝佸垎绫荤鐞�</asp:Content> +<asp:Content runat="server" ID="Content2" ContentPlaceHolderID="title">浜у搧绠$悊</asp:Content> <asp:Content ID="Content3" ContentPlaceHolderID="content" runat="Server"> <form name="queryForm" method="get" action="GwProduct.aspx" id="queryForm" class="form-inline" @@ -210,6 +211,7 @@ <input type="text" name="Name" id="Name" class="form-control" /> </div> </div> + <!-- <div class="form-group"> <div class="input-group"> <select name="Classes" id="Classes" class="form-control"> @@ -219,6 +221,7 @@ </select> </div> </div> + --> <div class="form-group"> <div class="input-group"> <input type="button" value="鏌ヨ" class="btn btn-primary action-btn-GwProductQuery" /> @@ -231,27 +234,31 @@ <tr class="header"> <th>鍥炬爣 </th> + <th>浜у搧绫诲埆 + </th> <th>鍚嶇О </th> - <th>浣跨敤璇存槑 - </th> + <!-- <th>绫诲埆 </th> + --> <th>閫氶亾 - </th> - <th>鐖剁骇浜у搧鍒嗙被ID </th> <th>鏄惁榛樿 </th> <th>鏄惁鍚敤 </th> + <!-- <th>鎺掑簭 </th> + --> <th>璧犻�佹潯鏁� </th> <th>鍙傝�冨崟浠� </th> <th>鍒涘缓鏃堕棿 + </th> + <th>浣跨敤璇存槑 </th> <th class="text-right">鎿嶄綔 </th> @@ -279,7 +286,7 @@ <h4 class="modal-title">缂栬緫浜у搧璧勬枡</h4> </div> <div class="modal-body"> - <div class="form-group"> + <div class="form-group" style="display: none"> <label class="col-sm-2 control-label"> 绫诲埆</label> <div class="col-sm-4 "> @@ -316,7 +323,8 @@ </div> <div class="form-group"> <label class="col-sm-2 control-label"> - 鍚嶇О</label> + 鍚嶇О <span style="color:red">*</span> + </label> <div class="col-sm-4 "> <input type="text" class="form-control" name="name" id="name" value="" /> </div> @@ -336,7 +344,6 @@ <input type="text" class="form-control" name="path" id="path" value="" /> </div> </div> - --> <div class="form-group classes-span classes-span-1"> <label class="col-sm-2 control-label"> 鎺ㄥ箍鏂瑰紡</label> @@ -348,6 +355,8 @@ </div> <span class="help-block m-b-none">涓�у寲瀹㈡埛鏄寚鐗规畩鎺ㄩ�佺粰瀹㈡埛锛涚郴缁熼粯璁ゆ槸鎸囩郴缁熼粯璁ゅ彲鎺ㄩ�佹墍鏈夊鎴枫��</span> </div> + --> + <input type="hidden" class="form-control" name="isDefault" id="isDefault" value="1" /> <div class="form-group"> <label class="col-sm-2 control-label"> 鏄惁鍚敤</label> diff --git a/web/web/GwProduct.aspx.cs b/web/web/GwProduct.aspx.cs index b0c391a..2fdda61 100644 --- a/web/web/GwProduct.aspx.cs +++ b/web/web/GwProduct.aspx.cs @@ -9,6 +9,10 @@ using System.Web.Profile; using System.Web.SessionState; +/** + * 浜у搧绠$悊 + * + */ public partial class _GwProduct : PageBase<SysUser>, IRequiresSessionState { protected List<GwProduct> GwProductList; diff --git a/web/web/Index.aspx b/web/web/Index.aspx index 8f99ee6..b4a7faf 100644 --- a/web/web/Index.aspx +++ b/web/web/Index.aspx @@ -171,6 +171,7 @@ </a> <ul class="nav nav-second-level"> <!--<li><a href="pages/gwProduct/GwProduct.aspx" class="J_menuItem">浜у搧鍒楄〃</a> </li>--> + <li><a href="GwProductClasses.aspx" class="J_menuItem">浜у搧鍒嗙被</a> </li> <li><a href="GwProduct.aspx" class="J_menuItem">浜у搧鍒楄〃</a> </li> </ul> </li> diff --git a/web/web/SysUser.ashx b/web/web/SysUser.ashx index ffb5d7b..ec17789 100644 --- a/web/web/SysUser.ashx +++ b/web/web/SysUser.ashx @@ -1,5 +1,5 @@ 锘�<%@ WebHandler Language="C#" Class="SysUserHandler" %> - + using Common; using Dao; using Model; @@ -10,146 +10,172 @@ public class SysUserHandler : PageHandler<SysUser> { - private UserDao _Dao = new UserDao(); + private UserDao _Dao = new UserDao(); - public override JsonPageResult ProcessRequestInternal(PageContext<SysUser> context) - { - string @string = context.GetString("action"); - switch (@string) + public override JsonPageResult ProcessRequestInternal(PageContext<SysUser> context) { - case "saveUser": - return this.SaveUser(context); - case "loadUserList": - return this.LoadUserList(context); - case "deleteUser": - return this.DeleteUser(context); - case "loadUserInfo": - return this.LoadUserInfo(context); - case "loadUserMenuList": - return this.LoadUserMenuList(context); - case "updatePermission": - return this.UpdatePermission(context); - default: - throw new Exception("Invalid Action=" + @string); + string @string = context.GetString("action"); + switch (@string) + { + case "saveUser": + return this.SaveUser(context); + case "loadUserList": + return this.LoadUserList(context); + case "deleteUser": + return this.DeleteUser(context); + case "loadUserInfo": + return this.LoadUserInfo(context); + case "loadUserMenuList": + return this.LoadUserMenuList(context); + case "updatePermission": + return this.UpdatePermission(context); + case "updateStatus": + return this.UpdateStatus(context); + + default: + throw new Exception("Invalid Action=" + @string); + } } - } - private JsonPageResult UpdatePermission(PageContext<SysUser> context) - { - context.CheckRight("1042", FailedOperation.PromptOnly); - string @string = context.GetString("menuIDArray"); - int @int = context.GetInt("userid"); - string[] menuIDArray = JsonConvert.DeserializeObject<string[]>(@string); - if (menuIDArray == null) - throw new ArgumentException("鑿滃崟鏁版嵁寮傚父锛�"); - if (@int == 0) - throw new ArgumentException("USERID鍙傛暟寮傚父锛�"); - this._Dao.UpdatePermission(@int, menuIDArray); - return new JsonPageResult(true, (object) "淇濆瓨鏉冮檺鎴愬姛锛�"); - } - - private JsonPageResult LoadUserList(PageContext<SysUser> context) - { - context.CheckRight("104", FailedOperation.PromptOnly); - int recordCount = 0; - int int1 = context.GetInt("pageSize", 20); - int int2 = context.GetInt("pageIndex", 1); - List<SysUser> list = this._Dao.LoadInfoList(out recordCount, int1, int2); - list.ForEach((Action<SysUser>) (u => u.Password = "")); - return new JsonPageResult(true, (object) new + private JsonPageResult UpdatePermission(PageContext<SysUser> context) { - Table = list, - TotalCount = recordCount - }); - } - - private JsonPageResult DeleteUser(PageContext<SysUser> context) - { - context.CheckRight("1044", FailedOperation.PromptOnly); - int @int = context.GetInt("userid"); - if (@int == 1) - throw new ArgumentException("绯荤粺榛樿璐︽埛涓嶈兘鍒犻櫎锛�"); - this._Dao.Delete(@int); - return new JsonPageResult(true, (object) "鍒犻櫎鐢ㄦ埛鎴愬姛锛�"); - } - - private JsonPageResult LoadUserInfo(PageContext<SysUser> context) - { - context.CheckRight("104", FailedOperation.PromptOnly); - return new JsonPageResult(true, (object) this._Dao.GetUserInfo(context.GetInt("userid"))); - } - - private JsonPageResult LoadUserMenuList(PageContext<SysUser> context) - { - context.CheckRight("104", FailedOperation.PromptOnly); - return new JsonPageResult(true, (object) this._Dao.LoadUserMenuList(context.GetInt("userid")).Keys); - } - - private JsonPageResult SaveUser(PageContext<SysUser> context) - { - int int1 = context.GetInt("userid"); - string string1 = context.GetString("account"); - string string2 = context.GetString("password"); - string string3 = context.GetString("email"); - string string4 = context.GetString("mobile"); - int int2 = context.GetInt("emailFlag"); - int int3 = context.GetInt("mobileFlag"); - int num = 0; - if (string.IsNullOrEmpty(string1) || !Regex.IsMatch(string1, "\\w{3,}")) - throw new ArgumentException("璐︽埛鑷冲皯3浣嶅彲瑙佸瓧绗︼紝璇烽噸鏂拌緭鍏ワ紒"); - if (string.IsNullOrEmpty(string2) || string2.Length < 6) - throw new ArgumentException("璐︽埛瀵嗙爜鑷冲皯6浣嶏紝璇烽噸鏂拌緭鍏ワ紒"); - if (context.GetBoolean("isVerification")) - num = 1; - string string5 = context.GetString("clientIp"); - if (num == 1) - { - if (string.IsNullOrEmpty(string5)) - throw new ArgumentException("IP鍦板潃涓嶈兘涓虹┖锛岃杈撳叆锛�"); - if (string.IsNullOrEmpty(string4.ToString()) || !Regex.IsMatch(string4, "1\\d{10}")) - throw new ArgumentException("鎵嬫満鍙风爜鏃犳晥锛岃閲嶆柊杈撳叆锛�"); + context.CheckRight("1042", FailedOperation.PromptOnly); + string @string = context.GetString("menuIDArray"); + int @int = context.GetInt("userid"); + string[] menuIDArray = JsonConvert.DeserializeObject<string[]>(@string); + if (menuIDArray == null) + throw new ArgumentException("鑿滃崟鏁版嵁寮傚父锛�"); + if (@int == 0) + throw new ArgumentException("USERID鍙傛暟寮傚父锛�"); + this._Dao.UpdatePermission(@int, menuIDArray); + return new JsonPageResult(true, (object) "淇濆瓨鏉冮檺鎴愬姛锛�"); } - if (!string.IsNullOrEmpty(string4.ToString()) && !Regex.IsMatch(string4, "1\\d{10}")) - throw new ArgumentException("鎵嬫満鍙风爜鏃犳晥锛岃閲嶆柊杈撳叆锛�"); - if (!string.IsNullOrEmpty(string3) && !Regex.IsMatch(string3, "^([a-zA-Z0-9_-])+@([a-zA-Z0-9_-])+(.[a-zA-Z0-9_-])+")) - throw new ArgumentException("閭鍦板潃鏃犳晥,璇烽噸鏂拌緭鍏ワ紒"); - if ((int3 == 1 || int3 == 2 || (int3 == 3 || int3 == 4) || int3 == 5) && !Regex.IsMatch(string4, "1\\d{10}")) - throw new ArgumentException("鎵嬫満鍙风爜鏃犳晥锛岃閲嶆柊杈撳叆锛�"); - if ((int2 == 1 || int2 == 2 || (int2 == 3 || int2 == 4) || int2 == 5) && !Regex.IsMatch(string3, "^([a-zA-Z0-9_-])+@([a-zA-Z0-9_-])+(.[a-zA-Z0-9_-])+")) - throw new ArgumentException("閭鍦板潃鏃犳晥锛岃閲嶆柊杈撳叆锛�"); - SysUser sysUser = new SysUser(); - sysUser.UserID = int1; - sysUser.Account = string1; - sysUser.CreateTime = DateTime.Now; - if (int1 > 0) + + private JsonPageResult LoadUserList(PageContext<SysUser> context) { - SysUser userInfo = this._Dao.GetUserInfo(int1); - sysUser.Password = userInfo.Password == string2 ? userInfo.Password : DataHelper.MD5Hex(string2); - sysUser.IsEncryption = userInfo.Password == string2 ? userInfo.IsEncryption : 1; + context.CheckRight("104", FailedOperation.PromptOnly); + int recordCount = 0; + int int1 = context.GetInt("pageSize", 20); + int int2 = context.GetInt("pageIndex", 1); + List<SysUser> list = this._Dao.LoadInfoList(out recordCount, int1, int2); + list.ForEach((Action<SysUser>) (u => u.Password = "")); + return new JsonPageResult(true, (object) new + { + Table = list, + TotalCount = recordCount + }); } - else + + private JsonPageResult DeleteUser(PageContext<SysUser> context) { - sysUser.Password = DataHelper.MD5Hex(string2); - sysUser.IsEncryption = 1; + context.CheckRight("1044", FailedOperation.PromptOnly); + int @int = context.GetInt("userid"); + if (@int == 1) + throw new ArgumentException("绯荤粺榛樿璐︽埛涓嶈兘鍒犻櫎锛�"); + this._Dao.Delete(@int); + return new JsonPageResult(true, (object) "鍒犻櫎鐢ㄦ埛鎴愬姛锛�"); } - sysUser.Email = string3; - sysUser.Mobile = string4; - sysUser.MobileFlag = int3; - sysUser.EmailFlag = int2; - sysUser.IsVerification = num; - sysUser.ClientIp = string5; - if (int1 > 0) + + private JsonPageResult LoadUserInfo(PageContext<SysUser> context) { - context.CheckRight("1042", FailedOperation.PromptOnly); - this._Dao.Update(sysUser); + context.CheckRight("104", FailedOperation.PromptOnly); + return new JsonPageResult(true, (object) this._Dao.GetUserInfo(context.GetInt("userid"))); } - else + + private JsonPageResult LoadUserMenuList(PageContext<SysUser> context) { - context.CheckRight("1041", FailedOperation.PromptOnly); - if (this._Dao.Exists(string1)) - throw new ArgumentException("璐︽埛宸茬粡瀛樺湪锛岃閲嶆柊杈撳叆锛�"); - this._Dao.Add(sysUser); + context.CheckRight("104", FailedOperation.PromptOnly); + return new JsonPageResult(true, (object) this._Dao.LoadUserMenuList(context.GetInt("userid")).Keys); } - return new JsonPageResult(true, (object) "璐︽埛淇濆瓨鎴愬姛锛�"); - } + + private JsonPageResult SaveUser(PageContext<SysUser> context) + { + int int1 = context.GetInt("userid"); + string string1 = context.GetString("account"); + string string2 = context.GetString("password"); + string userName = context.GetString("userName"); + string string3 = context.GetString("email"); + string string4 = context.GetString("mobile"); + int int2 = context.GetInt("emailFlag"); + int int3 = context.GetInt("mobileFlag"); + int num = 0; + if (string.IsNullOrEmpty(string1) || !Regex.IsMatch(string1, "\\w{3,}")) + throw new ArgumentException("璐︽埛鑷冲皯3浣嶅彲瑙佸瓧绗︼紝璇烽噸鏂拌緭鍏ワ紒"); + if (string.IsNullOrEmpty(string2) || string2.Length < 6) + throw new ArgumentException("璐︽埛瀵嗙爜鑷冲皯6浣嶏紝璇烽噸鏂拌緭鍏ワ紒"); + if (string.IsNullOrEmpty(userName)) + throw new ArgumentException("璐﹀彿鍚嶇О涓嶈兘涓虹┖锛岃杈撳叆锛�"); + if (context.GetBoolean("isVerification")) + num = 1; + string string5 = context.GetString("clientIp"); + if (num == 1) + { + if (string.IsNullOrEmpty(string5)) + throw new ArgumentException("IP鍦板潃涓嶈兘涓虹┖锛岃杈撳叆锛�"); + if (string.IsNullOrEmpty(string4.ToString()) || !Regex.IsMatch(string4, "1\\d{10}")) + throw new ArgumentException("鎵嬫満鍙风爜鏃犳晥锛岃閲嶆柊杈撳叆锛�"); + } + if (!string.IsNullOrEmpty(string4.ToString()) && !Regex.IsMatch(string4, "1\\d{10}")) + throw new ArgumentException("鎵嬫満鍙风爜鏃犳晥锛岃閲嶆柊杈撳叆锛�"); + if (!string.IsNullOrEmpty(string3) && !Regex.IsMatch(string3, "^([a-zA-Z0-9_-])+@([a-zA-Z0-9_-])+(.[a-zA-Z0-9_-])+")) + throw new ArgumentException("閭鍦板潃鏃犳晥,璇烽噸鏂拌緭鍏ワ紒"); + if ((int3 == 1 || int3 == 2 || (int3 == 3 || int3 == 4) || int3 == 5) && !Regex.IsMatch(string4, "1\\d{10}")) + throw new ArgumentException("鎵嬫満鍙风爜鏃犳晥锛岃閲嶆柊杈撳叆锛�"); + if ((int2 == 1 || int2 == 2 || (int2 == 3 || int2 == 4) || int2 == 5) && !Regex.IsMatch(string3, "^([a-zA-Z0-9_-])+@([a-zA-Z0-9_-])+(.[a-zA-Z0-9_-])+")) + throw new ArgumentException("閭鍦板潃鏃犳晥锛岃閲嶆柊杈撳叆锛�"); + SysUser sysUser = new SysUser(); + sysUser.UserID = int1; + sysUser.Account = string1; + + if (this._Dao.UserNameExists(userName, int1)) + throw new ArgumentException("璐︽埛鍚嶇О宸茬粡瀛樺湪锛岃閲嶆柊杈撳叆锛�"); + + sysUser.UserName = userName; + sysUser.CreateTime = DateTime.Now; + if (int1 > 0) + { + SysUser userInfo = this._Dao.GetUserInfo(int1); + sysUser.Password = userInfo.Password == string2 ? userInfo.Password : DataHelper.MD5Hex(string2); + sysUser.IsEncryption = userInfo.Password == string2 ? userInfo.IsEncryption : 1; + } + else + { + sysUser.Password = DataHelper.MD5Hex(string2); + sysUser.IsEncryption = 1; + } + sysUser.Email = string3; + sysUser.Mobile = string4; + sysUser.MobileFlag = int3; + sysUser.EmailFlag = int2; + sysUser.IsVerification = num; + sysUser.ClientIp = string5; + if (int1 > 0) + { + context.CheckRight("1042", FailedOperation.PromptOnly); + this._Dao.Update(sysUser); + } + else + { + context.CheckRight("1041", FailedOperation.PromptOnly); + if (this._Dao.Exists(string1)) + throw new ArgumentException("璐︽埛宸茬粡瀛樺湪锛岃閲嶆柊杈撳叆锛�"); + this._Dao.Add(sysUser); + } + return new JsonPageResult(true, (object) "璐︽埛淇濆瓨鎴愬姛锛�"); + } + + + //鏇存柊淇℃伅鍚敤鎴栧仠鐢� + private JsonPageResult UpdateStatus(PageContext<SysUser> context) + { + int userId = context.GetInt("userId"); + int status = context.GetInt("status"); + + SysUser sysUser = new SysUser(); + sysUser.UserID = userId; + sysUser.Status = status; + this._Dao.UpdateStatus(sysUser); + return new JsonPageResult(true, "鏇存柊淇℃伅鐘舵�佹垚鍔燂紒"); + + } } diff --git a/web/web/SysUser.aspx b/web/web/SysUser.aspx index 45918c6..925802e 100644 --- a/web/web/SysUser.aspx +++ b/web/web/SysUser.aspx @@ -19,6 +19,7 @@ $.each(result.Message.Table, function(i) { html.push("<tr>"); html.push("<td>" + this.Account + "</td>"); + html.push("<td>" + this.UserName + "</td>"); html.push("<td>" + this.Mobile + "</td>"); html.push("<td>" + formatFlagIcon(this.MobileFlag) + "</td>"); @@ -27,7 +28,15 @@ html.push("<td>" + this.ClientIp + "</td>"); html.push("<td>" + (this.IsVerification == 1 ? "<span class='label label-primary'>寮�鍚�</span>" : "<span class='label label-default'>鍏抽棴</span>") + "</td>"); html.push("<td>" + this.CreateTime + "</td>"); - html.push("<td >"); + html.push("<td>" + (this.Status == 1 ? "<span class='label label-primary'>鍚敤</span>" : "<span class='label label-default'>鍋滅敤</span>") + "</td>"); + //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> 鍚敤</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> " ); + } + 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> "); + } html.push("<a href='javascript:;' class='btn btn-success btn-xs action-edit' data-id='" + this.UserID + "'><i class='fa fa-edit'></i> 缂栬緫</a> "); html.push("<a href='javascript:;' data-id='" + this.UserID + "' class='action-permission btn btn-info btn-xs'><i class='fa fa-edit'></i> 鏉冮檺</a> "); html.push("<a href='javascript:;' data-id='" + this.UserID + "' class='action-delete btn btn-default btn-xs'><i class='fa fa-trash'></i> 鍒犻櫎</a>"); @@ -35,7 +44,7 @@ html.push("</tr>"); }); if (result.Message.TotalCount == 0) { - html.push("<tr><td colspan=\"10\" style=\"padding-left:5px; text-align: center;\">鏆傛棤淇℃伅</td></tr>"); + html.push("<tr><td colspan=\"11\" style=\"padding-left:5px; text-align: center;\">鏆傛棤淇℃伅</td></tr>"); } $("#mainTable>tbody").html(html.join("")); @@ -68,10 +77,26 @@ }); }); + $(document).on("click", ".action-update-status", function () { + //data鐨勫睘鎬у弬鏁颁笉鑳藉惈鏈夊ぇ鍐欏瓧姣嶃�� + var userId = $(this).data("id"); + var status = $(this).data("status"); + mytek.confirm("鏄惁鏇存柊淇℃伅鐘舵�侊紵", "璇疯皑鎱庢搷浣滐紒", function (b) { + if (b) { + $.post("sysuser.ashx", { "action": "updateStatus", userId: userId, status: status }, function (r) { + mytek.alert(r.Message, r.OK, function () { + loadUserList(); + }); + }); + } + }); + }); + $(document).on("click", ".action-save", function() { var userid = $("#userDialog").data("id"); var account = $("#userDialog #account").val(); var password = $("#userDialog #password").val(); + var userName = $("#userDialog #userName").val(); var mobile = $("#userDialog #mobile").val(); var email = $("#userDialog #email").val(); var emailFlag = $("#userDialog #emailFlag").val(); @@ -80,7 +105,7 @@ var clientIp = $("#userDialog #clientIp").val(); - $.post("sysuser.ashx", { action: "saveUser", userid: userid, account: account, password: password, mobile: mobile, email: email, mobileFlag: mobileFlag, emailFlag: emailFlag, isVerification: isVerification, clientIp: clientIp }, + $.post("sysuser.ashx", { action: "saveUser", userid: userid, account: account, password: password, userName:userName, mobile: mobile, email: email, mobileFlag: mobileFlag, emailFlag: emailFlag, isVerification: isVerification, clientIp: clientIp }, function(result) { mytek.alert(result.Message, result.OK, function() { if (result.OK) { @@ -96,6 +121,7 @@ $("#userDialog").data("id", 0); $("#userDialog #account").val(""); $("#userDialog #password").val(""); + $("#userDialog #userName").val(""); $("#userDialog #mobile").val(""); $("#userDialog #email").val(""); $("#userDialog input[name=isVerification]").iCheck("uncheck"); @@ -169,6 +195,7 @@ $("#userDialog").data("id", id); $("#userDialog #account").val(user.Account); $("#userDialog #password").val(user.Password); + $("#userDialog #userName").val(user.UserName); $("#userDialog #mobile").val(user.Mobile); $("#userDialog #email").val(user.Email); $("#userDialog #emailFlag").val(user.EmailFlag); @@ -200,16 +227,23 @@ <div class="modal-body"> <div class="form-group"> <label class="col-sm-2 control-label"> - 璐︽埛</label> + 璐︽埛 <span style="color:red">*</span></label> <div class="col-sm-10"> <input type="text" name="account" id="account" value="" class="form-control" /> </div> </div> <div class="form-group"> <label class="col-sm-2 control-label"> - 瀵嗙爜</label> + 瀵嗙爜 <span style="color:red">*</span></label> <div class="col-sm-10"> <input type="password" name="password" id="password" value="" class="form-control" /> + </div> + </div> + <div class="form-group"> + <label class="col-sm-2 control-label"> + 璐︽埛鍚嶇О <span style="color:red">*</span></label> + <div class="col-sm-10"> + <input type="text" name="userName" id="userName" value="" class="form-control" /> </div> </div> <div class="form-group"> @@ -304,6 +338,9 @@ 璐﹀彿 </th> <th> + 鐢ㄦ埛鍚嶇О + </th> + <th> 鎵嬫満 </th> <th> @@ -324,7 +361,10 @@ <th> 鍒涘缓鏃堕棿 </th> - <th style="width: 200px;"> + <th> + 鐘舵�� + </th> + <th style="width: 240px;"> 鎿嶄綔 </th> </tr> -- Gitblit v1.9.1