Przeglądaj źródła

Merge branch 'iteration-20240723' into dev

lex 1 rok temu
rodzic
commit
65ac84971f

BIN
src/components/m-empty/images/404.png


BIN
src/components/m-empty/images/icon_empty.png


BIN
src/components/m-empty/images/network.png


+ 2 - 2
src/components/m-search/index.module.less

@@ -69,7 +69,7 @@
     font-weight: 500;
     --van-button-mini-height: 28px;
     --van-font-size-xs: 12px;
-    background: linear-gradient(to right, #5BECFF, #259CFE);
+    background: linear-gradient(to right, #40c4fe, #259CFE);
     border: none;
   }
 
@@ -83,4 +83,4 @@
       height: 100%;
     }
   }
-}
+}

+ 2 - 2
src/router/router-root.ts

@@ -262,14 +262,14 @@ export default [
     path: '/activationRegistration',
     component: () => import('@/views/activation-code/instrument-registration'),
     meta: {
-      title: '乐器登记'
+      title: '乐器领用登记'
     }
   },
   {
     path: '/activationRegistrationDetail',
     component: () => import('@/views/activation-code/instrument-registration/detail'),
     meta: {
-      title: '乐器登记'
+      title: '乐器领用登记'
     }
   },
   {

+ 1 - 1
src/styles/index.less

@@ -168,7 +168,7 @@ body {
     z-index: 0;
 
     &::after {
-      background: #f2f2f2;
+      background: #f6f6f6;
       border-radius: 8px;
     }
   }

+ 16 - 2
src/views/activation-code/activation-register/index.module.less

@@ -18,6 +18,10 @@
     .van-picker__loading {
       top: calc(var(--van-picker-toolbar-height) + 20px + var(--van-search-input-height)) !important;
     }
+
+    .van-count-down {
+      color: #A0D0FF !important;
+    }
   }
 }
 
