137 lines
4.0 KiB
Vue
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> |