Bläddra i källkod

Merge branch 'local-dev' of https://git.citupro.com/zhengnaiwen_citu/menduner into local-dev

lifanagju_citu 3 månader sedan
förälder
incheckning
d1c0701109

+ 1 - 0
src/components/Position/longStrip.vue

@@ -20,6 +20,7 @@
       <div class="info-content" >
         <div class="job-info">
           <div v-ellipse-tooltip class="job-name ellipsis" :class="{'cursor-pointer': val.job.status === '0'}">
+            <svg-icon v-if="val.job.bizId" name="jobFair" size="20" class="mr-1"></svg-icon>
             <span class="mr-3" :class="{'info-name': val.job.status === '0'}" @click.stop="handleToPositionDetails(val)">{{ formatName(val.job.name) }}</span>
             <span>
               [{{ !val.job.areaId ? '全国' : val.job.area?.str }}]

+ 12 - 11
src/views/recruit/enterprise/jobFair/index.vue

@@ -1,16 +1,18 @@
 <template>
-  <v-card v-if="list.length" class="card-box pa-5 ">
-    <v-card v-for="(k, i) in list" :key="i" class="elevation-3">
-      <img :src="k.pcHeadImg" style="width: 100%; object-fit: contain;" />
-      <div class="px-5 py-3">
-        <div class="color-666">活动时间:{{ timesTampChange(k.startTime, 'Y-M-D') }}至{{ timesTampChange(k.endTime, 'Y-M-D') }}</div>
-        <div class="text-end">
-          <v-btn color="primary" variant="outlined" @click.stop="handleBlockEnterprise(k.id)">立即加入</v-btn>
+  <v-card style="min-height: 70vh;">
+    <div v-if="list.length" class="card-box pa-5 ">
+      <v-card v-for="(k, i) in list" :key="i" class="elevation-3">
+        <img :src="k.pcHeadImg" style="width: 100%; object-fit: contain;" />
+        <div class="px-5 py-3">
+          <div class="color-666">活动时间:{{ timesTampChange(k.startTime, 'Y-M-D') }}至{{ timesTampChange(k.endTime, 'Y-M-D') }}</div>
+          <div class="text-end">
+            <v-btn color="primary" variant="outlined" @click.stop="handleBlockEnterprise(k.id)">立即加入</v-btn>
+          </div>
         </div>
-      </div>
-    </v-card>
+      </v-card>
+    </div>
+    <Empty v-else message="暂无进行中的招聘会,去看看其他吧~" />
   </v-card>
-  <Empty v-else message="暂无进行中的招聘会,去看看其他吧~" />
 </template>
 
 <script setup>
@@ -45,6 +47,5 @@ const handleBlockEnterprise = async (id) => {
   grid-template-columns: repeat(2, 1fr);
   gap: 20px;
   min-height: auto;
-  min-height: 70vh;
 }
 </style>

+ 1 - 1
src/views/recruit/enterprise/positionManagement/components/item.vue

@@ -21,7 +21,7 @@
           </div>
           <div class="d-flex align-center" :class="{'cursor-pointer': tab === 1, 'ml-15': tab === 1}" @click="handleDetail(val)">
             <span class="position-name">{{ formatName(val.name) }}</span>
-            <svg-icon v-if="val.source === '2'" name="jobFair" class="ml-1" size="25"></svg-icon>
+            <svg-icon v-if="val.bizId" name="jobFair" class="ml-1" size="25"></svg-icon>
           </div>
           <div :class="['mt-3', 'other-info', 'ellipsis', {'ml-10': tab === 1}]">
             <span>{{ !val.areaId ? '全国' : val.area?.str }}</span>

+ 15 - 3
src/views/recruit/enterprise/resume/components/filterPage.vue

