develop:开发招聘

This commit is contained in:
2025-09-27 11:12:58 +08:00
parent e9e05f8ddd
commit f405f68045
3 changed files with 287 additions and 117 deletions

View File

@@ -2,9 +2,9 @@
<div class="navCont" v-if="isMenuVisible"> <div class="navCont" v-if="isMenuVisible">
<el-row class="flex-display flex-space-between"> <el-row class="flex-display flex-space-between">
<el-col :span="10"> <el-col :span="10">
<div class="flex-display"> <div class="flex-display">
<div style="height: 3.75rem;"> <div style="height: 3.75rem;">
<img class="logo" src="@/static/logotitle.png" /> <img class="logo" src="@/static/logotitle.png" />
</div> </div>
<!-- <span class="f-24 bold">{{$t("logoTitle")}}</span> --> <!-- <span class="f-24 bold">{{$t("logoTitle")}}</span> -->
<span class="f-12 fonsColor">{{$t("home.title.txt")}}</span> <span class="f-12 fonsColor">{{$t("home.title.txt")}}</span>
@@ -12,8 +12,8 @@
</el-col> </el-col>
<el-col :span="14"> <el-col :span="14">
<div class="flex-display flex-space-around"> <div class="flex-display flex-space-around">
<div class="f-12" v-for="item in navList" :key="item.name"> <div class="f-12" v-for="item in navList" :key="item.name">
<span v-if="item.name == 'contact'" @click="itemClick()" class="nav-font">{{ <span v-if="item.name == 'contact'" @click="itemClick()" class="nav-font">{{
$t("home."+item.name) }}</span> $t("home."+item.name) }}</span>
<router-link v-else :to="item.type" class="nav-font">{{$t("home."+item.name) }}</router-link> <router-link v-else :to="item.type" class="nav-font">{{$t("home."+item.name) }}</router-link>
</div> </div>
@@ -43,8 +43,8 @@
<el-row class="flex-display flex-space-between"> <el-row class="flex-display flex-space-between">
<el-col :span="23"> <el-col :span="23">
<div class="flex-display"> <div class="flex-display">
<div style="height: 3.75rem;"> <div style="height: 3.75rem;">
<img class="logo" src="@/static/logotitle.png" /> <img class="logo" src="@/static/logotitle.png" />
</div> </div>
<!-- <span class="f-24 bold">{{$t("logoTitle")}}</span> --> <!-- <span class="f-24 bold">{{$t("logoTitle")}}</span> -->
<span class="f-12 fonsColor">{{$t("home.title.txt")}}</span> <span class="f-12 fonsColor">{{$t("home.title.txt")}}</span>
@@ -57,40 +57,40 @@
</el-col> </el-col>
</el-row> </el-row>
</div> </div>
<el-drawer v-model="drawer" :show-close="false" :with-header="false"> <el-drawer v-model="drawer" :show-close="false" :with-header="false">
<div style="margin-bottom: 0.625rem;" class="f-20 bold">{{$t("home.navigation")}}</div> <div style="margin-bottom: 0.625rem;" class="f-20 bold">{{$t("home.navigation")}}</div>
<div style="margin-bottom: 0.625rem;" class="f-14" v-for="item in navList" :key="item.name"> <div style="margin-bottom: 0.625rem;" class="f-14" v-for="item in navList" :key="item.name">
<router-link :to="item.type" class="nav-font">{{$t("home."+item.name) }}</router-link> <router-link :to="item.type" class="nav-font">{{$t("home."+item.name) }}</router-link>
</div> </div>
<div style="margin-bottom: 0.625rem;" class="f-20 bold">{{$t("home.language.switching")}}</div> <div style="margin-bottom: 0.625rem;" class="f-20 bold">{{$t("home.language.switching")}}</div>
<el-dropdown @command="changeLanguage"> <el-dropdown @command="changeLanguage">
<span class="el-dropdown-link f-14"> <span class="el-dropdown-link f-14">
{{$t("Language")}} {{$t("Language")}}
<el-icon class="el-icon--right"> <el-icon class="el-icon--right">
<ArrowDown /> <ArrowDown />
</el-icon> </el-icon>
</span> </span>
<template #dropdown> <template #dropdown>
<el-dropdown-menu> <el-dropdown-menu>
<el-dropdown-item :command="item.value" v-for="(item, index) in languagesList" :key="index"> <el-dropdown-item :command="item.value" v-for="(item, index) in languagesList" :key="index">
<div class="flex-display f-12"> <div class="flex-display f-12">
<img class="imgClass" :src="item.icon" /> <img class="imgClass" :src="item.icon" />
<span>{{ item.name }}</span> <span>{{ item.name }}</span>
</div> </div>
</el-dropdown-item> </el-dropdown-item>
</el-dropdown-menu> </el-dropdown-menu>
</template> </template>
</el-dropdown> </el-dropdown>
</el-drawer> </el-drawer>
<el-dialog width="500px" v-model="dialogVisible"> <el-dialog width="500px" v-model="dialogVisible">
<div class="flex-display flex-column" style="color: black;padding-bottom: 50px;"> <div class="flex-display flex-column" style="color: black;padding-bottom: 50px;">
<div class="f-30" style="font-weight: 600;padding: 20px 0 0;">{{$t("octopContact")}}</div> <div class="f-30" style="font-weight: 600;padding: 20px 0 0;">{{$t("octopContact")}}</div>
<div> <div>
<img style="width: 250px;height: 250px;" src="../assets/images/line.png" alt="" /> <img style="width: 250px;height: 250px;" src="../assets/images/line.png" alt="" />
</div> </div>
<div class="f-20" style="font-weight: 600;">{{$t("octopContact.subtitle")}}</div> <div class="f-20" style="font-weight: 600;">{{$t("octopContact.subtitle")}}</div>
</div> </div>
</el-dialog> </el-dialog>
</template> </template>
@@ -106,10 +106,10 @@
if (window.innerWidth < 768) { //当屏幕宽度小于768px时 if (window.innerWidth < 768) { //当屏幕宽度小于768px时
isMenuVisible.value = false isMenuVisible.value = false
} else { } else {
isMenuVisible.value = true isMenuVisible.value = true
drawer.value = false drawer.value = false
} }
} }
// 国际化语言 // 国际化语言
const navList = ref([ const navList = ref([
{ {
@@ -123,10 +123,10 @@
{ {
name: "contact", name: "contact",
type: '/' type: '/'
}, },
{ {
name: "recruitment", name: "recruitment",
type: '/joblist' type: '/joblist'
}, },
{ {
name: "problem", name: "problem",
@@ -154,17 +154,17 @@
]) ])
const changeLanguage = (command : string) => { const changeLanguage = (command : string) => {
locale.value = command locale.value = command
// 赋予浏览器标识语言种类,其实并无卵用 // 赋予浏览器标识语言种类,其实并无卵用
document.documentElement.lang = command document.documentElement.lang = command
localStorage.setItem('lang', command)// 缓存语言 localStorage.setItem('lang', command)// 缓存语言
} }
// meun菜单 // meun菜单
const drawer = ref(false) const drawer = ref(false)
const dialogVisible = ref(false) const dialogVisible = ref(false)
const itemClick = () => { const itemClick = () => {
dialogVisible.value = true dialogVisible.value = true
} }
onMounted(() => { onMounted(() => {
@@ -215,11 +215,11 @@
align-items: center; align-items: center;
} }
.logo { .logo {
height: 100%; height: 100%;
// width: 2.1875rem; // width: 2.1875rem;
// height: 2.1875rem; // height: 2.1875rem;
margin-right: 0.375rem; margin-right: 0.375rem;
border-radius: 0.5rem; border-radius: 0.5rem;
} }

View File

@@ -1,11 +1,162 @@
<template> <template>
<div>2222</div> <div class="job-detail">
<div class="job-detail-title">
เจาหนาทตรวจสอบสนเช
</div>
<div class="job-detail-logo">
<img class="gojob_logo" src="../../../assets/images/job_logo.png" alt="" />
</div>
<div class="job-content">
<div class="job-content-item" v-for="item in list">
<div class="job-content-item-title">
{{ item.title }}
</div>
<div class="job-content-item-detail">
<div class="job-content-item-detail-item" v-for="i in item.content">
{{ i }}
</div>
</div>
</div>
<div class="job-content-item">
<div class="job-content-item-title">
องทางตดต
</div>
<div class="job-content-item-detail">
<div class="job-content-item-detail-item" v-for="item in userInfo">
<div class="job-content-item-detail-label">
{{ item.label }}
</div>
<div class="job-content-item-detail-content">
{{ item.content }}
</div>
</div>
</div>
</div>
</div>
</div>
</template> </template>
<script lang="ts" setup name="join"> <script lang="ts" setup name="join">
import { ref } from 'vue'; import { ref } from 'vue';
const list = [{
</script> title: 'รายละเอียดงาน',
<style scoped lang="scss"> content: [
'1、ตรวจสอบและวิเคราะห์คุณสมบัติของลูกค้าตามเกณฑ์ที่กำหนด ก่อนอนุมัติสินเชื่อ',
'2、ประเมินเอกสารและข้อมูลทางการเงิน เช่น บัตรประจำตัวประชาชน เอกสารการเงิน และประวัติการกู้ยืม',
'3、ตัดสินใจอนุมัติหรือปฏิเสธคำขอเช่าตามนโยบายความเสี่ยงของบริษัท',
'4、ตรวจสอบความถูกต้องของสัญญาเช่าและกระบวนการอนุมัติ เพื่อให้แน่ใจว่าสอดคล้องกับมาตรฐานและข้อกำหนดของบริษัท',
'5、รายงานความเสี่ยงและแนวโน้มที่อาจเกิดขึ้น พร้อมทั้งเสนอวิธีป้องกันหรือปรับปรุงกระบวนการ'
]
}, {
title: 'คุณสมบัต',
content: [
'1. ปริญญาตรีขึ้นไป สาขาการเงิน เศรษฐศาสตร์ การจัดการความเสี่ยง สถิติศาสตร์ หรือสาขาอื่นที่เกี่ยวข้องจะพิจารณาเป็นพิเศษ',
'2. มีประสบการณ์ทำงานด้านการตรวจสอบความเสี่ยง การประเมินเครดิต หรืออุตสาหกรรมการเงินอย่างน้อย 1 ปี ผู้ที่มีประสบการณ์ในอุตสาหกรรมเช่า สินเชื่อขนาดเล็ก หรือธนาคารจะได้รับการพิจารณาเป็นพิเศษ',
'3. เข้าใจกระบวนการจัดการความเสี่ยงและแบบจำลองการประเมินเครดิต รวมถึงกฎหมายที่เกี่ยวข้อง',
'4. มีความสามารถในการวิเคราะห์ข้อมูลและความไวต่อความเสี่ยง สามารถประเมินความเสี่ยงได้ด้วยตัวเองได้เป็นอย่างด',
'5. มีความชำนาญในการใช้โปรแกรมสำนักงาน และมีประสบการณ์ในการใช้งานระบบจัดการความเสี่ยงจะได้รับการพิจารณาเป็นพิเศษ',
]
}, {
title: 'วิธีการสมัคร',
content: [
'กรุณาส่งเรซูเม่ของคุณมาที่อีเมลล โดยระบุหัวข้ออีเมลเป็น “ชื่อตำแหน่งงาน + ชื่อของคุณ” หรือสามารถติดต่อเราผ่านทางโทรศัพท์หรือ Line เพื่อขอข้อมูลเพิ่มเติม'
]
}]
const userInfo = [{
label: 'ที่อยู่:',
content: '135/21 อาคารอามรพันธุ์ 205 ทาวเวอร์ 2 ชั้น 9 ซอยนาทอง ถนนรัชดาภิเษก แขวงดินแดง เขตดินแดง กรุงเทพ 10400 สาขา 00001'
}, {
label: 'Tel:',
content: '0888000282'
}, {
label: 'Line:',
content: '@octop'
}, {
label: 'E-mail:',
content: 'Job@octoprental.com'
}]
</script>
<style scoped lang="scss">
.job-detail {
width: 100%;
margin: 50px 0 0;
min-height: 80vh;
max-width: 750px;
margin: 0 auto;
min-height: 80vh;
background-color: #fff;
padding: 20px;
.job-detail-title {
font-family: Prompt, Prompt;
font-weight: bold;
font-size: 16px;
color: #333333;
}
.job-detail-logo {
width: 70px;
margin-top: 8PX;
}
.job-content {
.job-content-item {
margin-top: 20px;
.job-content-item-title {
font-weight: 500;
font-size: 14px;
color: #333333;
position: relative;
padding-left: 8px;
&::before {
position: absolute;
content: '';
height: 12px;
width: 3px;
background: #267FFA;
border-radius: 15px;
top: 5px;
left: 0;
}
}
.job-content-item-detail {
margin-top: 8px;
.job-content-item-detail-item {
font-weight: 300;
font-size: 13px;
color: #000000;
line-height: 25px;
display: flex;
align-items: baseline;
.job-content-item-detail-label {
font-weight: 400;
font-size: 13px;
color: #000000;
width: 50px;
}
.job-content-item-detail-content {
font-family: Prompt, Prompt;
font-weight: 300;
font-size: 13px;
color: #000000;
width: calc(100% - 80px);
}
}
}
}
}
}
</style> </style>

View File

@@ -1,8 +1,9 @@
<template> <template>
<div class="content"> <div class="content">
<div class="listCont"> <div class="listCont">
<img class="cardimg" src="../../../assets/images/job_back.png" alt="暂无图片" /> <img class="cardimg" src="../../../assets/images/job_back.png" alt="暂无图片" />
<div class="listCard"> <div class="listCard">
<router-link to="/jobdetail" class="nav-font">
<div class="listitem"> <div class="listitem">
<div class="title">เจาหนาทตรวจสอบสนเช</div> <div class="title">เจาหนาทตรวจสอบสนเช</div>
<div class="salary">15,000 - 30,000 THB</div> <div class="salary">15,000 - 30,000 THB</div>
@@ -11,73 +12,91 @@
<div class="gojob_but">คลกดวน</div> <div class="gojob_but">คลกดวน</div>
</div> </div>
</div> </div>
</div> </router-link>
<!-- <img src="url('../../../assets/images/job_back.png')" alt="" /> -->
</div> </div>
<!-- <img src="url('../../../assets/images/job_back.png')" alt="" /> -->
</div> </div>
</div>
</template> </template>
<script lang="ts" setup name="join"> <script lang="ts" setup name="join">
import { ref } from 'vue'; // import { ref } from 'vue';
// const jumpToDetail = () => {
// console.log(1111);
// }
</script> </script>
<style scoped lang="scss"> <style scoped lang="scss">
.content{ .content {
width: 100%;
margin: 50px 0 0;
min-height: 80vh;
max-width: 750px;
margin: 0 auto;
.listCont {
// width: 750px;
width: 100%; width: 100%;
margin: 50px 0 0;
.listCont{ .listCard {
margin: 0 auto; width: 100%;
width: 750px; padding: 0 10px;
position: relative;
.listCard{ top: -75px;
.listitem {
background: #ffffff;
width: 100%; width: 100%;
padding:0 20px; height: 114px;
position: relative; border-radius: 10px;
top: -150px; padding: 14px 20px;
.listitem{ .title {
background: #ffffff; font-family: Prompt, Prompt;
width: 100%; font-weight: bold;
height: 228px; font-size: 16px;
border-radius: 20px; color: #333333;
padding: 28px 40px;
.title{
font-family: Prompt, Prompt;
font-weight: bold;
font-size: 32px;
color: #333333;
}
.salary{
font-family: Prompt, Prompt;
font-weight: 600;
font-size: 28px;
color: #F32D2D;
margin-top: 6px;
}
.gojob{
display: flex;
justify-content: space-between;
align-items: center;
margin-top: 30px;
.gojob_logo{
width: 144px;
height: 41px;
}
.gojob_but{
width: 158px;
height: 52px;
background: rgba(38,127,250,0.15);
border-radius: 8px;
font-family: Prompt, Prompt;
font-size: 28px;
color: #267FFA;
line-height: 52px;
text-align: center;
}
}
} }
.salary {
font-family: Prompt, Prompt;
font-weight: 600;
font-size: 14px;
color: #F32D2D;
margin-top: 3px;
}
.gojob {
display: flex;
justify-content: space-between;
align-items: center;
margin-top: 15px;
cursor: pointer;
.gojob_logo {
width: 72px;
height: 20px;
}
.gojob_but {
width: 79px;
height: 26px;
background: rgba(38, 127, 250, 0.15);
border-radius: 4px;
font-family: Prompt, Prompt;
font-size: 14px;
color: #267FFA;
line-height: 26px;
text-align: center;
}
}
} }
} }
} }
}
</style> </style>