Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
C
center-resource
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
图表
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
EzijingWeb
center-resource
Commits
831a8d15
提交
831a8d15
authored
7月 21, 2022
作者:
matian
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
chore:基础管理模块优化
上级
7f186850
显示空白字符变更
内嵌
并排
正在显示
19 个修改的文件
包含
201 行增加
和
115 行删除
+201
-115
menus.ts
src/assets/menus.ts
+1
-1
useGetProjectList.ts
src/composables/useGetProjectList.ts
+3
-1
AddClass.vue
src/modules/admin/class/components/AddClass.vue
+43
-24
ClassStudents.vue
src/modules/admin/class/components/ClassStudents.vue
+3
-2
RelatedTerm.vue
src/modules/admin/class/components/RelatedTerm.vue
+3
-2
List.vue
src/modules/admin/class/views/List.vue
+13
-1
AddSemCourse.vue
src/modules/admin/semester/components/AddSemCourse.vue
+1
-1
AddSemester.vue
src/modules/admin/semester/components/AddSemester.vue
+20
-2
SemesterCourse.vue
src/modules/admin/semester/components/SemesterCourse.vue
+4
-1
List.vue
src/modules/admin/semester/views/List.vue
+6
-3
AddStaff.vue
src/modules/admin/staff/components/AddStaff.vue
+5
-8
List.vue
src/modules/admin/staff/views/List.vue
+7
-3
AddStudent.vue
src/modules/admin/student/components/AddStudent.vue
+76
-58
List.vue
src/modules/admin/student/views/List.vue
+7
-2
ViewCourseInfoTop.vue
src/modules/course/my/components/ViewCourseInfoTop.vue
+3
-0
api.ts
src/modules/teach/work/api.ts
+0
-0
CheckWork.vue
src/modules/teach/work/components/CheckWork.vue
+0
-0
index.ts
src/modules/teach/work/index.ts
+3
-2
List.vue
src/modules/teach/work/views/List.vue
+3
-4
没有找到文件。
src/assets/menus.ts
浏览文件 @
831a8d15
...
@@ -183,7 +183,7 @@ export const menus: IMenuItem[] = [
...
@@ -183,7 +183,7 @@ export const menus: IMenuItem[] = [
tag
:
'v1-backend-lecturer-list'
,
tag
:
'v1-backend-lecturer-list'
,
icon
:
EditPen
,
icon
:
EditPen
,
name
:
'批改大作业'
,
name
:
'批改大作业'
,
path
:
'/teach/
home
work'
path
:
'/teach/work'
},
},
{
{
tag
:
'v1-backend-lecturer-list'
,
tag
:
'v1-backend-lecturer-list'
,
...
...
src/composables/useGetProjectList.ts
浏览文件 @
831a8d15
...
@@ -7,12 +7,14 @@ export function useProjectList(id?: string, projectId?: string) {
...
@@ -7,12 +7,14 @@ export function useProjectList(id?: string, projectId?: string) {
getProjectList
({
organization_id
:
id
,
project_id
:
projectId
}).
then
((
res
:
any
)
=>
{
getProjectList
({
organization_id
:
id
,
project_id
:
projectId
}).
then
((
res
:
any
)
=>
{
list
.
value
=
res
.
data
.
departments
list
.
value
=
res
.
data
.
departments
members
.
value
=
res
.
data
.
members
members
.
value
=
res
.
data
.
members
departmentList
.
value
=
res
.
data
.
departments
.
reduce
((
a
:
any
,
b
:
any
)
=>
{
departmentList
.
value
=
res
.
data
.
departments
.
reduce
((
a
:
any
,
b
:
any
)
=>
{
console
.
log
(
a
,
b
)
if
(
b
.
organizations
.
length
)
{
if
(
b
.
organizations
.
length
)
{
a
.
push
(
b
.
organizations
)
a
.
push
(
b
.
organizations
)
}
}
return
a
.
flat
(
Infinity
)
return
a
.
flat
(
Infinity
)
},
[])
},
[])
console
.
log
(
departmentList
)
})
})
return
{
list
,
members
,
departmentList
}
return
{
list
,
members
,
departmentList
}
}
}
src/modules/admin/class/components/AddClass.vue
浏览文件 @
831a8d15
<
script
lang=
"ts"
setup
>
<
script
lang=
"ts"
setup
>
import
type
{
FormInstance
,
FormRules
}
from
'element-plus'
import
type
{
FormInstance
,
FormRules
}
from
'element-plus'
import
{
ElMessage
}
from
'element-plus'
import
{
ElMessage
}
from
'element-plus'
import
{
useUserStore
}
from
'@/stores/user'
import
{
useMapStore
}
from
'@/stores/map'
import
{
useMapStore
}
from
'@/stores/map'
import
{
useProjectList
}
from
'@/composables/useGetProjectList'
import
{
useProjectList
}
from
'@/composables/useGetProjectList'
import
{
addClass
,
updateClass
,
getClassDetail
,
searchTeacher
,
getProList
}
from
'../api'
import
{
addClass
,
updateClass
,
getClassDetail
,
searchTeacher
,
getProList
}
from
'../api'
const
ruleFormRef
=
ref
<
FormInstance
>
()
const
ruleFormRef
=
ref
<
FormInstance
>
()
const
userStore
=
useUserStore
()
const
store
=
useMapStore
()
const
store
=
useMapStore
()
const
emit
=
defineEmits
<
Emits
>
()
const
emit
=
defineEmits
<
Emits
>
()
const
departmentList
:
any
=
useProjectList
(
''
,
'79806610719731712'
).
departmentList
const
departmentList
:
any
=
useProjectList
(
''
,
'79806610719731712'
).
departmentList
const
startYearList
=
store
.
getMapValuesByKey
(
'class_start_year'
)
const
startYearList
=
store
.
getMapValuesByKey
(
'class_start_year'
)
const
statusList
=
store
.
getMapValuesByKey
(
'system_status'
)
const
statusList
=
store
.
getMapValuesByKey
(
'system_status'
)
const
teacherList
:
any
=
ref
([])
const
form
=
reactive
({
const
allLecturers
:
any
=
ref
([])
const
form
:
any
=
reactive
({
code
:
''
,
code
:
''
,
name
:
''
,
name
:
''
,
organ_id
:
''
,
organ_id
:
''
,
...
@@ -52,6 +55,30 @@ interface Emits {
...
@@ -52,6 +55,30 @@ interface Emits {
const
handleCancel
=
()
=>
{
const
handleCancel
=
()
=>
{
emit
(
'update:isShowClassDialog'
,
false
)
emit
(
'update:isShowClassDialog'
,
false
)
}
}
watch
(
()
=>
form
.
organ_id
,
()
=>
{
if
(
form
.
organ_id
!==
''
||
form
.
organ_id_name
!==
''
)
{
handleGetTeacherList
()
}
}
)
const
handleGetTeacherList
=
()
=>
{
searchTeacher
({
organ_id
:
form
.
organ_id
,
'per-page'
:
'100'
}).
then
((
res
:
any
)
=>
{
teacherList
.
value
=
res
.
data
.
list
teacherList
.
value
.
forEach
((
item
:
any
)
=>
{
const
findItem
=
allLecturers
.
value
.
find
((
cItem
:
any
)
=>
cItem
.
id
===
item
.
id
)
if
(
!
findItem
)
{
allLecturers
.
value
.
push
(
item
)
}
})
})
}
if
(
userStore
.
roles
[
0
].
name
!==
'超级管理员'
)
{
form
.
organ_id
=
userStore
.
organization
?.
id
handleGetTeacherList
()
}
// 确认
// 确认
const
handleConfirm
=
async
(
formEl
:
FormInstance
|
undefined
)
=>
{
const
handleConfirm
=
async
(
formEl
:
FormInstance
|
undefined
)
=>
{
if
(
!
formEl
)
return
if
(
!
formEl
)
return
...
@@ -59,6 +86,8 @@ const handleConfirm = async (formEl: FormInstance | undefined) => {
...
@@ -59,6 +86,8 @@ const handleConfirm = async (formEl: FormInstance | undefined) => {
console
.
log
(
valid
)
console
.
log
(
valid
)
if
(
valid
)
{
if
(
valid
)
{
if
(
props
.
isEdit
===
'0'
)
{
if
(
props
.
isEdit
===
'0'
)
{
form
.
organ_id
=
form
.
organ_id
||
userStore
.
organization
?.
id
const
params
:
any
=
Object
.
assign
({},
form
)
const
params
:
any
=
Object
.
assign
({},
form
)
addClass
(
params
).
then
(()
=>
{
addClass
(
params
).
then
(()
=>
{
ElMessage
.
success
(
'新增学生成功'
)
ElMessage
.
success
(
'新增学生成功'
)
...
@@ -66,6 +95,8 @@ const handleConfirm = async (formEl: FormInstance | undefined) => {
...
@@ -66,6 +95,8 @@ const handleConfirm = async (formEl: FormInstance | undefined) => {
emit
(
'create'
)
emit
(
'create'
)
})
})
}
else
if
(
props
.
isEdit
===
'1'
)
{
}
else
if
(
props
.
isEdit
===
'1'
)
{
form
.
organ_id
=
form
.
organ_id
||
userStore
.
organization
?.
id
const
params
:
any
=
Object
.
assign
({
id
:
props
.
id
},
form
)
const
params
:
any
=
Object
.
assign
({
id
:
props
.
id
},
form
)
updateClass
(
params
).
then
(()
=>
{
updateClass
(
params
).
then
(()
=>
{
ElMessage
.
success
(
'更新学生成功'
)
ElMessage
.
success
(
'更新学生成功'
)
...
@@ -89,26 +120,6 @@ if (props.isEdit === '2' || props.isEdit === '1') {
...
@@ -89,26 +120,6 @@ if (props.isEdit === '2' || props.isEdit === '1') {
})
})
})
})
}
}
const
teacherList
:
any
=
ref
([])
const
allLecturers
:
any
=
ref
([])
watch
(
()
=>
form
.
organ_id
,
()
=>
{
if
(
form
.
organ_id
!==
''
)
{
searchTeacher
({
organ_id
:
form
.
organ_id
,
'per-page'
:
'100'
}).
then
((
res
:
any
)
=>
{
teacherList
.
value
=
res
.
data
.
list
teacherList
.
value
.
forEach
((
item
:
any
)
=>
{
const
findItem
=
allLecturers
.
value
.
find
((
cItem
:
any
)
=>
cItem
.
id
===
item
.
id
)
if
(
!
findItem
)
{
allLecturers
.
value
.
push
(
item
)
}
})
})
}
else
{
allLecturers
.
value
=
[]
}
}
)
const
proList
:
any
=
ref
([])
const
proList
:
any
=
ref
([])
const
allPro
:
any
=
ref
([])
const
allPro
:
any
=
ref
([])
...
@@ -133,9 +144,17 @@ getProList({ name: '', 'per-page': '100' }).then((res: any) => {
...
@@ -133,9 +144,17 @@ getProList({ name: '', 'per-page': '100' }).then((res: any) => {
<el-input
v-model=
"form.name"
:disabled=
"props.isEdit === '2'"
></el-input>
<el-input
v-model=
"form.name"
:disabled=
"props.isEdit === '2'"
></el-input>
</el-form-item>
</el-form-item>
<el-form-item
label=
"所属部门/学校:"
prop=
"organ_id"
>
<el-form-item
label=
"所属部门/学校:"
prop=
"organ_id"
>
<el-select
clearable
v-model=
"form.organ_id"
style=
"width: 100%"
:disabled=
"props.isEdit === '2'"
>
<el-select
clearable
v-model=
"form.organ_id"
:disabled=
"props.isEdit === '2'"
style=
"width: 100%"
placeholder=
"请选择所属部门/学校"
v-if=
"userStore.roles[0].name === '超级管理员'"
>
<el-option
v-for=
"item in departmentList"
:key=
"item.id"
:label=
"item.name"
:value=
"item.id"
/>
<el-option
v-for=
"item in departmentList"
:key=
"item.id"
:label=
"item.name"
:value=
"item.id"
/>
</el-select>
</el-select>
<el-input
:placeholder=
"userStore.organization?.name"
v-model=
"form.organ_id_name"
v-else
disabled
>
</el-input>
</el-form-item>
</el-form-item>
<el-form-item
label=
"班主任:"
prop=
"teacher_id"
>
<el-form-item
label=
"班主任:"
prop=
"teacher_id"
>
<el-select
<el-select
...
@@ -160,7 +179,7 @@ getProList({ name: '', 'per-page': '100' }).then((res: any) => {
...
@@ -160,7 +179,7 @@ getProList({ name: '', 'per-page': '100' }).then((res: any) => {
</el-select>
</el-select>
</el-form-item>
</el-form-item>
<el-form-item
label=
"入学年份:"
prop=
"start_year"
>
<el-form-item
label=
"入学年份:"
prop=
"start_year"
>
<el-select
v-model=
"form.start_year"
placeholder=
"请选择
所属部门/学校
"
:disabled=
"props.isEdit === '2'"
>
<el-select
v-model=
"form.start_year"
placeholder=
"请选择
入学年份
"
:disabled=
"props.isEdit === '2'"
>
<el-option
<el-option
v-for=
"(item, index) in startYearList"
v-for=
"(item, index) in startYearList"
:key=
"index"
:key=
"index"
...
...
src/modules/admin/class/components/ClassStudents.vue
浏览文件 @
831a8d15
<
script
lang=
"ts"
setup
>
<
script
lang=
"ts"
setup
>
import
{
ElMessage
}
from
'element-plus'
import
{
ElMessage
,
ElMessageBox
}
from
'element-plus'
import
AddStudentDialog
from
'./AddStudentDialog.vue'
import
AddStudentDialog
from
'./AddStudentDialog.vue'
import
AddStudent
from
'../../student/components/AddStudent.vue'
import
AddStudent
from
'../../student/components/AddStudent.vue'
import
{
getClassStuList
,
relationClassStu
}
from
'../api'
import
{
getClassStuList
,
relationClassStu
}
from
'../api'
...
@@ -53,10 +52,12 @@ const handleDel = (row: any) => {
...
@@ -53,10 +52,12 @@ const handleDel = (row: any) => {
students_id
:
row
.
id
,
students_id
:
row
.
id
,
type
:
'delete'
type
:
'delete'
}
}
ElMessageBox
.
confirm
(
'确定要删除吗?'
,
'提示'
).
then
(()
=>
{
relationClassStu
(
params
).
then
(()
=>
{
relationClassStu
(
params
).
then
(()
=>
{
ElMessage
.
success
(
'移除学生成功'
)
ElMessage
.
success
(
'移除学生成功'
)
handleRefresh
()
handleRefresh
()
})
})
})
}
}
const
handleDetail
=
(
row
:
any
)
=>
{
const
handleDetail
=
(
row
:
any
)
=>
{
console
.
log
(
row
)
console
.
log
(
row
)
...
...
src/modules/admin/class/components/RelatedTerm.vue
浏览文件 @
831a8d15
<
script
lang=
"ts"
setup
>
<
script
lang=
"ts"
setup
>
import
{
ElMessage
}
from
'element-plus'
import
{
ElMessage
,
ElMessageBox
}
from
'element-plus'
import
AddTermDialog
from
'./AddTermDialog.vue'
import
AddTermDialog
from
'./AddTermDialog.vue'
import
AddSemester
from
'../../semester/components/AddSemester.vue'
import
AddSemester
from
'../../semester/components/AddSemester.vue'
...
@@ -56,11 +56,12 @@ const handleDel = (row: any) => {
...
@@ -56,11 +56,12 @@ const handleDel = (row: any) => {
semesters_id
:
row
.
id
,
semesters_id
:
row
.
id
,
type
:
'delete'
type
:
'delete'
}
}
ElMessageBox
.
confirm
(
'确定要删除吗?'
,
'提示'
).
then
(()
=>
{
relationClassSem
(
params
).
then
(()
=>
{
relationClassSem
(
params
).
then
(()
=>
{
ElMessage
.
success
(
'移除学期成功'
)
ElMessage
.
success
(
'移除学期成功'
)
handleFresh
()
handleFresh
()
})
})
console
.
log
(
row
)
}
)
}
}
const
handleDetail
=
(
row
:
any
)
=>
{
const
handleDetail
=
(
row
:
any
)
=>
{
isShowAddSemDialog
.
value
=
true
isShowAddSemDialog
.
value
=
true
...
...
src/modules/admin/class/views/List.vue
浏览文件 @
831a8d15
<
script
setup
lang=
"ts"
>
<
script
setup
lang=
"ts"
>
import
{
ElMessage
}
from
'element-plus'
import
{
ElMessage
}
from
'element-plus'
import
{
useProjectList
}
from
'@/composables/useGetProjectList'
import
AddClass
from
'../components/AddClass.vue'
import
AddClass
from
'../components/AddClass.vue'
import
ClassStudents
from
'../components/ClassStudents.vue'
import
ClassStudents
from
'../components/ClassStudents.vue'
import
RelatedTerm
from
'../components/RelatedTerm.vue'
import
RelatedTerm
from
'../components/RelatedTerm.vue'
import
{
useUserStore
}
from
'@/stores/user'
import
{
getClassList
,
updateClass
}
from
'../api'
import
{
getClassList
,
updateClass
}
from
'../api'
const
departmentList
:
any
=
useProjectList
(
''
,
'79806610719731712'
).
departmentList
// 判断当前用户是不是超级管理员
const
user
=
useUserStore
().
roles
const
isAdmin
=
!!
user
.
find
((
item
:
any
)
=>
item
.
name
===
'超级管理员'
)
const
appList
=
ref
()
const
appList
=
ref
()
const
id
=
ref
(
''
)
const
id
=
ref
(
''
)
const
title
=
ref
(
''
)
const
title
=
ref
(
''
)
...
@@ -18,7 +24,7 @@ const listOptions = $computed(() => {
...
@@ -18,7 +24,7 @@ const listOptions = $computed(() => {
remote
:
{
httpRequest
:
getClassList
,
params
:
{
name
:
''
,
organ_id
:
''
}
},
remote
:
{
httpRequest
:
getClassList
,
params
:
{
name
:
''
,
organ_id
:
''
}
},
filters
:
[
filters
:
[
{
type
:
'input'
,
prop
:
'name'
,
label
:
'班级名称:'
,
placeholder
:
'班级名称'
},
{
type
:
'input'
,
prop
:
'name'
,
label
:
'班级名称:'
,
placeholder
:
'班级名称'
},
{
type
:
'
input'
,
prop
:
'school'
,
label
:
'所属部门/学校:'
,
placeholder
:
'所属部门/学校
'
}
{
type
:
'
select'
,
slots
:
'filter-department
'
}
],
],
columns
:
[
columns
:
[
{
label
:
'序号'
,
type
:
'index'
,
align
:
'center'
},
{
label
:
'序号'
,
type
:
'index'
,
align
:
'center'
},
...
@@ -82,6 +88,12 @@ const handleFresh = () => {
...
@@ -82,6 +88,12 @@ const handleFresh = () => {
<el-button
type=
"primary"
round
@
click=
"handleAddClass"
v-permission=
"'v1-learning-class-create'"
<el-button
type=
"primary"
round
@
click=
"handleAddClass"
v-permission=
"'v1-learning-class-create'"
>
新增班级
</el-button
>
新增班级
</el-button
>
>
<template
v-if=
"isAdmin"
#
filter-department=
"
{ params }">
<div
class=
"name"
style=
"font-size: 14px; color: #606266; padding-right: 12px"
>
所属部门/学校:
</div>
<el-select
@
change=
"handleFresh"
clearable
v-model=
"params.organ_id"
>
<el-option
v-for=
"item in departmentList"
:key=
"item.id"
:label=
"item.name"
:value=
"item.id"
/>
</el-select>
</
template
>
<
template
#
status=
"{ row }"
>
<
template
#
status=
"{ row }"
>
<el-switch
<el-switch
size=
"large"
size=
"large"
...
...
src/modules/admin/semester/components/AddSemCourse.vue
浏览文件 @
831a8d15
...
@@ -84,7 +84,7 @@ const handleFresh = () => {
...
@@ -84,7 +84,7 @@ const handleFresh = () => {
<el-descriptions-item
label=
"所属部门/学校:"
>
{{
semInfo
.
organ_id_name
}}
</el-descriptions-item>
<el-descriptions-item
label=
"所属部门/学校:"
>
{{
semInfo
.
organ_id_name
}}
</el-descriptions-item>
<el-descriptions-item
label=
"开始日期:"
>
{{
semInfo
.
start_time
}}
</el-descriptions-item>
<el-descriptions-item
label=
"开始日期:"
>
{{
semInfo
.
start_time
}}
</el-descriptions-item>
<el-descriptions-item
label=
"结束日期:"
>
<el-descriptions-item
label=
"结束日期:"
>
<el-tag
size=
"small"
>
{{
semInfo
.
end_time
}}
</el-tag>
{{
semInfo
.
end_time
}}
</el-descriptions-item>
</el-descriptions-item>
<el-descriptions-item
label=
"教学周"
>
{{
semInfo
.
length
}}
</el-descriptions-item>
<el-descriptions-item
label=
"教学周"
>
{{
semInfo
.
length
}}
</el-descriptions-item>
</el-descriptions>
</el-descriptions>
...
...
src/modules/admin/semester/components/AddSemester.vue
浏览文件 @
831a8d15
...
@@ -3,16 +3,18 @@ import type { FormInstance, FormRules } from 'element-plus'
...
@@ -3,16 +3,18 @@ import type { FormInstance, FormRules } from 'element-plus'
import
{
ElMessage
}
from
'element-plus'
import
{
ElMessage
}
from
'element-plus'
import
{
useMapStore
}
from
'@/stores/map'
import
{
useMapStore
}
from
'@/stores/map'
import
{
useUserStore
}
from
'@/stores/user'
import
{
useProjectList
}
from
'@/composables/useGetProjectList'
import
{
useProjectList
}
from
'@/composables/useGetProjectList'
import
{
getSemDetail
,
addSem
,
updateSem
}
from
'../api'
import
{
getSemDetail
,
addSem
,
updateSem
}
from
'../api'
const
store
=
useMapStore
()
const
store
=
useMapStore
()
const
userStore
=
useUserStore
()
const
emit
=
defineEmits
<
Emits
>
()
const
emit
=
defineEmits
<
Emits
>
()
const
ruleFormRef
=
ref
<
FormInstance
>
()
const
ruleFormRef
=
ref
<
FormInstance
>
()
const
departmentList
:
any
=
useProjectList
(
''
,
'79806610719731712'
).
departmentList
const
departmentList
:
any
=
useProjectList
(
''
,
'79806610719731712'
).
departmentList
const
statusList
=
store
.
getMapValuesByKey
(
'system_status'
)
const
statusList
=
store
.
getMapValuesByKey
(
'system_status'
)
const
form
=
reactive
({
const
form
:
any
=
reactive
({
name
:
''
,
name
:
''
,
organ_id
:
''
,
organ_id
:
''
,
start_time
:
''
,
start_time
:
''
,
...
@@ -43,6 +45,9 @@ interface Emits {
...
@@ -43,6 +45,9 @@ interface Emits {
(
e
:
'update:isShowAddSemDialog'
,
isShowAddSemDialog
:
boolean
):
void
(
e
:
'update:isShowAddSemDialog'
,
isShowAddSemDialog
:
boolean
):
void
(
e
:
'create'
):
void
(
e
:
'create'
):
void
}
}
if
(
userStore
.
roles
[
0
].
name
!==
'超级管理员'
)
{
form
.
organ_id
=
userStore
.
organization
?.
id
}
// 取消
// 取消
const
handleCancel
=
()
=>
{
const
handleCancel
=
()
=>
{
emit
(
'update:isShowAddSemDialog'
,
false
)
emit
(
'update:isShowAddSemDialog'
,
false
)
...
@@ -54,6 +59,8 @@ const handleConfirm = async (formEl: FormInstance | undefined) => {
...
@@ -54,6 +59,8 @@ const handleConfirm = async (formEl: FormInstance | undefined) => {
console
.
log
(
valid
)
console
.
log
(
valid
)
if
(
valid
)
{
if
(
valid
)
{
if
(
props
.
isEdit
===
'0'
)
{
if
(
props
.
isEdit
===
'0'
)
{
form
.
organ_id
=
form
.
organ_id
||
userStore
.
organization
?.
id
const
params
:
any
=
Object
.
assign
({},
form
)
const
params
:
any
=
Object
.
assign
({},
form
)
addSem
(
params
).
then
(()
=>
{
addSem
(
params
).
then
(()
=>
{
ElMessage
.
success
(
'新增学期成功'
)
ElMessage
.
success
(
'新增学期成功'
)
...
@@ -61,6 +68,8 @@ const handleConfirm = async (formEl: FormInstance | undefined) => {
...
@@ -61,6 +68,8 @@ const handleConfirm = async (formEl: FormInstance | undefined) => {
emit
(
'create'
)
emit
(
'create'
)
})
})
}
else
if
(
props
.
isEdit
===
'1'
)
{
}
else
if
(
props
.
isEdit
===
'1'
)
{
form
.
organ_id
=
form
.
organ_id
||
userStore
.
organization
?.
id
const
params
:
any
=
Object
.
assign
({
id
:
props
.
id
},
form
)
const
params
:
any
=
Object
.
assign
({
id
:
props
.
id
},
form
)
updateSem
(
params
).
then
(()
=>
{
updateSem
(
params
).
then
(()
=>
{
ElMessage
.
success
(
'更新学期成功'
)
ElMessage
.
success
(
'更新学期成功'
)
...
@@ -92,9 +101,18 @@ if (props.isEdit === '2' || props.isEdit === '1') {
...
@@ -92,9 +101,18 @@ if (props.isEdit === '2' || props.isEdit === '1') {
<el-input
v-model=
"form.name"
:disabled=
"props.isEdit === '2'"
></el-input>
<el-input
v-model=
"form.name"
:disabled=
"props.isEdit === '2'"
></el-input>
</el-form-item>
</el-form-item>
<el-form-item
label=
"所属部门/学校:"
prop=
"organ_id"
>
<el-form-item
label=
"所属部门/学校:"
prop=
"organ_id"
>
<el-select
clearable
v-model=
"form.organ_id"
:disabled=
"props.isEdit === '2'"
style=
"width: 100%"
>
<el-select
clearable
v-model=
"form.organ_id"
:disabled=
"props.isEdit === '2'"
style=
"width: 100%"
v-if=
"userStore.roles[0].name === '超级管理员'"
placeholder=
"请选择所属部门/学校"
>
<el-option
v-for=
"item in departmentList"
:key=
"item.id"
:label=
"item.name"
:value=
"item.id"
/>
<el-option
v-for=
"item in departmentList"
:key=
"item.id"
:label=
"item.name"
:value=
"item.id"
/>
</el-select>
</el-select>
<el-input
:placeholder=
"userStore.organization?.name"
v-model=
"form.organ_id_name"
v-else
disabled
>
</el-input>
</el-form-item>
</el-form-item>
<el-form-item
label=
"学期开始日期:"
prop=
"start_time"
>
<el-form-item
label=
"学期开始日期:"
prop=
"start_time"
>
<el-date-picker
<el-date-picker
...
...
src/modules/admin/semester/components/SemesterCourse.vue
浏览文件 @
831a8d15
<
script
lang=
"ts"
setup
>
<
script
lang=
"ts"
setup
>
import
{
ElMessage
}
from
'element-plus'
import
{
ElMessage
,
ElMessageBox
}
from
'element-plus'
import
AddSemCourse
from
'./AddSemCourse.vue'
import
AddSemCourse
from
'./AddSemCourse.vue'
import
{
getSemCourse
,
relationSemCourse
}
from
'../api'
import
{
getSemCourse
,
relationSemCourse
}
from
'../api'
const
emit
=
defineEmits
<
Emits
>
()
const
emit
=
defineEmits
<
Emits
>
()
...
@@ -54,10 +54,13 @@ const handleDel = (row: any) => {
...
@@ -54,10 +54,13 @@ const handleDel = (row: any) => {
courses_id
:
row
.
id
,
courses_id
:
row
.
id
,
type
:
'delete'
type
:
'delete'
}
}
ElMessageBox
.
confirm
(
'确定要删除吗?'
,
'提示'
).
then
(()
=>
{
relationSemCourse
(
params
).
then
(()
=>
{
relationSemCourse
(
params
).
then
(()
=>
{
ElMessage
.
success
(
'移除课程成功'
)
ElMessage
.
success
(
'移除课程成功'
)
handleFresh
()
handleFresh
()
})
})
})
}
}
const
handleCancel
=
()
=>
{
const
handleCancel
=
()
=>
{
...
...
src/modules/admin/semester/views/List.vue
浏览文件 @
831a8d15
<
script
setup
lang=
"ts"
>
<
script
setup
lang=
"ts"
>
import
{
useUserStore
}
from
'@/stores/user'
import
{
ElMessage
}
from
'element-plus'
import
{
ElMessage
}
from
'element-plus'
import
{
useProjectList
}
from
'@/composables/useGetProjectList'
import
{
useProjectList
}
from
'@/composables/useGetProjectList'
import
AddSemester
from
'../components/AddSemester.vue'
import
AddSemester
from
'../components/AddSemester.vue'
import
SemesterCourse
from
'../components/SemesterCourse.vue'
import
SemesterCourse
from
'../components/SemesterCourse.vue'
import
{
getSemList
,
updateSem
}
from
'../api'
import
{
getSemList
,
updateSem
}
from
'../api'
const
departmentList
:
any
=
useProjectList
(
''
,
'79806610719731712'
).
departmentList
const
departmentList
:
any
=
useProjectList
(
''
,
'79806610719731712'
).
departmentList
// 判断当前用户是不是超级管理员
const
user
=
useUserStore
().
roles
const
isAdmin
=
!!
user
.
find
((
item
:
any
)
=>
item
.
name
===
'超级管理员'
)
const
appList
=
ref
()
const
appList
=
ref
()
const
title
=
ref
(
''
)
const
title
=
ref
(
''
)
const
id
=
ref
(
''
)
const
id
=
ref
(
''
)
...
@@ -74,9 +77,9 @@ const handleChangeStatus = (row: any) => {
...
@@ -74,9 +77,9 @@ const handleChangeStatus = (row: any) => {
<el-button
type=
"primary"
round
@
click=
"handleAddSemester"
v-permission=
"'v1-learning-semester-create'"
<el-button
type=
"primary"
round
@
click=
"handleAddSemester"
v-permission=
"'v1-learning-semester-create'"
>
新增学期
</el-button
>
新增学期
</el-button
>
>
<template
#
filter-department=
"
{ params }">
<template
v-if=
"isAdmin"
#
filter-department=
"
{ params }">
<div
class=
"name"
style=
"font-size: 14px; color: #606266; padding-right: 12px"
>
所属部门/学校:
</div>
<div
class=
"name"
style=
"font-size: 14px; color: #606266; padding-right: 12px"
>
所属部门/学校:
</div>
<el-select
@
change=
"handleFresh"
clearable
v-model=
"params.organ_id"
>
<el-select
@
change=
"handleFresh"
clearable
v-model=
"params.organ_id"
placeholder=
"请选择所属部门/学校"
>
<el-option
v-for=
"item in departmentList"
:key=
"item.id"
:label=
"item.name"
:value=
"item.id"
/>
<el-option
v-for=
"item in departmentList"
:key=
"item.id"
:label=
"item.name"
:value=
"item.id"
/>
</el-select>
</el-select>
</
template
>
</
template
>
...
...
src/modules/admin/staff/components/AddStaff.vue
浏览文件 @
831a8d15
...
@@ -33,7 +33,7 @@ const departmentList: any = useProjectList('', '79806610719731712').departmentLi
...
@@ -33,7 +33,7 @@ const departmentList: any = useProjectList('', '79806610719731712').departmentLi
const
sexList
=
store
.
getMapValuesByKey
(
'system_gender'
)
const
sexList
=
store
.
getMapValuesByKey
(
'system_gender'
)
const
roleList
=
store
.
getMapValuesByKey
(
'teacher_role'
)
const
roleList
=
store
.
getMapValuesByKey
(
'teacher_role'
)
const
statusList
=
store
.
getMapValuesByKey
(
'system_status'
)
const
statusList
=
store
.
getMapValuesByKey
(
'system_status'
)
const
form
=
reactive
({
const
form
:
any
=
reactive
({
organ_id
:
''
,
organ_id
:
''
,
name
:
''
,
name
:
''
,
gender
:
'1'
,
gender
:
'1'
,
...
@@ -45,6 +45,7 @@ const form = reactive({
...
@@ -45,6 +45,7 @@ const form = reactive({
const
rules
=
reactive
<
FormRules
>
({
const
rules
=
reactive
<
FormRules
>
({
organ_id
:
[{
required
:
true
,
message
:
'请选择部门/学校'
,
trigger
:
'change'
}],
organ_id
:
[{
required
:
true
,
message
:
'请选择部门/学校'
,
trigger
:
'change'
}],
name
:
[{
required
:
true
,
message
:
'请输入姓名'
,
trigger
:
'blur'
}],
name
:
[{
required
:
true
,
message
:
'请输入姓名'
,
trigger
:
'blur'
}],
gender
:
[{
required
:
true
,
message
:
'请选择性别'
,
trigger
:
'change'
}],
gender
:
[{
required
:
true
,
message
:
'请选择性别'
,
trigger
:
'change'
}],
mobile
:
[
mobile
:
[
...
@@ -105,22 +106,18 @@ if (props.isEdit === '2' || props.isEdit === '1') {
...
@@ -105,22 +106,18 @@ if (props.isEdit === '2' || props.isEdit === '1') {
<
template
>
<
template
>
<el-dialog
:model-value=
"isShowStaffDialog"
draggable
:title=
"props.title"
:before-close=
"handleCancel"
width=
"30%"
>
<el-dialog
:model-value=
"isShowStaffDialog"
draggable
:title=
"props.title"
:before-close=
"handleCancel"
width=
"30%"
>
<el-form
:model=
"form"
label-position=
"right"
label-width=
"auto"
:rules=
"rules"
ref=
"ruleFormRef"
>
<el-form
:model=
"form"
label-position=
"right"
label-width=
"auto"
:rules=
"rules"
ref=
"ruleFormRef"
>
<el-form-item
label=
"所属部门/学校:"
prop=
"
school
"
>
<el-form-item
label=
"所属部门/学校:"
prop=
"
organ_id
"
>
<el-select
<el-select
clearable
clearable
v-model=
"form.organ_id"
v-model=
"form.organ_id"
:disabled=
"props.isEdit === '2'"
:disabled=
"props.isEdit === '2'"
placeholder=
"请选择所属部门/学校"
style=
"width: 100%"
style=
"width: 100%"
v-if=
"userStore.roles[0].name === '超级管理员'"
v-if=
"userStore.roles[0].name === '超级管理员'"
>
>
<el-option
v-for=
"item in departmentList"
:key=
"item.id"
:label=
"item.name"
:value=
"item.id"
/>
<el-option
v-for=
"item in departmentList"
:key=
"item.id"
:label=
"item.name"
:value=
"item.id"
/>
</el-select>
</el-select>
<el-input
<el-input
:placeholder=
"userStore.organization?.name"
v-model=
"form.organ_id_name"
v-else
disabled
>
</el-input>
:placeholder=
"userStore.organization.name"
v-model=
"form.organ_id"
v-else-if=
"userStore.roles[0].name === '部门管理员'"
disabled
></el-input>
</el-form-item>
</el-form-item>
<el-form-item
label=
"姓名:"
prop=
"name"
>
<el-form-item
label=
"姓名:"
prop=
"name"
>
<el-input
v-model=
"form.name"
:disabled=
"props.isEdit === '2'"
></el-input>
<el-input
v-model=
"form.name"
:disabled=
"props.isEdit === '2'"
></el-input>
...
...
src/modules/admin/staff/views/List.vue
浏览文件 @
831a8d15
...
@@ -2,8 +2,12 @@
...
@@ -2,8 +2,12 @@
import
{
ElMessage
}
from
'element-plus'
import
{
ElMessage
}
from
'element-plus'
import
AddStaff
from
'../components/AddStaff.vue'
import
AddStaff
from
'../components/AddStaff.vue'
import
{
useProjectList
}
from
'@/composables/useGetProjectList'
import
{
useProjectList
}
from
'@/composables/useGetProjectList'
import
{
getStaffList
,
updateStaff
}
from
'../api'
import
{
getStaffList
,
updateStaff
}
from
'../api'
import
{
useUserStore
}
from
'@/stores/user'
// 判断当前用户是不是超级管理员
const
user
=
useUserStore
().
roles
const
isAdmin
=
!!
user
.
find
((
item
:
any
)
=>
item
.
name
===
'超级管理员'
)
const
departmentList
:
any
=
useProjectList
(
''
,
'79806610719731712'
).
departmentList
const
departmentList
:
any
=
useProjectList
(
''
,
'79806610719731712'
).
departmentList
...
@@ -83,9 +87,9 @@ const handleChangeStatus = (row: any) => {
...
@@ -83,9 +87,9 @@ const handleChangeStatus = (row: any) => {
<el-button
type=
"primary"
round
@
click=
"handleAddStudent"
v-permission=
"'v1-learning-teacher-create'"
<el-button
type=
"primary"
round
@
click=
"handleAddStudent"
v-permission=
"'v1-learning-teacher-create'"
>
新增教工
</el-button
>
新增教工
</el-button
>
>
<template
#
filter-department=
"
{ params }">
<template
v-if=
"isAdmin"
#
filter-department=
"
{ params }">
<div
class=
"name"
style=
"font-size: 14px; color: #606266; padding-right: 12px"
>
所属部门/学校:
</div>
<div
class=
"name"
style=
"font-size: 14px; color: #606266; padding-right: 12px"
>
所属部门/学校:
</div>
<el-select
@
change=
"handleFresh"
clearable
v-model=
"params.organ_id"
>
<el-select
@
change=
"handleFresh"
clearable
v-model=
"params.organ_id"
placeholder=
"请选择所属部门/学校"
>
<el-option
v-for=
"item in departmentList"
:key=
"item.id"
:label=
"item.name"
:value=
"item.id"
/>
<el-option
v-for=
"item in departmentList"
:key=
"item.id"
:label=
"item.name"
:value=
"item.id"
/>
</el-select>
</el-select>
</
template
>
</
template
>
...
...
src/modules/admin/student/components/AddStudent.vue
浏览文件 @
831a8d15
<
script
lang=
"ts"
setup
>
<
script
lang=
"ts"
setup
>
import
type
{
FormInstance
,
FormRules
}
from
'element-plus'
import
type
{
FormInstance
,
FormRules
}
from
'element-plus'
import
{
ElMessage
}
from
'element-plus'
import
{
ElMessage
}
from
'element-plus'
import
{
useProjectList
}
from
'@/composables/useGetProjectList'
import
{
useProjectList
}
from
'@/composables/useGetProjectList'
import
{
useMapStore
}
from
'@/stores/map'
import
{
useMapStore
}
from
'@/stores/map'
import
{
useUserStore
}
from
'@/stores/user'
import
{
addStudent
,
updateStudent
,
getStuDetail
,
getClassList
,
getProList
}
from
'../api'
import
{
addStudent
,
updateStudent
,
getStuDetail
,
getClassList
,
getProList
}
from
'../api'
const
store
=
useMapStore
()
const
store
=
useMapStore
()
const
userStore
=
useUserStore
()
const
ruleFormRef
=
ref
<
FormInstance
>
()
const
ruleFormRef
=
ref
<
FormInstance
>
()
const
emit
=
defineEmits
<
Emits
>
()
const
emit
=
defineEmits
<
Emits
>
()
const
departmentList
:
any
=
useProjectList
(
''
,
'79806610719731712'
).
departmentList
const
departmentList
:
any
=
useProjectList
(
''
,
'79806610719731712'
).
departmentList
const
sexList
=
store
.
mapList
.
filter
((
item
:
any
)
=>
item
.
key
===
'system_gender'
)[
0
].
values
const
sexList
=
store
.
mapList
.
filter
((
item
:
any
)
=>
item
.
key
===
'system_gender'
)[
0
].
values
const
idTypeList
=
store
.
mapList
.
filter
((
item
:
any
)
=>
item
.
key
===
'system_id_type'
)[
0
].
values
const
idTypeList
=
store
.
mapList
.
filter
((
item
:
any
)
=>
item
.
key
===
'system_id_type'
)[
0
].
values
const
statusList
=
store
.
getMapValuesByKey
(
'system_status'
)
const
statusList
=
store
.
getMapValuesByKey
(
'system_status'
)
const
loading
=
ref
(
false
)
const
form
=
reactive
({
const
classList
:
any
=
ref
([])
const
allLecturers
:
any
=
ref
([])
const
form
:
any
=
reactive
({
sno_number
:
''
,
sno_number
:
''
,
name
:
''
,
name
:
''
,
gender
:
'1'
,
gender
:
'1'
,
...
@@ -59,8 +61,71 @@ interface Emits {
...
@@ -59,8 +61,71 @@ interface Emits {
// 取消
// 取消
const
handleCancel
=
()
=>
{
const
handleCancel
=
()
=>
{
emit
(
'update:isShowAddDialog'
,
false
)
emit
(
'update:isShowAddDialog'
,
false
)
}
const
proList
:
any
=
ref
([])
const
allPro
:
any
=
ref
([])
watch
(
()
=>
form
.
organ_id
,
()
=>
{
if
(
form
.
organ_id
!==
''
||
form
.
organ_id_name
!==
''
)
{
handleGetProList
()
}
}
)
watch
(
()
=>
form
.
specialty_id
,
()
=>
{
if
(
form
.
specialty_id
!==
''
)
{
handleClassList
()
}
}
)
// 修改部门/学校为空的时候班级专业要清除数据
console
.
log
(
'999'
)
const
handleChangeOrgan
=
()
=>
{
form
.
specialty_id
=
''
proList
.
value
=
[]
form
.
class_id
=
''
classList
.
value
=
[]
}
// 修改专业为空的时候班级要清除数据
const
handleChangeSpe
=
()
=>
{
form
.
class_id
=
''
classList
.
value
=
[]
}
// 获取专业列表
const
handleGetProList
=
()
=>
{
getProList
({
name
:
''
,
'per-page'
:
'100'
}).
then
((
res
:
any
)
=>
{
proList
.
value
=
res
.
data
.
list
proList
.
value
.
forEach
((
item
:
any
)
=>
{
const
findItem
=
allPro
.
value
.
find
((
cItem
:
any
)
=>
cItem
.
id
===
item
.
id
)
if
(
!
findItem
)
{
allPro
.
value
.
push
(
item
)
}
})
})
}
if
(
userStore
.
roles
[
0
].
name
!==
'超级管理员'
)
{
form
.
organ_id
=
userStore
.
organization
?.
id
handleGetProList
()
}
// 获取班级列表
const
handleClassList
=
()
=>
{
getClassList
({
specialty_id
:
form
.
specialty_id
,
organ_id
:
form
.
organ_id
||
userStore
.
organization
?.
id
,
'per-page'
:
'100'
}).
then
((
res
:
any
)
=>
{
loading
.
value
=
false
classList
.
value
=
res
.
data
.
list
classList
.
value
.
forEach
((
item
:
any
)
=>
{
const
findItem
=
allLecturers
.
value
.
find
((
cItem
:
any
)
=>
cItem
.
id
===
item
.
id
)
if
(
!
findItem
)
{
allLecturers
.
value
.
push
(
item
)
}
})
})
}
}
// 确认
// 确认
const
handleConfirm
=
async
(
formEl
:
FormInstance
|
undefined
)
=>
{
const
handleConfirm
=
async
(
formEl
:
FormInstance
|
undefined
)
=>
{
...
@@ -69,6 +134,7 @@ const handleConfirm = async (formEl: FormInstance | undefined) => {
...
@@ -69,6 +134,7 @@ const handleConfirm = async (formEl: FormInstance | undefined) => {
console
.
log
(
valid
)
console
.
log
(
valid
)
if
(
valid
)
{
if
(
valid
)
{
if
(
props
.
isEdit
===
'0'
)
{
if
(
props
.
isEdit
===
'0'
)
{
form
.
organ_id
=
form
.
organ_id
||
userStore
.
organization
?.
id
const
params
:
any
=
Object
.
assign
({},
form
)
const
params
:
any
=
Object
.
assign
({},
form
)
addStudent
(
params
).
then
(()
=>
{
addStudent
(
params
).
then
(()
=>
{
ElMessage
.
success
(
'新增学生成功'
)
ElMessage
.
success
(
'新增学生成功'
)
...
@@ -76,7 +142,10 @@ const handleConfirm = async (formEl: FormInstance | undefined) => {
...
@@ -76,7 +142,10 @@ const handleConfirm = async (formEl: FormInstance | undefined) => {
emit
(
'create'
)
emit
(
'create'
)
})
})
}
else
if
(
props
.
isEdit
===
'1'
)
{
}
else
if
(
props
.
isEdit
===
'1'
)
{
form
.
organ_id
=
form
.
organ_id
||
userStore
.
organization
?.
id
const
params
:
any
=
Object
.
assign
({
id
:
props
.
id
},
form
)
const
params
:
any
=
Object
.
assign
({
id
:
props
.
id
},
form
)
updateStudent
(
params
).
then
(()
=>
{
updateStudent
(
params
).
then
(()
=>
{
ElMessage
.
success
(
'更新学生成功'
)
ElMessage
.
success
(
'更新学生成功'
)
emit
(
'update:isShowAddDialog'
,
false
)
emit
(
'update:isShowAddDialog'
,
false
)
...
@@ -99,59 +168,6 @@ if (props.isEdit === '2' || props.isEdit === '1') {
...
@@ -99,59 +168,6 @@ if (props.isEdit === '2' || props.isEdit === '1') {
})
})
})
})
}
}
const
proList
:
any
=
ref
([])
const
allPro
:
any
=
ref
([])
watch
(
()
=>
form
.
organ_id
,
()
=>
{
if
(
form
.
organ_id
!==
''
)
{
getProList
({
name
:
''
,
'per-page'
:
'100'
}).
then
((
res
:
any
)
=>
{
proList
.
value
=
res
.
data
.
list
proList
.
value
.
forEach
((
item
:
any
)
=>
{
const
findItem
=
allPro
.
value
.
find
((
cItem
:
any
)
=>
cItem
.
id
===
item
.
id
)
if
(
!
findItem
)
{
allPro
.
value
.
push
(
item
)
}
})
})
}
}
)
const
loading
=
ref
(
false
)
const
classList
:
any
=
ref
([])
const
allLecturers
:
any
=
ref
([])
watch
(
()
=>
form
.
specialty_id
,
()
=>
{
if
(
form
.
organ_id
!==
''
)
{
getClassList
({
specialty_id
:
form
.
specialty_id
,
organ_id
:
form
.
organ_id
,
'per-page'
:
'100'
}).
then
((
res
:
any
)
=>
{
loading
.
value
=
false
classList
.
value
=
res
.
data
.
list
classList
.
value
.
forEach
((
item
:
any
)
=>
{
const
findItem
=
allLecturers
.
value
.
find
((
cItem
:
any
)
=>
cItem
.
id
===
item
.
id
)
if
(
!
findItem
)
{
allLecturers
.
value
.
push
(
item
)
}
})
})
}
}
)
const
handleChangeOrgan
=
(
val
:
any
)
=>
{
if
(
val
===
''
)
{
form
.
specialty_id
=
''
proList
.
value
=
[]
form
.
class_id
=
''
classList
.
value
=
[]
}
}
const
handleChangeSpe
=
(
val
:
any
)
=>
{
if
(
val
===
''
)
{
form
.
class_id
=
''
classList
.
value
=
[]
}
}
</
script
>
</
script
>
<
template
>
<
template
>
<el-dialog
:model-value=
"isShowAddDialog"
draggable
:before-close=
"handleCancel"
:title=
"props.title"
width=
"30%"
>
<el-dialog
:model-value=
"isShowAddDialog"
draggable
:before-close=
"handleCancel"
:title=
"props.title"
width=
"30%"
>
...
@@ -186,10 +202,12 @@ const handleChangeSpe = (val: any) => {
...
@@ -186,10 +202,12 @@ const handleChangeSpe = (val: any) => {
:disabled=
"props.isEdit === '2'"
:disabled=
"props.isEdit === '2'"
style=
"width: 100%"
style=
"width: 100%"
placeholder=
"请选择所属部门/学校"
placeholder=
"请选择所属部门/学校"
v-if=
"userStore.roles[0].name === '超级管理员'"
@
change=
"handleChangeOrgan"
@
change=
"handleChangeOrgan"
>
>
<el-option
v-for=
"item in departmentList"
:key=
"item.id"
:label=
"item.name"
:value=
"item.id"
/>
<el-option
v-for=
"item in departmentList"
:key=
"item.id"
:label=
"item.name"
:value=
"item.id"
/>
</el-select>
</el-select>
<el-input
:placeholder=
"userStore.organization?.name"
v-model=
"form.organ_id_name"
v-else
disabled
>
</el-input>
</el-form-item>
</el-form-item>
<el-form-item
label=
"专业:"
prop=
"specialty_id"
>
<el-form-item
label=
"专业:"
prop=
"specialty_id"
>
<el-select
<el-select
...
...
src/modules/admin/student/views/List.vue
浏览文件 @
831a8d15
...
@@ -4,6 +4,11 @@ import { useProjectList } from '@/composables/useGetProjectList'
...
@@ -4,6 +4,11 @@ import { useProjectList } from '@/composables/useGetProjectList'
import
AddStudent
from
'../components/AddStudent.vue'
import
AddStudent
from
'../components/AddStudent.vue'
import
ImportStudent
from
'../components/ImportStudent.vue'
import
ImportStudent
from
'../components/ImportStudent.vue'
import
{
getStudentList
,
exportStudent
,
updateStudent
}
from
'../api'
import
{
getStudentList
,
exportStudent
,
updateStudent
}
from
'../api'
import
{
useUserStore
}
from
'@/stores/user'
// 判断当前用户是不是超级管理员
const
user
=
useUserStore
().
roles
const
isAdmin
=
!!
user
.
find
((
item
:
any
)
=>
item
.
name
===
'超级管理员'
)
const
departmentList
:
any
=
useProjectList
(
''
,
'79806610719731712'
).
departmentList
const
departmentList
:
any
=
useProjectList
(
''
,
'79806610719731712'
).
departmentList
const
appList
=
ref
()
const
appList
=
ref
()
const
id
=
ref
(
''
)
const
id
=
ref
(
''
)
...
@@ -118,9 +123,9 @@ const handleSelectionChange = (val: any) => {
...
@@ -118,9 +123,9 @@ const handleSelectionChange = (val: any) => {
>
导出
</el-button
>
导出
</el-button
>
>
<el-button
type=
"primary"
round
>
生源地分析
</el-button>
<el-button
type=
"primary"
round
>
生源地分析
</el-button>
<template
#
filter-department=
"
{ params }">
<template
v-if=
"isAdmin"
#
filter-department=
"
{ params }">
<div
class=
"name"
style=
"font-size: 14px; color: #606266; padding-right: 12px"
>
所属部门/学校:
</div>
<div
class=
"name"
style=
"font-size: 14px; color: #606266; padding-right: 12px"
>
所属部门/学校:
</div>
<el-select
@
change=
"handleRefresh"
clearable
v-model=
"params.organ_id"
>
<el-select
@
change=
"handleRefresh"
clearable
v-model=
"params.organ_id"
placeholder=
"请选择所属部门/学校"
>
<el-option
v-for=
"item in departmentList"
:key=
"item.id"
:label=
"item.name"
:value=
"item.id"
/>
<el-option
v-for=
"item in departmentList"
:key=
"item.id"
:label=
"item.name"
:value=
"item.id"
/>
</el-select>
</el-select>
</
template
>
</
template
>
...
...
src/modules/course/my/components/ViewCourseInfoTop.vue
浏览文件 @
831a8d15
...
@@ -181,7 +181,10 @@ const basicInfo = computed((): IBasicInfo[] => {
...
@@ -181,7 +181,10 @@ const basicInfo = computed((): IBasicInfo[] => {
width
:
230px
;
width
:
230px
;
display
:
flex
;
display
:
flex
;
justify-content
:
center
;
justify-content
:
center
;
align-items
:
center
;
.list-name
{
.list-name
{
margin-left
:
25px
;
width
:
18px
;
width
:
18px
;
height
:
40px
;
height
:
40px
;
font-size
:
18px
;
font-size
:
18px
;
...
...
src/modules/teach/
home
work/api.ts
→
src/modules/teach/work/api.ts
浏览文件 @
831a8d15
File moved
src/modules/teach/
homework/components/CheckHomew
ork.vue
→
src/modules/teach/
work/components/CheckW
ork.vue
浏览文件 @
831a8d15
File moved
src/modules/teach/
home
work/index.ts
→
src/modules/teach/work/index.ts
浏览文件 @
831a8d15
...
@@ -3,8 +3,8 @@ import AppLayout from '@/components/layout/Index.vue'
...
@@ -3,8 +3,8 @@ import AppLayout from '@/components/layout/Index.vue'
export
const
routes
:
Array
<
RouteRecordRaw
>
=
[
export
const
routes
:
Array
<
RouteRecordRaw
>
=
[
{
{
path
:
'/teach/
home
work'
,
path
:
'/teach/work'
,
component
:
AppLayout
,
component
:
AppLayout
,
children
:
[{
path
:
''
,
component
:
()
=>
import
(
'./views/List.vue'
)
}]
children
:
[{
path
:
'
/teach/work
'
,
component
:
()
=>
import
(
'./views/List.vue'
)
}]
}
}
]
]
\ No newline at end of file
src/modules/teach/
homework/views/LI
st.vue
→
src/modules/teach/
work/views/Li
st.vue
浏览文件 @
831a8d15
<
script
setup
lang=
"ts"
>
<
script
setup
lang=
"ts"
>
// import { getProList } from '../api'
// import { getProList } from '../api'
// import { useMapStore } from '@/stores/map'
// const store = useMapStore()
import
CheckWork
from
'../components/CheckWork.vue'
import
CheckHomework
from
'../components/CheckHomework.vue'
const
appList
=
ref
()
const
appList
=
ref
()
const
isShowCheckDialog
=
ref
(
false
)
const
isShowCheckDialog
=
ref
(
false
)
...
@@ -50,5 +49,5 @@ const handleCheckPaper = (row: any) => {
...
@@ -50,5 +49,5 @@ const handleCheckPaper = (row: any) => {
</
template
>
</
template
>
</AppList>
</AppList>
</AppCard>
</AppCard>
<Check
Homew
ork
v-if=
"isShowCheckDialog === true"
v-model:isShowCheckDialog=
"isShowCheckDialog"
/>
<Check
W
ork
v-if=
"isShowCheckDialog === true"
v-model:isShowCheckDialog=
"isShowCheckDialog"
/>
</template>
</template>
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论