Преглед изворни кода

求职者管理:检索条件增加

Xiao_123 пре 1 недеља
родитељ
комит
4ea68f7d9a
1 измењених фајлова са 81 додато и 3 уклоњено
  1. 81 3
      src/views/menduner/system/person/index.vue

+ 81 - 3
src/views/menduner/system/person/index.vue

@@ -6,7 +6,7 @@
       :model="queryParams"
       ref="queryFormRef"
       :inline="true"
-      label-width="120px"
+      label-width="100px"
     >
       <el-form-item label="用户姓名" prop="name">
         <el-input
@@ -102,6 +102,57 @@
           class="!w-240px"
         />
       </el-form-item>
+      <el-form-item label="关键字" prop="content">
+        <el-input
+          v-model="queryParams.content"
+          placeholder="请输入关键字"
+          clearable
+          @keyup.enter="handleQuery"
+          class="!w-240px"
+        />
+      </el-form-item>
+      <el-form-item label="职位类型" prop="positionIds">
+        <el-select
+          v-model="queryParams.positionIds"
+          placeholder="请选择职位类型"
+          clearable
+          multiple
+          :collapse-tags="true"
+          :collapse-tags-tooltip="true"
+          class="!w-240px"
+        >
+          <el-option
+            v-for="dict in positionTreeData"
+            :key="dict.id"
+            :label="dict.nameCn"
+            :value="dict.id"
+          />
+        </el-select>
+      </el-form-item>
+      <el-form-item label="所在城市" prop="areaIds">
+        <el-cascader 
+          v-model="queryParams.areaIds"
+          class="!w-240px"
+          clearable
+          :collapse-tags="true"
+          :collapse-tags-tooltip="true"
+          placeholder="所在城市" 
+          :props="{ value: 'id', label: 'name', multiple: true, emitPath: false }" 
+          :options="areaTreeData"
+        />
+      </el-form-item>
+      <el-form-item label="工作城市" prop="workAreaIds">
+        <el-cascader 
+          v-model="queryParams.workAreaIds"
+          class="!w-240px"
+          clearable
+          :collapse-tags="true"
+          :collapse-tags-tooltip="true"
+          placeholder="工作城市" 
+          :props="{ value: 'id', label: 'name', multiple: true,  emitPath: false }" 
+          :options="areaTreeData"
+        />
+      </el-form-item>
       <el-form-item>
         <el-button @click="handleQuery" v-hasPermi="['menduner:system:person-info:query']"><Icon icon="ep:search" class="mr-5px" /> 搜索</el-button>
         <el-button @click="resetQuery" v-hasPermi="['menduner:system:person-info:query']"><Icon icon="ep:refresh" class="mr-5px" /> 重置</el-button>
@@ -157,7 +208,7 @@
         </template>
       </el-table-column>
       <el-table-column label="会员过期时间" align="center" prop="user.vipExpireDate" :formatter="dateFormatter" width="180px" />
-      <el-table-column label="邀请人" align="center" prop="inviteUserStr" />
+      <!-- <el-table-column label="邀请人" align="center" prop="inviteUserStr" /> -->
       <el-table-column label="操作" align="center" fixed="right" min-width="220">
         <template #default="scope">
           <el-button link type="primary" @click="openDetail(scope.row.person?.id, scope.row.user.id, scope.row.person?.type)">详情</el-button>
@@ -191,6 +242,7 @@ import { PersonInfoApi, PersonInfoVO } from '@/api/menduner/system/person'
 import PersonInfoForm from './PersonInfoForm.vue'
 import ResetPassword from './ResetPassword.vue'
 import { formatName } from '@/utils'
+import { getDict } from '@/hooks/web/useDictionaries'
 
 /** 人才信息 列表 */
 defineOptions({ name: 'PersonInfo' })
@@ -210,11 +262,37 @@ const queryParams = reactive({
   status: undefined,
   vipFlag: undefined,
   createTime: [],
-  vipExpireDate: []
+  vipExpireDate: [],
+  content: undefined,
+  positionIds: [],
+  position: '',
+  areaIds: [],
+  workAreaIds: []
 })
 const queryFormRef = ref() // 搜索的表单
 const exportLoading = ref(false) // 导出的加载中
 
+const areaTreeData = ref([])
+const getDictData = async () => {
+  const { data } = await getDict('areaTreeData', {}, 'areaTreeData')
+  const obj = data.find(e => e.name === '中国')
+  const list = obj?.children ? obj.children.map(e =>{
+    // 市辖区直接显示区
+    const municipality = e.children && e.children.length && e.children[0].name === '市辖区'
+    if (municipality && e.children[0].children?.length) e.children = e.children[0].children
+    return e
+  }) : []
+  areaTreeData.value = list || []
+}
+getDictData()
+
+const positionTreeData = ref([])
+const getPositionTreeData = async () => {
+  const { data } = await getDict('positionTreeData', {}, 'positionTreeData')
+  positionTreeData.value = data || []
+}
+getPositionTreeData()
+
 // 会员套餐列表
 const packageList = ref([])
 const getPackageList = async () => {