Browse Source

更新修改样式

lex 1 year ago
parent
commit
13db6b4285
44 changed files with 542 additions and 352 deletions
  1. 2 2
      dev-dist/sw.js
  2. 8 1
      src/components/TheSearch/index.module.less
  3. 3 3
      src/components/card-preview/song-modal/index.module.less
  4. 2 2
      src/components/card-preview/video-modal/index.module.less
  5. 2 2
      src/components/layout/index.module.less
  6. 5 5
      src/components/layout/layoutTop.tsx
  7. 1 1
      src/views/attend-class/component/audio.module.less
  8. 3 3
      src/views/attend-class/component/video.module.less
  9. 2 2
      src/views/attend-class/index.module.less
  10. 0 1
      src/views/classList/classDetail.tsx
  11. 4 4
      src/views/classList/index.module.less
  12. 16 9
      src/views/classList/index.tsx
  13. 3 3
      src/views/data-module/index.module.less
  14. 34 24
      src/views/data-module/index.tsx
  15. 7 54
      src/views/home/components/practiceData.tsx
  16. 7 5
      src/views/home/index.module.less
  17. 53 37
      src/views/home/index.tsx
  18. 4 4
      src/views/natural-resources/components/my-collect/index.module.less
  19. 35 4
      src/views/natural-resources/components/my-resources/index.module.less
  20. 90 33
      src/views/natural-resources/components/my-resources/index.tsx
  21. 5 4
      src/views/natural-resources/components/share-resources/index.module.less
  22. 5 0
      src/views/natural-resources/components/share-resources/search-group-resources.tsx
  23. 2 2
      src/views/natural-resources/index.module.less
  24. 5 6
      src/views/natural-resources/index.tsx
  25. 2 2
      src/views/prepare-lessons/components/directory-main/index.module.less
  26. 3 3
      src/views/prepare-lessons/components/lesson-main/courseware/index.module.less
  27. 13 5
      src/views/prepare-lessons/components/lesson-main/courseware/index.tsx
  28. 2 2
      src/views/prepare-lessons/components/lesson-main/index.module.less
  29. 39 15
      src/views/prepare-lessons/components/lesson-main/train/assign-homework.tsx
  30. 13 1
      src/views/prepare-lessons/components/resource-main/components/resource-item/index.tsx
  31. 13 1
      src/views/prepare-lessons/components/resource-main/components/select-music/index.tsx
  32. 2 2
      src/views/prepare-lessons/components/resource-main/index.module.less
  33. 13 1
      src/views/prepare-lessons/model/select-music/index.tsx
  34. 24 5
      src/views/prepare-lessons/model/select-resources/select-item/index.tsx
  35. 46 42
      src/views/setting/components/schoolInfo/index.module.less
  36. 14 11
      src/views/setting/components/schoolInfo/index.tsx
  37. BIN
      src/views/setting/images/studentTitle.png
  38. 23 23
      src/views/setting/index.module.less
  39. 2 2
      src/views/setting/index.tsx
  40. 4 5
      src/views/setting/modal/addteacherModel.tsx
  41. 2 2
      src/views/studentList/index.module.less
  42. 11 4
      src/views/xiaoku-ai/index.module.less
  43. 4 6
      src/views/xiaoku-ai/index.tsx
  44. 14 9
      src/views/xiaoku-music/index.tsx

+ 2 - 2
dev-dist/sw.js

@@ -67,7 +67,7 @@ if (!self.define) {
     });
   };
 }
-define(['./workbox-ab7aa862'], (function (workbox) { 'use strict';
+define(['./workbox-5357ef54'], (function (workbox) { 'use strict';
 
   self.skipWaiting();
   workbox.clientsClaim();
@@ -82,7 +82,7 @@ define(['./workbox-ab7aa862'], (function (workbox) { 'use strict';
     "revision": "3ca0b8505b4bec776b69afdba2768812"
   }, {
     "url": "index.html",
-    "revision": "0.1g4qono9b58"
+    "revision": "0.4g3m24pjgu"
   }], {});
   workbox.cleanupOutdatedCaches();
   workbox.registerRoute(new workbox.NavigationRoute(workbox.createHandlerBoundToURL("index.html"), {

+ 8 - 1
src/components/TheSearch/index.module.less

@@ -5,6 +5,7 @@
     --n-border: none !important;
   }
 
+
   :global {
     .n-input-wrapper {
       padding-left: 12px;
@@ -26,6 +27,12 @@
     display: none;
   }
 
+  .active,
+  .default {
+    width: max(18px, 16Px);
+    height: max(18px, 16Px);
+  }
+
   &:global(.n-input--focus) {
     .active {
       display: block;
@@ -49,4 +56,4 @@
       }
     }
   }
-}
+}

+ 3 - 3
src/components/card-preview/song-modal/index.module.less

@@ -10,7 +10,7 @@
   align-items: center;
   justify-content: center;
   height: 100%;
-  padding: 0;
+  padding: 0 0 80px 0;
 
   &>div {
     flex: 1;
@@ -92,7 +92,7 @@
     display: flex;
     width: 52px;
     height: 52px;
-    padding: 4px 0;
+    padding: 0;
     background: transparent;
 
     &>img {
@@ -132,4 +132,4 @@
   pointer-events: none;
   transform: translateY(100%);
   transition: all .5s;
-}
+}

+ 2 - 2
src/components/card-preview/video-modal/index.module.less

@@ -86,7 +86,7 @@
     .actionBtn {
       display: flex;
 
-      padding: 4px 0;
+      padding: 0;
       width: 52px;
       height: 52px;
       background: transparent;
@@ -143,4 +143,4 @@
       }
     }
   }
-}
+}

+ 2 - 2
src/components/layout/index.module.less

@@ -117,7 +117,7 @@
       }
 
       p {
-        font-size: 18px;
+        font-size: max(18px, 14Px);
         font-weight: 600;
         color: #131415;
       }
@@ -433,4 +433,4 @@
 
 .hideModal {
   visibility: hidden;
-}
+}

+ 5 - 5
src/components/layout/layoutTop.tsx

@@ -43,11 +43,11 @@ export default defineComponent({
 
     onMounted(() => {
       window.addEventListener('message', onImMessage);
-      // showImGroup.value = true;
-      // showImGroupLoading.value = true;
-      // setTimeout(() => {
-      //   showImGroup.value = false;
-      // }, 50);
+      showImGroup.value = true;
+
+      setTimeout(() => {
+        showImGroup.value = false;
+      }, 50);
       setTimeout(() => {
         showImGroupLoading.value = false;
       }, 1000);

+ 1 - 1
src/views/attend-class/component/audio.module.less

@@ -136,4 +136,4 @@
   pointer-events: none;
   transform: translateY(100%);
   transition: all .5s;
-}
+}

+ 3 - 3
src/views/attend-class/component/video.module.less

@@ -2,9 +2,9 @@
   width: 100%;
   height: 100%;
   --plyr-color-main: #198CFE;
-  --plyr-range-track-height: 8px;
+  --plyr-range-track-height: 4Px;
   --plyr-tooltip-radius: 3px;
-  --plyr-range-thumb-height: 32px;
+  --plyr-range-thumb-height: 18Px;
 
 
   :global {
@@ -146,4 +146,4 @@
       }
     }
   }
-}
+}

+ 2 - 2
src/views/attend-class/index.module.less

@@ -377,7 +377,7 @@
   }
 
   .modelAttendContent {
-    font-size: 18px;
+    font-size: max(18px, 16Px);
     color: #777777;
     line-height: 30px;
     text-align: center;
@@ -413,4 +413,4 @@
     font-size: 26px;
     text-align: center;
   }
-}
+}

+ 0 - 1
src/views/classList/classDetail.tsx

