Xiao_123 преди 3 месеца
родител
ревизия
540a7fe95c

+ 4 - 0
components.d.ts

@@ -31,6 +31,7 @@ declare module 'vue' {
     CtTextField: typeof import('./src/components/CtVuetify/CtTextField/index.vue')['default']
     DatePicker: typeof import('./src/components/DatePicker/index.vue')['default']
     Echarts: typeof import('./src/components/Echarts/index.vue')['default']
+    ElCascader: typeof import('element-plus/es')['ElCascader']
     ElConfigProvider: typeof import('element-plus/es')['ElConfigProvider']
     Empty: typeof import('./src/components/Empty/index.vue')['default']
     File: typeof import('./src/components/Upload/file.vue')['default']
@@ -75,4 +76,7 @@ declare module 'vue' {
     VerifySlide: typeof import('./src/components/Verifition/Verify/VerifySlide.vue')['default']
     WangEditor: typeof import('./src/components/FormUI/wangEditor/index.vue')['default']
   }
+  export interface ComponentCustomProperties {
+    vLoading: typeof import('element-plus/es')['ElLoadingDirective']
+  }
 }

+ 7 - 0
src/api/recruit/personal/jobFair.js

@@ -7,3 +7,10 @@ export const getJobFairEnterprisePage = async (params) => {
 		params
 	})
 }
+
+// 招聘会列表
+export const getJobFairList = async () => {
+	return await request.get({
+		url: '/app-api/menduner/system/job-fair/list'
+	})
+}

+ 9 - 44
src/views/recruit/personal/jobFair/index.vue

@@ -19,53 +19,18 @@
 defineOptions({ name: 'jobFair' })
 import { ref } from 'vue'
 import { timesTampChange } from '@/utils/date'
+import { getJobFairList } from '@/api/recruit/personal/jobFair'
 import buttons from '@/views/recruit/personal/components/buttons.vue'
 import { useRouter } from 'vue-router'; const router = useRouter()
 
