Skip to content

Commit 5c4bc65

Browse files
committed
删除不存在的ico,添加系统用户可以修改个人信息和密码功能
1 parent 93b6bdf commit 5c4bc65

File tree

85 files changed

+317
-14421
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

85 files changed

+317
-14421
lines changed

ant.mgr/DBModels/DBModels/DbModel.csproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@
3737
</ItemGroup>
3838

3939
<ItemGroup>
40-
<None Update="初始化表.sql">
40+
<None Update="mysql初始化表.sql">
4141
<CopyToOutputDirectory>Never</CopyToOutputDirectory>
4242
</None>
4343
</ItemGroup>
29.1 KB
Binary file not shown.

ant.mgr/Repository/Repository/AccountRespository.cs

Lines changed: 73 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -335,6 +335,79 @@ public async Task<Tuple<bool, string>> UserAdd(SystemUsers info, Token user)
335335
return new Tuple<bool, string>(true, string.Empty);
336336
}
337337

338+
/// <summary>
339+
/// 获取系统用户信息
340+
/// </summary>
341+
/// <param name="user"></param>
342+
/// <returns></returns>
343+
public async Task<SystemUsers> GetUserInfo(Token user)
344+
{
345+
if (user == null) return null;
346+
347+
return await this.Entity.Where(r => r.Eid.Equals(user.Eid)).Select(r => new SystemUsers
348+
{
349+
UserName = r.UserName,
350+
Phone = r.Phone
351+
}).FirstOrDefaultAsync();
352+
}
353+
354+
/// <summary>
355+
/// 更新个人信息
356+
/// </summary>
357+
/// <param name="user"></param>
358+
/// <returns></returns>
359+
public async Task<string> UpdateUserInfo(SystemUsers user)
360+
{
361+
if (user == null) return Tip.BadRequest;
362+
363+
if (string.IsNullOrEmpty(user.UserName) && string.IsNullOrEmpty(user.Phone)) return Tip.BadRequest;
364+
365+
var query = this.Entity.Where(r => r.Eid.Equals(user.Eid)).Set(r=>r.DataChangeLastTime,DateTime.Now);
366+
367+
if (!string.IsNullOrEmpty(user.UserName))
368+
{
369+
query = query.Set(r => r.UserName, user.UserName);
370+
}
371+
372+
if (!string.IsNullOrEmpty(user.Phone))
373+
{
374+
query = query.Set(r => r.Phone, user.Phone);
375+
}
376+
377+
var rt = await query.UpdateAsync() > 0;
378+
379+
if (!rt) return Tip.UpdateError;
380+
return string.Empty;
381+
}
382+
383+
/// <summary>
384+
/// 更新密码
385+
/// </summary>
386+
/// <param name="user"></param>
387+
/// <returns></returns>
388+
public async Task<string> UpdatePwd(UpdatePwdVm user)
389+
{
390+
if (user == null) return Tip.BadRequest;
391+
392+
if (string.IsNullOrEmpty(user.Pwd) || string.IsNullOrEmpty(user.OldPwd)) return Tip.BadRequest;
393+
394+
var currentUser = await Entity.FirstOrDefaultAsync(r => r.Eid.Equals(user.Eid));
395+
if (currentUser == null)
396+
{
397+
return "用户不存在";
398+
}
399+
400+
var pwd = CodingUtils.MD5(user.OldPwd);
401+
if (!currentUser.Pwd.Equals(pwd))
402+
{
403+
return "旧密码错误";
404+
}
405+
406+
var newPwd = CodingUtils.MD5(user.Pwd);
407+
var rt = this.Entity.Where(r => r.Eid.Equals(user.Eid)).Set(r => r.DataChangeLastTime, DateTime.Now).Set(r=>r.Pwd,newPwd).Update()>0;
408+
if (!rt) return Tip.UpdateError;
409+
return string.Empty;
410+
}
338411

