浏览代码

职位列表

lifanagju_citu 7 月之前
父节点
当前提交
51946f7b70

+ 1 - 0
components.d.ts

@@ -10,6 +10,7 @@ declare module 'vue' {
     ALevel2: typeof import('./src/components/jobTypeCard/a-level2.vue')['default']
     ALevel3: typeof import('./src/components/jobTypeCard/a-level3.vue')['default']
     AreaSelect: typeof import('./src/components/AreaSelect/index.vue')['default']
+    AreaSelectPanel: typeof import('./src/components/AreaSelectPanel/index.vue')['default']
     Autocomplete: typeof import('./src/components/FormUI/autocomplete/index.vue')['default']
     Cascade: typeof import('./src/components/FormUI/cascade/index.vue')['default']
     Checkbox: typeof import('./src/components/FormUI/checkbox/index.vue')['default']

+ 10 - 0
src/components/AreaSelectPanel/index.vue

@@ -0,0 +1,10 @@
+<!--  -->
+<template>
+  <div>vue3PageInit</div>
+</template>
+
+<script setup>
+defineOptions({ name:'common-components-areaSelectPanel'})
+</script>
+<style lang="scss" scoped>
+</style>

+ 1 - 1
src/components/jobTypeCard/index.vue

@@ -72,7 +72,7 @@ let leftEchoIdArr = ref([])
 let loading = ref(false)
 
 // 回显
-if (props.select.length) selectItems.value = props.select.map(e => e)
+if (props.select?.length) selectItems.value = props.select.map(e => e)
 // 回显左侧level:1选中
 const echoLeft = async () => {
   if (!props.echo || !items.value?.length) return loading.value = false

+ 2 - 0
src/views/recruit/personal/position/components/conditionFilter.vue

@@ -173,6 +173,8 @@ const assembleList = async ({ key, idsStr, isRefresh = false }) => {
 watch(
   () => route.query, 
   (newVal = {}, oldVal = {}) => {
+    // console.log('1oldVal', oldVal)
+    // console.log('2newVal', newVal)
     const arr = Object.keys(newVal).length ? [...Object.keys(newVal)] : null
     const newKeyList = arr ? [ // 城市放在一起展示
       ...arr.filter(key => key.includes('cityId_')),

+ 4 - 4
src/views/recruit/personal/position/components/conditionFilter/commonPath.vue

@@ -3,9 +3,9 @@
     <!-- 工作城市 -->
     <!-- <workCity v-if="idName === 'city'" :select="selectIdArr" @handleClickIndustry="handle"></workCity> -->
     <!-- 行业类型 -->
-    <industryTypeCard v-if="idName === 'industryIds'" :select="selectIdArr" @handleClickIndustry="handle"></industryTypeCard>
+    <industryTypeCard v-if="idName === 'industryIds'" :select="selectIdArr" @handleClickIndustry="(value, item) => handle(item, value)"></industryTypeCard>
     <!-- 职位类型 -->
-    <jobTypeCard v-else-if="idName === 'positionId'" :select="selectIdArr" isSingle echo clearable @handleJobClick="handle"></jobTypeCard>
+    <jobTypeCard v-else-if="idName === 'positionId'" :select="selectIdArr" isSingle echo clearable @handleJobClick="value => handle(null, value)"></jobTypeCard>
     <v-list v-else>
       <v-list-item
         v-for="item in items" :key="item.id" :value="item[itemKey]"
@@ -78,8 +78,8 @@ let show = ref(false)
 let items = ref()
 const selectIdArr = ref([])
 
-const handle = (item) => {
-  const value = item[props.itemKey]
+const handle = (item, value) => {
+  // const value = item[props.itemKey]
   if (props.isSlot) {
     selectIdArr.value = value
   } else {

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

@@ -64,7 +64,8 @@ const pageInfo = { pageNo: 1, pageSize: 20}
 const items = ref([])
 const total = ref(0)
 let routeQuery = (route?.query && route.query && Object.keys(route?.query).length) ? reactive(route.query) : reactive({})
-// provide('routeQuery', routeQuery)
+// if (routeQuery?.length) router.replace({ path: route.path, routeQuery })
+// console.log('1', routeQuery)
 
 const headSearchText = ref(routeQuery?.content || '')
 
@@ -96,20 +97,22 @@ const getData = async () => {
   })
   total.value = number
 }
-getData() // 不使用cityFilter情况下
+getData()
 
-// 页面刷新
-if (routeQuery && Object.keys(routeQuery).length) getData() 
+// // 页面刷新
+// if (routeQuery && Object.keys(routeQuery).length) getData()
+// debugger
 
 // 参数改变后刷新路由,触发数据刷新
 const updateRouter = () => {
-  let query = {}
+  let query = { index: 1 }
   if (Object.keys(routeQuery).length) {
     query = Object.keys(routeQuery).reduce((obj, key) => {
       if (routeQuery[key] !== '') obj[key] = routeQuery[key]
         return obj
     }, {})
   }
+  query.index = query.index ? (query.index-0)+1 : 1
   router.push({ path: route.path, query })
   pageInfo.pageNo = 1
   getData()