|
@@ -67,46 +67,34 @@
|
|
|
|
|
|
|
|
<main class="table-panel">
|
|
<main class="table-panel">
|
|
|
<el-form
|
|
<el-form
|
|
|
- label-width="70px"
|
|
|
|
|
- class="ele-form-search"
|
|
|
|
|
|
|
+ label-width="56px"
|
|
|
|
|
+ class="ele-form-search position-filter-form"
|
|
|
@submit.native.prevent
|
|
@submit.native.prevent
|
|
|
>
|
|
>
|
|
|
- <el-row :gutter="15">
|
|
|
|
|
- <el-col :lg="6" :md="12">
|
|
|
|
|
- <el-form-item label="关键词">
|
|
|
|
|
- <el-input v-model="keyword" clearable placeholder="编码、名称、部门或技能" />
|
|
|
|
|
- </el-form-item>
|
|
|
|
|
- </el-col>
|
|
|
|
|
- <el-col :lg="6" :md="12">
|
|
|
|
|
- <el-form-item label="机构">
|
|
|
|
|
- <el-select v-model="legalFilter" clearable placeholder="请选择" style="width: 100%">
|
|
|
|
|
- <el-option v-for="item in legalEntities" :key="item.id" :label="item.name" :value="item.id" />
|
|
|
|
|
- </el-select>
|
|
|
|
|
- </el-form-item>
|
|
|
|
|
- </el-col>
|
|
|
|
|
- <el-col :lg="6" :md="12">
|
|
|
|
|
- <el-form-item label="部门">
|
|
|
|
|
- <el-select v-model="deptFilter" clearable filterable placeholder="请选择" style="width: 100%">
|
|
|
|
|
- <el-option v-for="item in filterDepartments" :key="item.id" :label="item.name" :value="item.id" />
|
|
|
|
|
- </el-select>
|
|
|
|
|
- </el-form-item>
|
|
|
|
|
- </el-col>
|
|
|
|
|
- <el-col :lg="6" :md="12">
|
|
|
|
|
- <el-form-item label="状态">
|
|
|
|
|
- <el-select v-model="statusFilter" clearable placeholder="请选择" style="width: 100%">
|
|
|
|
|
- <el-option label="启用" :value="1" />
|
|
|
|
|
- <el-option label="停用" :value="2" />
|
|
|
|
|
- <el-option label="待撤销" :value="3" />
|
|
|
|
|
- </el-select>
|
|
|
|
|
- </el-form-item>
|
|
|
|
|
- </el-col>
|
|
|
|
|
- <el-col :span="24">
|
|
|
|
|
- <div class="ele-form-actions">
|
|
|
|
|
- <el-button type="primary" icon="el-icon-search" class="ele-btn-icon" @click="applyPositionFilters">查询</el-button>
|
|
|
|
|
- <el-button type="primary" icon="el-icon-refresh" class="ele-btn-icon" @click="resetPositionFilters">重置</el-button>
|
|
|
|
|
- </div>
|
|
|
|
|
- </el-col>
|
|
|
|
|
- </el-row>
|
|
|
|
|
|
|
+ <el-form-item label="关键词">
|
|
|
|
|
+ <el-input v-model="keyword" clearable placeholder="编码、名称、部门或技能" />
|
|
|
|
|
+ </el-form-item>
|
|
|
|
|
+ <el-form-item label="机构">
|
|
|
|
|
+ <el-select v-model="legalFilter" clearable placeholder="请选择">
|
|
|
|
|
+ <el-option v-for="item in legalEntities" :key="item.id" :label="item.name" :value="item.id" />
|
|
|
|
|
+ </el-select>
|
|
|
|
|
+ </el-form-item>
|
|
|
|
|
+ <el-form-item label="部门">
|
|
|
|
|
+ <el-select v-model="deptFilter" clearable filterable placeholder="请选择">
|
|
|
|
|
+ <el-option v-for="item in filterDepartments" :key="item.id" :label="item.name" :value="item.id" />
|
|
|
|
|
+ </el-select>
|
|
|
|
|
+ </el-form-item>
|
|
|
|
|
+ <el-form-item label="状态" class="status-item">
|
|
|
|
|
+ <el-select v-model="statusFilter" clearable placeholder="请选择">
|
|
|
|
|
+ <el-option label="启用" :value="1" />
|
|
|
|
|
+ <el-option label="停用" :value="2" />
|
|
|
|
|
+ <el-option label="待撤销" :value="3" />
|
|
|
|
|
+ </el-select>
|
|
|
|
|
+ </el-form-item>
|
|
|
|
|
+ <div class="ele-form-actions">
|
|
|
|
|
+ <el-button type="primary" icon="el-icon-search" class="ele-btn-icon" @click="applyPositionFilters">查询</el-button>
|
|
|
|
|
+ <el-button type="primary" icon="el-icon-refresh" class="ele-btn-icon" @click="resetPositionFilters">重置</el-button>
|
|
|
|
|
+ </div>
|
|
|
</el-form>
|
|
</el-form>
|
|
|
|
|
|
|
|
<ele-pro-table ref="table" row-key="id" :columns="columns" :datasource="filteredPositions" :need-page="true"
|
|
<ele-pro-table ref="table" row-key="id" :columns="columns" :datasource="filteredPositions" :need-page="true"
|
|
@@ -142,29 +130,20 @@
|
|
|
<template v-slot:salary="{ row }">
|
|
<template v-slot:salary="{ row }">
|
|
|
<span class="salary-range">{{ money(row.salaryMin) }} - {{ money(row.salaryMax) }}</span>
|
|
<span class="salary-range">{{ money(row.salaryMin) }} - {{ money(row.salaryMax) }}</span>
|
|
|
</template>
|
|
</template>
|
|
|
- <template v-slot:skills="{ row }">
|
|
|
|
|
- <div class="skill-tags">
|
|
|
|
|
- <el-tag v-for="skill in row.skills.slice(0, 2)" :key="skill.name" size="mini" :type="skill.matchRate >= 80
|
|
|
|
|
- ? 'success'
|
|
|
|
|
- : skill.matchRate >= 60
|
|
|
|
|
- ? 'warning'
|
|
|
|
|
- : 'danger'
|
|
|
|
|
- ">
|
|
|
|
|
- {{ skill.name }} {{ skill.matchRate }}%
|
|
|
|
|
- </el-tag>
|
|
|
|
|
- </div>
|
|
|
|
|
- </template>
|
|
|
|
|
<template v-slot:status="{ row }">
|
|
<template v-slot:status="{ row }">
|
|
|
<el-tag size="mini" :type="statusTagType(row.status)">{{ statusName(row.status) }}</el-tag>
|
|
<el-tag size="mini" :type="statusTagType(row.status)">{{ statusName(row.status) }}</el-tag>
|
|
|
</template>
|
|
</template>
|
|
|
<template v-slot:action="{ row }">
|
|
<template v-slot:action="{ row }">
|
|
|
- <div @click.stop>
|
|
|
|
|
|
|
+ <div class="table-row-actions" @click.stop>
|
|
|
<el-link type="primary" :underline="false" icon="el-icon-view" @click="selectPosition(row)">详情</el-link>
|
|
<el-link type="primary" :underline="false" icon="el-icon-view" @click="selectPosition(row)">详情</el-link>
|
|
|
<el-link type="primary" :underline="false" icon="el-icon-edit" @click="openEdit(row)">编辑</el-link>
|
|
<el-link type="primary" :underline="false" icon="el-icon-edit" @click="openEdit(row)">编辑</el-link>
|
|
|
<el-link type="primary" :underline="false" icon="el-icon-time" @click="openPositionHistory(row)">变更历史</el-link>
|
|
<el-link type="primary" :underline="false" icon="el-icon-time" @click="openPositionHistory(row)">变更历史</el-link>
|
|
|
- <el-link type="primary" :underline="false" @click="togglePositionStatus(row)">{{
|
|
|
|
|
- Number(row.status) === 1 ? "停用" : "启用"
|
|
|
|
|
- }}</el-link>
|
|
|
|
|
|
|
+ <el-link
|
|
|
|
|
+ type="primary"
|
|
|
|
|
+ :underline="false"
|
|
|
|
|
+ :icon="Number(row.status) === 1 ? 'el-icon-video-pause' : 'el-icon-video-play'"
|
|
|
|
|
+ @click="togglePositionStatus(row)"
|
|
|
|
|
+ >{{ Number(row.status) === 1 ? "停用" : "启用" }}</el-link>
|
|
|
<el-link
|
|
<el-link
|
|
|
type="danger"
|
|
type="danger"
|
|
|
:underline="false"
|
|
:underline="false"
|
|
@@ -447,8 +426,7 @@ export default {
|
|
|
},
|
|
},
|
|
|
{ label: "编制占用", minWidth: 145, slot: "staffing" },
|
|
{ label: "编制占用", minWidth: 145, slot: "staffing" },
|
|
|
{ label: "薪资区间", minWidth: 160, slot: "salary" },
|
|
{ label: "薪资区间", minWidth: 160, slot: "salary" },
|
|
|
- { label: "技能达标", minWidth: 210, slot: "skills" },
|
|
|
|
|
- { prop: "updatedAt", label: "最近变更", width: 120, align: "center" },
|
|
|
|
|
|
|
+ { prop: "updatedAt", label: "修改时间", width: 120, align: "center" },
|
|
|
{
|
|
{
|
|
|
prop: "status",
|
|
prop: "status",
|
|
|
label: "状态",
|
|
label: "状态",
|