Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
A
admin-fdc
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
图表
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
EzijingWeb
admin-fdc
Commits
5919a7f0
提交
5919a7f0
authored
12月 02, 2022
作者:
王鹏飞
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
feat: 新增管理员管理
上级
43ad3b34
隐藏空白字符变更
内嵌
并排
正在显示
16 个修改的文件
包含
496 行增加
和
55 行删除
+496
-55
index.html
index.html
+1
-1
App.vue
src/App.vue
+7
-1
app.config.js
src/app.config.js
+4
-2
Aside.vue
src/components/layout/Aside.vue
+2
-2
Header.vue
src/components/layout/Header.vue
+11
-4
api.js
src/modules/school/admin/api.js
+43
-0
index.js
src/modules/school/admin/index.js
+29
-0
Detail.vue
src/modules/school/admin/views/Detail.vue
+63
-0
List.vue
src/modules/school/admin/views/List.vue
+105
-0
Update.vue
src/modules/school/admin/views/Update.vue
+168
-0
List.vue
src/modules/school/cert/views/List.vue
+13
-17
Update.vue
src/modules/school/class/views/Update.vue
+33
-11
Detail.vue
src/modules/school/student/views/Detail.vue
+9
-9
Update.vue
src/modules/school/student/views/Update.vue
+1
-1
Detail.vue
src/modules/school/teacher/views/Detail.vue
+6
-6
Update.vue
src/modules/school/teacher/views/Update.vue
+1
-1
没有找到文件。
index.html
浏览文件 @
5919a7f0
...
@@ -2,7 +2,7 @@
...
@@ -2,7 +2,7 @@
<html
lang=
"en"
>
<html
lang=
"en"
>
<head>
<head>
<meta
charset=
"UTF-8"
/>
<meta
charset=
"UTF-8"
/>
<
link
rel=
"icon"
href=
"https://zws-imgs-pub.ezijing.com/pc/base/favicon.ico"
/
>
<
!-- <link rel="icon" href="https://zws-imgs-pub.ezijing.com/pc/base/favicon.ico" /> --
>
<meta
name=
"viewport"
content=
"width=device-width, initial-scale=1.0"
/>
<meta
name=
"viewport"
content=
"width=device-width, initial-scale=1.0"
/>
<title></title>
<title></title>
</head>
</head>
...
...
src/App.vue
浏览文件 @
5919a7f0
...
@@ -8,7 +8,13 @@
...
@@ -8,7 +8,13 @@
export
default
{
export
default
{
metaInfo
()
{
metaInfo
()
{
return
{
return
{
title
:
this
.
$store
.
state
.
appConfig
.
title
title
:
this
.
$store
.
state
.
appConfig
.
title
,
link
:
[
{
rel
:
'icon'
,
href
:
this
.
$store
.
state
.
appConfig
.
favicon
||
'https://zws-imgs-pub.ezijing.com/pc/base/favicon.ico'
}
]
}
}
}
}
}
}
...
...
src/app.config.js
浏览文件 @
5919a7f0
...
@@ -8,8 +8,10 @@ export default [
...
@@ -8,8 +8,10 @@ export default [
{
{
name
:
'金融数据合规管理'
,
name
:
'金融数据合规管理'
,
tenant
:
'financial'
,
tenant
:
'financial'
,
title
:
'金融数据合规管理系统-紫荆教育'
,
title
:
'金融数据合规管理系统'
,
logo
:
'https://webapp-pub.ezijing.com/x-training-new/fd-logo2.png'
,
logo
:
'https://webapp-pub.ezijing.com/project_online/fdc/fdc_header_logo.png'
,
logoStyle
:
'height:64px;background:#fff;margin-left:-20px;padding-left:20px;'
,
favicon
:
'https://webapp-pub.ezijing.com/project_online/fdc/favico.svg'
,
hosts
:
[
'fd-admin'
,
'fd-admin2'
,
'fdc-admin'
,
'fdc-admin2'
]
hosts
:
[
'fd-admin'
,
'fd-admin2'
,
'fdc-admin'
,
'fdc-admin2'
]
}
}
]
]
src/components/layout/Aside.vue
浏览文件 @
5919a7f0
...
@@ -9,8 +9,7 @@
...
@@ -9,8 +9,7 @@
:index=
"subitem.path"
:index=
"subitem.path"
v-for=
"subitem in item.children"
v-for=
"subitem in item.children"
:key=
"subitem.path"
:key=
"subitem.path"
v-permission=
"subitem.tag"
v-permission=
"subitem.tag"
>
>
<
template
v-if=
"subitem.href"
>
<
template
v-if=
"subitem.href"
>
<a
:href=
"subitem.href"
target=
"_blank"
>
{{
subitem
.
name
}}
</a>
<a
:href=
"subitem.href"
target=
"_blank"
>
{{
subitem
.
name
}}
</a>
</
template
>
</
template
>
...
@@ -65,6 +64,7 @@ export default {
...
@@ -65,6 +64,7 @@ export default {
icon
:
'el-icon-user'
,
icon
:
'el-icon-user'
,
tag
:
'menu_school'
,
tag
:
'menu_school'
,
children
:
[
children
:
[
{
name
:
'管理员管理'
,
path
:
'/personnel/admin'
,
tag
:
'menu_school_admin'
},
{
name
:
'教师管理'
,
path
:
'/personnel/teacher'
,
tag
:
'menu_school_teacher'
},
{
name
:
'教师管理'
,
path
:
'/personnel/teacher'
,
tag
:
'menu_school_teacher'
},
{
name
:
'学员管理'
,
path
:
'/personnel/student'
,
tag
:
'menu_school_students'
}
{
name
:
'学员管理'
,
path
:
'/personnel/student'
,
tag
:
'menu_school_students'
}
]
]
...
...
src/components/layout/Header.vue
浏览文件 @
5919a7f0
...
@@ -2,11 +2,14 @@
...
@@ -2,11 +2,14 @@
<header
class=
"app-header"
>
<header
class=
"app-header"
>
<div
class=
"logo"
>
<div
class=
"logo"
>
<router-link
to=
"/"
>
<router-link
to=
"/"
>
<img
width=
"110px"
src=
"https://zws-imgs-pub.ezijing.com/pc/base/ezijing-logo-white.svg"
/>
<img
height=
"40px"
:src=
"logoUrl || 'https://zws-imgs-pub.ezijing.com/pc/base/ezijing-logo-white.svg'"
:style=
"logoStyle"
/>
</router-link>
</router-link>
<template
v-if=
"logoUrl"
>
<
!--
<
template
v-if=
"logoUrl"
>
<img
:src=
"logoUrl"
class=
"sub-logo"
/>
<img
:src=
"logoUrl"
class=
"sub-logo"
/>
</
template
>
</
template
>
-->
</div>
</div>
<div
class=
"app-header-right"
>
<div
class=
"app-header-right"
>
<el-dropdown>
<el-dropdown>
...
@@ -41,6 +44,9 @@ export default {
...
@@ -41,6 +44,9 @@ export default {
},
},
logoUrl
()
{
logoUrl
()
{
return
this
.
$store
.
state
.
appConfig
?.
logo
return
this
.
$store
.
state
.
appConfig
?.
logo
},
logoStyle
()
{
return
this
.
$store
.
state
.
appConfig
?.
logoStyle
}
}
},
},
methods
:
{
methods
:
{
...
@@ -62,7 +68,8 @@ export default {
...
@@ -62,7 +68,8 @@ export default {
height
:
64px
;
height
:
64px
;
background-color
:
#3276fc
;
background-color
:
#3276fc
;
color
:
#fff
;
color
:
#fff
;
box-shadow
:
0
0
29px
#000000
1a
;
z-index
:
1000
;
.logo
{
.logo
{
height
:
100%
;
height
:
100%
;
display
:
flex
;
display
:
flex
;
...
...
src/modules/school/admin/api.js
0 → 100644
浏览文件 @
5919a7f0
import
httpRequest
from
'@/utils/axios'
/**
* 获取管理员列表
*/
export
function
getAdminList
(
params
)
{
return
httpRequest
.
get
(
'/api/zy-admin/school/admin/list'
,
{
params
})
}
/**
* 获取管理员详情
*/
export
function
getAdminDetail
(
params
)
{
return
httpRequest
.
get
(
'/api/zy-admin/school/admin/view'
,
{
params
})
}
/**
* 管理员添加/创建
*/
export
function
createAdmin
(
data
)
{
return
httpRequest
.
post
(
'/api/zy-admin/school/admin/add'
,
data
)
}
/**
* 修改管理员
*/
export
function
updateAdmin
(
data
)
{
return
httpRequest
.
post
(
'/api/zy-admin/school/admin/update'
,
data
)
}
/**
* 删除管理员
*/
export
function
deleteAdmin
(
data
)
{
return
httpRequest
.
post
(
'/api/zy-admin/school/admin/delete'
,
data
)
}
/**
* 获取班级列表
*/
export
function
getClassList
(
params
)
{
return
httpRequest
.
get
(
'/api/zy-admin/school/class/list'
,
{
params
})
}
src/modules/school/admin/index.js
0 → 100644
浏览文件 @
5919a7f0
const
routes
=
[
{
path
:
'/personnel'
,
component
:
()
=>
import
(
'@/components/layout/Index.vue'
),
children
:
[
{
name
:
'admin'
,
path
:
'admin'
,
component
:
()
=>
import
(
'./views/List.vue'
),
meta
:
{
title
:
'管理员管理'
}
},
{
path
:
'admin/view'
,
component
:
()
=>
import
(
'./views/Detail.vue'
),
props
:
true
,
meta
:
{
title
:
'管理员管理'
}
},
{
name
:
'addAdmin'
,
path
:
'admin/update'
,
component
:
()
=>
import
(
'./views/Update.vue'
),
props
:
true
,
meta
:
{
title
:
'管理员管理'
}
}
]
}
]
export
{
routes
}
src/modules/school/admin/views/Detail.vue
0 → 100644
浏览文件 @
5919a7f0
<
template
>
<app-card>
<el-form
:model=
"form"
label-width=
"120px"
disabled
>
<!-- 姓名 -->
<el-form-item
label=
"姓名"
prop=
"personal_name"
>
<el-input
v-model=
"form.personal_name"
></el-input>
</el-form-item>
<!-- 手机号 -->
<el-form-item
label=
"手机号"
prop=
"telephone"
>
<el-input
v-model=
"form.telephone"
></el-input>
</el-form-item>
<el-form-item
label=
"绑定班级"
prop=
"classes_id"
>
<el-tag
v-for=
"(item, index) in form.classes_id"
:key=
"index"
size=
"default"
>
{{
item
.
name
}}
</el-tag>
</el-form-item>
<!-- 邮箱 -->
<el-form-item
label=
"邮箱"
prop=
"email"
>
<el-input
v-model=
"form.email"
></el-input>
</el-form-item>
<!--密码 -->
<el-form-item
label=
"创建日期"
prop=
"created_time"
>
<el-input
v-model=
"form.created_time"
></el-input>
</el-form-item>
<!-- 工号 -->
<el-form-item
label=
"更新日期"
prop=
"updated_time"
>
<el-input
v-model=
"form.updated_time"
></el-input>
</el-form-item>
</el-form>
</app-card>
</
template
>
<
script
>
import
AppCard
from
'../../../../components/base/AppCard.vue'
import
{
getAdminDetail
}
from
'../api'
export
default
{
components
:
{
AppCard
},
data
()
{
return
{
form
:
{}
}
},
mounted
()
{
this
.
getDetail
()
},
methods
:
{
getDetail
()
{
getAdminDetail
({
id
:
this
.
$route
.
query
.
id
}).
then
(
res
=>
{
this
.
form
=
res
.
data
})
}
}
}
</
script
>
<
style
>
.my-label
{
width
:
200px
;
}
.el-tag
{
margin-right
:
10px
;
}
</
style
>
src/modules/school/admin/views/List.vue
0 → 100644
浏览文件 @
5919a7f0
<
template
>
<app-card>
<app-list
v-bind=
"tableOptions"
ref=
"list"
>
<template>
<el-row
style=
"margin-bottom: 20px"
>
<el-button
type=
"primary"
icon=
"el-icon-plus"
@
click=
"add"
size=
"mini"
v-permission=
"'menu_school_admin_add'"
>
新建
</el-button
>
</el-row>
</
template
>
<
template
#
table-class=
"{ row }"
>
{{
row
.
classes_id
?.
length
}}
</
template
>
<
template
v-slot:table-x=
"{ row }"
>
<router-link
:to=
"
{ path: 'admin/view', query: { id: row.id } }" v-permission="'menu_school_admin_view'">
<el-button
type=
"primary"
size=
"mini"
plain
>
查看
</el-button>
</router-link>
<router-link
:to=
"
{ path: 'admin/update', query: { id: row.id } }" v-permission="'menu_school_admin_update'">
<el-button
type=
"success"
style=
"margin-left: 10px"
size=
"mini"
plain
>
更新
</el-button>
</router-link>
<el-button
type=
"danger"
style=
"margin-left: 10px"
size=
"mini"
plain
@
click=
"onRemove(row)"
v-permission=
"'menu_school_admin_delete'"
>
删除
</el-button
>
</
template
>
</app-list>
</app-card>
</template>
<
script
>
// 接口
import
{
getAdminList
,
deleteAdmin
}
from
'../api'
export
default
{
data
()
{
return
{}
},
computed
:
{
// 列表配置
tableOptions
()
{
return
{
remote
:
{
httpRequest
:
getAdminList
,
params
:
{
personal_name
:
''
,
telephone
:
''
,
id
:
''
,
job_number
:
''
}
},
filters
:
[
{
type
:
'input'
,
prop
:
'personal_name'
,
placeholder
:
'姓名'
},
{
type
:
'input'
,
prop
:
'telephone'
,
placeholder
:
'手机号'
},
{
type
:
'input'
,
prop
:
'email'
,
placeholder
:
'邮箱'
}
],
columns
:
[
{
label
:
'姓名'
,
align
:
'center'
,
prop
:
'personal_name'
},
{
label
:
'手机号'
,
align
:
'center'
,
prop
:
'telephone'
},
{
label
:
'绑定班级数'
,
align
:
'center'
,
slots
:
'table-class'
},
{
label
:
'邮箱'
,
align
:
'center'
,
prop
:
'email'
},
{
label
:
'创建日期'
,
align
:
'center'
,
prop
:
'created_time'
},
{
label
:
'操作'
,
slots
:
'table-x'
,
align
:
'center'
,
width
:
'300'
,
fixed
:
'right'
}
]
}
}
},
methods
:
{
add
()
{
this
.
$router
.
push
({
path
:
'admin/update'
})
},
// 删除
onRemove
(
row
)
{
this
.
$confirm
(
'你确定要删除此项吗'
,
'确认提示'
,
{
confirmButtonText
:
'删除'
,
cancelButtonText
:
'取消'
,
type
:
'warning'
}).
then
(()
=>
{
this
.
handleRemove
(
row
)
})
},
// 删除
handleRemove
(
row
)
{
deleteAdmin
({
id
:
row
.
id
}).
then
(()
=>
{
this
.
$message
({
type
:
'success'
,
message
:
'删除成功'
})
this
.
$refs
.
list
.
refetch
()
})
}
}
}
</
script
>
src/modules/school/admin/views/Update.vue
0 → 100644
浏览文件 @
5919a7f0
<
template
>
<app-card>
<el-form
:model=
"form"
label-width=
"120px"
ref=
"form"
:rules=
"rules"
>
<!-- 姓名 -->
<el-form-item
label=
"姓名"
prop=
"personal_name"
>
<el-input
v-model=
"form.personal_name"
maxlength=
"40"
></el-input>
</el-form-item>
<!-- 手机号 -->
<el-form-item
label=
"手机号"
prop=
"telephone"
>
<el-input
v-model=
"form.telephone"
maxlength=
"11"
></el-input>
</el-form-item>
<el-form-item
label=
"绑定班级"
prop=
"classes_id"
>
<el-tag
v-for=
"(item, index) in form.classes_id"
:key=
"index"
size=
"default"
closable
disable-transitions
@
close=
"handleClose(index)"
>
{{
item
.
name
}}
</el-tag>
<el-autocomplete
class=
"input-new-tag"
v-if=
"inputVisible"
v-model=
"inputValue"
ref=
"saveTagInput"
value-key=
"class_name"
popper-class=
"popper-new-tag"
:fetch-suggestions=
"querySearchAsync"
@
select=
"handleSelect"
@
blur=
"handleBlur"
>
</el-autocomplete>
<el-button
v-else
class=
"button-new-tag"
@
click=
"showInput"
>
添加
</el-button>
</el-form-item>
<!--密码 -->
<el-form-item
label=
"密码"
prop=
"password"
v-if=
"!this.id"
>
<el-input
v-model=
"form.password"
type=
"password"
show-password
></el-input>
</el-form-item>
<!-- 邮箱 -->
<el-form-item
label=
"邮箱"
prop=
"email"
>
<el-input
v-model=
"form.email"
></el-input>
</el-form-item>
<el-form-item>
<el-button
@
click=
"cancel"
>
取消
</el-button>
<el-button
type=
"primary"
@
click=
"submit"
>
提交
</el-button>
</el-form-item>
</el-form>
</app-card>
</
template
>
<
script
>
import
{
getAdminDetail
,
createAdmin
,
updateAdmin
,
getClassList
}
from
'../api'
export
default
{
data
()
{
return
{
form
:
{
personal_name
:
''
,
telephone
:
''
,
password
:
''
,
email
:
''
,
classes_id
:
[]
},
rules
:
{
personal_name
:
[
{
required
:
true
,
message
:
'请输入姓名'
,
trigger
:
'blur'
},
{
min
:
0
,
max
:
40
,
message
:
'您最多可输入40 个字符'
,
trigger
:
'blur'
}
],
telephone
:
[{
required
:
true
,
message
:
'请输入手机号'
,
trigger
:
'blur'
}],
password
:
[{
required
:
true
,
message
:
'请输入密码'
,
trigger
:
'blur'
}],
classes_id
:
[{
required
:
true
,
message
:
'请绑定班级'
,
trigger
:
'change'
}]
},
inputValue
:
''
,
inputVisible
:
false
}
},
computed
:
{
id
()
{
return
this
.
$route
.
query
.
id
}
},
mounted
()
{
if
(
this
.
id
)
{
this
.
getDetail
()
// 获取班级详情信息
}
},
methods
:
{
getDetail
()
{
getAdminDetail
({
id
:
this
.
id
}).
then
(
res
=>
{
this
.
form
=
res
.
data
})
},
cancel
()
{
this
.
$router
.
go
(
-
1
)
},
submit
()
{
this
.
$refs
.
form
.
validate
().
then
(()
=>
{
this
.
id
?
this
.
edit
()
:
this
.
create
()
})
},
// 创建管理员
create
()
{
const
classIds
=
this
.
form
.
classes_id
.
map
(
item
=>
item
.
id
)
const
params
=
Object
.
assign
({},
this
.
form
,
{
classes_id
:
classIds
.
join
(
','
)
})
createAdmin
(
params
).
then
(()
=>
{
this
.
$message
.
success
(
'创建成功'
)
this
.
$router
.
push
({
name
:
'admin'
})
})
},
// 编辑管理员
edit
()
{
const
classIds
=
this
.
form
.
classes_id
.
map
(
item
=>
item
.
id
)
const
params
=
Object
.
assign
({
id
:
this
.
id
},
this
.
form
,
{
classes_id
:
classIds
.
join
(
','
)
})
updateAdmin
(
params
).
then
(()
=>
{
this
.
$message
.
success
(
'更新成功'
)
this
.
$router
.
push
({
name
:
'admin'
})
})
},
handleClose
(
index
)
{
this
.
form
.
classes_id
.
splice
(
index
,
1
)
},
showInput
()
{
this
.
inputVisible
=
true
this
.
$nextTick
(()
=>
{
this
.
$refs
.
saveTagInput
.
$refs
.
input
.
focus
()
})
},
querySearchAsync
(
queryString
,
cb
)
{
getClassList
({
class_name
:
queryString
}).
then
(
res
=>
{
const
list
=
res
.
data
.
list
cb
(
list
.
filter
(
data
=>
!
this
.
form
.
classes_id
.
find
(
item
=>
item
.
id
===
data
.
id
)))
})
},
handleSelect
(
data
)
{
this
.
form
.
classes_id
.
push
({
id
:
data
.
id
,
name
:
data
.
class_name
})
this
.
inputVisible
=
false
this
.
inputValue
=
''
},
handleBlur
()
{
setTimeout
(()
=>
{
this
.
inputVisible
=
false
this
.
inputValue
=
''
},
200
)
}
}
}
</
script
>
<
style
scoped
>
.el-tag
{
margin-right
:
10px
;
}
.button-new-tag
{
height
:
32px
;
line-height
:
30px
;
padding-top
:
0
;
padding-bottom
:
0
;
}
.input-new-tag
{
width
:
100px
;
vertical-align
:
bottom
;
}
</
style
>
<
style
>
.popper-new-tag
{
min-width
:
100px
;
width
:
auto
!important
;
}
</
style
>
src/modules/school/cert/views/List.vue
浏览文件 @
5919a7f0
...
@@ -13,8 +13,7 @@
...
@@ -13,8 +13,7 @@
type=
"date"
type=
"date"
value-format=
"yyyy-MM-dd"
value-format=
"yyyy-MM-dd"
placeholder=
"开始日期"
placeholder=
"开始日期"
style=
"width: 140px"
style=
"width: 140px"
>
>
</el-date-picker>
</el-date-picker>
<span
style=
"padding-left: 10px; color: #606266"
>
-
</span>
<span
style=
"padding-left: 10px; color: #606266"
>
-
</span>
</
template
>
</
template
>
...
@@ -24,34 +23,31 @@
...
@@ -24,34 +23,31 @@
type=
"date"
type=
"date"
value-format=
"yyyy-MM-dd"
value-format=
"yyyy-MM-dd"
placeholder=
"结束日期"
placeholder=
"结束日期"
style=
"width: 140px"
style=
"width: 140px"
>
>
</el-date-picker>
</el-date-picker>
</
template
>
</
template
>
<div
style=
"margin-bottom: 20px"
>
<el-button
type=
"primary"
@
click=
"importDialogVisible = true"
>
更新证书
</el-button>
</div>
<
template
v-slot:table-x=
"{ row }"
>
<
template
v-slot:table-x=
"{ row }"
>
<router-link
<router-link
:to=
"
{ path: './cert/details', query: { id: row.student_id, name: row.personal_name } }"
:to=
"
{ path: './cert/details', query: { id: row.student_id, name: row.personal_name } }"
target="_blank"
target="_blank"
v-permission="'menu_certificate_view'"
v-permission="'menu_certificate_view'">
>
<el-button
type=
"primary"
size=
"mini"
plain
>
查看
</el-button>
<el-button
type=
"primary"
size=
"mini"
plain
>
查看
</el-button>
</router-link>
</router-link>
</
template
>
</
template
>
<div
class=
"buttons"
v-permission=
"'menu_certificate_download'"
>
<el-row
type=
"flex"
justify=
"space-between"
style=
"margin-bottom: 20px"
>
<a
:href=
"exportUrl"
download
target=
"_blank"
>
<div
class=
"buttons"
v-permission=
"'menu_certificate_download'"
>
<el-button
type=
"primary"
icon=
"el-icon-download"
>
导出
</el-button>
<a
:href=
"exportUrl"
download
target=
"_blank"
>
</a>
<el-button
type=
"primary"
icon=
"el-icon-download"
>
导出
</el-button>
<span
style=
"font-size: 12px; padding: 0 10px; color: #606266"
>
导出当前搜索结果
</span>
</a>
</div>
<span
style=
"font-size: 12px; padding: 0 10px; color: #606266"
>
导出当前搜索结果
</span>
</div>
<el-button
type=
"primary"
@
click=
"importDialogVisible = true"
>
更新证书
</el-button>
</el-row>
</app-list>
</app-list>
<import-people
<import-people
@
cancel=
"importDialogVisible = false"
@
cancel=
"importDialogVisible = false"
width=
"400px"
width=
"400px"
:visible
.
sync=
"importDialogVisible"
:visible
.
sync=
"importDialogVisible"
></import-people>
></import-people>
</app-card>
</app-card>
</template>
</template>
...
...
src/modules/school/class/views/Update.vue
浏览文件 @
5919a7f0
...
@@ -12,17 +12,17 @@
...
@@ -12,17 +12,17 @@
</el-form-item>
</el-form-item>
<el-form-item
label=
"证书类型"
prop=
"certificate_type"
>
<el-form-item
label=
"证书类型"
prop=
"certificate_type"
>
<div
class=
"cert-item"
>
<div
class=
"cert-item"
>
<div
:class=
"form.certificate_type == '1' ? 'item active' : 'item'"
@
click=
"changeType('1')"
>
<div
class=
"item"
:class=
"
{ active: form.certificate_type == item.type }"
@click="changeType(item.type)"
v-for="item in certList"
:key="item.type">
<img
:src=
"item.image_url"
/>
<p>
{{
item
.
title
}}
</p>
<div
class=
"pop"
>
<div
class=
"pop"
>
<i
class=
"el-icon-success"
></i>
<i
class=
"el-icon-success"
></i>
</div>
</div>
<img
src=
"https://webapp-pub.oss-cn-beijing.aliyuncs.com/project/fd/zs-admin.png"
/>
</div>
<div
:class=
"form.certificate_type == '2' ? 'item active' : 'item'"
@
click=
"changeType('2')"
>
<div
class=
"pop"
>
<i
class=
"el-icon-success"
></i>
</div>
<img
src=
"https://webapp-pub.oss-cn-beijing.aliyuncs.com/project/fd/zs2.png"
/>
</div>
</div>
</div>
</div>
</el-form-item>
</el-form-item>
...
@@ -57,7 +57,24 @@ export default {
...
@@ -57,7 +57,24 @@ export default {
class_number
:
[{
min
:
0
,
max
:
40
,
message
:
'您最多可输入40 个字符'
,
trigger
:
'blur'
}],
class_number
:
[{
min
:
0
,
max
:
40
,
message
:
'您最多可输入40 个字符'
,
trigger
:
'blur'
}],
class_describe
:
[{
min
:
0
,
max
:
100
,
message
:
'您最多可输入50个字符'
,
trigger
:
'blur'
}],
class_describe
:
[{
min
:
0
,
max
:
100
,
message
:
'您最多可输入50个字符'
,
trigger
:
'blur'
}],
certificate_type
:
{
required
:
true
,
message
:
''
}
certificate_type
:
{
required
:
true
,
message
:
''
}
}
},
certList
:
[
{
type
:
'1'
,
image_url
:
'https://webapp-pub.ezijing.com/project/fd/zs-admin.png'
,
title
:
'单章40课时'
},
{
type
:
'2'
,
image_url
:
'https://webapp-pub.ezijing.com/project/fd/zs2.png'
,
title
:
'双章18课时'
},
{
type
:
'3'
,
image_url
:
'https://webapp-pub.ezijing.com/project/fd/zs-admin.png'
,
title
:
'单章18课时'
}
]
}
}
},
},
watch
:
{
watch
:
{
...
@@ -139,11 +156,11 @@ export default {
...
@@ -139,11 +156,11 @@ export default {
}
}
.pop
{
.pop
{
opacity
:
0
;
opacity
:
0
;
width
:
100%
;
height
:
100%
;
position
:
absolute
;
position
:
absolute
;
top
:
0
;
top
:
0
;
left
:
0
;
left
:
0
;
right
:
0
;
bottom
:
30px
;
background
:
rgba
(
0
,
0
,
0
,
0
.5
);
background
:
rgba
(
0
,
0
,
0
,
0
.5
);
display
:
flex
;
display
:
flex
;
align-items
:
center
;
align-items
:
center
;
...
@@ -157,6 +174,11 @@ export default {
...
@@ -157,6 +174,11 @@ export default {
width
:
100%
;
width
:
100%
;
display
:
block
;
display
:
block
;
}
}
p
{
color
:
#f00
;
line-height
:
30px
;
text-align
:
center
;
}
}
}
}
}
</
style
>
</
style
>
src/modules/school/student/views/Detail.vue
浏览文件 @
5919a7f0
<
template
>
<
template
>
<app-card>
<app-card>
<el-form
:model=
"form"
label-width=
"120px"
>
<el-form
:model=
"form"
label-width=
"120px"
disabled
>
<!-- 姓名 -->
<!-- 姓名 -->
<el-form-item
label=
"姓名"
prop=
"personal_name"
>
<el-form-item
label=
"姓名"
prop=
"personal_name"
>
<el-input
v-model=
"form.personal_name"
disabled
></el-input>
<el-input
v-model=
"form.personal_name"
></el-input>
</el-form-item>
</el-form-item>
<el-form-item
label=
"性别"
prop=
"gender"
>
<el-form-item
label=
"性别"
prop=
"gender"
>
<el-input
v-model=
"form.gender"
disabled
></el-input>
<el-input
v-model=
"form.gender"
></el-input>
</el-form-item>
</el-form-item>
<!-- 手机号 -->
<!-- 手机号 -->
<el-form-item
label=
"手机号"
prop=
"telephone"
>
<el-form-item
label=
"手机号"
prop=
"telephone"
>
<el-input
type=
"number"
v-model=
"form.telephone"
disabled
></el-input>
<el-input
v-model=
"form.telephone"
></el-input>
</el-form-item>
</el-form-item>
<!--学号 -->
<!--学号 -->
<el-form-item
label=
"学号"
prop=
"sno"
>
<el-form-item
label=
"学号"
prop=
"sno"
>
<el-input
v-model=
"form.sno"
disabled
></el-input>
<el-input
v-model=
"form.sno"
></el-input>
</el-form-item>
</el-form-item>
<!-- 邮箱 -->
<!-- 邮箱 -->
<el-form-item
label=
"邮箱"
prop=
"email"
>
<el-form-item
label=
"邮箱"
prop=
"email"
>
<el-input
v-model=
"form.email"
disabled
></el-input>
<el-input
v-model=
"form.email"
></el-input>
</el-form-item>
</el-form-item>
<el-form-item
label=
"身份证号"
prop=
"id_number"
>
<el-form-item
label=
"身份证号"
prop=
"id_number"
>
<el-input
v-model=
"form.id_number"
disabled
></el-input>
<el-input
v-model=
"form.id_number"
></el-input>
</el-form-item>
</el-form-item>
<el-form-item
label=
"公司"
prop=
"school"
>
<el-form-item
label=
"公司"
prop=
"school"
>
<el-input
v-model=
"form.school"
disabled
></el-input>
<el-input
v-model=
"form.school"
></el-input>
</el-form-item>
</el-form-item>
<el-form-item
label=
"课程有效期"
prop=
"expiration_time"
>
<el-form-item
label=
"课程有效期"
prop=
"expiration_time"
>
<el-date-picker
v-model=
"form.expiration_time"
type=
"date"
disabled
>
</el-date-picker>
<el-date-picker
v-model=
"form.expiration_time"
type=
"date"
>
</el-date-picker>
</el-form-item>
</el-form-item>
</el-form>
</el-form>
</app-card>
</app-card>
...
...
src/modules/school/student/views/Update.vue
浏览文件 @
5919a7f0
...
@@ -19,7 +19,7 @@
...
@@ -19,7 +19,7 @@
</el-form-item>
</el-form-item>
<!-- 手机号 -->
<!-- 手机号 -->
<el-form-item
label=
"电话"
prop=
"telephone"
>
<el-form-item
label=
"电话"
prop=
"telephone"
>
<el-input
v-model=
"form.telephone"
maxlength=
"11"
type=
"number"
></el-input>
<el-input
v-model=
"form.telephone"
maxlength=
"11"
></el-input>
</el-form-item>
</el-form-item>
<el-form-item
label=
"密码"
prop=
"password"
v-if=
"!this.id"
>
<el-form-item
label=
"密码"
prop=
"password"
v-if=
"!this.id"
>
<el-input
v-model=
"form.password"
show-password
></el-input>
<el-input
v-model=
"form.password"
show-password
></el-input>
...
...
src/modules/school/teacher/views/Detail.vue
浏览文件 @
5919a7f0
<
template
>
<
template
>
<app-card>
<app-card>
<el-form
:model=
"form"
label-width=
"120px"
>
<el-form
:model=
"form"
label-width=
"120px"
disabled
>
<!-- 姓名 -->
<!-- 姓名 -->
<el-form-item
label=
"姓名"
prop=
"personal_name"
>
<el-form-item
label=
"姓名"
prop=
"personal_name"
>
<el-input
v-model=
"form.personal_name"
disabled
></el-input>
<el-input
v-model=
"form.personal_name"
></el-input>
</el-form-item>
</el-form-item>
<!-- 手机号 -->
<!-- 手机号 -->
<el-form-item
label=
"手机号"
prop=
"telephone"
>
<el-form-item
label=
"手机号"
prop=
"telephone"
>
<el-input
type=
"number"
v-model=
"form.telephone"
disabled
></el-input>
<el-input
v-model=
"form.telephone"
></el-input>
</el-form-item>
</el-form-item>
<!-- 邮箱 -->
<!-- 邮箱 -->
<el-form-item
label=
"邮箱"
prop=
"email"
>
<el-form-item
label=
"邮箱"
prop=
"email"
>
<el-input
v-model=
"form.email"
disabled
></el-input>
<el-input
v-model=
"form.email"
></el-input>
</el-form-item>
</el-form-item>
<!--密码 -->
<!--密码 -->
<el-form-item
label=
"创建日期"
prop=
"created_time"
>
<el-form-item
label=
"创建日期"
prop=
"created_time"
>
<el-input
v-model=
"form.created_time"
disabled
></el-input>
<el-input
v-model=
"form.created_time"
></el-input>
</el-form-item>
</el-form-item>
<!-- 工号 -->
<!-- 工号 -->
<el-form-item
label=
"更新日期"
prop=
"updated_time"
>
<el-form-item
label=
"更新日期"
prop=
"updated_time"
>
<el-input
v-model=
"form.updated_time"
disabled
></el-input>
<el-input
v-model=
"form.updated_time"
></el-input>
</el-form-item>
</el-form-item>
</el-form>
</el-form>
</app-card>
</app-card>
...
...
src/modules/school/teacher/views/Update.vue
浏览文件 @
5919a7f0
...
@@ -7,7 +7,7 @@
...
@@ -7,7 +7,7 @@
</el-form-item>
</el-form-item>
<!-- 手机号 -->
<!-- 手机号 -->
<el-form-item
label=
"手机号"
prop=
"telephone"
>
<el-form-item
label=
"手机号"
prop=
"telephone"
>
<el-input
type=
"number"
v-model=
"form.telephone"
maxlength=
"11"
></el-input>
<el-input
v-model=
"form.telephone"
maxlength=
"11"
></el-input>
</el-form-item>
</el-form-item>
<!--密码 -->
<!--密码 -->
<el-form-item
label=
"密码"
prop=
"password"
v-if=
"!this.id"
>
<el-form-item
label=
"密码"
prop=
"password"
v-if=
"!this.id"
>
...
...
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论