339412
private void GetRoleName(SystemRole role, List<long> roleList)
340413
{

ant.mgr/Repository/Repository/BaseRepository.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ public class BaseRepository: IRepository
3030
/// <summary>
3131
/// DB
3232
/// </summary>
33-
public MysqlDbContext<AntEntity> DB => DbModel.DbContext.DB;
33+
public DbContext<AntEntity> DB => DbModel.DbContext.DB;
3434

3535

3636
/// <summary>

ant.mgr/Repository/Repository/Interface/IAccountRespository.cs

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -62,5 +62,26 @@ public interface IAccountRespository : IRepository<SystemUsers>
6262
/// <param name="user"></param>
6363
/// <returns></returns>
6464
Task<Tuple<bool, string>> UserAdd(SystemUsers info,Token user);
65+
66+
/// <summary>
67+
/// 获取系统用户信息
68+
/// </summary>
69+
/// <param name="user"></param>
70+
/// <returns></returns>
71+
Task<SystemUsers> GetUserInfo(Token user);
72+
73+
/// <summary>
74+
/// 更新个人信息
75+
/// </summary>
76+
/// <param name="user"></param>
77+
/// <returns></returns>
78+
Task<string> UpdateUserInfo(SystemUsers user);
79+
80+
/// <summary>
81+
/// 更新密码
82+
/// </summary>
83+
/// <param name="user"></param>
84+
/// <returns></returns>
85+
Task<string> UpdatePwd(UpdatePwdVm user);
6586
}
6687
}

ant.mgr/Repository/Repository/MenuRespository.cs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -133,6 +133,7 @@ public List<SystemMenuSM> GetMenuTree(long roleId, Token userToken, long roleSen
133133
{
134134
//获取所有的菜单
135135
var allMenus = GetAllRightsMenusTwo(string.Empty, null, true);
136+
GetCheckAllChild(allMenus);
136137
return allMenus;
137138
}
138139

@@ -345,6 +346,7 @@ private void GetCheckAllChild(List<SystemMenuSM> allMenusList)
345346
{
346347
if (all.Tid < 1)
347348
{
349+
all.ChildMunuList = null;
348350
continue;
349351
}
350352
if (all.ChildMunuList != null && all.ChildMunuList.Count > 0)

ant.mgr/ViewModels/ViewModels/Reuqest/UserVm.cs

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,4 +38,11 @@ public class UserVm : ConditionBase
3838

3939
}
4040

41+
42+
public class UpdatePwdVm
43+
{
44+
public string Eid { get; set; }
45+
public string OldPwd { get; set; }
46+
public string Pwd { get; set; }
47+
}
4148
}

ant.mgr/mgr.core/Controllers/AccountController.cs

Lines changed: 66 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,72 @@ public ActionResult Login(string returnUrl)
4242
return View();
4343
}
4444

