提交 9d4f42d8 authored 作者: 赵世杰's avatar 赵世杰

1

上级 f6fe7994
...@@ -21,4 +21,25 @@ export function signRecordList(query) { ...@@ -21,4 +21,25 @@ export function signRecordList(query) {
method: 'get', method: 'get',
params: query params: query
}) })
}
export function objectiveIndustry(query) {
return request({
url: '/objective/l',
method: 'get',
params: query
})
}
export function personEducational(query) {
return request({
url: '/personEducational/l',
method: 'get',
params: query
})
}
export function workExperienceList(query) {
return request({
url: '/workExperience/l',
method: 'get',
params: query
})
} }
\ No newline at end of file
...@@ -53,7 +53,7 @@ ...@@ -53,7 +53,7 @@
position: relative; position: relative;
margin: 0 auto; margin: 0 auto;
.el-dialog__body { .el-dialog__body {
max-height: 450px; max-height: 600px;
overflow: auto; overflow: auto;
} }
} }
......
...@@ -77,7 +77,7 @@ export const constantRoutes = [ ...@@ -77,7 +77,7 @@ export const constantRoutes = [
path: '', path: '',
component: () => import('@/views/personnel/index'), component: () => import('@/views/personnel/index'),
name: '', name: '',
meta: { title: '用户注册', icon: 'dashboard' } meta: { title: '注册用户', icon: 'dashboard' }
}, },
] ]
}, },
...@@ -94,19 +94,19 @@ export const constantRoutes = [ ...@@ -94,19 +94,19 @@ export const constantRoutes = [
}, },
] ]
}, },
{ // {
path: '/industry', // path: '/industry',
component: Layout, // component: Layout,
redirect: '/industry', // redirect: '/industry',
children: [ // children: [
{ // {
path: '', // path: '',
component: () => import('@/views/industry/index'), // component: () => import('@/views/industry/index'),
name: '', // name: '',
meta: { title: '职位类型管理', icon: 'dashboard' } // meta: { title: '职位类型管理', icon: 'dashboard' }
}, // },
] // ]
}, // },
{ {
path: '/account', path: '/account',
component: Layout, component: Layout,
......
<template> <template>
<div class="app-container"> <div class="app-container enterprise">
<el-form :model="queryParams" ref="queryRef" :inline="true"> <el-form :model="queryParams" ref="queryRef" :inline="true">
<el-form-item label="企业名称"> <el-form-item label="企业名称">
<el-input placeholder="请输入" v-model="queryParams.name" /> <el-input placeholder="请输入" v-model="queryParams.name" />
...@@ -56,7 +56,7 @@ ...@@ -56,7 +56,7 @@
<pagination v-show="total > 0" :total="total" v-model:page="queryParams.pageNum" <pagination v-show="total > 0" :total="total" v-model:page="queryParams.pageNum"
v-model:limit="queryParams.pageSize" @pagination="getList" /> v-model:limit="queryParams.pageSize" @pagination="getList" />
<!-- 添加或修改账号问答框 --> <!-- 添加或修改账号问答框 -->
<el-dialog title="新增企业" v-model="open" width="440px" append-to-body> <el-dialog title="新增企业" v-model="open" width="480px" append-to-body :close-on-click-modal="false">
<el-form label-width="100px" style="padding-right: 15px;" ref="addRef" :model="openForm" :rules="rules"> <el-form label-width="100px" style="padding-right: 15px;" ref="addRef" :model="openForm" :rules="rules">
<el-form-item label="企业名称" prop="name"> <el-form-item label="企业名称" prop="name">
<el-input v-model="openForm.name" placeholder="请输入"/> <el-input v-model="openForm.name" placeholder="请输入"/>
...@@ -93,8 +93,8 @@ ...@@ -93,8 +93,8 @@
</el-form> </el-form>
<template #footer> <template #footer>
<div class="dialog-footer"> <div class="dialog-footer">
<el-button type="primary" @click="submit">提 交</el-button>
<el-button @click="open = false">取 消</el-button> <el-button @click="open = false">取 消</el-button>
<el-button type="primary" @click="submit">提 交</el-button>
</div> </div>
</template> </template>
</el-dialog> </el-dialog>
...@@ -189,9 +189,4 @@ function del(row) { ...@@ -189,9 +189,4 @@ function del(row) {
}).catch(() => {}); }).catch(() => {});
} }
getList(); getList();
</script> </script>
<style lang="scss" scoped> \ No newline at end of file
.el-dialog .el-dialog__body {
max-height: 650px;
}
</style>
\ No newline at end of file
<template> <template>
<div class="recruitAdd"> <div class="recruitAdd">
<el-dialog :title="form.id ? '编辑岗位信息' : '岗位发布'" v-model="dialogShow" width="500px" @open="dialogOpen" @close="dialogClose"> <el-dialog :title="form.id ? '编辑岗位信息' : '岗位发布'" v-model="dialogShow" width="1200px" @open="dialogOpen" @close="dialogClose" :close-on-click-modal="false">
<el-form :model="form" :rules="rules" label-width="100px" style="padding-right: 40px;" ref="addRef"> <el-form :model="form" :rules="rules" label-width="100px" style="padding-right: 40px;" ref="addRef">
<el-form-item label="招聘企业" prop="orgId"> <el-form-item label="招聘企业" prop="orgId">
<el-select <el-select
...@@ -147,15 +147,7 @@ ...@@ -147,15 +147,7 @@
</div> </div>
</el-form-item> </el-form-item>
<el-form-item label="绩效奖金" prop="bonus"> <el-form-item label="绩效奖金" prop="bonus">
<el-input-number <el-input v-model="form.bonus" placeholder="请输入"/>
v-model="form.bonus"
:step="0.01"
placeholder="请输入"
step-strictly
:min="0"
:controls="false"
style="width: 100%;"
/>
</el-form-item> </el-form-item>
<el-form-item label="地址" prop="area"> <el-form-item label="地址" prop="area">
<el-cascader <el-cascader
...@@ -166,11 +158,13 @@ ...@@ -166,11 +158,13 @@
:props="{ value: 'label' }" :props="{ value: 'label' }"
/> />
</el-form-item> </el-form-item>
<el-form-item>
</el-form-item>
<el-form-item label="详细地址" prop="address"> <el-form-item label="详细地址" prop="address">
<el-input v-model="form.address" placeholder="请输入" type="textarea" rows="3"/> <el-input v-model="form.address" placeholder="请输入" type="textarea" rows="6"/>
</el-form-item> </el-form-item>
<el-form-item label="职位描述" prop="details"> <el-form-item label="职位描述" prop="details">
<el-input type="textarea" v-model="form.details" rows="3" placeholder="请输入" /> <el-input type="textarea" v-model="form.details" rows="6" placeholder="请输入" />
</el-form-item> </el-form-item>
</el-form> </el-form>
<template #footer> <template #footer>
...@@ -205,7 +199,6 @@ const rules = ref({ ...@@ -205,7 +199,6 @@ const rules = ref({
time: [{ required: true, message: "请选择招聘时间", trigger: "blur" }], time: [{ required: true, message: "请选择招聘时间", trigger: "blur" }],
times: [{ required: true, message: "请输入招聘人数", trigger: "blur" }], times: [{ required: true, message: "请输入招聘人数", trigger: "blur" }],
salaryMin: [{ required: true, message: "请输入最低工资", trigger: "blur" }], salaryMin: [{ required: true, message: "请输入最低工资", trigger: "blur" }],
bonus: [{ required: true, message: "请输入绩效奖金", trigger: "blur" }],
area: [{ required: true, message: "请选择地址", trigger: "blur" }], area: [{ required: true, message: "请选择地址", trigger: "blur" }],
address: [{ required: true, message: "请输入详细地址", trigger: "blur" }], address: [{ required: true, message: "请输入详细地址", trigger: "blur" }],
industryId: [{ required: true, message: "请选择职位类型", trigger: "blur" }], industryId: [{ required: true, message: "请选择职位类型", trigger: "blur" }],
...@@ -352,6 +345,14 @@ function submit() { ...@@ -352,6 +345,14 @@ function submit() {
<style lang="scss"> <style lang="scss">
.recruitAdd{ .recruitAdd{
.el-form{
display: flex;
flex-wrap: wrap;
justify-content: space-between;
.el-form-item{
width: 48%;
}
}
.el-input-number{ .el-input-number{
width: 100%; width: 100%;
.el-input__wrapper{ .el-input__wrapper{
......
...@@ -39,29 +39,88 @@ ...@@ -39,29 +39,88 @@
{{ row.person && row.person.idNo}} {{ row.person && row.person.idNo}}
</template> </template>
</el-table-column> </el-table-column>
<!-- <el-table-column label="操作" width="160" align="center"> <el-table-column label="操作" width="160" align="center">
<template #default="{row}"> <template #default="{row}">
<el-button link type="primary" icon="Delete" @click="del(row)">删除</el-button> <el-button link type="primary" icon="View" @click="look(row)">简历查看</el-button>
</template> </template>
</el-table-column> --> </el-table-column>
</el-table> </el-table>
<pagination v-show="total > 0" :total="total" v-model:page="queryParams.pageNum" <pagination v-show="total > 0" :total="total" v-model:page="queryParams.pageNum"
v-model:limit="queryParams.pageSize" @pagination="getList" /> v-model:limit="queryParams.pageSize" @pagination="getList" />
<el-dialog title="简历" v-model="lookShow" width="1000px" append-to-body :close-on-click-modal="false">
<el-descriptions title="基本信息">
<el-descriptions-item label="姓名">{{ lookInfo.userInfo.name }}</el-descriptions-item>
<el-descriptions-item label="性别">{{ lookInfo.userInfo.sex ? '男' : '女' }}</el-descriptions-item>
<el-descriptions-item label="手机号码">{{ lookInfo.userInfo.phoneNumber }}</el-descriptions-item>
<el-descriptions-item label="身份证号">{{ lookInfo.userInfo.idNo }}</el-descriptions-item>
</el-descriptions>
<el-descriptions :title="`求职意向${index + 1}`" v-for="(item,index) in lookInfo.careerObjective">
<el-descriptions-item label="期望职位">{{ item.industryName }}</el-descriptions-item>
<el-descriptions-item label="工作城市">{{ item.province }}{{ item.city }}{{ item.region }}</el-descriptions-item>
<el-descriptions-item label="薪资要求">{{ item.salaryMin }}-{{ item.salaryMax }}</el-descriptions-item>
<el-descriptions-item label="工作性质">{{ item.workType }}</el-descriptions-item>
</el-descriptions>
<el-descriptions :title="`工作经历${index + 1}`" v-for="(item,index) in lookInfo.workExperience">
<el-descriptions-item label="公司名称">{{ item.orgName }}</el-descriptions-item>
<el-descriptions-item label="职位名称">{{ item.job }}</el-descriptions-item>
<el-descriptions-item label="在职时间">{{ item.startTime }} ~ {{ item.endTime }}</el-descriptions-item>
<el-descriptions-item label="所属行业">{{ item.industryName }}</el-descriptions-item>
<el-descriptions-item label="月薪">{{ item.money }}</el-descriptions-item>
<el-descriptions-item label="工作描述">{{ item.descr }}</el-descriptions-item>
</el-descriptions>
<el-descriptions :title="`教育经历${index + 1}`" v-for="(item,index) in lookInfo.educationalBackground">
<el-descriptions-item label="最高学历">{{ item.qualification }}</el-descriptions-item>
<el-descriptions-item label="学校名称">{{ item.school }}</el-descriptions-item>
<el-descriptions-item label="所学专业">{{ item.major }}</el-descriptions-item>
<el-descriptions-item label="在校时间">{{ item.startTime }} ~ {{ item.endTime }}</el-descriptions-item>
</el-descriptions>
<template #footer>
<div class="dialog-footer">
<el-button type="primary" @click="lookShow = false">关 闭</el-button>
</div>
</template>
</el-dialog>
</div> </div>
</template> </template>
<script setup> <script setup>
import { signRecordList,personDel } from "@/api/personnel"; import { signRecordList,workExperienceList,personEducational,objectiveIndustry } from "@/api/personnel";
import { ref } from "vue"; import { ref } from "vue";
const { proxy } = getCurrentInstance(); const { proxy } = getCurrentInstance();
const list = ref([]); const list = ref([]);
const loading = ref(false); const loading = ref(false);
const total = ref(0); const total = ref(0);
const lookInfo = ref({
userInfo: {}, // 基本信息
careerObjective: [], // 求职意向
workExperience: [], // 工作经历
educationalBackground: [], // 教育经历
});
const lookShow = ref(false);
const queryParams = ref({ const queryParams = ref({
pageNum: 1, pageNum: 1,
pageSize: 10, pageSize: 10,
}) })
function look(row) {
lookShow.value = true
lookInfo.value = {
userInfo: row.person,
careerObjective: [],
workExperience: [],
educationalBackground: [],
}
workExperienceList({ personId: row.person.id }).then(res => {
lookInfo.value.workExperience = res.data.list
})
personEducational({ personId: row.person.id }).then(res => {
lookInfo.value.educationalBackground = res.data.list
})
objectiveIndustry({ personId: row.person.id }).then(res => {
lookInfo.value.careerObjective = res.data.list
})
}
/** 查询列表 */ /** 查询列表 */
function getList() { function getList() {
const form = { ...queryParams.value } const form = { ...queryParams.value }
......
...@@ -30,8 +30,8 @@ export default defineConfig(({ mode, command }) => { ...@@ -30,8 +30,8 @@ export default defineConfig(({ mode, command }) => {
open: true, open: true,
proxy: { proxy: {
'/jfb-recruit': { '/jfb-recruit': {
target: 'http://192.168.0.6:8000', // target: 'http://192.168.0.6:8000',
// target: 'https://jyzp.365jft.com/jfb-recruit', target: 'https://jyzp.365jft.com/jfb-recruit',
changeOrigin: true, changeOrigin: true,
rewrite: (p) => p.replace(/^\/jfb-recruit/, '') rewrite: (p) => p.replace(/^\/jfb-recruit/, '')
}, },
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论