123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114 |
- <template>
- <view>
- <cu-custom bgColor="bg-gradual-blue" :isBack="true">
- <block slot="backText">返回</block>
- <block slot="content">修改密码</block>
- </cu-custom>
- <form @submit="formSubmit">
- <view class="cu-form-group margin-top">
- <view class="title"> <text class="red-color">*</text> 旧密码</view>
- <input placeholder="请输入原密码" type="password" v-model="inputForm.oldPassword" name="oldPassword"></input>
- </view>
- <view class="cu-form-group">
- <view class="title"><text class="red-color">*</text>新密码</view>
- <input placeholder="请输入新密码" type="password" v-model="inputForm.newPassword" name="newPassword"></input>
- </view>
- <view class="cu-form-group">
- <view class="title"><text class="red-color">*</text>确认新密码</view>
- <input placeholder="请确认新密码" type="password" v-model="inputForm.confirmNewPassword" name="confirmNewPassword"></input>
- </view>
- <view class="info">注意:新密码长度必须在6-16位,并且同时包含字母和数字</view>
- <view class="padding-xl">
- <button form-type="submit" class="cu-btn block bg-blue margin-tb-sm lg" >提交</button>
- </view>
- </form>
- </view>
- </template>
- <script>
- import userService from "@/api/sys/userService"
- var graceChecker = require("@/common/graceChecker.js");
- export default {
- onShow() {
- this.$auth.checkLogin()
- },
- data () {
- return {
- loading: false,
- inputForm: {
- oldPassword: '',
- newPassword: '',
- confirmNewPassword: ''
- }
- }
- },
- methods:{
- formSubmit: function(e) {
- //定义表单规则
- var rule = [
- {name:"oldPassword", checkType : "notnull", checkRule:"", errorMsg:"密码不能为空"},
- {name:"newPassword", checkType : "notnull", checkRule:"", errorMsg:"新密码不能为空"},
- {name:"confirmNewPassword", checkType : "notnull", checkRule:"", errorMsg:"确认新密码不能为空"},
- {name:"confirmNewPassword", checkType : "same", checkRule: this.inputForm.newPassword, errorMsg:"两次输入的新密码不一致,请重新输入!"}
- ];
- //进行表单检查
- var formData = e.detail.value;
- var checkRes = graceChecker.check(formData, rule);
-
- if(checkRes){
- uni.showLoading()
- if (this.newPassword && (this.newPassword.length < 6 || this.newPassword.length > 16)) {
- uni.showToast({
- icon: 'none',
- title: '密码长度为6-16位'
- });
- return;
- } else if (!(/\d/.test(this.newPassword) && /[a-zA-Z]/.test(this.newPassword))) {
- uni.showToast({
- icon: 'none',
- title: '密码必须包含字母+数字'
- });
- return;
- }
- userService.savePwd(this.inputForm).then(({data}) => {
- uni.showToast({title:data, icon:"success"});
- uni.navigateTo({
- url: '/pages/user/person/person'
- })
- }).catch((e)=>{
-
- })
-
- }else{
- uni.showToast({ title: graceChecker.error, icon: "none" });
- }
- }
- }
- }
- </script>
- <style>
- .btn-logout {
- margin-top: 100upx;
- width: 80%;
- border-radius: 50upx;
- font-size: 16px;
- color: #fff;
- background: linear-gradient(to right, #365fff, #36bbff);
- }
- .btn-logout-hover {
- background: linear-gradient(to right, #365fdd, #36bbfa);
- }
- .cu-form-group .title {
- min-width: calc(4em + 40px);
- }
-
- .info{
- margin-top: 30rpx;
- font-size: 30rpx;
- color: #333;
- padding-left: 20rpx;
- }
- </style>
|