From 2e45831fca4c883a7f67a06c65749c048c409ffe Mon Sep 17 00:00:00 2001 From: lohir <3399054449@qq.com> Date: 星期四, 17 十月 2024 17:16:58 +0800 Subject: [PATCH] 班级成员管理显示班级名 --- src/views/train/index.vue | 101 ++++++++++++++++++++++++++++++++++++-------------- 1 files changed, 72 insertions(+), 29 deletions(-) diff --git a/src/views/train/index.vue b/src/views/train/index.vue index 6e982e3..954f923 100644 --- a/src/views/train/index.vue +++ b/src/views/train/index.vue @@ -8,41 +8,44 @@ <div class="card-wrapper"> <div class="card-header"> <div class="header-tab"> - <el-tabs v-model="activeName" @tab-click="handleClick"> - <el-tab-pane label="鍏ㄩ儴" name="1"></el-tab-pane> - <el-tab-pane label="鏈紑濮�" name="2"></el-tab-pane> - <el-tab-pane label="杩涜涓�" name="3"></el-tab-pane> - <el-tab-pane label="宸茬粨鏉�" name="4"></el-tab-pane> + <el-tabs v-model="activeName" @tab-click="handleClick" size="small"> + <el-tab-pane label="鍏ㄩ儴" name="all"></el-tab-pane> + <el-tab-pane label="鏈紑濮�" name="0"></el-tab-pane> + <el-tab-pane label="杩涜涓�" name="1"></el-tab-pane> + <el-tab-pane label="宸茬粨鏉�" name="2"></el-tab-pane> </el-tabs> </div> <div class="header-search"> - <el-input v-model="queryParam.meetName" @input="getList" clearable @clear="getList" placeholder="璇疯緭鍏ヨ绋嬪悕绉�"/> - <el-button type="primary" class="ml-4" @click="getList" >鎼滅储</el-button> + <el-input v-model="queryParam.meetName" @input="getList" clearable @clear="getList" size="small" + placeholder="璇疯緭鍏ヨ绋嬪悕绉�"/> + <el-button type="primary" class="ml-4" style="margin-left: 5px" size="small" @click="getList">鎼滅储</el-button> </div> <div> - <el-button type="primary" @click="handleAdd()">娣诲姞</el-button> + <el-button type="primary" @click="handleAdd()" size="small">娣诲姞</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 :tableData="tableData" @handleUpdate="handleUpdate" @remove = "remove"></DataList> + <DataList :tableData="tableData" @handleUpdate="handleUpdate" @remove="remove" + @start="start"></DataList> <div id="meet" ref="meet"></div> </div> </div> - <pagination v-show="total>0" :total="total" :page.sync="queryParam.pageIndex" :limit.sync="queryParam.pageSize" + <pagination v-show="total>0" :total="total" :page.sync="queryParam.pageIndex" + :limit.sync="queryParam.pageSize" @pagination="getList"/> </div> </el-card> <!-- 娣诲姞浼氳瀵硅瘽妗� --> <el-dialog :title="title" :visible.sync="open" width="600px" append-to-body> - <el-form label-width="80px" ref="form" :model="form" :rules="rules" > - <el-form-item label="鎴块棿鍚嶏細" prop="meetName" > + <el-form label-width="80px" ref="form" :model="form" :rules="rules"> + <el-form-item label="鎴块棿鍚�" prop="meetName"> <el-input v-model="form.meetName" placeholder="璇疯緭鍏ユ埧闂村悕" style="width: 300px"></el-input> </el-form-item> - <el-form-item label="鐝骇锛�" > + <el-form-item label="鐝骇"> <el-select v-model="form.classesId" placeholder="鐝骇" @@ -51,16 +54,21 @@ <el-option v-for="item in classesIds" :key="item.id" :label="item.className" :value="item.id"/> </el-select> </el-form-item> - <el-form-item label="涓婅鏃堕棿" prop="time" > - <el-date-picker - v-model="form.time" - type="datetimerange" - format="yyyy-MM-dd HH:mm:ss" - value-format="yyyy-MM-dd HH:mm:ss" - range-separator="鑷�" - start-placeholder="寮�濮嬫棩鏈�" - end-placeholder="缁撴潫鏃ユ湡"> - </el-date-picker> + <el-form-item label="涓婅鏃堕棿" prop="time"> + <el-date-picker + v-model="form.time" + type="datetimerange" + format="yyyy-MM-dd HH:mm:ss" + value-format="yyyy-MM-dd HH:mm:ss" + range-separator="鑷�" + start-placeholder="寮�濮嬫棩鏈�" + end-placeholder="缁撴潫鏃ユ湡"> + </el-date-picker> + </el-form-item> + <el-form-item label="鐘舵��"> + <el-radio v-model="form.status" :label="0" :disabled="!form.id">寰呭紑濮�</el-radio> + <el-radio v-model="form.status" :label="1" :disabled="!form.id">杩涜涓�</el-radio> + <el-radio v-model="form.status" :label="2" :disabled="!form.id">宸茬粨鏉�</el-radio> </el-form-item> </el-form> <div slot="footer" class="dialog-footer"> @@ -78,12 +86,11 @@ <script> import DataList from './data-list/index.vue' import Pagination from '@/components/Pagination' -import { getMeets,addMeet,editMeet,deleteMeetById } from '@/api/meet' +import { getMeets, addMeet, editMeet, deleteMeetById, startMeet } from '@/api/meet' import { myClasses } from '@/api/classes' - export default { - components: { DataList,Pagination}, + components: { DataList, Pagination }, data () { return { queryParam: { @@ -96,10 +103,12 @@ open: false, listLoading: true, title: '', - form: {}, + form: { + status: 0 + }, tableData: [], classesIds: [], - activeName: '1', + activeName: 'all', searchText: '', rules: { meetName: [ @@ -120,6 +129,12 @@ }, methods: { handleClick () { + if (this.activeName !== 'all') { + this.queryParam.status = this.activeName + } else { + this.queryParam.status = null + } + this.getList() }, remove (item) { deleteMeetById(item.id).then(re => { @@ -127,6 +142,29 @@ this.open = false this.getList() this.$message.success(re.data.message) + } else { + this.$message.error(re.data.message) + } + }) + }, + start (item) { + // 淇敼鎴块棿鐘舵�佷负杩涜涓� + item.status = 1 + startMeet(item).then(re => { + if (re.data.code === 1) { + this.getList() + let routeUrl = this.$router.resolve({ + path: '/meet', + query: { + meetId: item.id, + domain: 'ycl.easyblog.vip:8443/' + item.id, + roomName: item.meetName, + userInfoStr: JSON.stringify({ + displayName: item.teacherName + }) + } + }) + window.open(routeUrl.href, '_blank') } else { this.$message.error(re.data.message) } @@ -159,7 +197,7 @@ id: null, meetName: null, classesId: null, - status: null, + status: 0, startTime: null, endTime: null, time: [] @@ -203,6 +241,7 @@ }) }, handleAdd () { + this.resetForm() this.open = true this.title = '鏂板缓鎴块棿' } @@ -214,6 +253,7 @@ :deep(.el-tabs__nav-wrap:after) { display: none; } + .train-container { width: 100%; height: 100%; @@ -225,14 +265,17 @@ flex: 1; position: relative; width: 100%; + height: 100%; } } + .card-header { display: flex; justify-content: space-between; align-items: center; flex-shrink: 0; } + .header-search { display: flex; align-items: center; -- Gitblit v1.8.0