@@ -54,6 +54,14 @@ const formItems = ref({
       items: []
     },
 		{
+			type: 'text',
+			key: 'name',
+			value: null,
+			col: 6,
+			label: '投递人姓名',
+			clearable: true
+		},
+		{
       type: 'autocomplete',
       key: 'eduType',
       value: null,
@@ -63,6 +71,7 @@ const formItems = ref({
 			clearable: true,
 			dictTypeName: 'menduner_education_type',
 			returnObject: true,
+			flexStyle: 'ml-3',
 			col: 6,
       items: []
     },
@@ -76,7 +85,6 @@ const formItems = ref({
 			dictTypeName: 'menduner_exp_type',
 			returnObject: true,
 			col: 6,
-			flexStyle: 'ml-3',
 			clearable: true,
       items: []
     },
@@ -90,6 +98,7 @@ const formItems = ref({
 			dictTypeName: 'menduner_job_seek_status',
 			returnObject: true,
 			clearable: true,
+			flexStyle: 'ml-3',
 			col: 6,
       items: []
     }
@@ -101,8 +110,10 @@ const confirm = () => {
 	const data = []
 	formItems.value.options.forEach(k => {
 		if (k.value) {
-			params[k.key] = k.value[k.itemValue]
-			data.push({ ...k.value, title: k.label, key: k.key })
+			params[k.key] = k.type === 'text' ? k.value : k.value[k.itemValue]
+
+			const obj = k.type === 'text' ? { value: k.value, title: k.label, key: k.key } : { ...k.value, title: k.label, key: k.key }
+			data.push(obj)
 		}
 	})
 	if (!Object.keys(params).length) return Snackbar.warning('请选择筛选条件')
@@ -121,6 +132,7 @@ const handleClear = (item) => {
 
 onMounted(() => {
 	formItems.value.options.forEach(async (k) => {
+		if (k.type === 'text') return
 		// 字典数据获取
 		if (k.dictTypeName) {
 			getDict(k.dictTypeName).then(({ data }) => {

+ 4 - 4
src/views/recruit/enterprise/resume/index.vue

@@ -5,10 +5,10 @@
       <v-tabs v-model="tab" align-tabs="start" color="primary" bg-color="#f7f8fa" @update:model-value="handleChangeTab">
         <v-tab v-for="k in tabList" :value="k.value" :key="k.value">{{ k.label }}</v-tab>
       </v-tabs>
-      <div class="d-flex align-center">
+      <!-- <div class="d-flex align-center">
         <TextInput v-model="textItems.value" :item="textItems" @appendInnerClick="handleSearch" @enter="handleSearch"></TextInput>
-        <v-btn color="primary" prependIcon="mdi-filter-multiple-outline" class="ml-3" variant="tonal" @click="showDrawer = true">筛选{{ rawData.length > 0 ? rawData.length : '' }}</v-btn>
-      </div>
+      </div> -->
+      <v-btn color="primary" prependIcon="mdi-filter-multiple-outline" class="ml-3" @click="showDrawer = true">筛选{{ rawData.length > 0 ? rawData.length : '' }}</v-btn>
     </div>
 
     <div class="d-flex justify-space-between align-center mb-3" v-if="tab === 0">
@@ -26,7 +26,7 @@
       <div class="color-primary font-size-14 cursor-pointer" @click="FilterPageRef.handleReset(false)">重置</div>
     </div>
     <div v-if="rawData && rawData.length > 0">
-      <v-chip v-for="item in rawData" :key="item.key" closable class="mr-2 mb-2" label @click:close="handleClose(item)">{{ item.title }}: {{ item.label }}</v-chip>
+      <v-chip v-for="item in rawData" :key="item.key" closable class="mr-2 mb-2" label @click:close="handleClose(item)">{{ item.title }}: {{ item.label || item.value }}</v-chip>
     </div>
 
     <!-- 筛选抽屉 -->

+ 1 - 0
src/views/recruit/personal/PersonalCenter/jobFeedback/components/interview/item.vue

@@ -30,6 +30,7 @@
         </div>
         <div class="job-info color-666">
           <div class="job-name ellipsis" style="max-width: 410px;">
+            <svg-icon v-if="val.jobFairId" name="jobFair" size="20" class="mr-1"></svg-icon>
             <span class="mr-3" :class="{'cursor-pointer': val.job.status === '0', 'position-name': val.job.status === '0'}" @click.stop="handleToPositionDetails(val)">{{ formatName(val.job.name) }}</span>
             <span v-if="!val.job.payFrom && !val.job.payTo">面议</span>
             <span v-else>{{ val.job.payFrom ? val.job.payFrom + '-' : '' }}{{ val.job.payTo }}{{ val.job.payName ? '/' + val.job.payName : '' }}</span>