| | |
| | | <div class="info-box flex"> |
| | | <span class="label">用户名:</span> |
| | | <span class="text">{{ userStore?.userInfo.name }}</span> |
| | | <span class="change-info hover" @click="changeUserInfo('password')">修改密码</span> |
| | | <!-- <span class="change-info hover" @click="changeUserInfo('password')">修改密码</span> --> |
| | | </div> |
| | | <div class="info-box flex"> |
| | | <span class="label">微信认证:</span> |
| | |
| | | userStore?.userInfo?.phoneNumber ? '更换手机号' : '绑定' |
| | | }}</span> |
| | | </div> |
| | | <div class="info-box flex"> |
| | | <!-- <div class="info-box flex"> |
| | | <span class="label">邮箱:</span> |
| | | <span class="text">{{ |
| | | userStore?.userInfo?.Email ? userStore.userInfo?.Email : '--' |
| | |
| | | <span class="change-info hover" @click="changeUserInfo('email')">{{ |
| | | userStore?.userInfo?.Email ? '更换邮箱' : '绑定邮箱' |
| | | }}</span> |
| | | </div> |
| | | </div> --> |
| | | </div> |
| | | </div> |
| | | <!-- <div class="content-item"> |
| | | <div class="item-title flex jc-sb"> |
| | | <span>用户类型</span> |
| | | <span class="change-info hover" @click="updateUserInfo()">修改</span> |
| | | </div> |
| | | <div class="item-box"> |
| | | <div class="info-box flex"> |
| | | <span class="label">用户类型:</span> |
| | | <span class="text">{{ userInfo.userType }}</span> |
| | | </div> |
| | | </div> |
| | | </div> --> |
| | | <div class="content-item"> |
| | | <div class="item-title flex jc-sb"> |
| | | <span>教师认证</span> |
| | |
| | | <span class="text wait" v-if="teacherState == 'WaitAudit'">等待审核</span> |
| | | <span class="text yes" v-else-if="teacherState == 'Normal'">已认证</span> |
| | | <span class="text no" v-else-if="teacherState == 'Reject'">已驳回</span> |
| | | <span class="text wait" v-if="teacherState === ''">待认证</span> |
| | | <span class="text no" v-if="teacherState === ''">待认证</span> |
| | | </div> |
| | | <div v-if="teacherState == 'Reject'"> |
| | | <span class="title">驳回原因</span> : |
| | | <span @click="lookReason()" class="wait hover">查看原因</span> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <div class="content-item"> |
| | | <div class="item-title flex jc-sb"> |
| | | <span>我的积分</span> |
| | | <span class="record hover" @click="recordDialog()">积分记录</span> |
| | | </div> |
| | | <div class="item-box"> |
| | | <div class="info-box flex"> |
| | | <span class="label">积分:</span> |
| | | <span class="text">{{ userInfo.integral }}</span> |
| | | </div> |
| | | </div> |
| | | </div> |
| | |
| | | class="myDialogs" |
| | | @close="closeUserInfoDialog(userFormRef)" |
| | | > |
| | | <div> |
| | | <div class="dialog-content"> |
| | | <el-form |
| | | ref="userFormRef" |
| | | :model="userInfoForm" |
| | |
| | | </el-button> |
| | | </div> |
| | | </el-form-item> |
| | | <el-form-item label="新密码:" prop="password" v-if="changeType == 'password'"> |
| | | <el-input |
| | | type="password" |
| | | v-model="userInfoForm.password" |
| | | autocomplete="off" |
| | | placeholder="请输入8-16位新密码,且不能为纯数字" |
| | | /> |
| | | </el-form-item> |
| | | <el-form-item label="确认密码:" prop="confirmPassword" v-if="changeType == 'password'"> |
| | | <el-input |
| | | type="password" |
| | | v-model="userInfoForm.confirmPassword" |
| | | autocomplete="off" |
| | | placeholder="请输入确认密码" |
| | | /> |
| | | </el-form-item> |
| | | </el-form> |
| | | </div> |
| | | <template #footer> |
| | |
| | | </div> |
| | | </el-dialog> |
| | | <!-- 用户类型修改 --> |
| | | <login ref="loginRef"></login> |
| | | <!-- <login ref="loginRef"></login> --> |
| | | <!-- 查看原因 --> |
| | | <el-dialog |
| | | align-center |
| | |
| | | <script setup lang="ts"> |
| | | import { reactive, ref, inject, onMounted, watch } from 'vue' |
| | | import type { FormInstance, FormRules } from 'element-plus' |
| | | import verify from '@/components/sliderImg/component/verify.vue' |
| | | import '@/components/sliderImg/sliderImg.js' |
| | | import '@/components/sliderImg/sliderImg.css' |
| | | import { ElMessage } from 'element-plus' |
| | | import { useUserStore } from '@/store' |
| | | // import wxlogin from 'vue-wxlogin' |
| | | import teacherCertification from './teacherCertification.vue' |
| | | import login from '@/layout/components/login.vue' |
| | | const userStore = useUserStore() |
| | | import moment from 'moment' |
| | | const MG: any = inject('MG') |
| | |
| | | .myDialogs { |
| | | width: 628px; |
| | | |
| | | .dialog-content { |
| | | padding: 20px 0; |
| | | box-sizing: border-box; |
| | | } |
| | | |
| | | .el-dialog__header { |
| | | padding: 15px; |
| | | margin-right: 0; |