Files
2022-09-08 10:41:27 +08:00

137 lines
4.0 KiB
Vue

<template>
<div class="app-container">
<!-- 顶部搜索区域 -->
<el-form :model="queryData" :inline="true">
<el-form-item label="专家姓名">
<el-input style="width: 150px;" v-model="queryData.name" placeholder="请输入关键字"></el-input>
</el-form-item>
<el-form-item label="审核状态">
<el-select style="width: 100px;" v-model="queryData.examineStatus" class="m-2" placeholder="请选择" >
<el-option
label="已审核"
:value="1"
/>
<el-option
label="已拒绝"
:value="2"
/>
</el-select>
</el-form-item>
<el-form-item label="站点">
<SiteOptions v-model="queryData.tenantId" :site-list="siteList" style="width:160px;"/>
</el-form-item>
<el-form-item style="float: right;">
<el-button
type="primary"
icon="search"
size="default"
@click="handleQuery"
>搜索</el-button
>
<el-button icon="refresh" size="default"
@click="resetQuery"
>重置</el-button
>
</el-form-item>
</el-form>
<!--表格区域-->
<el-table :data="dataList" style="width: 100%" border >
<el-table-column prop="name" label="专家姓名" align="center"/>
<el-table-column label="研究领域" align="center">
<template #default="{ row }">
<div>{{row.industrys&&row.industrys[row.industrys.length - 1] }}</div>
</template>
</el-table-column>
<el-table-column prop="researchId" label="所属研究机构" align="center"/>
<el-table-column prop="laboratoryId" label="所属实验室" align="center"/>
<el-table-column prop="" label="成果数量" align="center"/>
<el-table-column prop="" label="专利数量" align="center"/>
<el-table-column prop="" label="站点" align="center">
<template #default="{ row }">
{{ siteList.find((el) => el.id === row.tenantId)?.name ?? "无" }}
</template>
</el-table-column>
<el-table-column prop="address" label="所在地" align="center"/>
<el-table-column prop="examineStatus" label="审核状态" align="center">
<template #default="{row}">
{{row.examineStatus==='1'?'已通过':'已拒绝'}}
</template>
</el-table-column>
<el-table-column prop="createTime" label="申请时间" align="center"/>
<el-table-column prop="" label="操作" align="center">
<template #default="{row}">
<el-button
size="small"
type="text"
@click="btnAudit(row.id)"
>审核</el-button
>
</template>
</el-table-column>
</el-table>
<!-- 分页器 -->
<pagination
v-show="total > 0"
:total="total"
v-model:page="queryData.pageNum"
v-model:limit="queryData.page_size"
@pagination="getList"
/>
</div>
</template>
<script setup>
import SiteOptions from "@/views/components/SiteOptions";
import { tenantSelect } from "@/api/subPlatform/tenant";
import {expertList} from '@/api/expert/expert'
import {useRouter} from 'vue-router'
const router=useRouter()
const data=reactive({
queryData:{
pageNum:1,
pageSize:10,
examineStatus:''
}
})
const total = ref(0);
const dataList=ref([])
const siteList = ref([]);
const { queryData } = toRefs(data);
// 获取专家列表
const getList=async ()=>{
const res=await expertList(queryData.value)
dataList.value=res.rows
total.value=res.total
}
// 获取站点列表
const getSiteList = async () => {
const resp = await tenantSelect();
siteList.value = resp.rows;
};
// 搜索查询
const handleQuery=()=>{
getList(queryData.value);
}
// 重置按钮
const resetQuery = () => {
queryData.value={
pageNum:1,
pageSize:10,
examineStatus:''
}
getList()
};
// 审核按钮
const btnAudit=(id)=>{
router.push({
path: "/expert/dataList/add",
query: { id },
});
}
getList()
getSiteList()
</script>
<style></style>