Browse Source

修改bug与样式

lex 1 year ago
parent
commit
baa041e00a

+ 3 - 1
src/components/card-preview/music-modal/index.tsx

@@ -1,5 +1,6 @@
 import { defineComponent, ref } from 'vue';
 import styles from './index.module.less';
+import { useUserStore } from '/src/store/modules/users';
 
 export default defineComponent({
   name: 'song-modal',
@@ -10,12 +11,13 @@ export default defineComponent({
     }
   },
   setup(props) {
+    const userStore = useUserStore();
     const iframeRef = ref();
     const isLoaded = ref(false);
     const origin = /(localhost|192)/.test(location.host)
       ? 'https://dev.kt.colexiu.com'
       : location.origin;
-    const src = `${origin}/instrument?id=${props.item.content}&modelType=practise`;
+    const src = `${origin}/instrument?platform=pc&modelType=practise&id=${props.item.content}&Authorization=${userStore.getToken}`;
     return () => (
       <div class={styles.musicScore}>
         <iframe

+ 3 - 1
src/views/attend-class/component/musicScore.tsx

@@ -2,6 +2,7 @@ import { defineComponent, ref, watch } from 'vue';
 import { NSkeleton } from 'naive-ui';
 import styles from './musicScore.module.less';
 import { usePageVisibility } from '@vant/use';
+import { useUserStore } from '/src/store/modules/users';
 
 export default defineComponent({
   name: 'musicScore',
@@ -16,6 +17,7 @@ export default defineComponent({
   },
   emits: ['setIframe'],
   setup(props, { emit }) {
+    const userStore = useUserStore();
     const isLoading = ref(false);
     const pageVisibility = usePageVisibility();
     /** 页面显示和隐藏 */
@@ -32,7 +34,7 @@ export default defineComponent({
     const origin = /(localhost|192)/.test(location.host)
       ? 'https://dev.kt.colexiu.com'
       : location.origin;
-    const src = `${origin}/instrument?platform=pc&modelType=practise`;
+    const src = `${origin}/instrument?platform=pc&modelType=practise&id=${props.music.content}&Authorization=${userStore.getToken}`;
     const checkView = () => {
       fetch(src)
         .then(() => {

+ 0 - 1
src/views/attend-class/index.tsx

@@ -121,7 +121,6 @@ export default defineComponent({
             content: row.content
           });
         });
-        console.log(temp);
         data.knowledgePointList = temp;
         data.itemList = data.knowledgePointList.map((m: any) => {
           return {

+ 31 - 1
src/views/attend-class/model/train-type/index.module.less

@@ -74,7 +74,7 @@
     position: absolute;
     right: 0px;
     top: 0px;
-    z-index: 10;
+    z-index: 11;
     display: flex;
     height: 30px;
     padding: 0;
@@ -191,4 +191,34 @@
       }
     }
   }
+}
+
+
+.offShelfBg {
+  position: absolute;
+  top: 0;
+  left: 0;
+  width: 100%;
+  height: 100%;
+  border-radius: 14px;
+  background-color: rgba(0, 0, 0, 0.7);
+  z-index: 10;
+  display: flex;
+  align-items: center;
+  justify-content: center;
+  flex-direction: column;
+
+  .offShelfTips {
+    font-size: 22px;
+    font-weight: 600;
+    color: #FFFFFF;
+    line-height: 30px;
+    padding-bottom: 32px;
+  }
+
+  .offShelfBtn {
+    height: 44px;
+    border-radius: 10px;
+    min-width: 124px;
+  }
 }

+ 20 - 2
src/views/attend-class/model/train-type/index.tsx

@@ -33,9 +33,14 @@ export default defineComponent({
     isDelete: {
       type: Boolean,
       default: false
+    },
+    /** 是否下架 */
+    offShelf: {
+      type: Boolean,
+      default: false
     }
   },
-  emits: ['click', 'delete', 'edit'],
+  emits: ['click', 'delete', 'edit', 'offShelf'],
   setup(props, { emit }) {
     const userStore = useUserStore();
     const dialog = useDialog();
@@ -57,7 +62,7 @@ export default defineComponent({
       const origin = /(localhost|192)/.test(location.host)
         ? 'https://dev.kt.colexiu.com'
         : location.origin;
-      const src = `${origin}/instrument?platform=pc&modelType=practise`;
+      const src = `${origin}/instrument?platform=pc&modelType=practise&id=${props.item.musicId}&Authorization=${userStore.getToken}`;
       window.open(src, '_blank');
     };
     return () => (
@@ -149,6 +154,19 @@ export default defineComponent({
             )}
           </NSpace>
         </div>
+
+        {/* 判断是否下架 */}
+        {props.offShelf && (
+          <div class={styles.offShelfBg}>
+            <p class={styles.offShelfTips}>该资源已被平台下架</p>
+            <NButton
+              type="primary"
+              class={styles.offShelfBtn}
+              onClick={() => emit('offShelf')}>
+              确认
+            </NButton>
+          </div>
+        )}
       </div>
     );
   }

+ 10 - 3
src/views/classList/components/classRecord.tsx

@@ -8,6 +8,7 @@ import styles from './classRecord.module.less';
 import teacherIcon from '@components/layout/images/teacherIcon.png';
 import dayjs from 'dayjs';
 import { getTimes } from '/src/utils';
+import TheEmpty from '/src/components/TheEmpty';
 export default defineComponent({
   name: 'class-record',
   setup() {
@@ -40,6 +41,10 @@ export default defineComponent({
     const getList = async () => {
       state.loading = true;
       try {
+        console.log(
+          state.searchForm.createTimer,
+          'state.searchForm.createTimer'
+        );
         const { data } = await courseSchedulePage({
           classGroupId: route.query.id,
           ...getTimes(
@@ -71,8 +76,9 @@ export default defineComponent({
           <NForm label-placement="left" inline>
             <NFormItem>
               <CDatePicker
-                v-model:timerValue={state.searchForm.createTimer}
-                separator={'-'}
+                v-model:value={state.searchForm.createTimer}
+                timerValue={state.searchForm.createTimer}
+                separator={'至'}
                 type="daterange"></CDatePicker>
             </NFormItem>
 
@@ -98,7 +104,7 @@ export default defineComponent({
               <div class={styles.tableContainer}>
                 <div class={styles.header}>
                   <div class={styles.time}>
-                    {dayjs(item.classDate).format('YYYY-MM-DD')}
+                    {dayjs(item.startTime).format('YYYY-MM-DD HH:mm')}
                   </div>
                   {route.query.name && (
                     <NTag type="primary" class={styles.ntag} strong>
@@ -127,6 +133,7 @@ export default defineComponent({
               </div>
             ))}
           </NSpace>
+          {state.tableList.length <= 0 && <TheEmpty />}
 
           <Pagination
             v-model:page={state.pagination.page}

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

@@ -196,7 +196,7 @@ export default defineComponent({
                   offShelf={item.enableFlag ? false : true}
                   onOffShelf={() => onRemove(item)}
                   onClick={(val: any) => {
-                    if (val.type === 'IMG') return;
+                    if (val.type === 'IMG' || !item.enableFlag) return;
                     state.show = true;
                     state.item = val;
                   }}

+ 8 - 0
src/views/prepare-lessons/api.ts

@@ -42,6 +42,14 @@ export const saveCourseware = (params: any) => {
     data: params
   });
 };
+/**
+ * 备课 - 删除课件
+ */
+export const teacherKnowledgeMaterialDelete = (params: any) => {
+  return request.post('/edu-app/teacherKnowledgeMaterial/delete', {
+    data: params
+  });
+};
 
 /**
  * 备课 - 训练列表

+ 39 - 2
src/views/prepare-lessons/components/lesson-main/courseware/index.tsx

@@ -15,7 +15,11 @@ import AttendClass from '/src/views/prepare-lessons/model/attend-class';
 import { usePrepareStore } from '/src/store/modules/prepareLessons';
 import { useCatchStore } from '/src/store/modules/catchData';
 import TheEmpty from '/src/components/TheEmpty';
-import { queryCourseware, saveCourseware } from '../../../api';
+import {
+  queryCourseware,
+  saveCourseware,
+  teacherKnowledgeMaterialDelete
+} from '../../../api';
 import Draggable from 'vuedraggable';
 import iconDelete from '../../../images/icon-delete.png';
 import { useRouter } from 'vue-router';
@@ -137,6 +141,10 @@ export default defineComponent({
 
     // 预览上课
     const onPreviewAttend = () => {
+      if (forms.coursewareList.length <= 0) {
+        message.error('课件不能为空');
+        return;
+      }
       const { href } = router.resolve({
         path: '/attend-class',
         query: {
@@ -148,6 +156,25 @@ export default defineComponent({
       window.open(href, +new Date() + '');
     };
 
+    // 单个删除
+    const onRemove = async (item: any) => {
+      try {
+        dialog.warning({
+          title: '提示',
+          content: '该资源已下架,是否删除?',
+          positiveText: '确定',
+          negativeText: '取消',
+          onPositiveClick: async () => {
+            await teacherKnowledgeMaterialDelete({ ids: item.id });
+            message.success('删除成功');
+            getList();
+          }
+        });
+      } catch {
+        //
+      }
+    };
+
     onMounted(async () => {
       // 获取教材分类列表
       await catchStore.getSubjects();
@@ -212,7 +239,13 @@ export default defineComponent({
             </NButton>
             <NButton
               type="primary"
-              onClick={() => (forms.showAttendClass = true)}>
+              onClick={() => {
+                if (forms.coursewareList.length <= 0) {
+                  message.error('课件不能为空');
+                  return;
+                }
+                forms.showAttendClass = true;
+              }}>
               开始上课
             </NButton>
           </NSpace>
@@ -249,6 +282,8 @@ export default defineComponent({
                               <CardType
                                 class={[styles.itemContent, 'handle']}
                                 isShowCollect={false}
+                                offShelf={item.removeFlag ? true : false}
+                                onOffShelf={() => onRemove(item)}
                                 item={item}
                               />
                               <div class={styles.itemOperation}>
@@ -273,6 +308,8 @@ export default defineComponent({
                           class={[styles.itemContent, 'handle']}
                           isShowCollect={false}
                           item={item}
+                          offShelf={item.removeFlag ? true : false}
+                          onOffShelf={() => onRemove(item)}
                         />
                       ))}
                     </div>

+ 4 - 2
src/views/prepare-lessons/components/lesson-main/train/assign-homework.tsx

@@ -44,14 +44,16 @@ export default defineComponent({
           page: 1,
           rows: 99
         });
-        console.log(data);
         const temp = data.rows || [];
+        const classList = [] as any;
         temp.forEach((row: any) => {
-          forms.classList.push({
+          classList.push({
             label: row.currentClass + '班',
             value: row.id
           });
         });
+
+        forms.classList = classList;
       } catch {
         //
       }

+ 25 - 10
src/views/prepare-lessons/components/lesson-main/train/index.tsx

@@ -17,7 +17,8 @@ import TheEmpty from '/src/components/TheEmpty';
 import Draggable from 'vuedraggable';
 import {
   lessonPreTrainingBatchSave,
-  lessonPreTrainingPage
+  lessonPreTrainingPage,
+  lessonPreTrainingDelete
 } from '../../../api';
 import { evaluateDifficult } from '/src/utils/contants';
 import TrainUpdate from '/src/views/attend-class/model/train-update';
@@ -141,6 +142,25 @@ export default defineComponent({
       prepareStore.setCoursewareList(forms.trainList);
     };
 
+    // 单个删除
+    const onRemove = async (item: any) => {
+      try {
+        dialog.warning({
+          title: '提示',
+          content: '该训练已下架,是否删除?',
+          positiveText: '确定',
+          negativeText: '取消',
+          onPositiveClick: async () => {
+            await lessonPreTrainingDelete({ ids: item.id });
+            message.success('删除成功');
+            getList();
+          }
+        });
+      } catch {
+        //
+      }
+    };
+
     onMounted(async () => {
       // 获取教材分类列表
       await catchStore.getSubjects();
@@ -231,18 +251,9 @@ export default defineComponent({
                       componentData={{
                         itemKey: 'id',
                         tag: 'div',
-                        //   type: 'transition-group',
-                        //   name: !forms.drag ? 'flip-list' : null,
                         animation: 200,
                         group: 'description',
                         disabled: false
-                        // ghostClass: 'ghost',
-                        //   ondragstart: () => {
-                        //     forms.drag = true;
-                        //   },
-                        //   ondragend: () => {
-                        //     forms.drag = false;
-                        //   }
                       }}
                       class={styles.list}>
                       {{
@@ -255,6 +266,8 @@ export default defineComponent({
                                 isDelete
                                 type="prepare"
                                 onDelete={(child: any) => onDelete(child)}
+                                offShelf={item.removeFlag ? true : false}
+                                onOffShelf={() => onRemove(item)}
                               />
                             </div>
                           );
@@ -267,6 +280,8 @@ export default defineComponent({
                         <TrainType
                           item={item}
                           type="prepare"
+                          offShelf={item.removeFlag ? true : false}
+                          onOffShelf={() => onRemove(item)}
                           onEdit={(child: any) => {
                             console.log('edit', child);
                             const { trainingConfigJson, id, musicId, ...res } =