From 8d248b7f81163690f7318c868acce4f889936d42 Mon Sep 17 00:00:00 2001 From: xiangpei <xiangpei@timesnew.cn> Date: 星期二, 29 十月 2024 16:49:47 +0800 Subject: [PATCH] 会议列表增加班级查询、显示老师 --- src/api/modules/meet.js | 11 ++++++++--- src/views/train/data-list/index.vue | 4 ++-- components.d.ts | 1 + src/views/train/index.vue | 24 ++++++++++++++++++------ 4 files changed, 29 insertions(+), 11 deletions(-) diff --git a/components.d.ts b/components.d.ts index 78906d1..7095ee7 100644 --- a/components.d.ts +++ b/components.d.ts @@ -19,6 +19,7 @@ ElDropdown: typeof import('element-plus/es')['ElDropdown'] ElDropdownItem: typeof import('element-plus/es')['ElDropdownItem'] ElDropdownMenu: typeof import('element-plus/es')['ElDropdownMenu'] + ElEmpty: typeof import('element-plus/es')['ElEmpty'] ElForm: typeof import('element-plus/es')['ElForm'] ElFormItem: typeof import('element-plus/es')['ElFormItem'] ElIcon: typeof import('element-plus/es')['ElIcon'] diff --git a/src/api/modules/meet.js b/src/api/modules/meet.js index fb923bc..4acecb2 100644 --- a/src/api/modules/meet.js +++ b/src/api/modules/meet.js @@ -1,10 +1,15 @@ import service from "@/api"; -export const getMeetList = (getData = {meetName: '', status: ''}) => { - return service.get('/api/student/meet/page', {params: getData}); +export const getMeetList = (data) => { + return service.post('/api/student/meet/page', data); }; export const classMeet = (id) => { return service.get('/api/student/meet/' + id); -} \ No newline at end of file +} + +// 鑾峰彇瀛︾敓鐨勭彮绾� +export const getStudentClasses = () => { + return service.get('api/student/meet/classes'); +} diff --git a/src/views/train/data-list/index.vue b/src/views/train/data-list/index.vue index adf6dab..c2865a2 100644 --- a/src/views/train/data-list/index.vue +++ b/src/views/train/data-list/index.vue @@ -15,9 +15,9 @@ </div> <div class="item-info p-3" style="position: relative"> <div class="info-title font-bold">{{ item.meetName }}</div> - <div class="info-teacher flex text-sm text-gray-500"> + <div class="info-teacher flex text-sm text-gray-500" style="margin-top: 5px"> <div class="info-label">涓昏锛�</div> - <div class="info-text">{{ item.teacherName }}</div> + <div class="info-text">{{ item.teacherNamesStr }}</div> </div> <div class="info-time flex text-sm text-gray-500"> <div class="info-label">寮�濮嬫椂闂达細</div> diff --git a/src/views/train/index.vue b/src/views/train/index.vue index 9a32761..e026bd2 100644 --- a/src/views/train/index.vue +++ b/src/views/train/index.vue @@ -19,14 +19,18 @@ </div> --> <div class="header-search flex items-center"> - <el-input v-model="searchText" placeholder="璇疯緭鍏ヨ绋嬪悕绉�" :prefix-icon="Search" maxlength="20" @input="searchData" /> + <el-input v-model="searchText" placeholder="璇剧▼鍚嶇О" :prefix-icon="Search" maxlength="20" @input="searchData" /> + <el-select v-model="classesIdList" placeholder="閫夋嫨鐝骇" multiple clearable @clear="searchData" style="width: 200px;margin-left: 10px" @change="searchData"> + <el-option v-for="classes in classesList" :key="classes.id" :label="classes.className" :value="classes.id"/> + </el-select> <el-button type="primary" class="ml-4" @click="searchData">鎼滅储</el-button> </div> </div> <div class="card-main flex-1 my-5 relative"> <div class="main-content absolute top-0 bottom-0 left-0 right-0"> - <DataList :dataList="dataList"></DataList> + <DataList v-if="dataList && dataList.length > 0" :dataList="dataList"></DataList> + <el-empty v-else description="鏆傛棤" /> </div> </div> @@ -55,9 +59,11 @@ import NormalHeader from '@/components/NormalHeader/index.vue'; import DataList from './data-list/index.vue'; import { Search } from '@element-plus/icons-vue'; -import { getMeetList } from '@/api/modules/meet.js'; +import { getMeetList, getStudentClasses } from '@/api/modules/meet.js'; const activeName = ref('1'); const searchText = ref(''); +const classesIdList = ref([]); +const classesList = ref([]); const dataList = ref([]); const loading = ref(false); @@ -68,7 +74,7 @@ const getData = () => { loading.value = true; - getMeetList({meetName: searchText.value}).then(res => { + getMeetList({meetName: searchText.value, classesIds: classesIdList.value}).then(res => { dataList.value = res.data; loading.value = false; total.value = res.total; @@ -77,8 +83,14 @@ }); }; -getData(); +const studentClasses = () => { + getStudentClasses().then(res => { + classesList.value = res.data + }) +} +getData(); +studentClasses(); const handleCurrentChange = (val) => { currentIndex.value = val; getData(); @@ -104,4 +116,4 @@ :deep(.el-tabs__nav-wrap:after) { display: none; } -</style> \ No newline at end of file +</style> -- Gitblit v1.8.0