| @@ -1 +1 @@ | |||
| import{d as p,r as c,o as _,c as r,a as e,b as l,w as d,e as i,f as t,p as h,g as m,_ as u}from"./index-zAh8PlRy.js";const s=o=>(h("data-v-7bdb0e8f"),o=o(),m(),o),f={class:"nopage"},b=s(()=>e("span",{style:{color:"#0074D9"}},"4",-1)),y=s(()=>e("span",{style:{color:"#67C23A"}},"0",-1)),g=s(()=>e("span",{style:{color:"#0074D9"}},"4",-1)),v=s(()=>e("p",null,"你页面走丢了~",-1)),x=p({__name:"404",setup(o){const a=()=>{sessionStorage.pageType=="company"?t.push("/manage/home"):sessionStorage.pageType=="personal"?t.push("/jobseeker/home"):t.push("/job/home")};return(C,S)=>{const n=c("a-button");return _(),r("div",f,[b,y,g,e("div",null,[v,e("p",null,[l(n,{type:"primary",onClick:a},{default:d(()=>[i("返回首页")]),_:1})])])])}}}),I=u(x,[["__scopeId","data-v-7bdb0e8f"]]);export{I as default}; | |||
| import{d as p,r as c,o as _,c as r,a as e,b as l,w as d,e as i,f as t,p as h,g as m,_ as u}from"./index-Q7D-8RCG.js";const s=o=>(h("data-v-7bdb0e8f"),o=o(),m(),o),f={class:"nopage"},b=s(()=>e("span",{style:{color:"#0074D9"}},"4",-1)),y=s(()=>e("span",{style:{color:"#67C23A"}},"0",-1)),g=s(()=>e("span",{style:{color:"#0074D9"}},"4",-1)),v=s(()=>e("p",null,"你页面走丢了~",-1)),x=p({__name:"404",setup(o){const a=()=>{sessionStorage.pageType=="company"?t.push("/manage/home"):sessionStorage.pageType=="personal"?t.push("/jobseeker/home"):t.push("/job/home")};return(C,S)=>{const n=c("a-button");return _(),r("div",f,[b,y,g,e("div",null,[v,e("p",null,[l(n,{type:"primary",onClick:a},{default:d(()=>[i("返回首页")]),_:1})])])])}}}),I=u(x,[["__scopeId","data-v-7bdb0e8f"]]);export{I as default}; | |||
| @@ -6,8 +6,8 @@ | |||
| <meta name="viewport" content="width=device-width, initial-scale=1.0" /> | |||
| <script src="https://map.qq.com/api/gljs?v=1.exp&key=MPBBZ-HUICZ-EGRXB-7AHZI-R4GQZ-QWBSO"></script> | |||
| <title>菊城人才网</title> | |||
| <script type="module" crossorigin src="/assets/index-zAh8PlRy.js"></script> | |||
| <link rel="stylesheet" crossorigin href="/assets/index-pypFVRJd.css"> | |||
| <script type="module" crossorigin src="/assets/index-Q7D-8RCG.js"></script> | |||
| <link rel="stylesheet" crossorigin href="/assets/index-zHxvtQsI.css"> | |||
| </head> | |||
| <body> | |||
| <div id="app"></div> | |||
| @@ -129,7 +129,7 @@ | |||
| </a-col> | |||
| <a-col span="12"> | |||
| <a-form-item label="职称要求"> | |||
| <a-xuanze :dict="2006" placeholder="请选择职称要求" @saveSelect="saveProfelevel" | |||
| <a-xuanze :dict="2014" placeholder="请选择职称要求" @saveSelect="saveProfelevel" | |||
| :select_content="createForm.profelevel"></a-xuanze> | |||
| </a-form-item> | |||
| </a-col> | |||
| @@ -39,10 +39,10 @@ | |||
| {{item.now_level1_text}}{{item.now_level2_text}} | |||
| </div> | |||
| <div style="margin-top: 10px; overflow: hidden; | |||
| display: -webkit-box; | |||
| -webkit-line-clamp: 1; | |||
| -webkit-box-orient: vertical; | |||
| text-overflow: ellipsis;"> | |||
| display: -webkit-box; | |||
| -webkit-line-clamp: 1; | |||
| -webkit-box-orient: vertical; | |||
| text-overflow: ellipsis;"> | |||
| <div v-html="item.introduction"></div> | |||
| </div> | |||
| </template> | |||
| @@ -31,10 +31,15 @@ export const cols = <ColType.type[]>[ | |||
| key: 'apply_time_txt', | |||
| }, | |||
| { | |||
| title: '状态', | |||
| title: '查看状态', | |||
| dataIndex: 'status_text', | |||
| key: 'status_text', | |||
| }, | |||
| { | |||
| title: '查看时间', | |||
| dataIndex: 'viewtime_txt', | |||
| key: 'viewtime_txt', | |||
| }, | |||
| { | |||
| title: '操作', | |||
| dataIndex: 'operation', | |||
| @@ -47,7 +47,7 @@ | |||
| import ASearch from '@/components/company/resume/interview/search.vue'; | |||
| import ResumeDetail from '@/components/jobseeker/resume/detail/index.vue' | |||
| import { useCommon } from '@/hooks/useCommon'; | |||
| import { cols } from '@/components/company/resume/interview/columns'; | |||
| import { cols } from '@/components/company/resume/receive/columns'; | |||
| import { warnToast, successToast } from '@/utils/toastHelper'; | |||
| import { DownOutlined } from '@ant-design/icons-vue'; | |||
| const emit = defineEmits(); | |||
| @@ -11,29 +11,20 @@ export const cols = <ColType.type[]>[ | |||
| key: 'gender', | |||
| }, | |||
| { | |||
| title: '应聘职位', | |||
| dataIndex: 'job_name', | |||
| key: 'job_name', | |||
| title: '期望职位', | |||
| dataIndex: 'desired_position_text', | |||
| key: 'desired_position_text', | |||
| width: 300 | |||
| }, | |||
| { | |||
| title: '学历', | |||
| dataIndex: 'education_txt', | |||
| key: 'education_txt', | |||
| dataIndex: 'education_text', | |||
| key: 'education_text', | |||
| }, | |||
| { | |||
| title: '工作经验', | |||
| dataIndex: 'work_experience_txt', | |||
| key: 'work_experience_txt', | |||
| }, | |||
| { | |||
| title: '面试时间', | |||
| dataIndex: 'invite_date_txt', | |||
| key: 'invite_date_txt', | |||
| }, | |||
| { | |||
| title: '接收面试状态', | |||
| dataIndex: 'employ_status_txt', | |||
| key: 'employ_status_txt', | |||
| dataIndex: 'work_experience_text', | |||
| key: 'work_experience_text', | |||
| }, | |||
| { | |||
| title: '操作', | |||
| @@ -8,6 +8,9 @@ | |||
| <a-dropdown placement="bottomRight"> | |||
| <template #overlay> | |||
| <a-menu> | |||
| <a-menu-item key="2"> | |||
| <a-button @click="detail(record)" block>预览简历</a-button> | |||
| </a-menu-item> | |||
| <a-menu-item key="1"> | |||
| <a-button @click="popInRecycle(record.id)">移出人才库</a-button> | |||
| </a-menu-item> | |||
| @@ -22,18 +25,20 @@ | |||
| </a-row> | |||
| </template> | |||
| </a-biaoge> | |||
| <resume-detail v-if="detail_record" :detail_record="detail_record"></resume-detail> | |||
| </template> | |||
| <script setup lang="ts"> | |||
| import { ref, onMounted, computed, defineEmits, createVNode } from 'vue'; | |||
| import { GetCompanyTalentPoolList, PostCompanyTalentPoolDel } from '@/apis/models'; | |||
| import ASearch from '@/components/company/resume/talent/search.vue'; | |||
| import ResumeDetail from '@/components/jobseeker/resume/detail/index.vue' | |||
| import { useCommon } from '@/hooks/useCommon'; | |||
| import { cols } from '@/components/company/resume/talent/columns'; | |||
| import { warnToast, successToast } from '@/utils/toastHelper'; | |||
| import { DownOutlined } from '@ant-design/icons-vue'; | |||
| const emit = defineEmits(); | |||
| let { commomParams, ExclamationCircleOutlined, Modal } = useCommon(); | |||
| let { commomParams, ExclamationCircleOutlined, Modal,showOtherModal1 } = useCommon(); | |||
| let loading = ref<Boolean>(true); | |||
| onMounted(() => { | |||
| @@ -103,6 +108,12 @@ | |||
| }, | |||
| }); | |||
| } | |||
| let detail_record = ref<Object>(null) | |||
| const detail = (record) => { | |||
| detail_record.value = record; | |||
| showOtherModal1() | |||
| } | |||
| // const del = (id : number) => { | |||
| @@ -16,11 +16,12 @@ | |||
| <a-typography> | |||
| <a-typography-title :level="5">参与的企业</a-typography-title> | |||
| <a-typography-paragraph> | |||
| <a-row :gutter="[10,10]"> | |||
| <a-row :gutter="[10,10]" v-if="companyList.length > 0"> | |||
| <a-col v-for="(item, index) in companyList"> | |||
| <div style="color: #808080" @click="toCompanyDetail(item.id)">{{item.company_name}}</div> | |||
| </a-col> | |||
| </a-row> | |||
| <div style="color: #808080" v-else>暂无企业</div> | |||
| </a-typography-paragraph> | |||
| </a-typography> | |||
| @@ -12,10 +12,16 @@ | |||
| <a-col span="8" v-for="(item, index) in jobList"> | |||
| <a-card hoverable :title="item.job_name" @click="detail(item.job_id)"> | |||
| <template #extra> | |||
| <a-space> | |||
| <a-space v-if="item.view_status == 1"> | |||
| <a-button @click="rejectInterview(item.id)">拒绝面试</a-button> | |||
| <a-button @click="receiveInterview(item.id)" type="primary">接受面试</a-button> | |||
| </a-space> | |||
| <div v-if="item.view_status == 2"> | |||
| <a-tag color="green">已接受此面试,请准时参加面试</a-tag> | |||
| </div> | |||
| <div v-if="item.view_status == 3"> | |||
| <a-tag color="red">已拒绝此面试</a-tag> | |||
| </div> | |||
| </template> | |||
| <a-row> | |||
| <a-col span="20"> | |||
| @@ -156,7 +156,7 @@ button:focus-visible { | |||
| } */ | |||
| .ant-checkbox-checked .ant-checkbox-inner { | |||
| background: #4FBE70 !important; | |||
| background: #4FBE70 !important; | |||
| border-color: #4FBE70 !important; | |||
| } | |||
| @@ -170,3 +170,9 @@ background: #4FBE70 !important; | |||
| border-radius: 8px; | |||
| } | |||
| pre { | |||
| width: 100%; | |||
| overflow: hidden; | |||
| text-overflow: ellipsis; | |||
| white-space: nowrap; | |||
| } | |||
| @@ -5,8 +5,14 @@ | |||
| <a-row :gutter="20"> | |||
| <a-col span="4"> | |||
| <div style="position: fixed; top: 90px; z-index:99;"> | |||
| <a-anchor style="width: 210px !important;" :get-container="getContainer" :target-offset="50" :items="menu_list" | |||
| @click="anchorClick"></a-anchor> | |||
| <a-space direction="vertical"> | |||
| <a-anchor style="width: 210px !important;" :get-container="getContainer" | |||
| :target-offset="50" :items="menu_list" @click="anchorClick"></a-anchor> | |||
| <div @click="detail" | |||
| style="width: 210px; padding: 10px;background-color: #fff; border-radius: 8px; cursor: pointer;"> | |||
| 预览简历 | |||
| </div> | |||
| </a-space> | |||
| </div> | |||
| </a-col> | |||
| <a-col span="20"> | |||
| @@ -44,7 +50,7 @@ | |||
| </a-typography-title> | |||
| <FormOutlined @click="edit('contact')" v-if="editObj.contact" | |||
| style="color: #4FBE70;font-size: 24px;" /> | |||
| <PlusCircleOutlined @click="edit('contact')" v-else | |||
| <FormOutlined @click="edit('contact')" v-else | |||
| style="color: #4FBE70;font-size: 24px;" /> | |||
| </a-flex> | |||
| <a-typography-paragraph> | |||
| @@ -63,7 +69,7 @@ | |||
| </a-typography-title> | |||
| <FormOutlined @click="edit('introduction')" v-if="editObj.introduction" | |||
| style="color: #4FBE70;font-size: 24px;" /> | |||
| <PlusCircleOutlined @click="edit('introduction')" v-else | |||
| <FormOutlined @click="edit('introduction')" v-else | |||
| style="color: #4FBE70;font-size: 24px;" /> | |||
| </a-flex> | |||
| <a-typography-paragraph> | |||
| @@ -82,7 +88,7 @@ | |||
| </a-typography-title> | |||
| <FormOutlined @click="edit('skill')" v-if="editObj.skill" | |||
| style="color: #4FBE70;font-size: 24px;" /> | |||
| <PlusCircleOutlined @click="edit('skill')" v-else | |||
| <FormOutlined @click="edit('skill')" v-else | |||
| style="color: #4FBE70;font-size: 24px;" /> | |||
| </a-flex> | |||
| <a-typography-paragraph> | |||
| @@ -176,6 +182,7 @@ | |||
| </a-col> | |||
| </a-row> | |||
| </div> | |||
| <resume-detail v-if="detail_record" :detail_record="detail_record"></resume-detail> | |||
| </template> | |||
| <script setup lang="ts"> | |||
| @@ -188,9 +195,10 @@ | |||
| import ResumeIntroduction from '@/components/jobSeeker/resume/introduction/introduction.vue'; | |||
| import ResumeSkill from '@/components/jobSeeker/resume/skill/skill.vue'; | |||
| import ResumeTrain from '@/components/jobSeeker/resume/train/train.vue'; | |||
| import ResumeDetail from '@/components/jobseeker/resume/detail/index.vue' | |||
| import { FormOutlined, PlusCircleOutlined } from '@ant-design/icons-vue'; | |||
| import { useCommon } from '@/hooks/useCommon'; | |||
| let { store, dayjs, richOption, ExclamationCircleOutlined, Modal } = useCommon(); | |||
| let { store, dayjs, richOption, ExclamationCircleOutlined, Modal, showOtherModal1 } = useCommon(); | |||
| let menu_list = ref([ | |||
| { title: '基本资料', key: 1, href: '#basic' }, | |||
| { title: '联系信息', key: 2, href: '#contact' }, | |||
| @@ -269,6 +277,14 @@ | |||
| }) | |||
| } | |||
| } | |||
| let detail_record = ref<Object>(null) | |||
| const detail = () => { | |||
| detail_record.value = {customer_id: sessionStorage.getItem('id')}; | |||
| showOtherModal1() | |||
| } | |||
| </script> | |||
| <style scoped> | |||