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-HiZ0XJtc.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-ygQXLtR_.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}; |
<meta name="viewport" content="width=device-width, initial-scale=1.0" /> | <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> | <script src="https://map.qq.com/api/gljs?v=1.exp&key=MPBBZ-HUICZ-EGRXB-7AHZI-R4GQZ-QWBSO"></script> | ||||
<title>菊城人才网</title> | <title>菊城人才网</title> | ||||
<script type="module" crossorigin src="/assets/index-HiZ0XJtc.js"></script> | |||||
<link rel="stylesheet" crossorigin href="/assets/index-g8c0vnJb.css"> | |||||
<script type="module" crossorigin src="/assets/index-ygQXLtR_.js"></script> | |||||
<link rel="stylesheet" crossorigin href="/assets/index-MiQZPaKl.css"> | |||||
</head> | </head> | ||||
<body> | <body> | ||||
<div id="app"></div> | <div id="app"></div> |
if(sessionStorage.getItem('article_data')) { | if(sessionStorage.getItem('article_data')) { | ||||
key.value = 1 | key.value = 1 | ||||
} else { | } else { | ||||
key.value = newVal | |||||
key.value = newVal; | |||||
detail.value = null | |||||
} | } | ||||
getArticleList(key.value) | getArticleList(key.value) | ||||
}, { immediate: true }) | }, { immediate: true }) |
<a-typography> | <a-typography> | ||||
<a-typography-title :level="5">参与的企业</a-typography-title> | <a-typography-title :level="5">参与的企业</a-typography-title> | ||||
<a-typography-paragraph> | <a-typography-paragraph> | ||||
<a-row :gutter="[10,10]" v-if="companyList.length > 0"> | |||||
<a-row :gutter="[10,10]" v-if="companyList && companyList.length > 0"> | |||||
<a-col v-for="(item, index) in companyList"> | <a-col v-for="(item, index) in companyList"> | ||||
<div style="color: #808080" @click="toCompanyDetail(item.id)">{{item.company_name}}</div> | |||||
<div style="color: #808080" @click="toCompanyDetail(item.company_id)">{{item.company_name}}</div> | |||||
</a-col> | </a-col> | ||||
</a-row> | </a-row> | ||||
<div style="color: #808080" v-else>暂无企业</div> | <div style="color: #808080" v-else>暂无企业</div> |
<a-col span="8"> | <a-col span="8"> | ||||
<a-row gutter="20"> | <a-row gutter="20"> | ||||
<a-col sapn="12"> | <a-col sapn="12"> | ||||
<div style="display: flex;flex-direction: column;align-items: flex-start;"> | |||||
<div>关于我们</div> | |||||
<div style="display: flex;flex-direction: column;align-items: flex-start;cursor: pointer;"> | |||||
<div @click="toPath(1)">关于我们</div> | |||||
<div style="display: flex;flex-direction: column;"> | <div style="display: flex;flex-direction: column;"> | ||||
<div>联系方式</div> | |||||
<div>公司地图</div> | |||||
<div>关于我们</div> | |||||
<div>收费方式</div> | |||||
<div>汇款方式</div> | |||||
<div @click="toPath(2)">联系方式</div> | |||||
<div @click="toPath(3)">公司地图</div> | |||||
<div @click="toPath(4)">收费方式</div> | |||||
<div @click="toPath(5)">汇款方式</div> | |||||
</div> | </div> | ||||
</div> | </div> | ||||
</a-col> | </a-col> | ||||
<a-col sapn="12"> | <a-col sapn="12"> | ||||
<div | <div | ||||
style="display: flex;flex-direction: column;align-items: flex-start;justify-content: center;"> | |||||
<div>快速注册</div> | |||||
style="display: flex;flex-direction: column;align-items: flex-start;justify-content: center;cursor: pointer;"> | |||||
<div @click="toPath(6)">快速注册</div> | |||||
<div style="display: flex;flex-direction: column;"> | <div style="display: flex;flex-direction: column;"> | ||||
<div>单位用户注册</div> | |||||
<div>个人用户注册</div> | |||||
<div @click="toPath(7)">企业用户注册</div> | |||||
<div @click="toPath(8)">个人用户注册</div> | |||||
</div> | </div> | ||||
</div> | </div> | ||||
</a-col> | </a-col> | ||||
<div | <div | ||||
style="display: flex;flex-direction: column;align-items: flex-end;justify-content: space-between;height: 100%;"> | style="display: flex;flex-direction: column;align-items: flex-end;justify-content: space-between;height: 100%;"> | ||||
<div style="display: flex;flex-direction: column;align-items: flex-start;"> | <div style="display: flex;flex-direction: column;align-items: flex-start;"> | ||||
<div>联系电话</div> | |||||
<div>0760-22236225、22236226</div> | |||||
<div>0760-22236225、22236226</div> | |||||
<div>联系电话</div> | |||||
<div>0760-22236225、22236226</div> | |||||
<div>0760-22236225、22236226</div> | |||||
</div> | </div> | ||||
<div style="display: flex;flex-direction: column;align-items: center;"> | <div style="display: flex;flex-direction: column;align-items: center;"> | ||||
<image-container :need="true" | <image-container :need="true" | ||||
</a-row> | </a-row> | ||||
</template> | </template> | ||||
<script> | |||||
<script setup lang="ts"> | |||||
import { router } from '@/router'; | |||||
const toPath = (val) => { | |||||
if (val == 6 || val == 7 || val == 8) { | |||||
router.push({ | |||||
path: '/login', | |||||
}) | |||||
} else { | |||||
router.push({ | |||||
path: '/about' | |||||
}) | |||||
} | |||||
sessionStorage.setItem('footer_key', val) | |||||
} | |||||
</script> | </script> | ||||
<style scoped lang="less"> | <style scoped lang="less"> | ||||
</style> | </style> |
<template> | <template> | ||||
<a-result status="404" title="404" sub-title="Sorry, the page you visited does not exist."> | |||||
<template #extra> | |||||
<router-link to="/job/home"><a-button type="primary">返回首页</a-button></router-link> | |||||
</template> | |||||
</a-result> | |||||
<a-row type="flex" justify="center" class="content-padding-inline"> | |||||
<a-col span="18"> | |||||
<div | |||||
style="width: 100%;background-color: #fff;height: calc(100vh - 100px); overflow: auto; margin-top: 30px; padding: 10px;border-radius: 8px;cursor: pointer;"> | |||||
<a-tabs type="card" v-model:activeKey="activeKey" @change="tabChange"> | |||||
<a-tab-pane :key="1" tab="关于我们"> | |||||
<a-typography style="padding: 20px;"> | |||||
<a-typography-title :level="3">关于我们</a-typography-title> | |||||
<a-typography-paragraph v-if="detail"> | |||||
<div v-html="detail.value"></div> | |||||
</a-typography-paragraph> | |||||
</a-typography> | |||||
</a-tab-pane> | |||||
<a-tab-pane :key="2" tab="联系方式"> | |||||
<a-typography style="padding: 20px;"> | |||||
<a-typography-title :level="3">联系方式</a-typography-title> | |||||
<a-typography-paragraph v-if="detail"> | |||||
<div v-html="detail.value"></div> | |||||
</a-typography-paragraph> | |||||
</a-typography> | |||||
</a-tab-pane> | |||||
<a-tab-pane :key="3" tab="地图位置"> | |||||
<a-typography style="padding: 20px;"> | |||||
<a-typography-title :level="3">地图位置</a-typography-title> | |||||
<a-typography-paragraph> | |||||
<map-marker></map-marker> | |||||
</a-typography-paragraph> | |||||
</a-typography> | |||||
</a-tab-pane> | |||||
<a-tab-pane :key="4" tab="收费标准"> | |||||
<a-typography style="padding: 20px;"> | |||||
<a-typography-title :level="3">收费标准</a-typography-title> | |||||
<a-typography-paragraph v-if="detail"> | |||||
<div v-html="detail.value"></div> | |||||
</a-typography-paragraph> | |||||
</a-typography> | |||||
</a-tab-pane> | |||||
<a-tab-pane :key="5" tab="汇款方式"> | |||||
<a-typography style="padding: 20px;"> | |||||
<a-typography-title :level="3">汇款方式</a-typography-title> | |||||
<a-typography-paragraph v-if="detail"> | |||||
<div v-html="detail.value"></div> | |||||
</a-typography-paragraph> | |||||
</a-typography> | |||||
</a-tab-pane> | |||||
</a-tabs> | |||||
</div> | |||||
</a-col> | |||||
</a-row> | |||||
</template> | </template> | ||||
<script> | |||||
<script setup lang="ts"> | |||||
import { ref, computed, onMounted, defineEmits, defineProps, watch } from 'vue'; | |||||
import MapMarker from '@/components/map/marker.vue' | |||||
import { GetSysconfigDetail } from '@/apis/models'; | |||||
let detail = ref<any>('') | |||||
let activeKey = ref<Number>(1) | |||||
const tabChange = (val) => { | |||||
detail.value = null | |||||
switch (val) { | |||||
case 1: | |||||
GetSysconfigDetail({ name: 'about_us' }).then(res => { | |||||
detail.value = res.data | |||||
}) | |||||
break; | |||||
case 2: | |||||
GetSysconfigDetail({ name: 'about_us_contact' }).then(res => { | |||||
detail.value = res.data | |||||
}) | |||||
break; | |||||
case 5: | |||||
GetSysconfigDetail({ name: 'remittance_method' }).then(res => { | |||||
detail.value = res.data | |||||
}) | |||||
break; | |||||
} | |||||
} | |||||
onMounted(() => { | |||||
if (sessionStorage.getItem('footer_key')) { | |||||
activeKey.value = Number(sessionStorage.getItem('footer_key')) | |||||
tabChange(activeKey.value) | |||||
} else { | |||||
activeKey.value = 1 | |||||
tabChange(1) | |||||
} | |||||
}) | |||||
</script> | </script> | ||||
<style> | <style> |
</a-segmented> | </a-segmented> | ||||
</a-col> | </a-col> | ||||
<a-col span="24"> | <a-col span="24"> | ||||
<a-input v-model:value="createForm.username" placeholder="手机号" size="large" /> | |||||
<a-input v-model:value="createForm.username" placeholder="手机号/账号" size="large" /> | |||||
</a-col> | </a-col> | ||||
<template v-if="loginMethod == 'password'"> | <template v-if="loginMethod == 'password'"> | ||||
<a-col span="24"> | <a-col span="24"> | ||||
<script lang="ts" setup> | <script lang="ts" setup> | ||||
import { ref, onMounted, computed, onBeforeUnmount } from 'vue'; | import { ref, onMounted, computed, onBeforeUnmount } from 'vue'; | ||||
import { GetCaptcha, PostJobseekerlogin,PostCompanyLogin, PostSmsSend, PostJobseekerSmsLogin, PostCompanyLoginByMobile, PostJobseekerRegister, PostCompanyRegister} from '@/apis/models'; | |||||
import { GetCaptcha, PostJobseekerlogin, PostCompanyLogin, PostSmsSend, PostJobseekerSmsLogin, PostCompanyLoginByMobile, PostJobseekerRegister, PostCompanyRegister } from '@/apis/models'; | |||||
import { store } from '@/store/index'; | import { store } from '@/store/index'; | ||||
import { router } from '@/router/index'; | import { router } from '@/router/index'; | ||||
import { dataForm, otherDataForm, personalDataForm, companyDataForm, smsDataForm, smsLoginDataForm, reset } from '@/views/login/data.ts'; | import { dataForm, otherDataForm, personalDataForm, companyDataForm, smsDataForm, smsLoginDataForm, reset } from '@/views/login/data.ts'; | ||||
state.value.disabled = false | state.value.disabled = false | ||||
}; | }; | ||||
}, 1000) | }, 1000) | ||||
}).catch(err => { | |||||
clearInterval(timer.value); | |||||
smsForm.value.captcha = '' | |||||
getCaptcha() | |||||
}) | }) | ||||
}; | }; | ||||
smsLoginForm.value = reset().smsLoginDataForm as LoginType.SmsLoginFormType; | smsLoginForm.value = reset().smsLoginDataForm as LoginType.SmsLoginFormType; | ||||
getCaptcha() | getCaptcha() | ||||
} | } | ||||
const resetForm = () => { | const resetForm = () => { | ||||
createForm.value = reset().dataForm as LoginType.LoginFormType; | createForm.value = reset().dataForm as LoginType.LoginFormType; | ||||
getCaptcha() | getCaptcha() | ||||
}) | }) | ||||
} | } | ||||
} | } | ||||
} | } | ||||
// 进入注册 | // 进入注册 | ||||
const register = () => { | const register = () => { | ||||
if(registerSegmentedValue.value == '求职者注册') { | |||||
if (registerSegmentedValue.value == '求职者注册') { | |||||
personalForm.value.capt_id = capt_id.value; | personalForm.value.capt_id = capt_id.value; | ||||
PostJobseekerRegister(personalForm.value).then(res => { | PostJobseekerRegister(personalForm.value).then(res => { | ||||
successToast('注册成功,可以进行登录'); | successToast('注册成功,可以进行登录'); | ||||
getCaptcha() | getCaptcha() | ||||
}) | }) | ||||
} | } | ||||
} | } | ||||
onMounted(() => { | onMounted(() => { | ||||
if (sessionStorage.getItem('footer_key') && sessionStorage.getItem('footer_key') == 7) { | |||||
currentModule.value = 'register'; | |||||
registerSegmentedValue.value = '企业注册' | |||||
} | |||||
if (sessionStorage.getItem('footer_key') && sessionStorage.getItem('footer_key') == 8) { | |||||
currentModule.value = 'register'; | |||||
registerSegmentedValue.value = '求职者注册' | |||||
} | |||||
getCaptcha() | getCaptcha() | ||||
}) | }) | ||||
</script> | </script> |