profile.html 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232
  1. {extend name="index_layout"/}
  2. {block name="main"}
  3. <style>
  4. .profile-avatar-container {
  5. position: relative;
  6. width: 100px;
  7. }
  8. .profile-avatar-container .profile-user-img {
  9. width: 88px;
  10. height: 88px;
  11. }
  12. .profile-avatar-container .profile-avatar-text {
  13. display: none;
  14. }
  15. .profile-avatar-container:hover .profile-avatar-text {
  16. display: block;
  17. position: absolute;
  18. height: 100px;
  19. width: 100px;
  20. background: #444;
  21. opacity: .6;
  22. color: #fff;
  23. top: 0;
  24. left: 0;
  25. line-height: 100px;
  26. text-align: center;
  27. }
  28. .profile-avatar-container button {
  29. cursor: pointer;
  30. position: absolute;
  31. top: 0;
  32. left: 0;
  33. width: 100px;
  34. height: 100px;
  35. opacity: 0;
  36. }
  37. .img-circle {
  38. border-radius: 50%;
  39. }
  40. .profile-user-img {
  41. margin: 0 auto;
  42. width: 100px;
  43. padding: 3px;
  44. border: 3px solid #d2d6de;
  45. }
  46. .change .layui-form-label {
  47. width: 85px;
  48. padding-left: 0;
  49. }
  50. .change .layui-form-item .layui-input-inline {
  51. margin: 0 10px 0px 0px !important;
  52. float: left;
  53. }
  54. .change .layui-input-block {
  55. margin-left: 100px;
  56. }
  57. </style>
  58. <div class="layui-card pd-20">
  59. <div class="layui-card-header fly-title d-flex justify-content-between align-items-center">
  60. <h2>基本设置</h2>
  61. <a href="{:url('changepwd')}" class="layui-btn layui-btn-sm layui-bg-red"><i class="iconfont icon-lock-fill"></i>&nbsp;修改密码</a>
  62. </div>
  63. <div class="layui-card-body">
  64. <form id="profile-form" class="layui-form" method="post" style="width:450px;" action="{:url('api/user/profile')}">
  65. <input type="hidden" name="avatar" id="c-avatar" value="{:$user->getData('avatar')}" />
  66. <div class="layui-form-item">
  67. <div class="layui-input-block">
  68. <div class="profile-avatar-container">
  69. <img class="profile-user-img img-responsive img-circle" src="{$user.avatar}" alt="">
  70. <div class="profile-avatar-text img-circle">点击编辑</div>
  71. <button type="button" id="faupload-avatar" class="faupload" data-mimetype="png,jpg,jpeg,gif" data-input-id="c-avatar">上传</button>
  72. </div>
  73. </div>
  74. </div>
  75. <div class="layui-form-item">
  76. <label class="layui-form-label">用户名</label>
  77. <div class="layui-input-block">
  78. <input type="text" name="username" required="" lay-verify="required" autocomplete="off" value="{$user.username}" class="layui-input layui-disabled" disabled>
  79. </div>
  80. </div>
  81. <div class="layui-form-item">
  82. <label class="layui-form-label">昵称</label>
  83. <div class="layui-input-block">
  84. <input type="text" name="nickname" required="" lay-verify="required" autocomplete="off" value="{$user.nickname}" class="layui-input">
  85. </div>
  86. </div>
  87. <div class="layui-form-item">
  88. <label class="layui-form-label">手机</label>
  89. <div class="layui-input-inline">
  90. <input type="text" name="mobile" required="" lay-verify="phone" autocomplete="off" value="{$user.mobile}" class="layui-input layui-disabled" disabled>
  91. </div>
  92. <div class="layui-form-mid" style="padding: 0!important;">
  93. {eq name="user.ischeck_mobile" value="1"}
  94. <button class="layui-btn btn-change" type="button" data-type="changemobile" data-title="修改手机">修改</button>
  95. {else/}
  96. <button class="layui-btn layui-btn-danger btn-change" type="button" data-type="actmobile" data-title="激活手机">激活</button>
  97. {/eq}
  98. </div>
  99. </div>
  100. <div class="layui-form-item">
  101. <label class="layui-form-label">邮箱</label>
  102. <div class="layui-input-inline">
  103. <input type="text" name="email" required="" lay-verify="email" autocomplete="off" value="{$user.email}" class="layui-input layui-disabled" disabled>
  104. </div>
  105. <div class="layui-form-mid" style="padding: 0!important;">
  106. {eq name="user.ischeck_email" value="1"}
  107. <button class="layui-btn btn-change" type="button" data-type="changeemail" data-title="修改邮箱">修改</button>
  108. {else/}
  109. <button class="layui-btn layui-btn-danger btn-change" type="button" data-type="actemail" data-title="激活邮箱">激活</button>
  110. {/eq}
  111. </div>
  112. </div>
  113. <div class="layui-form-item">
  114. <label class="layui-form-label">性别</label>
  115. <div class="layui-input-block">
  116. <input type="radio" name="gender" value="0" title="保密" {if $user.gender==0}checked{/if}> <input type="radio" name="gender" value="1" title="男" {if $user.gender==1}checked{/if}> <input type="radio" name="gender" value="2" title="女" {if $user.gender==2}checked{/if}> </div> </div> <div class="layui-form-item">
  117. <label class="layui-form-label">生日</label>
  118. <div class="layui-input-block">
  119. <input type="text" name="birthday" class="layui-input datetime" placeholder="生日" value="{$user.birthday}" data-date-type="date" data-date="yyyy-MM-dd">
  120. </div>
  121. </div>
  122. <div class="layui-form-item">
  123. <label class="layui-form-label">个性签名</label>
  124. <div class="layui-input-block">
  125. <textarea placeholder="请输入个性签名" name="motto" class="layui-textarea">{$user.motto}</textarea>
  126. </div>
  127. </div>
  128. {:hook("user_config")}
  129. <div class="layui-form-item">
  130. <div class="layui-input-block">
  131. <button class="layui-btn layui-bg-black" lay-submit lay-filter="profile-form">确认修改</button>
  132. </div>
  133. </div>
  134. </form>
  135. </div>
  136. </div>
  137. <script type="text/html" id="actmobileTpl">
  138. <form class="layui-form change" method="post" style="padding:20px;" action="{:url('api/user/actmobile')}">
  139. <div class="layui-form-item">
  140. <label class="layui-form-label">手机号</label>
  141. <div class="layui-input-inline">
  142. <input type="text" name="mobile" id="mobile" required="" lay-verify="required|phone" autocomplete="off" value="{$user.mobile}" class="layui-input layui-disabled" disabled placeholder="手机号">
  143. </div>
  144. </div>
  145. <div class="layui-form-item">
  146. <label class="layui-form-label">验证码</label>
  147. <div class="layui-input-inline" style="width: 120px!important;">
  148. <input type="text" name="captcha" required="" lay-verify="required" autocomplete="off" value="" class="layui-input">
  149. </div>
  150. <button class="layui-btn btn-captcha layui-btn-primary layui-border-blue" type="button" data-event="actmobile" data-type="mobile" data-url="{:url('api/sms/send')}">获取验证码</button>
  151. </div>
  152. <div class="layui-form-item">
  153. <div class="layui-input-block">
  154. <button class="layui-btn" lay-submit lay-filter="actmobile">确认修改</button>
  155. </div>
  156. </div>
  157. </form>
  158. </script>
  159. <script type="text/html" id="actemailTpl">
  160. <form class="layui-form change" method="post" style="padding: 20px;" action="{:url('api/user/actemail')}">
  161. <div class="layui-form-item">
  162. <label class="layui-form-label">邮箱</label>
  163. <div class="layui-input-inline">
  164. <input type="text" name="email" required="" lay-verify="required|email" id="email" autocomplete="off" value="{$user.email}" class="layui-input layui-disabled" disabled placeholder="邮箱">
  165. </div>
  166. </div>
  167. <div class="layui-form-item">
  168. <label class="layui-form-label">验证码</label>
  169. <div class="layui-input-inline" style="width: 120px!important;">
  170. <input type="text" name="captcha" required="" lay-verify="required" autocomplete="off" value="" class="layui-input">
  171. </div>
  172. <button class="layui-btn btn-captcha layui-btn-primary layui-border-blue" type="button" data-event="actemail" data-type="email" data-url="{:url('api/ems/send')}">获取验证码</button>
  173. </div>
  174. <div class="layui-form-item">
  175. <div class="layui-input-block">
  176. <button class="layui-btn" lay-submit lay-filter="actemail">确认修改</button>
  177. </div>
  178. </div>
  179. </form>
  180. </script>
  181. <script type="text/html" id="changemobileTpl">
  182. <form class="layui-form change" method="post" style="padding:20px;" action="{:url('api/user/changemobile')}">
  183. <div class="layui-form-item">
  184. <label class="layui-form-label">新手机号</label>
  185. <div class="layui-input-inline">
  186. <input type="text" name="mobile" id="mobile" required="" lay-verify="required|phone" autocomplete="off" value="" class="layui-input" placeholder="新手机号"></div>
  187. </div>
  188. <div class="layui-form-item">
  189. <label class="layui-form-label">验证码</label>
  190. <div class="layui-input-inline" style="width: 120px!important;">
  191. <input type="text" name="captcha" required="" lay-verify="required" autocomplete="off" value="" class="layui-input">
  192. </div>
  193. <button class="layui-btn btn-captcha layui-btn-primary layui-border-blue" type="button" data-event="changemobile" data-type="mobile" data-url="{:url('api/sms/send')}">获取验证码</button>
  194. </div>
  195. <div class="layui-form-item">
  196. <div class="layui-input-block">
  197. <button class="layui-btn" lay-submit lay-filter="changemobile">确认修改</button>
  198. </div>
  199. </div>
  200. </form>
  201. </script>
  202. <script type="text/html" id="changeemailTpl">
  203. <form class="layui-form change" method="post" style="padding: 20px;" action="{:url('api/user/changeemail')}">
  204. <div class="layui-form-item">
  205. <label class="layui-form-label">新邮箱</label>
  206. <div class="layui-input-inline">
  207. <input type="text" name="email" required="" lay-verify="required|email" id="email" autocomplete="off" value="" class="layui-input" placeholder="新邮箱"></div>
  208. </div>
  209. <div class="layui-form-item">
  210. <label class="layui-form-label">验证码</label>
  211. <div class="layui-input-inline" style="width: 120px!important;">
  212. <input type="text" name="captcha" required="" lay-verify="required" autocomplete="off" value="" class="layui-input">
  213. </div>
  214. <button class="layui-btn btn-captcha layui-btn-primary layui-border-blue" type="button" data-event="changeemail" data-type="email" data-url="{:url('api/ems/send')}">获取验证码</button>
  215. </div>
  216. <div class="layui-form-item">
  217. <div class="layui-input-block">
  218. <button class="layui-btn" lay-submit lay-filter="changeemail">确认修改</button>
  219. </div>
  220. </div>
  221. </form>
  222. </script>
  223. {/block}