From 81e16742530ddcd86b368678bad74fc8eb471c63 Mon Sep 17 00:00:00 2001 From: fuliqi <fuliqi@qq.com> Date: 星期一, 28 十月 2024 18:44:19 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' into test --- src/views/class-management/Class.vue | 75 +++++++++++++++--------- src/views/user/admin/list.vue | 8 ++ src/views/profile/components/Timeline.vue | 15 ---- src/api/user.js | 4 src/views/profile/index.vue | 8 +- src/layout/components/Navbar.vue | 2 src/views/train/index.vue | 2 src/views/meet/index.vue | 18 +++++ src/views/user/teacher/list.vue | 8 ++ src/api/classes.js | 8 ++ src/views/user/student/list.vue | 8 ++ src/views/profile/components/UserCard.vue | 12 ---- 12 files changed, 104 insertions(+), 64 deletions(-) diff --git a/src/api/classes.js b/src/api/classes.js index 95940ee..673b8e2 100644 --- a/src/api/classes.js +++ b/src/api/classes.js @@ -83,3 +83,11 @@ method: "PUT" }) } + +// 鑾峰彇鑰佸笀鍒楄〃 +export const getTeacherList = () => { + return axios({ + url: "/api/admin/user/student/list", + method: "GET" + }) +} diff --git a/src/api/user.js b/src/api/user.js index 450f224..46a57f8 100644 --- a/src/api/user.js +++ b/src/api/user.js @@ -1,4 +1,4 @@ -import { post,get } from '@/utils/request' +import { post, get } from '@/utils/request' export default { getUserPageList: query => post('/api/admin/user/page/list', query), @@ -12,5 +12,5 @@ selectByUserName: query => post('/api/admin/user/selectByUserName', query), studentList: () => get('/api/admin/user/student/list'), getClassesCurrentUserList: (param) => get('/api/admin/user/classes/students', param), - updatePassword: (data) => post('/api/common/user/update/password', data) + updatePassword: (data) => post('/api/common/user/update/password', data), } diff --git a/src/layout/components/Navbar.vue b/src/layout/components/Navbar.vue index 5fd5250..7def789 100644 --- a/src/layout/components/Navbar.vue +++ b/src/layout/components/Navbar.vue @@ -14,7 +14,7 @@ <router-link to="/profile/index"> <el-dropdown-item>涓汉淇℃伅</el-dropdown-item> </router-link> - <router-link to="/"> + <router-link to="/dashboard"> <el-dropdown-item>涓婚〉</el-dropdown-item> </router-link> <el-dropdown-item @click.native="logout" divided>閫�鍑�</el-dropdown-item> diff --git a/src/views/class-management/Class.vue b/src/views/class-management/Class.vue index 5dffd29..d567a34 100644 --- a/src/views/class-management/Class.vue +++ b/src/views/class-management/Class.vue @@ -37,7 +37,7 @@ > <el-table-column align="center" - label="鐝骇" + label="鐝骇鍚嶇О" prop="className" width="180px" ></el-table-column> @@ -60,9 +60,9 @@ <!-- ></el-table-column>--> <el-table-column align="center" - width="100px" + width="300px" label="鏁欏笀" - prop="createUserName" + prop="teacherNamesStr" ></el-table-column> <!-- <el-table-column--> <!-- align="center"--> @@ -91,10 +91,10 @@ <el-button v-show="scope.row.status !== '瑙f暎'" size="small" @click="handlerEdit(scope.row)" type="primary">淇敼 </el-button> - <el-button v-show="scope.row.status !== '瑙f暎'" size="small" type="warning">鐝骇楠岃瘉</el-button> - <el-button v-show="scope.row.status !== '瑙f暎'" size="small" @click="handlerOpenNotify(scope.row)" - type="info">閫氱煡 - </el-button> +<!-- <el-button v-show="scope.row.status !== '瑙f暎'" size="small" type="warning">鐝骇楠岃瘉</el-button>--> +<!-- <el-button v-show="scope.row.status !== '瑙f暎'" size="small" @click="handlerOpenNotify(scope.row)"--> +<!-- type="info">閫氱煡--> +<!-- </el-button>--> <el-button v-show="scope.row.status !== '瑙f暎'" @click="studentManager(scope.row.id,scope.row.className)" size="small" type="success">鎴愬憳绠$悊 </el-button> @@ -123,25 +123,25 @@ <pagination v-show="total>0" :total="total" :page.sync="searchForm.currentPage" :limit.sync="searchForm.pageSize" @pagination="page"/> - <el-dialog - title="鐝骇閫氱煡" - :visible.sync="notifyOpen" - width="600px" - :before-close="handleNotifyClose" - :close-on-click-modal="false"> - <el-form :model="notifyForm" :rules="notifyRules" ref="notifyForm" label-width="100px" class="demo-ruleForm"> - <el-form-item label="閫氱煡鐝骇锛�" prop="className"> - <span>{{ notifyForm.className }}</span> - </el-form-item> - <el-form-item label="閫氱煡鍐呭锛�" prop="notifyContent"> - <el-input type="textarea" v-model="notifyForm.notifyContent" size="small"></el-input> - </el-form-item> - </el-form> - <span slot="footer" class="dialog-footer"> - <el-button @click="handleNotifyClose">鍙� 娑�</el-button> - <el-button type="primary" @click="submitNotifyForm">纭� 瀹�</el-button> - </span> - </el-dialog> +<!-- <el-dialog--> +<!-- title="鐝骇閫氱煡"--> +<!-- :visible.sync="notifyOpen"--> +<!-- width="600px"--> +<!-- :before-close="handleNotifyClose"--> +<!-- :close-on-click-modal="false">--> +<!-- <el-form :model="notifyForm" :rules="notifyRules" ref="notifyForm" label-width="100px" class="demo-ruleForm">--> +<!-- <el-form-item label="閫氱煡鐝骇锛�" prop="className">--> +<!-- <span>{{ notifyForm.className }}</span>--> +<!-- </el-form-item>--> +<!-- <el-form-item label="閫氱煡鍐呭锛�" prop="notifyContent">--> +<!-- <el-input type="textarea" v-model="notifyForm.notifyContent" size="small"></el-input>--> +<!-- </el-form-item>--> +<!-- </el-form>--> +<!-- <span slot="footer" class="dialog-footer">--> +<!-- <el-button @click="handleNotifyClose">鍙� 娑�</el-button>--> +<!-- <el-button type="primary" @click="submitNotifyForm">纭� 瀹�</el-button>--> +<!-- </span>--> +<!-- </el-dialog>--> <el-dialog :title="title" @@ -152,6 +152,16 @@ <el-form :model="form" :rules="rules" ref="form" label-width="100px" class="demo-ruleForm"> <el-form-item label="鐝骇鍚嶇О" prop="className"> <el-input v-model="form.className" size="small"></el-input> + </el-form-item> + <el-form-item label="鑰佸笀閰嶇疆" prop="teacherList"> + <el-select v-model="form.teacherList" multiple clearable size="small" placeholder="璇烽�夋嫨"> + <el-option + v-for="item in teacherList" + :key="item.id" + :label="item.realName" + :value="item.id"> + </el-option> + </el-select> </el-form-item> <el-form-item label="鐝骇鏃堕棿" required> <el-col :span="11"> @@ -191,7 +201,7 @@ </template> <script> -import { addClasses, editClasses, getClassess, dissolution, recover } from '@/api/classes' +import { addClasses, editClasses, getClassess, dissolution, recover, getTeacherList } from '@/api/classes' import { addClassesNotify } from '@/api/classesNotify' import Pagination from '@/components/Pagination' @@ -199,6 +209,7 @@ components: { Pagination }, data () { return { + teacherList: [], notifyOpen: false, notifyForm: { className: '', @@ -220,6 +231,7 @@ form: { id: null, className: '', + teacherList: [], status: '', verifyStatus: '', startTime: null, @@ -248,6 +260,11 @@ } }, methods: { + getTeacherList () { + getTeacherList().then(res => { + this.teacherList = res.data.data + }) + }, handlerOpenNotify (row) { this.notifyOpen = true this.notifyForm.className = row.className @@ -286,6 +303,7 @@ this.form = { id: null, className: '', + teacherList: [], status: '', verifyStatus: '', startTime: null, @@ -362,7 +380,8 @@ }, created () { this.page() - }, + this.getTeacherList() + } } </script> diff --git a/src/views/meet/index.vue b/src/views/meet/index.vue index e1c646d..d05163a 100644 --- a/src/views/meet/index.vue +++ b/src/views/meet/index.vue @@ -82,9 +82,21 @@ methods: { muteEveryone () { this.jitsiApi.executeCommand('muteEveryone', 'audio') + const h = this.$createElement; + + this.$notify({ + title: '鎻愮ず', + message: h('i', { style: 'color: teal'}, '宸插叏浣撶闊�') + }); }, videoEveryone () { this.jitsiApi.executeCommand('muteEveryone', 'video') + const h = this.$createElement; + + this.$notify({ + title: '鎻愮ず', + message: h('i', { style: 'color: teal'}, '宸插叧闂叏浣撹棰�') + }); }, handleCommand (command) { this.sendMessage(JSON.stringify(command)) @@ -266,13 +278,15 @@ this.jitsiApi.addListener('readyToClose', () => { window.close() }) + // 鍒濆鍖� + this.initWebSocket() // 姣忎笁绉掓洿瀛﹀憳鍦ㄧ嚎鐘舵�� this.intervalId = setInterval(() => { this.getRoomInfo() + // 鍙戦�佸績璺虫暟鎹� + this.ws.send('ping') }, 2500) - // 鍒濆鍖� - this.initWebSocket() }, beforeDestroy () { // 娓呴櫎瀹氭椂鍣紝閬垮厤鍐呭瓨娉勬紡 diff --git a/src/views/profile/components/Timeline.vue b/src/views/profile/components/Timeline.vue index 64100ce..b57178f 100644 --- a/src/views/profile/components/Timeline.vue +++ b/src/views/profile/components/Timeline.vue @@ -3,13 +3,11 @@ <el-timeline> <el-timeline-item placement="top" :timestamp="userInfo.lastActiveTime"> <el-card> - <h4>鏈�鍚庢椿鍔ㄦ椂闂�</h4> <p>{{ userInfo.realName+'鍦ㄦ牎鑰冪郴缁熶腑鏈�鍚庢椿鍔ㄤ簡' }}</p> </el-card> </el-timeline-item> <el-timeline-item placement="top" :timestamp="userInfo.createTime"> <el-card> - <h4>鍔犲叆鏃堕棿</h4> <p>{{ userInfo.realName+'鍔犲叆浜嗘牎鑰冪郴缁�' }}</p> </el-card> </el-timeline-item> @@ -20,17 +18,6 @@ <script> export default { - props: { - userInfo: { - type: Object, - default: () => { - return { - realName: '', - lastActiveTime: '', - createTime: '' - } - } - } - } + props: ['userInfo'], } </script> diff --git a/src/views/profile/components/UserCard.vue b/src/views/profile/components/UserCard.vue index 251824c..59f37b0 100644 --- a/src/views/profile/components/UserCard.vue +++ b/src/views/profile/components/UserCard.vue @@ -13,18 +13,6 @@ <div class="user-role text-center text-muted">{{ enumFormat(roleEnum,userInfo.role) }}</div> </div> </div> - - <div class="user-bio"> - <div class="user-education user-bio-section"> - <div class="user-bio-section-header"><svg-icon icon-class="education" /><span>涓汉绠�浠�</span></div> - <div class="user-bio-section-body"> - <div class="text-muted"> - 鏃� - </div> - </div> - </div> - - </div> </el-card> </template> diff --git a/src/views/profile/index.vue b/src/views/profile/index.vue index 93b3147..14435db 100644 --- a/src/views/profile/index.vue +++ b/src/views/profile/index.vue @@ -4,17 +4,17 @@ <el-row :gutter="20"> <el-col :span="6" :xs="24"> - <user-card :userInfo="userInfo" /> + <user-card :user-info="userInfo" /> </el-col> <el-col :span="18" :xs="24"> <el-card> <el-tabs active-name="timeline"> <el-tab-pane label="鏃堕棿绾�" name="timeline"> - <timeline :userInfo="userInfo" /> + <timeline :user-info="userInfo" /> </el-tab-pane> <el-tab-pane label="璐﹀彿" name="account"> - <account :userInfo="userInfo" /> + <account :user-info="userInfo" /> </el-tab-pane> </el-tabs> </el-card> @@ -49,7 +49,7 @@ created () { let _this = this userApi.getCurrentUser().then(re => { - _this.userInfo = re.response + _this.userInfo = re.data }) } } diff --git a/src/views/train/index.vue b/src/views/train/index.vue index a5b3549..3ba3aae 100644 --- a/src/views/train/index.vue +++ b/src/views/train/index.vue @@ -120,7 +120,7 @@ time: [ { required: true, message: '璇烽�夋嫨鏃堕棿', trigger: 'change' } ] - } + }, } }, created () { diff --git a/src/views/user/admin/list.vue b/src/views/user/admin/list.vue index 31a6b46..d36e14a 100644 --- a/src/views/user/admin/list.vue +++ b/src/views/user/admin/list.vue @@ -16,6 +16,14 @@ <el-table-column prop="userName" label="鐢ㄦ埛鍚�"/> <el-table-column prop="realName" label="鐪熷疄濮撳悕" /> <el-table-column prop="sex" label="鎬у埆" width="60px;" :formatter="sexFormatter"/> + <el-table-column label="鐝骇"> + <template slot-scope="scope"> + <span v-if="Array.isArray(scope.row.className) && scope.row.className.length > 0"> + {{ scope.row.className.join(', ') }} + </span> + <span v-else>-</span> + </template> + </el-table-column> <el-table-column prop="phone" label="鎵嬫満鍙�"/> <el-table-column prop="createTime" label="鍒涘缓鏃堕棿" width="160px"/> <el-table-column label="鐘舵��" prop="status" width="70px"> diff --git a/src/views/user/student/list.vue b/src/views/user/student/list.vue index 75db484..b5af310 100644 --- a/src/views/user/student/list.vue +++ b/src/views/user/student/list.vue @@ -29,6 +29,14 @@ <el-table-column prop="realName" label="鐪熷疄濮撳悕" /> <!-- <el-table-column prop="userLevel" label="瀛︾骇" :formatter="levelFormatter"/>--> <el-table-column prop="sex" label="鎬у埆" width="60px;" :formatter="sexFormatter"/> + <el-table-column label="鐝骇"> + <template slot-scope="scope"> + <span v-if="Array.isArray(scope.row.className) && scope.row.className.length > 0"> + {{ scope.row.className.join(', ') }} + </span> + <span v-else>-</span> + </template> + </el-table-column> <el-table-column prop="phone" label="鎵嬫満鍙�"/> <el-table-column prop="createTime" label="鍒涘缓鏃堕棿" width="160px"/> <el-table-column label="鐘舵��" prop="status" width="70px"> diff --git a/src/views/user/teacher/list.vue b/src/views/user/teacher/list.vue index 71a5c15..a89ec22 100644 --- a/src/views/user/teacher/list.vue +++ b/src/views/user/teacher/list.vue @@ -16,6 +16,14 @@ <el-table-column prop="userName" label="鐢ㄦ埛鍚�"/> <el-table-column prop="realName" label="鐪熷疄濮撳悕" /> <el-table-column prop="sex" label="鎬у埆" width="60px;" :formatter="sexFormatter"/> + <el-table-column label="鐝骇"> + <template slot-scope="scope"> + <span v-if="Array.isArray(scope.row.className) && scope.row.className.length > 0"> + {{ scope.row.className.join(', ') }} + </span> + <span v-else>-</span> + </template> + </el-table-column> <el-table-column prop="phone" label="鎵嬫満鍙�"/> <el-table-column prop="createTime" label="鍒涘缓鏃堕棿" width="160px"/> <el-table-column label="鐘舵��" prop="status" width="70px"> -- Gitblit v1.8.0