Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
S
saas-hr-admin
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
图表
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
EzijingWeb
saas-hr-admin
Commits
a77721dd
提交
a77721dd
authored
6月 19, 2022
作者:
matian
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
fix:修改班级不显示问题
上级
9090d9d4
隐藏空白字符变更
内嵌
并排
正在显示
3 个修改的文件
包含
109 行增加
和
57 行删除
+109
-57
api.ts
src/modules/alumni/api.ts
+10
-0
List.vue
src/modules/alumni/views/List.vue
+93
-54
View.vue
src/modules/alumni/views/View.vue
+6
-3
没有找到文件。
src/modules/alumni/api.ts
浏览文件 @
a77721dd
...
...
@@ -18,3 +18,13 @@ export function getAlumniList(params?: {
export
function
getAlumniView
(
params
:
{
id
:
string
})
{
return
httpRequest
.
get
(
`/api/hr/admin/v1/alumni-tenant/
${
params
.
id
}
`
,
{
params
})
}
// 获取班级列表
export
function
getClassList
(
params
:
{
page
?:
number
limit
?:
number
project_prefix
:
string
id
:
string
name
:
string
})
{
return
httpRequest
.
get
(
`/api/hr/admin/v1/classes`
,
{
params
})
}
src/modules/alumni/views/List.vue
浏览文件 @
a77721dd
<
script
setup
lang=
"ts"
>
import
{
useInfiniteScroll
}
from
'@vueuse/core'
import
{
ref
}
from
'vue'
import
{
getAlumniList
}
from
'../api'
import
{
getAlumniList
,
getClassList
}
from
'../api'
const
appList
=
ref
()
const
listOptions
=
{
remote
:
{
httpRequest
:
getAlumniList
,
params
:
{
project_prefix
:
''
,
username
:
''
,
sex
:
''
,
class_id
:
''
,
province
:
''
,
city
:
''
,
industry
:
''
,
workplace
:
''
}
},
filters
:
[
{
type
:
'input'
,
prop
:
'username'
,
placeholder
:
'姓名'
},
{
type
:
'select'
,
prop
:
'sex'
,
placeholder
:
'性别'
,
options
:
[
{
value
:
'0'
,
label
:
'女士'
},
{
value
:
'1'
,
label
:
'先生'
},
{
value
:
'2'
,
label
:
'未知'
}
]
},
{
type
:
'input'
,
prop
:
'class_id'
,
placeholder
:
'班级'
},
{
type
:
'input'
,
prop
:
'province'
,
placeholder
:
'省份'
},
{
type
:
'input'
,
prop
:
'city'
,
placeholder
:
'城市'
},
{
type
:
'input'
,
prop
:
'industry'
,
placeholder
:
'所在行业'
},
{
type
:
'input'
,
prop
:
'workplace'
,
placeholder
:
'工作单位'
}
],
columns
:
[
{
label
:
'姓名'
,
prop
:
'username'
,
align
:
'center'
},
{
label
:
'性别'
,
prop
:
'sex'
,
align
:
'center'
,
computed
(
row
:
any
)
{
if
(
row
.
row
.
sex
===
'0'
)
{
return
'女士'
}
else
if
(
row
.
row
.
sex
===
'1'
)
{
return
'先生'
}
else
if
(
row
.
row
.
sex
===
'2'
)
{
return
'未知'
}
interface
classList
{
loading
:
boolean
page
:
number
total
:
number
list
:
any
[]
}
const
classListItem
=
reactive
<
classList
>
({
loading
:
false
,
page
:
1
,
total
:
0
,
list
:
[]
})
onMounted
(()
=>
{
handleGetClassList
()
})
const
handleGetClassList
=
()
=>
{
const
params
=
{
page
:
classListItem
.
page
,
limit
:
10000
,
project_prefix
:
''
,
id
:
''
,
name
:
''
}
getClassList
(
params
).
then
((
res
:
any
)
=>
{
classListItem
.
list
=
res
.
data
.
data
console
.
log
(
classListItem
)
})
}
const
listOptions
=
$computed
(()
=>
{
return
{
remote
:
{
httpRequest
:
getAlumniList
,
params
:
{
project_prefix
:
''
,
username
:
''
,
sex
:
''
,
class_id
:
''
,
province
:
''
,
city
:
''
,
industry
:
''
,
workplace
:
''
}
},
{
label
:
'班级'
,
prop
:
'name'
,
align
:
'center'
},
{
label
:
'省份'
,
prop
:
'province'
,
align
:
'center'
},
{
label
:
'城市'
,
prop
:
'city'
,
align
:
'center'
},
{
label
:
'所在行业'
,
prop
:
'industry'
,
align
:
'center'
},
{
label
:
'工作单位'
,
prop
:
'workplace'
,
align
:
'center'
},
{
label
:
'操作'
,
slots
:
'table-operate'
,
width
:
230
,
align
:
'center'
}
]
filters
:
[
{
type
:
'input'
,
prop
:
'username'
,
placeholder
:
'姓名'
},
{
type
:
'select'
,
prop
:
'sex'
,
placeholder
:
'性别'
,
options
:
[
{
value
:
'0'
,
label
:
'女士'
},
{
value
:
'1'
,
label
:
'先生'
},
{
value
:
'2'
,
label
:
'未知'
}
]
},
{
prop
:
'class_id'
,
slots
:
'filter-class'
},
{
type
:
'input'
,
prop
:
'province'
,
placeholder
:
'省份'
},
{
type
:
'input'
,
prop
:
'city'
,
placeholder
:
'城市'
},
{
type
:
'input'
,
prop
:
'industry'
,
placeholder
:
'所在行业'
},
{
type
:
'input'
,
prop
:
'workplace'
,
placeholder
:
'工作单位'
}
],
columns
:
[
{
label
:
'姓名'
,
prop
:
'username'
,
align
:
'center'
},
{
label
:
'性别'
,
prop
:
'sex'
,
align
:
'center'
,
computed
(
row
:
any
)
{
if
(
row
.
row
.
sex
===
'0'
)
{
return
'女士'
}
else
if
(
row
.
row
.
sex
===
'1'
)
{
return
'先生'
}
else
if
(
row
.
row
.
sex
===
'2'
)
{
return
'未知'
}
}
},
{
label
:
'班级'
,
prop
:
'class.name'
,
align
:
'center'
},
{
label
:
'省份'
,
prop
:
'province'
,
align
:
'center'
},
{
label
:
'城市'
,
prop
:
'city'
,
align
:
'center'
},
{
label
:
'所在行业'
,
prop
:
'industry'
,
align
:
'center'
},
{
label
:
'工作单位'
,
prop
:
'workplace'
,
align
:
'center'
},
{
label
:
'操作'
,
slots
:
'table-operate'
,
width
:
230
,
align
:
'center'
}
]
}
})
const
handleFresh
=
()
=>
{
appList
.
value
.
refetch
()
}
</
script
>
<
template
>
<AppCard>
<AppList
v-bind=
"listOptions"
ref=
"appList"
>
<template
#
filter-class=
"
{ params }">
<el-select
@
change=
"handleFresh"
clearable
v-model=
"params.class_id"
placeholder=
"班级"
ref=
"el"
>
<el-option
v-for=
"item in classListItem.list"
:key=
"item.id"
:label=
"item.name"
:value=
"item.class_id"
/>
</el-select>
</
template
>
<
template
#
table-operate=
"{ row }"
>
<el-space>
<router-link
:to=
"`/alumni/view?id=$
{row.id}`">
...
...
src/modules/alumni/views/View.vue
浏览文件 @
a77721dd
...
...
@@ -12,6 +12,7 @@ const getAlumniDetail = () => {
const
params
:
any
=
{
id
:
route
.
query
.
id
}
getAlumniView
(
params
).
then
((
res
:
any
)
=>
{
detailList
.
value
=
res
.
data
.
detail
console
.
log
(
detailList
)
project
.
value
=
allPrefixList
.
filter
((
item
:
any
)
=>
item
.
prefix
===
detailList
.
value
.
project_prefix
)
})
}
...
...
@@ -19,9 +20,9 @@ const sex = computed(() => {
if
(
detailList
.
value
.
sex
===
'0'
)
{
return
'女士'
}
else
if
(
detailList
.
value
.
sex
===
'1'
)
{
return
'
女士
'
return
'
先生
'
}
else
if
(
detailList
.
value
.
sex
===
'2'
)
{
return
'
女士
'
return
'
未知
'
}
})
</
script
>
...
...
@@ -44,7 +45,9 @@ const sex = computed(() => {
<el-descriptions-item
label=
"省份:"
>
{{
detailList
?.
province
}}
</el-descriptions-item>
<el-descriptions-item
label=
"城市:"
>
{{
detailList
?.
city
}}
</el-descriptions-item>
<el-descriptions-item
label=
"项目:"
>
{{
project
.
length
?
project
[
0
].
name
:
''
}}
</el-descriptions-item>
<el-descriptions-item
label=
"班级:"
>
{{
detailList
?.
name
}}
</el-descriptions-item>
<el-descriptions-item
label=
"班级:"
>
<span
v-for=
"(item, index) in detailList.class"
:key=
"index"
>
{{
item
.
name
}}
</span>
</el-descriptions-item>
<el-descriptions-item
label=
"工作单位:"
>
{{
detailList
?.
workplace
}}
</el-descriptions-item>
<el-descriptions-item
label=
"行业类别:"
>
{{
detailList
?.
industry
}}
</el-descriptions-item>
<el-descriptions-item
label=
"工作部门:"
>
{{
detailList
?.
department
}}
</el-descriptions-item>
...
...
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论