Commit 758b1d9f authored by zhengke's avatar zhengke

修改

parent 0bf48284
......@@ -12,7 +12,7 @@ export default {
<style>
@import url('~assets/css/font.css');
@import url('//at.alicdn.com/t/font_2077629_mdro050mpvo.css');
@import url('//at.alicdn.com/t/font_2077629_h4fuobt2b3k.css');
html,
body,
......
......@@ -563,4 +563,56 @@ export function RemoveWebRecruitmentStatus(data) {
method: 'post',
data
})
}
/**
* 获取招聘类型分页列表
*
*/
export function GetWebJobApplyPage(data) {
return request({
url: '/WebManager/GetWebJobApplyPage',
method: 'post',
data
})
}
/**
* 根据编号获取招聘申请
*
*/
export function GetWebJobApply(data) {
return request({
url: '/WebManager/GetWebJobApply',
method: 'post',
data
})
}
/**
* 修改招聘申请状态
*
*/
export function RemoveWebJobApplyStatus(data) {
return request({
url: '/WebManager/RemoveWebJobApplyStatus',
method: 'post',
data
})
}
/**
* 修改招聘申请信息
*
*/
export function UpdateWebJobApply(data) {
return request({
url: '/WebManager/UpdateWebJobApply',
method: 'post',
data
})
}
\ No newline at end of file
<template>
<q-dialog v-model="persistent" content-class="bg-grey-1" persistent transition-show="scale" transition-hide="scale">
<q-card style="width: 800px;max-width:900px;">
<q-card-section>
<div class="text-h6">{{optionTitle}}</div>
</q-card-section>
<q-card-section class="q-pt-none scroll" style="max-height: 70vh">
<div class="text-caption q-mb-lg q-px-md text-grey-6">招聘类型信息</div>
<div class="row wrap">
<q-radio v-model="objOption.ApplyStatus" :val="1" label="已联系" />
<q-radio v-model="objOption.ApplyStatus" :val="2" label="不合适" />
</div>
<div class="row wrap">
<q-input filled stack-label :dense="false" v-model="objOption.ApplyContent" style="margin-top: 20px"
type="textarea" class="col-12" label="内容" maxlength="200" />
</div>
</q-card-section>
<q-separator />
<q-card-actions align="right" class="bg-white">
<q-btn label="取消" flat color="grey-10" style="font-weight:400 !important" @click="closeSaveForm" />
<q-btn label="立即提交" color="accent q-px-md" style="font-weight:400 !important" :loading="saveLoading"
@click="saveJob" />
</q-card-actions>
</q-card>
</q-dialog>
</template>
<script>
import {
GetWebJobApply,
UpdateWebJobApply
} from '../../api/system/webkit'
export default {
props: {
saveObj: {
type: Object,
default: null
}
},
data() {
return {
persistent: true,
objOption: {
Id: 0,
ApplyStatus: 0, //处理状态(0-待处理,1-已联系,2-不合适)
ApplyContent: ''
},
optionTitle: "",
saveLoading: false,
}
},
mounted() {
this.initObj()
},
methods: {
//初始化表单
initObj() {
if (this.saveObj && this.saveObj.Id > 0) {
GetWebJobApply({
Id: this.saveObj.Id
}).then(res => {
if (res.Code == 1) {
this.objOption.Id = res.Data.Id;
this.objOption.ApplyStatus = res.Data.ApplyStatus;
this.objOption.ApplyContent = res.Data.ApplyContent;
this.optionTitle = '修改招聘信息'
}
})
}
},
//关闭弹窗
closeSaveForm() {
this.$emit('close')
this.persistent = false
},
//保存菜单
saveJob() {
this.saveLoading = true
UpdateWebJobApply(this.objOption).then(res => {
this.saveLoading = false
this.$q.notify({
icon: 'iconfont icon-chenggong',
color: 'accent',
timeout: 2000,
message: '数据保存成功!',
position: 'top'
})
this.$emit("success")
this.closeSaveForm()
}).catch(() => {
this.saveLoading = false
})
}
},
}
</script>
<style>
.visiHidden{
visibility: hidden;
}
</style>
<template>
<q-dialog v-model="persistent" content-class="bg-grey-1" persistent transition-show="scale" transition-hide="scale">
<q-card style="width: 800px;max-width:900px;">
......@@ -15,12 +20,14 @@
<q-select filled stack-label option-value="Id" option-label="Name" v-model="objOption.SalaryType"
:options="SalaryTypeList" label="薪资类型" :dense="false" class="col-6 q-pr-lg q-pb-lg" emit-value
map-options />
<q-input filled stack-label maxlength="50" :dense="false" v-model="objOption.SalaryNum" class="col-6 q-pb-lg"
<q-input filled stack-label maxlength="50" :class="{'visiHidden':objOption.SalaryType==2}" :dense="false" v-model="objOption.SalaryNum" class="col-6 q-pb-lg"
@keyup.native="checkPrice(objOption,'SalaryNum')" label="多少薪" />
<q-input filled stack-label maxlength="50" :dense="false" v-model="objOption.SalaryStart"
class="col-6 q-pr-lg q-pb-lg" @keyup.native="checkPrice(objOption,'SalaryStart')" label="开始薪资" />
<q-input filled stack-label maxlength="50" :dense="false" v-model="objOption.SalaryEnd" class="col-6 q-pb-lg"
label="结束薪资" @keyup.native="checkPrice(objOption,'SalaryEnd')" />
<template v-if="objOption.SalaryType==1">
<q-input filled stack-label maxlength="50" :dense="false" v-model="objOption.SalaryStart"
class="col-6 q-pr-lg q-pb-lg" @keyup.native="checkPrice(objOption,'SalaryStart')" label="开始薪资" />
<q-input filled stack-label maxlength="50" :dense="false" v-model="objOption.SalaryEnd" class="col-6 q-pb-lg"
label="结束薪资" @keyup.native="checkPrice(objOption,'SalaryEnd')" />
</template>
<q-input filled stack-label maxlength="50" :dense="false" v-model="objOption.Experience"
class="col-6 q-pr-lg q-pb-lg" label="工作经验" />
<q-input filled stack-label maxlength="50" :dense="false" v-model="objOption.Education" class="col-6 q-pb-lg"
......
<template>
<div class="page-body">
<div class="page-search row items-center">
<div class="col row wrap q-mr-lg q-col-gutter-md">
<div class="col-3">
<q-input @change="resetSearch" clearable standout="bg-primary text-white" class="col-6 q-pr-lg q-pr-lg"
v-model="msg.LinkMan" label="联系人" maxlength="20" @clear="resetSearch" />
</div>
<div class="col-3">
<q-input @change="resetSearch" clearable standout="bg-primary text-white" class="col-6 q-pr-lg q-pr-lg"
v-model="msg.PositionName" label="职位" maxlength="20" @clear="resetSearch" />
</div>
</div>
</div>
<div class="page-content">
<q-table :pagination="msg" :loading="loading" no-data-label="暂无相关数据" flat class="sticky-column-table"
separator="none" :data="data" :columns="columns" row-key="name">
<template v-slot:top="props">
<div class="col-2 q-table__title">招聘申请信息</div>
</template>
<template v-slot:body-cell-ApplyStatus="props">
<q-td>
<span v-if="props.row.ApplyStatus==0" style="color:#E6A23C;">待处理</span>
<span v-if="props.row.ApplyStatus==1" style="color:#67C23A;">已联系</span>
<span v-if="props.row.ApplyStatus==2" style="color:#e95252;">不合适</span>
</q-td>
</template>
<template v-slot:bottom>
<q-pagination class="full-width justify-end" v-model="msg.pageIndex" color="primary" :max="pageCount"
:input="true" @input="changePage" />
</template>
<template v-slot:body-cell-optioned="props">
<q-td :props="props">
<q-btn flat size="xs" icon="edit" color="accent" style="font-weight:400" label="编辑"
@click="EditJob(props.row)" />
<q-btn flat size="xs" icon="delete" color="negative" style="font-weight:400" label="删除"
@click="delJob(props.row)" />
</q-td>
</template>
</q-table>
<jobapply-form v-if="isShowApplyForm" :save-obj="jobapplyObjOption" @close="closejobapply" @success="refreshPage">
</jobapply-form>
</div>
</div>
</template>
<script>
import {
GetWebJobApplyPage,
RemoveWebJobApplyStatus
} from '../../api/system/webkit'
import jobapplyForm from '../../components/system/jobapply-form'
export default {
meta: {
title: "招聘信息管理"
},
components: {
jobapplyForm
},
data() {
return {
columns: [{
name: 'LinkMan',
label: '联系人',
field: 'LinkMan',
align: 'left'
}, {
name: 'LinkTel',
label: '联系电话',
field: 'LinkTel',
align: 'left'
},{
name: 'Remark',
label: '备注',
field: 'Remark',
align: 'left'
},{
name: 'ApplyStatus',
label: '处理状态',
field: 'ApplyStatus',
align: 'left'
},{
name: 'optioned',
label: '操作',
field: 'MenuId'
}],
data: [],
loading: true,
msg: {
pageIndex: 1,
pageSize: 12,
rowsPerPage: 12,
LinkMan: '',
PositionName: ''
},
pageCount: 0,
isShowApplyForm: false,
jobapplyObjOption: null,
}
},
mounted() {
this.getList()
},
methods: {
//重新查询
resetSearch() {
this.msg.pageIndex = 1;
this.getList();
},
//翻页
changePage(val) {
this.msg.pageIndex = val;
this.getList()
},
//获取菜单分页列表
getList() {
this.loading = true;
GetWebJobApplyPage(this.msg).then(res => {
this.loading = false
this.data = res.Data.PageData;
this.pageCount = res.Data.PageCount;
}).catch(() => {
this.loading = false
})
},
//刷新页面
refreshPage() {
if (!this.jobapplyObjOption) {
this.msg.pageIndex = 1;
this.msg.TypeName = "";
}
this.getList()
},
//新增修改菜单
EditJob(obj) {
if (obj) {
this.jobapplyObjOption = obj
} else {
this.jobapplyObjOption = null
}
this.isShowApplyForm = true
},
//关闭弹窗
closejobapply() {
this.isShowApplyForm = false
},
//删除
delJob(obj) {
this.$q.dialog({
title: '提示信息',
message: '是否确定删除?',
cancel: true,
persistent: true,
ok: "确定",
cancel: "取消",
}).onOk(() => {
let delMsg = {
Id: obj.Id,
Status: 1
}
RemoveWebJobApplyStatus(delMsg).then(res => {
if (res.Code == 1) {
this.$q.notify({
icon: 'iconfont icon-chenggong',
color: 'accent',
timeout: 2000,
message: '操作成功',
position: 'top'
})
this.getList();
}
})
})
}
}
}
</script>
<style lang="sass">
@import url('~assets/css/table.sass')
</style>
......@@ -33,11 +33,6 @@
<span>{{props.row.SalaryType==1?'固定薪资':'面议'}}</span>
</q-td>
</template>
<template v-slot:body-cell-SalaryStart="props">
<q-td>
<span>{{props.row.SalaryStart}} - {{props.row.SalaryEnd}}</span>
</q-td>
</template>
<template v-slot:bottom>
<q-pagination class="full-width justify-end" v-model="msg.pageIndex" color="primary" :max="pageCount"
:input="true" @input="changePage" />
......@@ -87,17 +82,7 @@
label: '薪资类型',
field: 'SalaryType',
align: 'left'
}, {
name: 'SalaryStart',
label: '薪资范围',
field: 'SalaryStart',
align: 'left'
}, {
name: 'SalaryNum',
label: '多少薪',
field: 'SalaryNum',
align: 'left'
}, {
},{
name: 'Experience',
label: '工作经验',
field: 'Experience',
......@@ -117,12 +102,7 @@
label: '更新时间',
field: 'PublishTimeStr',
align: 'left'
}, {
name: 'PositionDesc',
label: '岗位描述',
field: 'PositionDesc',
align: 'left'
}, {
},{
name: 'optioned',
label: '操作',
field: 'MenuId'
......
......@@ -147,6 +147,11 @@ const routes = [{
component: () =>
import("pages/system/recruitmentType.vue")
},
{
path: "/system/jobapplyManage", //招聘申请管理
component: () =>
import("pages/system/jobapplyManage.vue")
},
{
path: "/course/catagory", //课程分类
component: () =>
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment