@@ -4,93 +4,108 @@ | |||
<a-row :gutter="20"> | |||
<a-col span="12"> | |||
<a-form-item label="关键字" name="keyword"> | |||
<a-input v-model:value="commomParams.search.keyword" placeholder="请输入关键字" size="large"/> | |||
</a-form-item> | |||
</a-col> | |||
<a-col span="12"> | |||
<a-form-item label="职称"> | |||
<a-xuanze :dict="2012" placeholder="请选择职称" @saveSelect="saveTitle" | |||
:select_content="commomParams.search.title"></a-xuanze> | |||
<a-input v-model:value="commomParams.search.keyword" placeholder="请输入关键字" size="large" /> | |||
</a-form-item> | |||
</a-col> | |||
<a-col span="12"> | |||
<a-form-item label="性别" name="sex"> | |||
<a-radio-group v-model:value="commomParams.search.gender" button-style="solid" style="width: 100%;" size="large"> | |||
<a-radio-group v-model:value="commomParams.search.gender" button-style="solid" | |||
style="width: 100%;" size="large"> | |||
<a-radio-button value="男" style="width: calc(100% / 3);">男</a-radio-button> | |||
<a-radio-button value="女" style="width: calc(100% / 3);">女</a-radio-button> | |||
<a-radio-button value="不限" style="width: calc(100% / 3);">不限</a-radio-button> | |||
</a-radio-group> | |||
</a-form-item> | |||
</a-col> | |||
<a-col span="12"> | |||
<a-form-item label="职称"> | |||
<a-xuanze :dict="2014" placeholder="请选择职称" @saveSelect="saveTitle" | |||
:select_content="commomParams.search.title"></a-xuanze> | |||
</a-form-item> | |||
</a-col> | |||
<a-col span="12"> | |||
<a-form-item label="学历"> | |||
<a-xuanze :dict="2012" placeholder="请选择学历" @saveSelect="saveEducation" | |||
<a-xuanze :dict="2006" placeholder="请选择学历" @saveSelect="saveEducation" | |||
:select_content="commomParams.search.education"></a-xuanze> | |||
</a-form-item> | |||
</a-col> | |||
<a-col span="12"> | |||
<a-form-item label="户口所在地"> | |||
<a-xuanze :dict="2012" placeholder="请选择民族" @saveSelect="saveEthnicity" | |||
<a-form-item label="婚姻状况"> | |||
<a-xuanze :dict="2011" placeholder="请选择婚姻状况" @saveSelect="saveMaritalStatus" | |||
:select_content="commomParams.search.marital_status"></a-xuanze> | |||
</a-form-item> | |||
</a-col> | |||
<a-col span="12"> | |||
<a-form-item label="学历"> | |||
<a-xuanze :dict="2006" placeholder="请选择学历" @saveSelect="saveSchoolDegree" | |||
<a-form-item label="政治面貌"> | |||
<a-xuanze :dict="2010" placeholder="请选择政治面貌" @saveSelect="savePoliticalStatus" | |||
:select_content="commomParams.search.political_status"></a-xuanze> | |||
</a-form-item> | |||
</a-col> | |||
<a-col span="12"> | |||
<a-form-item label="含最高学历" name="degree_better"> | |||
<a-xuanze :dict="2012" placeholder="请选择民族" @saveSelect="saveEthnicity" | |||
<a-form-item label="可到职日期"> | |||
<a-xuanze :dict="2013" placeholder="请选择可到职日期" @saveSelect="saveAvailableDateDesire" | |||
:select_content="commomParams.search.available_date_desire"></a-xuanze> | |||
</a-form-item> | |||
</a-col> | |||
<a-col span="12"> | |||
<a-form-item required label="英语"> | |||
<a-xuanze :dict="2012" placeholder="请选择民族" @saveSelect="saveEthnicity" | |||
<a-form-item label="英语"> | |||
<a-xuanze :dict="2008" placeholder="请选择掌握程度" @saveSelect="saveEnglish" | |||
:select_content="commomParams.search.english"></a-xuanze> | |||
</a-form-item> | |||
</a-col> | |||
<a-col span="12"> | |||
<a-form-item required label="国语"> | |||
<a-xuanze :dict="2012" placeholder="请选择民族" @saveSelect="saveEthnicity" | |||
:select_content="commomParams.search.ethnicity"></a-xuanze> | |||
<a-form-item label="国语"> | |||
<a-xuanze :dict="2008" placeholder="请选择掌握程度" @saveSelect="saveMandarin" | |||
:select_content="commomParams.search.mandarin"></a-xuanze> | |||
</a-form-item> | |||
</a-col> | |||
<a-col span="12"> | |||
<a-form-item required label="粤语"> | |||
<a-xuanze :dict="2012" placeholder="请选择民族" @saveSelect="saveEthnicity" | |||
<a-form-item label="粤语"> | |||
<a-xuanze :dict="2008" placeholder="请选择掌握程度" @saveSelect="saveCantonese" | |||
:select_content="commomParams.search.cantonese"></a-xuanze> | |||
</a-form-item> | |||
</a-col> | |||
<a-col span="12"> | |||
<a-form-item required label="第二外语"> | |||
<a-xuanze :dict="2012" placeholder="请选择民族" @saveSelect="saveEthnicity" | |||
<a-form-item label="第二外语"> | |||
<a-xuanze :dict="2007" placeholder="请选择第二外语" @saveSelect="saveOtherLanguage" | |||
:select_content="commomParams.search.other_language"></a-xuanze> | |||
</a-form-item> | |||
</a-col> | |||
<a-col span="12"> | |||
<a-form-item required label="计算机能力"> | |||
<a-input v-model:value="value" placeholder="请输入计算机能力" size="large"/> | |||
<a-form-item label="计算机能力"> | |||
<a-input v-model:value="value" placeholder="请输入计算机能力" size="large" /> | |||
</a-form-item> | |||
</a-col> | |||
<a-col span="12"> | |||
<a-form-item label="工作经验"> | |||
<a-xuanze :dict="2021" placeholder="请选择工作经验" @saveSelect="saveEthnicity" | |||
:select_content="commomParams.search.ethnicity"></a-xuanze> | |||
</a-form-item> | |||
</a-col> | |||
<a-col span="12"> | |||
<a-form-item required label="工作经验"> | |||
<a-form-item label="最小年龄" name="age_min"> | |||
<a-xuanze :dict="2012" placeholder="请选择民族" @saveSelect="saveEthnicity" | |||
:select_content="commomParams.search.ethnicity"></a-xuanze> | |||
</a-form-item> | |||
</a-col> | |||
<a-col span="12"> | |||
<a-form-item label="最大年龄" name="age_max"> | |||
<a-xuanze :dict="2012" placeholder="请选择民族" @saveSelect="saveEthnicity" | |||
:select_content="commomParams.search.ethnicity"></a-xuanze> | |||
</a-form-item> | |||
</a-col> | |||
<a-col span="12"> | |||
<a-form-item label="最小年龄" name="age_min"> | |||
<a-xuanze :dict="2012" placeholder="请选择民族" @saveSelect="saveEthnicity" | |||
:select_content="commomParams.search.ethnicity"></a-xuanze> | |||
</a-form-item> | |||
</a-col> | |||
<a-col span="12"> | |||
<a-form-item label="最大年龄" name="age_max"> | |||
<a-xuanze :dict="2012" placeholder="请选择民族" @saveSelect="saveEthnicity" | |||
@@ -116,8 +131,8 @@ | |||
let { store, commomParams, dayjs, richOption, ExclamationCircleOutlined, Modal } = useCommon(); | |||
let props = defineProps(['search_params']); | |||
const emit = defineEmits(); | |||
interface listType { | |||
title ?: Number, | |||
education ?: Number, | |||
@@ -131,13 +146,13 @@ | |||
other_language ?: Number, | |||
max_work_experience ?: Number, | |||
min_work_experience ?: Number, | |||
gender ?: Number, | |||
gender ?: String, | |||
maxheight ?: Number, | |||
minheight ?: Number, | |||
maxweight ?: Number, | |||
minweight ?: Number, | |||
} | |||
commomParams.value.search = commomParams.value.search as listType; | |||
commomParams.value.search.title = 0; | |||
commomParams.value.search.education = 0; | |||
@@ -151,22 +166,22 @@ | |||
commomParams.value.search.other_language = ''; | |||
commomParams.value.search.max_work_experience = 0; | |||
commomParams.value.search.min_work_experience = 0; | |||
commomParams.value.search.gender = 0; | |||
commomParams.value.search.gender = '不限'; | |||
commomParams.value.search.maxheight = 0; | |||
commomParams.value.search.minheight = 0; | |||
commomParams.value.search.maxweight = 0; | |||
commomParams.value.search.minweight = 0; | |||
watch(() => props.search_params, (newVal) => { | |||
emit('searchData', commomParams.value.search) | |||
}, { | |||
immediate: true | |||
}) | |||
const getData = () => { | |||
emit('searchData', commomParams.value.search) | |||
} | |||
// 清空搜索 | |||
const clearSearch = () => { | |||
commomParams.value.search = { | |||
@@ -176,12 +191,9 @@ | |||
sortby: 'asc', | |||
keyword: '' | |||
} | |||
emit('clearData', commomParams.value.search) | |||
} | |||
</script> | |||
<style> |
@@ -19,7 +19,7 @@ | |||
<a-menu-item key="1"> | |||
<a-space :size="80"> | |||
<div>发布中</div> | |||
<div>0分</div> | |||
<div></div> | |||
</a-space> | |||
</a-menu-item> | |||
<a-menu-item key="2"> | |||
@@ -64,15 +64,15 @@ | |||
<a-menu-item key="1"> | |||
<a-space :size="80"> | |||
<div>面试通知</div> | |||
<div>0分</div> | |||
<div>{{interviewListLength}}个</div> | |||
</a-space> | |||
</a-menu-item> | |||
<a-menu-item key="2"> | |||
<!-- <a-menu-item key="2"> | |||
<a-space :size="80"> | |||
<div>简历完成度</div> | |||
<div><a-rate v-model:value="value" /></div> | |||
</a-space> | |||
</a-menu-item> | |||
</a-menu-item> --> | |||
<a-menu-item key="3" v-if="pageType != 'personal'"> | |||
<a-space :size="80"> | |||
<div>管理中心</div> | |||
@@ -124,7 +124,7 @@ | |||
<script lang="ts" setup> | |||
import { ref, onMounted, computed, defineProps, defineEmits } from 'vue'; | |||
import ATopMenu from '@/components/layout/menu/aMenu.vue'; | |||
import { PostCustomerVerify } from '@/apis/models'; | |||
import { PostCustomerVerify, GetPersonInterviewList } from '@/apis/models'; | |||
import { warnToast, successToast } from '@/utils/toastHelper'; | |||
import { store } from '@/store/index'; | |||
import { router } from '@/router/index'; | |||
@@ -228,7 +228,7 @@ | |||
router.push('/personal') | |||
} | |||
if (val.key == 6) { | |||
debugger | |||
openHr.value = true | |||
form.value.code = '' | |||
} | |||
@@ -261,6 +261,14 @@ | |||
} | |||
} | |||
let interviewListLength = ref<Number>(0) | |||
onMounted(() => { | |||
GetPersonInterviewList({ status: 0 }).then(res => { | |||
interviewListLength.value = res.data.list.length | |||
}) | |||
}) | |||
</script> | |||
<style lang="less" scoped> |
@@ -44,6 +44,7 @@ | |||
background-color: #f0f0f0 !important; | |||
padding-top: 64px; | |||
padding-bottom: 30px; | |||
background-image: linear-gradient(to bottom, #e0f2f4, #f2f4f7); | |||
// background-image: url('https://mdn.alipayobjects.com/yuyan_qk0oxh/afts/img/V-_oS6r-i7wAAAAAAAAAAAAAFl94AQBr'); | |||
} |
@@ -1,87 +1,99 @@ | |||
:root { | |||
font-family: Inter, system-ui, Avenir, Helvetica, Arial, sans-serif; | |||
line-height: 1.5; | |||
font-weight: 400; | |||
color-scheme: light dark; | |||
color: rgba(255, 255, 255, 0.87); | |||
background-color: #242424; | |||
font-synthesis: none; | |||
text-rendering: optimizeLegibility; | |||
-webkit-font-smoothing: antialiased; | |||
-moz-osx-font-smoothing: grayscale; | |||
font-family: Inter, system-ui, Avenir, Helvetica, Arial, sans-serif; | |||
line-height: 1.5; | |||
font-weight: 400; | |||
color-scheme: light dark; | |||
color: rgba(255, 255, 255, 0.87); | |||
background-color: #242424; | |||
font-synthesis: none; | |||
text-rendering: optimizeLegibility; | |||
-webkit-font-smoothing: antialiased; | |||
-moz-osx-font-smoothing: grayscale; | |||
} | |||
a { | |||
font-weight: 500; | |||
color: #646cff; | |||
text-decoration: inherit; | |||
font-weight: 500; | |||
color: #646cff; | |||
text-decoration: inherit; | |||
} | |||
a:hover { | |||
color: #535bf2; | |||
color: #535bf2; | |||
} | |||
body { | |||
margin: 0; | |||
display: flex; | |||
place-items: center; | |||
min-width: 320px; | |||
min-height: 100vh; | |||
margin: 0; | |||
display: flex; | |||
place-items: center; | |||
min-width: 320px; | |||
min-height: 100vh; | |||
} | |||
h1 { | |||
font-size: 3.2em; | |||
line-height: 1.1; | |||
font-size: 3.2em; | |||
line-height: 1.1; | |||
} | |||
button { | |||
border-radius: 8px; | |||
border: 1px solid transparent; | |||
padding: 0.6em 1.2em; | |||
font-size: 1em; | |||
font-weight: 500; | |||
font-family: inherit; | |||
background-color: #1a1a1a; | |||
cursor: pointer; | |||
transition: border-color 0.25s; | |||
border-radius: 8px; | |||
border: 1px solid transparent; | |||
padding: 0.6em 1.2em; | |||
font-size: 1em; | |||
font-weight: 500; | |||
font-family: inherit; | |||
background-color: #1a1a1a; | |||
cursor: pointer; | |||
transition: border-color 0.25s; | |||
} | |||
button:hover { | |||
border-color: #646cff; | |||
border-color: #646cff; | |||
} | |||
button:focus, | |||
button:focus-visible { | |||
outline: 4px auto -webkit-focus-ring-color; | |||
outline: 4px auto -webkit-focus-ring-color; | |||
} | |||
.card { | |||
padding: 2em; | |||
padding: 2em; | |||
} | |||
#app { | |||
width: 100%; | |||
height: 100%; | |||
overflow: hidden; | |||
overflow: auto; | |||
background-color: #f0f0f0 !important; | |||
width: 100%; | |||
height: 100%; | |||
overflow: hidden; | |||
overflow: auto; | |||
background-color: #f0f0f0 !important; | |||
} | |||
::-webkit-scrollbar { | |||
/* 设置滚动条宽度 */ | |||
width: 0px; | |||
height: 0px; | |||
} | |||
@media (prefers-color-scheme: light) { | |||
:root { | |||
color: #213547; | |||
background-color: #ffffff; | |||
} | |||
a:hover { | |||
color: #747bff; | |||
} | |||
button { | |||
background-color: #f9f9f9; | |||
} | |||
:root { | |||
color: #213547; | |||
background-color: #ffffff; | |||
} | |||
a:hover { | |||
color: #747bff; | |||
} | |||
button { | |||
background-color: #f9f9f9; | |||
} | |||
} | |||
.content-padding-inline { | |||
padding-inline: 50px; | |||
} | |||
/* 从右开始 */ | |||
.horizontal-flex-end { | |||
display: flex; | |||
@@ -90,4 +102,4 @@ button:focus-visible { | |||
.main-color { | |||
color: #4FBE70; | |||
} | |||
} |
@@ -34,7 +34,7 @@ | |||
</a-descriptions-item> | |||
<a-descriptions-item> | |||
<a-button type="link" class="main-color"> | |||
<RedoOutlined style="color: #4FBE70" />预览简历 | |||
<RedoOutlined style="color: #4FBE70" />刷新简历 | |||
</a-button> | |||
</a-descriptions-item> | |||
<a-descriptions-item label="简历是否在家政可见"> |
@@ -1,7 +1,8 @@ | |||
.login-box { | |||
width: 100%; | |||
height: 100%; | |||
background-image: url('https://mdn.alipayobjects.com/yuyan_qk0oxh/afts/img/V-_oS6r-i7wAAAAAAAAAAAAAFl94AQBr'); | |||
background-image: linear-gradient(to bottom, #e0f2f4, #f2f4f7); | |||
// background-image: url('https://mdn.alipayobjects.com/yuyan_qk0oxh/afts/img/V-_oS6r-i7wAAAAAAAAAAAAAFl94AQBr'); | |||
} | |||
.login-content { |
@@ -220,11 +220,24 @@ | |||
createForm.value = reset().dataForm as LoginType.LoginFormType; | |||
personalForm.value = reset().dataForm as RegisterType.RegisterPersonalFormType; | |||
companyForm.value = reset().dataForm as RegisterType.RegisterCompanyFormType; | |||
smsForm.value = reset().dataForm as LoginType.SmsFormType; | |||
smsLoginForm.value = reset().dataForm as LoginType.SmsLoginFormType; | |||
getCaptcha() | |||
} | |||
const resetForm = () => { | |||
createForm.value = reset().dataForm as LoginType.LoginFormType; | |||
personalForm.value = reset().dataForm as RegisterType.RegisterPersonalFormType; | |||
companyForm.value = reset().dataForm as RegisterType.RegisterCompanyFormType; | |||
smsForm.value = reset().dataForm as LoginType.SmsFormType; | |||
smsLoginForm.value = reset().dataForm as LoginType.SmsLoginFormType; | |||
getCaptcha() | |||
} | |||
const getCaptcha = () => { | |||
capt_id.value = '' | |||
createForm.value.captcha = ''; | |||
GetCaptcha().then(res => { | |||
capt_id.value = res.data.capt_id; | |||
@@ -256,6 +269,7 @@ | |||
sessionStorage.setItem('id', res.data.company_id) | |||
store.commit('permissions/SET_PERMISSION', null) | |||
store.commit('permissions/SET_MENU', []) | |||
resetForm() | |||
router.push('/manage/home') | |||
}).catch(err => { | |||
getCaptcha() | |||
@@ -283,6 +297,7 @@ | |||
sessionStorage.setItem('id', res.data.customerid) | |||
store.commit('permissions/SET_PERMISSION', null) | |||
store.commit('permissions/SET_MENU', []) | |||
resetForm() | |||
router.push('/jobseeker/home') | |||
}).catch(err => { | |||
getCaptcha() | |||
@@ -310,6 +325,7 @@ | |||
sessionStorage.setItem('id', res.data.company_id) | |||
store.commit('permissions/SET_PERMISSION', null) | |||
store.commit('permissions/SET_MENU', []) | |||
resetForm() | |||
router.push('/manage/home') | |||
}).catch(err => { | |||
getCaptcha() |