Prechádzať zdrojové kódy

整型改为字符串对比导致无法回显,加上?.toString()

lifanagju_citu 7 mesiacov pred
rodič
commit
374bc91d65

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

@@ -4,7 +4,7 @@
       <div class="leftCard">
         <div
           class="leftCardItem"
-          :class="{'leftIndexAct': index === leftIndex,'leftSelectedAct': leftEchoIdArr?.length ? leftEchoIdArr.includes(item.id) : false}"
+          :class="{'leftIndexAct': index === leftIndex,'leftSelectedAct': leftEchoIdArr?.length ? leftEchoIdArr.includes(item.id?.toString()) : false}"
           v-for="(item, index) in items" :key="item.id"
           @mouseover="handleMouseOver(item, index)"
           @click="leftHandleClick(item, index)"
@@ -25,7 +25,7 @@
           >暂无数据</div>
           <div 
             v-else 
-            :class="['jobItem', {'active': selectItems.includes(val.id)}]"
+            :class="['jobItem', {'active': selectItems.includes(val.id?.toString())}]"
             v-for="val in rightObj.data.children" 
             :key="val.id" 
             @click="handleClick(val)"
@@ -90,7 +90,7 @@ const echoLeft = async () => {
   }
   function traverse(nodes) {
     for (const node of nodes) {
-      if (selectItems.value.includes(node.id)) {
+      if (selectItems.value.includes(node.id?.toString())) {
         const fId = node.path ? node.path.split(',')[0] : null
         if (fId) leftEchoIdArr.value = leftEchoIdArr.value.length ? [...leftEchoIdArr.value, fId] : [fId]
       }
@@ -113,13 +113,13 @@ getDict('positionTreeData', null, 'positionTreeData').then(({ data }) => {
 // 职位点击
 const handleClick = async (val) => {
   if (props.isBuryingPoint) buryingPoint({ id: val.id }) // 埋点
-  const obj = selectItems.value.includes(val.id)
+  const obj = selectItems.value.includes(val.id?.toString())
   if (props.isSingle) {
-    selectItems.value = obj ? [] : [val.id]
+    selectItems.value = obj ? [] : [val.id?.toString()]
   } else {
     if (obj) {
-      selectItems.value = selectItems.value.filter(e => e.id !== val.id)
-    } else selectItems.value.push(val.id)
+      selectItems.value = selectItems.value.filter(e => e.id?.toString() !== val.id?.toString())
+    } else selectItems.value.push(val.id?.toString())
   }
   emits('handleJobClick', selectItems.value, selectItems.value.length ? val.nameCn : '')
   echoLeft()

+ 1 - 1
src/views/recruit/personal/position/components/dict.js

@@ -116,7 +116,7 @@ export const getItemObj = ({ key, ids = [], dictArr = [] }) => {
   const item = dictArr.find(dictListItem => dictListItem.key === key)
   const checkedItems = ids.map(id => {
     if (!item?.toFilterDictDataList?.length) return ''
-    const obj = item.toFilterDictDataList.find(e => e[item.itemKey] === id)
+    const obj = item.toFilterDictDataList.find(e => e[item.itemKey]?.toString() === id?.toString())
     return obj ? { text: obj[item.itemText], value: obj[item.itemKey] } : ''
   }).filter(Boolean)