From b609f77709c4646daf155341475ae14fc0c7943d Mon Sep 17 00:00:00 2001
From: 祖安之光 <11848914+light-of-zuan@user.noreply.gitee.com>
Date: 星期五, 27 六月 2025 13:25:30 +0800
Subject: [PATCH] 修改

---
 src/views/safetyReview/projectManage/components/expertsList.vue |   84 ++++++++++++++++++++++++++---------------
 1 files changed, 53 insertions(+), 31 deletions(-)

diff --git a/src/views/safetyReview/projectManage/components/expertsList.vue b/src/views/safetyReview/projectManage/components/expertsList.vue
index fedffc6..c344be6 100644
--- a/src/views/safetyReview/projectManage/components/expertsList.vue
+++ b/src/views/safetyReview/projectManage/components/expertsList.vue
@@ -10,6 +10,7 @@
               <el-input
                   v-model.trim="queryParams.name"
                   placeholder="姓名"
+                  clearable
                   style="width: 250px"
               />
             </el-form-item>
@@ -17,25 +18,27 @@
               <el-input
                   v-model.trim="queryParams.phone"
                   placeholder="手机号"
+                  clearable
                   style="width: 250px"
               />
             </el-form-item>
             <el-form-item label="等级">
-              <el-select v-model="queryParams.level" style="width: 250px" placeholder="等级" >
+              <el-select v-model="queryParams.ratingLevel"   clearable style="width: 250px" placeholder="等级" >
                 <el-option
                     v-for="item in levelList"
                     :key="item.id"
                     :label="item.name"
-                    :value="item.name"
+                    :value="item.id"
                 />
               </el-select>
             </el-form-item>
             <el-form-item label="专业领域">
               <el-cascader
+                  clearable
                   style="width: 100%"
                   v-model="expertType"
                   :options="domainList"
-                  :props="{ expandTrigger: 'hover',value: 'id',label: 'classifyName' }"
+                  :props="{ expandTrigger: 'hover',value: 'classifyName',label: 'classifyName' }"
                   @change="professionChange"
                   >
               </el-cascader>
@@ -104,9 +107,9 @@
     pageSize: 10,
     name: '',
     phone: '',
-    level: '',
-    domain: null,
-    post: ''
+    ratingLevel: '',
+    smallClassify: null,
+    bigClassify: null,
   },
   total: 0,
   choosed: [],
@@ -134,16 +137,30 @@
 const tableRef = ref()
 const { queryParams, total, expertList, domainList, levelList , dialogVisible,title,selected, expertType } = toRefs(data);
 
-const openDialog = (type,choosedData) => {
-  getDomain()
+const openDialog = (type,choosedData,domainList) => {
   research()
-  data.choosed = choosedData
-  data.choosed.forEach(item => {
-    tableRef.value.toggleRowSelection(item, true);
+  nextTick(() => {
+    if(tableRef.value){
+      tableRef.value.clearSelection()
+    }
+
   })
+  data.dialogVisible = true
+  data.choosed = choosedData.map(item => {
+    return{
+      ...item,
+      id: item.expertId ? item.expertId : item.id
+    }
+  })
+  nextTick(() => {
+    data.choosed.forEach(item => {
+      tableRef.value.toggleRowSelection(item, true);
+    })
+  })
+  data.domainList = domainList
   data.selected = []
   data.title = type
-  data.dialogVisible = true
+
 }
 
 const onSubmit = async () => {
@@ -155,6 +172,8 @@
     emit('getName',data.title,data.choosed)
     tableRef.value.clearSelection()
     data.dialogVisible = false
+  }else{
+    ElMessage.warning('请选择专家')
   }
 }
 
@@ -162,7 +181,7 @@
   loading.value = true;
   const res = await getExpertsList(data.queryParams)
   if(res.code == 200){
-    data.expertList = res.data.list.map(item => {
+    data.expertList = res.rows.map(item => {
       return{
         ...item,
         birthdayName: item.birthday ? item.birthday.slice(0,10) : '',
@@ -190,7 +209,7 @@
         }
       })
     })
-    data.total = res.data.total
+    data.total = res.total
   }else{
     ElMessage.warning(res.msg)
   }
@@ -201,14 +220,14 @@
   projectRef.value.openDialog(val);
 }
 
-const getDomain = async () => {
-  const res = await getExpertTypes()
-  if(res.code == 200){
-    data.domainList = res.data
-  }else{
-    ElMessage.warning(res.message)
-  }
-}
+// const getDomain = async () => {
+//   const res = await getExpertTypes()
+//   if(res.code == 200){
+//     data.domainList = res.data
+//   }else{
+//     ElMessage.warning(res.message)
+//   }
+// }
 
 const select = ((selection, row) => {
   // data.expertList.forEach(item => {
@@ -218,15 +237,17 @@
   //   tableRef.value.toggleRowSelection(item, true)
   // })
 
-  // tableRef.value.clearSelection()
-  // if(selection.length == 0)  {
-  //   return
-  // }
-  // tableRef.value.toggleRowSelection(row, true);
+  tableRef.value.clearSelection()
+  if(selection.length == 0)  {
+    return
+  }
+  tableRef.value.toggleRowSelection(row, true);
+  data.selected = [row]
 })
 
 const handleSelectionChange = (val) => {
-  data.selected = val
+  // debugger
+  // data.selected = val
 }
 
 const search = ()=>{
@@ -241,15 +262,16 @@
     pageSize: 10,
     name: '',
     phone: '',
-    level: '',
-    domain: null,
-    post: ''
+    ratingLevel: '',
+    smallClassify: null,
+    bigClassify: null,
   }
   getList()
 }
 
 const professionChange=(value)=> {
   console.log(value,'val')
+  data.queryParams.domain = value[1]
 }
 
 defineExpose({

--
Gitblit v1.9.2