This commit is contained in:
2023-07-21 16:43:51 +08:00
parent c4d147a87d
commit 9fe9a45d2b
4 changed files with 216 additions and 178 deletions

View File

@ -82,3 +82,26 @@ export const orderStatusDict = [
elTagType: "success", elTagType: "success",
}, },
]; ];
// 来源: 1: 专家 2: 实验室 3: 科研机构
export const comeFromDict = [
{
value: "1",
label: "专家",
elTagType: "primary",
field: "expert",
},
{
value: "2",
label: "实验室",
elTagType: "success",
field: "laboratory",
},
{
value: "3",
label: "科研机构",
elTagType: "success",
field: "research",
}
];

View File

@ -15,7 +15,7 @@
</el-col> </el-col>
</el-row> </el-row>
<el-row> <el-row v-if="!isAdd">
<el-col :span="24"> <el-col :span="24">
<el-form-item label="手机号:" prop="mobile"> <el-form-item label="手机号:" prop="mobile">
<el-input v-model="modelValue.mobile" :disabled="!isAdd"></el-input> <el-input v-model="modelValue.mobile" :disabled="!isAdd"></el-input>
@ -34,7 +34,7 @@
<el-row> <el-row>
<el-col :span="24"> <el-col :span="24">
<el-form-item label="工作所在地:" prop="wordAddress"> <el-form-item label="工作所在地:" prop="wordAddress">
<el-input v-model="modelValue.wordAddress" /> <el-input v-model="modelValue.wordAddress"/>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
@ -140,9 +140,8 @@
<script setup> <script setup>
import InputBoxAdd from "@/views/components/InputBoxAdd"; import InputBoxAdd from "@/views/components/InputBoxAdd";
import FieldOptions from "@/views/components/FieldOptions"; import FieldOptions from "@/views/components/FieldOptions";
import SiteOptions from "@/views/components/SiteOptions"; import {reactive, ref, toRefs} from "vue";
import { reactive, ref, toRefs } from "vue"; import {tenantSelect} from "@/api/subPlatform/tenant";
import { tenantSelect } from "@/api/subPlatform/tenant";
import ImageUpload from "@/components/ImageUpload/index.vue"; import ImageUpload from "@/components/ImageUpload/index.vue";
// import { researchSelect } from "@/api/dataList/research"; // import { researchSelect } from "@/api/dataList/research";
@ -168,18 +167,18 @@ const props = defineProps({
}); });
const data = reactive({ const data = reactive({
rules: { rules: {
name: [{ required: true, message: "请输入", trigger: "blur" }], name: [{required: true, message: "请输入", trigger: "blur"}],
mobile: [ mobile: [
{ required: true, message: "请输入", trigger: "blur" }, {required: true, message: "请输入", trigger: "blur"},
{ {
pattern: /^1[3|4|5|6|7|8|9][0-9]\d{8}$/, pattern: /^1[3|4|5|6|7|8|9][0-9]\d{8}$/,
message: "请输入正确的手机号码", message: "请输入正确的手机号码",
trigger: "blur", trigger: "blur",
}, },
], ],
idCard: [{ required: true, message: "请输入", trigger: "blur" }], idCard: [{required: true, message: "请输入", trigger: "blur"}],
workAddress: [{ required: true, message: "请输入", trigger: "blur" }], workAddress: [{required: true, message: "请输入", trigger: "blur"}],
experience: [{ required: true, message: "请输入", trigger: "blur" }], experience: [{required: true, message: "请输入", trigger: "blur"}],
// tenantId: [ // tenantId: [
// { // {
// required: true, // required: true,
@ -210,7 +209,7 @@ const data = reactive({
], ],
}, },
}); });
const { rules } = toRefs(data); const {rules} = toRefs(data);
const researchOptions = ref([]); const researchOptions = ref([]);
const formRef = ref(); const formRef = ref();

View File

