Browse Source

人才搜索

Xiao_123 10 hours ago
parent
commit
9029f1a7f3

+ 2 - 1
src/api/menduner/system/talentMap/search.ts

@@ -2,10 +2,11 @@ import request from '@/config/axios'
 
 export const talentSearchApi = {
 	// 根据条件获取人才列表
-	getTalentList: async (data: any) => {
+	getTalentList: async (data: any, signal: AbortSignal) => {
 		return await request.post({ 
 			url: `/api/parse/query-kg`,
 			data,
+			signal,
 			baseURL: import.meta.env.VITE_BASE_URL 
 		})
 	},

+ 1 - 1
src/config/axios/service.ts

@@ -194,7 +194,7 @@ service.interceptors.response.use(
     } else if (message.includes('Request failed with status code')) {
       message = t('sys.api.apiRequestFailed') + message.substr(message.length - 3)
     }
-    ElMessage.error(message)
+    if (message !== 'canceled') ElMessage.error(message)
     return Promise.reject(error)
   }
 )

+ 8 - 1
src/views/menduner/system/talentMap/search/index.vue

@@ -106,6 +106,7 @@ const searchValue = ref(null)
 const formRef = ref()
 const loading = ref(false)
 const list = ref([])
+const abortController = ref(null)
 
 const drawer = ref(false)
 const detailsLoading = ref(false)
@@ -133,7 +134,9 @@ const handleDetails = async (id) => {
 const getList = async () => {
 	loading.value = true
 	try {
-		const data = await talentSearchApi.getTalentList({ query_requirement: searchValue.value })
+		abortController.value = new AbortController()
+		const signal = abortController.value.signal
+		const data = await talentSearchApi.getTalentList({ query_requirement: searchValue.value }, signal)
 		if (!data || !data.length) {
 			message.warning('暂无数据,请更换查询条件后再试')
 			list.value = []
@@ -151,6 +154,10 @@ const handleSearch = (type='search') => {
 	if (type === 'clear') {
 		list.value = []
 		isSearch.value = false
+		if (abortController.value) {
+      abortController.value.abort() 
+      abortController.value = null
+    }
 		return
 	}
 	isSearch.value = true