|
@@ -1,36 +1,30 @@
|
|
|
<template>
|
|
|
<div>
|
|
|
- <div class="d-flex justify-center my-4">
|
|
|
- <TextInput v-model="queryParams.content" :item="textItem" @enter="handleConfirm" @appendInnerClick="handleConfirm(false)"></TextInput>
|
|
|
+ <div class="d-flex justify-center mt-4 mb-6">
|
|
|
+ <TextInput v-model="queryParams.content" :item="textItem" @enter="handleConfirm" @appendInnerClick="handleConfirm"></TextInput>
|
|
|
</div>
|
|
|
<div>
|
|
|
- <!-- <Position :isClear="clear" @clear="clear = false" :selectData="position" @select="val => position = val"></Position> -->
|
|
|
<div class="font-size-15 d-flex align-center color-666">
|
|
|
- <span :class="queryParams.areaIds?.length ? 'color-primary' : 'color-777'">地 区:</span>
|
|
|
- <cascade v-model="queryParams.areaIds" :item="selectItems" @change="val => handleSearch('areaIds', val)" style="width: 300px;" class="mr-5"></cascade>
|
|
|
<span :class="queryParams.positionIds?.length ? 'color-primary' : 'color-777'">职位类型:</span>
|
|
|
- <cascade v-model="queryParams.positionIds" :item="positionItems" @change="val => handleSearch('positionIds', val)" style="width: 300px;" class="mr-5"></cascade>
|
|
|
+ <cascade v-model="queryParams.positionIds" :item="positionItems" @change="val => handleSearch('positionIds', val)" style="width: 300px;"></cascade>
|
|
|
+ <span class="ml-10" :class="queryParams.areaIds?.length ? 'color-primary' : 'color-777'">地区:</span>
|
|
|
+ <cascade v-model="queryParams.areaIds" :item="selectItems" @change="val => handleSearch('areaIds', val)" style="width: 300px;"></cascade>
|
|
|
</div>
|
|
|
<CommonPage :isClear="clear" @clear="clear = false" labelActiveColor class="my-3" dictType="menduner_education_type" title="最高学历" @select="val => handleSearch('eduType', val)"></CommonPage>
|
|
|
<CommonPage :isClear="clear" @clear="clear = false" labelActiveColor dictType="menduner_exp_type" title="工作经验" @select="val => handleSearch('expType', val)"></CommonPage>
|
|
|
<v-divider class="mt-1 mb-3"></v-divider>
|
|
|
<div>
|
|
|
- <!-- <div>
|
|
|
- <v-chip v-for="k in position" :key="k.id" label class="mr-3" closable @click:close="handleClose(k)">{{ k.nameCn }}</v-chip>
|
|
|
- </div> -->
|
|
|
- <div class="text-end">
|
|
|
- <v-btn color="primary" variant="text" @click="handleClear">清空筛选条件</v-btn>
|
|
|
- </div>
|
|
|
</div>
|
|
|
- <div class="text-center mt-3">
|
|
|
+ <div class="text-center mt-8">
|
|
|
<v-btn class="half-button" color="primary" @click="handleConfirm">搜 索</v-btn>
|
|
|
+ <v-btn class="half-button ml-3" variant="outlined" color="primary" @click="handleClear">重置</v-btn>
|
|
|
</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
|
|
|
- <div class="mt-10" v-loading="loading">
|
|
|
+ <div class="mt-8" v-loading="loading">
|
|
|
<v-divider></v-divider>
|
|
|
- <div class="py-3">
|
|
|
+ <div v-if="items?.length" class="py-3">
|
|
|
<v-card
|
|
|
v-for="item in items"
|
|
|
:key="item.id"
|
|
@@ -99,7 +93,8 @@
|
|
|
</div>
|
|
|
</v-card>
|
|
|
</div>
|
|
|
- <CtPagination :total="total" :page="query.pageNo" :limit="query.pageSize" @handleChange="handleChangePage"></CtPagination>
|
|
|
+ <CtPagination v-if="total && !loading" :total="total" :page="query.pageNo" :limit="query.pageSize" @handleChange="handleChangePage"></CtPagination>
|
|
|
+ <Empty v-else :elevation="false" :message="checkValue(queryParams) ? '无匹配数据' : '请加入条件后点击搜索'"></Empty>
|
|
|
</div>
|
|
|
|
|
|
<CtDialog :visible="showInvite" :widthType="4" titleClass="text-h6" title="邀请面试" @close="showInvite = false" @submit="handleSubmit">
|
|
@@ -114,7 +109,6 @@
|
|
|
defineOptions({ name: 'searchRetrieval' })
|
|
|
import { ref, computed } from 'vue'
|
|
|
import CommonPage from '../components/common.vue'
|
|
|
-// import Position from './components/position.vue'
|
|
|
import { getPersonSearchPage } from '@/api/enterprise.js'
|
|
|
import { dealDictArrayData } from '@/utils/position'
|
|
|
import { timesTampChange } from '@/utils/date'
|
|
@@ -237,7 +231,6 @@ const handleChangePage = (e) =>{
|
|
|
getData()
|
|
|
}
|
|
|
|
|
|
-const position = ref([])
|
|
|
const handleSearch = (key, value) => {
|
|
|
query.value.pageNo = 1
|
|
|
queryParams.value[key] = value
|
|
@@ -250,8 +243,6 @@ const checkValue = (obj) => {
|
|
|
}
|
|
|
|
|
|
const handleConfirm = (showTips = true) => {
|
|
|
- // const positionIds = position.value.map(k => k.id)
|
|
|
- // queryParams.value.positionIds = positionIds || []
|
|
|
query.value.pageNo = 1
|
|
|
if (!checkValue(queryParams.value)) {
|
|
|
if (showTips) Snackbar.warning('至少选择一个条件进行搜索')
|
|
@@ -265,7 +256,6 @@ const handleConfirm = (showTips = true) => {
|
|
|
// 清空筛选条件
|
|
|
const clear = ref(false)
|
|
|
const handleClear = () => {
|
|
|
- position.value = []
|
|
|
queryParams.value = {
|
|
|
content: null,
|
|
|
positionIds: [],
|
|
@@ -279,10 +269,6 @@ const handleClear = () => {
|
|
|
clear.value = true
|
|
|
}
|
|
|
|
|
|
-const handleClose = (item) => {
|
|
|
- position.value = position.value.filter(k => k.id !== item.id)
|
|
|
-}
|
|
|
-
|
|
|
// 职位列表
|
|
|
const jobNum = ref(0)
|
|
|
const positionList = ref([])
|