提交 3c6b8eb2 authored 作者: matian's avatar matian

updates

上级 357536f5
export interface AlumniType {
id: string
project_prefix: string
sso_id: string
username: string
sex: string
birthday: string
graduating_institution: string
specialty: string
highest_qualification: string
province: string
city: string
industry: string
workplace: string
department: string
position: string
class: classType[]
}
export interface classType {
class_id: string
name: string
project_prefix: string
}
<script setup lang="ts"> <script setup lang="ts">
import { useArea } from '@/composables/useArea' import { useArea } from '@/composables/useArea'
import { allPrefixList, industryCategoryList, sexList } from '../prefix' import { allPrefixList, industryCategoryList, sexList } from '../map'
import { getAlumniList, getClassList } from '../api' import { getAlumniList, getClassList } from '../api'
import type { AlumniType } from '../types'
const appList = ref() const appList = ref()
// 省市 // 省市
const { provinceList, cityList, provinceValue, cityValue } = useArea() const { provinceList, cityList, provinceValue, cityValue } = useArea()
...@@ -68,9 +67,9 @@ const listOptions = { ...@@ -68,9 +67,9 @@ const listOptions = {
label: '性别', label: '性别',
prop: 'sex', prop: 'sex',
align: 'center', align: 'center',
computed({ row }: { row: AlumniType }) { computed(row: any) {
return sexList.filter((item: any) => { return sexList.filter((item: any) => {
if (item.value === row.sex) { if (item.value === row.row.sex) {
return item return item
} }
})[0]?.label })[0]?.label
...@@ -81,9 +80,9 @@ const listOptions = { ...@@ -81,9 +80,9 @@ const listOptions = {
label: '项目', label: '项目',
prop: 'project_prefix', prop: 'project_prefix',
align: 'center', align: 'center',
computed({ row }: { row: AlumniType }) { computed(row: any) {
return allPrefixList.filter((item: any) => { return allPrefixList.filter((item: any) => {
if (item.prefix === row.project_prefix) { if (item.prefix === row.row.project_prefix) {
return item return item
} }
})[0]?.name })[0]?.name
...@@ -143,6 +142,7 @@ onMounted(() => { ...@@ -143,6 +142,7 @@ onMounted(() => {
<template> <template>
<AppCard> <AppCard>
<AppList v-bind="listOptions" ref="appList"> <AppList v-bind="listOptions" ref="appList">
<!-- 项目 -->
<template #filter-project="{ params }"> <template #filter-project="{ params }">
<div style="display: block; width: 180px"> <div style="display: block; width: 180px">
<el-select <el-select
...@@ -156,6 +156,7 @@ onMounted(() => { ...@@ -156,6 +156,7 @@ onMounted(() => {
</el-select> </el-select>
</div> </div>
</template> </template>
<!-- 班级 -->
<template #filter-class="{ params }"> <template #filter-class="{ params }">
<div style="display: block; width: 180px"> <div style="display: block; width: 180px">
<el-select <el-select
...@@ -172,6 +173,7 @@ onMounted(() => { ...@@ -172,6 +173,7 @@ onMounted(() => {
</el-select> </el-select>
</div> </div>
</template> </template>
<!-- 省份 -->
<template #filter-province> <template #filter-province>
<div style="display: block; width: 180px"> <div style="display: block; width: 180px">
<el-select <el-select
......
<script setup lang="ts"> <script setup lang="ts">
import { getAlumniView } from '../api' import { getAlumniView } from '../api'
import type { AlumniType } from '../types' import { allPrefixList, highGraduation, sexList } from '../map'
import { allPrefixList, highGraduation, sexList } from '../prefix'
const route = useRoute() const route = useRoute()
// let detailList: AlumniType = reactive({
// id: '',
// project_prefix: '',
// sso_id: '',
// username: '',
// sex: '',
// birthday: '',
// graduating_institution: '',
// specialty: '',
// highest_qualification: '',
// province: '',
// city: '',
// industry: '',
// workplace: '',
// department: '',
// position: '',
// class: []
// })
let project: any = ref([]) let project: any = ref([])
const detailList: any = ref({}) const detailList: any = ref({})
onMounted(() => { onMounted(() => {
...@@ -40,41 +21,47 @@ const getAlumniDetail = () => { ...@@ -40,41 +21,47 @@ const getAlumniDetail = () => {
<template> <template>
<AppCard title="校友详情"> <AppCard title="校友详情">
<el-descriptions :column="3" title="基本信息"> <el-descriptions :column="3" title="基本信息">
<el-descriptions-item label="姓名:">{{ detailList?.username }}</el-descriptions-item> <el-descriptions-item label="姓名:" width="150px">{{ detailList?.username }}</el-descriptions-item>
<el-descriptions-item label="性别:"> <el-descriptions-item label="性别:" width="150px">
{{ sexList.filter(item => item.value === detailList?.sex)[0]?.label }} {{ sexList.filter(item => item.value === detailList?.sex)[0]?.label }}
</el-descriptions-item> </el-descriptions-item>
<el-descriptions-item label="出生日期:">{{ detailList?.birthday }}</el-descriptions-item> <el-descriptions-item label="出生日期:" width="150px">{{ detailList?.birthday }}</el-descriptions-item>
<el-descriptions-item label="毕业院校:"> <el-descriptions-item label="毕业院校:" width="150px">
{{ detailList?.graduating_institution }} {{ detailList?.graduating_institution }}
</el-descriptions-item> </el-descriptions-item>
<el-descriptions-item label="专业:"> <el-descriptions-item label="专业:" width="150px">
{{ detailList?.specialty }} {{ detailList?.specialty }}
</el-descriptions-item> </el-descriptions-item>
<el-descriptions-item label="最高学历:"> <el-descriptions-item label="最高学历:" width="150px">
{{ {{
highGraduation.filter(item => item.value === detailList?.highest_qualification)[0]?.label || highGraduation.filter(item => item.value === detailList?.highest_qualification)[0]?.label ||
detailList?.highest_qualification detailList?.highest_qualification
}} }}
</el-descriptions-item> </el-descriptions-item>
<el-descriptions-item label="省份:">{{ detailList?.province }}</el-descriptions-item> <el-descriptions-item label="省份:" width="150px">{{ detailList?.province }}</el-descriptions-item>
<el-descriptions-item label="城市:">{{ detailList?.city }}</el-descriptions-item> <el-descriptions-item label="城市:" width="150px">{{ detailList?.city }}</el-descriptions-item>
<el-descriptions-item label="项目:">{{ project.length ? project[0].name : '' }}</el-descriptions-item> <el-descriptions-item label="项目:" width="150px">{{
<el-descriptions-item label="班级:"> project.length ? project[0].name : ''
}}</el-descriptions-item>
<el-descriptions-item label="班级:" width="150px">
{{ detailList?.class?.name }} {{ detailList?.class?.name }}
</el-descriptions-item> </el-descriptions-item>
<el-descriptions-item label="工作单位:">{{ detailList?.workplace }}</el-descriptions-item> <el-descriptions-item label="工作单位:" width="150px">{{ detailList?.workplace }}</el-descriptions-item>
<el-descriptions-item label="行业类别:">{{ detailList?.industry }}</el-descriptions-item> <el-descriptions-item label="行业类别:" width="150px">{{ detailList?.industry }}</el-descriptions-item>
<el-descriptions-item label="工作部门:">{{ detailList?.department }}</el-descriptions-item> <el-descriptions-item label="工作部门:" width="150px">{{ detailList?.department }}</el-descriptions-item>
<el-descriptions-item label="工作职位:">{{ detailList?.position }}</el-descriptions-item> <el-descriptions-item label="工作职位:" width="150px">{{ detailList?.position }}</el-descriptions-item>
</el-descriptions> </el-descriptions>
<el-divider /> <el-divider />
<el-descriptions :column="3" title="企业信息"> <el-descriptions :column="3" title="企业信息">
<el-descriptions-item label="状态:">{{ <el-descriptions-item label="状态:" width="150px">{{
detailList?.company?.is_registered_company === true ? '已注册' : '未注册' detailList?.company?.is_registered_company === true ? '已注册' : '未注册'
}}</el-descriptions-item> }}</el-descriptions-item>
<el-descriptions-item label="工作单位:">{{ detailList?.company?.company_name || '暂无' }}</el-descriptions-item> <el-descriptions-item label="工作单位:" width="150px">{{
<el-descriptions-item label="岗位数量:">{{ detailList?.company?.position_count }}</el-descriptions-item> detailList?.company?.company_name || '暂无'
}}</el-descriptions-item>
<el-descriptions-item label="岗位数量:" width="150px">{{
detailList?.company?.position_count
}}</el-descriptions-item>
</el-descriptions> </el-descriptions>
</AppCard> </AppCard>
</template> </template>
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论