Explorar o código

企业-找人

Xiao_123 hai 1 mes
pai
achega
2dee85f17a
Modificáronse 1 ficheiros con 45 adicións e 31 borrados
  1. 45 31
      src/views/recruit/enterprise/search/retrieval/index.vue

+ 45 - 31
src/views/recruit/enterprise/search/retrieval/index.vue

@@ -1,7 +1,7 @@
 <template>
   <div>
     <div class="d-flex justify-center mt-4 mb-6">
-      <TextInput v-model="queryParams.content" :item="textItem" @enter="handleConfirm" @appendInnerClick="handleConfirm"></TextInput>
+      <TextInput v-model="queryParams.content" :item="textItem" @enter="handleConfirm" @appendInnerClick="handleConfirm(false)"></TextInput>
     </div>
     <div>
       <div class="font-size-15 d-flex align-center color-666">
@@ -59,37 +59,35 @@
         <template #subtitle>
           <div class="d-flex">
             <div class="mr-10">{{ item.subTitle }}</div>
-            <div class="mr-10">首次工作时间: {{ timesTampChange(item.firstWorkTime, 'Y-M-D') }}</div>
-            <div v-if="item.interestedList?.length" class="mr-10 d-flex flex-wrap">
-              <div>求职意向:</div>
-              <div
-                v-for="(interested, index) in item.interestedList"
-                :key="interested.id"
-              >
-                <span :class="{'mx-3': index}">{{ (index ? '|' : '') }}</span>
-                <span>{{ positionData.find(e => e.id === interested.positionId)?.nameCn ?? '暂无' }}</span>
-              </div>
-            </div>
+            <div class="mr-10">首次工作时间: {{ item.firstWorkTime ? timesTampChange(item.firstWorkTime, 'Y-M-D') : '未填写' }}</div>
+          </div>
+          <div v-if="item.interestedList?.length" v-ellipse-tooltip>
+            <span>求职意向:</span>
+            <span
+              v-for="(interested, index) in item.interestedList"
+              :key="interested.id"
+            >
+              <span :class="{'mx-3': index}">{{ (index ? '|' : '') }}</span>
+              <span>{{ positionData.find(e => e.id === interested.positionId)?.nameCn ?? '暂无' }}</span>
+            </span>
           </div>
         </template>
         
-        <div class="px-5 pb-8">
-          <div v-if="item?.workList?.length">
-            <div class="second-title">工作经验</div>
-            <v-timeline density="compact" align="start" side="end" truncate-line="both">
-              <v-timeline-item v-for="(j, i) in item.workList" :key="i" dot-color="primary" size="small">
-                <div v-if="j.show" class="timeline-item mt-1">
-                  <div v-ellipse-tooltip style="width: 20%;">
-                    <span>{{ j.startTimeStr }}</span>
-                    <span v-if="j.endTimeStr"> - {{ j.endTimeStr }}</span>
-                    <span v-if="j.year"> ({{ j.year }})</span>
-                  </div>
-                  <div v-ellipse-tooltip class="timeline-item-name mx-3">{{ formatName(j.enterpriseName) || '' }}</div>
-                  <div v-ellipse-tooltip class="timeline-item-name">{{ formatName(j.positionName) || '' }}</div>
+        <div class="px-5 pb-5" v-if="item?.workList?.length">
+          <div class="second-title">工作经验</div>
+          <v-timeline density="compact" align="start" side="end" truncate-line="both">
+            <v-timeline-item v-for="(j, i) in item.workList" :key="i" dot-color="primary" size="small">
+              <div v-if="j.show" class="timeline-item mt-1">
+                <div v-ellipse-tooltip style="width: 20%;">
+                  <span>{{ j.startTimeStr }}</span>
+                  <span v-if="j.endTimeStr"> - {{ j.endTimeStr }}</span>
+                  <span v-if="j.year"> ({{ j.year }})</span>
                 </div>
-              </v-timeline-item>
-            </v-timeline>
-          </div>
+                <div v-ellipse-tooltip class="timeline-item-name mx-3">{{ formatName(j.enterpriseName) || '' }}</div>
+                <div v-ellipse-tooltip class="timeline-item-name">{{ formatName(j.positionName) || '' }}</div>
+              </div>
+            </v-timeline-item>
+          </v-timeline>
         </div>
       </v-card>
     </div>
@@ -122,7 +120,6 @@ import InvitePage from '@/views/recruit/enterprise/interviewManagement/component
 import { getDict } from '@/hooks/web/useDictionaries'
 import { getTimeDifferenceInChinese } from '@/utils/date'
 import { formatName } from '@/utils/getText'
-import { spaces } from '@/utils/index.js'
 
 const textItem = ref({
   type: 'text',
@@ -156,6 +153,19 @@ const selectItems = ref({
   placeholder: '地区',
   items: [],
 })
+const positionItems = ref({
+  value: null,
+  itemText: 'nameCn',
+  itemValue: 'id',
+  hideDetails: true,
+  clearable: true,
+  multiple: true,
+  checkStrictly: false,
+  collapseTags: true,
+  labelActiveColor: true,
+  placeholder: '请选择',
+  items: [],
+})
 
 const positionData = ref([])
 
@@ -169,6 +179,10 @@ getDict('positionData', {}, 'positionData').then(({ data }) => {
   positionData.value = data
 })
 
+getDict('positionTreeData', {}, 'positionTreeData').then(({ data }) => {
+  positionItems.value.items = data
+})
+
 const total = ref(0)
 const items = ref([])
 const loading = ref(false)
@@ -221,10 +235,10 @@ const checkValue = (obj) => {
   })
 }
 
-const handleConfirm = () => {
+const handleConfirm = (showTips = true) => {
   query.value.pageNo = 1
   if (!checkValue(queryParams.value)) {
-    Snackbar.warning('至少选择一个条件进行搜索')
+    if (showTips) Snackbar.warning('至少选择一个条件进行搜索')
     items.value = []
     total.value = 0
     return