@ -2,7 +2,7 @@
<div class="app-container"> <div class="app-container">
<!-- 顶部区域 --> <!-- 顶部区域 -->
<el-form inline ref="queryFormRef" :model="queryParams"> <el-form ref="queryFormRef" :model="queryParams" inline>
<el-row> <el-row>
<el-col> <el-col>
<el-form-item prop="status"> <el-form-item prop="status">
@ -37,21 +37,23 @@
</el-col> --> </el-col> -->
</el-row> </el-row>
</el-form> </el-form>
<el-row> <el-row class="mb8">
<el-button <el-button
v-if="queryParams.status == 0" v-if="queryParams.status == 0"
:disabled="!selectedIds.length"
size="small" size="small"
type="primary" type="primary"
:disabled="!selectedIds.length"
@click="handleBatchApproval" @click="handleBatchApproval"
>批量审核</el-button >批量审核
</el-button
> >
<el-button <el-button
:disabled="!selectedIds.length"
size="small" size="small"
type="danger" type="danger"
:disabled="!selectedIds.length"
@click="handleDelete(...selectedIds)" @click="handleDelete(...selectedIds)"
>批量删除</el-button >批量删除
</el-button
> >
<el-button <el-button
size="small" size="small"
@ -59,27 +61,40 @@
@click=" @click="
userStore.resetUnApproval('achievement', 'unApprovedAchivement') userStore.resetUnApproval('achievement', 'unApprovedAchivement')
" "
>未读归零</el-button >未读归零
</el-button
> >
</el-row> </el-row>
<!-- 表格区域 --> <!-- 表格区域 -->
<el-table :data="dataList" @selection-change="handleSelectionChange"> <el-table :data="dataList" @selection-change="handleSelectionChange">
<el-table-column type="selection" width="80"></el-table-column> <el-table-column type="selection" width="80"></el-table-column>
<el-table-column <el-table-column
label="成果名称"
align="center" align="center"
label="成果名称"
prop="title" prop="title"
></el-table-column> ></el-table-column>
<el-table-column <el-table-column
label="成果领域"
align="center" align="center"
label="成果领域"
prop="industryStr" prop="industryStr"
></el-table-column> ></el-table-column>
<el-table-column <el-table-column
label="所属专家"
align="center" align="center"
prop="expertName" label="来源类型"
></el-table-column> >
<template #default="{row}">
{{ comeFromDict.find((el) => el.value === row.comeFrom)?.label }}
</template>
</el-table-column>
<!-- 来源名称-->
<el-table-column
align="center"
label="来源名称"
>
<template #default="{row}">
{{ row[`${comeFromDict.find((el) => el.value === row.comeFrom)?.field}Name`] }}
</template>
</el-table-column>
<!-- <el-table-column <!-- <el-table-column
label="所属研究机构" label="所属研究机构"
align="center" align="center"
@ -93,21 +108,23 @@
> >
</el-table-column> --> </el-table-column> -->
<el-table-column <el-table-column
label="申请时间"
align="center" align="center"
label="申请时间"
prop="createTime" prop="createTime"
></el-table-column> ></el-table-column>
<el-table-column label="操作" align="center"> <el-table-column align="center" label="操作">
<template #default="{ row }"> <template #default="{ row }">
<el-button size="small" round type="primary" @click="approval(row.id)" <el-button round size="small" type="primary" @click="approval(row.id)"
>审批</el-button >审批
</el-button
> >
<el-button <el-button
size="small"
round round
size="small"
type="danger" type="danger"
@click="handleDelete(row.id)" @click="handleDelete(row.id)"
>删除</el-button >删除
</el-button
> >
</template> </template>
</el-table-column> </el-table-column>
@ -115,9 +132,9 @@
<pagination <pagination
v-show="total > 0" v-show="total > 0"
:total="total"
v-model:page="queryParams.pageNum"
v-model:limit="queryParams.pageSize" v-model:limit="queryParams.pageSize"
v-model:page="queryParams.pageNum"
:total="total"
@pagination="getList" @pagination="getList"
/> />
</div> </div>
@ -125,16 +142,13 @@
<script setup> <script setup>
// import SiteOptions from "@/views/components/SiteOptions"; // import SiteOptions from "@/views/components/SiteOptions";
// import {} from "../../../api/dataApproval/achivement"; // import {} from "../../../api/dataApproval/achivement";
import { reactive, ref, toRefs } from "vue"; import {reactive, ref, toRefs} from "vue";
import { tenantSelect } from "@/api/subPlatform/tenant"; import {batchAchievement, deleteAchievementByIds, expertAchievementList,} from "@/api/dataApproval/achivement";
import {
expertAchievementList,
batchAchievement,
deleteAchievementByIds,
} from "@/api/dataApproval/achivement";
import useUserStore from "@/store/modules/user"; import useUserStore from "@/store/modules/user";
import { useRouter } from "vue-router"; import {useRouter} from "vue-router";
import { ElMessage, ElMessageBox } from "element-plus"; import {ElMessage, ElMessageBox} from "element-plus";
import {comeFromDict} from "../../../constant/dict";
const userStore = useUserStore(); const userStore = useUserStore();
const router = useRouter(); const router = useRouter();
const data = reactive({ const data = reactive({
@ -145,7 +159,7 @@ const data = reactive({
}, },
}); });
const { queryParams } = toRefs(data); const {queryParams} = toRefs(data);
const dataList = ref([]); const dataList = ref([]);
const siteList = ref([]); const siteList = ref([]);
@ -201,7 +215,8 @@ const handleDelete = async (...ids) => {
getList(); getList();
ElMessage.success("删除成功"); ElMessage.success("删除成功");
}) })
.catch(() => {}); .catch(() => {
});
}; };
const handleBatchApproval = async () => { const handleBatchApproval = async () => {
@ -214,7 +229,8 @@ const handleBatchApproval = async () => {
getList(); getList();
ElMessage.success("批量审核成功"); ElMessage.success("批量审核成功");
}) })
.catch(() => {}); .catch(() => {
});
}; };
userStore.getUnApprovedAchivement(); userStore.getUnApprovedAchivement();
userStore.getAchievementTotal(); userStore.getAchievementTotal();

View File

@ -32,8 +32,8 @@ export default defineConfig(({ mode, command }) => {
// https://cn.vitejs.dev/config/#server-proxy // https://cn.vitejs.dev/config/#server-proxy
"/dev-api": { "/dev-api": {
// target: "http://192.168.110.10:1618", // target: "http://192.168.110.10:1618",
target: 'http://101.34.131.16:1618', // target: 'http://101.34.131.16:1618',
// target: "http://192.168.0.201:1618", target: "http://192.168.0.201:1618",
changeOrigin: true, changeOrigin: true,
rewrite: (p) => p.replace(/^\/dev-api/, ""), rewrite: (p) => p.replace(/^\/dev-api/, ""),
}, },