pc网页版软测宝
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

261 lines
8.1 KiB

<template>
<div class="crowdnum">
<el-card class="box-card">
<div slot="header" class="clearfix">
<div class="cardtitle">
<div class="cardline"></div>
<div class="cardtext">招聘管理</div>
</div>
<div class="cardBtn" @click="goanthor('/console/addjob')">新增招聘</div>
</div>
10 months ago
<el-table :data="jobData">
<el-table-column label="序号" align="center" prop="job_id" />
<el-table-column label="岗位名称" align="center" prop="title" />
<el-table-column label="薪资范围" align="center" prop="emolument" />
<el-table-column label="工作地点" align="center" prop="city" />
<el-table-column label="经验要求" align="center" prop="experience" />
<el-table-column label="学历要求" align="center" prop="education" />
<el-table-column label="招聘人数" align="center" prop="person_count" />
<el-table-column label="申请岗位人数" align="center" prop="name">
<template slot-scope="scope">
<span @click="goanthor('/console/jobuser')" style="color: #1578ed; cursor: pointer">{{
10 months ago
scope.row.huntCount
}}</span>
</template>
</el-table-column>
10 months ago
<el-table-column label="状态" align="center" prop="status">
<template slot-scope="scope">
<el-tag v-if="scope.row.status == 1" effect="dark" type="success">已发布</el-tag>
<el-tag v-if="scope.row.status == 0" effect="dark" type="danger">未发布</el-tag>
</template>
</el-table-column>
<el-table-column label="操作" align="center" class-name="small-padding fixed-width" width="260">
<template slot-scope="scope">
10 months ago
<el-button v-if="scope.row.status == 0" type="text" @click="fabu(scope.row, 1)">
发布
</el-button>
<el-button v-if="scope.row.status == 1" type="text" @click="fabu(scope.row, 0)">
取消发布
</el-button>
<el-button type="text" @click="edit(scope.row)"> 编辑 </el-button>
<el-button type="text" @click="delFn(scope.row)"> 删除 </el-button>
</template>
</el-table-column>
</el-table>
<div v-if="total > 0" style="width: 100%; margin-top: 30px; text-align: center">
<el-pagination
background
@current-change="handleCurrentChange"
:page-size="queryParams.pageSize"
layout="total, prev, pager, next, jumper"
:total="total"
>
</el-pagination>
</div>
</el-card>
<!-- 弹层 -->
<el-dialog :title="titletext" :visible.sync="dialogVisible" width="550px" class="dialogClass">
<div class="textdialog">{{ dailogtext }}</div>
<div class="dialogBtn">
<div class="dialogBtnL" @click="submitDia">确定</div>
<div class="dialogBtnR" @click="cancelDia">取消</div>
</div>
</el-dialog>
</div>
</template>
<script>
import { mapGetters } from 'vuex'
10 months ago
import { jobList, fbStatus, qxfbStatus, deleteJob } from '@/api/job'
export default {
data() {
return {
10 months ago
jobData: [],
total: 0,
queryParams: {
pageSize: 10,
pageNum: 1,
},
dialogVisible: false,
delId: null, // 删除id
titletext: '删除',
dailogtext: '删除后相关的申请岗位人数将无法查询,确定要删除吗?',
}
},
mounted() {
this.getList()
},
computed: {
10 months ago
...mapGetters(['userId']),
},
methods: {
getList() {
10 months ago
jobList(this.userId, this.queryParams).then((res) => {
this.jobData = res.rows
this.total = res.total
})
},
handleCurrentChange(val) {
this.queryParams.pageNum = val
},
// 发布
fabu(row, val) {
10 months ago
this.delId = row.job_id
this.dialogVisible = true
this.titletext = val ? '发布' : '取消发布'
this.dailogtext = val ? '确定要发布该职位吗?' : '确定要取消发布该职位吗?'
},
// 新增
goanthor(val) {
this.$router.push(val)
},
// 删除按钮
delFn(row) {
10 months ago
this.delId = row.job_id
this.dialogVisible = true
this.titletext = '删除'
this.dailogtext = '删除后相关的申请岗位人数将无法查询,确定要删除吗?'
},
// 删除确定
submitDia() {
10 months ago
if (this.titletext == '取消发布') {
qxfbStatus(this.delId).then((res) => {
this.$message.success('取消发布成功!')
this.dialogVisible = false
this.getList()
})
} else if (this.titletext == '发布') {
fbStatus(this.delId).then((res) => {
this.$message.success('发布成功!')
this.dialogVisible = false
this.getList()
})
} else {
deleteJob(this.delId).then((res) => {
this.$message.success('删除成功!')
this.dialogVisible = false
this.getList()
})
}
},
// 删除取消
cancelDia() {
this.dialogVisible = false
},
10 months ago
// 修改
edit(row) {
this.$router.push({
path: '/console/addjob',
10 months ago
query: { id: row.job_id },
})
},
},
}
</script>
<style scoped>
.crowdnum >>> .el-dialog {
margin-top: 30vh !important;
border-radius: 6px !important;
}
.dialogClass >>> .el-dialog__title {
font-weight: bold;
font-size: 20px;
color: #000000;
}
.textdialog {
font-weight: 500;
font-size: 16px;
color: #333333;
text-align: center;
}
.dialogBtn {
display: flex;
align-items: center;
justify-content: center;
margin-top: 50px;
}
.dialogBtnL {
width: 250px;
height: 44px;
background: linear-gradient(90deg, #5ea6fd, #1a81f9);
border-radius: 22px;
font-weight: 500;
font-size: 16px;
color: #ffffff;
line-height: 44px;
text-align: center;
margin-right: 6px;
cursor: pointer;
}
.dialogBtnR {
width: 250px;
height: 44px;
border-radius: 22px;
border: 1px solid #e0e0e0;
font-weight: 500;
font-size: 16px;
color: #666666;
text-align: center;
line-height: 44px;
cursor: pointer;
}
.dialogClass >>> .el-dialog__header {
padding: 20px;
border: 1px solid rgba(135, 135, 135, 0.16);
}
.clearfix {
display: flex;
justify-content: space-between;
}
.cardtitle {
display: flex;
align-items: center;
font-weight: 800;
font-size: 20px;
color: #000000;
}
.cardline {
width: 5px;
height: 18px;
background: #1578ed;
border-radius: 3px;
margin-right: 10px;
}
.cardBtn {
width: 90px;
height: 32px;
background: #2286fa;
border-radius: 3px;
font-weight: 500;
font-size: 14px;
color: #ffffff;
line-height: 32px;
text-align: center;
cursor: pointer;
}
.crowdnum >>> .el-table th {
background-color: #f7f7f7;
color: #666666;
text-align: center;
}
.crowdnum >>> .el-table td {
/* text-align:center; */
background-color: #ffffff;
height: 60px;
color: #333333;
}
.crowdnum >>> .el-table--border th {
border-right: #f7f7f7;
}
.crowdnum >>> .el-tooltip__popper {
width: 33vw;
}
</style>
<style>
.el-tooltip__popper {
width: 33vw;
}
</style>