|
@@ -1,87 +1,98 @@
|
|
|
<template>
|
|
<template>
|
|
|
<view class="user-form crm-form">
|
|
<view class="user-form crm-form">
|
|
|
|
|
+ <view class="card">
|
|
|
|
|
+ <view class="bank-menu card-header">
|
|
|
|
|
+ <view v-for="item in types" :key="item.key" class="bank-menu-item"
|
|
|
|
|
+ :class="{ active: selectedType === item.key }" @click="selectedType = item.key">
|
|
|
|
|
+ <!-- <image class="bank-icon" :src="item.icon" mode="widthFix" />-->
|
|
|
|
|
+ <text>{{ item.label }}</text>
|
|
|
|
|
+ </view>
|
|
|
|
|
+ </view>
|
|
|
<uni-row class="demo-uni-row uni-row1" :gutter="20">
|
|
<uni-row class="demo-uni-row uni-row1" :gutter="20">
|
|
|
- <uni-col :xs="24" :sm="24" :md="24" :lg="12" :xl="12" >
|
|
|
|
|
- <view class="card bg-body p-3">
|
|
|
|
|
- <view class="content-title">
|
|
|
|
|
- <view v-t="'PersonalManagement.Title.CustomerZonePasswordChange'"></view>
|
|
|
|
|
- </view>
|
|
|
|
|
- <hr>
|
|
|
|
|
- <uni-forms :model="passwordInfo" labelWidth="200" label-position="top">
|
|
|
|
|
- <uni-row class="demo-uni-row">
|
|
|
|
|
- <uni-col :xs="24">
|
|
|
|
|
- <uni-forms-item :label="t('PersonalManagement.Label.OldPassword')">
|
|
|
|
|
- <uni-easyinput :clearable="false" v-model="passwordInfo.oldPassword"
|
|
|
|
|
- :placeholder="locale == 'es' ? 'Introduzca el nombre de la red' : t('placeholder.input')" />
|
|
|
|
|
- </uni-forms-item>
|
|
|
|
|
- </uni-col>
|
|
|
|
|
- <uni-col :xs="24">
|
|
|
|
|
- <uni-forms-item :label="t('PersonalManagement.Label.NewPassword')">
|
|
|
|
|
- <uni-easyinput :clearable="false" v-model="passwordInfo.newPassword"
|
|
|
|
|
- :placeholder="locale == 'es' ? 'Introduzca nueva contraseña' : t('placeholder.input')" />
|
|
|
|
|
- </uni-forms-item>
|
|
|
|
|
- </uni-col>
|
|
|
|
|
- <uni-col :xs="24">
|
|
|
|
|
- <uni-forms-item :label="t('PersonalManagement.Label.NewPasswordConfirmation')">
|
|
|
|
|
- <uni-easyinput :clearable="false" v-model="passwordInfo.checkPass"
|
|
|
|
|
- :placeholder="locale == 'es' ? 'Introduzca nueva contraseña' : t('placeholder.input')" />
|
|
|
|
|
- </uni-forms-item>
|
|
|
|
|
- </uni-col>
|
|
|
|
|
- <uni-col :xs="24">
|
|
|
|
|
- <view class="notice-list">
|
|
|
|
|
- <view v-for="(item, index) in noticeItems" :key="index"
|
|
|
|
|
- :class="['notice-item', item.valid ? 'isOK' : '']">
|
|
|
|
|
- {{ item.label }}
|
|
|
|
|
- </view>
|
|
|
|
|
- </view>
|
|
|
|
|
- </uni-col>
|
|
|
|
|
- <uni-col :xs="24">
|
|
|
|
|
- <view class="btn btn-confirm mt-4" @click="passwordUpdate">{{ locale == 'es' ?
|
|
|
|
|
- 'Actualizarcontraseña' : t('Btn.Application') }}</view>
|
|
|
|
|
- </uni-col>
|
|
|
|
|
- </uni-row>
|
|
|
|
|
- </uni-forms>
|
|
|
|
|
|
|
+ <uni-col v-show="selectedType == 1" :xs="24" :sm="24" :md="24" :lg="12" :xl="12" :offset="6">
|
|
|
|
|
+ <view class=" p-3">
|
|
|
|
|
+ <view class="content-title">
|
|
|
|
|
+ <view v-t="'PersonalManagement.Title.CustomerZonePasswordChange'"></view>
|
|
|
</view>
|
|
</view>
|
|
|
- </uni-col>
|
|
|
|
|
- <uni-col :xs="24" :sm="24" :md="24" :lg="12" :xl="12">
|
|
|
|
|
- <view class="card bg-body p-3">
|
|
|
|
|
- <view class="content-title">
|
|
|
|
|
- <view v-t="'PersonalManagement.Title.EmailChange'"></view>
|
|
|
|
|
- </view>
|
|
|
|
|
- <hr>
|
|
|
|
|
- <uni-forms :model="emailInfo" labelWidth="200" label-position="top">
|
|
|
|
|
- <uni-row class="demo-uni-row">
|
|
|
|
|
- <uni-col :xs="24">
|
|
|
|
|
- <uni-forms-item :label="t('PersonalManagement.Label.OldEmail')">
|
|
|
|
|
- <uni-easyinput :clearable="false" v-model="emailInfo.oldEmail"
|
|
|
|
|
- :placeholder="t('placeholder.input')" />
|
|
|
|
|
- </uni-forms-item>
|
|
|
|
|
- </uni-col>
|
|
|
|
|
- <uni-col :xs="24">
|
|
|
|
|
- <uni-forms-item :label="t('PersonalManagement.Label.NewEmail')">
|
|
|
|
|
- <uni-easyinput :clearable="false" v-model="emailInfo.email"
|
|
|
|
|
- :placeholder="t('placeholder.input')" />
|
|
|
|
|
- </uni-forms-item>
|
|
|
|
|
- </uni-col>
|
|
|
|
|
- <uni-col :xs="24">
|
|
|
|
|
- <view class="email-code">
|
|
|
|
|
- <uni-forms-item :label="t('PersonalManagement.Label.MailboxVerificationCode')"
|
|
|
|
|
- class="email-code-item">
|
|
|
|
|
- <uni-easyinput :clearable="false" v-model="emailInfo.emailCode"
|
|
|
|
|
- :placeholder="locale == 'es' ? 'Código de 6 dígitos' : t('placeholder.input')" />
|
|
|
|
|
- </uni-forms-item>
|
|
|
|
|
- <view class="btn btn-code" @click="handleGetCode">{{ getCodeString }}</view>
|
|
|
|
|
- </view>
|
|
|
|
|
- </uni-col>
|
|
|
|
|
- <uni-col :xs="24">
|
|
|
|
|
- <view class="btn btn-confirm mt-4" @click="emailUpdate">{{ locale == 'es' ?
|
|
|
|
|
- 'Actualizarcontraseña' : t('Btn.Application') }}</view>
|
|
|
|
|
- </uni-col>
|
|
|
|
|
- </uni-row>
|
|
|
|
|
- </uni-forms>
|
|
|
|
|
|
|
+ <hr>
|
|
|
|
|
+ <uni-forms :model="passwordInfo" labelWidth="200" label-position="top">
|
|
|
|
|
+ <uni-row class="demo-uni-row">
|
|
|
|
|
+ <uni-col :xs="24">
|
|
|
|
|
+ <uni-forms-item :label="t('PersonalManagement.Label.OldPassword')">
|
|
|
|
|
+ <uni-easyinput :clearable="false" v-model="passwordInfo.oldPassword"
|
|
|
|
|
+ :placeholder="locale == 'es' ? 'Introduzca el nombre de la red' : t('placeholder.input')" />
|
|
|
|
|
+ </uni-forms-item>
|
|
|
|
|
+ </uni-col>
|
|
|
|
|
+ <uni-col :xs="24">
|
|
|
|
|
+ <uni-forms-item :label="t('PersonalManagement.Label.NewPassword')">
|
|
|
|
|
+ <uni-easyinput :clearable="false" v-model="passwordInfo.newPassword"
|
|
|
|
|
+ :placeholder="locale == 'es' ? 'Introduzca nueva contraseña' : t('placeholder.input')" />
|
|
|
|
|
+ </uni-forms-item>
|
|
|
|
|
+ </uni-col>
|
|
|
|
|
+ <uni-col :xs="24">
|
|
|
|
|
+ <uni-forms-item :label="t('PersonalManagement.Label.NewPasswordConfirmation')">
|
|
|
|
|
+ <uni-easyinput :clearable="false" v-model="passwordInfo.checkPass"
|
|
|
|
|
+ :placeholder="locale == 'es' ? 'Introduzca nueva contraseña' : t('placeholder.input')" />
|
|
|
|
|
+ </uni-forms-item>
|
|
|
|
|
+ </uni-col>
|
|
|
|
|
+ <uni-col :xs="24">
|
|
|
|
|
+ <view class="notice-list">
|
|
|
|
|
+ <view v-for="(item, index) in noticeItems" :key="index"
|
|
|
|
|
+ :class="['notice-item', item.valid ? 'isOK' : '']">
|
|
|
|
|
+ {{ item.label }}
|
|
|
|
|
+ </view>
|
|
|
|
|
+ </view>
|
|
|
|
|
+ </uni-col>
|
|
|
|
|
+ <uni-col :xs="24">
|
|
|
|
|
+ <view class="btn btn-confirm mt-4" @click="passwordUpdate">{{ locale == 'es' ?
|
|
|
|
|
+ 'Actualizarcontraseña' : t('Btn.Application') }}</view>
|
|
|
|
|
+ </uni-col>
|
|
|
|
|
+ </uni-row>
|
|
|
|
|
+ </uni-forms>
|
|
|
|
|
+ </view>
|
|
|
|
|
+ </uni-col>
|
|
|
|
|
+ <uni-col v-show="selectedType == 2" :xs="24" :sm="24" :md="24" :lg="12" :xl="12" :offset="6">
|
|
|
|
|
+ <view class=" p-3">
|
|
|
|
|
+ <view class="content-title">
|
|
|
|
|
+ <view v-t="'PersonalManagement.Title.EmailChange'"></view>
|
|
|
</view>
|
|
</view>
|
|
|
- </uni-col>
|
|
|
|
|
|
|
+ <hr>
|
|
|
|
|
+ <uni-forms :model="emailInfo" labelWidth="200" label-position="top">
|
|
|
|
|
+ <uni-row class="demo-uni-row">
|
|
|
|
|
+ <uni-col :xs="24">
|
|
|
|
|
+ <uni-forms-item :label="t('PersonalManagement.Label.OldEmail')">
|
|
|
|
|
+ <uni-easyinput :clearable="false" v-model="emailInfo.oldEmail"
|
|
|
|
|
+ :placeholder="t('placeholder.input')" />
|
|
|
|
|
+ </uni-forms-item>
|
|
|
|
|
+ </uni-col>
|
|
|
|
|
+ <uni-col :xs="24">
|
|
|
|
|
+ <uni-forms-item :label="t('PersonalManagement.Label.NewEmail')">
|
|
|
|
|
+ <uni-easyinput :clearable="false" v-model="emailInfo.email"
|
|
|
|
|
+ :placeholder="t('placeholder.input')" />
|
|
|
|
|
+ </uni-forms-item>
|
|
|
|
|
+ </uni-col>
|
|
|
|
|
+ <uni-col :xs="24">
|
|
|
|
|
+ <view class="email-code">
|
|
|
|
|
+ <uni-forms-item :label="t('PersonalManagement.Label.MailboxVerificationCode')"
|
|
|
|
|
+ class="email-code-item">
|
|
|
|
|
+ <uni-easyinput :clearable="false" v-model="emailInfo.emailCode"
|
|
|
|
|
+ :placeholder="locale == 'es' ? 'Código de 6 dígitos' : t('placeholder.input')" />
|
|
|
|
|
+ </uni-forms-item>
|
|
|
|
|
+ <view class="btn btn-code" @click="handleGetCode">{{ getCodeString }}</view>
|
|
|
|
|
+ </view>
|
|
|
|
|
+ </uni-col>
|
|
|
|
|
+ <uni-col :xs="24">
|
|
|
|
|
+ <view class="btn btn-confirm mt-4" @click="emailUpdate">{{ locale == 'es' ?
|
|
|
|
|
+ 'Actualizarcontraseña' : t('Btn.Application') }}</view>
|
|
|
|
|
+ </uni-col>
|
|
|
|
|
+ </uni-row>
|
|
|
|
|
+ </uni-forms>
|
|
|
|
|
+ </view>
|
|
|
|
|
+ </uni-col>
|
|
|
</uni-row>
|
|
</uni-row>
|
|
|
|
|
+ </view>
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
</view>
|
|
</view>
|
|
|
</template>
|
|
</template>
|
|
|
|
|
|
|
@@ -114,6 +125,16 @@ const passwordInfo = ref({
|
|
|
const emailInfo = ref({
|
|
const emailInfo = ref({
|
|
|
email: '',
|
|
email: '',
|
|
|
});
|
|
});
|
|
|
|
|
+const selectedType = ref(1)
|
|
|
|
|
+const types = computed(() => {
|
|
|
|
|
+ return [
|
|
|
|
|
+ { key: '1', label: t('PersonalManagement.Title.CustomerZonePasswordChange') },
|
|
|
|
|
+ {
|
|
|
|
|
+ key: '2',
|
|
|
|
|
+ label: t('PersonalManagement.Title.EmailChange'),
|
|
|
|
|
+ },
|
|
|
|
|
+ ]
|
|
|
|
|
+})
|
|
|
const rule1 = computed(() => {
|
|
const rule1 = computed(() => {
|
|
|
if (!passwordInfo.value.newPassword) {
|
|
if (!passwordInfo.value.newPassword) {
|
|
|
return false;
|
|
return false;
|
|
@@ -292,7 +313,7 @@ onMounted(() => {
|
|
|
:deep(.email-code-item) {
|
|
:deep(.email-code-item) {
|
|
|
flex: 1;
|
|
flex: 1;
|
|
|
.uni-easyinput__content{
|
|
.uni-easyinput__content{
|
|
|
- border-radius: px2rpx(8) 0 0 px2rpx(8);
|
|
|
|
|
|
|
+ border-radius: px2rpx(6) 0 0 px2rpx(6);
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
|
|
|
|
@@ -304,11 +325,100 @@ onMounted(() => {
|
|
|
color: #fff;
|
|
color: #fff;
|
|
|
height: 3rem;
|
|
height: 3rem;
|
|
|
text-align: center;
|
|
text-align: center;
|
|
|
- border-radius: 0 25px 25px 0;
|
|
|
|
|
|
|
+ border-radius: 0 px2rpx(6) px2rpx(6) 0;
|
|
|
cursor: pointer;
|
|
cursor: pointer;
|
|
|
font-size: 14px;
|
|
font-size: 14px;
|
|
|
flex-shrink: 0;
|
|
flex-shrink: 0;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
}
|
|
}
|
|
|
|
|
+ .bank-menu {
|
|
|
|
|
+ background: #fff;
|
|
|
|
|
+ overflow: hidden;
|
|
|
|
|
+
|
|
|
|
|
+ .bank-menu-item {
|
|
|
|
|
+ display: flex;
|
|
|
|
|
+ align-items: center;
|
|
|
|
|
+ gap: px2rpx(12);
|
|
|
|
|
+ padding: px2rpx(10) px2rpx(16);
|
|
|
|
|
+ cursor: pointer;
|
|
|
|
|
+ border: 1px solid #f3f4f6;
|
|
|
|
|
+ font-size: px2rpx(16);
|
|
|
|
|
+ font-weight: 500;
|
|
|
|
|
+ color: #1f2937;
|
|
|
|
|
+ transition: all 0.3s;
|
|
|
|
|
+ height: px2rpx(50);
|
|
|
|
|
+ border-radius: px2rpx(8);
|
|
|
|
|
+ margin-bottom: px2rpx(8);
|
|
|
|
|
+
|
|
|
|
|
+ .bank-icon {
|
|
|
|
|
+ width: px2rpx(50);
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ &.active {
|
|
|
|
|
+ background: #ea2027;
|
|
|
|
|
+ color: var(--bs-emphasis-color);
|
|
|
|
|
+ border-radius: px2rpx(0);
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ &:hover {
|
|
|
|
|
+ background: #f9fafb;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ &.active:hover {
|
|
|
|
|
+ background: #d11920;
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ .bank-menu {
|
|
|
|
|
+ // background: #fff;
|
|
|
|
|
+ display: flex;
|
|
|
|
|
+ flex-wrap: wrap;
|
|
|
|
|
+ overflow: hidden;
|
|
|
|
|
+
|
|
|
|
|
+ &.card-header {
|
|
|
|
|
+ padding: px2rpx(10) px2rpx(20);
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ .bank-menu-item {
|
|
|
|
|
+ flex: 1;
|
|
|
|
|
+ min-width: px2rpx(260);
|
|
|
|
|
+ display: flex;
|
|
|
|
|
+ align-items: center;
|
|
|
|
|
+ justify-content: center;
|
|
|
|
|
+ //gap: px2rpx(12);
|
|
|
|
|
+ padding: 0 px2rpx(16);
|
|
|
|
|
+ cursor: pointer;
|
|
|
|
|
+ font-size: px2rpx(16);
|
|
|
|
|
+ font-weight: bold;
|
|
|
|
|
+ color: var(--bs-emphasis-color);
|
|
|
|
|
+ transition: all 0.3s;
|
|
|
|
|
+ height: px2rpx(36);
|
|
|
|
|
+ border-radius: px2rpx(8);
|
|
|
|
|
+
|
|
|
|
|
+ .bank-icon {
|
|
|
|
|
+ width: px2rpx(50);
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ &.active {
|
|
|
|
|
+ background: #f5f5f5;
|
|
|
|
|
+ color: #000;
|
|
|
|
|
+ border-radius: px2rpx(8);
|
|
|
|
|
+
|
|
|
|
|
+ &:hover {
|
|
|
|
|
+ background: var(--bs-link-hover-color-rgb);
|
|
|
|
|
+ color: #333;
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ &:hover {
|
|
|
|
|
+ background: #f5f5f5;
|
|
|
|
|
+ color: #333;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ &.active:hover {
|
|
|
|
|
+ background: #f5f5f5;
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
</style>
|
|
</style>
|