소스 검색

Merge branch 'master' of http://git.dayaedu.com/lex/colexiu-project

mo 2 년 전
부모
커밋
6231cdbac5

+ 6 - 2
src/views/App.tsx

@@ -14,8 +14,12 @@ export default defineComponent({
   name: 'App',
   async created() {
     // console.log('user start')
-    // 获取用户信息
-    // await getUserInfo()
+    try {
+      if (state.user.data?.userId) {
+        // 获取用户信息
+        await getUserInfo()
+      }
+    } catch {}
     // console.log('user end')
   },
   render() {

+ 20 - 20
src/views/login/components/form/index.tsx

@@ -14,18 +14,18 @@ import styles from './index.module.less'
 import { setAuth } from '@/helpers/utils'
 import { checkPhone } from '@/helpers/validate'
 
-const validatePassword = (
-  rule: any,
-  value: string | any[],
-  callback: () => void
-) => {
-  if (value.length < 6) {
-    // @ts-ignore
-    callback(new Error('密码必须大于六位'))
-  } else {
-    callback()
-  }
-}
+// const validatePassword = (
+//   rule: any,
+//   value: string | any[],
+//   callback: () => void
+// ) => {
+//   if (value.length < 6) {
+//     // @ts-ignore
+//     callback(new Error('密码必须大于六位'))
+//   } else {
+//     callback()
+//   }
+// }
 
 export default defineComponent({
   name: 'loginForm',
@@ -56,8 +56,8 @@ export default defineComponent({
       codeInverval: null as any,
       form: {
         username: '',
-        code: '',
-        password: ''
+        code: ''
+        // password: ''
       },
       formRules: {
         username: [
@@ -68,10 +68,10 @@ export default defineComponent({
             trigger: 'blur'
           }
         ],
-        code: [{ required: true, message: '请输入验证码', trigger: 'blur' }],
-        password: [
-          { required: true, trigger: 'blur', validator: validatePassword }
-        ]
+        code: [{ required: true, message: '请输入验证码', trigger: 'blur' }]
+        // password: [
+        //   { required: true, trigger: 'blur', validator: validatePassword }
+        // ]
       }
     }
   },
@@ -203,7 +203,7 @@ export default defineComponent({
             }}
           ></ElInput>
         </ElFormItem>
-        {(this.type === 'teacher-register' ||
+        {/* {(this.type === 'teacher-register' ||
           this.type === 'student-register') && (
           <ElFormItem prop="password">
             <ElInput
@@ -213,7 +213,7 @@ export default defineComponent({
               autocomplete={'off'}
             ></ElInput>
           </ElFormItem>
-        )}
+        )} */}
         <ElFormItem>
           <ElButton
             type="primary"

+ 14 - 13
src/views/role-auth/musicAuth/index.tsx

@@ -42,7 +42,7 @@ export default defineComponent({
   mounted() {
     // 音乐人审核状态 0、未申请 UNPAALY、已申请 DOING、审核中 PASS、通过 UNPASS、不通过
     let musicianAuthStatus = state.user.data?.musicianAuthStatus
-    console.log(state.user)
+    // console.log(state.user)
     if (musicianAuthStatus) {
       this.musicCertStatus =
         musicianAuthStatus === 'DOING' || musicianAuthStatus === 'PASS'
@@ -71,7 +71,7 @@ export default defineComponent({
       <div
         class={[
           styles.musicAuth,
-          'w-[1200px] mt-[72px] mb-[60px] bg-white min-h-full m-auto px-[138px] text-[#333]'
+          'w-[1200px] mt-36 mb-[60px] bg-white min-h-full m-auto px-[138px] text-[#333]'
         ]}
       >
         <div class="w-[388px] pt-24 pb-28">
@@ -86,7 +86,6 @@ export default defineComponent({
         </div>
         <div class="pb-20">
           <h2 class="text-2xl pb-11 text-center font-semibold">认证权益</h2>
-
           <ElRow class="mb-16">
             <ElCol span={12} class="pr-3">
               <div class={[styles.col, 'flex items-center px-10']}>
@@ -130,16 +129,18 @@ export default defineComponent({
             </ElCol>
           </ElRow>
 
-          <div class="text-center">
-            <ElButton
-              type="primary"
-              class="rounded w-40 !h-[38px]"
-              onClick={this.onSubmit}
-              disabled={this.auth.status}
-            >
-              {this.auth.text}
-            </ElButton>
-          </div>
+          {state.user.data?.musicianAuthStatus !== 'PASS' && (
+            <div class="text-center">
+              <ElButton
+                type="primary"
+                class="rounded w-40 !h-[38px]"
+                onClick={this.onSubmit}
+                disabled={this.auth.status}
+              >
+                {this.auth.text}
+              </ElButton>
+            </div>
+          )}
         </div>
 
         <ElDialog

+ 30 - 22
src/views/role-auth/teacherAuth/components/cert-brief/index.tsx

@@ -30,6 +30,10 @@ export default defineComponent({
           obj.status = true
       }
       return obj
+    },
+    authStatus(): Boolean {
+      const entryStatus = state.user.data?.entryStatus || 0
+      return entryStatus === 'DOING' || entryStatus === 'PASS' ? true : false
     }
   },
   data() {
@@ -97,30 +101,34 @@ export default defineComponent({
               </ElCol>
             ))}
           </ElRow>
+          {!this.authStatus && (
+            <>
+              <h2 class="text-2xl pb-10 text-center font-semibold">
+                酷乐秀欢迎您的加入
+              </h2>
 
-          <h2 class="text-2xl pb-10 text-center font-semibold">
-            酷乐秀欢迎您的加入
-          </h2>
+              <p class="text-lg text-center mb-10">
+                在艺术的殿堂中,为他人照亮前进的道路,用自己的经验和点拨,传播艺术的种子,获取硕果。
+              </p>
 
-          <p class="text-lg text-center mb-10">
-            在艺术的殿堂中,为他人照亮前进的道路,用自己的经验和点拨,传播艺术的种子,获取硕果。
-          </p>
-
-          <div class="text-center">
-            <ElButton
-              type="primary"
-              class="rounded w-40 !h-[38px]"
-              disabled={this.auth.status}
-              onClick={() => {
-                const currentY =
-                  document.documentElement.scrollTop || document.body.scrollTop
-                scrollAnimation(currentY, 0)
-                teacherState.authStatus = true
-              }}
-            >
-              {this.auth.text}
-            </ElButton>
-          </div>
+              <div class="text-center">
+                <ElButton
+                  type="primary"
+                  class="rounded w-40 !h-[38px]"
+                  disabled={this.auth.status}
+                  onClick={() => {
+                    const currentY =
+                      document.documentElement.scrollTop ||
+                      document.body.scrollTop
+                    scrollAnimation(currentY, 0)
+                    teacherState.nextStatus = true
+                  }}
+                >
+                  {this.auth.text}
+                </ElButton>
+              </div>
+            </>
+          )}
         </div>
       </div>
     )

+ 9 - 7
src/views/role-auth/teacherAuth/index.tsx

@@ -23,17 +23,19 @@ export default defineComponent({
       teacherState.authStatus =
         entryStatus === 'DOING' || entryStatus === 'PASS' ? true : false
       // 如果已经认证,则不用获取声部信息
-      if (teacherState.authStatus) {
-        teacherState.active = teacherState.authStatus ? 4 : 1
-        return
-      }
+      // if (teacherState.authStatus) {
+      //   teacherState.active = teacherState.authStatus ? 4 : 1
+      //   return
+      // }
+      // console.log(teacherState.authStatus, 'teacherState.authStatus')
     } catch {
       //
     }
   },
   computed: {
     authStatus(): Boolean {
-      return !!teacherState.authStatus
+      const entryStatus = state.user.data?.entryStatus || 0
+      return entryStatus === 'DOING' || entryStatus === 'PASS' ? true : false
     },
     userAuth() {
       // 判断是否实名过
@@ -43,8 +45,8 @@ export default defineComponent({
   },
   render() {
     return (
-      <div class="w-[1200px] mt-[72px] mb-[60px] bg-white min-h-full m-auto text-[#333]">
-        {!teacherState.authStatus ? <CertBrief /> : <Auth />}
+      <div class="w-[1200px] mt-36 mb-[60px] bg-white min-h-full m-auto text-[#333]">
+        {this.authStatus || !teacherState.nextStatus ? <CertBrief /> : <Auth />}
       </div>
     )
   }

+ 2 - 1
src/views/role-auth/teacherAuth/teacherState.ts

@@ -2,8 +2,9 @@ import { reactive } from 'vue'
 
 export const teacherState = reactive({
   authStatus: false as boolean, // 是否立即认证
+  nextStatus: false as boolean, // 是否下一步
   subjectList: [], // 声部列表
-  active: 2,
+  active: 0,
   teacherInfo: {} as any,
   teacherCert: {
     realName: '',

+ 2 - 0
src/views/student-info/my-follow/index.module.less

@@ -4,6 +4,8 @@
       @apply px-11;
     }
     .el-tabs__item {
+      @apply text-base;
+      color: #666;
       height: 64px;
       line-height: 64px;
       padding: 0 42px;

+ 2 - 0
src/views/student-info/my-score/index.module.less

@@ -4,6 +4,8 @@
       @apply px-11;
     }
     .el-tabs__item {
+      @apply text-base;
+      color: #666;
       height: 64px;
       line-height: 64px;
       padding: 0 42px;

+ 57 - 18
src/views/user-info/components/users/index.tsx

@@ -2,7 +2,11 @@ import { defineComponent } from 'vue'
 import iconTeacher from '@/common/images/icon_teacher.png'
 import { ElTag } from 'element-plus'
 import { state } from '@/state'
-import { userInfo } from 'os'
+
+import musicDefault from '../../images/music_default.png'
+import musicActive from '../../images/music_active.png'
+import entryDefault from '../../images/entry_default.png'
+import entryActive from '../../images/entry_active.png'
 
 export default defineComponent({
   name: 'users',
@@ -11,6 +15,19 @@ export default defineComponent({
       return state.user.data
     }
   },
+  methods: {
+    onDetail(type: string) {
+      if (type === 'entry') {
+        this.$router.push({
+          path: '/teacherAuth'
+        })
+      } else if (type === 'music') {
+        this.$router.push({
+          path: '/musicAuth'
+        })
+      }
+    }
+  },
   render() {
     return (
       <div class="bg-white rounded-[6px] text-center pt-[30px] pb-8 flex items-center flex-col">
@@ -18,20 +35,42 @@ export default defineComponent({
 
         <p class="text-[#1A1A1A] text-lg pt-4">{this.userInfo.username}</p>
 
-        {(this.userInfo.entryFlag == 1 || this.userInfo.musicianFlag) && (
-          <div class="pt-3 pb-6">
-            {this.userInfo.entryFlag === 1 && (
-              <ElTag round color="#fff" class="mx-1 !border-[#2DC7AA]">
-                老师认证
-              </ElTag>
-            )}
-            {this.userInfo.musicianFlag === 1 && (
-              <ElTag round color="#fff" class="mx-1 !border-[#2DC7AA]">
-                音乐人认证
-              </ElTag>
-            )}
-          </div>
-        )}
+        <div class="pt-3 pb-6 flex">
+          {this.userInfo.entryFlag === 1 ? (
+            <img
+              src={entryActive}
+              class="h-[26px] cursor-pointer pr-2"
+              onClick={() => {
+                this.onDetail('entry')
+              }}
+            />
+          ) : (
+            <img
+              src={entryDefault}
+              class="h-[26px] cursor-pointer pr-2"
+              onClick={() => {
+                this.onDetail('entry')
+              }}
+            />
+          )}
+          {this.userInfo.musicianFlag === 1 ? (
+            <img
+              src={musicActive}
+              class="h-[26px] cursor-pointer"
+              onClick={() => {
+                this.onDetail('music')
+              }}
+            />
+          ) : (
+            <img
+              src={musicDefault}
+              class="h-[26px] cursor-pointer"
+              onClick={() => {
+                this.onDetail('music')
+              }}
+            />
+          )}
+        </div>
 
         <div class="text-[14px] text-[#666] flex items-center justify-center">
           <span class="flex items-center justify-center leading-6">
@@ -40,9 +79,9 @@ export default defineComponent({
               {this.userInfo.fansNum || 0}
             </b>
           </span>
-          {/* <span class="pl-3 flex items-center justify-center leading-6">
-            帖子<b class="text-black text-xl pl-1 pb-[2px]">124</b>
-          </span> */}
+          <span class="pl-3 flex items-center justify-center leading-6">
+            乐谱<b class="text-black text-xl pl-1 pb-[2px]">134</b>
+          </span>
         </div>
       </div>
     )

BIN
src/views/user-info/images/entry_active.png


BIN
src/views/user-info/images/entry_default.png


BIN
src/views/user-info/images/music_active.png


BIN
src/views/user-info/images/music_default.png


+ 2 - 0
src/views/user-info/live-class/index.module.less

@@ -4,6 +4,8 @@
       @apply px-11;
     }
     .el-tabs__item {
+      @apply text-base;
+      color: #666;
       height: 64px;
       line-height: 64px;
       padding: 0 42px;

+ 2 - 0
src/views/user-info/music-class/index.module.less

@@ -4,6 +4,8 @@
       @apply px-11;
     }
     .el-tabs__item {
+      @apply text-base;
+      color: #666;
       height: 64px;
       line-height: 64px;
       padding: 0 42px;

+ 1 - 1
src/views/user-info/practice-setting/index.tsx

@@ -250,7 +250,7 @@ export default defineComponent({
   render() {
     return (
       <div class={styles.setting}>
-        <div class="text-base text-[#333] leading-none px-6 py-5 border-b border-b-[#E5E5E5]">
+        <div class="text-base text-[#666] leading-none px-6 py-5 border-b border-b-[#E5E5E5]">
           陪练课设置
         </div>
 

+ 2 - 0
src/views/user-info/video-class/index.module.less

@@ -4,6 +4,8 @@
       @apply px-11;
     }
     .el-tabs__item {
+      @apply text-base;
+      color: #666;
       height: 64px;
       line-height: 64px;
       padding: 0 42px;