|
@@ -4,11 +4,11 @@
|
|
|
* @Autor: XuTongZhang
|
|
|
* @Date: 2020-07-30 09:53:19
|
|
|
* @LastEditors: XuTongZhang
|
|
|
- * @LastEditTime: 2020-07-30 19:08:53
|
|
|
+ * @LastEditTime: 2020-07-31 19:43:48
|
|
|
-->
|
|
|
<template>
|
|
|
<div class="indexPage">
|
|
|
- <v-input :btn="btn" :list="list" @del="delAll" @search="search"></v-input>
|
|
|
+ <v-input :btn="btn" :list="list" @del="delAll" @notice="noticeAll" @through="throughAll" @eliminate="eliminateAll" @search="search"></v-input>
|
|
|
<el-radio-group v-model="isCollapse" style="margin-bottom: 20px;">
|
|
|
<el-radio-button :label="1">未读简历</el-radio-button>
|
|
|
<el-radio-button :label="2">已通过简历</el-radio-button>
|
|
@@ -31,21 +31,69 @@
|
|
|
id="id"
|
|
|
></v-table>
|
|
|
<v-pager @page="callPage" :total="totalrecords"></v-pager>
|
|
|
+ <el-dialog :visible.sync="dialogFormVisible" width="600px" :before-close="close" :show-close="false">
|
|
|
+ <el-form :model="form" ref="form" label-width="140px" :rules="rules" label-position="left">
|
|
|
+ <el-form-item label-width="0" prop="pickList">
|
|
|
+ <div class="title">通知群发列表</div>
|
|
|
+ <div class="content">
|
|
|
+ <el-tag
|
|
|
+ v-for="(item, index) in pickList"
|
|
|
+ :key="item"
|
|
|
+ closable
|
|
|
+ @close="pickList.splice(index, 1)"
|
|
|
+ type="success">
|
|
|
+ {{tableList.find(i => i.id === item).delivererName}}
|
|
|
+ </el-tag>
|
|
|
+ </div>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="选择群发模板" prop="templateId">
|
|
|
+ <el-select v-model="form.templateId" placeholder="请选择群发模板">
|
|
|
+ <el-option
|
|
|
+ v-for="item in downList"
|
|
|
+ :key="item.id"
|
|
|
+ :label="item.templateName"
|
|
|
+ :value="item.id"
|
|
|
+ ></el-option>
|
|
|
+ </el-select>
|
|
|
+ <!-- <div v-else>{{this.downList1.some(i => i.id === form.processId) ? this.downList1.find(i => i.id === form.processId).processName : ''}}</div> -->
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="群发邮箱">
|
|
|
+ 139820930@qq.com
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item>
|
|
|
+ <el-button type="primary" @click="launch">立即发出</el-button>
|
|
|
+ </el-form-item>
|
|
|
+ </el-form>
|
|
|
+ </el-dialog>
|
|
|
</div>
|
|
|
</template>
|
|
|
|
|
|
<script>
|
|
|
export default {
|
|
|
data () {
|
|
|
+ let validcodeName = (rule, value, callback) => {
|
|
|
+ if (!value.length) {
|
|
|
+ callback(new Error('通知对象数不能零'))
|
|
|
+ } else {
|
|
|
+ callback()
|
|
|
+ }
|
|
|
+ }
|
|
|
return {
|
|
|
tableList: [],
|
|
|
- dialogFormVisible: true,
|
|
|
+ dialogFormVisible: false,
|
|
|
page: 1,
|
|
|
sortRule: {},
|
|
|
isCollapse: 1,
|
|
|
totalrecords: 0,
|
|
|
pickList: [],
|
|
|
+ downList: [],
|
|
|
form: {},
|
|
|
+ rules: {
|
|
|
+ pickList: [
|
|
|
+ { required: true, validator: validcodeName, trigger: 'blur' }
|
|
|
+ ],
|
|
|
+ templateId: [{ required: true, message: '请选择群发模板', trigger: 'blur' }]
|
|
|
+ },
|
|
|
list: [
|
|
|
{
|
|
|
placeholder: '请输入关键字查询',
|
|
@@ -75,19 +123,29 @@ export default {
|
|
|
],
|
|
|
btn: [
|
|
|
{
|
|
|
- name: '重置',
|
|
|
+ name: '确定',
|
|
|
+ type: 'primary',
|
|
|
+ method: 'search'
|
|
|
+ },
|
|
|
+ {
|
|
|
+ name: '通知面试',
|
|
|
type: 'success',
|
|
|
- method: ''
|
|
|
+ method: 'notice'
|
|
|
},
|
|
|
{
|
|
|
- name: '确定',
|
|
|
+ name: '标记通过',
|
|
|
type: 'primary',
|
|
|
- method: ''
|
|
|
+ method: 'through'
|
|
|
+ },
|
|
|
+ {
|
|
|
+ name: '标题淘汰',
|
|
|
+ type: 'warning',
|
|
|
+ method: 'eliminate'
|
|
|
},
|
|
|
{
|
|
|
name: '删除',
|
|
|
type: 'danger',
|
|
|
- method: ''
|
|
|
+ method: 'del'
|
|
|
}
|
|
|
],
|
|
|
table: {
|
|
@@ -95,15 +153,15 @@ export default {
|
|
|
column: [
|
|
|
{
|
|
|
label: '编号',
|
|
|
- props: ''
|
|
|
+ props: 'id'
|
|
|
},
|
|
|
{
|
|
|
label: '姓名',
|
|
|
- props: ''
|
|
|
+ props: 'delivererName'
|
|
|
},
|
|
|
{
|
|
|
label: '性别',
|
|
|
- props: ''
|
|
|
+ props: 'delivererSex'
|
|
|
},
|
|
|
{
|
|
|
label: '简历来源',
|
|
@@ -111,15 +169,15 @@ export default {
|
|
|
},
|
|
|
{
|
|
|
label: '简历投递时间',
|
|
|
- props: ''
|
|
|
+ props: 'createTime'
|
|
|
},
|
|
|
{
|
|
|
label: '简历投递职位',
|
|
|
- props: ''
|
|
|
+ props: 'positionApplied'
|
|
|
},
|
|
|
{
|
|
|
label: '工作年限',
|
|
|
- props: ''
|
|
|
+ props: 'delivererWorkExp'
|
|
|
},
|
|
|
{
|
|
|
label: '学历',
|
|
@@ -127,10 +185,11 @@ export default {
|
|
|
},
|
|
|
{
|
|
|
label: '联系电话',
|
|
|
- props: ''
|
|
|
+ props: 'delivererPhone'
|
|
|
}
|
|
|
],
|
|
|
width: 500,
|
|
|
+ fixed: true,
|
|
|
handle: [
|
|
|
{
|
|
|
title: '查看简历',
|
|
@@ -164,15 +223,15 @@ export default {
|
|
|
column: [
|
|
|
{
|
|
|
label: '编号',
|
|
|
- props: ''
|
|
|
+ props: 'id'
|
|
|
},
|
|
|
{
|
|
|
label: '姓名',
|
|
|
- props: ''
|
|
|
+ props: 'delivererName'
|
|
|
},
|
|
|
{
|
|
|
label: '性别',
|
|
|
- props: ''
|
|
|
+ props: 'delivererSex'
|
|
|
},
|
|
|
{
|
|
|
label: '简历来源',
|
|
@@ -180,19 +239,19 @@ export default {
|
|
|
},
|
|
|
{
|
|
|
label: '简历投递时间',
|
|
|
- props: ''
|
|
|
+ props: 'createTime'
|
|
|
},
|
|
|
{
|
|
|
label: '当前状态',
|
|
|
- props: ''
|
|
|
+ props: 'status'
|
|
|
},
|
|
|
{
|
|
|
label: '简历投递职位',
|
|
|
- props: ''
|
|
|
+ props: 'positionApplied'
|
|
|
},
|
|
|
{
|
|
|
label: '工作年限',
|
|
|
- props: ''
|
|
|
+ props: 'delivererWorkExp'
|
|
|
},
|
|
|
{
|
|
|
label: '学历',
|
|
@@ -200,10 +259,11 @@ export default {
|
|
|
},
|
|
|
{
|
|
|
label: '联系电话',
|
|
|
- props: ''
|
|
|
+ props: 'delivererPhone'
|
|
|
}
|
|
|
],
|
|
|
- width: 500,
|
|
|
+ width: 300,
|
|
|
+ fixed: true,
|
|
|
handle: [
|
|
|
{
|
|
|
title: '查看简历',
|
|
@@ -226,6 +286,7 @@ export default {
|
|
|
},
|
|
|
mounted () {
|
|
|
this.queryData()
|
|
|
+ this.queryDownList()
|
|
|
},
|
|
|
methods: {
|
|
|
queryData (form = {}) {
|
|
@@ -241,52 +302,98 @@ export default {
|
|
|
this.tableList = res.list
|
|
|
})
|
|
|
},
|
|
|
+ queryDownList () {
|
|
|
+ this.$api
|
|
|
+ .post('/template/queryTemplateList', {
|
|
|
+ reqdata: {}
|
|
|
+ })
|
|
|
+ .then((res) => {
|
|
|
+ this.downList = res.list
|
|
|
+ })
|
|
|
+ },
|
|
|
search (form, sortRule) {
|
|
|
this.queryData(form)
|
|
|
},
|
|
|
- details (row) {
|
|
|
- this.open()
|
|
|
- this.querydetail(row.id)
|
|
|
+ details ({ id }) {
|
|
|
+ // this.open()
|
|
|
+ this.$api
|
|
|
+ .post('/resumeInfo/queryResumeInfoDetail', {
|
|
|
+ reqdata: {
|
|
|
+ id
|
|
|
+ }
|
|
|
+ })
|
|
|
+ .then((res) => {
|
|
|
+ window.open(this.$img + res.object.filePath)
|
|
|
+ })
|
|
|
},
|
|
|
- notice (row) {
|
|
|
+ launch () {
|
|
|
+ let reqdata = { id: this.pickList }
|
|
|
+ this.$api
|
|
|
+ .post('/resumeInfo/queryResumeInfoDetail', {
|
|
|
+ reqdata
|
|
|
+ })
|
|
|
+ .then((res) => {
|
|
|
+ window.open(this.$img + res.object.filePath)
|
|
|
+ })
|
|
|
},
|
|
|
- through (row) {
|
|
|
+ notice (row, type = false) {
|
|
|
+ let ids = type ? row : [row.id]
|
|
|
this.$api
|
|
|
- .post('/platform/information/platformGetInformation', {
|
|
|
+ .post('/resumeInfo/sendInviteMail', {
|
|
|
reqdata: {
|
|
|
- id: row.id
|
|
|
+ ids
|
|
|
}
|
|
|
})
|
|
|
.then((res) => {
|
|
|
+ this.$message({
|
|
|
+ message: '通知成功',
|
|
|
+ type: 'success'
|
|
|
+ })
|
|
|
this.queryData(this.form)
|
|
|
})
|
|
|
},
|
|
|
- eliminate (row) {
|
|
|
+ noticeAll () {
|
|
|
+ this.pickList.length
|
|
|
+ // ? this.notice(this.pickList, true)
|
|
|
+ ? this.open()
|
|
|
+ : this.$message({ type: 'info', message: '请选择需要通知的内容' })
|
|
|
+ },
|
|
|
+ through (row, type = false) {
|
|
|
+ let ids = type ? row : [row.id]
|
|
|
this.$api
|
|
|
- .post('/platform/information/platformGetInformation', {
|
|
|
+ .post('', {
|
|
|
reqdata: {
|
|
|
- id: row.id
|
|
|
+ ids
|
|
|
}
|
|
|
})
|
|
|
.then((res) => {
|
|
|
this.queryData(this.form)
|
|
|
})
|
|
|
},
|
|
|
- querydetail (infoId) {
|
|
|
+ throughAll () {
|
|
|
+ this.pickList.length
|
|
|
+ ? this.through(this.pickList, true)
|
|
|
+ : this.$message({ type: 'info', message: '请选择通过的应聘者' })
|
|
|
+ },
|
|
|
+ eliminate (row, type = false) {
|
|
|
+ let ids = type ? row : [row.id]
|
|
|
this.$api
|
|
|
- .post('/resumeInfo/queryResumeInfoDetail', {
|
|
|
+ .post('', {
|
|
|
reqdata: {
|
|
|
- infoId
|
|
|
+ ids
|
|
|
}
|
|
|
})
|
|
|
.then((res) => {
|
|
|
- let obj = res.object
|
|
|
- // obj.createtime = this.$utils.format(res.object.createtime)
|
|
|
- this.info = obj
|
|
|
+ this.queryData(this.form)
|
|
|
})
|
|
|
},
|
|
|
+ eliminateAll () {
|
|
|
+ this.pickList.length
|
|
|
+ ? this.eliminate(this.pickList, true)
|
|
|
+ : this.$message({ type: 'info', message: '请选择被淘汰的应聘者' })
|
|
|
+ },
|
|
|
del (row, type = false) {
|
|
|
- let id = type ? row : [row.infoId]
|
|
|
+ let ids = type ? row : [row.id]
|
|
|
this.$confirm('此操作将永久删除该数据, 是否继续?', '提示', {
|
|
|
confirmButtonText: '确定',
|
|
|
cancelButtonText: '取消',
|
|
@@ -294,9 +401,9 @@ export default {
|
|
|
})
|
|
|
.then(() => {
|
|
|
this.$api
|
|
|
- .post('/platform/information/platformDeleteInformation', {
|
|
|
+ .post('/resumeInfo/deleteResumeInfo', {
|
|
|
reqdata: {
|
|
|
- id
|
|
|
+ ids
|
|
|
}
|
|
|
})
|
|
|
.then((res) => {
|
|
@@ -320,7 +427,7 @@ export default {
|
|
|
: this.$message({ type: 'info', message: '请选择需要删除的内容' })
|
|
|
},
|
|
|
selection (val) {
|
|
|
- this.pickList = val
|
|
|
+ this.$set(this.$data, 'pickList', val)
|
|
|
},
|
|
|
open () {
|
|
|
this.dialogFormVisible = true
|
|
@@ -335,3 +442,13 @@ export default {
|
|
|
}
|
|
|
}
|
|
|
</script>
|
|
|
+
|
|
|
+<style lang="scss" scoped>
|
|
|
+ .title {
|
|
|
+ font-size: 20px;
|
|
|
+ font-weight: bold;
|
|
|
+ }
|
|
|
+ .content {
|
|
|
+ min-height: 30px;
|
|
|
+ }
|
|
|
+</style>
|