1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495 |
- import { defineComponent } from 'vue'
- import iconTeacher from '@/common/images/icon_teacher.png'
- import { ElButton, ElDialog, ElTag } from 'element-plus'
- import { state } from '@/state'
- import { getUserType } from '@/helpers/utils'
- import styles from './index.module.less'
- import OpenMember from '@/views/user-info/components/open-member'
- export const getAssetsHomeFile = (fileName: string) => {
- const path = `../../../user-info/images/${fileName}`
- const modules = import.meta.globEager('../../../user-info/images/*')
- return modules[path].default
- }
- export default defineComponent({
- name: 'users',
- computed: {
- userInfo() {
- return state.user.data
- }
- },
- data() {
- return {
- memberStatus: false
- }
- },
- render() {
- return (
- <div class={['text-center pb-8 relative overflow-hidden', styles.users]}>
- <div class="bg-[#FFE7CF] absolute left-6 top-0 text-[#AB5400] text-xs py-0.5 px-2 rounded-[10px]">
- 学生
- </div>
- <img
- src={this.userInfo.heardUrl || iconTeacher}
- class="w-[68px] h-[68px] rounded-full border-2 border-[#2DC7AA] border-solid mt-6 mx-auto object-cover"
- />
- <p class="text-[#333] text-lg font-medium pt-4 flex items-center justify-center">
- {this.userInfo.username}
- <img
- src={
- this.userInfo.isVip
- ? getAssetsHomeFile('icon_vip.png')
- : getAssetsHomeFile('icon_vip_default.png')
- }
- class="h-[26px]"
- />
- </p>
- <div class={this.userInfo.isVip !== 1 ? 'mt-5' : ''}>
- {this.userInfo.isVip !== 1 && (
- <ElButton
- round
- type="primary"
- size="large"
- class="!px-4"
- onClick={() => {
- this.memberStatus = true
- }}
- >
- 开通会员
- </ElButton>
- )}
- </div>
- <div class="text-base text-[#999] mx-[25px] mt-9 flex items-center justify-center pt-10 border-t border-solid border-[#E7E6E6]">
- <span
- class="flex items-center justify-center flex-col leading-6 cursor-pointer flex-1"
- onClick={() => {
- if (getUserType() === 'STUDENT') {
- this.$router.push('/studentInfo/myFollow')
- }
- }}
- >
- <b class="text-[#333333] text-[28px] pl-1 pb-1">
- {this.userInfo.starTeacherNum || 0}
- </b>
- 关注
- </span>
- </div>
- <ElDialog
- modelValue={this.memberStatus}
- onUpdate:modelValue={val => (this.memberStatus = val)}
- closeOnClickModal={false}
- closeOnPressEscape={false}
- >
- <OpenMember />
- </ElDialog>
- </div>
- )
- }
- })
|