123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206 |
- <template>
- <!-- 修改密码 -->
- <div class="changePassword flex-col">
- <s-header :name="$t('changePassword.changePassword')" :noback="false"></s-header>
- <div class="changePasswordFormBox">
- <van-form @submit="changePasswordSubmit">
- <van-field v-model="password" name="password" type="password" :label="$t('changePassword.passwordLabel')"
- :placeholder="$t('changePassword.passwordPlaceholder')"
- :rules="[{ required: true, message: $t('changePassword.passwordRequired') }]" />
- <van-field v-model="passwordCheck" name="passwordCheck" type="password"
- :label="$t('changePassword.passwordCheckLabel')" :placeholder="$t('changePassword.passwordCheckPlaceholder')"
- :rules="[{ required: true, message: $t('changePassword.passwordCheckRequired') }]" />
- <van-button round type="primary" class="register" native-type="submit">{{ $t('changePassword.registerButton') }}
- </van-button>
- </van-form>
- </div>
- </div>
- </template>
- <script>
- import md5 from 'js-md5';
- import { ref } from 'vue';
- import { Toast } from 'vant';
- import sHeader from "@/components/SimpleHeader";
- // import { useRouter, useRoute } from "vue-router";
- import { useRouter} from "vue-router";
- import { updatePassword } from '@/service/changePassword';
- import { useI18n } from 'vue-i18n';
- import { getLoginUser } from "@/common/js/utils";
- export default {
- setup() {
- // 引入语言
- const { t } = useI18n();
- const router = useRouter();
- // const route = useRoute();
- const user = getLoginUser();
- const password = ref('');
- const passwordCheck = ref('');
- // 验证-表单
- const changePasswordSubmit = async () => {
- if (password.value !== passwordCheck.value) {
- Toast.fail(t('changePassword.inconsistentPasswords'));
- return false;
- }
- const { data } = await updatePassword({
- // username: route.query.name,
- username: user.username,
- password: md5(password.value)
- });
- if (data.code === '00000') {
- Toast(t('changePassword.pwdEditSucess'));
- router.push({ path: '/login' });
- } else {
- Toast.fail(data.message);
- }
- };
- return {
- password,
- passwordCheck,
- changePasswordSubmit
- };
- },
- components: { sHeader },
- };
- </script>
- <style lang="less" scoped>
- @import "../common/style/mixin";
- .changePassword {
- .changePasswordFormBox {
- width: 313px;
- margin: 0 auto;
- text-align: center;
- .van-form {
- .van-cell {
- width: 313px;
- height: 38px;
- background-color: rgba(255, 255, 255, 1);
- padding: 0;
- color: rgba(168, 168, 197, 1);
- font-size: 13px;
- margin: 0 auto;
- margin-top: 20px;
- overflow: visible;
- &::after {
- display: none;
- }
- .van-field__control {
- height: 38px;
- line-height: 38px;
- padding: 6px;
- border-radius: 2px;
- border: 0.5px solid rgba(185, 186, 208, 1);
- &:-internal-autofill-previewed,
- &:-internal-autofill-selected {
- -webkit-text-fill-color: #323233 !important;
- transition: background-color 5000s ease-in-out 0s !important;
- }
- }
- .van-field__control::-webkit-input-placeholder {
- color: rgba(168, 168, 197, 1);
- }
- .van-cell__value {
- width: 100%;
- flex: 0 auto;
- }
- .van-field__label {
- height: 38px;
- line-height: 38px;
- width: 5em;
- }
- .radioBox {
- display: flex;
- .van-radio-group--horizontal {
- width: 100%;
- justify-content: space-around;
- }
- .van-radio {
- overflow: visible;
- }
- .van-radio__icon {
- font-size: 13px;
- .van-icon {
- width: 12px;
- height: 12px;
- border-color: #4d6add;
- }
- }
- .van-radio__label {
- line-height: 13px;
- }
- .van-radio__icon--checked .van-icon-success {
- border-color: #4d6add;
- background: #4d6add;
- }
- .van-radio__icon--checked .van-icon-success::before {
- content: '';
- background: #fff;
- width: 40%;
- height: 40%;
- position: absolute;
- top: 30%;
- left: 30%;
- border-radius: 100%;
- }
- .van-radio__icon--checked+.van-radio__label {
- color: #4d6add;
- }
- }
- }
- }
- .info2 {
- height: 13px;
- overflow-wrap: break-word;
- color: rgba(64, 77, 116, 1);
- font-size: 13px;
- text-align: left;
- white-space: nowrap;
- line-height: 13px;
- display: block;
- margin: 34px 0 0 0;
- }
- .word2 {
- height: 13px;
- overflow-wrap: break-word;
- color: rgba(64, 77, 116, 1);
- font-size: 13px;
- text-align: left;
- white-space: nowrap;
- line-height: 13px;
- display: block;
- margin: 14px 0 0 0;
- }
- .register {
- background-color: rgba(77, 106, 221, 1);
- border-radius: 17px;
- height: 34px;
- width: 220px;
- margin-top: 60px;
- font-size: 15px;
- font-family: PingFangSC-Medium;
- }
- }
- }
- </style>
|