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
5eb64b6c
Commit
5eb64b6c
authored
Oct 13, 2020
by
黄奎
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'master' of
http://gitlab.oytour.com/luochao/confucius
parents
3ea1a4dc
9689f7ff
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
942 additions
and
68 deletions
+942
-68
App.vue
src/App.vue
+1
-1
index.js
src/api/school/index.js
+57
-0
table.sass
src/assets/css/table.sass
+29
-1
assistant-form.vue
src/components/school/assistant/assistant-form.vue
+257
-0
assistant-shenhe.vue
src/components/school/assistant/assistant-shenhe.vue
+122
-0
assistant.vue
src/pages/school/assistant.vue
+362
-0
teacher.vue
src/pages/school/teacher.vue
+54
-11
routes.js
src/router/routes.js
+60
-55
No files found.
src/App.vue
View file @
5eb64b6c
...
...
@@ -12,7 +12,7 @@ export default {
<
style
>
@import
url('~assets/css/font.css')
;
@import
url('//at.alicdn.com/t/font_2077629_
7449myoskyf
.css')
;
@import
url('//at.alicdn.com/t/font_2077629_
q2oo9gmf1qr
.css')
;
html
,
body
,
...
...
src/api/school/index.js
View file @
5eb64b6c
...
...
@@ -66,4 +66,61 @@ export function auditTeacher(data) {
method
:
'post'
,
data
})
}
/**
*
* @param {TId} data
*/
export
function
deleteTeacher
(
data
)
{
return
request
({
url
:
'/user/RemoveTeacher'
,
method
:
'post'
,
data
})
}
/**
* 获取助教分页数据
*/
export
function
getAssistPage
(
data
)
{
return
request
({
url
:
'/user/GetAssistPageList'
,
method
:
'post'
,
data
})
}
/**
* 保存教师信息
*/
export
function
saveAssist
(
data
)
{
return
request
({
url
:
'/user/SetAssist'
,
method
:
'post'
,
data
})
}
/**
* 教师审核
*/
export
function
auditAssist
(
data
)
{
return
request
({
url
:
'/user/AuditAssist'
,
method
:
'post'
,
data
})
}
/**
* 助教删除
* @param {AId} data
*/
export
function
deleteAssist
(
data
)
{
return
request
({
url
:
'/user/RemoveAssist'
,
method
:
'post'
,
data
})
}
\ No newline at end of file
src/assets/css/table.sass
View file @
5eb64b6c
...
...
@@ -58,4 +58,32 @@
box-shadow
:
rgba
(
0
,
0
,
0
,
0
.05
)
2px
0px
0px
td
.none-shadow
box-shadow
:
none
\ No newline at end of file
box-shadow
:
none
.sticky-right-column-table
max-width
:
100%
thead
background
:
rgb
(
245
,
246
,
247
)
thead
tr
:first-child
height
:
40px
line-height
:
14px
thead
tr
:first-child
th
font-size
:
12px
font-weight
:
400
color
:
rgb
(
168
,
168
,
179
)
thead
tr
:first-child
th
:last-child
background-color
:
rgb
(
245
,
246
,
247
)
td
:last-child
background-color
:
#fff
th
:last-child
,
td
:last-child
position
:
sticky
right
:
0
z-index
:
1
box-shadow
:
rgba
(
0
,
0
,
0
,
0
.05
)
-2px
0px
0px
\ No newline at end of file
src/components/school/assistant/assistant-form.vue
0 → 100644
View file @
5eb64b6c
<
template
>
<q-dialog
v-model=
"persistent"
content-class=
"bg-grey-1"
persistent
transition-show=
"scale"
transition-hide=
"scale"
>
<q-card
style=
"width: 800px;max-width:900px;"
>
<q-card-section>
<div
class=
"text-h6"
>
{{
objOption
.
AId
==
0
?
'新增助教信息'
:
'修改助教信息'
}}
</div>
</q-card-section>
<q-card-section
class=
"q-pt-none scroll"
style=
"max-height: 70vh"
>
<div
class=
"text-caption q-mb-md q-px-xs text-grey-6"
>
基本资料
</div>
<div
class=
"row wrap"
>
<q-input
filled
stack-label
maxlength=
"20"
:dense=
"false"
v-model=
"objOption.AssistName"
ref=
"AssistName"
class=
"col-6 q-pr-lg q-pb-lg"
label=
"助教名称"
:rules=
"[val => !!val || '请填写助教姓名']"
/>
<q-select
filled
stack-label
option-value=
"SId"
option-label=
"SName"
v-model=
"objOption.School_Id"
ref=
"School_Id"
:options=
"schoolList"
label=
"所属校区"
:dense=
"false"
class=
"col-6 q-pb-lg"
:rules=
"[val => !!val || '请选择所属校区']"
/>
<q-input
type=
"tel"
filled
stack-label
maxlength=
"100"
:dense=
"false"
v-model=
"objOption.AssistTel"
ref=
"AssistTel"
class=
"col-6 q-pr-lg q-pb-lg"
label=
"联系电话"
:rules=
"[val => !!val || '请填写助教联系电话']"
/>
<div
class=
"col-6 q-pb-lg upload-assiatant-box"
>
<q-uploader
flat
@
uploaded=
"uploadSuccess"
hide-upload-btn
max-files=
"1"
@
rejected=
"onRejected"
label=
"助教头像"
:max-file-size=
"512*1024"
accept=
".jpg, image/*"
auto-upload
:url=
"action"
/>
</div>
</div>
<div
class=
"text-caption q-my-md q-px-xs text-grey-6"
>
讲师介绍
</div>
<q-editor
:toolbar=
"toolbar"
:fonts=
"fonts"
v-model=
"objOption.AssistIntro"
class=
"col-12"
:definitions=
"
{bold: {label: 'Bold', icon: null, tip: 'My bold tooltip'}}" />
</q-card-section>
<q-separator
/>
<q-card-actions
align=
"right"
class=
"bg-white"
>
<q-btn
label=
"取消"
color=
"dark"
style=
"font-weight:400 !important"
@
click=
"closeSaveForm"
/>
<q-btn
label=
"立即提交"
color=
"accent"
class=
"q-px-md"
style=
"font-weight:400 !important"
:loading=
"saveLoading"
@
click=
"saveTeacher"
/>
</q-card-actions>
</q-card>
</q-dialog>
</
template
>
<
script
>
import
{
getSchoolDropdown
,
saveAssist
}
from
'../../../api/school/index'
export
default
{
props
:
{
saveObj
:
{
type
:
Object
,
default
:
null
}
},
data
()
{
return
{
persistent
:
true
,
objOption
:
{},
optionTitle
:
""
,
schoolList
:
[],
saveLoading
:
false
,
imgDomain
:
"http://imgfile.oytour.com"
,
action
:
"http://upload.oytour.com/Upload?filePath="
+
encodeURIComponent
(
'/assistTel/teacher/'
),
toolbar
:
[],
fonts
:
{
arial
:
'Arial'
,
arial_black
:
'Arial Black'
,
comic_sans
:
'Comic Sans MS'
,
courier_new
:
'Courier New'
,
impact
:
'Impact'
,
lucida_grande
:
'Lucida Grande'
,
times_new_roman
:
'Times New Roman'
,
verdana
:
'Verdana'
}
}
},
mounted
()
{
this
.
getSchool
()
this
.
initObj
()
this
.
initToolBar
()
},
methods
:
{
initToolBar
()
{
this
.
toolbar
=
[
[{
label
:
'对齐'
,
icon
:
this
.
$q
.
iconSet
.
editor
.
align
,
fixedLabel
:
true
,
list
:
'only-icons'
,
options
:
[
'left'
,
'center'
,
'right'
,
'justify'
]
}],
[
'bold'
,
'italic'
,
'strike'
,
'underline'
,
'subscript'
,
'superscript'
],
[{
label
:
'格式'
,
icon
:
this
.
$q
.
iconSet
.
editor
.
formatting
,
list
:
'no-icons'
,
fixedLabel
:
true
,
fixedIcon
:
true
,
options
:
[
'p'
,
'h1'
,
'h2'
,
'h3'
,
'h4'
,
'h5'
,
'h6'
,
'code'
]
},
{
label
:
'字号'
,
icon
:
this
.
$q
.
iconSet
.
editor
.
fontSize
,
fixedLabel
:
true
,
fixedIcon
:
true
,
list
:
'no-icons'
,
options
:
[
'size-1'
,
'size-2'
,
'size-3'
,
'size-4'
,
'size-5'
,
'size-6'
,
'size-7'
]
},
{
label
:
'字体'
,
icon
:
this
.
$q
.
iconSet
.
editor
.
font
,
fixedLabel
:
true
,
fixedIcon
:
true
,
list
:
'no-icons'
,
options
:
[
'default_font'
,
'arial'
,
'arial_black'
,
'comic_sans'
,
'courier_new'
,
'impact'
,
'lucida_grande'
,
'times_new_roman'
,
'verdana'
]
},
'removeFormat'
],
[
'ordered'
,
'outdent'
,
'indent'
],
]
},
initObj
()
{
if
(
this
.
saveObj
)
{
this
.
optionTitle
=
"修改助教信息"
this
.
objOption
=
this
.
saveObj
}
else
{
this
.
optionTitle
=
"新增助教"
this
.
objOption
=
{
AId
:
0
,
School_Id
:
''
,
AssistName
:
""
,
AssistTel
:
''
,
AssistIcon
:
''
,
AssistIntro
:
''
}
}
},
removeTag
(
i
)
{
this
.
tags
.
splice
(
i
,
1
)
},
getSchool
()
{
getSchoolDropdown
({}).
then
(
res
=>
{
this
.
schoolList
=
res
.
Data
if
(
this
.
objOption
.
School_Id
!=
''
)
{
console
.
log
(
this
.
objOption
)
this
.
objOption
.
School_Id
=
this
.
schoolList
.
filter
(
x
=>
{
if
(
this
.
objOption
.
School_Id
==
x
.
SId
)
{
return
x
}
})[
0
]
console
.
log
(
this
.
objOption
)
}
})
},
onRejected
(
rejectedEntries
)
{
this
.
this
.
$q
.
notify
({
type
:
'negative'
,
position
:
"top"
,
message
:
`文件验证失败,请重新上传`
})
},
uploadSuccess
(
info
)
{
if
(
info
.
xhr
.
status
==
'200'
)
{
let
res
=
JSON
.
parse
(
info
.
xhr
.
response
)
this
.
objOption
.
AssistIcon
=
this
.
imgDomain
+
res
.
FilePath
}
},
closeSaveForm
()
{
this
.
$emit
(
'close'
)
this
.
persistent
=
false
},
createTag
()
{
if
(
this
.
tagText
.
length
>
0
)
{
this
.
tags
.
push
(
this
.
tagText
)
this
.
tagText
=
''
}
},
saveTeacher
()
{
this
.
saveLoading
=
true
this
.
$refs
.
School_Id
.
validate
()
this
.
$refs
.
AssistName
.
validate
()
this
.
$refs
.
AssistTel
.
validate
()
let
tempSchool
=
null
if
(
!
this
.
$refs
.
School_Id
.
hasError
&&
!
this
.
$refs
.
AssistName
.
hasError
&&
!
this
.
$refs
.
AssistTel
.
hasError
)
{
let
err_msg
=
""
if
(
this
.
objOption
.
AssistIcon
==
''
)
{
err_msg
=
"请上传助教头像"
}
if
(
err_msg
==
""
)
{
tempSchool
=
this
.
objOption
.
School_Id
this
.
objOption
.
School_Id
=
this
.
objOption
.
School_Id
.
SId
saveAssist
(
this
.
objOption
).
then
(
res
=>
{
this
.
saveLoading
=
false
this
.
$q
.
notify
({
icon
:
'iconfont icon-chenggong'
,
color
:
'accent'
,
timeout
:
2000
,
message
:
'数据保存成功!'
,
position
:
'top'
})
this
.
$emit
(
"success"
)
this
.
closeSaveForm
()
}).
catch
(()
=>
{
this
.
saveLoading
=
false
this
.
objOption
.
School_Id
=
tempSchool
})
}
else
{
this
.
$q
.
notify
({
type
:
'negative'
,
position
:
"top"
,
message
:
err_msg
})
this
.
saveLoading
=
false
}
}
else
{
this
.
saveLoading
=
false
}
},
},
}
</
script
>
<
style
>
.tag-input
{
border
:
1px
solid
#777
;
outline
:
none
;
width
:
140px
;
padding
:
5px
;
border-radius
:
4px
;
}
.upload-assiatant-box
.q-uploader__list
{
display
:
none
;
}
.upload-assiatant-box
.q-uploader
{
width
:
auto
;
}
</
style
>
src/components/school/assistant/assistant-shenhe.vue
0 → 100644
View file @
5eb64b6c
<
template
>
<q-dialog
v-model=
"persistent"
maximized
full-height
seamless
position=
"right"
@
hide=
"closeShenheForm"
>
<q-card
style=
"margin-top:61px;width:600px"
class=
"no-border-radius q-px-lg"
>
<q-toolbar
class=
"q-my-md q-pa-none"
>
<q-icon
name=
"iconfont icon-11zaixianshenpixitong"
size=
"30px"
color=
"warning"
/>
<q-toolbar-title
class=
"micfont"
>
教师审核
</q-toolbar-title>
</q-toolbar>
<div
class=
"row"
>
<div
class=
"col-6"
>
<q-field
:value=
"text"
label=
"教师照片"
borderless
>
<template
v-slot:control
>
<q-avatar
class=
"q-mt-xs"
v-if=
"showObj.AssistIcon"
>
<img
:src=
"showObj.AssistIcon"
>
</q-avatar>
<q-avatar
size=
"md"
color=
"teal-10"
text-color=
"white"
v-if=
"!showObj.AssistIcon"
>
{{
showObj
.
AssistName
.
substring
(
0
,
1
)
}}
</q-avatar>
</
template
>
</q-field>
</div>
<div
class=
"col-6"
>
<q-field
:value=
"text"
label=
"教师姓名"
borderless
>
<
template
v-slot:control
>
<div
class=
"self-center full-width no-outline text-body1"
tabindex=
"0"
>
{{
showObj
.
AssistName
}}
</div>
</
template
>
</q-field>
</div>
</div>
<div
class=
"row q-my-md"
>
<div
class=
"col-6"
>
<q-field
:value=
"text"
label=
"申请时间"
borderless
>
<
template
v-slot:control
>
<div
class=
"self-center full-width no-outline text-body2"
tabindex=
"0"
>
{{
showObj
.
CreateTimeStr
}}
</div>
</
template
>
</q-field>
</div>
<div
class=
"col-6"
>
<q-field
:value=
"text"
label=
"联系电话"
borderless
>
<
template
v-slot:control
>
<div
class=
"self-center full-width no-outline text-body2"
tabindex=
"0"
>
{{
showObj
.
AssistTel
}}
</div>
</
template
>
</q-field>
</div>
</div>
<div>
<q-field
filled
label=
"申请备注"
:value=
"text"
borderless
disable
>
<
template
v-slot:control
>
<div
class=
"self-center full-width no-outline q-mt-xs"
style=
"min-height:100px;"
>
无
</div>
</
template
>
</q-field>
</div>
<q-separator
class=
"q-my-md"
/>
<div
class=
"q-mb-md"
>
<q-input
square
filled
v-model=
"reason"
borderless
label=
"审批意见"
ref=
"reason"
type=
"textarea"
counter
:rules=
"[val => !!val || '请填写审批意见']"
maxlength=
"100"
/>
</div>
<div
style=
"text-align:right"
>
<q-btn
size=
"xs"
@
click=
"saveReuslt(2)"
icon=
"iconfont icon-chenggong"
color=
"primary"
style=
"font-weight:400"
class=
"q-mr-md"
label=
"通过"
:loading=
"saveLoading &&saveType==2"
:disable=
"saveLoading &&saveType!=2"
/>
<q-btn
size=
"xs"
@
click=
"saveReuslt(3)"
icon=
"iconfont icon-jujue"
color=
"negative"
style=
"font-weight:400"
label=
"拒绝"
:loading=
"saveLoading &&saveType==3"
:disable=
"saveLoading &&saveType!=3"
/>
</div>
</q-card>
<div
class=
"dialog-out-close"
@
click=
"closeShenheForm"
style=
"height:40px !important;border-top-left-radius: 4px !important;border-bottom-left-radius: 4px !important;"
>
<q-icon
name=
"iconfont icon-jujue1"
size=
"26px"
/>
</div>
</q-dialog>
</template>
<
script
>
import
{
auditAssist
}
from
'../../../api/school/index'
export
default
{
props
:
{
showObj
:
{
type
:
Object
,
default
:
null
}
},
data
()
{
return
{
persistent
:
true
,
text
:
'Field content'
,
reason
:
''
,
saveLoading
:
false
,
saveType
:
0
}
},
methods
:
{
closeShenheForm
()
{
this
.
$emit
(
'close'
)
},
saveReuslt
(
status
)
{
this
.
saveType
=
status
this
.
$refs
.
reason
.
validate
()
if
(
!
this
.
$refs
.
reason
.
hasError
)
{
this
.
saveLoading
=
true
auditAssist
({
AuditStatus
:
this
.
saveType
,
AuditRemark
:
this
.
reason
,
AId
:
this
.
showObj
.
AId
}).
then
(
res
=>
{
this
.
saveLoading
=
false
this
.
$q
.
notify
({
icon
:
'iconfont icon-chenggong'
,
color
:
'accent'
,
timeout
:
2000
,
message
:
'审核完成!'
,
position
:
'top'
})
this
.
$emit
(
"success"
)
this
.
closeShenheForm
()
}).
catch
(()
=>
{
this
.
saveLoading
=
false
})
}
}
},
}
</
script
>
<
style
>
</
style
>
src/pages/school/assistant.vue
0 → 100644
View file @
5eb64b6c
This diff is collapsed.
Click to expand it.
src/pages/school/teacher.vue
View file @
5eb64b6c
...
...
@@ -37,7 +37,7 @@
</div>
</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"
>
<q-table
:pagination=
"msg"
:loading=
"loading"
no-data-label=
"暂无相关数据"
flat
class=
"sticky-
right-column-table sticky-
tow-column-table"
separator=
"none"
title=
"教师信息"
:data=
"data"
:columns=
"columns"
row-key=
"name"
>
<template
v-slot:body-cell-IsShow=
"props"
>
<q-td
:props=
"props"
>
<q-badge
:color=
"props.value==0?'negative':'primary'"
:label=
"props.value==0?'隐藏':'显示'"
/>
...
...
@@ -92,9 +92,12 @@
</
template
>
<
template
v-slot:body-cell-optioned=
"props"
>
<q-td
:props=
"props"
>
<q-btn
flat
size=
"xs"
icon=
"iconfont icon-shenhe"
color=
"info"
style=
"font-weight:400"
class=
"q-mr-xs"
label=
"审核"
@
click=
"showExamine(props.row)"
/>
<q-btn
flat
size=
"xs"
icon=
"iconfont icon-ziyuan"
color=
"negative"
style=
"font-weight:400"
class=
"q-mr-xs"
label=
"重置密码"
@
click=
"resetPw(props.row.TId)"
/>
<q-btn
flat
size=
"xs"
icon=
"edit"
color=
"accent"
style=
"font-weight:400"
label=
"编辑"
@
click=
"addObj(props.row)"
/>
<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.TId)"
/>
<q-btn
v-if=
"props.row.AuditStatus==3"
flat
size=
"xs"
icon=
"iconfont icon-shanchu"
color=
"negative"
style=
"font-weight:400"
class=
"q-mr-xs"
label=
"删除"
@
click=
"deleteUser(props.row.TId)"
/>
<q-btn
flat
size=
"xs"
icon=
"edit"
color=
"accent"
style=
"font-weight:400"
label=
"编辑"
@
click=
"addObj(props.row)"
/>
</div>
</q-td>
</
template
>
</q-table>
...
...
@@ -107,7 +110,8 @@
<
script
>
import
{
getTeacherPage
,
getSchoolDropdown
getSchoolDropdown
,
deleteTeacher
}
from
'../../api/school/index'
import
{
resetPassword
...
...
@@ -251,7 +255,8 @@ export default {
objOption
:
null
,
schoolList
:
[],
schoolTemp
:
null
,
persistentExamine
:
false
persistentExamine
:
false
,
resetLoading
:
false
}
},
mounted
()
{
...
...
@@ -279,28 +284,66 @@ export default {
persistent
:
true
,
cancel
:
{
label
:
"取消"
,
flat
:
true
,
class
:
"micfont"
flat
:
true
},
ok
:
{
label
:
"确认重置"
,
flat
:
true
,
focus
:
true
,
class
:
"micfont"
focus
:
true
}
}).
onOk
(()
=>
{
that
.
resetLoading
=
true
resetPassword
({
AccountType
:
2
,
AccountId
:
id
}).
then
(
res
=>
{
that
.
resetLoading
=
false
that
.
$q
.
dialog
({
title
:
"密码重置成功"
,
message
:
res
.
Message
,
persistent
:
true
persistent
:
true
,
ok
:
{
label
:
"确认"
,
flat
:
true
,
focus
:
true
}
})
}).
catch
(()
=>
{
that
.
resetLoading
=
false
});
});
},
deleteUser
(
id
)
{
let
that
=
this
this
.
$q
.
dialog
({
title
:
"删除教师"
,
message
:
"你正在进行删除教师行为,一旦执行无法找回,是否确认执行?"
,
persistent
:
true
,
cancel
:
{
label
:
"取消"
,
flat
:
true
},
ok
:
{
label
:
"确认"
,
flat
:
true
,
focus
:
true
}
}).
onOk
(()
=>
{
that
.
resetLoading
=
true
deleteTeacher
({
TId
:
id
}).
then
(
res
=>
{
this
.
$q
.
notify
({
icon
:
'iconfont icon-chenggong'
,
color
:
'accent'
,
timeout
:
2000
,
message
:
'数据删除成功!'
,
position
:
'top'
})
this
.
getTeacher
()
})
});
},
changePage
(
val
)
{
this
.
msg
.
Status
=
this
.
StatusTemp
?
this
.
StatusTemp
.
value
:
'-1'
this
.
msg
.
pageIndex
=
1
...
...
src/router/routes.js
View file @
5eb64b6c
const
routes
=
[{
path
:
"/"
,
component
:
()
=>
import
(
"pages/user/login.vue"
)
},
{
path
:
"/login"
,
component
:
()
=>
import
(
"pages/user/login.vue"
)
},
{
path
:
"/home"
,
component
:
()
=>
import
(
"layouts/MainLayout.vue"
),
children
:
[{
path
:
""
,
path
:
"/"
,
component
:
()
=>
import
(
"pages/Index
.vue"
)
},
{
path
:
"/
school/manager
"
,
import
(
"pages/user/login
.vue"
)
},
{
path
:
"/
login
"
,
component
:
()
=>
import
(
"pages/school/manager
.vue"
)
},
{
path
:
"/
school/teacher
"
,
import
(
"pages/user/login
.vue"
)
},
{
path
:
"/
home
"
,
component
:
()
=>
import
(
"pages/school/teacher.vue"
)
},
{
path
:
"/system/menu"
,
//菜单管理
component
:
()
=>
import
(
"pages/system/menu.vue"
)
},
{
path
:
"/system/role"
,
//角色管理
component
:
()
=>
import
(
"pages/system/role.vue"
)
},
{
path
:
"/course/catagory"
,
//课程分类
component
:
()
=>
import
(
"pages/course/catagory.vue"
)
},
{
path
:
"/test"
,
//API测试
component
:
()
=>
import
(
"pages/test.vue"
)
},
]
},
import
(
"layouts/MainLayout.vue"
),
children
:
[{
path
:
""
,
component
:
()
=>
import
(
"pages/Index.vue"
)
},
{
path
:
"/school/manager"
,
component
:
()
=>
import
(
"pages/school/manager.vue"
)
},
{
path
:
"/school/teacher"
,
component
:
()
=>
import
(
"pages/school/teacher.vue"
)
},
{
path
:
"/school/assistant"
,
component
:
()
=>
import
(
"pages/school/assistant.vue"
)
},
{
path
:
"/system/menu"
,
//菜单管理
component
:
()
=>
import
(
"pages/system/menu.vue"
)
},
{
path
:
"/system/role"
,
//角色管理
component
:
()
=>
import
(
"pages/system/role.vue"
)
},
{
path
:
"/course/catagory"
,
//课程分类
component
:
()
=>
import
(
"pages/course/catagory.vue"
)
},
{
path
:
"/test"
,
//API测试
component
:
()
=>
import
(
"pages/test.vue"
)
},
]
},
// Always leave this as last one,
// but you can also remove it
{
path
:
"*"
,
component
:
()
=>
import
(
"pages/Error404.vue"
)
}
// Always leave this as last one,
// but you can also remove it
{
path
:
"*"
,
component
:
()
=>
import
(
"pages/Error404.vue"
)
}
];
export
default
routes
;
export
default
routes
;
\ No newline at end of file
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