|
@@ -40,15 +40,16 @@
|
|
:class="['bottom-item', {'border-bottom-dashed': i !== list.length -1}, 'd-flex', 'justify-space-between', 'cursor-pointer']"
|
|
:class="['bottom-item', {'border-bottom-dashed': i !== list.length -1}, 'd-flex', 'justify-space-between', 'cursor-pointer']"
|
|
@mouseenter="val.active = true"
|
|
@mouseenter="val.active = true"
|
|
@mouseleave="val.active = false"
|
|
@mouseleave="val.active = false"
|
|
- @click="handlePosition(val)"
|
|
|
|
>
|
|
>
|
|
<div>
|
|
<div>
|
|
- <p v-if="val.job.name.includes('style')" :class="['name', {'default-active': val.active }]" v-html="val.job.name"></p>
|
|
|
|
- <p v-else :class="['name', {'default-active': val.active }]">{{ val.job.name }}</p>
|
|
|
|
|
|
+ <p v-if="val.job.name.includes('style')" :class="['name', {'default-active': val.active }]" v-html="val.job.name" @click="handlePosition(val)"></p>
|
|
|
|
+ <p v-else :class="['name', {'default-active': val.active }]" @click="handlePosition(val)">{{ val.job.name }}</p>
|
|
<div style="line-height: 40px;">
|
|
<div style="line-height: 40px;">
|
|
- <span v-for="k in desc" :key="k.mdi" class="mr-5">
|
|
|
|
- <v-icon color="var(--color-666)" size="15">{{ k.mdi }}</v-icon>
|
|
|
|
- <span class="ml-1 tag-text">{{ val.job[k.value] }}</span>
|
|
|
|
|
|
+ <span v-for="k in desc" :key="k.mdi">
|
|
|
|
+ <span v-if="val.job[k.value]" class="mr-5">
|
|
|
|
+ <v-icon color="var(--color-666)" size="15">{{ k.mdi }}</v-icon>
|
|
|
|
+ <span class="ml-1 tag-text">{{ val.job[k.value] }}</span>
|
|
|
|
+ </span>
|
|
</span>
|
|
</span>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
@@ -60,7 +61,7 @@
|
|
<v-avatar :image="val.contact.avatar || 'https://minio.citupro.com/dev/menduner/7.png'"></v-avatar>
|
|
<v-avatar :image="val.contact.avatar || 'https://minio.citupro.com/dev/menduner/7.png'"></v-avatar>
|
|
<span class="account-label">{{ val.contact.name }} · {{ val.contact.postNameCn }}</span>
|
|
<span class="account-label">{{ val.contact.name }} · {{ val.contact.postNameCn }}</span>
|
|
<span>
|
|
<span>
|
|
- <v-btn class="half-button" color="primary" size="small">立即沟通</v-btn>
|
|
|
|
|
|
+ <v-btn class="half-button" color="primary" size="small" @click="toDetails(val)">立即沟通</v-btn>
|
|
</span>
|
|
</span>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
@@ -82,6 +83,7 @@ import { useRoute, useRouter } from 'vue-router'
|
|
import { timesTampChange } from '@/utils/date'
|
|
import { timesTampChange } from '@/utils/date'
|
|
import { getDict } from '@/hooks/web/useDictionaries'
|
|
import { getDict } from '@/hooks/web/useDictionaries'
|
|
import { dealDictObjData } from '@/utils/position'
|
|
import { dealDictObjData } from '@/utils/position'
|
|
|
|
+import { prologue } from '@/hooks/web/useIM'
|
|
import { getJobAdvertisedPositionCount, getJobAreaByEnterpriseId, getJobAdvertisedSearch } from '@/api/position'
|
|
import { getJobAdvertisedPositionCount, getJobAreaByEnterpriseId, getJobAdvertisedSearch } from '@/api/position'
|
|
import MPagination from '@/components/CtPagination'
|
|
import MPagination from '@/components/CtPagination'
|
|
import expType from '@/views/recruit/personal/position/components/conditionFilter/expType.vue'
|
|
import expType from '@/views/recruit/personal/position/components/conditionFilter/expType.vue'
|
|
@@ -204,6 +206,19 @@ const desc = [
|
|
{ mdi: 'mdi-school-outline', value: 'eduName' },
|
|
{ mdi: 'mdi-school-outline', value: 'eduName' },
|
|
{ mdi: 'mdi-clock-time-ten-outline', value: 'expName' }
|
|
{ mdi: 'mdi-clock-time-ten-outline', value: 'expName' }
|
|
]
|
|
]
|
|
|
|
+
|
|
|
|
+const toDetails = async (info) => {
|
|
|
|
+ const userId = info.contact.userId
|
|
|
|
+ const enterpriseId = info.contact.enterpriseId
|
|
|
|
+ const text = '您好,我对该职位很感兴趣,希望能有机会与您进一步沟通。'
|
|
|
|
+ await prologue({userId, enterpriseId, text})
|
|
|
|
+ let url = `/recruit/personal/message?id=${info.job.id}`
|
|
|
|
+ if (info.contact.enterpriseId) {
|
|
|
|
+ url += `&enterprise=${info.contact.enterpriseId}`
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ router.push(url)
|
|
|
|
+}
|
|
</script>
|
|
</script>
|
|
|
|
|
|
<style scoped lang="scss">
|
|
<style scoped lang="scss">
|