Переглянути джерело

增加index.vue里面所需要的函数

Prevalence 7 роки тому
батько
коміт
2db2d969c5
2 змінених файлів з 46 додано та 34 видалено
  1. 10 0
      src/api/assignment.js
  2. 36 34
      src/views/student/DlWork/index.vue

+ 10 - 0
src/api/assignment.js

@@ -129,6 +129,16 @@ export const getUnsubmittedCodeGroupsList = codeId => {
   );
   );
 };
 };
 
 
+/*机器学习作业*/
+/**
+ * 学生查看机器学习作业列表
+ * @param courseId 课程Id
+ * @returns {Promise<*>}
+ */
+export const getDLAssignmentListByStu = courseId => {
+  return request(`${ASSIGNMENT_MODULE}/student/course/${courseId}/dlwork`);
+};
+
 /* 文档作业*/
 /* 文档作业*/
 /**
 /**
  * 老师新建文档作业
  * 老师新建文档作业

+ 36 - 34
src/views/student/DlWork/index.vue

@@ -1,63 +1,65 @@
 <template>
 <template>
   <div>
   <div>
     <page-header
     <page-header
-      :loading="detailLoading"
-      :routes="[
-        { name: '机器学习作业', path: 'dlwork' },
-        { name: '项目列表', path: `dlwork/${$route.params.homeworkId}` },
-        { name: '项目详情' }
-      ]"
-      :tab-list="[
-        {
-          name: '构建',
-          path: `dlwork/${$route.params.homeworkId}/${$route.params.projectId}`
-        },
-        {
-          name: '部署',
-          path: `dlwork/${$route.params.homeworkId}/${
-            $route.params.projectId
-          }/deploy`
-        }
-      ]"
+      :loading="dlWorkListLoading"
+      :routes="[{ name: '机器学习作业', path: 'code' }]"
     >
     >
       <template slot="title">
       <template slot="title">
-        {{ projectDetail.name }}
+        机器学习作业
       </template>
       </template>
       <template slot="content">
       <template slot="content">
-        <strong>git 地址 : </strong>
-        <a :href="projectDetail.url">{{ projectDetail.url }}</a>
+        您仍剩余 {{ dlWorkList.length }} 份机器学习作业待完成
       </template>
       </template>
     </page-header>
     </page-header>
     <page-body>
     <page-body>
-      <router-view
-        :project-detail="projectDetail"
-        :detail-loading="detailLoading"
-      />
+      <div class="columns is-multiline is-desktop">
+        <div v-if="dlWorkListLoading" class="column is-4-desktop">
+          <card loading />
+        </div>
+        <div
+          v-else
+          :key="item.id"
+          v-for="item in dlWorkList"
+          class="column is-4-desktop"
+        >
+          <router-link :to="`${$route.path}/${item.id}`">
+            <card hoverable>{{ item.name }}</card>
+          </router-link>
+        </div>
+      </div>
     </page-body>
     </page-body>
   </div>
   </div>
 </template>
 </template>
 
 
 <script>
 <script>
-import { getProjectDetail } from "@/api/codehw";
+import { mapState } from "vuex";
+import Card from "@/components/Card";
 import PageHeader from "@/components/PageHeader";
 import PageHeader from "@/components/PageHeader";
 import PageBody from "@/components/PageBody/index";
 import PageBody from "@/components/PageBody/index";
+import { getDLAssignmentListByStu } from "@/api/assignment";
 export default {
 export default {
   components: {
   components: {
     PageBody,
     PageBody,
-    PageHeader
+    PageHeader,
+    Card
+  },
+  computed: {
+    ...mapState({
+      course: state => state.course.currentCourse
+    })
   },
   },
   data() {
   data() {
     return {
     return {
-      projectDetail: {},
-      detailLoading: false
+      dlWorkList: [],
+      dlWorkListLoading: false
     };
     };
   },
   },
   async mounted() {
   async mounted() {
-    const { projectId } = this.$route.params;
-    this.detailLoading = true;
-    const detail = await getProjectDetail(projectId);
-    this.projectDetail = detail.data;
-    this.detailLoading = false;
+    this.dlWorkListLoading = true;
+    const { courseId } = this.$route.params;
+    const list = await getDLAssignmentListByStu(courseId);
+    this.dlWorkList = list.data;
+    this.dlWorkListLoading = false;
   }
   }
 };
 };
 </script>
 </script>