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