45+
/// <summary>
46+
/// 个人信息页面
47+
/// </summary>
48+
/// <returns></returns>
49+
[Route("UserDetail")]
50+
[AuthorizeFilter]
51+
public async Task<ActionResult> UserDetail()
52+
{
53+
var currentUser = await AccountRespository.GetUserInfo(UserToken);
54+
ViewBag.UserName = currentUser?.UserName;
55+
ViewBag.Phone = currentUser?.Phone;
56+
return View();
57+
}
58+
59+
/// <summary>
60+
/// 更新个人信息
61+
/// </summary>
62+
/// <returns></returns>
63+
[Route("UpdateUserInfo")]
64+
[ValidateAntiForgeryToken]
65+
[AuthorizeFilter]
66+
public async Task<ActionResult> UpdateUserInfo([FromForm] SystemUsers user)
67+
{
68+
var result = new ResultJsonNoDataInfo();
69+
user.Eid = UserToken.Eid;
70+
var respositoryResult = await AccountRespository.UpdateUserInfo(user);
71+
if (string.IsNullOrEmpty(respositoryResult))
72+
{
73+
74+
result.Status = ResultConfig.Ok;
75+
result.Info = ResultConfig.SuccessfulMessage;
76+
}
77+
else
78+
{
79+
result.Status = ResultConfig.Fail;
80+
result.Info = respositoryResult;
81+
}
82+
return Json(result);
83+
}
84+
85+
/// <summary>
86+
/// 更新登录密码
87+
/// </summary>
88+
/// <returns></returns>
89+
[Route("UpdatePwd")]
90+
[ValidateAntiForgeryToken]
91+
[AuthorizeFilter]
92+
public async Task<ActionResult> UpdatePwd([FromForm] UpdatePwdVm user)
93+
{
94+
var result = new ResultJsonNoDataInfo();
95+
user.Eid = UserToken.Eid;
96+
var respositoryResult = await AccountRespository.UpdatePwd(user);
97+
if (string.IsNullOrEmpty(respositoryResult))
98+
{
99+
100+
result.Status = ResultConfig.Ok;
101+
result.Info = ResultConfig.SuccessfulMessage;
102+
}
103+
else
104+
{
105+
result.Status = ResultConfig.Fail;
106+
result.Info = respositoryResult;
107+
}
108+
return Json(result);
109+
}
110+
45111
/// <summary>
46112
/// 退出系统
47113
/// </summary>
Lines changed: 132 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,132 @@
1+
@{
2+
ViewBag.Title = "我的信息";
3+
Layout = "~/Views/Shared/_Layout.cshtml";
4+
}
5+
<style>
6+
.gray-bg {
7+
background-color: #ffffff;
8+
}
9+
10+
</style>
11+
<div class="row">
12+
<div class="col-sm-6">
13+
<div class="ibox float-e-margins">
14+
<div class="ibox-title">
15+
<h5>我的个人信息</h5>
16+
</div>
17+
<div class="ibox-content">
18+
<form class="form-horizontal" style="margin-top: 10px;">
19+
<div class="form-group">
20+
<label class="col-sm-3 control-label">用户姓名:</label>
21+
22+
<div class="col-sm-8">
23+
<input type="text" v-model="currentRow.UserName" placeholder="用户姓名" class="form-control" value="@ViewBag.UserName"> <span class="help-block m-b-none">请输入您的姓名</span>
24+
</div>
25+
</div>
26+
<div class="form-group">
27+
<label class="col-sm-3 control-label">联系手机:</label>
28+
29+
<div class="col-sm-8">
30+
<input type="tel" v-model="currentRow.Phone" placeholder="联系手机" class="form-control" value="@ViewBag.Phone"> <span class="help-block m-b-none">请输入您的联系方式</span>
31+
</div>
32+
</div>
33+
<div class="form-group">
34+
<div class="col-sm-offset-3 col-sm-8">
35+
<button class="btn btn-w-m btn-success authorization" style="display: none" action-id="user-detail-update" action-name="更新个人信息" type="button" v-on:click="_UpdateUserInfo">更新个人信息</button>
36+
</div>
37+
</div>
38+
</form>
39+
</div>
40+
</div>
41+
</div>
42+
<div class="col-sm-6">
43+
<div class="ibox float-e-margins">
44+
<div class="ibox-title">
45+
<h5>修改密码</h5>
46+
</div>
47+
<div class="ibox-content">
48+
<form class="form-horizontal" style="margin-top: 10px;">
49+
<div class="form-group">
50+
<label class="col-sm-3 control-label">旧密码:</label>
51+
<div class="col-sm-8">
52+
<input type="password" v-model="currentRow.OldPwd" placeholder="旧密码" class="form-control"> <span class="help-block m-b-none">请输入您的旧密码</span>
53+
</div>
54+
</div>
55+
<div class="form-group">
56+
<label class="col-sm-3 control-label">密码:</label>
57+
58+
<div class="col-sm-8">
59+
<input type="password" v-model="currentRow.Pwd" placeholder="密码" class="form-control"><span class="help-block m-b-none">请输入您的新密码</span>
60+
</div>
61+
</div>
62+
<div class="form-group">
63+
<div class="col-sm-offset-3 col-sm-8">
64+
<button class="btn btn-w-m btn-danger authorization" style="display: none" action-id="user-detail-pwd" action-name="修改密码"type="button" v-on:click="_UpdatePwd">修改密码</button>
65+
</div>
66+
</div>
67+
</form>
68+
</div>
69+
</div>
70+
</div>
71+
</div>
72+
73+
@section Scripts{
74+
<script type="text/javascript">
75+
76+
var vm = new Vue({
77+
el: 'body',
78+
data: {
79+
currentRow: {
80+
UserName: '',
81+
Phone: "",
82+
OldPwd: "",
83+
Pwd:""
84+
}
85+
},
86+
computed: {},
87+
ready: function () {
88+
auth();
89+
},
90+
methods: {
91+
_UpdateUserInfo: function () {
92+
QQT.ajax('/Account/UpdateUserInfo',
93+
'POST', vm.currentRow)
94+
.done(function (response) {
95+
swal("成功啦!", "更新成功!", "success");
96+
});
97+
},
98+
_UpdatePwd: function () {
99+
100+
if (!vm.currentRow.OldPwd) {
101+
swal({
102+
title: "",
103+
text: "请输入旧密码!",
104+
type: "error"
105+
});
106+
return;
107+
}
108+
if (!vm.currentRow.Pwd) {
109+
swal({
110+
title: "",
111+
text: "请输入新密码!",
112+
type: "error"
113+
});
114+
return;
115+
}
116+
117+
QQT.ajax('/Account/UpdatePwd',
118+
'POST', vm.currentRow)
119+
.done(function (response) {
120+
swal("更新成功!", "请退出系统重新登录!", "success");
121+
vm.currentRow.OldPwd = '';
122+
vm.currentRow.Pwd = '';
123+
});
124+
}
125+
}
126+
});
127+
128+
129+
130+
</script>
131+
132+
}

0 commit comments

Comments
 (0)