This commit is contained in:
2023-06-07 10:41:59 +08:00
parent e6dfe8008a
commit 575bbc3962
17 changed files with 2129 additions and 737 deletions

View File

@ -96,6 +96,7 @@ import SiteOptions from "@/views/components/SiteOptions";
import { tenantSelect } from "@/api/subPlatform/tenant";
import { expertList } from "@/api/expert/expert";
import { useRouter } from "vue-router";
import {reactive, ref, toRefs} from "vue";
const router = useRouter();
const data = reactive({
queryData: {

View File

@ -0,0 +1,115 @@
<template>
<div class="app-container">
<div style="width: 50%">
<laboratory-form
ref="expertFormRef"
v-model="form"
:isAdd="false"
:labelWidth="140"
:showTitle="true"
/>
</div>
<div :style="{ marginLeft: labelWidth + 'px' }">
<el-button @click="submitForm('2')">审核拒绝</el-button>
<el-button type="primary" @click="submitForm('1')">通过审核</el-button>
</div>
</div>
</template>
<script name="EnterpriseAdd" setup>
import LaboratoryForm from '@/views/components/LaboratoryForm'
import tab from "@/plugins/tab";
import {reactive, ref, toRefs} from "vue";
import {useRoute, useRouter} from "vue-router";
import {casLaboratoryDetail, casLaboratoryUpdate} from "@/api/dataList/laboratory";
const router = useRouter();
const route = useRoute();
const formType = ref(1);
const expertFormRef = ref(null);
const labelWidth = ref(140);
const data = reactive({
form: {
image: undefined,
name: undefined,
tenantId: undefined,
province: undefined, // 省code
city: undefined, // 市code
district: undefined, // 区code
address: undefined, // 详细地址
product: undefined,
kind: undefined,
code: undefined,
inviterCode: undefined,
url: undefined,
industrys: [],
keywords: [],
directions: [],
introduce: undefined,
license: undefined,
},
});
const {form} = toRefs(data);
const cancel = () => {
router.back();
tab.closeOpenPage();
};
const submitForm = async (state) => {
form.value.examineStatus = state;
await casLaboratoryUpdate({
id: form.value.id,
examineStatus: state
});
cancel()
// const valid = await expertFormRef.value.validateForm();
// if (valid) {
// if (form.value.id !== undefined) {
// form.value.examineStatus = state;
// await casLaboratoryUpdate(form.value);
// cancel();
// ElMessage.success("修改成功");
// }/* else {
// await companyAdd(form.value);
// useUserStore().getApprovalCount();
// cancel();
// ElMessage.success("新增成功");
// }*/
// } else {
// console.log("校验未通过");
// }
};
const getDetailById = async () => {
if (route.query.id) {
const {data} = await casLaboratoryDetail(route.query.id);
form.value = data;
form.value.researchDirection = data.researchDirection?.split(",")
form.value.district = data.area;
}
};
getDetailById();
</script>
<!-- <script>
export default {
components: {
ExpertForm,
},
data() {
return {
// formType: 2,
// labelWidth: 140,
};
},
methods: {},
created() {
const { id } = this.$route.query;
if (id) {
companyDetail({ id }).then((res) => {
form.value = res.data;
});
}
},
};
</script> -->

View File

@ -0,0 +1,158 @@
<template>
<div class="app-container">
<!-- 顶部搜索区域 -->
<el-form :inline="true" :model="queryData">
<el-form-item label="实验室名称">
<el-input
v-model="queryData.name"
placeholder="请输入关键字"
style="width: 150px"
></el-input>
</el-form-item>
<el-form-item label="审核状态">
<el-select
v-model="queryData.examineStatus"
class="m-2"
placeholder="请选择"
style="width: 100px"
>
<el-option :value="1" label="已审核"/>
<el-option :value="2" label="已拒绝"/>
</el-select>
</el-form-item>
<el-form-item style="float: right">
<el-button
icon="search"
size="default"
type="primary"
@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%">
<el-table-column type="selection" width="55"/>
<el-table-column align="center" label="数据编号" prop="id"/>
<el-table-column align="center" label="实验室全称" prop="name"/>
<el-table-column align="center" label="所属院所或高校" prop="school"/>
<el-table-column align="center" label="实验室简介" show-overflow-tooltip>
<template #default="{ row }">
<div v-html="row.introduction"></div>
</template>
</el-table-column>
<el-table-column
align="center"
label="核心成员及简介"
show-overflow-tooltip
>
<template #default="{ row }">
<div v-html="row.member"></div>
<!-- {{ siteList.find((el) => el.id === row.tenantId)?.name ?? "无" }} -->
</template>
</el-table-column>
<el-table-column
align="center"
label="研究方向"
prop="researchDirection"
show-overflow-tooltip
/>
<el-table-column
align="center"
label="主要技术应用场景"
prop="primaryTechnology"
/>
<el-table-column align="center" label="所属行业领域" prop="industryStr"/>
<el-table-column align="center" label="联系电话" prop="phone"/>
<el-table-column align="center" label="网址" prop="url"/>
<el-table-column align="center" label="审核状态" prop="examineStatus">
<template #default="{ row }">
{{ examineStatusDict[row.examineStatus] }}
</template>
</el-table-column>
<el-table-column align="center" label="操作" prop="">
<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"
v-model:limit="queryData.page_size"
v-model:page="queryData.pageNum"
:total="total"
@pagination="getList"
/>
</div>
</template>
<script setup>
import {tenantSelect} from "@/api/subPlatform/tenant";
import {useRouter} from "vue-router";
import {reactive, ref, toRefs} from "vue";
import {casLaboratoryList} from "@/api/dataList/laboratory";
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 examineStatusDict = {
0: "审核中",
1: "已通过",
2: "已拒绝",
};
// 获取专家列表
const getList = async () => {
const res = await casLaboratoryList(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: "/approval/data-list/laboratory/approval",
query: {id},
});
};
getList();
// getSiteList();
</script>
<style></style>