@@ -31,7 +31,6 @@ export default defineComponent({
         <CBreadcrumb list={routerList.value}></CBreadcrumb>
         <div class={styles.listWrap}>
           <NTabs
-
             class={styles.customTabs}
             v-model:value={activeTab.value}
             size="large"

+ 4 - 4
src/views/classList/index.module.less

@@ -333,14 +333,14 @@
   .customTabs {
     :global {
       .n-tabs-tab--active {
-        font-size: 18px !important;
+        font-size: max(18px, 14Px) !important;
 
         font-weight: 600 !important;
         color: #131415 !important;
       }
 
       .n-tabs-tab {
-        font-size: 18px;
+        font-size: max(18px, 14Px);
         padding: 8px 0 !important;
         font-weight: 400;
         min-width: 50px;
@@ -720,7 +720,7 @@
     padding: 0 40px;
 
     p {
-      font-size: 18px;
+      font-size: max(18px, 14Px);
       color: #777777;
       line-height: 30px;
 
@@ -746,4 +746,4 @@
 
 .nextWrap {
   padding: 30px 32px 0 !important;
-}
+}

+ 16 - 9
src/views/classList/index.tsx

@@ -112,19 +112,27 @@ export default defineComponent({
         {
           title: '班级名称',
           key: 'name',
-          width:'25%'
+          width: '25%'
         },
         {
           title: '学生人数',
           key: 'preStudentNum',
-          width:'25%'
+          width: '25%'
         },
         {
           title: '上次学习',
           key: 'lastStudy',
-          width:'25%',
+          width: '25%',
           render(row: any) {
-            return  row.lastStudy? <TheTooltip maxWidth={300} showContentWidth={300} content={row.lastStudy} />: '--'
+            return row.lastStudy ? (
+              <TheTooltip
+                maxWidth={300}
+                showContentWidth={300}
+                content={row.lastStudy}
+              />
+            ) : (
+              '--'
+            );
           }
         },
         {
@@ -301,9 +309,9 @@ export default defineComponent({
         </NButton>
         <div class={styles.tableWrap}>
           <NDataTable
-          v-slots={{
-            empty:()=><TheEmpty></TheEmpty>
-          }}
+            v-slots={{
+              empty: () => <TheEmpty></TheEmpty>
+            }}
             class={styles.classTable}
             loading={state.loading}
             columns={columns()}
@@ -359,8 +367,7 @@ export default defineComponent({
           <div class={styles.studentRemove}>
             <p>
               确定要删除班级么?
-              <span>删除后该班级所有学生的年级、班级信息将会清空</span>
-              ,重新加入班级后同步更新。
+              <span>删除班级信息将会清空</span>。
             </p>
 
             <NSpace class={styles.btnGroup} justify="center">

+ 3 - 3
src/views/data-module/index.module.less

@@ -9,14 +9,14 @@
   .customTabs {
     :global {
       .n-tabs-tab--active {
-        font-size: 18px !important;
+        font-size: max(18px, 16Px) !important;
 
         font-weight: 600 !important;
         color: #131415 !important;
       }
 
       .n-tabs-tab {
-        font-size: 18px;
+        font-size: max(18px, 16Px);
         padding: 8px 0 !important;
         font-weight: 400;
         min-width: 50px;
@@ -55,4 +55,4 @@
   line-height: 41px;
   font-weight: 600 !important;
   font-size: 18px;
-}
+}

+ 34 - 24
src/views/data-module/index.tsx

@@ -1,4 +1,4 @@
-import { defineComponent, ref, watch,nextTick, onMounted } from 'vue';
+import { defineComponent, ref, watch, nextTick, onMounted } from 'vue';
 import styles from './index.module.less';
 import { NTabs, NTabPane, NSpace, NButton } from 'naive-ui';
 import { useRoute } from 'vue-router';
@@ -7,7 +7,7 @@ import CDatePicker from '/src/components/CDatePicker';
 import TrainData from '@/views/home/components/trainData';
 import PracticeData from '@/views/home/components/practiceData';
 import PracticeRanking from '@/views/home/components/practiceRanking';
-import DataGuide from '@/custom-plugins/guide-page/data-guide'
+import DataGuide from '@/custom-plugins/guide-page/data-guide';
 import {
   getNowDateAndMonday,
   getNowDateAndSunday
@@ -28,7 +28,7 @@ export default defineComponent({
     const setTabs = (val: any) => {
       setTabsCaches(val, 'tabName', route);
     };
-    const showGuide = ref(false)
+    const showGuide = ref(false);
     const timer = ref<[number, number]>([
       getNowDateAndMonday(new Date().getTime()),
       getNowDateAndSunday(new Date().getTime())
@@ -50,24 +50,22 @@ export default defineComponent({
         PracticeRankingRef.value.getList();
       }
     };
-  const  onReset = ()=>{
-    console.log('点击重置')
+    const onReset = () => {
+      console.log('点击重置');
       timer.value = [
         getNowDateAndMonday(new Date().getTime()),
         getNowDateAndSunday(new Date().getTime())
-      ]
-      nextTick(()=>{
-        onSearch()
-      })
-
-    }
-
-    onMounted(()=>{
-      setTimeout(()=>{
-        showGuide.value = true
-      },500)
+      ];
+      nextTick(() => {
+        onSearch();
+      });
+    };
 
-    })
+    onMounted(() => {
+      setTimeout(() => {
+        showGuide.value = true;
+      }, 500);
+    });
     return () => (
       <div>
         <div class={styles.listWrap}>
@@ -86,9 +84,8 @@ export default defineComponent({
                     <NSpace>
                       <CDatePicker
                         {...{ clearable: false }}
-                         v-model:value={timer.value}
+                        v-model:value={timer.value}
                         separator={'-'}
-
                         type="daterange"
                         timerValue={timer.value}></CDatePicker>
                       <NButton
@@ -97,7 +94,11 @@ export default defineComponent({
                         onClick={() => onSearch()}>
                         搜索
                       </NButton>
-                      <NButton type="primary" onClick={()=>onReset()} ghost class={styles.resetBtn}>
+                      <NButton
+                        type="primary"
+                        onClick={() => onReset()}
+                        ghost
+                        class={styles.resetBtn}>
                         重置
                       </NButton>
                     </NSpace>
@@ -105,21 +106,30 @@ export default defineComponent({
                 </>
               )
             }}>
-            <NTabPane name="training" tab="训练统计"   v-slots={{ tab: () => <span id='data-0'>训练统计</span> }}>
+            <NTabPane
+              name="training"
+              tab="训练统计"
+              v-slots={{ tab: () => <span id="data-0">训练统计</span> }}>
               <TrainData ref={TrainDataRef} timer={timer.value}></TrainData>
             </NTabPane>
-            <NTabPane name="practice" tab="练习数据"  v-slots={{ tab: () => <span id='data-1'>练习数据</span> }}>
+            <NTabPane
+              name="practice"
+              tab="练习数据"
+              v-slots={{ tab: () => <span id="data-1">练习数据</span> }}>
               <PracticeData
                 ref={PracticeDataRef}
                 timer={timer.value}></PracticeData>
             </NTabPane>
-            <NTabPane name="ranking" tab="练习排行"  v-slots={{ tab: () => <span id='data-2'>练习排行</span> }}>
+            <NTabPane
+              name="ranking"
+              tab="练习排行"
+              v-slots={{ tab: () => <span id="data-2">练习排行</span> }}>
               <PracticeRanking
                 ref={PracticeRankingRef}
                 timer={timer.value}></PracticeRanking>
             </NTabPane>
           </NTabs>
-          {showGuide.value?<DataGuide></DataGuide>:null}
+          {showGuide.value ? <DataGuide></DataGuide> : null}
         </div>
       </div>
     );

+ 7 - 54
src/views/home/components/practiceData.tsx

@@ -41,52 +41,7 @@ export default defineComponent({
         rows: 10,
         pageTotal: 4
       },
-      tableList: [
-        {
-          teacherName: '孙忆枫',
-          createTime: '2023-06-27',
-          endTime: '2023-06-30',
-          status: 'ing',
-          studentNum: 100,
-          submitNum: 100,
-          quantityNum: 60,
-          submitRate: 100,
-          quantityRate: 60
-        },
-        {
-          teacherName: '孙忆枫',
-          createTime: '2023-06-27',
-          endTime: '2023-06-30',
-          status: 'ing',
-          studentNum: 100,
-          submitNum: 100,
-          quantityNum: 60,
-          submitRate: 100,
-          quantityRate: 60
-        },
-        {
-          teacherName: '孙忆枫',
-          createTime: '2023-06-27',
-          endTime: '2023-06-30',
-          status: 'ing',
-          studentNum: 100,
-          submitNum: 100,
-          quantityNum: 60,
-          submitRate: 100,
-          quantityRate: 60
-        },
-        {
-          teacherName: '孙忆枫',
-          createTime: '2023-06-25',
-          endTime: '2023-06-26',
-          status: 'end',
-          studentNum: 100,
-          submitNum: 100,
-          quantityNum: 60,
-          submitRate: 100,
-          quantityRate: 60
-        }
-      ] as any,
+      tableList: [] as any,
       goCourseVisiable: false
     });
     const currentTimer = computed(() => {
@@ -102,7 +57,7 @@ export default defineComponent({
           title: '练习人数',
           key: 'practiceUserCount',
           render(row: any) {
-            return (<>{row.practiceUserCount}人</>)
+            return <>{row.practiceUserCount}人</>;
           }
         },
         {
@@ -116,9 +71,9 @@ export default defineComponent({
                   {row.practiceDuration
                     ? getMinutes(row.practiceDuration) > 0
                       ? getMinutes(row.practiceDuration) +
-                      '分' +
-                      getSecend(row.practiceDuration) +
-                      '秒'
+                        '分' +
+                        getSecend(row.practiceDuration) +
+                        '秒'
                       : getSecend(row.practiceDuration) + '秒'
                     : 0 + '分钟'}
                 </>
@@ -129,7 +84,6 @@ export default defineComponent({
       ];
     };
     const getList = async () => {
-
       try {
         const res = await getTrainingStatList({
           page: 1,
@@ -182,7 +136,7 @@ export default defineComponent({
           show: false,
           selected: {
             //在这里设置默认展示就ok了
-            '练习人数': practiceFlag.value
+            练习人数: practiceFlag.value
           }
         },
         xAxis: {
@@ -210,7 +164,7 @@ export default defineComponent({
               }
             },
             minInterval: 1,
-            splitNumber: 5,
+            splitNumber: 5
           }
         ],
         grid: {
@@ -256,7 +210,6 @@ export default defineComponent({
             return [
               item[0].axisValueLabel,
               ...item.map((d: any) => {
-
                 return `<br/>${d.marker}<span style="margin-top:10px;margin-left:5px;font-size: 13px;font-weight: 500;
                   color: #131415;font-weight: 600;
                   margin-top:12px

+ 7 - 5
src/views/home/index.module.less

@@ -17,7 +17,7 @@
   background-color: #fff;
   position: relative;
   margin-bottom: 20px;
-  padding: 20px;
+  padding: 25px 20px;
 }
 
 .welcomeInfo {
@@ -194,7 +194,7 @@
   .beforClass {
     --n-height: 60px !important;
     min-width: 182px !important;
-    --n-font-size: 20px !important;
+    --n-font-size: max(20px, 16Px) !important;
     font-weight: bold !important;
   }
 
@@ -490,6 +490,8 @@
           font-weight: 400;
           color: #777777;
           line-height: 18px;
+          width: 100%;
+          justify-content: center;
 
           span {
             font-family: 'DINA';
@@ -608,7 +610,7 @@
     margin-bottom: 32px;
 
     .headerTitle {
-      font-size: 20px;
+      font-size: max(20px, 16Px);
       font-weight: 600;
       color: #131415;
       line-height: 28px;
@@ -617,7 +619,7 @@
     }
 
     .headerSubTitle {
-      font-size: 14px;
+      font-size: 14Px;
       font-weight: 400;
       color: #707a92;
       line-height: 20px;
@@ -843,4 +845,4 @@
 
 .tableWrap {
   margin-top: 40px;
-}
+}

+ 53 - 37
src/views/home/index.tsx

@@ -49,7 +49,7 @@ import { setTabsCaches } from '/src/hooks/use-async';
 import HomeGuide from '/src/custom-plugins/guide-page/home-guide';
 import TimerMeter from '/src/components/timerMeter';
 import { vaildUrl } from '/src/utils/urlUtils';
-import toneImage from  '@/components/layout/images/toneImage.png';
+import toneImage from '@/components/layout/images/toneImage.png';
 export const formatDateToDay = () => {
   const hours = dayjs().hour();
   if (hours < 12) {
@@ -340,14 +340,13 @@ export default defineComponent({
         }
       });
     };
-    const clearStorng = ()=>{
-      localStorage.removeItem('teacher-guideInfo')
-      forms.showGuide=false;
-      setTimeout(()=>{
-        forms.showGuide=true;
-      },500)
-
-    }
+    const clearStorng = () => {
+      localStorage.removeItem('teacher-guideInfo');
+      forms.showGuide = false;
+      setTimeout(() => {
+        forms.showGuide = true;
+      }, 500);
+    };
     return () => (
       <div class={styles.homeWrap}>
         <div class={styles.homeInfoLeft}>
@@ -537,18 +536,30 @@ export default defineComponent({
               </div>
             </div>
             <img src={iconTo} class={styles.iconTo} />
-            <div class={styles.toolFunction} id="home-3" >
-              <div class={[styles.toolItem, styles.item1]} onClick={()=>{showModalBeat.value = true}}>
+            <div class={styles.toolFunction} id="home-3">
+              <div
+                class={[styles.toolItem, styles.item1]}
+                onClick={() => {
+                  showModalBeat.value = true;
+                }}>
                 <img src={t1} />
                 <p class={styles.toolMemo}>提升效率,练习好节奏</p>
                 <NButton class={styles.btn1}>节拍器</NButton>
               </div>
-              <div class={[styles.toolItem, styles.item2]} onClick={()=>{showModalTone.value= true}}>
+              <div
+                class={[styles.toolItem, styles.item2]}
+                onClick={() => {
+                  showModalTone.value = true;
+                }}>
                 <img src={t2} />
                 <p class={styles.toolMemo}>精准调音,一劳永逸</p>
                 <NButton class={styles.btn2}>调音器</NButton>
               </div>
-              <div class={[styles.toolItem, styles.item3]} onClick={()=>{showModalTime.value = true}}>
+              <div
+                class={[styles.toolItem, styles.item3]}
+                onClick={() => {
+                  showModalTime.value = true;
+                }}>
                 <img src={t3} />
                 <p class={styles.toolMemo}>创造时间,集中注意力</p>
                 <NButton class={styles.btn3}>计时器</NButton>
@@ -696,41 +707,46 @@ export default defineComponent({
         </NModal>
 
         <NModal
-         class={['modalTitle background']}
+          class={['modalTitle background']}
           title={'节拍器'}
           preset="card"
-          v-model:show={showModalBeat.value}  style={{ width: '687px' }}>
-          <div
-            class={styles.modeWrap}
-           >
-              <iframe src={ `${vaildUrl()}/metronome/?id=${new Date().getTime()}`  }  scrolling='no'  frameborder="0" width='100%'  height={'650px'} ></iframe>
+          v-model:show={showModalBeat.value}
+          style={{ width: '687px' }}>
+          <div class={styles.modeWrap}>
+            <iframe
+              src={`${vaildUrl()}/metronome/?id=${new Date().getTime()}`}
+              scrolling="no"
+              frameborder="0"
+              width="100%"
+              height={'650px'}></iframe>
           </div>
         </NModal>
 
-        <NModal v-model:show={showModalTime.value}   class={['modalTitle background']}
-          title={'计时器'}  preset="card" style={{ width: '772px' }}>
-          <div
-           >
-          <TimerMeter></TimerMeter>
+        <NModal
+          v-model:show={showModalTime.value}
+          class={['modalTitle background']}
+          title={'计时器'}
+          preset="card"
+          style={{ width: '772px' }}>
+          <div>
+            <TimerMeter></TimerMeter>
           </div>
         </NModal>
 
-<NModal v-model:show={showModalTone.value} style={{ width: '687px' }}>
-<div
-  onClick={() => {
-    showModalTone.value = false;
-  }}>
-  <NImage
-    src={toneImage}
-    previewDisabled
-    class={styles.beatImage}></NImage>
-</div>
-</NModal>
+        <NModal v-model:show={showModalTone.value} style={{ width: '687px' }}>
+          <div
+            onClick={() => {
+              showModalTone.value = false;
+            }}>
+            <NImage
+              src={toneImage}
+              previewDisabled
+              class={styles.beatImage}></NImage>
+          </div>
+        </NModal>
 
         {forms.showGuide ? <HomeGuide></HomeGuide> : null}
       </div>
-
-
     );
   }
 });

+ 4 - 4
src/views/natural-resources/components/my-collect/index.module.less

@@ -19,7 +19,7 @@
       .n-button {
         height: 37px;
         padding: 0 24px;
-        font-size: 18px;
+        font-size: max(18px, 14Px);
         color: rgba(0, 0, 0, .6);
 
         &.n-button--primary-type {
@@ -37,7 +37,7 @@
 
     .n-form-item {
       .n-form-item-label {
-        font-size: 17px;
+        font-size: max(17px, 13Px);
         font-weight: 600;
         color: #131415;
         line-height: 24px;
@@ -45,7 +45,7 @@
 
       .n-button {
         height: 32px;
-        font-size: 17px;
+        font-size: max(17px, 13Px);
         border-radius: 8px;
         color: rgba(0, 0, 0, 0.6);
       }
@@ -119,4 +119,4 @@
   &>div {
     line-height: var(--n-blank-height);
   }
-}
+}

+ 35 - 4
src/views/natural-resources/components/my-resources/index.module.less

@@ -18,7 +18,7 @@
       .n-button {
         height: 37px;
         padding: 0 24px;
-        font-size: 18px;
+        font-size: max(18px, 14Px);
         color: rgba(0, 0, 0, .6);
 
         &.n-button--primary-type {
@@ -36,7 +36,7 @@
 
     .n-form-item {
       .n-form-item-label {
-        font-size: 17px;
+        font-size: max(17px, 13Px);
         font-weight: 600;
         color: #131415;
         line-height: 24px;
@@ -44,7 +44,7 @@
 
       .n-button {
         height: 32px;
-        font-size: 17px;
+        font-size: max(17px, 13Px);
         border-radius: 8px;
         color: rgba(0, 0, 0, 0.6);
       }
@@ -185,4 +185,35 @@
       --n-height: calc(var(--n-option-height) * 5.6) !important;
     }
   }
-}
+}
+
+
+.removeVisiable {
+  width: 500px;
+
+  .studentRemove {
+    padding: 20px 40px 0;
+
+    p {
+      font-size: max(18px, 16Px);
+      color: #777777;
+      line-height: 30px;
+      text-align: center;
+
+      span {
+        color: #EA4132;
+      }
+    }
+  }
+
+  .btnGroupModal {
+    padding: 32px 0;
+
+    :global {
+      .n-button {
+        height: 47px;
+        min-width: 156px;
+      }
+    }
+  }
+}

+ 90 - 33
src/views/natural-resources/components/my-resources/index.tsx

@@ -9,7 +9,14 @@ import {
   materialRemove,
   materialRemoveAll
 } from '../../api';
-import { NModal, NSpin, useDialog, useMessage } from 'naive-ui';
+import {
+  NButton,
+  NModal,
+  NSpace,
+  NSpin,
+  useDialog,
+  useMessage
+} from 'naive-ui';
 import TheEmpty from '/src/components/TheEmpty';
 import UploadModal from './upload-modal';
 import CardPreview from '@/components/card-preview';
@@ -42,7 +49,11 @@ export default defineComponent({
       item: {} as any,
       editStatus: false, // 是否编辑
       editList: [] as any, // TOD
-      editIds: [] as any // 编辑的
+      editIds: [] as any, // 编辑的
+      removeVisiable: false,
+      removeContent: '是否删除该资源?',
+      type: 'remove',
+      removeItem: {} as any
     });
     const showGuide = ref(false);
     const getList = async () => {
@@ -102,41 +113,45 @@ export default defineComponent({
     // 批量删除
     const onDelete = async () => {
       try {
-        if (state.editIds.length <= 0) {
-          message.error('至少选择一条资源进行删除');
-          return;
-        }
-        dialog.warning({
-          title: '提示',
-          content: '你确定删除该资源?',
-          positiveText: '确定',
-          negativeText: '取消',
-          onPositiveClick: async () => {
-            await materialRemoveAll(state.editIds);
-            message.success('删除成功');
-            onSearch(state.searchGroup);
-            state.editIds = [];
-          }
-        });
+        // dialog.warning({
+        //   title: '提示',
+        //   content: '你确定删除该资源?',
+        //   positiveText: '确定',
+        //   negativeText: '取消',
+        //   onPositiveClick: async () => {
+        //     await materialRemoveAll(state.editIds);
+        //     message.success('删除成功');
+        //     onSearch(state.searchGroup);
+        //     state.editIds = [];
+        //   }
+        // });
+        await materialRemoveAll(state.editIds);
+        message.success('删除成功');
+        onSearch(state.searchGroup);
+        state.editIds = [];
       } catch {
         //
       }
     };
 
     // 单个删除
-    const onRemove = async (item: any) => {
+    const onRemove = async () => {
       try {
-        dialog.warning({
-          title: '提示',
-          content: '该资源已下架,是否删除?',
-          positiveText: '确定',
-          negativeText: '取消',
-          onPositiveClick: async () => {
-            await materialRemove({ id: item.id });
-            message.success('删除成功');
-            onSearch(state.searchGroup);
-          }
-        });
+        // dialog.warning({
+        //   title: '提示',
+        //   content: '该资源已下架,是否删除?',
+        //   positiveText: '确定',
+        //   negativeText: '取消',
+        //   onPositiveClick: async () => {
+        //     await materialRemove({ id: item.id });
+        //     message.success('删除成功');
+        //     onSearch(state.searchGroup);
+        //   }
+        // });
+
+        await materialRemove({ id: state.removeItem.id });
+        message.success('删除成功');
+        onSearch(state.searchGroup);
       } catch {
         //
       }
@@ -187,7 +202,15 @@ export default defineComponent({
               state.editIds = [];
             }
           }}
-          onDelete={onDelete}
+          onDelete={() => {
+            if (state.editIds.length <= 0) {
+              message.error('至少选择一条资源进行删除');
+              return;
+            }
+            state.type = 'delete';
+            state.removeContent = '是否删除该资源?';
+            state.removeVisiable = true;
+          }}
         />
 
         <NSpin v-model:show={state.loading} style={{ 'min-height': '50vh' }}>
@@ -198,7 +221,12 @@ export default defineComponent({
                   item={item}
                   disabledMouseHover={false}
                   offShelf={item.enableFlag ? false : true}
-                  onOffShelf={() => onRemove(item)}
+                  onOffShelf={() => {
+                    // onRemove(item);
+                    state.type = 'remove';
+                    state.removeContent = '该资源已下架,是否删除?';
+                    state.removeVisiable = true;
+                  }} // 下架
                   onClick={(val: any) => {
                     if (val.type === 'IMG' || !item.enableFlag) return;
                     state.show = true;
@@ -237,7 +265,7 @@ export default defineComponent({
             ))}
 
             {!state.loading && state.tableList.length <= 0 && (
-              <TheEmpty description="暂无资源" />
+              <TheEmpty style={{ paddingTop: '30px' }} description="暂无资源" />
             )}
           </div>
         </NSpin>
@@ -270,6 +298,35 @@ export default defineComponent({
           />
         </NModal>
         {showGuide.value ? <MyResourcesGuide></MyResourcesGuide> : null}
+
+        <NModal
+          v-model:show={state.removeVisiable}
+          preset="card"
+          class={['modalTitle', styles.removeVisiable]}
+          title={'提示'}>
+          <div class={styles.studentRemove}>
+            <p>{state.removeContent}</p>
+
+            <NSpace class={styles.btnGroupModal} justify="center">
+              <NButton
+                round
+                type="primary"
+                onClick={() => {
+                  if (state.type === 'remove') {
+                    onRemove();
+                  } else {
+                    onDelete();
+                  }
+                  state.removeVisiable = false;
+                }}>
+                确定
+              </NButton>
+              <NButton round onClick={() => (state.removeVisiable = false)}>
+                取消
+              </NButton>
+            </NSpace>
+          </div>
+        </NModal>
       </>
     );
   }

+ 5 - 4
src/views/natural-resources/components/share-resources/index.module.less

@@ -19,7 +19,7 @@
       .n-button {
         height: 37px;
         padding: 0 24px;
-        font-size: 18px;
+        font-size: max(18px, 14Px);
         color: rgba(0, 0, 0, .6);
 
         &.n-button--primary-type {
@@ -37,7 +37,7 @@
 
     .n-form-item {
       .n-form-item-label {
-        font-size: 17px;
+        font-size: max(17px, 13Px);
         font-weight: 600;
         color: #131415;
         line-height: 24px;
@@ -45,13 +45,14 @@
 
       .n-button {
         height: 32px;
-        font-size: 17px;
+        font-size: max(17px, 13Px);
         border-radius: 8px;
         color: rgba(0, 0, 0, 0.6);
       }
 
       .n-button--primary-type {
         color: #131415;
+        background-color: #D2ECFF !important;
       }
     }
 
@@ -154,4 +155,4 @@
 .isHidden {
   overflow: hidden;
   transition: 1s all ease-in;
-}
+}

+ 5 - 0
src/views/natural-resources/components/share-resources/search-group-resources.tsx

@@ -141,6 +141,11 @@ export default defineComponent({
                       </NButton>
                     ))}
                     <div
+                      style={{
+                        height: '100%',
+                        display: 'flex',
+                        alignItems: 'center'
+                      }}
                       onClick={() => {
                         setCollapse(!isCollapse.value);
                       }}>

+ 2 - 2
src/views/natural-resources/index.module.less

@@ -15,7 +15,7 @@
 
     .n-tabs-tab {
       color: #8B8D98;
-      font-size: 22px;
+      font-size: max(22px, 16Px);
       padding-top: 0;
       padding-bottom: 6px;
       line-height: 22px;
@@ -154,4 +154,4 @@
       }
     }
   }
-}
+}

+ 5 - 6
src/views/natural-resources/index.tsx

@@ -16,26 +16,25 @@ export default defineComponent({
           justifyContent="center"
           animated
           paneWrapperClass={styles.paneWrapperContainer}>
-
           <NTabPane
             name="myResources"
             tab="我的资源"
-          // displayDirective="show:lazy"
-
+            // displayDirective="show:lazy"
           >
             <MyResources />
           </NTabPane>
           <NTabPane
             name="shareResources"
             tab="共享资源"
-            v-slots={{ tab: () => <span id='shareResources-0'>共享资源</span> }}
-          >
+            v-slots={{
+              tab: () => <span id="shareResources-0">共享资源</span>
+            }}>
             <ShareResources />
           </NTabPane>
           <NTabPane
             name="myCollect"
             tab="我的收藏"
-          // displayDirective="show:lazy"
+            // displayDirective="show:lazy"
           >
             <MyCollect />
           </NTabPane>

+ 2 - 2
src/views/prepare-lessons/components/directory-main/index.module.less

@@ -22,7 +22,7 @@
   border-radius: 10px;
   padding: 0 16px;
   margin: 0 20px 12px;
-  font-size: 18px;
+  font-size: max(18px, 14Px);
   font-weight: 600;
   color: #131415;
   line-height: 25px;
@@ -129,4 +129,4 @@
 
 .coursewareModal {
   width: 1150px;
-}
+}

+ 3 - 3
src/views/prepare-lessons/components/lesson-main/courseware/index.module.less

@@ -116,7 +116,7 @@
     padding: 20px 40px 0;
 
     p {
-      font-size: 18px;
+      font-size: max(18px, 16Px);
       color: #777777;
       line-height: 30px;
       text-align: center;
@@ -146,7 +146,7 @@
     padding: 20px 40px 0;
 
     p {
-      font-size: 18px;
+      font-size: max(18px, 16Px);
       color: #777777;
       line-height: 30px;
 
@@ -166,4 +166,4 @@
       }
     }
   }
-}
+}

+ 13 - 5
src/views/prepare-lessons/components/lesson-main/courseware/index.tsx

@@ -24,6 +24,7 @@ import Draggable from 'vuedraggable';
 import iconDelete from '../../../images/icon-delete.png';
 import { useRouter } from 'vue-router';
 import deepClone from '/src/helpers/deep-clone';
+import CardPreview from '/src/components/card-preview';
 
 export default defineComponent({
   name: 'courseware-modal',
@@ -40,7 +41,9 @@ export default defineComponent({
       removeIds: [] as any, // 临时删除的编号
       drag: false,
       removeVisiable: false,
-      removeVisiable1: false
+      removeVisiable1: false,
+      show: false,
+      item: {} as any
     });
 
     // 获取列表
@@ -341,10 +344,6 @@ export default defineComponent({
                                 <img
                                   src={iconDelete}
                                   class={styles.iconDelete}
-                                  onClick={(e: MouseEvent) => {
-                                    e.stopPropagation();
-                                    onDelete(item);
-                                  }}
                                 />
                               </div>
                             </div>
@@ -361,6 +360,12 @@ export default defineComponent({
                           item={item}
                           offShelf={item.removeFlag ? true : false}
                           onOffShelf={() => onRemove(item)}
+                          disabledMouseHover={false}
+                          onClick={() => {
+                            if (item.type === 'IMG') return;
+                            forms.show = true;
+                            forms.item = item;
+                          }}
                         />
                       ))}
                     </div>
@@ -385,6 +390,9 @@ export default defineComponent({
           <AttendClass onClose={() => (forms.showAttendClass = false)} />
         </NModal>
 
+        {/* 弹窗查看 */}
+        <CardPreview v-model:show={forms.show} item={forms.item} />
+
         <NModal
           v-model:show={forms.removeVisiable}
           preset="card"

+ 2 - 2
src/views/prepare-lessons/components/lesson-main/index.module.less

@@ -10,7 +10,7 @@
 
     .n-tabs-tab {
       color: #8B8D98;
-      font-size: 20px;
+      font-size: max(20px, 16Px);
       padding-top: 12px;
       padding-bottom: 8px;
       line-height: 28px;
@@ -36,4 +36,4 @@
       padding-top: 4px !important;
     }
   }
-}
+}

+ 39 - 15
src/views/prepare-lessons/components/lesson-main/train/assign-homework.tsx

@@ -1,4 +1,4 @@
-import { defineComponent, reactive, ref } from 'vue';
+import { defineComponent, onMounted, reactive, ref } from 'vue';
 import styles from './index.module.less';
 import {
   NButton,
@@ -12,6 +12,8 @@ import {
 import { BOOK_DATA } from '/src/views/natural-resources/model/add-teaching';
 import { classGroupPage, lessonTrainingAdd } from '../../../api';
 import dayjs from 'dayjs';
+import { classGroupList } from '/src/views/home/api';
+import { gradeToCN } from '/src/utils/contants';
 
 export default defineComponent({
   name: 'assign-homework',
@@ -30,6 +32,7 @@ export default defineComponent({
       currentTime: dayjs(dayjs().format('YYYY-MM-DD')).valueOf(),
       id: null as any,
       uploading: false,
+      gradeList: [] as any,
       classList: [] as any,
       currentGradeNum: null,
       expireDate: dayjs().add(7, 'day').format('YYYY-MM-DD') as any, // 默认7天
@@ -37,23 +40,41 @@ export default defineComponent({
     });
     const formsRef = ref();
 
-    const getClassList = async () => {
+    // 获取年级班级
+    const getClassGroupList = async () => {
       try {
-        const { data } = await classGroupPage({
-          currentGradeNum: forms.currentGradeNum,
-          page: 1,
-          rows: 99
-        });
-        const temp = data.rows || [];
-        const classList = [] as any;
-        temp.forEach((row: any) => {
-          classList.push({
-            label: row.currentClass + '班',
-            value: row.id
+        const { data } = await classGroupList({ removeZeroClass: true });
+        const cList = data || [];
+        const gradeList: any = [];
+        cList.forEach((item: any, index: number) => {
+          const classList: any = [];
+          item.classGroupList.forEach((i: any) => {
+            classList.push({
+              label: i.currentClass + '班',
+              value: i.id,
+              lastStudy: i.lastStudy
+            });
+          });
+
+          gradeList.push({
+            label: gradeToCN[item.currentGradeNum],
+            value: item.currentGradeNum,
+            childrens: classList
           });
         });
+        forms.gradeList = gradeList;
+      } catch {
+        //
+      }
+    };
 
-        forms.classList = classList;
+    const getClassList = async () => {
+      try {
+        forms.gradeList.forEach((item: any) => {
+          if (item.value === forms.currentGradeNum) {
+            forms.classList = item.childrens;
+          }
+        });
       } catch {
         //
       }
@@ -89,6 +110,9 @@ export default defineComponent({
       });
     };
 
+    onMounted(() => {
+      getClassGroupList();
+    });
     return () => (
       <div class={styles.assignHomeworkContainer}>
         <NForm
@@ -111,7 +135,7 @@ export default defineComponent({
             <NSelect
               v-model:value={forms.currentGradeNum}
               placeholder="请选择年级"
-              options={BOOK_DATA.grades}
+              options={forms.gradeList}
               clearable
               onUpdate:value={() => {
                 forms.classGroupId = null;

+ 13 - 1
src/views/prepare-lessons/components/resource-main/components/resource-item/index.tsx

@@ -8,6 +8,7 @@ import TheEmpty from '/src/components/TheEmpty';
 import { usePrepareStore } from '/src/store/modules/prepareLessons';
 import { useDebounceFn, useThrottleFn } from '@vueuse/core';
 import { saveCourseware } from '/src/views/prepare-lessons/api';
+import CardPreview from '/src/components/card-preview';
 
 const formatType = (type: string) => {
   if (type === 'shareResources') {
@@ -45,7 +46,9 @@ export default defineComponent({
         sourceType: formatType(props.type),
         enableFlag: true
       },
-      tableList: [] as any
+      tableList: [] as any,
+      show: false,
+      item: {} as any
     });
     const getList = async () => {
       try {
@@ -212,6 +215,12 @@ export default defineComponent({
                       isShowAdd
                       item={item}
                       isShowCollect={false}
+                      disabledMouseHover={false}
+                      onClick={() => {
+                        if (item.type === 'IMG') return;
+                        state.show = true;
+                        state.item = item;
+                      }}
                       isShowAddDisabled={prepareStore.getIsEditResource}
                       onAdd={(item: any) => onAdd(item)}
                     />
@@ -222,6 +231,9 @@ export default defineComponent({
             </div>
           </NSpin>
         </NScrollbar>
+
+        {/* 弹窗查看 */}
+        <CardPreview v-model:show={state.show} item={state.item} />
       </div>
     );
   }

+ 13 - 1
src/views/prepare-lessons/components/resource-main/components/select-music/index.tsx

@@ -9,6 +9,7 @@ import { usePrepareStore } from '/src/store/modules/prepareLessons';
 import { musicSheetPage } from '/src/views/prepare-lessons/api';
 import TrainUpdate from '/src/views/attend-class/model/train-update';
 import requestOrigin from 'umi-request';
+import CardPreview from '/src/components/card-preview';
 export default defineComponent({
   name: 'share-resources',
   setup() {
@@ -29,7 +30,9 @@ export default defineComponent({
       },
       tableList: [] as any,
       editStatus: false,
-      editItem: {} as any
+      editItem: {} as any,
+      show: false,
+      item: {} as any
     });
     const getList = async () => {
       try {
@@ -152,6 +155,12 @@ export default defineComponent({
                       isShowCollect={false}
                       item={item}
                       isShowAddDisabled={prepareStore.getIsEditTrain}
+                      disabledMouseHover={false}
+                      onClick={() => {
+                        if (item.type === 'IMG') return;
+                        state.show = true;
+                        state.item = item;
+                      }}
                       onAdd={(child: any) => onAdd(child)}
                     />
                   ))}
@@ -162,6 +171,9 @@ export default defineComponent({
           </NSpin>
         </NScrollbar>
 
+        {/* 弹窗查看 */}
+        <CardPreview v-model:show={state.show} item={state.item} />
+
         <NModal
           v-model:show={state.editStatus}
           class={['modalTitle background', styles.trainEditModal]}

+ 2 - 2
src/views/prepare-lessons/components/resource-main/index.module.less

@@ -12,7 +12,7 @@
 
     .n-tabs-tab {
       color: #8B8D98;
-      font-size: 16px;
+      font-size: max(16px, 14Px);
       padding-top: 12px;
       padding-bottom: 6px;
       line-height: 22px;
@@ -71,4 +71,4 @@
 
 .trainEditModal {
   width: 494px;
-}
+}

+ 13 - 1
src/views/prepare-lessons/model/select-music/index.tsx

@@ -7,6 +7,7 @@ import TheEmpty from '/src/components/TheEmpty';
 import { useDebounceFn, useThrottleFn } from '@vueuse/core';
 import { usePrepareStore } from '/src/store/modules/prepareLessons';
 import { musicSheetPage } from '../../api';
+import CardPreview from '/src/components/card-preview';
 
 export default defineComponent({
   name: 'select-music',
@@ -27,7 +28,9 @@ export default defineComponent({
         versionFlag: false,
         subjectId: null
       },
-      tableList: [] as any
+      tableList: [] as any,
+      show: false,
+      item: {} as any
     });
     const getList = async () => {
       try {
@@ -124,6 +127,12 @@ export default defineComponent({
                           item={item}
                           isShowAddDisabled={prepareStore.getIsEditTrain}
                           onAdd={() => emit('add', item)}
+                          disabledMouseHover={false}
+                          onClick={() => {
+                            if (item.type === 'IMG') return;
+                            state.show = true;
+                            state.item = item;
+                          }}
                         />
                       ))}
                     </div>
@@ -136,6 +145,9 @@ export default defineComponent({
             </NScrollbar>
           </NTabPane>
         </NTabs>
+
+        {/* 弹窗查看 */}
+        <CardPreview v-model:show={state.show} item={state.item} />
       </div>
     );
   }

+ 24 - 5
src/views/prepare-lessons/model/select-resources/select-item/index.tsx

@@ -1,4 +1,11 @@
-import { PropType, defineComponent, onMounted, reactive, watch } from 'vue';
+import {
+  PropType,
+  defineComponent,
+  onMounted,
+  reactive,
+  toRefs,
+  watch
+} from 'vue';
 import ResourceSearchGroup from './resource-search-group';
 import { NScrollbar, NSpin, useDialog, useMessage } from 'naive-ui';
 import styles from './index.module.less';
@@ -8,6 +15,7 @@ import TheEmpty from '/src/components/TheEmpty';
 import { usePrepareStore } from '/src/store/modules/prepareLessons';
 import { saveCourseware } from '../../../api';
 import { useDebounceFn } from '@vueuse/core';
+import CardPreview from '/src/components/card-preview';
 
 const formatType = (type: string) => {
   if (type === 'shareResources') {
@@ -30,7 +38,7 @@ export default defineComponent({
   setup(props) {
     const prepareStore = usePrepareStore();
     const message = useMessage();
-    const dialog = useDialog();
+    const { type } = toRefs(props);
     const state = reactive({
       loading: false,
       finshed: false, // 是否加载完
@@ -39,14 +47,16 @@ export default defineComponent({
         rows: 20
       },
       searchGroup: {
-        type: props.type === 'shareResources' ? 'MUSIC' : '', //
+        type: type.value === 'shareResources' ? 'MUSIC' : '', //
         name: '',
         bookVersionId: null,
         subjectId: null,
-        sourceType: formatType(props.type),
+        sourceType: formatType(type.value),
         enableFlag: true
       },
-      tableList: [] as any
+      tableList: [] as any,
+      show: false,
+      item: {} as any
     });
 
     // 查询列表
@@ -201,6 +211,12 @@ export default defineComponent({
                       isShowCollect={false}
                       isShowAddDisabled={prepareStore.getIsEditResource}
                       onAdd={(item: any) => onAdd(item)}
+                      disabledMouseHover={false}
+                      onClick={() => {
+                        if (item.type === 'IMG') return;
+                        state.show = true;
+                        state.item = item;
+                      }}
                     />
                   ))}
                 </div>
@@ -210,6 +226,9 @@ export default defineComponent({
             </div>
           </NSpin>
         </NScrollbar>
+
+        {/* 弹窗查看 */}
+        <CardPreview v-model:show={state.show} item={state.item} />
       </div>
     );
   }

+ 46 - 42
src/views/setting/components/schoolInfo/index.module.less

@@ -1,7 +1,7 @@
 .logo {
   position: relative;
-  width: 100Px;
-  height: 100Px;
+  width: 100px;
+  height: 100px;
   border-radius: 50%;
   overflow: hidden;
 
@@ -41,12 +41,12 @@
 .formWrap {
   :global {
     .n-input {
-      width: 284Px;
-      border-radius: 8Px;
+      width: 284px;
+      border-radius: 8px;
 
       .n-input__input-el {
-        height: 50Px;
-        font-size: 16Px;
+        height: 50px;
+        font-size: 16px;
       }
 
       &.n-input--disabled {
@@ -59,13 +59,13 @@
 
 
     .n-base-selection {
-      height: 50Px;
-      width: 284Px;
-      border-radius: 8Px;
+      height: 50px;
+      width: 284px;
+      border-radius: 8px;
 
       .n-base-selection-label {
-        height: 50Px;
-        font-size: 16Px;
+        height: 50px;
+        font-size: 16px;
       }
     }
 
@@ -95,8 +95,8 @@
       background: #F7F7F8;
       color: rgba(113, 113, 114, 1) !important;
       border: none;
-      min-height: 54Px;
-      font-size: 15Px;
+      min-height: 54px;
+      font-size: 15px;
     }
 
     .n-data-table.n-data-table--bordered .n-data-table-wrapper {
@@ -106,7 +106,7 @@
     .n-data-table-tr .n-data-table-td .n-button__content,
     .n-data-table .n-data-table-td {
       font-weight: bold;
-      font-size: 15Px;
+      font-size: 15px;
     }
   }
 
@@ -121,31 +121,31 @@
 
 .addTeacher {
   padding: 0;
-  border-radius: 16Px;
+  border-radius: 16px;
   overflow: hidden;
-  min-width: 456Px;
+  min-width: 456px;
 
   :global {
     .n-dialog__close {
-      transform: translate(0, 3Px);
+      transform: translate(0, 3px);
     }
 
     .n-dialog__title {
-      min-height: 70Px;
+      min-height: 70px;
       justify-content: center;
       background: #F5F6FA;
     }
 
     .n-form {
-      padding: 20Px 0;
+      padding: 20px 0;
     }
 
     .n-input {
-      border-radius: 8Px;
+      border-radius: 8px;
 
       .n-input__input-el {
-        height: 50Px;
-        font-size: 16Px;
+        height: 50px;
+        font-size: 16px;
       }
 
       &.n-input--disabled {
@@ -155,11 +155,11 @@
     }
 
     .n-base-selection {
-      border-radius: 8Px;
+      border-radius: 8px;
 
       .n-base-selection-label {
-        height: 50Px;
-        font-size: 16Px;
+        height: 50px;
+        font-size: 16px;
       }
     }
 
@@ -169,30 +169,30 @@
     }
 
     .n-form-item-blank {
-      padding-right: 30Px;
+      padding-right: 30px;
     }
 
     .genderBtn {
-      min-width: 84Px;
-      min-height: 37Px;
-      border-radius: 8Px;
+      min-width: 84px;
+      min-height: 37px;
+      border-radius: 8px;
     }
 
     .n-form-item-label {
       color: #777;
       padding: 0;
-      font-size: 18Px;
+      font-size: 18px;
     }
 
     .n-form-item-label__text {
-      height: 50Px;
+      height: 50px;
       display: flex;
       align-items: center;
       justify-content: center;
     }
 
     .nalert {
-      padding: 0 30Px;
+      padding: 0 30px;
 
       .n-alert {
         background: #FFE8E8;
@@ -201,15 +201,15 @@
 
       .n-alert-body .n-alert-body__content {
         color: #EA4132;
-        font-size: 14Px;
+        font-size: 14px;
       }
 
     }
 
     .actionBtn {
-      width: 156Px;
-      height: 47Px;
-      font-size: 18Px;
+      width: 156px;
+      height: 47px;
+      font-size: 18px;
     }
   }
 }
@@ -218,12 +218,12 @@
   width: 100%;
 
   .btn {
-    width: 144Px;
-    height: 45Px;
-    border-radius: 8Px;
-    font-size: 18Px;
+    width: 144px;
+    height: 45px;
+    border-radius: 8px;
+    font-size: 18px;
     font-weight: 600 !important;
-    margin-right: 24Px;
+    margin-right: 24px;
   }
 
 }
@@ -275,6 +275,10 @@
       width: 230px;
       height: 48px;
     }
+
+    &.addTeacherTitle {
+      top: -14px;
+    }
   }
 
   .addStudentInfo {
@@ -449,4 +453,4 @@
       cursor: pointer;
     }
   }
-}
+}

+ 14 - 11
src/views/setting/components/schoolInfo/index.tsx

@@ -29,8 +29,8 @@ import AddTeacher from '../../modal/add-teacher';
 import TheQrCode from '/src/components/TheQrCode';
 import logo from '@/common/images/logo.png';
 import { stringifyQuery } from '/src/router';
-import AddteacherModel from '../../modal/addteacherModel'
-import TeacherGuide from '@/custom-plugins/guide-page/teacher-guide'
+import AddteacherModel from '../../modal/addteacherModel';
+import TeacherGuide from '@/custom-plugins/guide-page/teacher-guide';
 import TheEmpty from '/src/components/TheEmpty';
 export default defineComponent({
   name: 'school-info',
@@ -55,7 +55,7 @@ export default defineComponent({
       modal: false,
       qrModal: false
     });
-    const showGuide = ref(false)
+    const showGuide = ref(false);
     const columns = (): DataTableColumn[] => {
       return [
         {
@@ -164,9 +164,9 @@ export default defineComponent({
       if (res?.code === 200 && Array.isArray(res?.data?.rows)) {
         data.dataList = res.data.rows;
       }
-      setTimeout(()=>{
+      setTimeout(() => {
         showGuide.value = true;
-      },500)
+      }, 500);
     };
     onMounted(() => {
       getAreaList();
@@ -338,20 +338,23 @@ export default defineComponent({
 
         <NSpace style={{ padding: '32px 0' }}>
           <NButton
-          {...{id:'teacher-0'}}
+            {...{ id: 'teacher-0' }}
             type="primary"
             renderIcon={() => <NIcon component={<Add />} />}
             onClick={() => (data.modal = true)}>
             添加老师
           </NButton>
-          <NButton    {...{id:'teacher-1'}} type="primary" onClick={() => (data.qrModal = true)}>
+          <NButton
+            {...{ id: 'teacher-1' }}
+            type="primary"
+            onClick={() => (data.qrModal = true)}>
             老师注册二维码
           </NButton>
         </NSpace>
 
         <NDataTable
-           v-slots={{
-            empty:()=><TheEmpty></TheEmpty>
+          v-slots={{
+            empty: () => <TheEmpty></TheEmpty>
           }}
           loading={data.loading}
           columns={columns()}
@@ -372,7 +375,7 @@ export default defineComponent({
           />
         </NModal>
 
-   {data.qrModal ? (
+        {data.qrModal ? (
           <div v-model:show={data.qrModal} class="n-modal-mask">
             <AddteacherModel
               onClose={() => {
@@ -380,7 +383,7 @@ export default defineComponent({
               }}></AddteacherModel>
           </div>
         ) : null}
-        {showGuide.value?<TeacherGuide></TeacherGuide>:null}
+        {showGuide.value ? <TeacherGuide></TeacherGuide> : null}
       </div>
     );
   }

BIN
src/views/setting/images/studentTitle.png


+ 23 - 23
src/views/setting/index.module.less

@@ -9,14 +9,14 @@
   .customTabs {
     :global {
       .n-tabs-tab--active {
-        font-size: 18px !important;
+        font-size: max(18px, 16Px) !important;
 
         font-weight: 600 !important;
         color: #131415 !important;
       }
 
       .n-tabs-tab {
-        font-size: 18px;
+        font-size: max(18px, 16Px);
         padding: 8px 0 !important;
         font-weight: 400;
         min-width: 50px;
@@ -145,7 +145,7 @@
 
     :global {
       .n-form-item {
-        min-width: 200Px;
+        min-width: 200px;
       }
 
       .n-form-item-label {
@@ -154,11 +154,11 @@
       }
 
       .n-input {
-        border-radius: 8Px;
+        border-radius: 8px;
 
         .n-input__input-el {
-          height: 50Px;
-          font-size: 16Px;
+          height: 50px;
+          font-size: 16px;
         }
 
         &.n-input--disabled {
@@ -173,12 +173,12 @@
       }
 
       .n-base-selection {
-        height: 50Px;
-        border-radius: 8Px;
+        height: 50px;
+        border-radius: 8px;
 
         .n-base-selection-label {
-          height: 50Px;
-          font-size: 16Px;
+          height: 50px;
+          font-size: 16px;
         }
       }
 
@@ -200,12 +200,12 @@
   margin-top: 30px;
 
   .btn {
-    width: 144Px;
-    height: 45Px;
-    border-radius: 8Px;
-    font-size: 18Px;
+    width: 144px;
+    height: 45px;
+    border-radius: 8px;
+    font-size: 18px;
     font-weight: 600 !important;
-    margin-right: 24Px;
+    margin-right: 24px;
   }
 }
 
@@ -232,11 +232,11 @@
 
     :global {
       .n-input {
-        border-radius: 5Px;
+        border-radius: 5px;
       }
 
       .n-input .n-input__input-el {
-        height: 50Px;
+        height: 50px;
       }
 
       .n-button.n-button--disabled {
@@ -246,19 +246,19 @@
   }
 
   .sendMsg {
-    min-width: 108Px;
-    height: 50Px;
+    min-width: 108px;
+    height: 50px;
   }
 
   .pwdIcon {
-    width: 24Px;
-    height: 24Px;
+    width: 24px;
+    height: 24px;
     cursor: pointer;
   }
 
   .submitBtm {
     width: 45%;
-    height: 46Px;
+    height: 46px;
   }
 }
 
@@ -294,4 +294,4 @@
 .submitBtm {
   width: 45%;
   height: 47px;
-}
+}

+ 2 - 2
src/views/setting/index.tsx

@@ -32,11 +32,11 @@ export default defineComponent({
           <NTabPane name="person" tab="个人信息">
             <PersonInfo></PersonInfo>
           </NTabPane>
-         {user.info.isSuperAdmin && (
+          {/* {user.info.isSuperAdmin && ( */}
           <NTabPane name="school" tab="学校设置">
             <SchoolInfo />
           </NTabPane>
-          )}
+          {/* )} */}
         </NTabs>
       </div>
     );

+ 4 - 5
src/views/setting/modal/addteacherModel.tsx

@@ -18,7 +18,7 @@ import { vaildUrl } from '@/utils/urlUtils';
 import logo from '@/common/images/logo.png';
 import studentTitle from '../images/studentTitle.png';
 import studentInfo from '@/views/studentList/images/teacherCore.png';
-import codewrap from '@/views/studentList/images/cordWrap.png'
+import codewrap from '@/views/studentList/images/cordWrap.png';
 import btnBg from '@/views/studentList/images/btnBg.png';
 import html2canvas from 'html2canvas';
 
@@ -80,13 +80,13 @@ export default defineComponent({
         })
           .then(async canvas => {
             const url = canvas.toDataURL('image/png');
-            console.log(url, 'url===>')
+            console.log(url, 'url===>');
             imgs.image = url;
 
             saveImg();
           })
           .catch(() => {
-            console.log('生成图片失败url===>')
+            console.log('生成图片失败url===>');
             imgs.saveLoading = false;
           });
       }
@@ -133,11 +133,10 @@ export default defineComponent({
           class={styles.stunentStart}
           src={stunentStart}></NImage>
         <NImage
-          class={styles.addTitle}
+          class={[styles.addTitle, styles.addTeacherTitle]}
           previewDisabled
           src={studentTitle}></NImage>
         <div class={styles.addStudentInfo} id="preview-container">
-
           <NImage
             class={styles.studentInfoBg}
             previewDisabled

+ 2 - 2
src/views/studentList/index.module.less

@@ -528,7 +528,7 @@
 }
 
 .btnList {
-  margin-top: 300px;
+  margin-top: 150px;
 
   .btn {
     --n-padding: 0 36px !important;
@@ -539,4 +539,4 @@
 
 .wordDetailModel {
   width: 1012px;
-}
+}

+ 11 - 4
src/views/xiaoku-ai/index.module.less

@@ -29,8 +29,15 @@
   }
 
   .tags {
-    &:first-child {
-      padding-top: 6px;
+
+    .firstButton {
+      display: flex;
+      align-items: center;
+      justify-content: center;
+      height: 100%;
+      font-size: max(18px, 16Px);
+      color: #999999;
+      line-height: 25px;
     }
 
     padding: 12px 0;
@@ -40,7 +47,7 @@
         min-width: 102px;
         height: 37px;
         padding: 0 24px;
-        font-size: 18px;
+        font-size: max(18px, 16Px);
       }
     }
   }
@@ -153,4 +160,4 @@
     color: #333;
     text-align: center;
   }
-}
+}

+ 4 - 6
src/views/xiaoku-ai/index.tsx

@@ -114,10 +114,10 @@ export default defineComponent({
         <div class={styles.tools}>
           <div class={styles.tagWrap}>
             <div class={styles.tags}>
-              <NSpace size={[24, 12]}>
-                <NButton quaternary disabled>
+              <NSpace size={[20, 12]}>
+                <span class={styles.firstButton}>
                   {data.tags?.[0]?.columnName}
-                </NButton>
+                </span>
 
                 {data.tags.map((item: any, index: number) => {
                   return (
@@ -141,9 +141,7 @@ export default defineComponent({
               return (
                 <div class={styles.tags}>
                   <NSpace size={[24, 12]}>
-                    <NButton quaternary disabled>
-                      {column.columnName}
-                    </NButton>
+                    <span class={styles.firstButton}>{column.columnName}</span>
 
                     {column.list.map((item: any, index: number) => {
                       return (

+ 14 - 9
src/views/xiaoku-music/index.tsx

@@ -40,7 +40,7 @@ import {
   api_subjectList
 } from '../xiaoku-ai/api';
 import { useUserStore } from '/src/store/modules/users';
-import Musicguide from '@/custom-plugins/guide-page/music-guide'
+import Musicguide from '@/custom-plugins/guide-page/music-guide';
 import TheEmpty from '/src/components/TheEmpty';
 export default defineComponent({
   name: 'XiaokuMusic',
@@ -287,7 +287,7 @@ export default defineComponent({
                             <PlayLoading
                               class={[
                                 data.listActive === index &&
-                                  data.playState === 'play'
+                                data.playState === 'play'
                                   ? ''
                                   : styles.showPlayLoading
                               ]}
@@ -315,7 +315,7 @@ export default defineComponent({
                               <img
                                 src={
                                   data.listActive === index &&
-                                    data.playState === 'play'
+                                  data.playState === 'play'
                                     ? icon_pause
                                     : icon_play
                                 }
@@ -336,7 +336,7 @@ export default defineComponent({
                               <img
                                 src={
                                   data.listActive === index &&
-                                    data.playState === 'play'
+                                  data.playState === 'play'
                                     ? icon_pause
                                     : icon_play
                                 }
@@ -394,11 +394,16 @@ export default defineComponent({
                 </div>
                 <div class={styles.staffImgs}>
                   <TransitionGroup name="van-fade">
-                    {(activeItem.value?.musicSvg || activeItem.value?.musicImg) ? (activeItem.value?.musicSvg || activeItem.value?.musicImg)
-                      ?.split(',')
-                      .map((item, index) => {
-                        return <img src={item} key={item} />;
-                      }) : <TheEmpty></TheEmpty>}
+                    {activeItem.value?.musicSvg ||
+                    activeItem.value?.musicImg ? (
+                      (activeItem.value?.musicSvg || activeItem.value?.musicImg)
+                        ?.split(',')
+                        .map((item, index) => {
+                          return <img src={item} key={item} />;
+                        })
+                    ) : (
+                      <TheEmpty></TheEmpty>
+                    )}
                   </TransitionGroup>
                 </div>
               </div>