yanghao пре 2 дана
родитељ
комит
b9c72c2d24
2 измењених фајлова са 34 додато и 2 уклоњено
  1. 5 0
      src/api/expert/index.ts
  2. 29 2
      src/views/expert/list/index.vue

+ 5 - 0
src/api/expert/index.ts

@@ -15,6 +15,11 @@ export const updateExpert = (data: any) => {
   return request.put({ url: '/rd/expert-pool/update', data })
 }
 
+// 删除专家
+export const deleteExpert = (id) => {
+  return request.put({ url: `/rd/expert-pool/delete?id=${id}` })
+}
+
 // 专家详情
 export const getExpertDetail = (id: number) => {
   return request.get({ url: `/rd/expert-pool/get?id=${id}` })

+ 29 - 2
src/views/expert/list/index.vue

@@ -276,7 +276,9 @@
                 <el-button size="large" type="primary" plain @click="handleEdit"
                   >维护档案</el-button
                 >
-                <el-button size="large" plain>下载履历</el-button>
+                <el-button size="large" plain type="danger" @click="handleDeleteExpert"
+                  >删除专家</el-button
+                >
               </div>
             </div>
           </section>
@@ -603,7 +605,8 @@ import {
   getExpertDetail,
   getExpertList,
   getTeamList,
-  updateExpert
+  updateExpert,
+  deleteExpert
 } from '@/api/expert'
 import * as DeptApi from '@/api/system/dept'
 import { defaultProps } from '@/utils/tree'
@@ -1158,6 +1161,30 @@ const handleEdit = () => {
   dialogVisible.value = true
 }
 
+const handleDeleteExpert = async () => {
+  const expertId = currentExpertDetail.value?.id ?? activeExpert.value?.id
+  if (!expertId) return
+
+  try {
+    await ElMessageBox.confirm('确定删除该专家吗?', '提示', {
+      confirmButtonText: '确定',
+      cancelButtonText: '取消',
+      type: 'warning'
+    })
+
+    await deleteExpert(expertId)
+    ElMessage.success('删除成功')
+    drawerVisible.value = false
+    activeExpert.value = null
+    currentExpertDetail.value = null
+    await getList()
+  } catch (error) {
+    if (error !== 'cancel') {
+      console.error(error)
+    }
+  }
+}
+
 const confirmTeamSelection = async () => {
   selectedTeams.value = [...tempSelectedTeams.value]
   const teamIds = selectedTeams.value.map((team) => team.id)