index.html 13 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337
  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <meta charset="utf-8"/>
  5. <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
  6. <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
  7. <title>个人中心</title>
  8. <link rel="stylesheet" href="../../../assets/libs/layui/css/layui.css"/>
  9. <link rel="stylesheet" href="../../../assets/module/admin.css?v=312"/>
  10. <style>
  11. .user-info-head {
  12. width: 180px;
  13. height: 180px;
  14. position: relative;
  15. display: inline-block;
  16. border-radius: 50%;
  17. border: 2px solid #eee;
  18. }
  19. .user-info-head:hover:after {
  20. content: '\e65d';
  21. position: absolute;
  22. left: 0;
  23. right: 0;
  24. top: 0;
  25. bottom: 0;
  26. color: #eee;
  27. background: rgba(0, 0, 0, 0.5);
  28. font-family: layui-icon;
  29. font-size: 24px;
  30. font-style: normal;
  31. -webkit-font-smoothing: antialiased;
  32. -moz-osx-font-smoothing: grayscale;
  33. cursor: pointer;
  34. line-height: 180px;
  35. border-radius: 50%;
  36. }
  37. .user-info-head img {
  38. width: 180px;
  39. height: 180px;
  40. border-radius: 50%;
  41. }
  42. .info-list-item {
  43. position: relative;
  44. padding-bottom: 8px;
  45. }
  46. .info-list-item > .layui-icon {
  47. position: absolute;
  48. }
  49. .info-list-item > p {
  50. padding-left: 30px;
  51. }
  52. .dash {
  53. border-bottom: 1px dashed #ccc;
  54. margin: 15px 0;
  55. }
  56. .layui-badge-list .layui-badge {
  57. margin-right: 6px;
  58. }
  59. .layui-badge-list .layui-badge {
  60. padding: 2px 7px;
  61. border: 1px solid #ccc;
  62. margin-bottom: 8px;
  63. background-color: #fafafa !important;
  64. }
  65. .layui-form-label {
  66. width: 100px;
  67. }
  68. .layui-input-block {
  69. margin-left: 130px;
  70. min-height: 36px
  71. }
  72. </style>
  73. </head>
  74. <body>
  75. <!-- 加载动画 -->
  76. <div class="page-loading">
  77. <div class="ball-loader">
  78. <span></span><span></span><span></span><span></span>
  79. </div>
  80. </div>
  81. <!-- 正文开始 -->
  82. <div class="layui-fluid">
  83. <div class="layui-row layui-col-space15">
  84. <!-- 左 -->
  85. <div class="layui-col-sm12 layui-col-md3">
  86. <div class="layui-card">
  87. <div class="layui-card-body" style="padding: 25px;">
  88. <div class="text-center layui-text">
  89. <div class="user-info-head" id="imgHead">
  90. <img src="../../assets/images/head.png"/>
  91. </div>
  92. <h2 style="padding-top: 20px;" id="userName">Serati Ma</h2>
  93. <p style="padding-top: 8px;">海纳百川,有容乃大</p>
  94. </div>
  95. <div class="layui-text" style="padding-top: 30px;">
  96. <div class="info-list-item">
  97. <i class="layui-icon layui-icon-username"></i>
  98. <p>系统管理员帐号</p>
  99. </div>
  100. </div>
  101. <div class="dash"></div>
  102. <h3>标签</h3>
  103. <div class="layui-badge-list" style="padding-top: 6px;">
  104. <span class="layui-badge layui-bg-gray">很有想法的</span>
  105. <span class="layui-badge layui-bg-gray">专注设计</span>
  106. <span class="layui-badge layui-bg-gray">辣~</span>
  107. <span class="layui-badge layui-bg-gray">大长腿</span>
  108. <span class="layui-badge layui-bg-gray">海纳百川</span>
  109. </div>
  110. </div>
  111. </div>
  112. </div>
  113. <!-- 右 -->
  114. <div class="layui-col-sm12 layui-col-md9">
  115. <div class="layui-card">
  116. <div class="layui-card-body layui-text">
  117. <div class="layui-tab layui-tab-brief" lay-filter="userInfoTab">
  118. <ul class="layui-tab-title">
  119. <li class="layui-this">基本信息</li>
  120. <li>修改密码</li>
  121. </ul>
  122. <div class="layui-tab-content">
  123. <div class="layui-tab-item layui-show">
  124. <form id="userInfoForm" lay-filter="userInfoForm"
  125. style="max-width: 550px;margin: 40px auto;" class="layui-form">
  126. <div class="layui-form-item">
  127. <label class="layui-form-label">姓名:</label>
  128. <div class="layui-input-block">
  129. <input type="text" name="accountRealName" value=""
  130. class="layui-input" lay-verify="required" required/>
  131. </div>
  132. </div>
  133. <div class="layui-form-item">
  134. <label class="layui-form-label">手机号码:</label>
  135. <div class="layui-input-block">
  136. <input type="text" name="accountTel" value=""
  137. class="layui-input" lay-verify="required" required/>
  138. </div>
  139. </div>
  140. <div class="layui-form-item">
  141. <label class="layui-form-label">电子邮箱:</label>
  142. <div class="layui-input-block">
  143. <input type="text" name="accountEmail" value=""
  144. class="layui-input" lay-verify="required" required/>
  145. </div>
  146. </div>
  147. <div class="layui-form-item">
  148. <label class="layui-form-label">身份证号:</label>
  149. <div class="layui-input-block">
  150. <input type="text" name="accountIdCard" value=""
  151. class="layui-input" lay-verify=""/>
  152. </div>
  153. </div>
  154. <div class="layui-form-item">
  155. <label class="layui-form-label">个人简介:</label>
  156. <div class="layui-input-block">
  157. <textarea name="accountIntro" placeholder="个人简介"
  158. class="layui-textarea"></textarea>
  159. </div>
  160. </div>
  161. <div class="layui-form-item">
  162. <div class="layui-input-block">
  163. <button class="layui-btn" lay-filter="userInfoSubmit" lay-submit>
  164. 更新基本信息
  165. </button>
  166. </div>
  167. </div>
  168. </form>
  169. </div>
  170. <div class="layui-tab-item">
  171. <form id="resetPassForm" lay-filter="resetPassForm"
  172. style="max-width: 550px;margin: 40px auto;" class="layui-form">
  173. <div class="layui-form-item">
  174. <label class="layui-form-label">旧密码:</label>
  175. <div class="layui-input-block">
  176. <input type="password" name="oldPassword" value=""
  177. class="layui-input" lay-verify="required|validatePass" required/>
  178. </div>
  179. </div>
  180. <div class="layui-form-item">
  181. <label class="layui-form-label">新密码:</label>
  182. <div class="layui-input-block">
  183. <input type="password" name="password" value=""
  184. class="layui-input" lay-verify="required|validatePass" required/>
  185. </div>
  186. </div>
  187. <div class="layui-form-item">
  188. <label class="layui-form-label">请再输入一遍:</label>
  189. <div class="layui-input-block">
  190. <input type="password" name="rePassword" value=""
  191. class="layui-input" lay-verify="required|validatePass" required/>
  192. </div>
  193. </div>
  194. <div class="layui-form-item">
  195. <div class="layui-input-block">
  196. <button class="layui-btn" lay-filter="resetPassSubmit" lay-submit>
  197. 重置密码
  198. </button>
  199. </div>
  200. </div>
  201. </form>
  202. </div>
  203. </div>
  204. </div>
  205. </div>
  206. </div>
  207. </div>
  208. </div>
  209. </div>
  210. <!-- js部分 -->
  211. <script type="text/javascript" src="../../../assets/libs/layui/layui.js"></script>
  212. <script type="text/javascript" src="../../../assets/js/common.js?v=312"></script>
  213. <script>
  214. layui.use(['layer', 'form', 'table', 'util', 'element', 'admin', 'uParas'], function () {
  215. var $ = layui.jquery;
  216. var layer = layui.layer;
  217. var form = layui.form;
  218. var table = layui.table;
  219. var util = layui.util;
  220. var admin = layui.admin;
  221. var uParas = layui.uParas;
  222. //自定义验证规则
  223. form.verify({
  224. validatePass: [
  225. /^[\S]{6,12}$/
  226. , '密码必须6到12位,且不能出现空格'
  227. ]
  228. });
  229. var url = uParas.baseUrl + '/ent/profile';
  230. $.get(url, {}, function (resp) {
  231. if (resp.code == 1) {
  232. var userinfo = resp.data;
  233. form.val('userInfoForm', userinfo); // 回显数据
  234. $("#imgHead").find('img').attr("src", userinfo.accountPic);
  235. $("#userName").html(userinfo.accountName);
  236. } else {
  237. layer.msg(resp.msg)
  238. }
  239. });
  240. // 基本信息更新
  241. form.on('submit(userInfoSubmit)', function (data) {
  242. layer.load();
  243. // var url = uParas.baseUrl + '/ent/profile/update';
  244. // $.post(url, data.field, function (resp) {
  245. // layer.closeAll('loading');
  246. // if (resp.code == 1) {
  247. // layer.msg(resp.msg);
  248. // } else {
  249. // layer.msg(resp.msg);
  250. // }
  251. // });
  252. update(data.field);
  253. return false;
  254. });
  255. // 重置密码
  256. form.on('submit(resetPassSubmit)', function (data) {
  257. layer.load();
  258. var url = uParas.baseUrl + '/ent/profile/updatePassword';
  259. $.post(url, data.field, function (resp) {
  260. layer.closeAll('loading');
  261. if (resp.code == 1) {
  262. layer.msg(resp.msg);
  263. } else {
  264. layer.msg(resp.msg);
  265. }
  266. });
  267. return false;
  268. });
  269. // 选择头像
  270. $('#imgHead').click(function () {
  271. admin.cropImg({
  272. onCrop: function (res) {
  273. $('#imgHead>img').attr('src', res);
  274. var url = uParas.baseUrl + '/admin/uploadBase64';
  275. $.post(url, {base64: res}, function (resp) {
  276. layer.closeAll('loading');
  277. if (resp.code == 1) {
  278. var obj = {};
  279. obj.accountPic = resp.data.path;
  280. update(obj);
  281. } else {
  282. layer.msg(resp.msg);
  283. }
  284. });
  285. }
  286. });
  287. });
  288. function update(data) {
  289. var url = uParas.baseUrl + '/ent/profile/update';
  290. $.post(url, data, function (resp) {
  291. layer.closeAll('loading');
  292. if (resp.code == 1) {
  293. layer.msg(resp.msg);
  294. } else {
  295. layer.msg(resp.msg);
  296. }
  297. });
  298. }
  299. });
  300. </script>
  301. </body>
  302. </html>