From 47b3ce354885e7df90e4219bd4154003c1c241d7 Mon Sep 17 00:00:00 2001
From: zhouwx <1175765986@qq.com>
Date: 星期二, 04 十一月 2025 13:35:16 +0800
Subject: [PATCH] 修改
---
src/views/safetyReview/projectManage/components/expertsList.vue | 88 +++++++++++++++++++++++++++----------------
1 files changed, 55 insertions(+), 33 deletions(-)
diff --git a/src/views/safetyReview/projectManage/components/expertsList.vue b/src/views/safetyReview/projectManage/components/expertsList.vue
index fedffc6..c132417 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,15 +181,15 @@
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) : '',
- supportName: item.supportDirectionSafety.split(',')
+ supportName: item.supportDirectionSafety?.split(',')
}
})
data.expertList.forEach(item => {
- item.supportName.forEach((s,index) => {
+ item.supportName?.forEach((s,index) => {
switch (s){
case '1':
item.supportName[index] = '现场检查'
@@ -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