@@ -30,8 +34,9 @@
 
   :global {
     .van-button {
-      height: 40px;
-      line-height: 40px;
+      // height: 40px;
+      // line-height: 40px;
+      --van-button-default-height: 41px;
       background: linear-gradient(135deg, #31C7FF 0%, #007AFE 100%);
       font-size: 16px;
       color: #fff;
@@ -208,11 +213,20 @@
 
   :global {
     .van-button {
+      --van-button-default-height: 40px;
       flex: 1;
+      font-weight: 500;
+      font-size: 16px;
 
       &+.van-button {
         margin-left: 15px;
       }
     }
   }
+}
+
+.registrationContainerTablet {
+  .studentRegisterContainer {
+    padding-top: 280px;
+  }
 }

+ 23 - 6
src/views/activation-code/activation-register/index.tsx

@@ -101,6 +101,7 @@ export default defineComponent({
     // studentRegisterStore.setShoolId(route.query.sId as any);
     const countDownRef = ref();
     const forms = reactive({
+      isLoginRegister: false, // 是否已经登录或已注册
       schoolId: null as any,
       schoolAreaId: null, // 学校区域编号
       activationCode: null as any, // 互通码
@@ -390,6 +391,9 @@ export default defineComponent({
           tPassword = forms.studentItem.token;
           tMultiUser = false;
         }
+        if (forms.isLoginRegister) {
+          tAutoRegister = false;
+        }
         const result = await request.post('/edu-app/userlogin', {
           requestType: 'form',
           data: {
@@ -424,6 +428,7 @@ export default defineComponent({
           //   forms.showButton = false;
           // }
         } else {
+          forms.isLoginRegister = true;
           studentRegisterStore.setToken(
             result.data.token_type + ' ' + result.data.access_token
           );
@@ -678,14 +683,15 @@ export default defineComponent({
         if (data.school) {
           const schoolInfo = data.school || {};
           const schoolInstrumentList = schoolInfo.schoolInstrumentList || [];
-          if (schoolInfo.schoolInstrumentSetType === 'SCHOOL') {
+          forms.schoolInstrumentSetType = schoolInfo.instrumentSetType;
+          if (schoolInfo.instrumentSetType === 'SCHOOL') {
             const instrumentCode = schoolInstrumentList[0]?.instrumentCode;
             forms.gradeList = getGradeList(
               schoolInfo.gradeYear,
               instrumentCode
             );
             forms.classList = classList;
-          } else if (schoolInfo.schoolInstrumentSetType === 'GRADE') {
+          } else if (schoolInfo.instrumentSetType === 'GRADE') {
             schoolInstrumentList.forEach((item: any) => {
               forms.gradeList.push({
                 text: GRADE_ENUM[item.gradeNum],
@@ -696,7 +702,7 @@ export default defineComponent({
             });
             forms.gradeList.sort((a: any, b: any) => a.value - b.value);
             forms.classList = classList;
-          } else if (schoolInfo.schoolInstrumentSetType === 'CLASS') {
+          } else if (schoolInfo.instrumentSetType === 'CLASS') {
             // 班级
             const tempGradeList: any[] = [];
             schoolInstrumentList.forEach((item: any) => {
@@ -739,6 +745,7 @@ export default defineComponent({
             forms.classList = classList;
           }
         } else {
+          forms.schoolInstrumentSetType = '';
           forms.gradeList = getGradeList();
           forms.classList = classList;
         }
@@ -783,7 +790,11 @@ export default defineComponent({
       forms.classList = classList;
     });
     return () => (
-      <div class={styles['student-register']}>
+      <div
+        class={[
+          styles['student-register'],
+          browser().isTablet ? styles.registrationContainerTablet : ''
+        ]}>
         <div class={styles.studentRegisterContainer}>
           <div class={[styles.studentSection]}>
             <Form labelAlign="left" class={styles.registerForm}>
@@ -847,6 +858,7 @@ export default defineComponent({
                 placeholder="请输入学生姓名"
                 autocomplete="off"
                 maxlength={14}
+                readonly={forms.isRegister === 'update'}
                 v-model={studentInfo.extra.nickname}>
                 {{
                   extra: () =>
@@ -877,7 +889,8 @@ export default defineComponent({
                     <RadioGroup
                       checked-color="linear-gradient( 135deg, #31C7FF 0%, #007AFE 100%)"
                       v-model={studentInfo.extra.gender}
-                      direction="horizontal">
+                      direction="horizontal"
+                      disabled={forms.isRegister === 'update'}>
                       <Tag
                         size="large"
                         type="primary"
@@ -1140,7 +1153,7 @@ export default defineComponent({
                 }
 
                 if (forms.schoolInstrumentSetType === 'CLASS') {
-                  forms.classList = selectedOption.classList;
+                  forms.classList = selectedOption.classList || [];
                 }
                 if (
                   ['CLASS', 'GRADE'].includes(forms.schoolInstrumentSetType)
@@ -1330,6 +1343,10 @@ export default defineComponent({
                   forms.studentItem = val;
                   forms.isRegister = 'create';
                   changeTipStatus(false, false);
+                  forms.areaName = '';
+                  forms.schoolName = '';
+                  forms.schoolAreaId = null;
+                  forms.schoolId = null;
                   studentInfo.extra.nickname = '';
                   studentInfo.extra.currentGradeNum = '';
                   studentInfo.extra.currentClass = '';

+ 16 - 14
src/views/activation-code/index.module.less

@@ -9,14 +9,15 @@
       border-radius: 50px;
     }
 
-    .van-sticky--fixed {
-      background: url('./images/woring-bg.png') no-repeat top center;
-      background-size: 100%;
-    }
+    // .van-sticky--fixed {
+    //   background: url('./images/woring-bg.png') no-repeat top center;
+    //   background-size: 100%;
+    // }
 
     .van-calendar__confirm {
       --van-calendar-confirm-button-height: 40px;
       --van-button-normal-padding: 18px;
+      --van-calendar-confirm-button-margin: 18px 0;
     }
   }
 }
@@ -122,7 +123,6 @@
 }
 
 .activationContent {
-
   background: #FFFFFF;
   border-radius: 20px;
   // margin: 13px;
@@ -189,18 +189,19 @@
       width: 4px;
       height: 14px;
       background: linear-gradient(135deg, #31C7FF 0%, #007AFE 100%);
-      border-radius: 3px;
+      border-radius: 10px;
     }
   }
 
   .tips {
     font-size: 12px;
     color: #666666;
-    line-height: 28px;
+    line-height: 16px;
 
     p {
       display: flex;
-      align-items: center;
+      align-items: flex-start;
+      padding-bottom: 12px;
     }
 
     .num {
@@ -213,22 +214,22 @@
 
     .num1 {
       background: url('./images/num1.png') no-repeat center;
-      background-size: contain;
+      background-size: cover;
     }
 
     .num2 {
       background: url('./images/num2.png') no-repeat center;
-      background-size: contain;
+      background-size: cover;
     }
 
     .num3 {
       background: url('./images/num3.png') no-repeat center;
-      background-size: contain;
+      background-size: cover;
     }
 
     .num4 {
       background: url('./images/num4.png') no-repeat center;
-      background-size: contain;
+      background-size: cover;
     }
   }
 }
@@ -255,7 +256,7 @@
       width: 4px;
       height: 14px;
       background: #1BA5FF;
-      border-radius: 2px 3px 3px 2px;
+      border-radius: 10px;
     }
   }
 
@@ -296,10 +297,11 @@
 }
 
 .sectionItem {
-  margin: 8px 0;
+  margin: 8px auto;
   background: url('./images/item-bg.png') no-repeat top center;
   background-size: cover;
   min-height: 141px;
+  max-width: 349px;
 
   .itemTitle {
     font-weight: 600;

+ 2 - 1
src/views/activation-code/index.tsx

@@ -13,7 +13,7 @@ import dayjs from 'dayjs';
 
 const vipGiftPeriodType = {
   DAY: '天',
-  MONTH: '月',
+  MONTH: '月',
   YEAR: '年'
 } as any;
 
@@ -113,6 +113,7 @@ export default defineComponent({
                   leftIcon={iconKey}
                   v-model={state.activeCodeRecordCode}
                   placeholder="请输入您的互通码"
+                  clearable
                 />
 
                 <div class={styles.btnGroup}>

+ 16 - 18
src/views/activation-code/instrument-registration/detail.module.less

@@ -23,8 +23,9 @@
 
   :global {
     .van-button {
-      height: 40px;
-      line-height: 40px;
+      // height: 40px;
+      // line-height: 40px;
+      --van-button-default-height: 41px;
       background: linear-gradient(135deg, #31C7FF 0%, #007AFE 100%);
       font-size: 16px;
       color: #fff;
@@ -51,17 +52,12 @@
 
   .selectStudentGroup {
     margin-left: 10px;
-    font-size: 14px;
+    font-size: 13px;
     color: #1189FF;
     display: flex;
     align-items: center;
     justify-content: center;
 
-    // &.selectStudentGroupChecked {
-    //   span::after {
-    //     transform: rotate(180deg);
-    //   }
-    // }
 
     span {
       display: flex;
@@ -71,16 +67,6 @@
       border-radius: 20px;
       border: 1px solid rgba(17, 137, 255, 0.6);
       padding: 0px 8px;
-
-      // &::after {
-      //   display: inline-block;
-      //   content: '';
-      //   width: 9px;
-      //   height: 5px;
-      //   margin-left: 4px;
-      //   background: url('../../student-register/images/new/icon-n-6.png') no-repeat center;
-      //   background-size: contain;
-      // }
     }
   }
 
@@ -245,6 +231,18 @@
   .pBtnGroup {
     padding: 0 50px;
 
+    :global {
+      .van-button {
+        font-size: 16px;
+      }
+    }
+  }
+}
 
+// 平板样式
+.hotMusicMoreTablet {
+
+  .studentRegisterContainer {
+    padding-top: 320px;
   }
 }

+ 7 - 1
src/views/activation-code/instrument-registration/detail.tsx

@@ -34,6 +34,7 @@ import request from '@/helpers/request';
 import loginSuccess from './images/login-success.png';
 
 import SelectStudent from '@/views/student-register/modal/select-student';
+import { browser } from '@/helpers/utils';
 
 const classList: any = [];
 for (let i = 1; i <= 40; i++) {
@@ -205,7 +206,11 @@ export default defineComponent({
       getDetail();
     });
     return () => (
-      <div class={styles['student-register']}>
+      <div
+        class={[
+          styles['student-register'],
+          browser().isTablet ? styles.hotMusicMoreTablet : ''
+        ]}>
         <div class={styles.studentRegisterContainer}>
           <div class={[styles.studentSection]}>
             <Form labelAlign="left" class={styles.registerForm}>
@@ -217,6 +222,7 @@ export default defineComponent({
                 placeholder="请输入学生姓名"
                 autocomplete="off"
                 readonly
+                center
                 maxlength={14}
                 v-model={studentInfo.nickname}>
                 {{

BIN
src/views/activation-code/instrument-registration/images/banner.png


+ 21 - 2
src/views/activation-code/instrument-registration/index.module.less

@@ -1,6 +1,6 @@
 .registrationContainer {
   min-height: 100vh;
-  background: linear-gradient(180deg, #C9EDFD 0%, #CCF0FF 100%);
+  background: #C3EBFE;
 
   .registration {
     min-height: 100vh;
@@ -11,7 +11,7 @@
 
 
   .inputGroup {
-    margin-top: 379px;
+    margin-top: 426px;
     position: relative;
     padding: 0 18px;
 
@@ -46,6 +46,14 @@
         margin-top: 18px;
         margin-left: 34px;
         margin-right: 34px;
+        background: rgba(255, 255, 255, 0.8) !important;
+
+        // 1395ff
+        :global {
+          .van-progress__portion {
+            background-color: #1395ff;
+          }
+        }
       }
 
       :global {
@@ -55,6 +63,7 @@
 
         .van-button__text {
           p {
+            padding-top: 2px;
             font-weight: 500;
             font-size: 16px;
             color: #FFFFFF;
@@ -100,6 +109,16 @@
   .pBtnGroup {
     padding: 0 50px;
 
+    :global {
+      .van-button {
+        font-size: 16px;
+      }
+    }
+  }
+}
 
+.registrationContainerTablet {
+  .inputGroup {
+    margin-top: 706px;
   }
 }

+ 8 - 2
src/views/activation-code/instrument-registration/index.tsx

@@ -5,6 +5,7 @@ import iconKey from './images/icon-phone.png';
 import loginError from './images/login-error.png';
 import request from '@/helpers/request';
 import { useRouter } from 'vue-router';
+import { browser } from '@/helpers/utils';
 
 export default defineComponent({
   name: 'instrument-registration',
@@ -63,7 +64,11 @@ export default defineComponent({
     };
 
     return () => (
-      <div class={styles.registrationContainer}>
+      <div
+        class={[
+          styles.registrationContainer,
+          browser().isTablet ? styles.registrationContainerTablet : ''
+        ]}>
         <div class={styles.registration}>
           <div class={styles.inputGroup}>
             <Field
@@ -110,7 +115,8 @@ export default defineComponent({
             <img class={styles.title} src={loginError} />
 
             <div class={styles.content}>
-              请输入【音乐数字课堂】激活成功时的手机号
+              请输入<span style={{ color: '#2b85ff' }}>【音乐数字课堂】</span>
+              激活成功时的手机号
             </div>
             <div class={styles.pBtnGroup}>
               <Button

+ 2 - 1
src/views/activation-code/record.tsx

@@ -15,7 +15,7 @@ dayjs.extend(isBetween);
 
 const vipGiftPeriodType = {
   DAY: '天',
-  MONTH: '月',
+  MONTH: '月',
   YEAR: '年'
 } as any;
 
@@ -34,6 +34,7 @@ export default defineComponent({
     const forms = reactive({
       page: 1,
       rows: 20,
+      status: 'ACTIVATED',
       code: null as any,
       activateStartTime: dayjs().subtract(1, 'months').format('YYYY-MM-DD'),
       activateEndTime: dayjs().format('YYYY-MM-DD')

+ 2 - 1
src/views/download/index.module.less

@@ -44,4 +44,5 @@
 
 .downImg {
   // width: 275px;
-}
+  padding-top: 25px;
+}

+ 2 - 3
src/views/student-register/modal/select-student/index.module.less

@@ -58,12 +58,11 @@
       font-weight: 600;
       font-size: 16px;
       color: #131415;
-      line-height: 22px;
-      display: flex;
-      align-items: center;
+      line-height: 1;
     }
 
     .tag {
+      vertical-align: text-top;
       margin-left: 5px;
       display: inline-block;
       width: 44px;

+ 1 - 1
vite.config.ts

@@ -16,7 +16,7 @@ function resolve(dir: string) {
 // const proxyUrl = 'https://test.lexiaoya.cn/';
 // const proxyUrl = 'https://kt.colexiu.com/';
 // const proxyUrl = 'http://192.168.3.143:7093/';
-const proxyUrl = 'https://dev.kt.colexiu.com/';
+const proxyUrl = 'https://test.kt.colexiu.com/';
 export default defineConfig({
   base: './',
   plugins: [