Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
C
confucius
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
罗超
confucius
Commits
6f28e05e
Commit
6f28e05e
authored
Dec 08, 2020
by
黄奎
Browse files
Options
Browse Files
Download
Plain Diff
页面修改
parents
05a1f5c3
57d2dd83
Hide whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
240 additions
and
121 deletions
+240
-121
App.vue
src/App.vue
+142
-0
MainLayout.vue
src/layouts/MainLayout.vue
+1
-1
assistant.vue
src/pages/school/assistant.vue
+39
-42
classroom.vue
src/pages/school/classroom.vue
+9
-5
sysuser.vue
src/pages/school/sysuser.vue
+31
-36
teacher.vue
src/pages/school/teacher.vue
+16
-35
role.vue
src/pages/system/role.vue
+2
-2
No files found.
src/App.vue
0 → 100644
View file @
6f28e05e
<
template
>
<div
id=
"q-app"
>
<router-view
/>
</div>
</
template
>
<
script
>
export
default
{
name
:
'App'
}
</
script
>
<
style
>
@import
url('~assets/css/font.css')
;
@import
url('//at.alicdn.com/t/font_2077629_om4uj5994af.css')
;
html
,
body
,
#q-app
{
min-height
:
100vh
;
min-width
:
100%
;
font-family
:
'微软雅黑'
,
' Microsoft YaHei'
,
'PingFang'
,
'PingFangR'
;
-webkit-font-smoothing
:
antialiased
;
}
.page-body
{
border-radius
:
8px
;
background
:
#FFF
;
padding
:
30px
;
}
.page-search
{
margin-bottom
:
16px
;
font-family
:
"perfectFont"
;
}
.page-content
.q-table__title
{
font-family
:
"perfectFont"
;
}
.page-content
.q-table__container
.scroll
::-webkit-scrollbar
{
width
:
10px
;
height
:
5px
;
}
.page-content
.q-table__container
.scroll
::-webkit-scrollbar-thumb
{
border-radius
:
10px
;
box-shadow
:
inset
0
0
5px
rgba
(
0
,
0
,
0
,
0.2
);
background
:
#535353
;
}
.page-content
.q-table__container
.scroll
::-webkit-scrollbar-track
{
box-shadow
:
inset
0
0
5px
rgba
(
0
,
0
,
0
,
0.2
);
border-radius
:
10px
;
background
:
#EDEDED
;
}
.micfont
{
font-family
:
perfectFont
!important
;
}
.dialog-out-close
{
background
:
var
(
--q-color-primary
);
position
:
absolute
!important
;
top
:
30%
!important
;
left
:
-40px
!important
;
width
:
40px
!important
;
height
:
40px
!important
;
line-height
:
40px
;
text-align
:
center
;
color
:
#FFF
;
border-top-left-radius
:
4px
!important
;
border-bottom-left-radius
:
4px
!important
;
cursor
:
pointer
;
}
/***************************************************** Begin 重写ElementUI 抽屉效果 ***************************************************************/
.el-drawer__wrapper
{
top
:
61px
!important
;
}
.v-modal
{
display
:
none
!important
;
}
.el-drawer__wrapper
.drawerTop
{
background
:
none
!important
;
border-bottom
:
1px
solid
#f5f5f5
;
}
.el-drawer__wrapper
.drawerTop
.drawer_Span
{
font-size
:
18px
!important
;
font-weight
:
500
!important
;
font-family
:
perfectFont
!important
;
}
.el-drawer__wrapper
.drawerTop
.icon-guanbi
{
display
:
none
!important
;
}
.page-body
{
padding
:
15px
!important
;
min-height
:
calc
(
100%
-
30px
);
margin
:
15px
!important
;
}
.q-table__top
{
padding
:
0
0
12px
0px
!important
;
}
.q-btn__wrapper
.row
,
.q-btn__wrapper
.column
,
.q-btn__wrapper
.flex
{
flex-wrap
:
nowrap
!important
;
}
.q-toolbar__title
{
flex
:
unset
!important
;
}
button
.bg-accent
{
background
:
linear-gradient
(
90deg
,
#37ADF7
,
#2961FE
)
!important
;
}
button
.bg-accent
:active
{
background
:
linear-gradient
(
270deg
,
#37ADF7
,
#2961FE
)
!important
;
}
.q-avatar__content
{
font-family
:
perfectFont
!important
;
font-size
:
14px
!important
;
}
.left-menu-box
.q-item.q-router-link--active
,
.left-menu-box
.q-item--active
{
background
:
var
(
--q-color-secondary
)
!important
;
color
:
#f5f5f5
!important
;
border-radius
:
0px
4px
4px
0px
!important
;
margin
:
0
4px
;
position
:
relative
;
}
.left-menu-box
.q-item.q-router-link--active
::before
{
position
:
absolute
;
width
:
7px
;
height
:
7px
;
background
:
#FAFAFA
;
border-radius
:
50%
;
top
:
calc
(
50%
-
3.5px
);
right
:
20px
;
display
:
block
;
content
:
' '
;
}
/***************************************************** End 重写ElementUI 抽屉效果 ***************************************************************/
</
style
>
src/layouts/MainLayout.vue
View file @
6f28e05e
...
...
@@ -147,7 +147,7 @@
<q-page-container
class=
"window-height"
>
<div
class=
"row items-stretch full-height"
>
<div
style=
"box-shadow: 2px 0 10px 0 rgba(237,238,240,0.50);font-family:perfectFont;"
class=
"text-subtitle2 second-menu-bg"
:style=
"{'width':isExpend?'40px':'180px'}"
v-if=
"secondNavs && secondNavs.length>0"
>
<div
class=
"full-width left-menu-box"
>
<div
class=
"full-width left-menu-box
q-pt-md
"
>
<q-list
style=
"width:180px;overflow:hidden"
>
<
template
v-for=
"(x,i) in secondNavs"
>
<q-item
:to=
"x.MenuUrl"
clickable
v-ripple
:active=
"currentPath==x.MenuUrl"
v-if=
"x.SubList.length==0"
:key=
"i"
>
...
...
src/pages/school/assistant.vue
View file @
6f28e05e
...
...
@@ -19,40 +19,26 @@
emit-value
map-options
label=
"审核状态"
/>
</div>
</div>
<div
class=
"page-option"
>
<q-btn
color=
"accent"
class=
"q-mr-md"
icon=
"add"
label=
"新增助教"
@
click=
"addObj(null)"
/>
<q-btn-dropdown
outline
color=
"dark"
label=
"更多"
>
<q-list>
<q-item
clickable
v-close-popup
>
<q-item-section>
<q-item-label>
批量导入
</q-item-label>
</q-item-section>
</q-item>
<q-item
clickable
v-close-popup
>
<q-item-section>
<q-item-label>
批量导出
</q-item-label>
</q-item-section>
</q-item>
</q-list>
</q-btn-dropdown>
</div>
</div>
<div
class=
"page-content"
>
<q-table
:pagination=
"msg"
:loading=
"loading"
no-data-label=
"暂无相关数据"
flat
class=
"sticky-right-column-table sticky-
tow-column-table"
separator=
"none"
title=
"助教信息
"
:data=
"data"
class=
"sticky-right-column-table sticky-
column-table"
separator=
"none
"
:data=
"data"
:columns=
"columns"
row-key=
"name"
>
<template
v-slot:body-cell-AssistIcon=
"props"
>
<q-td
auto-width
:props=
"props"
>
<q-avatar
size=
"md"
v-if=
"props.value"
>
<img
:src=
"props.value"
/>
</q-avatar>
<q-avatar
size=
"md"
color=
"teal-10"
text-color=
"white"
v-if=
"!props.value"
>
{{
props
.
row
.
AssistName
}}
</q-avatar>
</q-td>
<template
v-slot:top=
"props"
>
<div
class=
"col-2 q-table__title"
>
助教信息
</div>
<q-space
/>
<div
class=
"page-option"
>
<q-btn
color=
"accent"
size=
"sm"
class=
"q-mr-md"
icon=
"add"
label=
"新增助教"
@
click=
"addObj(null)"
/>
</div>
</
template
>
<
template
v-slot:body-cell-AssistName=
"props"
>
<q-td
:props=
"props"
>
<div
class=
"text-blue cursor-pointer"
>
{{
props
.
value
}}
</div>
<q-avatar
rounded
size=
"sm"
v-if=
"props.row.AssistIcon"
>
<img
:src=
"props.row.AssistIcon"
/>
</q-avatar>
<q-avatar
rounded
size=
"sm"
color=
"teal-10"
text-color=
"white"
v-if=
"!props.row.AssistIcon"
>
{{
props
.
value
[
0
]
}}
</q-avatar>
<span
class=
"q-ml-md text-blue cursor-pointer"
>
{{
props
.
value
}}
</span>
</q-td>
</
template
>
<
template
v-slot:body-cell-AuditStatus=
"props"
>
...
...
@@ -82,17 +68,33 @@
</
template
>
<
template
v-slot:body-cell-optioned=
"props"
>
<q-td
:props=
"props"
>
<div
style=
"min-width:190px;width:100%"
>
<q-btn
v-if=
"props.row.AuditStatus==1"
flat
size=
"xs"
icon=
"iconfont icon-shenhe"
color=
"info"
style=
"font-weight:400"
class=
"q-mr-xs"
label=
"审核"
@
click=
"showExamine(props.row)"
/>
<q-btn
v-if=
"props.row.AuditStatus==2"
flat
size=
"xs"
icon=
"iconfont icon-ziyuan"
color=
"warning"
style=
"font-weight:400"
class=
"q-mr-xs"
label=
"重置密码"
@
click=
"resetPw(props.row.AId)"
/>
<q-btn
flat
size=
"xs"
icon=
"iconfont icon-shanchu"
color=
"negative"
style=
"font-weight:400"
class=
"q-mr-xs"
label=
"删除"
@
click=
"deleteUser(props.row.AId)"
/>
<q-btn
v-if=
"props.row.AuditStatus==3"
flat
size=
"xs"
icon=
"iconfont icon-ziyuan"
color=
"negative"
style=
"font-weight:400"
class=
"q-mr-xs"
label=
"重新申请"
@
click=
"reApplyAssisst(props.row.AId)"
/>
<div>
<q-btn
flat
size=
"xs"
icon=
"edit"
color=
"accent"
style=
"font-weight:400"
label=
"编辑"
@
click=
"addObj(props.row)"
/>
<q-btn-dropdown
flat
size=
"xs"
color=
"dark"
label=
"更多"
style=
"margin-left:10px;"
>
<q-list>
<q-item
clickable
v-close-popup
@
click=
"showExamine(props.row)"
v-if=
"props.row.AuditStatus==1"
>
<q-item-section>
<q-item-label>
审核
</q-item-label>
</q-item-section>
</q-item>
<q-item
clickable
v-close-popup
@
click=
"resetPw(props.row.AId)"
v-if=
"props.row.AuditStatus==2"
>
<q-item-section>
<q-item-label>
重置密码
</q-item-label>
</q-item-section>
</q-item>
<q-item
clickable
v-close-popup
@
click=
"reApplyAssisst(props.row.AId)"
v-if=
"props.row.AuditStatus==3"
>
<q-item-section>
<q-item-label>
重新申请
</q-item-label>
</q-item-section>
</q-item>
<q-item
clickable
color=
"negative"
v-close-popup
@
click=
"deleteUser(props.row.AId)"
>
<q-item-section>
<q-item-label>
删除
</q-item-label>
</q-item-section>
</q-item>
</q-list>
</q-btn-dropdown>
</div>
</q-td>
</
template
>
...
...
@@ -128,12 +130,7 @@
data
()
{
return
{
currentUrl
:
""
,
columns
:
[{
name
:
'AssistIcon'
,
label
:
''
,
field
:
'AssistIcon'
,
align
:
'left'
,
},
columns
:
[
{
name
:
'AssistName'
,
required
:
true
,
...
...
src/pages/school/classroom.vue
View file @
6f28e05e
...
...
@@ -15,14 +15,18 @@
option-value=
"value"
option-label=
"label"
label=
"状态"
emit-value
map-options
/>
</div>
</div>
<div
class=
"page-option"
>
<q-btn
color=
"accent"
class=
"q-mr-md"
icon=
"add"
label=
"新增教室"
@
click=
"EditClassRoom(null)"
/>
</div>
</div>
<div
class=
"page-content"
>
<q-table
:pagination=
"msg"
:loading=
"loading"
no-data-label=
"暂无相关数据"
flat
class=
"sticky-
right-column-table sticky-tow-
column-table"
separator=
"none"
title=
"教室信息"
:data=
"data"
class=
"sticky-column-table"
separator=
"none"
title=
"教室信息"
:data=
"data"
:columns=
"columns"
row-key=
"name"
>
<template
v-slot:top=
"props"
>
<div
class=
"col-2 q-table__title"
>
教室信息
</div>
<q-space
/>
<div
class=
"page-option"
>
<q-btn
color=
"accent"
size=
"sm"
icon=
"add"
label=
"新增教室"
@
click=
"EditClassRoom(null)"
/>
</div>
</
template
>
<
template
v-slot:body-cell-TeacherHead=
"props"
>
<q-td
auto-width
:props=
"props"
>
<q-avatar
size=
"md"
v-if=
"props.value"
>
...
...
@@ -57,7 +61,7 @@
</
template
>
<
template
v-slot:body-cell-optioned=
"props"
>
<q-td
:props=
"props"
>
<div
style=
"min-width:190px;width:100%"
>
<div>
<q-btn
flat
size=
"xs"
icon=
"edit"
color=
"accent"
style=
"font-weight:400"
label=
"编辑"
@
click=
"EditClassRoom(props.row)"
/>
<template
v-if=
"props.row.Status==0"
>
...
...
src/pages/school/sysuser.vue
View file @
6f28e05e
...
...
@@ -68,41 +68,41 @@
</q-field>
</div>
</div>
<div
class=
"page-option"
>
<q-btn
color=
"accent"
class=
"q-mr-md"
icon=
"add"
label=
"新增员工"
@
click=
"EditManager(null)"
/>
<q-btn-dropdown
outline
color=
"dark"
label=
"更多"
>
<q-list>
<q-item
clickable
v-close-popup
@
click=
"getType(1)"
>
<q-item-section>
<q-item-label>
离职
</q-item-label>
</q-item-section>
</q-item>
<q-item
clickable
v-close-popup
@
click=
"resetPassWord()"
>
<q-item-section>
<q-item-label>
重置密码
</q-item-label>
</q-item-section>
</q-item>
</q-list>
</q-btn-dropdown>
</div>
</div>
<div
class=
"page-content"
>
<q-table
:pagination=
"msg"
:loading=
"loading"
no-data-label=
"暂无相关数据"
flat
selection=
"multiple"
:selected
.
sync=
"selected"
class=
"sticky-right-column-table sticky-tow-column-table"
separator=
"none"
title=
"员工管理"
:data=
"data"
:columns=
"columns"
row-key=
"Id"
>
<
template
v-slot:body-cell-UserIcon=
"props"
>
<q-td
auto-width
:props=
"props"
>
<q-avatar
size=
"md"
v-if=
"props.value"
>
<img
:src=
"props.value"
/>
</q-avatar>
<q-avatar
size=
"md"
color=
"teal-10"
text-color=
"white"
v-if=
"!props.value"
>
{{
GetFirst
(
props
.
row
.
EmployeeName
)
}}
</q-avatar>
</q-td>
:selected
.
sync=
"selected"
class=
"sticky-right-column-table sticky-column-table"
separator=
"none"
:data=
"data"
:columns=
"columns"
row-key=
"Id"
>
<
template
v-slot:top=
"props"
>
<div
class=
"col-2 q-table__title"
>
员工管理
</div>
<q-space
/>
<div
class=
"page-option"
>
<q-btn
color=
"accent"
size=
"sm"
class=
"q-mr-md"
icon=
"add"
label=
"新增员工"
@
click=
"EditManager(null)"
/>
<q-btn-dropdown
outline
size=
"sm"
color=
"dark"
label=
"更多"
>
<q-list>
<q-item
clickable
v-close-popup
@
click=
"getType(1)"
>
<q-item-section>
<q-item-label>
离职
</q-item-label>
</q-item-section>
</q-item>
<q-item
clickable
v-close-popup
@
click=
"resetPassWord()"
>
<q-item-section>
<q-item-label>
重置密码
</q-item-label>
</q-item-section>
</q-item>
</q-list>
</q-btn-dropdown>
</div>
</
template
>
<
template
v-slot:body-cell-EmployeeName=
"props"
>
<q-td
:props=
"props"
>
<div
class=
"text-blue cursor-pointer"
style=
"color:#2961FE;margin-left:10px;cursor:pointer;"
@
click=
"getEmpInfoInfo(props.row)"
title=
"点击查看详情"
>
{{
props
.
value
}}
</div>
<q-avatar
rounded
size=
"sm"
v-if=
"props.row.UserIcon"
>
<img
:src=
"props.row.UserIcon"
/>
</q-avatar>
<q-avatar
rounded
size=
"sm"
color=
"teal-10"
text-color=
"white"
v-if=
"!props.row.UserIcon"
>
{{
GetFirst
(
props
.
value
[
0
])
}}
</q-avatar>
<span
class=
"q-ml-md text-blue cursor-pointer"
style=
"color:#2961FE;margin-left:10px;cursor:pointer;"
@
click=
"getEmpInfoInfo(props.row)"
title=
"点击查看详情"
>
{{
props
.
value
}}
</span>
</q-td>
</
template
>
<
template
v-slot:body-cell-StuSex=
"props"
>
...
...
@@ -137,12 +137,12 @@
</
template
>
<
template
v-slot:body-cell-optioned=
"props"
>
<q-td
:props=
"props"
>
<div
style=
"min-width:190px;width:100%"
class=
"syster_qDropdown"
>
<div
class=
"syster_qDropdown"
>
<q-btn
v-if=
"props.row.ManagerAccount==''"
flat
size=
"xs"
icon=
"iconfont icon-ziyuan"
color=
"warning"
style=
"font-weight:400"
class=
"q-mr-xs"
label=
"创建账号"
@
click=
"createAccount(props.row.MId)"
/>
<q-btn
flat
size=
"xs"
icon=
"edit"
color=
"accent"
style=
"font-weight:400"
label=
"编辑"
@
click=
"EditManager(props.row)"
/>
<q-btn-dropdown
outline
color=
"dark"
label=
"更多"
style=
"margin-left:10px;"
>
<q-btn-dropdown
flat
size=
"xs"
color=
"dark"
label=
"更多"
style=
"margin-left:10px;"
>
<q-list>
<q-item
clickable
v-close-popup
@
click=
"transFerJob(props.row,3)"
>
<q-item-section>
...
...
@@ -210,11 +210,6 @@
required
:
true
,
label
:
''
,
align
:
'left'
,
},
{
name
:
'UserIcon'
,
label
:
''
,
field
:
'UserIcon'
,
align
:
'left'
,
},
{
name
:
'EmployeeName'
,
...
...
src/pages/school/teacher.vue
View file @
6f28e05e
<
template
>
<div
class=
"page-body"
>
<div
class=
"page-search row items-center"
>
<div
class=
"col row wrap q-
mr-lg q-
col-gutter-md"
>
<div
class=
"col row wrap q-col-gutter-md"
>
<div
class=
"col-3"
>
<q-input
@
input=
"resetSearch"
clearable
standout=
"bg-primary text-white"
v-model=
"msg.TeacherName"
label=
"教师名称"
maxlength=
"20"
/>
...
...
@@ -19,45 +19,31 @@
emit-value
map-options
label=
"审核状态"
/>
</div>
</div>
<div
class=
"page-option"
>
<!-- 原则上不能操作过三个按钮,建议不要使用查询按钮,增加用户操作次数 -->
<!--
<q-btn
color=
"primary"
outline
label=
"立即查询"
/>
-->
<q-btn
color=
"accent"
class=
"q-mr-md"
icon=
"add"
label=
"新增教师"
@
click=
"addObj(null)"
/>
<q-btn-dropdown
outline
color=
"dark"
label=
"更多"
>
<q-list>
<q-item
clickable
v-close-popup
>
<q-item-section>
<q-item-label>
批量导入
</q-item-label>
</q-item-section>
</q-item>
<q-item
clickable
v-close-popup
>
<q-item-section>
<q-item-label>
批量导出
</q-item-label>
</q-item-section>
</q-item>
</q-list>
</q-btn-dropdown>
</div>
</div>
<div
class=
"page-content"
>
<q-table
:pagination=
"msg"
:loading=
"loading"
no-data-label=
"暂无相关数据"
flat
class=
"sticky-right-column-table sticky-
tow-column-table"
separator=
"none"
title=
"教师信息
"
:data=
"data"
class=
"sticky-right-column-table sticky-
column-table"
separator=
"none
"
:data=
"data"
:columns=
"columns"
row-key=
"name"
>
<template
v-slot:top=
"props"
>
<div
class=
"col-2 q-table__title"
>
教师信息
</div>
<q-space
/>
<div
class=
"page-option"
>
<q-btn
color=
"accent"
size=
"sm"
icon=
"add"
label=
"新增教师"
@
click=
"addObj(null)"
/>
</div>
</
template
>
<
template
v-slot:body-cell-IsShow=
"props"
>
<q-td
:props=
"props"
>
<q-badge
:color=
"props.value==0?'negative':'primary'"
:label=
"props.value==0?'隐藏':'显示'"
/>
</q-td>
</
template
>
<
template
v-slot:body-cell-TeacherHead=
"props"
>
<q-td
:props=
"props"
>
<q-avatar
size=
"md"
>
<img
:src=
"props.value"
/>
</q-avatar>
</q-td>
</
template
>
<
template
v-slot:body-cell-TeacherName=
"props"
>
<q-td
:props=
"props"
>
<div
class=
"text-blue cursor-pointer"
>
{{
props
.
value
}}
</div>
<q-avatar
rounded
size=
"sm"
v-if=
"props.row.TeacherHead"
>
<img
:src=
"props.row.TeacherHead"
/>
</q-avatar>
<q-avatar
rounded
size=
"sm"
color=
"teal-10"
text-color=
"white"
v-if=
"!props.row.TeacherHead"
>
{{
props
.
value
[
0
]
}}
</q-avatar>
<span
class=
"q-ml-md text-blue cursor-pointer"
>
{{
props
.
value
}}
</span>
</q-td>
</
template
>
<
template
v-slot:body-cell-IsRecommend=
"props"
>
...
...
@@ -142,12 +128,7 @@
data
()
{
return
{
currentUrl
:
""
,
columns
:
[{
name
:
'TeacherHead'
,
label
:
''
,
field
:
'TeacherHead'
,
align
:
'left'
,
},
columns
:
[
{
name
:
'TeacherName'
,
required
:
true
,
...
...
src/pages/system/role.vue
View file @
6f28e05e
...
...
@@ -15,7 +15,7 @@
</div>
<div
class=
"page-content"
>
<q-table
:pagination=
"msg"
:loading=
"loading"
no-data-label=
"暂无相关数据"
flat
class=
"sticky-tow-column-table"
separator=
"none"
title=
"角色信息"
:data=
"data"
:columns=
"columns"
row-key=
"name"
>
separator=
"none"
:data=
"data"
:columns=
"columns"
row-key=
"name"
>
<template
v-slot:top=
"props"
>
<div
class=
"col-2 q-table__title"
>
角色信息
</div>
<q-space
/>
...
...
@@ -25,7 +25,7 @@
</
template
>
<
template
v-slot:body-cell-Status=
"props"
>
<q-td
:props=
"props"
>
<q-toggle
size=
"
md"
color=
"prim
ary"
:false-value=
"1"
:true-value=
"0"
v-model=
"props.row.Status"
<q-toggle
size=
"
sm"
color=
"second
ary"
:false-value=
"1"
:true-value=
"0"
v-model=
"props.row.Status"
title=
"注意:关闭后,分类将无法正常使用."
@
input=
"DeleteRole(props.row)"
/>
</q-td>
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment