From db905ecd14f63dba9337b4f4715584ef2d7e8c7e Mon Sep 17 00:00:00 2001
From: 马宇豪 <978517621@qq.com>
Date: Fri, 07 Mar 2025 14:45:00 +0800
Subject: [PATCH] 修改
---
src/views/onlineEducation/classBatch/index.vue | 215 ++++++++++++++++++++++++++++++++++++++---------------
1 files changed, 152 insertions(+), 63 deletions(-)
diff --git a/src/views/onlineEducation/classBatch/index.vue b/src/views/onlineEducation/classBatch/index.vue
index c2cc228..830361b 100644
--- a/src/views/onlineEducation/classBatch/index.vue
+++ b/src/views/onlineEducation/classBatch/index.vue
@@ -1,14 +1,36 @@
<template>
<div class="app-container">
<div style="margin-left: -35px;margin-top: 15px">
- <el-select v-model="queryParams.platform" size="small" style="margin-left: 40px;" placeholder="请选择平台">
+ <el-select v-model="queryParams.institutionId" size="small" style="margin-left: 40px;" placeholder="请选择平台">
<el-option
v-for="item in platformList"
- :key="item.value"
- :label="item.label"
- :value="item.value">
+ :key="item.id"
+ :label="item.institutionalName"
+ :value="item.id">
</el-option>
</el-select>
+ <el-date-picker
+ v-model="time"
+ size="small"
+ type="daterange"
+ range-separator="至"
+ start-placeholder="开始日期"
+ end-placeholder="结束日期"
+ format="yyyy-MM-dd"
+ style="margin-left: 30px;"
+ >
+ </el-date-picker>
+ <el-cascader
+ v-model="queryParams.subjectCode"
+ ref="classifyRef"
+ @change="changeTree"
+ :options="subjectList"
+ :props="{ checkStrictly: true }"
+ clearable
+ size="small"
+ style="margin-left: 30px;"
+ ></el-cascader>
+ <el-input size="small" style="margin-left: 30px;width: 200px" v-model="queryParams.trainOrgName" placeholder="请输入机构"></el-input>
<el-button
size="small"
type="primary"
@@ -16,6 +38,7 @@
@click="handleQuery()"
>查询</el-button>
<el-button
+ plain
size="small"
type="primary"
style="margin-bottom: 10px"
@@ -23,27 +46,42 @@
>重置</el-button>
</div>
<el-table v-loading="loading" :data="expertList" style="margin-top: 10px">
- <el-table-column label="UUID" align="center" prop="UUID" />
+ <el-table-column label="ID" align="center" prop="id" />
<el-table-column label="批次名称" align="center" prop="batchName" />
- <el-table-column label="推送平台" align="center" prop="platform" />
- <el-table-column label="上报时间" align="center" prop="reportTime" />
- <el-table-column label="所属培训机构" align="center" prop="trainingInstitution" />
+ <el-table-column label="推送平台" align="center" prop="institutionName" />
+ <el-table-column label="开始时间" align="center" prop="actualStartTime" />
+ <el-table-column label="计划结束时间" align="center" prop="actualEndTime" />
+ <el-table-column label="类别" align="center" prop="subjectName" />
+ <el-table-column label="上报时间" align="center" prop="createTime" />
+ <el-table-column label="所属培训机构" align="center" prop="trainOrgName" />
<el-table-column label="课程" align="center" >
<template #default="scope">
- <div v-for="(item,index) in scope.row.course" :key="index" style="color: #1890ff;cursor: pointer">
- <span @click="handleViewCourse(item)">{{item}}</span>
+ <div v-for="(item,index) in scope.row.courseVOList" :key="index" style="color: #1890ff;cursor: pointer">
+ <span @click="handleViewCourse(item)">{{item.courseName}}</span>
</div>
</template>
</el-table-column>
<el-table-column label="学员人数" align="center" prop="student" >
<template #default="scope">
- <span style="color: #1890ff;cursor: pointer" @click="openStudent(scope.row)">{{scope.row.student}}</span>
+ <span style="color: #1890ff;cursor: pointer" @click="openStudent(scope.row)">{{scope.row.studentCount}}</span>
</template>
</el-table-column>
- <el-table-column label="是否有考试" align="center" prop="isExam" />
- <el-table-column label="已开班" align="center" prop="isOfferClass" />
- <el-table-column label="数据更新时间" align="center" prop="updateTime" />
- <el-table-column label="删除标记" align="center" prop="delFlag" />
+ <el-table-column label="是否有考试" align="center" prop="haveExam" >
+ <template #default="scope">
+ <span>{{scope.row.haveExam == 0 ? '否' : '是'}}</span>
+ </template>
+ </el-table-column>
+ <el-table-column label="已开班" align="center" prop="openStatus" >
+ <template #default="scope">
+ <span>{{scope.row.openStatus == 0 ? '未开班' : scope.row.openStatus == 1 ? '开班' : '结束'}}</span>
+ </template>
+ </el-table-column>
+ <el-table-column label="数据更新时间" align="center" prop="updateTime" width="100" />
+ <el-table-column label="删除标记" align="center" prop="delFlag" >
+ <template #default="scope">
+ <span>{{scope.row.delFlag == 0 ? '未删除' : '已删除'}}</span>
+ </template>
+ </el-table-column>
<el-table-column label="学时监管" align="center" class-name="small-padding fixed-width">
<template #default="scope">
<el-button
@@ -58,7 +96,7 @@
<pagination
v-show="total>0"
:total="total"
- :page.sync="queryParams.pageIndex"
+ :page.sync="queryParams.pageNum"
:limit.sync="queryParams.pageSize"
@pagination="getList"
/>
@@ -73,73 +111,119 @@
import studentList from '@/views/onlineEducation/count/components/studentList.vue'
import courseDialog from '@/views/onlineEducation/courseSupervision/components/courseDialog.vue'
import classHour from '@/views/onlineEducation/classBatch/components/classHour.vue'
+import { listBatch, listQuestion } from '@/api/onlineEducation/student'
+import { listPlatSelect } from '@/api/onlineEducation/plat'
+import moment from 'moment/moment'
+import { getSubject } from '@/api/onlineEducation/count'
export default {
name: "nPeopleManage",
dicts: [],
components: { courseDialog,studentList,classHour},
data() {
return {
+ time: [],
loading: false,
single: true,
multiple: true,
showSearch: true,
addForm: false,
total: 0,
- platformList: [
- {
- value: '1',
- label: '平台1'
- },
- {
- value: '2',
- label: '平台2'
- },
- ],
+ platformList: [],
expertList: [],
queryParams: {
- pageIndex: 1,
+ pageNum: 1,
pageSize: 10,
- platform: ''
+ institutionId: '',
+ startTime: '',
+ endTime: '',
+ subjectCode: null,
+ trainOrgName: ''
},
+ subjectList: [],
+ trainOrgList: []
};
},
created() {
+ this.setDate();
+ this.getSubjectList()
this.getList();
+ this.getPlat();
},
methods: {
+ setDate(){
+ const end = new Date();
+ const start = new Date();
+ start.setTime(start.getTime() - 3600 * 1000 * 24 * 90);
+ const s = moment(start).format('YYYY-MM-DD')
+ const e = moment(end).format('YYYY-MM-DD')
+ this.time = [s,e]
+ },
+ changeTree(val) {
+ console.log("label====",this.$refs.classifyRef.getCheckedNodes()[0].value)
+ this.queryParams.subjectCode = this.$refs.classifyRef.getCheckedNodes()[0].value
+ // 我这里只是打印了一下label的值哦,需要赋值的话自己去赋值哦
+ if (this.$refs.classifyRef) {
+ this.$refs.classifyRef.dropDownVisible = false
+ }
+ },
+ getSubjectList() {
+ getSubject().then(res => {
+ if (res.code == 200) {
+ console.log('res',res)
+ this.subjectList = this.recursion(res.data)
+ }
+ })
+ },
+ recursion(data){
+ let tmp = []
+ for (let i = 0; i < data.length; i++) {
+ let item = data[i]
+ // children为空
+ if (item.children&& item.children.length==0) {
+ tmp.push({
+ value: item.code,
+ label: item.name
+ })
+ // 有children
+ } else {
+ tmp.push({
+ value: item.code,
+ label: item.name,
+ children: this.recursion(item.children)
+ })
+ }
+ }
+ return tmp;
+ },
getList(){
- this.loading = true;
- this.expertList = [
- {
- UUID: '2024060600001',
- batchName: '测试数据1',
- platform:'平台1',
- reportTime: '2024-6-11 10:32:00',
- trainingInstitution: '培训机构1',
- course: ['课程1','课程2'],
- student:120,
- isExam: '是',
- isOfferClass: '是',
- delFlag:'未删除',
- updateTime: '2024-6-11 10:32:00'
- },
- {
- UUID: '2024060600002',
- batchName: '测试数据2',
- platform:'平台2',
- reportTime: '2024-6-11 10:32:00',
- trainingInstitution: '培训机构2',
- course: ['课程2'],
- student: 132,
- isExam: '否',
- isOfferClass: '否',
- delFlag:'未删除',
- updateTime: '2024-6-11 10:32:00'
- },
- ]
- this.total = 2
- this.loading = false;
+ if(this.time && this.time.length >0){
+ this.queryParams.startTime = moment(this.time[0]).format('YYYY-MM-DD')
+ this.queryParams.endTime = moment(this.time[1]).format('YYYY-MM-DD')
+ }
+ this.loading = true;
+ listBatch( this.queryParams).then((res) => {
+ if (res.code == 200) {
+ this.expertList = res.rows.map(item => {
+ return {
+ ...item,
+ trainOrgName: item.trainOrgName ? item.trainOrgName : '--',
+ startTime: item.startTime ? item.startTime : '--',
+ endTime: item.endTime ? item.endTime : '--',
+ category: item.category ? item.category : '--'
+ }
+ })
+ this.total = res.total
+ this.loading = false;
+ }
+ })
+ },
+ getPlat() {
+ listPlatSelect().then((res) => {
+ if (res.code == 200) {
+ this.platformList = res.data
+ }
+ })
},
handleChange(){
@@ -150,17 +234,22 @@
},
resetQuery(){
this.queryParams = {
- pageIndex: 1,
+ pageNum: 1,
pageSize: 10,
- platform: ''
+ institutionId: '',
+ startTime: '',
+ endTime: '',
+ subjectCode: null,
+ trainOrgName: ''
}
+ this.time = [];
this.getList();
},
handleViewCourse(data){
- this.$refs.courseDialogRef.openDialog(data);
+ this.$refs.courseDialogRef.openDialog(data,'batch');
},
openStudent(data) {
- this.$refs.studentDialog.openDialog(data);
+ this.$refs.studentDialog.openDialog(data,'batch');
},
openClassHour(data){
this.$refs.classRef.openDialog(data)
--
Gitblit v1.9.2