管理系统PC端
Nevar pievienot vairāk kā 25 tēmas Tēmai ir jāsākas ar burtu vai ciparu, tā var saturēt domu zīmes ('-') un var būt līdz 35 simboliem gara.
 
 
 
 

148 rindas
3.4 KiB

  1. <template>
  2. <div class="home_wrapper">
  3. <van-nav-bar
  4. title="修改密码"
  5. left-arrow
  6. placeholder
  7. safe-area-inset-top
  8. @click-left="onClickLeft"
  9. />
  10. <van-form @submit="onSubmit">
  11. <div class="main">
  12. <p class="title"><i></i>修改密码</p>
  13. <van-field
  14. required
  15. :rules="[{ required: true }]"
  16. v-model="user.oldPassword"
  17. label="旧密码"
  18. placeholder="请输入"
  19. input-align="right"
  20. label-width="auto"
  21. />
  22. <van-field
  23. required
  24. v-model="user.newPassword"
  25. :rules="[{ validator, message: '包含非法字符,重新输入' }]"
  26. label="新密码"
  27. placeholder="请输入"
  28. input-align="right"
  29. label-width="auto"
  30. />
  31. <van-field
  32. required
  33. :rules="[{ required: true }]"
  34. v-model="user.confirmPassword"
  35. label="确认密码"
  36. placeholder="请输入"
  37. input-align="right"
  38. label-width="auto"
  39. />
  40. </div>
  41. <van-button round block type="primary" native-type="submit" class="subClass">提交</van-button>
  42. </van-form>
  43. </div>
  44. </template>
  45. <script>
  46. // import { getMenuApp } from "@/api/app/index";
  47. import Cookies from "js-cookie";
  48. import { updateUserPwd } from "@/api/system/user"
  49. export default {
  50. name: "appUserInfo",
  51. data() {
  52. return {
  53. form: {},
  54. user: {
  55. oldPassword: undefined,
  56. newPassword: undefined,
  57. confirmPassword: undefined
  58. }
  59. };
  60. },
  61. created() {
  62. },
  63. methods: {
  64. onClickLeft(){
  65. history.back(-1);
  66. },
  67. validator(val) {
  68. return /^[^<>"'|\\]+$/.test(val);
  69. },
  70. onSubmit() {
  71. if(this.user.newPassword.length < 6 || this.user.newPassword.length > 20){
  72. this.$modal.msgWarning("长度在 6 到 20 个字符");
  73. return;
  74. }
  75. if (this.user.newPassword != this.user.confirmPassword){
  76. this.$modal.msgWarning("两次输入的密码不一致");
  77. return;
  78. }
  79. updateUserPwd(this.user.oldPassword, this.user.newPassword).then(response => {
  80. this.$modal.msgSuccess("修改成功")
  81. setTimeout(function(){
  82. history.back(-1);
  83. },2000)
  84. })
  85. },
  86. },
  87. };
  88. </script>
  89. <style scoped lang="scss">
  90. p{margin: 0;}
  91. .home_wrapper{
  92. width: 100vw;
  93. min-height: 100vh;
  94. background: #F6F9FB;
  95. padding-bottom: 5vh;
  96. }
  97. .van-nav-bar{
  98. background: linear-gradient( 173deg, #91E2D3 0%, #CDFCF0 100%);
  99. ::v-deep.van-icon{
  100. color: #000000;
  101. }
  102. }
  103. .main{
  104. width: 94%;
  105. margin: 3vw auto;
  106. padding: 3vw;
  107. background-color: #ffffff;
  108. border-radius: 10px;
  109. overflow: hidden;
  110. }
  111. .title{
  112. display: flex;
  113. align-items: center;
  114. font-size: 20px;
  115. font-weight: bold;
  116. margin-bottom: 10px;
  117. i{
  118. width: 5px;
  119. height: 20px;
  120. display: block;
  121. background-color: #29D2AF;
  122. margin-right: 10px;
  123. }
  124. }
  125. .subClass{
  126. background: linear-gradient( 270deg, #53E4A5 0%, #24DBDB 100%);
  127. border-radius: 50px 50px 50px 50px;
  128. border: none;
  129. width: 90%;
  130. margin: 3vw auto;
  131. height: 50px;
  132. display: flex;
  133. align-items: center;
  134. justify-content: center;
  135. color: #ffffff;
  136. font-size: 18px;
  137. }
  138. </style>