dusenyao 3 年之前
父节点
当前提交
dc61c17dbb

+ 9 - 3
src/views/course_details/index.vue

@@ -8,7 +8,7 @@
             <span>HOT</span>
           </div>
           <div class="text">
-            <p class="p1">{{ CourseData.name }}</p>
+            <p class="p1 nowrap-ellipsis" :title="CourseData.name">{{ CourseData.name }}</p>
             <!-- 机构名称 -->
             <p>{{ CourseData.org_name }}</p>
             <p>
@@ -119,7 +119,7 @@
                 <div class="courseOne-time">{{ item.begin_time }} ~ {{ item.end_time }}</div>
               </div>
             </div>
-            <div class="content" style="width: 670px">
+            <div class="course-content">
               <el-collapse @change="handleChange(item.id)">
                 <el-collapse-item :name="item.id">
                   <div slot="title" class="Coursetasks">
@@ -346,7 +346,9 @@ export default {
     },
     // 获取当前时间到指定时间的倒计时
     getBackTime() {
-      let targetTime = new Date(this.CourseData.end_date).getTime();
+      let date = new Date(this.CourseData.end_date);
+      let targetTime = new Date(date.getFullYear(), date.getMonth(), date.getDate(), 23, 59, 59).getTime();
+      console.log(new Date(date.getFullYear(), date.getMonth(), date.getDate(), 23, 59, 59).toString());
       // 目标时间戳 - 当前时间戳 = 倒计时
       this.timer = setInterval(() => {
         let backTime = targetTime - new Date().getTime();
@@ -678,6 +680,10 @@ export default {
           }
         }
 
+        .course-content {
+          width: 670px;
+        }
+
         .Coursetasks {
           display: flex;
           align-items: center;

+ 21 - 33
src/views/teacher/create_course/index.vue

@@ -4,29 +4,26 @@
     <div class="create-course-container">
       <div class="create template">
         <div class="click" @click="selectTemplate">
-          <div class="plus"></div>
+          <i class="el-icon-plus" />
         </div>
         <div class="name">模板库</div>
       </div>
       <div class="create build">
         <div class="click" @click="$router.push('/create_course_step_table')">
-          <div class="plus"></div>
+          <i class="el-icon-plus" />
         </div>
         <div class="name">新建</div>
       </div>
     </div>
 
     <!-- 选择模板 -->
-    <select-template
-      :dialog-visible="dialogVisible"
-      @dialogClose="dialogClose"
-      @confirmTemplate="confirmTemplate"
-    />
+    <select-template :dialog-visible="dialogVisible" @dialogClose="dialogClose" @confirmTemplate="confirmTemplate" />
   </div>
 </template>
 
 <script>
 import SelectTemplate from '@/components/select/SelectTemplate.vue';
+
 export default {
   components: { SelectTemplate },
   data() {
@@ -43,9 +40,7 @@ export default {
     },
     confirmTemplate(id) {
       this.dialogVisible = false;
-      this.$router.push(
-        `/create_course_step_table/course_info?is_use_template=true&template_id=${id}`
-      );
+      this.$router.push(`/create_course_step_table/course_info?is_use_template=true&template_id=${id}`);
     }
   }
 };
@@ -62,8 +57,10 @@ export default {
   &-title {
     width: 100%;
     text-align: center;
-    font-size: 24px;
-    font-weight: 700;
+    font: {
+      size: 24px;
+      weight: 700;
+    }
   }
 
   &-container {
@@ -86,30 +83,19 @@ export default {
       border-radius: 8px;
 
       .click {
+        position: relative;
         height: 236px;
+        cursor: pointer;
         border-top-left-radius: 8px;
         border-top-right-radius: 8px;
-        cursor: pointer;
 
-        .plus {
+        .el-icon-plus {
           position: absolute;
-
-          &::before {
-            content: '';
-            display: inline-block;
-            width: 28px;
-            height: 3px;
-            background-color: #fff;
-            margin: 0 auto;
-            position: relative;
-            top: 117px;
-            left: 185px;
-          }
-
-          &::after {
-            @extend ::before;
-
-            transform: translateX(-28px) rotateZ(90deg);
+          top: 108px;
+          left: 181px;
+          color: #fff;
+          font: {
+            size: 36px;
           }
         }
       }
@@ -117,9 +103,11 @@ export default {
       .name {
         height: 64px;
         line-height: 64px;
-        font-size: 20px;
-        font-weight: 700;
         text-align: center;
+        font: {
+          size: 20px;
+          weight: 700;
+        }
       }
     }
   }

+ 2 - 8
src/views/teacher/create_course/step_table/AddItem.vue

@@ -10,13 +10,7 @@
     :show-close="false"
     @close="dialogClose"
   >
-    <el-form
-      ref="itemForm"
-      :model="itemForm"
-      :rules="itemRules"
-      label-width="90px"
-      label-position="left"
-    >
+    <el-form ref="itemForm" :model="itemForm" :rules="itemRules" label-width="90px" label-position="left">
       <el-form-item label="课节名称" prop="name">
         <el-input v-model="itemForm.name" class="item-name" />
       </el-form-item>
@@ -172,7 +166,7 @@ export default {
 </script>
 
 <style lang="scss">
-@import '~@/styles/mixin.scss';
+@import '~@/styles/mixin';
 
 .add-item {
   @include dialog;

+ 20 - 56
src/views/teacher/create_course/step_table/NewTask.vue

@@ -7,13 +7,7 @@
     </div>
     <div class="new-task-container">
       <div class="title">新任务</div>
-      <el-form
-        ref="newTaskForm"
-        :model="form"
-        :rules="rules"
-        label-width="150px"
-        label-position="left"
-      >
+      <el-form ref="newTaskForm" :model="form" :rules="rules" label-width="150px" label-position="left">
         <el-form-item label="任务名称" prop="name">
           <el-input v-model="form.name" />
         </el-form-item>
@@ -55,12 +49,7 @@
 
         <el-form-item label="任务模板">
           <el-select v-model="form.teaching_type">
-            <el-option
-              v-for="item in type_list"
-              :key="item.type"
-              :label="item.name"
-              :value="item.type"
-            />
+            <el-option v-for="item in type_list" :key="item.type" :label="item.name" :value="item.type" />
           </el-select>
         </el-form-item>
 
@@ -69,9 +58,7 @@
           <div v-if="form.teaching_type === 10" class="task-template">
             <el-form :model="liveForm" label-width="100px" label-position="left">
               <el-form-item label="课件任务">
-                <el-button @click="dialogVisible = true">
-                  <i class="el-icon-plus" /> 添加课件
-                </el-button>
+                <el-button @click="dialogVisible = true"> <i class="el-icon-plus" /> 添加课件 </el-button>
                 <div>
                   <el-tag
                     v-for="(item, i) in liveForm.coursewareInfo"
@@ -87,13 +74,7 @@
               </el-form-item>
 
               <el-form-item label="上传文档">
-                <el-upload
-                  action="no"
-                  :http-request="upload"
-                  multiple
-                  :show-file-list="false"
-                  accept="*"
-                >
+                <el-upload action="no" :http-request="upload" multiple :show-file-list="false" accept="*">
                   <el-button><svg-icon icon-class="upload" /> 上传文档</el-button>
                 </el-upload>
                 <el-tag
@@ -109,12 +90,8 @@
               </el-form-item>
 
               <el-form-item label="可见性">
-                <el-radio v-model="liveForm.courseware_visible_mode" :label="21">
-                  手动推送
-                </el-radio>
-                <el-radio v-model="liveForm.courseware_visible_mode" :label="22">
-                  一直可见
-                </el-radio>
+                <el-radio v-model="liveForm.courseware_visible_mode" :label="21"> 手动推送 </el-radio>
+                <el-radio v-model="liveForm.courseware_visible_mode" :label="22"> 一直可见 </el-radio>
               </el-form-item>
 
               <el-form-item label="直播录制">
@@ -127,9 +104,7 @@
           <div v-else-if="form.teaching_type === 11" class="task-template">
             <el-form :model="courseForm" label-width="100px" label-position="left">
               <el-form-item label="课件任务">
-                <el-button @click="dialogVisible = true">
-                  <i class="el-icon-plus" /> 添加课件
-                </el-button>
+                <el-button @click="dialogVisible = true"> <i class="el-icon-plus" /> 添加课件 </el-button>
                 <div>
                   <el-tag
                     v-for="(item, i) in courseForm.coursewareInfo"
@@ -164,13 +139,7 @@
           <div v-else-if="form.teaching_type === 12" class="task-template">
             <el-form :model="basicForm" label-width="100px" label-position="left">
               <el-form-item label="上传文档">
-                <el-upload
-                  action="no"
-                  :http-request="upload"
-                  multiple
-                  :show-file-list="false"
-                  accept="*"
-                >
+                <el-upload action="no" :http-request="upload" multiple :show-file-list="false" accept="*">
                   <el-button><svg-icon icon-class="upload" /> 上传文档</el-button>
                 </el-upload>
                 <el-tag
@@ -217,12 +186,7 @@
 <script>
 import SelectCourse from '@/components/select/SelectCourse.vue';
 import { GetTaskTeachingTypeList, GetTaskModeList, GetTeacherListByCourseID } from '@/api/select';
-import {
-  AddTaskToCSItem,
-  GetTreeNodeInfo_BookChapterStruct,
-  GetTaskInfo,
-  UpdateTask
-} from '@/api/course';
+import { AddTaskToCSItem, GetTreeNodeInfo_BookChapterStruct, GetTaskInfo, UpdateTask } from '@/api/course';
 import { fileUpload } from '@/api/app';
 
 export default {
@@ -242,8 +206,7 @@ export default {
       task_id: this.$route.query.task_id,
       time_type: this.$route.params.time_type,
       cs_item_id: this.$route.params.cs_item_id,
-      is_template:
-        'is_template' in this.$route.query ? JSON.parse(this.$route.query.is_template) : false,
+      is_template: 'is_template' in this.$route.query ? JSON.parse(this.$route.query.is_template) : false,
       dialogVisible: false,
       type_list: [],
       teacher_list: [],
@@ -435,8 +398,7 @@ export default {
     },
 
     closeCourse(i, type) {
-      let courseInfo =
-        type === 'live' ? this.liveForm.coursewareInfo : this.courseForm.coursewareInfo;
+      let courseInfo = type === 'live' ? this.liveForm.coursewareInfo : this.courseForm.coursewareInfo;
       courseInfo.splice(i, 1);
     },
 
@@ -503,7 +465,7 @@ export default {
 </script>
 
 <style lang="scss">
-@import '~@/styles/mixin.scss';
+@import '~@/styles/mixin';
 
 .new-task {
   @include container;
@@ -512,21 +474,23 @@ export default {
     margin-bottom: 16px;
 
     &-button {
-      width: 78px;
       display: flex;
       justify-content: space-between;
+      width: 78px;
     }
   }
 
   &-container {
-    background-color: #fff;
     width: 100%;
     padding: 24px 32px;
+    background-color: #fff;
 
     .title {
-      font-size: 18px;
-      font-weight: 700;
       margin-bottom: 24px;
+      font: {
+        size: 18px;
+        weight: 700;
+      }
     }
 
     .el-form {
@@ -550,8 +514,8 @@ export default {
       }
 
       .task-template {
-        background-color: #fbfbfb;
         padding: 24px 32px;
+        background-color: #fbfbfb;
         border: 1px solid #d9d9d9;
         border-radius: 8px;
 
@@ -569,11 +533,11 @@ export default {
 
         > span {
           display: inline-block;
-          vertical-align: bottom;
           max-width: 200px;
           overflow: hidden;
           text-overflow: ellipsis;
           white-space: nowrap;
+          vertical-align: bottom;
         }
       }
     }