Sfoglia il codice sorgente

城市默认选中及刷新回显

lifanagju_citu 11 mesi fa
parent
commit
8beef3881d

+ 3 - 1
src/views/recruit/position/components/areaCascader/index.vue

@@ -2,6 +2,7 @@
   <div v-if="show">
     <!-- <recursive v-if="items?.length" :items="items"></recursive> -->
     <div v-for="(list, levelIndex) in treeList" :key="`select${levelIndex}`">
+      <!-- 单选级别 -->
       <div v-if="levelIndex < props.multipleLevel">
         <span v-for="(item, itemIndex) in list" :key="item.id">
           <span
@@ -15,6 +16,7 @@
         <!-- 其他 -->
         <span v-if="list?.length > num" class="mx-3" style="line-height: 32px;">其他</span>
       </div>
+      <!-- 多选级别 -->
       <div v-else class="embedded">
         <span
           v-for="item in list" :key="item.id"
@@ -126,7 +128,7 @@ const getIdChecked = (item, levelIndex) => {
 // item: 当前操作数据(被点击的数据本身)
 // index: 当前操作数据的层级
 // expand: 展开下级
-// updateSearch: 是否触发搜索职位列表更新(updateCheckedInput)
+// updateSearch: 是否刷新数据(职位列表):回显选中不需要刷新,刷新页面使用的是路由中的参数
 const handleNext = ({ item, index, expand = true, updateSearch = true }) => {
   getIdChecked(item, index)
   if (updateSearch) emits('checkedInput', idChecked)

+ 14 - 11
src/views/recruit/position/components/cityFilter.vue

@@ -12,29 +12,32 @@
 </template>
 <script setup>
 import areaTree from './areaCascader'
-import { reactive, ref, defineExpose } from 'vue'
+// import { reactive, ref, defineExpose } from 'vue'
+import { ref } from 'vue'
 
 defineOptions({name: 'retrieval-components-cityFilter'})
-const emits = defineEmits(['updateCheckedInput'])
-let query = reactive({})
+const emits = defineEmits(['change'])
+// let query = reactive({})
 const checkedInputChange = (idChecked) => {
+  let city = ''
   if (idChecked?.length) {
-    const obj = {}
+    // const obj = {}
     idChecked.forEach((_e, index) => {
       if (_e?.length) {
-        obj[`level${index+1}`] = _e.join('_')
+        // obj[`level${index+1}`] = _e.join('_')
+        city += `${index ? '%' : ''}CL${index+1}_${_e.join('_')}` // CL: city-level
       }
     })
-    query = obj
-    emits('updateCheckedInput')
+    // query = obj
+    emits('change', 'city', city)
   }
 }
 
 const tab = ref(1)
 const tabClick = () => {
 }
-const getQuery = () => {
-  return query
-}
-defineExpose({ getQuery })
+// const getQuery = () => {
+//   return query
+// }
+// defineExpose({ getQuery })
 </script>