Explorar o código

03/27 18:18

课外作业
Xiao_Mo %!s(int64=5) %!d(string=hai) anos
pai
achega
4c8195f2d3

A diferenza do arquivo foi suprimida porque é demasiado grande
+ 0 - 0
dist/index.html


+ 1 - 1
dist/static/css/chunk-61759ed2.a8e5e87d.css → dist/static/css/chunk-0b985ba7.063b1ad4.css

@@ -1 +1 @@
-.pagination-container[data-v-31cb099a]{background:#fff;padding:32px 16px;width:100%;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.pagination-container.hidden[data-v-31cb099a]{display:none}.schoolCell[data-v-25b4e691]{width:400px;color:#333;background-color:#f5f7fa;border-color:#e4e7ed;height:40px;line-height:40px;outline:0;padding:0 15px;border-radius:4px;border:1px solid #dcdfe6;display:inline-block;-webkit-box-sizing:border-box;box-sizing:border-box;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}[data-v-25b4e691] .el-textarea.is-disabled .el-textarea__inner{color:#333}
+.pagination-container[data-v-31cb099a]{background:#fff;padding:32px 16px;width:100%;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.pagination-container.hidden[data-v-31cb099a]{display:none}.schoolCell[data-v-06729c38]{width:400px;color:#333;background-color:#f5f7fa;border-color:#e4e7ed;height:40px;line-height:40px;outline:0;padding:0 15px;border-radius:4px;border:1px solid #dcdfe6;display:inline-block;-webkit-box-sizing:border-box;box-sizing:border-box;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}[data-v-06729c38] .el-textarea.is-disabled .el-textarea__inner{color:#333}

+ 1 - 0
dist/static/css/chunk-9d494946.704e8cd6.css

@@ -0,0 +1 @@
+.pagination-container[data-v-31cb099a]{background:#fff;padding:32px 16px;width:100%;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.pagination-container.hidden[data-v-31cb099a]{display:none}.schoolCell[data-v-0ba4f8e9]{width:400px;color:#333;background-color:#f5f7fa;border-color:#e4e7ed;height:40px;line-height:40px;outline:0;padding:0 15px;border-radius:4px;border:1px solid #dcdfe6;display:inline-block;-webkit-box-sizing:border-box;box-sizing:border-box;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}[data-v-0ba4f8e9] .el-textarea.is-disabled .el-textarea__inner{color:#333}

A diferenza do arquivo foi suprimida porque é demasiado grande
+ 0 - 0
dist/static/js/app.63116da6.js


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 0 - 0
dist/static/js/chunk-0b985ba7.58f341f6.js


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 0 - 0
dist/static/js/chunk-61759ed2.0c29eee5.js


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 0 - 0
dist/static/js/chunk-9d494946.7d5e5506.js


+ 19 - 2
src/api/afterSchool.js

@@ -2,11 +2,28 @@ import request from '@/utils/request'
 import qs from 'qs'
 let api = '/api-web'
 
-// 分页查询活动列表
+// 课外训练
 export function queryPageList(data) {
     return request({
       url: api + '/extracurricularExercises/queryPageList',
       method: 'get',
       params: data
     })
-  }
+}
+
+// 课外作业
+export function extracurricularExercisesReply(data) {
+    return request({
+      url: api + '/extracurricularExercisesReply/queryPageList',
+      method: 'get',
+      params: data
+    })
+}
+// 作业详情
+export function findStudentExtraExerciseDetail(data) {
+    return request({
+      url: api + '/extracurricularExercises/findStudentExtraExerciseDetail',
+      method: 'get',
+      params: data
+    })
+}

+ 3 - 1
src/router/index.js

@@ -267,7 +267,9 @@ export const asyncRoutes = {
   helpContent: () => import('@/views/helpCenter/helpContent'),
   // 对外订单
   incomeOut: () => import('@/views/businessManager/orderManager/incomeOut'),
+  // 课外训练
+  afterSchoolList:()=>import('@/views/afterSchoolManager/afterSchoolList'),
   // 课外作业
-  afterSchoolList:()=>import('@/views/afterSchoolManager/afterSchoolList')
+  afterWorkList:()=>import('@/views/afterSchoolManager/afterWorkList'),
 }
 export default router

+ 70 - 35
src/views/afterSchoolManager/afterSchoolList.vue

@@ -13,7 +13,7 @@
             placeholder="请输入标题"
           ></el-input>
         </el-form-item>
-            <el-form-item>
+        <el-form-item>
           <el-select placeholder="老师姓名" v-model="searchForm.teacherId" clearable filterable>
             <el-option
               v-for="(item,index) in teacherList"
@@ -34,7 +34,7 @@
             end-placeholder="结束日期"
           ></el-date-picker>
         </el-form-item>
-    
+
         <!-- <el-form-item>
           <el-select placeholder="是否提交" v-model="searchForm.hasReport" clearable>
             <el-option label="是" value="1"></el-option>
@@ -46,7 +46,7 @@
             <el-option label="是" value="1"></el-option>
             <el-option label="否" value="0"></el-option>
           </el-select>
-        </el-form-item> -->
+        </el-form-item>-->
         <el-form-item>
           <el-button type="danger" @click="search">搜索</el-button>
           <el-button @click="onReSet" type="primary">重置</el-button>
@@ -58,12 +58,16 @@
           :header-cell-style="{background:'#EDEEF0',color:'#444'}"
           :data="tableList"
         >
-          <el-table-column align="center" label="布置时间"></el-table-column>
-          <el-table-column align="center" label="训练标题"></el-table-column>
-          <el-table-column align="center" label="截止时间"></el-table-column>
-          <el-table-column align="center" label="老师姓名"></el-table-column>
-          <el-table-column align="center" label="是否提交"></el-table-column>
-          <el-table-column align="center" label="是否回复"></el-table-column>
+          <el-table-column align="center" prop="createTime" label="布置时间"></el-table-column>
+          <el-table-column align="center" prop="title" label="训练标题"></el-table-column>
+          <el-table-column align="center" prop="expireDate" label="截止时间"></el-table-column>
+          <el-table-column align="center" prop="teacherName" label="老师姓名">
+            <template slot-scope="scope">
+              <div v-if="scope.row.teacher">
+                {{scope.row.teacher.username}}
+              </div>
+            </template>
+          </el-table-column>
           <el-table-column align="center" label="操作">
             <template slot-scope="scope">
               <div>
@@ -96,7 +100,7 @@
             trigger="hover"
             :content="visibleForm.createTime"
           >
-            <p class="schoolCell" slot="reference" >{{visibleForm.createTime}}</p>
+            <p class="schoolCell" slot="reference">{{visibleForm.createTime}}</p>
           </el-popover>
         </el-form-item>
         <el-form-item label="截止时间">
@@ -124,14 +128,16 @@
 
 <script>
 import pagination from "@/components/Pagination/index";
-import { queryPageList } from '@/api/afterSchool'
+import { queryPageList } from "@/api/afterSchool";
+import { getTeacher } from "@/api/buildTeam";
 export default {
   components: { pagination },
   data() {
     return {
       searchForm: {
         search: null,
-        timer: []
+        timer: [],
+        teacherId:null,
       },
       rules: {
         // 分页规则
@@ -141,7 +147,7 @@ export default {
         page_size: [10, 20, 40, 50] // 选择限制显示条数
       },
       teacherList: [],
-      tableList: [{}],
+      tableList: [],
       visibleForm: {
         createTime:
           "啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦"
@@ -153,34 +159,63 @@ export default {
   created() {},
   //生命周期 - 挂载完成(可以访问DOM元素)
   mounted() {
-   this.init()
+    getTeacher().then(res => {
+      if (res.code == 200) {
+        this.teacherList = res.data;
+      }
+    });
+    this.init();
   },
-  activated(){
-    this.init()
+  activated() {
+    this.init();
   },
   methods: {
-    init(){
-       var now = new Date();
-    var startDate = new Date(
-      Date.UTC(now.getFullYear(), now.getMonth(), now.getDate())
-    )
-      .toISOString()
-      .slice(0, 10);
-    //  + " 00:00:00"  + " 23:59:59"
-    var endDate = new Date(
-      Date.UTC(now.getFullYear(), now.getMonth(), now.getDate())
-    )
-      .toISOString()
-      .slice(0, 10);
-    this.searchForm.timer = [];
-    this.searchForm.timer.push(startDate);
-    this.searchForm.timer.push(endDate);
+    init() {
+      var now = new Date();
+      var startDate = new Date(
+        Date.UTC(now.getFullYear(), now.getMonth(), now.getDate())
+      )
+        .toISOString()
+        .slice(0, 10);
+      //  + " 00:00:00"  + " 23:59:59"
+      var endDate = new Date(
+        Date.UTC(now.getFullYear(), now.getMonth(), now.getDate())
+      )
+        .toISOString()
+        .slice(0, 10);
+      this.searchForm.timer = [];
+      this.searchForm.timer.push(startDate);
+      this.searchForm.timer.push(endDate);
+      this.getList();
+    },
+    getList() {
+      // assignStartTime  assignEndTime page search teacherId title
+      let obj = {};
+      if (this.searchForm.timer&&this.searchForm.timer.length > 0) {
+        obj.assignStartTime = this.searchForm.timer[0];
+        obj.assignEndTime = this.searchForm.timer[1];
+      }
+      obj.page = this.rules.page;
+         obj.rows= this.rules.limit,
+      this.searchForm.teacherId?obj.teacherId = this.searchForm.teacherId:null;
+      this.searchForm.search?obj.title = this.searchForm.search:null;
+      queryPageList(obj).then(res => {
+        if (res.code == 200) {
+          this.tableList = res.data.rows;
+          this.rules.total = res.data.total;
+        }
+      });
+    },
+    search() {
+      this.rules.page = 1;
+      this.getList();
     },
-    getList() {},
-    search() {},
     onReSet() {},
     lookDetail(row) {
-      this.afterSchoolVisible = true;
+      // this.afterSchoolVisible = true;
+      console.log(row.id);
+      this.$router.push({path:'/business/afterWorkList',query:{extracurricularExercisesId:row.id}})
+      // this.extracurricularExercisesId
     }
   }
 };

+ 336 - 0
src/views/afterSchoolManager/afterWorkList.vue

@@ -0,0 +1,336 @@
+<!--  -->
+<template>
+  <div class="m-container">
+    <h2>
+      <div class="squrt"></div>课外作业
+    </h2>
+    <div class="m-core">
+      <el-form :inline="true" :model="searchForm">
+        <el-form-item>
+          <el-input
+            v-model.trim="searchForm.search"
+            @keyup.enter.native="search"
+            placeholder="请输入标题 学生姓名"
+          ></el-input>
+        </el-form-item>
+        <!-- <el-form-item>
+          <el-select placeholder="老师姓名" v-model="searchForm.teacherId" clearable filterable>
+            <el-option
+              v-for="(item,index) in teacherList"
+              :label="item.realName"
+              :value="item.id"
+              :key="index"
+            ></el-option>
+          </el-select>
+        </el-form-item>-->
+        <el-form-item>
+          <el-date-picker
+            v-model.trim="searchForm.timer"
+            style="width:410px;"
+            type="daterange"
+            value-format="yyyy-MM-dd"
+            range-separator="至"
+            start-placeholder="开始日期"
+            end-placeholder="结束日期"
+          ></el-date-picker>
+        </el-form-item>
+
+        <!-- <el-form-item>
+          <el-select placeholder="是否提交" v-model="searchForm.hasReport" clearable>
+            <el-option label="是" value="1"></el-option>
+            <el-option label="否" value="0"></el-option>
+          </el-select>
+        </el-form-item>
+        <el-form-item>
+          <el-select placeholder="是否回复" v-model="searchForm.hasReport" clearable>
+            <el-option label="是" value="1"></el-option>
+            <el-option label="否" value="0"></el-option>
+          </el-select>
+        </el-form-item>-->
+        <el-form-item>
+          <el-button type="danger" @click="search">搜索</el-button>
+          <el-button @click="onReSet" type="primary">重置</el-button>
+        </el-form-item>
+      </el-form>
+      <div class="tableWrap">
+        <el-table
+          style="width: 100%"
+          :header-cell-style="{background:'#EDEEF0',color:'#444'}"
+          :data="tableList"
+        >
+          <el-table-column align="center" prop="createTime" label="布置时间"></el-table-column>
+          <el-table-column align="center" prop="title" label="训练标题">
+            <template slot-scope="scope">
+              <div>
+                <div
+                  v-if="scope.row.extracurricularExercises"
+                >{{scope.row.extracurricularExercises.title}}</div>
+              </div>
+            </template>
+          </el-table-column>
+          <el-table-column align="center" prop="createTime" label="学生姓名">
+            <template slot-scope="scope">
+              <div>
+                <div v-if="scope.row.user">{{scope.row.user.username}}</div>
+              </div>
+            </template>
+          </el-table-column>
+          <el-table-column align="center" label="提交状态">
+            <template slot-scope="scope">
+              <div>{{scope.row.status?'是':'否'}}</div>
+            </template>
+          </el-table-column>
+          <el-table-column align="center" prop="isReplied" label="是否提交">
+            <template slot-scope="scope">
+              <div>{{scope.row.isReplied?'是':'否'}}</div>
+            </template>
+          </el-table-column>
+          <el-table-column align="center" prop="isView" label="是否回复">
+            <template slot-scope="scope">
+              <div>{{scope.row.isView?'是':'否'}}</div>
+            </template>
+          </el-table-column>
+          <!-- <el-table-column align="center" prop="teacherName" label="老师姓名">
+            <template slot-scope="scope">
+              <div v-if="scope.row.extracurricularExercises&&scope.row.extracurricularExercises.teacher">{{scope.row.extracurricularExercises.teacher.username}}</div>
+            </template>
+          </el-table-column>-->
+          <el-table-column align="center" label="操作">
+            <template slot-scope="scope">
+              <div>
+                <el-button type="text" @click="lookDetail(scope.row)">查看</el-button>
+              </div>
+            </template>
+          </el-table-column>
+        </el-table>
+        <pagination
+          :total="rules.total"
+          :page.sync="rules.page"
+          :limit.sync="rules.limit"
+          :page-sizes="rules.page_size"
+          @pagination="getList"
+        />
+      </div>
+    </div>
+    <el-dialog title="课外训练详情" :visible.sync="afterSchoolVisible" width="600px">
+      <el-form :model="visibleForm">
+        <!-- <el-form-item label="结束时间">
+          <p class="schoolCell">{{visibleForm.expiryDate}}</p>
+        </el-form-item>-->
+        <el-form-item label="老师姓名">
+          <p class="schoolCell">{{visibleForm.teacherName}}</p>
+        </el-form-item>
+        <el-form-item label="学生姓名">
+          <el-popover
+            placement="top-start"
+            width="400"
+            trigger="hover"
+            :content="visibleForm.studentName"
+          >
+            <p class="schoolCell" slot="reference">{{visibleForm.studentName}}</p>
+          </el-popover>
+        </el-form-item>
+        <el-form-item label="截止时间">
+          <p class="schoolCell">{{visibleForm.expiryDate}}</p>
+        </el-form-item>
+        <el-form-item label="训练标题">
+          <p class="schoolCell">{{visibleForm.title}}</p>
+        </el-form-item>
+        <el-form-item label="训练内容">
+          <el-input
+            disabled
+            type="textarea"
+            rows="5"
+            v-model="visibleForm.content"
+            style="width:400px"
+          ></el-input>
+        </el-form-item>
+        <el-form-item label="学生上传" v-for="(item,index) in visibleForm.attachments" :key="index">
+          <p class="schoolCell" @click="lookWork(item)">点击播放</p>
+        </el-form-item>
+      </el-form>
+    </el-dialog>
+    <el-dialog title="查看作业" width="680px" append-to-body :visible.sync="workVisible">
+      <!-- activeUrl -->
+      <video
+        style="width:640px;"
+        :src="activeSrc"
+        ref="dialogVideo"
+        controls="controls"
+      >您的浏览器不支持视频播放</video>
+    </el-dialog>
+  </div>
+</template>
+
+<script>
+import pagination from "@/components/Pagination/index";
+import {
+  extracurricularExercisesReply,
+  findStudentExtraExerciseDetail
+} from "@/api/afterSchool";
+import { getTeacher } from "@/api/buildTeam";
+export default {
+  components: { pagination },
+  data() {
+    return {
+      searchForm: {
+        search: null,
+        timer: [],
+        teacherId: null,
+        hasReport: null,
+        isView: null
+      },
+      rules: {
+        // 分页规则
+        limit: 10, // 限制显示条数
+        page: 1, // 当前页
+        total: 0, // 总条数
+        page_size: [10, 20, 40, 50] // 选择限制显示条数
+      },
+      teacherList: [],
+      tableList: [],
+      visibleForm: {
+        expiryDate: "啦啦啦啦",
+        teacherName: "",
+        title: "",
+        studentName: "",
+        content: "",
+        attachments: []
+      },
+      afterSchoolVisible: false,
+      workVisible: false,
+      activeSrc: "",
+      extracurricularExercisesId: "",
+      Fsearch:null,
+      Frules:null
+    };
+  },
+  //生命周期 - 创建完成(可以访问当前this实例)
+  created() {},
+  //生命周期 - 挂载完成(可以访问DOM元素)
+  mounted() {
+    getTeacher().then(res => {
+      if (res.code == 200) {
+        this.teacherList = res.data;
+      }
+    });
+    this.init();
+  },
+  activated() {
+    this.init();
+  },
+  methods: {
+    init() {
+      //   var now = new Date();
+      //   var startDate = new Date(
+      //     Date.UTC(now.getFullYear(), now.getMonth(), now.getDate())
+      //   )
+      //     .toISOString()
+      //     .slice(0, 10);
+      //   //  + " 00:00:00"  + " 23:59:59"
+      //   var endDate = new Date(
+      //     Date.UTC(now.getFullYear(), now.getMonth(), now.getDate())
+      //   )
+      //     .toISOString()
+      //     .slice(0, 10);
+      //   this.searchForm.timer = [];
+      //   this.searchForm.timer.push(startDate);
+      //   this.searchForm.timer.push(endDate);
+    if (this.$route.query.search) {
+      this.Fsearch = this.$route.query.search;
+    }
+    if (this.$route.query.rules) {
+      this.Frules = this.$route.query.rules
+    }
+      this.extracurricularExercisesId =
+        this.$route.query.extracurricularExercisesId || null;
+      this.getList();
+    },
+    getList() {
+      // assignStartTime  assignEndTime page search teacherId title
+      let obj = {};
+      if (this.searchForm.timer && this.searchForm.timer.length > 0) {
+        obj.submitStartTime = this.searchForm.timer[0];
+        obj.submitEndTime = this.searchForm.timer[1];
+      }
+      obj.page = this.rules.page;
+      (obj.rows = this.rules.limit),
+        this.searchForm.teacherId
+          ? (obj.teacherId = this.searchForm.teacherId)
+          : null;
+      this.searchForm.search ? (obj.search = this.searchForm.search) : null;
+      this.extracurricularExercisesId
+        ? (obj.extracurricularExercisesId = this.extracurricularExercisesId)
+        : null;
+      extracurricularExercisesReply(obj).then(res => {
+        if (res.code == 200) {
+          this.tableList = res.data.rows;
+          this.rules.total = res.data.total;
+        }
+      });
+    },
+    search() {
+      this.rules.page = 1;
+      this.getList();
+    },
+    onReSet() {
+      this.searchForm = {
+        search: null,
+        timer: [],
+        teacherId: null,
+        hasReport: null,
+        isView: null,
+
+      };
+      this.extracurricularExercisesId = null;
+      this.getList();
+    },
+    lookDetail(row) {
+      //   this.afterSchoolVisible = true;
+      //   console.log(row)
+      findStudentExtraExerciseDetail({
+        studentExerciseId: row.extracurricularExercisesId
+      }).then(res => {
+        if (res.code == 200) {
+          this.visibleForm = {
+            expiryDate: res.data.expiryDate,
+            teacherName: res.data.teacherName,
+            title: row.extracurricularExercises.title,
+            studentName: res.data.studentName,
+            content: res.data.content,
+            attachments: res.data.attachments.split(",")
+          };
+          //   console.log(this.visibleForm)
+          this.afterSchoolVisible = true;
+        }
+      });
+    },
+    lookWork(src) {
+      this.activeSrc = src;
+      this.workVisible = true;
+    }
+  }
+};
+</script>
+<style lang='scss' scoped>
+.schoolCell {
+  width: 400px;
+  color: #333;
+  background-color: #f5f7fa;
+  border-color: #e4e7ed;
+  height: 40px;
+  line-height: 40px;
+  outline: 0;
+  padding: 0 15px;
+  border-radius: 4px;
+  border: 1px solid #dcdfe6;
+  display: inline-block;
+  box-sizing: border-box;
+  white-space: nowrap;
+  text-overflow: ellipsis;
+  overflow: hidden;
+}
+/deep/.el-textarea.is-disabled .el-textarea__inner {
+  color: #333;
+}
+</style>

Algúns arquivos non se mostraron porque demasiados arquivos cambiaron neste cambio