Jelajahi Sumber

屏蔽企业

lifanagju_citu 7 bulan lalu
induk
melakukan
055aa7f097

+ 23 - 0
src/api/recruit/personal/resume/blockEnt.js

@@ -0,0 +1,23 @@
+import request from '@/config/axios'
+
+// 屏蔽企业-获得屏蔽的企业
+export const getBlockEnterpriseList = async () => {
+  return await request.get({
+    url: '/app-api/menduner/system/person/enterprise-block/page'
+  })
+}
+
+// 屏蔽企业-加入屏蔽
+export const handleBlockEnterprise = async (data) => {
+  return await request.post({
+    url: '/app-api/menduner/system/person/enterprise-block/block',
+    data
+  })
+}
+
+// 屏蔽企业-取消屏蔽
+export const handleUnBlockEnterprise = async (enterpriseId) => {
+  return await request.delete({
+    url: '/app-api/menduner/system/person/enterprise-block/un-block?enterpriseId=' + enterpriseId
+  })
+}

+ 26 - 27
src/views/recruit/personal/PersonalCenter/resume/blockEnt/index.vue

@@ -7,12 +7,12 @@
       <!-- 选择 -->
       <div class="d-flex align-center pb-5" style="border-bottom: 1px solid #dddddd;">
         <div style="color: #777;">选择企业: </div>
-        <Autocomplete v-model="item.value" :item="item"></Autocomplete>
-        <v-btn class="ml-3" color="primary" @click="null">确认屏蔽</v-btn>
+        <Autocomplete v-model="item.value" :item="item" @search="getEnterpriseData"></Autocomplete>
+        <v-btn class="ml-3" color="primary" :disabled="!item.value" @click="handleJoin">确认屏蔽</v-btn>
       </div>
       <!-- 展示 -->
       <v-chip v-for="k in dataList" class="mt-3 mr-3" :key="k.id">
-        <span class="cursor-pointer">{{ getText(k.skillId, skillList, 'nameCn', 'id') }}</span>
+        <span class="cursor-pointer">{{ k.name }}</span>
         <template v-slot:append>
           <v-icon class="ml-2" @click="handleDelete(k)">mdi-close-circle</v-icon>
         </template>
@@ -23,11 +23,11 @@
 
 <script setup>
 import { 
-  savePersonResumeCv,
-  getResumePersonSkill,
-  enterpriseSearchByName,
-} from '@/api/recruit/personal/resume'
-import { getText } from '@/utils/getText'
+  getBlockEnterpriseList,
+  handleBlockEnterprise,
+  handleUnBlockEnterprise,
+} from '@/api/recruit/personal/resume/blockEnt.js'
+import { enterpriseSearchByName } from '@/api/recruit/personal/resume'
 import Snackbar from '@/plugins/snackbar'
 import Confirm from '@/plugins/confirm'
 import { ref } from 'vue'
@@ -37,36 +37,36 @@ defineOptions({name: 'resume-blockEnt'})
 // 获取数据
 const dataList = ref([])
 const getData = async () => {
-  const data = await getResumePersonSkill()
-  dataList.value = data
+  const { list } = await getBlockEnterpriseList()
+  dataList.value = list || []
 }
 getData()
 
-// 删除 
-const handleDelete = ({ id }) => {
-  Confirm('系统提示', '是否确认删除此职业技能?').then(async () => {
-    await savePersonResumeCv(id)
+// 取消屏蔽
+const handleDelete = ({ id, name }) => {
+  Confirm('系统提示', `是否取消屏蔽【${name}】?`).then(async () => {
+    await handleUnBlockEnterprise(id)
     getData()
     Snackbar.success('删除成功!')
   })
 }
 
+// 屏蔽
+const handleJoin = async () => {
+  await handleBlockEnterprise({ enterpriseId: item.value.value })
+  getData()
+  Snackbar.success('加入屏蔽企业成功!')
+}
 
 
 // 企业名称下拉列表
-const enterpriseNameInput = ref('')
 const getEnterpriseData = async (name) => {
-  // const item = formItems.value.options.find(e => e.key === 'enterpriseId')
-  // if (!item) return
-  if (item.items?.length && (enterpriseNameInput.value === name)) return // 防抖
-  item[item.itemTextName] = enterpriseNameInput.value = name
-  if (name === null || name === '') { item.items = [] }
-  else {
-    const data = await enterpriseSearchByName({ name })
-    item.items = data
-  }
+  if (!name) return
+  const data = await enterpriseSearchByName({ name })
+  item.value.items = data
 }
-const item = {
+
+const item = ref({
   type: 'autocomplete',
   key: 'enterpriseId',
   value: null,
@@ -75,13 +75,12 @@ const item = {
   outlined: true,
   clearable: true,
   hireDetails: true,
-  itemTextName: 'enterpriseName',
   itemText: 'value',
   itemValue: 'key',
   width: '400',
   search: getEnterpriseData,
   items: []
-}
+})
 </script>
 
 <style lang="scss" scoped>