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