Ver Fonte

没有搜索条件不查询数据

lifanagju_citu há 6 meses atrás
pai
commit
faf0c93a5c

+ 9 - 1
src/views/recruit/personal/company/index.vue

@@ -20,7 +20,7 @@
           @handleChange="handleChangePage"
         ></MPagination>
       </div>
-      <Empty v-else class="mt-3"></Empty>
+      <Empty v-else class="mt-3" :message="noParams? '请输入或选择对应的条件查找公司' : '没有对应的公司,请更换搜索条件后再试'"></Empty>
     </div>
   </div>
 </template>
@@ -72,7 +72,15 @@ const handleSearch = async (val, key) => {
   await getCompanyData()
 }
 
+const noParams = ref(true)
 const getCompanyData = async () => {
+  // 没有筛选条件不请求数据
+  if (Object.keys(query.value).length < 3) {
+    noParams.value = true
+    items.value = []
+    total.value = 0
+    return
+  }
   const { list, total: number } = await getEnterpriseSearch(query.value)
   if (!list.length) {
     items.value = []

+ 18 - 8
src/views/recruit/personal/position/index.vue

@@ -17,7 +17,7 @@
         </div>
       </div>
       <div class="mt-3">
-        <Empty v-if="!items?.length"></Empty>
+        <Empty v-if="!items?.length" :message="noParams? '请输入或选择对应的条件查找职位' : '没有相关的职位,请更换搜索条件后再试'"></Empty>
         <PositionLongStrip v-else :items="items"></PositionLongStrip>
         <CtPagination
           v-if="total > 0"
@@ -67,23 +67,34 @@ let routeQuery = (route?.query && route.query && Object.keys(route?.query).lengt
 // router.push({ path: route.path, routeQuery })
 // if (routeQuery?.length) router.replace({ path: route.path, routeQuery })
 
+const noParams = ref(true)
 const headSearchText = ref(routeQuery?.content || '')
 
 // 职位搜索
 const getData = async () => {
-  const pageReqVO = { ...pageInfo, areaIds: [] }
+  let pageReqVO = { ...pageInfo, areaIds: [] }
+  const routerParams = {}
   // route.query参数
   if (routeQuery && Object.keys(routeQuery).length) {
     const passingStrings = ['content', 'payScope'] // 单选且传递字符串
     const passingOneId = ['positionId'] // 单选且传递整型
     Object.keys(routeQuery).forEach(key => {
       if (routeQuery[key] === '' || key === 'date') return
-      else if (passingStrings.includes(key)) pageReqVO[key] = routeQuery[key] // 传给后端字符串
-      else if (passingOneId.includes(key)) pageReqVO[key] = +routeQuery[key] // 传给后端单选且传递整型
-      else pageReqVO[key] = routeQuery[key].split('_') // 传给后端Arr
+      else if (passingStrings.includes(key)) routerParams[key] = routeQuery[key] // 传给后端字符串
+      else if (passingOneId.includes(key)) routerParams[key] = +routeQuery[key] // 传给后端单选且传递整型
+      else routerParams[key] = routeQuery[key].split('_') // 传给后端Arr
     })
   }
-  // console.log('getData参数pageReqVO', pageReqVO)
+  // 没有筛选条件不请求数据
+  if (!Object.keys(routerParams).length) {
+    noParams.value = true
+    items.value = []
+    total.value = 0
+    return
+  }
+  pageReqVO = { ...pageReqVO, ...routerParams }
+  noParams.value = false
+  //
   const { list, total: number } = await getJobAdvertisedSearch(pageReqVO)
   items.value = list.map(e => {
     e.job = { ...e.job, ...dealDictObjData({}, e.job) }
@@ -96,7 +107,6 @@ getData()
 
 // // 页面刷新
 // if (routeQuery && Object.keys(routeQuery).length) getData()
-// debugger
 
 // 参数改变后刷新路由,触发数据刷新
 const updateRouter = () => {
@@ -107,7 +117,7 @@ const updateRouter = () => {
         return obj
     }, {})
   }
-  query.date = new Date().getTime()
+  query.date = new Date().getTime() // 用于前端刷新路由参数
   router.push({ path: route.path, query })
   pageInfo.pageNo = 1
   getData()