Selaa lähdekoodia

企业详情-招聘职位:展示招聘会名称,添加招聘会筛选条件

Xiao_123 4 päivää sitten
vanhempi
commit
c9c1310c11

+ 49 - 1
src/views/menduner/system/enterprise/message/details/components/job.vue

@@ -1,11 +1,35 @@
 <template>
-  <div class="text-right">
+  <div class="flex justify-between">
+    <div>
+      <el-input
+        v-model="queryParams.name"
+        placeholder="职位名称(回车搜索)"
+        class="!w-240px"
+        clearable
+        @keyup.enter="handleRefresh"
+        @clear="handleRefresh"
+      />
+      <el-select v-model="queryParams.fairId" placeholder="招聘会" class="!w-240px ml-10px" clearable @change="handleRefresh">
+        <el-option
+          v-for="item in jobFairList"
+          :key="item.id"
+          :label="item.title"
+          :value="item.id"
+        />
+        <template #footer v-if="jobFairList?.length < +jobFairTotal">
+          <div class="text-center">
+            <el-button type="primary" link @click="handleGetMore">加载更多</el-button>
+          </div>
+        </template>
+      </el-select>
+    </div>
     <el-button type="primary" @click="handleRefresh"><Icon icon="ep:refresh" class="mr-5px" /> 刷新</el-button>
   </div>
   <el-table v-loading="loading" :data="tableData" :stripe="true" class="m-t-20px">
     <el-table-column label="职位名称" align="center" prop="name">
       <template #default="{ row }">{{ formatName(row.name) }}</template>
     </el-table-column>
+    <el-table-column label="招聘会" align="center" prop="jobFairName" />
     <el-table-column label="职位类型" align="center" prop="positionName" />
     <el-table-column label="地区" align="center" prop="areaName">
       <template #default="scope">
@@ -113,6 +137,7 @@ import { DICT_TYPE, getIntDictOptions } from '@/utils/dict'
 import { dealDictArrayData } from '@/utils/transform/position'
 import { timesTampChange } from '@/utils/transform/date'
 import { formatName } from '@/utils'
+import { JobFairManageApi } from '@/api/menduner/system/jobFair/manage'
 
 const props = defineProps({
   id: String
@@ -126,6 +151,8 @@ const total = ref(0)
 const queryParams = reactive({
   pageNo: 1,
   pageSize: 10,
+  name: undefined,
+  fairId: undefined,
   enterpriseId: props.id
 })
 const payUnit = getIntDictOptions(DICT_TYPE.MENDUNER_PAY_UNIT)
@@ -150,6 +177,27 @@ const handleRefresh = () => {
   getList()
 }
 
+// 获取招聘会列表
+const jobFairTotal = ref(0)
+const pageInfo = ref({
+  pageNo: 1,
+  pageSize: 10
+})
+const jobFairList = ref([])
+const getJobFairList = async () => {
+  try {
+    const data = await JobFairManageApi.getJobFairPage(pageInfo.value)
+    jobFairList.value = jobFairList.value.concat(data.list)
+    jobFairTotal.value = data.total 
+  } catch {}
+}
+getJobFairList()
+
+const handleGetMore = () => {
+  pageInfo.value.pageNo++
+  getJobFairList()
+}
+
 // 职位刷新、开启、关闭
 const arr = [
   { api: EnterpriseApi.refreshEnterpriseJob, label: '刷新' },

+ 1 - 1
src/views/menduner/system/job/index.vue

@@ -149,7 +149,7 @@
       </el-table-column>
       <el-table-column label="职位状态" align="center" prop="status">
         <template #default="scope">
-          <dict-tag :type="DICT_TYPE.MENDUNER_JOB_STATUS" :value="scope.row.status" />
+          <dict-tag :type="DICT_TYPE.MENDUNER_STATUS" :value="scope.row.status" />
         </template>
       </el-table-column>
       <el-table-column