-const list = ref([
-	{
-		"id": "1866335631039340546",
-		"type": "1",
-		"title": "江苏第二师范学院地理科学学院<p>2025届酒店管理本科毕业生</p><p>“实习”与“就业”双选会</p>",
-		"slogan": null,
-		"headImg": "https://minio.menduner.com/dev/fcf475340aa80b079b14d7d6ed3d97b8f60f3f36ba6a3e0f7228d1925ec91e05.jpg",
-		"backgroundImg": null,
-		"bottomImg": null,
-		"pcHeadImg": "https://minio.menduner.com/dev/c9f8c64a96dd4fe8fe4f1ea3382cbf6c770054f0f28fdb6f4e49f3b665dd7868.jpg",
-		"pcBackgroundImg": null,
-		"pcBottomImg": null,
-		"insideColour": null,
-		"jobColour": null,
-		"backgroundColour": null,
-		"shareImg": null,
-		"startTime": 1733760000000,
-		"endTime": 1740672000000,
-		"status": "0",
-		"vipRequire": null,
-		"createTime": 1733804063937
-	},
-	{
-		"id": 1,
-		"type": "1",
-		"title": "2022级第六学期实习双选会<p>2025届毕业生秋季招聘会</p><p> Beijing Hospitality Institute Career Day</p>",
-		"slogan": "加入我们",
-		"headImg": "https://minio.menduner.com/dev/menduner/jobFairMiniProgram.jpg",
-		"backgroundImg": null,
-		"bottomImg": null,
-		"pcHeadImg": "https://minio.menduner.com/dev/menduner/jobFairPc.jpg",
-		"pcBackgroundImg": null,
-		"pcBottomImg": null,
-		"insideColour": null,
-		"jobColour": null,
-		"backgroundColour": null,
-		"shareImg": null,
-		"startTime": 1730426186000,
-		"endTime": 1743091200000,
-		"status": "0",
-		"vipRequire": null,
-		"createTime": 1730426200067
-	}
-])
+const list = ref([])
+
+// 招聘会列表
+const getList = async () => {
+	const data = await getJobFairList()
+	list.value = data || []
+}
+getList()
 
 const handleJoin = (val) => {
 	if (!val?.id) return

+ 3 - 3
src/views/recruit/personal/jobFair/position/components/entCard.vue

@@ -2,10 +2,10 @@
 	<v-hover v-slot="{ isHovering, props }" v-for="(val, index) in list" :key="val.id">
 		<v-card v-bind="props" :elevation="isHovering ? 7 : 3" class="cursor-pointer mb-3" :class="{'active': chosenIndex === index}" width="500" @click="handleClickEnterprise(val, index)">
 			<div class="d-flex pa-4 pb-2">
-				<img :src="val.enterprise.logoUrl" style="width: 80px; height: 80px; border-radius: 4px;" />
+				<img :src="val.logoUrl" style="width: 80px; height: 80px; border-radius: 4px;" />
 				<div style="max-width: 390px;">
-					<h3 v-ellipse-tooltip class="enterprise-name ml-3">{{ formatName(val.enterprise.name) }}</h3>
-					<p class="font-size-14 color-666 mt-1 mb-2 ml-3">{{ val.enterprise.industryName }}</p>
+					<h3 v-ellipse-tooltip class="enterprise-name ml-3">{{ formatName(val.name) }}</h3>
+					<p class="font-size-14 color-666 mt-1 mb-2 ml-3">{{ val.industryName }}</p>
 					<div class="flex-nowrap overflow-hidden pl-3" style="height: 35px;">
 						<!-- <v-hover v-slot="{ isHovering, props }" v-for="(job, index) in val.lastJobTop5" :key="index">
 							<v-chip v-bind="props" :class="isHovering ? 'elevation-5' : 'elevation-1'" class="mr-2 mb-4 display-inline-block" variant="flat" color="primary" size="small">{{ formatName(job.name) }}</v-chip>

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

@@ -47,8 +47,8 @@ const breadcrumbs = ref(getJobFairBreadcrumbs(route?.query) || [])
 const enterpriseId = ref('')
 const enterpriseName = ref('')
 const selectChange = (val) => {
-	enterpriseId.value = val.enterprise.id
-	enterpriseName.value = formatName(val.enterprise.anotherName || val.enterprise.name)
+	enterpriseId.value = val.id
+	enterpriseName.value = formatName(val.anotherName || val.name)
 }
 
 const total = ref(0)
@@ -59,118 +59,7 @@ const query = reactive({
 	jobFairId: route.params.id
 })
 
-const items = ref([
-	// {
-	// 	"jobFairId": 1,
-	// 	"enterprise": {
-	// 			"id": "158258417071427584",
-	// 			"name": "苏州希尔顿酒店",
-	// 			"anotherName": "苏州希尔顿酒店",
-	// 			"website": "http://ilovechao.com/",
-	// 			"introduce": "CHAO\r\nCreate the Good Life Together\r\n品质生活发生地\r\n\r\n\r\nThrough all that we do, we want to attract and connect like-minded people to join our community, to discover, share and create a meaningful life and create the good life together.\r\n\r\nWe’ve created a series of venues and services to support every context of living the Good Life: work and leisure, recreation and socializing, travel and living, art and cultural discovery.\r\n\r\nCHAO,一个关于品质生活各种可能性的发生地。拥有酒店、会员及会员俱乐部、艺术中心,并通过独立媒体平台创造和分享优质的生活体验,同时推出品位卓越的生活方式产品。我们希望聚集趣味相投的高知人群,与CHAO共创品质生活。\r\n\r\n \r\n\r\nCHAO SANLITUN\r\n三里屯新地标\r\n\r\nLaunched at the end of 2016, our flagship property in the Sanlitun district of Beijing features a 180-room hotel, a 15,000m2 Clubhouse space with 2 F&B outlets as well as a 3000m2 Art Center featuring the city's most exciting exhibitions and events.\r\n\r\nCHAO was created to be a nesting place for our community of members and guests, providing them the opportunity to come together and share ideas, to build things together, to help each other developm",
-	// 			"contact": " 王东媛",
-	// 			"phone": "18618488218",
-	// 			"logoUrl": "https://www.mendunerhr.com/images/1572837192000_158258417071427584_mini.jpg",
-	// 			"industryId": null,
-	// 			"industryName": null,
-	// 			"financingStatus": null,
-	// 			"scale": null,
-	// 			"scaleName": null,
-	// 			"welfareList": null,
-	// 			"tagList": null,
-	// 			"vipFlag": null
-	// 	},
-	// 	"lastJobTop5": [
-	// 			{"name": "管理实习生-人力资源方向 Management Intern - HR"},
-	// 			{"name": "财务文员 Finance Clerk"},
-	// 			{"name": "财务实习生 Finance Intern"},
-	// 			{"name": "品牌部实习生 Brand & Communication Intern"},
-	// 			{"name": "市场销售实习生 Sales & Marketing Intern"}
-	// 	],
-	// 	"jobCount": 2
-	// },
-	// {
-	// 	"jobFairId": 1,
-	// 	"enterprise": {
-	// 			"id": "158258417071427584",
-	// 			"name": "天津生态城世茂希尔顿酒店",
-	// 			"anotherName": "天津生态城世茂希尔顿酒店",
-	// 			"website": "http://ilovechao.com/",
-	// 			"introduce": "CHAO\r\nCreate the Good Life Together\r\n品质生活发生地\r\n\r\n\r\nThrough all that we do, we want to attract and connect like-minded people to join our community, to discover, share and create a meaningful life and create the good life together.\r\n\r\nWe’ve created a series of venues and services to support every context of living the Good Life: work and leisure, recreation and socializing, travel and living, art and cultural discovery.\r\n\r\nCHAO,一个关于品质生活各种可能性的发生地。拥有酒店、会员及会员俱乐部、艺术中心,并通过独立媒体平台创造和分享优质的生活体验,同时推出品位卓越的生活方式产品。我们希望聚集趣味相投的高知人群,与CHAO共创品质生活。\r\n\r\n \r\n\r\nCHAO SANLITUN\r\n三里屯新地标\r\n\r\nLaunched at the end of 2016, our flagship property in the Sanlitun district of Beijing features a 180-room hotel, a 15,000m2 Clubhouse space with 2 F&B outlets as well as a 3000m2 Art Center featuring the city's most exciting exhibitions and events.\r\n\r\nCHAO was created to be a nesting place for our community of members and guests, providing them the opportunity to come together and share ideas, to build things together, to help each other developm",
-	// 			"contact": " 王东媛",
-	// 			"phone": "18618488218",
-	// 			"logoUrl": "https://www.mendunerhr.com/images/1572837192000_158258417071427584_mini.jpg",
-	// 			"industryId": null,
-	// 			"industryName": null,
-	// 			"financingStatus": null,
-	// 			"scale": null,
-	// 			"scaleName": null,
-	// 			"welfareList": null,
-	// 			"tagList": null,
-	// 			"vipFlag": null
-	// 	},
-	// 	"lastJobTop5": [
-	// 			{"name": "行政总厨"},
-	// 			{"name": "销售经理"},
-	// 			{"name": "实习厨师"}
-	// 	],
-	// 	"jobCount": 3
-	// },
-	// {
-	// 		"jobFairId": 1,
-	// 		"enterprise": {
-	// 				"id": "158258417071427584",
-	// 				"name": "济南鲁能希尔顿酒店及公寓",
-	// 				"anotherName": "济南鲁能希尔顿酒店及公寓",
-	// 				"website": "http://ilovechao.com/",
-	// 				"introduce": "CHAO\r\nCreate the Good Life Together\r\n品质生活发生地\r\n\r\n\r\nThrough all that we do, we want to attract and connect like-minded people to join our community, to discover, share and create a meaningful life and create the good life together.\r\n\r\nWe’ve created a series of venues and services to support every context of living the Good Life: work and leisure, recreation and socializing, travel and living, art and cultural discovery.\r\n\r\nCHAO,一个关于品质生活各种可能性的发生地。拥有酒店、会员及会员俱乐部、艺术中心,并通过独立媒体平台创造和分享优质的生活体验,同时推出品位卓越的生活方式产品。我们希望聚集趣味相投的高知人群,与CHAO共创品质生活。\r\n\r\n \r\n\r\nCHAO SANLITUN\r\n三里屯新地标\r\n\r\nLaunched at the end of 2016, our flagship property in the Sanlitun district of Beijing features a 180-room hotel, a 15,000m2 Clubhouse space with 2 F&B outlets as well as a 3000m2 Art Center featuring the city's most exciting exhibitions and events.\r\n\r\nCHAO was created to be a nesting place for our community of members and guests, providing them the opportunity to come together and share ideas, to build things together, to help each other developm",
-	// 				"contact": " 王东媛",
-	// 				"phone": "18618488218",
-	// 				"logoUrl": "https://www.mendunerhr.com/images/1572837192000_158258417071427584_mini.jpg",
-	// 				"industryId": null,
-	// 				"industryName": null,
-	// 				"financingStatus": null,
-	// 				"scale": null,
-	// 				"scaleName": null,
-	// 				"welfareList": null,
-	// 				"tagList": null,
-	// 				"vipFlag": null
-	// 		},
-	// 		"lastJobTop5": [
-	// 				{"name": "行政总厨"},
-	// 				{"name": "销售经理"},
-	// 				{"name": "实习厨师"}
-	// 		],
-	// 		"jobCount": 6
-	// },
-	// {
-	// 	"jobFairId": 1,
-	// 	"enterprise": {
-	// 			"id": "158258417071427584",
-	// 			"name": "苏州华贸姑苏里服务公寓",
-	// 			"anotherName": "苏州华贸姑苏里服务公寓",
-	// 			"website": "http://ilovechao.com/",
-	// 			"introduce": "CHAO\r\nCreate the Good Life Together\r\n品质生活发生地\r\n\r\n\r\nThrough all that we do, we want to attract and connect like-minded people to join our community, to discover, share and create a meaningful life and create the good life together.\r\n\r\nWe’ve created a series of venues and services to support every context of living the Good Life: work and leisure, recreation and socializing, travel and living, art and cultural discovery.\r\n\r\nCHAO,一个关于品质生活各种可能性的发生地。拥有酒店、会员及会员俱乐部、艺术中心,并通过独立媒体平台创造和分享优质的生活体验,同时推出品位卓越的生活方式产品。我们希望聚集趣味相投的高知人群,与CHAO共创品质生活。\r\n\r\n \r\n\r\nCHAO SANLITUN\r\n三里屯新地标\r\n\r\nLaunched at the end of 2016, our flagship property in the Sanlitun district of Beijing features a 180-room hotel, a 15,000m2 Clubhouse space with 2 F&B outlets as well as a 3000m2 Art Center featuring the city's most exciting exhibitions and events.\r\n\r\nCHAO was created to be a nesting place for our community of members and guests, providing them the opportunity to come together and share ideas, to build things together, to help each other developm",
-	// 			"contact": " 王东媛",
-	// 			"phone": "18618488218",
-	// 			"logoUrl": "https://www.mendunerhr.com/images/1572837192000_158258417071427584_mini.jpg",
-	// 			"industryId": null,
-	// 			"industryName": null,
-	// 			"financingStatus": null,
-	// 			"scale": null,
-	// 			"scaleName": null,
-	// 			"welfareList": null,
-	// 			"tagList": null,
-	// 			"vipFlag": null
-	// 	},
-	// 	"lastJobTop5": [
-	// 			{"name": "行政总厨"},
-	// 			{"name": "销售经理"},
-	// 			{"name": "实习厨师"}
-	// 	],
-	// 	"jobCount": 1
-	// }
-])
+const items = ref([])
 const loadingText = ['加载更多', '加载中...', '没有更多数据了']
 const loadingType = ref(0)
 
@@ -183,8 +72,8 @@ const getList = async () => {
 		if (list.length) {
 			items.value = items.value.concat(list)
 			loadingType.value = list.length  === query.pageSize ? 0 : 2
-			enterpriseId.value = items.value[0].enterprise.id
-			enterpriseName.value = formatName(items.value[0].enterprise.anotherName || items.value[0].enterprise.name)
+			enterpriseId.value = items.value[0].id
+			enterpriseName.value = formatName(items.value[0].anotherName || items.value[0].name)
 			getPositionList()
 		} else {
 			loadingType.value = 2