| | |
| | | <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> |
| | | <div class="qrcodeBox"> |
| | | <!-- <wxlogin |
| | | <wxlogin |
| | | :redirect_uri="wxLogin.redirectURL" |
| | | style="width: 300px; height: 400px; margin: -40px auto 0; overflow: hidden" |
| | | :appid="wxLogin.appid" |
| | | :scope="wxLogin.scope" |
| | | state="WeChatScanningCodeBind" |
| | | > |
| | | </wxlogin> --> |
| | | </wxlogin> |
| | | </div> |
| | | <p class="tips">使用微信扫一扫扫描二维码进行绑定</p> |
| | | </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 verify from '@/components/sliderImg/component/verify.vue' |
| | | import '@/components/sliderImg/sliderImg.js' |
| | | import '@/components/sliderImg/sliderImg.css' |
| | | import { ElMessage } from 'element-plus' |
| | | import tool from '@/assets/js/toolClass.js' |
| | | 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 { useRoute } from 'vue-router' |
| | | import moment from 'moment' |
| | | const route = useRoute() |
| | | const MG: any = inject('MG') |
| | | const config: any = inject('config') |
| | | |
| | |
| | | } |
| | | //微信认证 |
| | | let wxLogin = reactive({ |
| | | appid: 'wx5cfe8b007a3c6f8c', |
| | | appid: 'wx2b9d4a6308fd03d6', |
| | | scope: 'snsapi_login', |
| | | redirectURL: encodeURIComponent(config.requestCtx + '/home/#/personalCenter'), |
| | | redirectURL: encodeURIComponent(config.requestCtx + '/#/personalCenter'), |
| | | }) |
| | | //获取微信认证状态 |
| | | const getWechatAuthenticationState = () => { |
| | | MG.identity.checkBuildingWeChat({}).then((res: any) => { |
| | | if (res) { |
| | |
| | | |
| | | .change-info { |
| | | color: #019e58; |
| | | font-size: 14px; |
| | | } |
| | | |
| | | .record { |
| | |
| | | .myDialogs { |
| | | width: 628px; |
| | | |
| | | .dialog-content { |
| | | padding: 20px 0; |
| | | box-sizing: border-box; |
| | | } |
| | | |
| | | .el-dialog__header { |
| | | padding: 15px; |
| | | margin-right: 0; |