From 0e10023893bd1c0580dddf9dd1c2d4cbc55b090d Mon Sep 17 00:00:00 2001 From: 马宇豪 <978517621@qq.com> Date: 星期一, 02 十二月 2024 13:49:13 +0800 Subject: [PATCH] 更新 --- src/views/safetyReview/projectManage/components/expertsList.vue | 67 +++++++++++++++++++++------------ 1 files changed, 42 insertions(+), 25 deletions(-) diff --git a/src/views/safetyReview/projectManage/components/expertsList.vue b/src/views/safetyReview/projectManage/components/expertsList.vue index fedffc6..cf258f0 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,27 @@ 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(() => { + 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 +169,8 @@ emit('getName',data.title,data.choosed) tableRef.value.clearSelection() data.dialogVisible = false + }else{ + ElMessage.warning('请选择专家') } } @@ -162,7 +178,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 +206,7 @@ } }) }) - data.total = res.data.total + data.total = res.total }else{ ElMessage.warning(res.msg) } @@ -201,14 +217,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 => { @@ -241,15 +257,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