调整信息维护页面并修复项目概览统计

This commit is contained in:
wkc
2026-05-06 18:22:26 +08:00
parent 051650370e
commit 987afc3863
33 changed files with 774 additions and 1833 deletions

View File

@@ -132,96 +132,94 @@
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
</el-row>
<div class="formal-table-shell">
<el-table v-loading="loading" :data="recruitmentList" @selection-change="handleSelectionChange">
<el-table-column type="selection" width="55" align="center" />
<el-table-column label="招聘记录编号" align="center" prop="recruitId" width="150" :show-overflow-tooltip="true"/>
<el-table-column label="招聘项目名称" align="center" prop="recruitName" min-width="220" :show-overflow-tooltip="true"/>
<el-table-column label="职位名称" align="center" prop="posName" :show-overflow-tooltip="true"/>
<el-table-column label="候选人姓名" align="center" prop="candName" width="120"/>
<el-table-column label="录用情况" align="center" prop="admitStatus" width="100">
<template slot-scope="scope">
<el-tag v-if="scope.row.admitStatus === '录用'" type="success" size="small">录用</el-tag>
<el-tag v-else-if="scope.row.admitStatus === '未录用'" type="info" size="small">未录用</el-tag>
<el-tag v-else type="warning" size="small">放弃</el-tag>
</template>
</el-table-column>
<el-table-column label="学历 / 毕业学校" align="center" min-width="180">
<template slot-scope="scope">
<span>{{ formatEducationSchool(scope.row) }}</span>
</template>
</el-table-column>
<el-table-column label="招聘类型" align="center" prop="recruitType" width="100">
<template slot-scope="scope">
<el-tag :type="scope.row.recruitType === 'SOCIAL' ? 'success' : 'info'" size="small">
{{ formatRecruitType(scope.row.recruitType) }}
</el-tag>
</template>
</el-table-column>
<el-table-column label="历史工作经历" align="center" prop="workExperienceCount" width="120">
<template slot-scope="scope">
{{ formatWorkExperienceCount(scope.row) }}
</template>
</el-table-column>
<el-table-column label="操作" align="center" class-name="small-padding fixed-width" width="200">
<template slot-scope="scope">
<el-button
v-if="isPreviewMode()"
size="mini"
type="text"
icon="el-icon-view"
@click="handleDetail(scope.row)"
>详情</el-button>
<el-button
v-else
size="mini"
type="text"
icon="el-icon-view"
@click="handleDetail(scope.row)"
v-hasPermi="['ccdi:staffRecruitment:query']"
>详情</el-button>
<el-button
v-if="isPreviewMode()"
size="mini"
type="text"
icon="el-icon-edit"
@click="handleUpdate(scope.row)"
>编辑</el-button>
<el-button
v-else
size="mini"
type="text"
icon="el-icon-edit"
@click="handleUpdate(scope.row)"
v-hasPermi="['ccdi:staffRecruitment:edit']"
>编辑</el-button>
<el-button
v-if="isPreviewMode()"
size="mini"
type="text"
icon="el-icon-delete"
@click="handleDelete(scope.row)"
>删除</el-button>
<el-button
v-else
size="mini"
type="text"
icon="el-icon-delete"
@click="handleDelete(scope.row)"
v-hasPermi="['ccdi:staffRecruitment:remove']"
>删除</el-button>
</template>
</el-table-column>
</el-table>
<el-table v-loading="loading" :data="recruitmentList" @selection-change="handleSelectionChange">
<el-table-column type="selection" width="55" align="center" />
<el-table-column label="招聘记录编号" align="center" prop="recruitId" width="150" :show-overflow-tooltip="true"/>
<el-table-column label="招聘项目名称" align="center" prop="recruitName" min-width="220" :show-overflow-tooltip="true"/>
<el-table-column label="职位名称" align="center" prop="posName" :show-overflow-tooltip="true"/>
<el-table-column label="候选人姓名" align="center" prop="candName" width="120"/>
<el-table-column label="录用情况" align="center" prop="admitStatus" width="100">
<template slot-scope="scope">
<el-tag v-if="scope.row.admitStatus === '录用'" type="success" size="small">录用</el-tag>
<el-tag v-else-if="scope.row.admitStatus === '录用'" type="info" size="small">录用</el-tag>
<el-tag v-else type="warning" size="small">放弃</el-tag>
</template>
</el-table-column>
<el-table-column label="学历 / 毕业学校" align="center" min-width="180">
<template slot-scope="scope">
<span>{{ formatEducationSchool(scope.row) }}</span>
</template>
</el-table-column>
<el-table-column label="招聘类型" align="center" prop="recruitType" width="100">
<template slot-scope="scope">
<el-tag :type="scope.row.recruitType === 'SOCIAL' ? 'success' : 'info'" size="small">
{{ formatRecruitType(scope.row.recruitType) }}
</el-tag>
</template>
</el-table-column>
<el-table-column label="历史工作经历" align="center" prop="workExperienceCount" width="120">
<template slot-scope="scope">
{{ formatWorkExperienceCount(scope.row) }}
</template>
</el-table-column>
<el-table-column label="操作" align="center" class-name="small-padding fixed-width" width="200">
<template slot-scope="scope">
<el-button
v-if="isPreviewMode()"
size="mini"
type="text"
icon="el-icon-view"
@click="handleDetail(scope.row)"
>详情</el-button>
<el-button
v-else
size="mini"
type="text"
icon="el-icon-view"
@click="handleDetail(scope.row)"
v-hasPermi="['ccdi:staffRecruitment:query']"
>详情</el-button>
<el-button
v-if="isPreviewMode()"
size="mini"
type="text"
icon="el-icon-edit"
@click="handleUpdate(scope.row)"
>编辑</el-button>
<el-button
v-else
size="mini"
type="text"
icon="el-icon-edit"
@click="handleUpdate(scope.row)"
v-hasPermi="['ccdi:staffRecruitment:edit']"
>编辑</el-button>
<el-button
v-if="isPreviewMode()"
size="mini"
type="text"
icon="el-icon-delete"
@click="handleDelete(scope.row)"
>删除</el-button>
<el-button
v-else
size="mini"
type="text"
icon="el-icon-delete"
@click="handleDelete(scope.row)"
v-hasPermi="['ccdi:staffRecruitment:remove']"
>删除</el-button>
</template>
</el-table-column>
</el-table>
<pagination
v-show="total>0"
:total="total"
:page.sync="queryParams.pageNum"
:limit.sync="queryParams.pageSize"
@pagination="getList"
/>
</div>
<pagination
v-show="total>0"
:total="total"
:page.sync="queryParams.pageNum"
:limit.sync="queryParams.pageSize"
@pagination="getList"
/>
<!-- 添加或修改对话框 -->
<el-dialog :title="title" :visible.sync="open" width="80%" append-to-body>
@@ -1517,12 +1515,6 @@ export default {
</script>
<style scoped>
.app-container {
min-height: calc(100vh - 84px);
padding: 24px;
background: #f5f6f8;
}
.query-form ::v-deep .el-row {
display: flex;
flex-wrap: wrap;
@@ -1534,83 +1526,6 @@ export default {
.query-form ::v-deep .el-form-item {
margin-right: 0;
margin-bottom: 16px;
}
.query-form {
margin-bottom: 16px;
padding: 18px 20px 2px;
border: 1px solid #dde3ec;
border-radius: 3px;
background: #ffffff;
}
.query-form ::v-deep .el-form-item__label {
color: #637187;
font-weight: 600;
}
.query-form ::v-deep .el-input__inner,
.query-form ::v-deep .el-select .el-input__inner {
border-color: #dde3ec;
border-radius: 3px;
}
.mb8 {
display: flex;
flex-wrap: wrap;
align-items: center;
margin-bottom: 16px;
padding: 14px 20px;
border: 1px solid #dde3ec;
border-radius: 3px;
background: #ffffff;
}
.formal-table-shell {
padding: 4px 0 16px;
border: 1px solid #dde3ec;
border-radius: 3px;
background: #ffffff;
overflow: hidden;
}
.mb8 ::v-deep .el-button {
border-radius: 4px;
}
.mb8 ::v-deep .top-right-btn {
margin-left: auto;
}
.formal-table-shell ::v-deep .el-table th {
background: #f6f8fb;
color: #607086;
padding: 9px 0;
}
.formal-table-shell ::v-deep .el-table td,
.formal-table-shell ::v-deep .el-table th.is-leaf {
border-bottom-color: #edf1f5;
}
.formal-table-shell ::v-deep .el-table td {
padding: 8px 0;
}
.formal-table-shell ::v-deep .el-table th > .cell,
.formal-table-shell ::v-deep .el-table td > .cell {
text-align: left;
line-height: 1.4;
}
.formal-table-shell ::v-deep .fixed-width .cell,
.formal-table-shell ::v-deep .el-table-column--selection .cell {
text-align: center;
}
.formal-table-shell ::v-deep .pagination-container {
padding: 16px 20px 0;
}
.detail-container {
@@ -1642,18 +1557,4 @@ export default {
.work-experience-edit-table ::v-deep .el-textarea__inner {
min-height: 54px !important;
}
::v-deep .el-dialog {
border-radius: 6px;
overflow: hidden;
}
::v-deep .el-dialog__header {
border-bottom: 1px solid #dde3ec;
background: #ffffff;
}
::v-deep .el-dialog__body {
background: #f8fafc;
}
</style>