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

@ -1,84 +1,107 @@
// 审核状态0审核中1审核通过2审核拒绝
export const auditStatusDict = [
{
value: "0",
label: "待审核",
elTagType: "primary",
},
{
value: "1",
label: "已通过",
elTagType: "success",
},
{
value: "2",
label: "已驳回",
elTagType: "danger",
},
{
value: "0",
label: "待审核",
elTagType: "primary",
},
{
value: "1",
label: "已通过",
elTagType: "success",
},
{
value: "2",
label: "已驳回",
elTagType: "danger",
},
];
// 用户性别0男 1女 2未知
export const userSexDict = [
{
value: "0",
label: "男",
elTagType: "primary",
},
{
value: "1",
label: "女",
elTagType: "success",
},
{
value: "2",
label: "未知",
elTagType: "danger",
},
{
value: "0",
label: "男",
elTagType: "primary",
},
{
value: "1",
label: "女",
elTagType: "success",
},
{
value: "2",
label: "未知",
elTagType: "danger",
},
];
//帐号状态0正常 1停用
export const userStatusDict = [
{
value: "0",
label: "正常",
elTagType: "primary",
},
{
value: "1",
label: "停用",
elTagType: "danger",
},
{
value: "0",
label: "正常",
elTagType: "primary",
},
{
value: "1",
label: "停用",
elTagType: "danger",
},
];
// 订单类型(1创新币充值, 2活动报名)
export const orderTypeDict = [
{
value: "1",
label: "创新币充值",
elTagType: "primary",
},
{
value: "2",
label: "活动报名",
elTagType: "success",
},
{
value: "1",
label: "创新币充值",
elTagType: "primary",
},
{
value: "2",
label: "活动报名",
elTagType: "success",
},
];
// 订单状态, 状态(0->未申请1->已申请2->已处理)
export const orderStatusDict = [
{
value: "0",
label: "未申请",
elTagType: "warning",
},
{
value: "1",
label: "已申请",
elTagType: "primary",
},
{
value: "2",
label: "已处理",
elTagType: "success",
},
{
value: "0",
label: "未申请",
elTagType: "warning",
},
{
value: "1",
label: "已申请",
elTagType: "primary",
},
{
value: "2",
label: "已处理",
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

@ -1,9 +1,9 @@
<template>
<el-form
ref="formRef"
:label-width="labelWidth + 'px'"
:model="modelValue"
:rules="rules"
ref="formRef"
:label-width="labelWidth + 'px'"
:model="modelValue"
:rules="rules"
>
<div v-if="showTitle" class="form_title">基本信息</div>
@ -15,7 +15,7 @@
</el-col>
</el-row>
<el-row>
<el-row v-if="!isAdd">
<el-col :span="24">
<el-form-item label="手机号:" prop="mobile">
<el-input v-model="modelValue.mobile" :disabled="!isAdd"></el-input>
@ -34,7 +34,7 @@
<el-row>
<el-col :span="24">
<el-form-item label="工作所在地:" prop="wordAddress">
<el-input v-model="modelValue.wordAddress" />
<el-input v-model="modelValue.wordAddress"/>
</el-form-item>
</el-col>
</el-row>
@ -43,9 +43,9 @@
<el-col :span="24">
<el-form-item label="工作经历:" prop="experience">
<el-input
v-model="modelValue.experience"
:autosize="{ minRows: 2, maxRows: 6 }"
type="textarea"
v-model="modelValue.experience"
:autosize="{ minRows: 2, maxRows: 6 }"
type="textarea"
/>
</el-form-item>
</el-col>
@ -67,19 +67,19 @@
<!-- <FieldOptions v-model="value" :labelWidth="labelWidth" ref="fieldForm" /> -->
<field-options
ref="researchsFormRef"
v-model="modelValue"
:labelWidth="labelWidth"
placeholder="请选择擅长领域"
ref="researchsFormRef"
v-model="modelValue"
:labelWidth="labelWidth"
placeholder="请选择擅长领域"
/>
<InputBoxAdd
ref="keywordsFormRef"
v-model="modelValue"
:labelWidth="labelWidth"
fieldKey="keywords"
placeholder="应用场景关键词+技术产品关键词"
title="关键词"
ref="keywordsFormRef"
v-model="modelValue"
:labelWidth="labelWidth"
fieldKey="keywords"
placeholder="应用场景关键词+技术产品关键词"
title="关键词"
/>
<el-row>
@ -89,9 +89,9 @@
<el-col :span="8">
<el-form-item prop="idImage.0">
<ImageUpload
v-model="modelValue.idImage[0]"
:isShowTip="false"
:limit="1"
v-model="modelValue.idImage[0]"
:isShowTip="false"
:limit="1"
/>
</el-form-item>
<div style="text-align: center">身份证人像面</div>
@ -99,9 +99,9 @@
<el-col :span="8">
<el-form-item prop="idImage.1">
<ImageUpload
v-model="modelValue.idImage[1]"
:isShowTip="false"
:limit="1"
v-model="modelValue.idImage[1]"
:isShowTip="false"
:limit="1"
/>
</el-form-item>
<div style="text-align: center">身份证国徽面</div>
@ -109,9 +109,9 @@
<el-col :span="8">
<el-form-item prop="idImage.2">
<ImageUpload
v-model="modelValue.idImage[2]"
:isShowTip="false"
:limit="1"
v-model="modelValue.idImage[2]"
:isShowTip="false"
:limit="1"
/>
</el-form-item>
<div style="text-align: center">手持身份证人像面</div>
@ -127,8 +127,8 @@
<el-row :gutter="20" justify="space-between" type="flex">
<el-col :span="8">
<image-upload
v-model="modelValue.certificatePics"
:isShowTip="false"
v-model="modelValue.certificatePics"
:isShowTip="false"
/>
</el-col>
</el-row>
@ -140,9 +140,8 @@
<script setup>
import InputBoxAdd from "@/views/components/InputBoxAdd";
import FieldOptions from "@/views/components/FieldOptions";
import SiteOptions from "@/views/components/SiteOptions";
import { reactive, ref, toRefs } from "vue";
import { tenantSelect } from "@/api/subPlatform/tenant";
import {reactive, ref, toRefs} from "vue";
import {tenantSelect} from "@/api/subPlatform/tenant";
import ImageUpload from "@/components/ImageUpload/index.vue";
// import { researchSelect } from "@/api/dataList/research";
@ -168,18 +167,18 @@ const props = defineProps({
});
const data = reactive({
rules: {
name: [{ required: true, message: "请输入", trigger: "blur" }],
name: [{required: true, message: "请输入", trigger: "blur"}],
mobile: [
{ required: true, message: "请输入", trigger: "blur" },
{required: true, message: "请输入", trigger: "blur"},
{
pattern: /^1[3|4|5|6|7|8|9][0-9]\d{8}$/,
message: "请输入正确的手机号码",
trigger: "blur",
},
],
idCard: [{ required: true, message: "请输入", trigger: "blur" }],
workAddress: [{ required: true, message: "请输入", trigger: "blur" }],
experience: [{ required: true, message: "请输入", trigger: "blur" }],
idCard: [{required: true, message: "请输入", trigger: "blur"}],
workAddress: [{required: true, message: "请输入", trigger: "blur"}],
experience: [{required: true, message: "请输入", trigger: "blur"}],
// tenantId: [
// {
// required: true,
@ -210,7 +209,7 @@ const data = reactive({
],
},
});
const { rules } = toRefs(data);
const {rules} = toRefs(data);
const researchOptions = ref([]);
const formRef = ref();

View File

@ -2,14 +2,14 @@
<div class="app-container">
<!-- 顶部区域 -->
<el-form inline ref="queryFormRef" :model="queryParams">
<el-form ref="queryFormRef" :model="queryParams" inline>
<el-row>
<el-col>
<el-form-item prop="status">
<el-radio-group
v-model="queryParams.status"
size="small"
@change="handleQuery"
v-model="queryParams.status"
size="small"
@change="handleQuery"
>
<!-- <el-radio-button :label="1">已发布</el-radio-button> -->
<el-radio-button :label="0">待审核</el-radio-button>
@ -37,49 +37,64 @@
</el-col> -->
</el-row>
</el-form>
<el-row>
<el-row class="mb8">
<el-button
v-if="queryParams.status == 0"
size="small"
type="primary"
:disabled="!selectedIds.length"
@click="handleBatchApproval"
>批量审核</el-button
v-if="queryParams.status == 0"
:disabled="!selectedIds.length"
size="small"
type="primary"
@click="handleBatchApproval"
>批量审核
</el-button
>
<el-button
size="small"
type="danger"
:disabled="!selectedIds.length"
@click="handleDelete(...selectedIds)"
>批量删除</el-button
:disabled="!selectedIds.length"
size="small"
type="danger"
@click="handleDelete(...selectedIds)"
>批量删除
</el-button
>
<el-button
size="small"
type="primary"
@click="
size="small"
type="primary"
@click="
userStore.resetUnApproval('achievement', 'unApprovedAchivement')
"
>未读归零</el-button
>未读归零
</el-button
>
</el-row>
<!-- 表格区域 -->
<el-table :data="dataList" @selection-change="handleSelectionChange">
<el-table-column type="selection" width="80"></el-table-column>
<el-table-column
label="成果名称"
align="center"
prop="title"
align="center"
label="成果名称"
prop="title"
></el-table-column>
<el-table-column
label="成果领域"
align="center"
prop="industryStr"
align="center"
label="成果领域"
prop="industryStr"
></el-table-column>
<el-table-column
label="所属专家"
align="center"
prop="expertName"
></el-table-column>
align="center"
label="来源类型"
>
<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
label="所属研究机构"
align="center"
@ -93,48 +108,47 @@
>
</el-table-column> -->
<el-table-column
label="申请时间"
align="center"
prop="createTime"
align="center"
label="申请时间"
prop="createTime"
></el-table-column>
<el-table-column label="操作" align="center">
<el-table-column align="center" label="操作">
<template #default="{ row }">
<el-button size="small" round type="primary" @click="approval(row.id)"
>审批</el-button
<el-button round size="small" type="primary" @click="approval(row.id)"
>审批
</el-button
>
<el-button
size="small"
round
type="danger"
@click="handleDelete(row.id)"
>删除</el-button
round
size="small"
type="danger"
@click="handleDelete(row.id)"
>删除
</el-button
>
</template>
</el-table-column>
</el-table>
<pagination
v-show="total > 0"
:total="total"
v-model:page="queryParams.pageNum"
v-model:limit="queryParams.pageSize"
@pagination="getList"
v-show="total > 0"
v-model:limit="queryParams.pageSize"
v-model:page="queryParams.pageNum"
:total="total"
@pagination="getList"
/>
</div>
</template>
<script setup>
// import SiteOptions from "@/views/components/SiteOptions";
// import {} from "../../../api/dataApproval/achivement";
import { reactive, ref, toRefs } from "vue";
import { tenantSelect } from "@/api/subPlatform/tenant";
import {
expertAchievementList,
batchAchievement,
deleteAchievementByIds,
} from "@/api/dataApproval/achivement";
import {reactive, ref, toRefs} from "vue";
import {batchAchievement, deleteAchievementByIds, expertAchievementList,} from "@/api/dataApproval/achivement";
import useUserStore from "@/store/modules/user";
import { useRouter } from "vue-router";
import { ElMessage, ElMessageBox } from "element-plus";
import {useRouter} from "vue-router";
import {ElMessage, ElMessageBox} from "element-plus";
import {comeFromDict} from "../../../constant/dict";
const userStore = useUserStore();
const router = useRouter();
const data = reactive({
@ -145,7 +159,7 @@ const data = reactive({
},
});
const { queryParams } = toRefs(data);
const {queryParams} = toRefs(data);
const dataList = ref([]);
const siteList = ref([]);
@ -194,27 +208,29 @@ const handleSelectionChange = (val) => {
};
const handleDelete = async (...ids) => {
ElMessageBox.confirm(`是否确认删除编号为${ids.join(",")}的数据项?`)
.then(async () => {
await deleteAchievementByIds(ids);
// userStore.getApprovalCount();
userStore.getUnApprovedAchivement();
getList();
ElMessage.success("删除成功");
})
.catch(() => {});
.then(async () => {
await deleteAchievementByIds(ids);
// userStore.getApprovalCount();
userStore.getUnApprovedAchivement();
getList();
ElMessage.success("删除成功");
})
.catch(() => {
});
};
const handleBatchApproval = async () => {
ElMessageBox.confirm(
`是否确认批量审核通过编号为${selectedIds.value.join(",")}的数据项?`
`是否确认批量审核通过编号为${selectedIds.value.join(",")}的数据项?`
)
.then(async () => {
await batchAchievement(selectedIds.value);
userStore.getUnApprovedAchivement();
getList();
ElMessage.success("批量审核成功");
})
.catch(() => {});
.then(async () => {
await batchAchievement(selectedIds.value);
userStore.getUnApprovedAchivement();
getList();
ElMessage.success("批量审核成功");
})
.catch(() => {
});
};
userStore.getUnApprovedAchivement();
userStore.getAchievementTotal();

View File

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