技术管理
This commit is contained in:
59
src/api/admin/expert/demand.js
Normal file
59
src/api/admin/expert/demand.js
Normal file
@ -0,0 +1,59 @@
|
||||
import request from '@/utils/request';
|
||||
|
||||
// 专家 - 需求
|
||||
export function demand(data) {
|
||||
return request({
|
||||
url: '/enterprise/v1/technology/demand',
|
||||
method:'post',
|
||||
data
|
||||
});
|
||||
}
|
||||
// 专家 - 需求 -- 添加
|
||||
export function demandAdd(data) {
|
||||
return request({
|
||||
url: '/enterprise/v1/technology/demand/add',
|
||||
method:'post',
|
||||
data
|
||||
});
|
||||
}
|
||||
// 专家 - 需求 -- 修改
|
||||
export function demandEdit(data) {
|
||||
return request({
|
||||
url: '/enterprise/v1/technology/demand/edit',
|
||||
method:'post',
|
||||
data
|
||||
});
|
||||
}
|
||||
// 专家 - 需求 -- 详情
|
||||
export function demandDetail(data) {
|
||||
return request({
|
||||
url: '/enterprise/v1/technology/demand/detail',
|
||||
method:'post',
|
||||
data
|
||||
});
|
||||
}
|
||||
// 专家 - 需求 -- 删除
|
||||
export function demandDelete(data) {
|
||||
return request({
|
||||
url: '/enterprise/v1/technology/demand/delete',
|
||||
method:'post',
|
||||
data
|
||||
});
|
||||
}
|
||||
// ------------------------------------------------------
|
||||
// 专家 - 合作
|
||||
export function expertCooperate(data) {
|
||||
return request({
|
||||
url: '',
|
||||
method:'post',
|
||||
data
|
||||
});
|
||||
}
|
||||
// 专家 - 合作详情
|
||||
export function cooperateDetail(data) {
|
||||
return request({
|
||||
url: '',
|
||||
method:'post',
|
||||
data
|
||||
});
|
||||
}
|
158
src/api/admin/expert/technology.js
Normal file
158
src/api/admin/expert/technology.js
Normal file
@ -0,0 +1,158 @@
|
||||
import request from '@/utils/request';
|
||||
|
||||
// 专家 - 成果
|
||||
export function expertAchievement(data) {
|
||||
return request({
|
||||
url: '/enterprise/v1/technology/achievement',
|
||||
method:'post',
|
||||
data
|
||||
});
|
||||
}
|
||||
// 专家 - 成果 -- 添加
|
||||
export function achievementAdd(data) {
|
||||
return request({
|
||||
url: '/enterprise/v1/technology/achievement/add',
|
||||
method:'post',
|
||||
data
|
||||
});
|
||||
}
|
||||
// 专家 - 成果 -- 修改
|
||||
export function achievementEdit(data) {
|
||||
return request({
|
||||
url: '/enterprise/v1/technology/achievement/edit',
|
||||
method:'post',
|
||||
data
|
||||
});
|
||||
}
|
||||
// 专家 - 成果 -- 下架
|
||||
export function achievementShelf(data) {
|
||||
return request({
|
||||
url: '/enterprise/v1/technology/achievement/shelf',
|
||||
method:'post',
|
||||
data
|
||||
});
|
||||
}
|
||||
// 专家 - 成果 -- 删除
|
||||
export function achievementDelete(data) {
|
||||
return request({
|
||||
url: '/enterprise/v1/technology/achievement/delete',
|
||||
method:'post',
|
||||
data
|
||||
});
|
||||
}
|
||||
// -----------------------------------------------------------
|
||||
// 专家 - 专利
|
||||
export function expertPatent(data) {
|
||||
return request({
|
||||
url: '/enterprise/v1/technology/patent',
|
||||
|
||||
method:'post',
|
||||
data
|
||||
});
|
||||
}
|
||||
// 专家 - 专利 -- 添加
|
||||
export function patentAdd(data) {
|
||||
return request({
|
||||
url: '/enterprise/v1/technology/patent/add',
|
||||
method:'post',
|
||||
data
|
||||
});
|
||||
}
|
||||
// 专家 - 专利 -- 修改
|
||||
export function patentEdit(data) {
|
||||
return request({
|
||||
url: '/enterprise/v1/technology/patent/edit',
|
||||
method:'post',
|
||||
data
|
||||
});
|
||||
}
|
||||
// 专家 - 专利 -- 详情
|
||||
export function patentDetail(data) {
|
||||
return request({
|
||||
url: '/enterprise/v1/technology/patent/detail',
|
||||
method:'post',
|
||||
data
|
||||
});
|
||||
}
|
||||
// 专家 - 专利 -- 删除
|
||||
export function patentDelete(data) {
|
||||
return request({
|
||||
url: '/enterprise/v1/technology/patent/delete',
|
||||
method:'post',
|
||||
data
|
||||
});
|
||||
}
|
||||
// -----------------------------------------------------------
|
||||
// 专家 - 论文
|
||||
export function expertPaper(data) {
|
||||
return request({
|
||||
url: '/enterprise/v1/technology/paper',
|
||||
method:'post',
|
||||
data
|
||||
});
|
||||
}
|
||||
// 专家 - 论文 -- 添加
|
||||
export function paperAdd(data) {
|
||||
return request({
|
||||
url: '/enterprise/v1/technology/paper/add',
|
||||
method:'post',
|
||||
data
|
||||
});
|
||||
}
|
||||
// 专家 - 论文 -- 修改
|
||||
export function paperEdit(data) {
|
||||
return request({
|
||||
url: '/enterprise/v1/technology/paper/edit',
|
||||
method:'post',
|
||||
data
|
||||
});
|
||||
}
|
||||
// 专家 - 论文 -- 删除
|
||||
export function paperDelete(data) {
|
||||
return request({
|
||||
url: '/enterprise/v1/technology/paper/delete',
|
||||
method:'post',
|
||||
data
|
||||
});
|
||||
}
|
||||
// -----------------------------------------------------------
|
||||
// 专家 - 项目
|
||||
export function expertProject(data) {
|
||||
return request({
|
||||
url: '/enterprise/v1/technology/project',
|
||||
method:'post',
|
||||
data
|
||||
});
|
||||
}
|
||||
// 专家 - 项目 -- 添加
|
||||
export function projectAdd(data) {
|
||||
return request({
|
||||
url: '/enterprise/v1/technology/project/add',
|
||||
method:'post',
|
||||
data
|
||||
});
|
||||
}
|
||||
// 专家 - 项目 -- 修改
|
||||
export function projectEdit(data) {
|
||||
return request({
|
||||
url: '/enterprise/v1/technology/project/edit',
|
||||
method:'post',
|
||||
data
|
||||
});
|
||||
}
|
||||
// 专家 - 项目 -- 下架
|
||||
export function projectShelf(data) {
|
||||
return request({
|
||||
url: '/enterprise/v1/technology/project/shelf',
|
||||
method:'post',
|
||||
data
|
||||
});
|
||||
}
|
||||
// 专家 - 项目 -- 删除
|
||||
export function projectDelete(data) {
|
||||
return request({
|
||||
url: '/enterprise/v1/technology/project/delete',
|
||||
method:'post',
|
||||
data
|
||||
});
|
||||
}
|
@ -24,6 +24,7 @@ const route = useRoute();
|
||||
const router = useRouter();
|
||||
const {proxy} = getCurrentInstance();
|
||||
const sizeOptions = ref([
|
||||
{ label: "Default", value: "default" },
|
||||
{ label: 'Large', value: 'large' },
|
||||
{ label: 'Medium', value: 'medium' },
|
||||
{ label: 'Small', value: 'small' },
|
||||
|
@ -28,7 +28,7 @@ import './permission' // permission control
|
||||
|
||||
import { useDict } from '@/utils/dict'
|
||||
import { parseTime, resetForm, addDateRange, handleTree, selectDictLabel } from '@/utils/ruoyi'
|
||||
import { modeOptions, educationOptions, enterpriseOptions } from '@/utils/parameter'
|
||||
import { modeOptions, educationOptions, enterpriseOptions ,maturityOptions,leadOptions,patentOptions} from '@/utils/parameter'
|
||||
|
||||
// 分页组件
|
||||
import Pagination from '@/components/Pagination'
|
||||
@ -60,6 +60,9 @@ app.config.globalProperties.selectDictLabel = selectDictLabel
|
||||
app.config.globalProperties.modeOptions = modeOptions
|
||||
app.config.globalProperties.educationOptions = educationOptions
|
||||
app.config.globalProperties.enterpriseOptions = enterpriseOptions
|
||||
app.config.globalProperties.maturityOptions = maturityOptions
|
||||
app.config.globalProperties.leadOptions = leadOptions
|
||||
app.config.globalProperties.patentOptions = patentOptions
|
||||
app.config.globalProperties.md5 = md5;
|
||||
|
||||
// 全局组件挂载
|
||||
|
@ -33,3 +33,26 @@ export const enterpriseOptions = [
|
||||
{ key: 102, value: '优质企业' },
|
||||
{ key: 103, value: '普通企业' },
|
||||
]
|
||||
// 成果成熟度 技术
|
||||
export const maturityOptions = [
|
||||
{ key: 1, value: '正在研发' },
|
||||
{ key: 2, value: '小试阶段' },
|
||||
{ key: 3, value: '通过小试' },
|
||||
{ key: 4, value: '中试阶段' },
|
||||
{ key: 5, value: '通过中试' },
|
||||
{ key: 6, value: '可规模生产' },
|
||||
]
|
||||
// 成果领先型 领先标准
|
||||
export const leadOptions = [
|
||||
{ key: 1, value: '国内先进' },
|
||||
{ key: 2, value: '国内领先' },
|
||||
{ key: 3, value: '国际先进' },
|
||||
{ key: 4, value: '国际领先' },
|
||||
]
|
||||
// 专利类型
|
||||
export const patentOptions = [
|
||||
{ key: 1, value: '发明专利' },
|
||||
{ key: 2, value: '外观设计' },
|
||||
{ key: 3, value: '实用新型' },
|
||||
]
|
||||
|
||||
|
@ -6,16 +6,16 @@
|
||||
:label-width="labelWidth + 'px'"
|
||||
>
|
||||
<el-row class="mb20">
|
||||
<el-radio-group v-model="modelValue.type">
|
||||
<el-radio-button label="1">免费成果发布</el-radio-button>
|
||||
<el-radio-button label="2">付费成果发布</el-radio-button>
|
||||
<el-radio-group v-model="modelValue.mode">
|
||||
<el-radio-button :label="1">免费成果发布</el-radio-button>
|
||||
<el-radio-button :label="2">付费成果发布</el-radio-button>
|
||||
</el-radio-group>
|
||||
</el-row>
|
||||
|
||||
<div class="form_title" v-if="showTitle">基本信息</div>
|
||||
|
||||
<el-alert
|
||||
v-if="modelValue.type == 2"
|
||||
v-if="modelValue.mode == 2"
|
||||
style="margin-bottom: 20px"
|
||||
title="1创新币=1元"
|
||||
type="warning"
|
||||
@ -23,24 +23,24 @@
|
||||
:closable="false"
|
||||
></el-alert>
|
||||
|
||||
<el-row v-if="modelValue.type == 2">
|
||||
<el-row v-if="modelValue.mode == 2">
|
||||
<el-col :span="12">
|
||||
<el-form-item label="视频定价:">
|
||||
<el-input v-model="modelValue.name" placeholder="请输入创新币个数">
|
||||
<el-input v-model="modelValue.title" placeholder="请输入创新币个数">
|
||||
<template #append>创新币</template>
|
||||
</el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="免费观看时长:">
|
||||
<el-input v-model="modelValue.name" placeholder="默认视频的1/3时长">
|
||||
<el-input v-model="modelValue.title" placeholder="默认视频的1/3时长">
|
||||
<template #append>min</template>
|
||||
</el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
|
||||
<el-row v-if="modelValue.type == 2">
|
||||
<el-row v-if="modelValue.mode == 2">
|
||||
<el-col :span="24">
|
||||
<el-form-item label="视频文件:">
|
||||
<FileUpload
|
||||
@ -54,9 +54,9 @@
|
||||
|
||||
<el-row>
|
||||
<el-col :span="24">
|
||||
<el-form-item label="成果名称:" prop="name">
|
||||
<el-form-item label="成果名称:" prop="title">
|
||||
<el-input
|
||||
v-model="modelValue.name"
|
||||
v-model="modelValue.title"
|
||||
placeholder="请输入成果名称"
|
||||
></el-input>
|
||||
</el-form-item>
|
||||
@ -82,44 +82,51 @@
|
||||
v-model="modelValue"
|
||||
title="应用客户"
|
||||
placeholder="请输入应用客户"
|
||||
fieldKey="researchs"
|
||||
fieldKey="customer"
|
||||
ref="directionsForm"
|
||||
/>
|
||||
|
||||
<el-row>
|
||||
<el-col :span="24">
|
||||
<el-form-item label="成果成熟度:" prop="license">
|
||||
<el-form-item label="成果成熟度:" prop="maturity">
|
||||
<el-select
|
||||
v-model="modelValue.province"
|
||||
v-model="modelValue.maturity"
|
||||
clearable
|
||||
placeholder="请选择"
|
||||
>
|
||||
<!-- <el-option
|
||||
v-for="(key, value) in provinceSelectList"
|
||||
:key="value"
|
||||
:label="key"
|
||||
:value="value"
|
||||
<el-option
|
||||
v-for="item in maturityOptions"
|
||||
:key="item.key"
|
||||
:label="item.value"
|
||||
:value="item.key"
|
||||
>
|
||||
</el-option> -->
|
||||
</el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row>
|
||||
<el-col :span="24">
|
||||
<el-form-item label="成果领先性:" prop="license">
|
||||
<el-form-item label="成果领先性:" prop="lead_standard">
|
||||
<el-select
|
||||
v-model="modelValue.province"
|
||||
v-model="modelValue.lead_standard"
|
||||
clearable
|
||||
placeholder="请选择"
|
||||
>
|
||||
<el-option
|
||||
v-for="item in leadOptions"
|
||||
:key="item.key"
|
||||
:label="item.value"
|
||||
:value="item.key"
|
||||
>
|
||||
</el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row>
|
||||
<el-col :span="24">
|
||||
<el-form-item label="合作模式:" prop="license">
|
||||
<el-form-item label="合作模式:" prop="lead_standard">
|
||||
<el-select
|
||||
v-model="modelValue.province"
|
||||
clearable
|
||||
@ -131,6 +138,7 @@
|
||||
</el-row>
|
||||
|
||||
<InputBoxAdd
|
||||
v-if="modelValue.mode == 2"
|
||||
:labelWidth="labelWidth"
|
||||
v-model="modelValue"
|
||||
title="应用场景"
|
||||
@ -144,7 +152,7 @@
|
||||
v-model="modelValue"
|
||||
title="关键词"
|
||||
placeholder="请输入关键词"
|
||||
fieldKey="kws"
|
||||
fieldKey="keywords"
|
||||
ref="directionsForm"
|
||||
/>
|
||||
|
||||
@ -159,7 +167,7 @@
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row v-if="modelValue.type == 1">
|
||||
<el-row v-if="modelValue.mode == 1">
|
||||
<el-col :span="24">
|
||||
<el-form-item label="成果来源:" prop="introduce">
|
||||
<Editor
|
||||
@ -170,11 +178,11 @@
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row v-if="modelValue.type == 1">
|
||||
<el-row v-if="modelValue.mode == 1">
|
||||
<el-col :span="24">
|
||||
<el-form-item label="成果图片:" prop="license">
|
||||
<el-form-item label="成果图片:" prop="image">
|
||||
<ImageUpload
|
||||
v-model="modelValue.license"
|
||||
v-model="modelValue.image"
|
||||
:isShowTip="false"
|
||||
:limit="1"
|
||||
/>
|
||||
@ -186,9 +194,9 @@
|
||||
</p>
|
||||
<el-row>
|
||||
<el-col :span="24">
|
||||
<el-form-item label="成熟度证明材料:" prop="license">
|
||||
<el-form-item label="成熟度证明材料:" prop="file">
|
||||
<FileUpload
|
||||
v-model="modelValue.license"
|
||||
v-model="modelValue.file"
|
||||
:limit="1"
|
||||
:fileType="['doc', 'xls', 'ppt', 'txt', 'pdf', 'jpg']"
|
||||
/>
|
||||
@ -227,7 +235,7 @@ export default {
|
||||
return {
|
||||
rules: {
|
||||
product: [{ required: true, message: "请输入", trigger: "blur" }],
|
||||
name: [{ required: true, message: "请输入", trigger: "blur" }],
|
||||
title: [{ required: true, message: "请输入", trigger: "blur" }],
|
||||
kind: [{ required: true, message: "请选择", trigger: "change" }],
|
||||
code: [{ required: true, message: "请输入", trigger: "blur" }],
|
||||
mobile: [
|
||||
@ -258,7 +266,7 @@ export default {
|
||||
trigger: ["change", "blur"],
|
||||
},
|
||||
],
|
||||
license: [
|
||||
lead_standard: [
|
||||
{
|
||||
required: true,
|
||||
message: "请上传",
|
||||
|
@ -1,31 +1,5 @@
|
||||
<template>
|
||||
<div class="app-container">
|
||||
<!-- <el-form
|
||||
:model="queryParams"
|
||||
ref="queryRef"
|
||||
v-show="showSearch"
|
||||
:inline="true"
|
||||
@submit.prevent
|
||||
>
|
||||
<el-form-item label="企业名称" prop="researchName">
|
||||
<el-input
|
||||
v-model="queryParams.researchName"
|
||||
placeholder="请输入企业名称"
|
||||
clearable
|
||||
size="small"
|
||||
style="width: 240px"
|
||||
@keyup.enter="handleQuery"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-button type="primary" icon="Search" size="mini" @click="handleQuery"
|
||||
>搜索</el-button
|
||||
>
|
||||
<el-button icon="Refresh" size="mini" @click="resetQuery"
|
||||
>重置</el-button
|
||||
>
|
||||
</el-form-item>
|
||||
</el-form> -->
|
||||
<el-row :gutter="10" class="mb8">
|
||||
<el-col :span="1.5">
|
||||
<el-button
|
||||
@ -37,10 +11,6 @@
|
||||
>新增</el-button
|
||||
>
|
||||
</el-col>
|
||||
<!-- <right-toolbar
|
||||
v-model:showSearch="showSearch"
|
||||
@queryTable="getList"
|
||||
></right-toolbar> -->
|
||||
</el-row>
|
||||
|
||||
<!-- 表格数据 -->
|
||||
@ -144,23 +114,9 @@
|
||||
</template>
|
||||
|
||||
<script setup>
|
||||
import {
|
||||
addRole,
|
||||
changeRoleStatus,
|
||||
dataScope,
|
||||
delRole,
|
||||
getRole,
|
||||
listRole,
|
||||
updateRole,
|
||||
} from "@/api/system/role";
|
||||
import {
|
||||
roleMenuTreeselect,
|
||||
treeselect as menuTreeselect,
|
||||
} from "@/api/system/menu";
|
||||
import {
|
||||
treeselect as deptTreeselect,
|
||||
roleDeptTreeselect,
|
||||
} from "@/api/system/dept";
|
||||
import { expertCooperate } from "@/api/admin/expert/demand";
|
||||
|
||||
import { addRole, delRole, updateRole } from "@/api/system/role";
|
||||
|
||||
const router = useRouter();
|
||||
const { proxy } = getCurrentInstance();
|
||||
@ -175,8 +131,8 @@ const title = ref("");
|
||||
const data = reactive({
|
||||
form: {},
|
||||
queryParams: {
|
||||
pageNum: 1,
|
||||
pageSize: 10,
|
||||
page_num: 1,
|
||||
page_size: 10,
|
||||
researchName: undefined,
|
||||
},
|
||||
rules: {
|
||||
@ -210,13 +166,11 @@ function getList() {
|
||||
dataList.value = [1];
|
||||
total.value = 15;
|
||||
loading.value = false;
|
||||
// listRole(queryParams.value).then(
|
||||
// (response) => {
|
||||
// dataList.value = response.rows;
|
||||
// total.value = response.total;
|
||||
// loading.value = false;
|
||||
// }
|
||||
// );
|
||||
// expertCooperate(queryParams.value).then((response) => {
|
||||
// dataList.value = response.data.data;
|
||||
// total.value = response.data.count;
|
||||
// loading.value = false;
|
||||
// });
|
||||
}
|
||||
/** 搜索按钮操作 */
|
||||
function handleQuery() {
|
||||
|
@ -119,15 +119,15 @@ const data = reactive({
|
||||
name: [{ required: true, message: "需求名称不能为空", trigger: "blur" }],
|
||||
add: [{ required: true, message: "需求描述不能为空", trigger: "blur" }],
|
||||
bankAccount: [
|
||||
{ required: true, message: "开户行账号不能为空", trigger: "blur" },
|
||||
{ required: true, message: "需求联系人不能为空", trigger: "blur" },
|
||||
],
|
||||
bankPhone: [
|
||||
{ required: true, message: "开户行电话不能为空", trigger: "blur" },
|
||||
{ required: true, message: "联系人手机号不能为空", trigger: "blur" },
|
||||
],
|
||||
username: [{ required: true, message: "联系人不能为空", trigger: "blur" }],
|
||||
userPhone: [
|
||||
{ required: true, message: "联系人电话不能为空", trigger: "blur" },
|
||||
username: [
|
||||
{ required: true, message: "需求提交人不能为空", trigger: "blur" },
|
||||
],
|
||||
userPhone: [{ required: true, message: "手机号不能为空", trigger: "blur" }],
|
||||
},
|
||||
});
|
||||
|
||||
@ -188,4 +188,3 @@ function addCheck() {
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
|
@ -82,14 +82,14 @@
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script setup name="Post">
|
||||
<script setup>
|
||||
import {
|
||||
listPost,
|
||||
addPost,
|
||||
delPost,
|
||||
getPost,
|
||||
updatePost,
|
||||
} from "@/api/system/post";
|
||||
demand,
|
||||
demandAdd,
|
||||
demandEdit,
|
||||
demandDetail,
|
||||
demandDelete,
|
||||
} from "@/api/admin/expert/demand";
|
||||
|
||||
const { proxy } = getCurrentInstance();
|
||||
const router = useRouter();
|
||||
@ -142,7 +142,7 @@ function getList() {
|
||||
total.value = 15;
|
||||
loading.value = false;
|
||||
// loading.value = true;
|
||||
// listPost(proxy.addDateRange(queryParams.value, dateRange.value)).then(
|
||||
// demand(proxy.addDateRange(queryParams.value, dateRange.value)).then(
|
||||
// (response) => {
|
||||
// postList.value = response.rows;
|
||||
// total.value = response.total;
|
||||
@ -166,7 +166,7 @@ function handleDelete(id) {
|
||||
proxy.$modal
|
||||
.confirm('是否确认删除订单号为"' + id + '"的数据项?')
|
||||
.then(function () {
|
||||
return delPost(postIds);
|
||||
return demandDelete(postIds);
|
||||
})
|
||||
.then(() => {
|
||||
getList();
|
||||
|
@ -1,104 +1,53 @@
|
||||
<template>
|
||||
<div class="app-container">
|
||||
<!-- <el-form
|
||||
:model="queryParams"
|
||||
ref="queryRef"
|
||||
:inline="true"
|
||||
v-show="showSearch"
|
||||
label-width="68px"
|
||||
>
|
||||
<el-form-item label="订单号" prop="postCode">
|
||||
<el-input
|
||||
v-model="queryParams.postCode"
|
||||
placeholder="请输入订单号"
|
||||
clearable
|
||||
size="small"
|
||||
@keyup.enter="handleQuery"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="创建时间">
|
||||
<el-date-picker
|
||||
v-model="dateRange"
|
||||
size="small"
|
||||
style="width: 240px"
|
||||
value-format="YYYY-MM-DD"
|
||||
type="daterange"
|
||||
range-separator="-"
|
||||
start-placeholder="开始日期"
|
||||
end-placeholder="结束日期"
|
||||
></el-date-picker>
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-button type="primary" icon="Search" size="mini" @click="handleQuery"
|
||||
>搜索</el-button
|
||||
>
|
||||
<el-button icon="Refresh" size="mini" @click="resetQuery"
|
||||
>重置</el-button
|
||||
>
|
||||
</el-form-item>
|
||||
</el-form> -->
|
||||
|
||||
<el-row :gutter="10" class="mb8">
|
||||
<el-col :span="1.5">
|
||||
<router-link to="./release">
|
||||
<el-button type="primary" size="mini">发布成果</el-button>
|
||||
</router-link>
|
||||
</el-col>
|
||||
<right-toolbar
|
||||
v-model:showSearch="showSearch"
|
||||
@queryTable="getList"
|
||||
></right-toolbar>
|
||||
</el-row>
|
||||
|
||||
<el-radio-group
|
||||
v-model="queryParams.type"
|
||||
v-model="queryParams.status"
|
||||
size="mini"
|
||||
@change="handleQuery"
|
||||
>
|
||||
<el-radio-button label="1">已发布</el-radio-button>
|
||||
<el-radio-button label="2">待审核</el-radio-button>
|
||||
<el-radio-button label="3">已驳回</el-radio-button>
|
||||
<el-radio-button label="4">草稿箱</el-radio-button>
|
||||
<el-radio-button :label="2">已发布</el-radio-button>
|
||||
<el-radio-button :label="1">待审核</el-radio-button>
|
||||
<el-radio-button :label="3">已驳回</el-radio-button>
|
||||
<el-radio-button :label="0">草稿箱</el-radio-button>
|
||||
</el-radio-group>
|
||||
|
||||
<el-table v-loading="loading" :data="postList" style="margin-top: 20px">
|
||||
<el-table-column label="成果名称" align="center" prop="postCode" />
|
||||
<el-table-column label="成果领域" align="center" prop="postSort" />
|
||||
<el-table-column label="浏览量" align="center" prop="status" />
|
||||
<el-table-column
|
||||
label="发布时间"
|
||||
align="center"
|
||||
prop="createTime"
|
||||
width="180"
|
||||
>
|
||||
<el-table-column label="数据编号" prop="id" />
|
||||
<el-table-column label="成果名称" prop="title" />
|
||||
<el-table-column label="成果领域" prop="industrys" />
|
||||
<el-table-column label="浏览量" prop="visit_count" />
|
||||
<el-table-column label="发布时间" prop="created_at" width="180">
|
||||
<template #default="scope">
|
||||
<span>{{ parseTime(scope.row.createTime) }}</span>
|
||||
<span>{{ parseTime(scope.row.created_at) }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
label="操作"
|
||||
align="center"
|
||||
class-name="small-padding fixed-width"
|
||||
>
|
||||
<el-table-column label="操作" class-name="small-padding fixed-width">
|
||||
<template #default="scope">
|
||||
<el-button
|
||||
v-if="queryParams.type == 4"
|
||||
size="mini"
|
||||
type="text"
|
||||
icon="Edit"
|
||||
@click="handleDelete(scope.row.id)"
|
||||
>编辑</el-button
|
||||
<router-link
|
||||
:to="{ path: './release', query: { id: scope.row.id } }"
|
||||
v-if="queryParams.status == 0"
|
||||
>
|
||||
<el-button size="mini" type="text" icon="Edit">编辑</el-button>
|
||||
</router-link>
|
||||
|
||||
<el-button
|
||||
v-if="queryParams.type == 1"
|
||||
v-if="queryParams.status == 2"
|
||||
size="mini"
|
||||
type="text"
|
||||
icon="Download"
|
||||
@click="handleDelete(scope.row.id)"
|
||||
@click="handleShelf(scope.row)"
|
||||
>下架</el-button
|
||||
>
|
||||
<el-button
|
||||
v-if="queryParams.type != 2"
|
||||
v-if="queryParams.status != 1"
|
||||
size="mini"
|
||||
type="text"
|
||||
icon="Delete"
|
||||
@ -106,7 +55,7 @@
|
||||
>删除</el-button
|
||||
>
|
||||
<el-button
|
||||
v-if="queryParams.type == 1"
|
||||
v-if="queryParams.status == 2"
|
||||
size="mini"
|
||||
type="text"
|
||||
icon="View"
|
||||
@ -114,11 +63,10 @@
|
||||
>查看匹配结果</el-button
|
||||
>
|
||||
<el-button
|
||||
v-if="queryParams.type == 2"
|
||||
v-if="queryParams.status == 1"
|
||||
size="mini"
|
||||
type="text"
|
||||
icon="Close"
|
||||
@click="handleDelete(scope.row.id)"
|
||||
>取消发布</el-button
|
||||
>
|
||||
</template>
|
||||
@ -137,12 +85,10 @@
|
||||
|
||||
<script setup name="Post">
|
||||
import {
|
||||
listPost,
|
||||
addPost,
|
||||
delPost,
|
||||
getPost,
|
||||
updatePost,
|
||||
} from "@/api/system/post";
|
||||
expertAchievement,
|
||||
achievementShelf,
|
||||
achievementDelete,
|
||||
} from "@/api/admin/expert/technology";
|
||||
|
||||
const { proxy } = getCurrentInstance();
|
||||
const router = useRouter();
|
||||
@ -156,10 +102,9 @@ const dateRange = ref([]);
|
||||
const data = reactive({
|
||||
form: {},
|
||||
queryParams: {
|
||||
pageNum: 1,
|
||||
pageSize: 10,
|
||||
postCode: undefined,
|
||||
type: "1",
|
||||
page_num: 1,
|
||||
page_size: 10,
|
||||
status: 2,
|
||||
},
|
||||
rules: {
|
||||
name: [{ required: true, message: "公司名称不能为空", trigger: "blur" }],
|
||||
@ -190,18 +135,12 @@ const { queryParams, form, rules } = toRefs(data);
|
||||
|
||||
/** 查询列表 */
|
||||
function getList() {
|
||||
// console.log(proxy.addDateRange(queryParams.value, dateRange.value));
|
||||
postList.value = [1];
|
||||
total.value = 15;
|
||||
loading.value = false;
|
||||
// loading.value = true;
|
||||
// listPost(proxy.addDateRange(queryParams.value, dateRange.value)).then(
|
||||
// (response) => {
|
||||
// postList.value = response.rows;
|
||||
// total.value = response.total;
|
||||
// loading.value = false;
|
||||
// }
|
||||
// );
|
||||
loading.value = true;
|
||||
expertAchievement(queryParams.value).then((response) => {
|
||||
postList.value = response.data.data;
|
||||
total.value = response.data.count;
|
||||
loading.value = false;
|
||||
});
|
||||
}
|
||||
/** 搜索按钮操作 */
|
||||
function handleQuery() {
|
||||
@ -217,9 +156,9 @@ function resetQuery() {
|
||||
/** 删除按钮操作 */
|
||||
function handleDelete(id) {
|
||||
proxy.$modal
|
||||
.confirm('是否确认删除订单号为"' + id + '"的数据项?')
|
||||
.confirm('是否确认删除数据编号为"' + id + '"的成果项?')
|
||||
.then(function () {
|
||||
return delPost(postIds);
|
||||
return achievementDelete({ id });
|
||||
})
|
||||
.then(() => {
|
||||
getList();
|
||||
@ -227,6 +166,20 @@ function handleDelete(id) {
|
||||
})
|
||||
.catch(() => {});
|
||||
}
|
||||
function handleShelf(row) {
|
||||
let text = row.shelf_status == 2 ? "上架" : "下架";
|
||||
proxy.$modal
|
||||
.confirm('确认要"' + text + '""' + row.id + '"的成果吗?')
|
||||
.then(function () {
|
||||
let status = row.shelf_status == 1 ? 2 : 1;
|
||||
return achievementShelf({ id: row.id, status });
|
||||
})
|
||||
.then(() => {
|
||||
getList();
|
||||
proxy.$modal.msgSuccess(text + "成功");
|
||||
})
|
||||
.catch(() => {});
|
||||
}
|
||||
function handleResults(id) {
|
||||
router.push({ path: "./results" });
|
||||
}
|
||||
|
@ -7,9 +7,9 @@
|
||||
:inline="true"
|
||||
@submit.prevent
|
||||
>
|
||||
<el-form-item label="论文题目" prop="roleName">
|
||||
<el-form-item label="论文题目" prop="title">
|
||||
<el-input
|
||||
v-model="queryParams.roleName"
|
||||
v-model="queryParams.title"
|
||||
placeholder="请输入论文题目"
|
||||
clearable
|
||||
size="small"
|
||||
@ -45,22 +45,18 @@
|
||||
|
||||
<!-- 表格数据 -->
|
||||
<el-table v-loading="loading" :data="dataList">
|
||||
<el-table-column label="数据编号" prop="roleId" />
|
||||
<el-table-column label="数据编号" prop="id" />
|
||||
<el-table-column
|
||||
label="论文题目"
|
||||
prop="roleName"
|
||||
prop="title"
|
||||
:show-overflow-tooltip="true"
|
||||
/>
|
||||
<el-table-column
|
||||
label="刊物"
|
||||
prop="roleKey"
|
||||
:show-overflow-tooltip="true"
|
||||
/>
|
||||
<el-table-column label="作者" prop="roleSort" />
|
||||
<el-table-column label="关键词" prop="roleSort" />
|
||||
<el-table-column label="出版日期" align="center" prop="createTime">
|
||||
<el-table-column label="刊物" prop="ext" :show-overflow-tooltip="true" />
|
||||
<el-table-column label="作者" prop="author" />
|
||||
<el-table-column label="关键词" align="center" prop="keywords" />
|
||||
<el-table-column label="出版日期" align="center" prop="created_at">
|
||||
<template #default="scope">
|
||||
<span>{{ parseTime(scope.row.createTime) }}</span>
|
||||
<span>{{ parseTime(scope.row.created_at) }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
@ -97,21 +93,21 @@
|
||||
|
||||
<!-- 添加或修改数据配置对话框 -->
|
||||
<el-dialog :title="title" v-model="open" width="800px" append-to-body>
|
||||
<el-form ref="roleRef" :model="form" :rules="rules" label-width="100px">
|
||||
<el-form-item label="论文题目:" prop="roleName">
|
||||
<el-input v-model="form.roleName" placeholder="请输入论文题目" />
|
||||
<el-form ref="paperRef" :model="form" :rules="rules" label-width="100px">
|
||||
<el-form-item label="论文题目:" prop="title">
|
||||
<el-input v-model="form.title" placeholder="请输入论文题目" />
|
||||
</el-form-item>
|
||||
<el-form-item label="刊物:" prop="roleKey">
|
||||
<el-input v-model="form.roleKey" placeholder="请输入刊物" />
|
||||
<el-form-item label="刊物:" prop="ext">
|
||||
<el-input v-model="form.ext" placeholder="请输入刊物" />
|
||||
</el-form-item>
|
||||
<el-form-item label="作者:" prop="author">
|
||||
<el-input v-model="form.author" placeholder="多人员请用 , 隔开" />
|
||||
</el-form-item>
|
||||
<el-form-item label="出版日期:" prop="time">
|
||||
<el-form-item label="出版日期:" prop="publish_at">
|
||||
<el-date-picker
|
||||
v-model="form.time"
|
||||
v-model="form.publish_at"
|
||||
type="date"
|
||||
value-format="YYYY-MM-DD"
|
||||
value-format="YYYY-MM-DD HH:mm:ss"
|
||||
placeholder="请选择出版日期"
|
||||
></el-date-picker>
|
||||
</el-form-item>
|
||||
@ -144,22 +140,11 @@
|
||||
<script setup>
|
||||
import InputBoxAdd from "@/views/identity/components/InputBoxAdd";
|
||||
import {
|
||||
addRole,
|
||||
changeRoleStatus,
|
||||
dataScope,
|
||||
delRole,
|
||||
getRole,
|
||||
listRole,
|
||||
updateRole,
|
||||
} from "@/api/system/role";
|
||||
import {
|
||||
roleMenuTreeselect,
|
||||
treeselect as menuTreeselect,
|
||||
} from "@/api/system/menu";
|
||||
import {
|
||||
treeselect as deptTreeselect,
|
||||
roleDeptTreeselect,
|
||||
} from "@/api/system/dept";
|
||||
expertPaper,
|
||||
paperAdd,
|
||||
paperEdit,
|
||||
paperDelete,
|
||||
} from "@/api/admin/expert/technology";
|
||||
|
||||
const router = useRouter();
|
||||
const { proxy } = getCurrentInstance();
|
||||
@ -174,17 +159,15 @@ const title = ref("");
|
||||
const data = reactive({
|
||||
form: {},
|
||||
queryParams: {
|
||||
pageNum: 1,
|
||||
pageSize: 10,
|
||||
roleName: undefined,
|
||||
page_num: 1,
|
||||
page_size: 10,
|
||||
title: undefined,
|
||||
},
|
||||
rules: {
|
||||
roleName: [
|
||||
{ required: true, message: "论文题目不能为空", trigger: "blur" },
|
||||
],
|
||||
roleKey: [{ required: true, message: "刊物不能为空", trigger: "blur" }],
|
||||
title: [{ required: true, message: "论文题目不能为空", trigger: "blur" }],
|
||||
ext: [{ required: true, message: "刊物不能为空", trigger: "blur" }],
|
||||
author: [{ required: true, message: "作者不能为空", trigger: "blur" }],
|
||||
time: [
|
||||
publish_at: [
|
||||
{
|
||||
required: true,
|
||||
message: "请选择出版日期",
|
||||
@ -199,16 +182,11 @@ const { queryParams, form, rules } = toRefs(data);
|
||||
/** 查询数据列表 */
|
||||
function getList() {
|
||||
loading.value = true;
|
||||
dataList.value = [1];
|
||||
total.value = 15;
|
||||
loading.value = false;
|
||||
// listRole(queryParams.value).then(
|
||||
// (response) => {
|
||||
// dataList.value = response.rows;
|
||||
// total.value = response.total;
|
||||
// loading.value = false;
|
||||
// }
|
||||
// );
|
||||
expertPaper(queryParams.value).then((response) => {
|
||||
dataList.value = response.data.data;
|
||||
total.value = response.data.count;
|
||||
loading.value = false;
|
||||
});
|
||||
}
|
||||
/** 搜索按钮操作 */
|
||||
function handleQuery() {
|
||||
@ -225,7 +203,7 @@ function handleDelete(row) {
|
||||
proxy.$modal
|
||||
.confirm('是否确认删除数据编号为"' + row.id + '"的数据项?')
|
||||
.then(function () {
|
||||
return delRole(roleIds);
|
||||
return paperDelete({ id: row.id });
|
||||
})
|
||||
.then(() => {
|
||||
getList();
|
||||
@ -237,15 +215,15 @@ function handleDelete(row) {
|
||||
/** 重置新增的表单以及其他数据 */
|
||||
function reset() {
|
||||
form.value = {
|
||||
roleId: undefined,
|
||||
roleName: undefined,
|
||||
roleKey: undefined,
|
||||
id: undefined,
|
||||
title: undefined,
|
||||
ext: undefined,
|
||||
author: undefined,
|
||||
time: undefined,
|
||||
publish_at: undefined,
|
||||
keywords: [],
|
||||
remark: undefined,
|
||||
};
|
||||
proxy.resetForm("roleRef");
|
||||
proxy.resetForm("paperRef");
|
||||
}
|
||||
/** 添加数据 */
|
||||
function handleAdd() {
|
||||
@ -255,29 +233,28 @@ function handleAdd() {
|
||||
}
|
||||
/** 修改数据 */
|
||||
function handleUpdate(row) {
|
||||
reset();
|
||||
form.value = Object.assign({}, row);
|
||||
form.value = JSON.parse(JSON.stringify(row));
|
||||
open.value = true;
|
||||
title.value = "修改数据";
|
||||
}
|
||||
/** 提交按钮 */
|
||||
function submitForm() {
|
||||
proxy.$refs["roleRef"].validate((valid) => {
|
||||
if (valid) {
|
||||
console.log(form.value);
|
||||
// if (form.value.roleId != undefined) {
|
||||
// updateRole(form.value).then((response) => {
|
||||
// proxy.$modal.msgSuccess("修改成功");
|
||||
// open.value = false;
|
||||
// getList();
|
||||
// });
|
||||
// } else {
|
||||
// addRole(form.value).then((response) => {
|
||||
// proxy.$modal.msgSuccess("新增成功");
|
||||
// open.value = false;
|
||||
// getList();
|
||||
// });
|
||||
// }
|
||||
proxy.$refs["paperRef"].validate((valid) => {
|
||||
const keywordsForm = proxy.$refs.keywordsForm.submitForm();
|
||||
if (valid && keywordsForm) {
|
||||
if (form.value.id != undefined) {
|
||||
paperEdit(form.value).then((response) => {
|
||||
proxy.$modal.msgSuccess("修改成功");
|
||||
open.value = false;
|
||||
getList();
|
||||
});
|
||||
} else {
|
||||
paperAdd(form.value).then((response) => {
|
||||
proxy.$modal.msgSuccess("新增成功");
|
||||
open.value = false;
|
||||
getList();
|
||||
});
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
|
@ -5,10 +5,11 @@
|
||||
ref="queryRef"
|
||||
v-show="showSearch"
|
||||
:inline="true"
|
||||
@submit.prevent
|
||||
>
|
||||
<el-form-item label="专利名称" prop="roleName">
|
||||
<el-form-item label="专利名称" prop="title">
|
||||
<el-input
|
||||
v-model="queryParams.roleName"
|
||||
v-model="queryParams.title"
|
||||
placeholder="请输入专利名称"
|
||||
clearable
|
||||
size="small"
|
||||
@ -16,9 +17,9 @@
|
||||
@keyup.enter="handleQuery"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="申请人" prop="roleName">
|
||||
<!-- <el-form-item label="申请人" prop="apply_name">
|
||||
<el-input
|
||||
v-model="queryParams.roleName"
|
||||
v-model="queryParams.apply_name"
|
||||
placeholder="请输入申请人"
|
||||
clearable
|
||||
size="small"
|
||||
@ -26,16 +27,16 @@
|
||||
@keyup.enter="handleQuery"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="发明人" prop="roleName">
|
||||
<el-form-item label="发明人" prop="inventor">
|
||||
<el-input
|
||||
v-model="queryParams.roleName"
|
||||
v-model="queryParams.inventor"
|
||||
placeholder="请输入发明人"
|
||||
clearable
|
||||
size="small"
|
||||
style="width: 240px"
|
||||
@keyup.enter="handleQuery"
|
||||
/>
|
||||
</el-form-item>
|
||||
</el-form-item> -->
|
||||
<el-form-item>
|
||||
<el-button type="primary" icon="Search" size="mini" @click="handleQuery"
|
||||
>搜索</el-button
|
||||
@ -56,18 +57,14 @@
|
||||
>新增</el-button
|
||||
>
|
||||
</el-col>
|
||||
<el-col :span="1.5">
|
||||
<!-- 无接口 暂时注释 -->
|
||||
<!-- <el-col :span="1.5">
|
||||
<router-link to="./claimPatent">
|
||||
<el-button
|
||||
type="primary"
|
||||
plain
|
||||
icon="Plus"
|
||||
size="mini"
|
||||
@click="handleAdd"
|
||||
<el-button type="primary" plain icon="Plus" size="mini"
|
||||
>认领</el-button
|
||||
>
|
||||
</router-link>
|
||||
</el-col>
|
||||
</el-col> -->
|
||||
<right-toolbar
|
||||
v-model:showSearch="showSearch"
|
||||
@queryTable="getList"
|
||||
@ -104,7 +101,7 @@
|
||||
size="mini"
|
||||
type="text"
|
||||
icon="Edit"
|
||||
@click="handleUpdate(scope.row)"
|
||||
@click="handleUpdate(scope.row.id)"
|
||||
>修改</el-button
|
||||
>
|
||||
<el-button
|
||||
@ -121,14 +118,14 @@
|
||||
<pagination
|
||||
v-show="total > 0"
|
||||
:total="total"
|
||||
v-model:page="queryParams.pageNum"
|
||||
v-model:page="queryParams.page_num"
|
||||
v-model:limit="queryParams.pageSize"
|
||||
@pagination="getList"
|
||||
/>
|
||||
|
||||
<!-- 添加或修改数据配置对话框 -->
|
||||
<el-dialog :title="title" v-model="open" width="800px" append-to-body>
|
||||
<el-form ref="roleRef" :model="form" :rules="rules" label-width="100px">
|
||||
<el-form ref="patentRef" :model="form" :rules="rules" label-width="100px">
|
||||
<el-form-item label="申请人:" prop="apply_name">
|
||||
<el-input
|
||||
v-model="form.apply_name"
|
||||
@ -189,13 +186,13 @@
|
||||
placeholder="请选择"
|
||||
style="width: 100%"
|
||||
>
|
||||
<!-- <el-option
|
||||
<el-option
|
||||
v-for="item in patentOptions"
|
||||
:key="item.key"
|
||||
:label="item.value"
|
||||
:value="item.key"
|
||||
>
|
||||
</el-option> -->
|
||||
</el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
@ -208,7 +205,7 @@
|
||||
|
||||
<el-form-item label="摘要:" prop="description">
|
||||
<el-input
|
||||
v-model.number="form.description"
|
||||
v-model="form.description"
|
||||
placeholder="请输入摘要"
|
||||
type="textarea"
|
||||
:autosize="{ minRows: 4, maxRows: 8 }"
|
||||
@ -216,7 +213,7 @@
|
||||
</el-form-item>
|
||||
<el-form-item label="主权项:" prop="principal_claim">
|
||||
<el-input
|
||||
v-model.number="form.principal_claim"
|
||||
v-model="form.principal_claim"
|
||||
placeholder="请输入主权项"
|
||||
type="textarea"
|
||||
:autosize="{ minRows: 4, maxRows: 8 }"
|
||||
@ -235,22 +232,12 @@
|
||||
|
||||
<script setup>
|
||||
import {
|
||||
addRole,
|
||||
changeRoleStatus,
|
||||
dataScope,
|
||||
delRole,
|
||||
getRole,
|
||||
listRole,
|
||||
updateRole,
|
||||
} from "@/api/system/role";
|
||||
import {
|
||||
roleMenuTreeselect,
|
||||
treeselect as menuTreeselect,
|
||||
} from "@/api/system/menu";
|
||||
import {
|
||||
treeselect as deptTreeselect,
|
||||
roleDeptTreeselect,
|
||||
} from "@/api/system/dept";
|
||||
expertPatent,
|
||||
patentAdd,
|
||||
patentDetail,
|
||||
patentEdit,
|
||||
patentDelete,
|
||||
} from "@/api/admin/expert/technology";
|
||||
|
||||
const router = useRouter();
|
||||
const { proxy } = getCurrentInstance();
|
||||
@ -265,9 +252,9 @@ const title = ref("");
|
||||
const data = reactive({
|
||||
form: {},
|
||||
queryParams: {
|
||||
pageNum: 1,
|
||||
pageSize: 10,
|
||||
roleName: undefined,
|
||||
page_num: 1,
|
||||
page_size: 10,
|
||||
inventor: undefined,
|
||||
},
|
||||
rules: {
|
||||
apply_name: [
|
||||
@ -302,20 +289,15 @@ const { queryParams, form, rules } = toRefs(data);
|
||||
/** 查询数据列表 */
|
||||
function getList() {
|
||||
loading.value = true;
|
||||
dataList.value = [1];
|
||||
total.value = 15;
|
||||
loading.value = false;
|
||||
// listRole(queryParams.value).then(
|
||||
// (response) => {
|
||||
// dataList.value = response.rows;
|
||||
// total.value = response.total;
|
||||
// loading.value = false;
|
||||
// }
|
||||
// );
|
||||
expertPatent(queryParams.value).then((response) => {
|
||||
dataList.value = response.data.data;
|
||||
total.value = response.data.count;
|
||||
loading.value = false;
|
||||
});
|
||||
}
|
||||
/** 搜索按钮操作 */
|
||||
function handleQuery() {
|
||||
queryParams.value.pageNum = 1;
|
||||
queryParams.value.page_num = 1;
|
||||
getList();
|
||||
}
|
||||
/** 重置按钮操作 */
|
||||
@ -326,9 +308,9 @@ function resetQuery() {
|
||||
/** 删除按钮操作 */
|
||||
function handleDelete(row) {
|
||||
proxy.$modal
|
||||
.confirm('是否确认删除数据编号为"' + row.id + '"的数据项?')
|
||||
.confirm('是否确认删除数据编号为"' + row.id + '"的专利项?')
|
||||
.then(function () {
|
||||
return delRole(roleIds);
|
||||
return patentDelete({ id: row.id });
|
||||
})
|
||||
.then(() => {
|
||||
getList();
|
||||
@ -354,7 +336,7 @@ function reset() {
|
||||
description: undefined,
|
||||
principal_claim: undefined,
|
||||
};
|
||||
proxy.resetForm("roleRef");
|
||||
proxy.resetForm("patentRef");
|
||||
}
|
||||
/** 添加数据 */
|
||||
function handleAdd() {
|
||||
@ -363,30 +345,31 @@ function handleAdd() {
|
||||
title.value = "添加数据";
|
||||
}
|
||||
/** 修改数据 */
|
||||
function handleUpdate(row) {
|
||||
function handleUpdate(id) {
|
||||
reset();
|
||||
form.value = Object.assign({}, row);
|
||||
open.value = true;
|
||||
title.value = "修改数据";
|
||||
patentDetail({ id }).then((res) => {
|
||||
form.value = res.data;
|
||||
open.value = true;
|
||||
title.value = "修改数据";
|
||||
});
|
||||
}
|
||||
/** 提交按钮 */
|
||||
function submitForm() {
|
||||
proxy.$refs["roleRef"].validate((valid) => {
|
||||
proxy.$refs["patentRef"].validate((valid) => {
|
||||
if (valid) {
|
||||
console.log(form.value);
|
||||
// if (form.value.roleId != undefined) {
|
||||
// updateRole(form.value).then((response) => {
|
||||
// proxy.$modal.msgSuccess("修改成功");
|
||||
// open.value = false;
|
||||
// getList();
|
||||
// });
|
||||
// } else {
|
||||
// addRole(form.value).then((response) => {
|
||||
// proxy.$modal.msgSuccess("新增成功");
|
||||
// open.value = false;
|
||||
// getList();
|
||||
// });
|
||||
// }
|
||||
if (form.value.id != undefined) {
|
||||
patentEdit(form.value).then((response) => {
|
||||
proxy.$modal.msgSuccess("修改成功");
|
||||
open.value = false;
|
||||
getList();
|
||||
});
|
||||
} else {
|
||||
patentAdd(form.value).then((response) => {
|
||||
proxy.$modal.msgSuccess("新增成功");
|
||||
open.value = false;
|
||||
getList();
|
||||
});
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
|
@ -8,26 +8,28 @@
|
||||
ref="releaseForm"
|
||||
/>
|
||||
<div :style="{ marginLeft: labelWidth + 'px' }">
|
||||
<el-button type="primary" @click="submitForm">保存草稿</el-button>
|
||||
<el-button type="primary" @click="submitForm">提交审核</el-button>
|
||||
<el-button type="primary" @click="submitForm(0)">保存草稿</el-button>
|
||||
<el-button type="primary" @click="submitForm(1)">提交审核</el-button>
|
||||
</div>
|
||||
</el-card>
|
||||
</div>
|
||||
</template>
|
||||
<script setup>
|
||||
import { expert } from "@/api/identity/index";
|
||||
import { achievementAdd } from "@/api/admin/expert/technology";
|
||||
import ReleaseForm from "../components/ReleaseForm";
|
||||
const { proxy } = getCurrentInstance();
|
||||
const labelWidth = 140;
|
||||
const form = reactive({
|
||||
type: "1",
|
||||
mode: 1,
|
||||
});
|
||||
function submitForm(status) {
|
||||
function submitForm(is_submit) {
|
||||
form["is_submit"] = is_submit;
|
||||
if (proxy.$refs.releaseForm.submitForm()) {
|
||||
expert(form).then((res) => {
|
||||
proxy.$modal.msgSuccess("新增成功");
|
||||
proxy.$router.go(-1);
|
||||
});
|
||||
console.log(form);
|
||||
// achievementAdd(form).then((res) => {
|
||||
// proxy.$modal.msgSuccess("新增成功");
|
||||
// proxy.$router.go(-1);
|
||||
// });
|
||||
} else {
|
||||
console.log("校验未通过");
|
||||
}
|
||||
|
@ -7,9 +7,9 @@
|
||||
:inline="true"
|
||||
@submit.prevent
|
||||
>
|
||||
<el-form-item label="科研项目名称" prop="researchName">
|
||||
<el-form-item label="科研项目名称" prop="title">
|
||||
<el-input
|
||||
v-model="queryParams.researchName"
|
||||
v-model="queryParams.title"
|
||||
placeholder="请输入科研项目名称"
|
||||
clearable
|
||||
size="small"
|
||||
@ -45,22 +45,23 @@
|
||||
|
||||
<!-- 表格数据 -->
|
||||
<el-table v-loading="loading" :data="dataList">
|
||||
<el-table-column label="数据编号" prop="researchId" />
|
||||
<el-table-column label="数据编号" prop="id" />
|
||||
<el-table-column
|
||||
label="科研项目名称"
|
||||
prop="researchName"
|
||||
prop="title"
|
||||
:show-overflow-tooltip="true"
|
||||
/>
|
||||
<el-table-column
|
||||
label="类型"
|
||||
prop="roleKey"
|
||||
:show-overflow-tooltip="true"
|
||||
/>
|
||||
<el-table-column label="课题角色" prop="roleSort" />
|
||||
<el-table-column label="课题负责人" prop="roleSort" />
|
||||
<el-table-column label="发布日期" align="center" prop="createTime">
|
||||
<el-table-column label="类型" prop="kind" />
|
||||
<el-table-column label="课题角色" prop="role">
|
||||
<template #default="scope">
|
||||
<span>{{ parseTime(scope.row.createTime) }}</span>
|
||||
<div v-if="scope.row.role == 1">承担单位</div>
|
||||
<div v-else-if="scope.row.role == 2">参与单位</div>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="课题负责人" prop="director" />
|
||||
<el-table-column label="发布日期" align="center" prop="created_at">
|
||||
<template #default="scope">
|
||||
<span>{{ parseTime(scope.row.created_at) }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
@ -72,8 +73,8 @@
|
||||
<el-button
|
||||
size="mini"
|
||||
type="text"
|
||||
icon="Edit"
|
||||
@click="handleEdit(scope.row)"
|
||||
icon="Download"
|
||||
@click="handleShelf(scope.row)"
|
||||
>下架</el-button
|
||||
>
|
||||
<!-- <el-button
|
||||
@ -105,33 +106,34 @@
|
||||
<!-- 添加或修改数据配置对话框 -->
|
||||
<el-dialog :title="title" v-model="open" width="720px" append-to-body>
|
||||
<el-form ref="roleRef" :model="form" :rules="rules" label-width="120px">
|
||||
<el-form-item label="科研项目名称:" prop="researchName">
|
||||
<el-input
|
||||
v-model="form.researchName"
|
||||
placeholder="请输入科研项目名称"
|
||||
/>
|
||||
<el-form-item label="科研项目名称:" prop="title">
|
||||
<el-input v-model="form.title" placeholder="请输入科研项目名称" />
|
||||
</el-form-item>
|
||||
<el-form-item label="课题角色:" prop="company">
|
||||
<el-radio v-model="form.company" label="1">承担单位</el-radio>
|
||||
<el-radio v-model="form.company" label="2">参与单位</el-radio>
|
||||
<el-form-item label="课题角色:" prop="role">
|
||||
<el-radio v-model="form.role" :label="1">承担单位</el-radio>
|
||||
<el-radio v-model="form.role" :label="2">参与单位</el-radio>
|
||||
</el-form-item>
|
||||
<el-row>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="资助经费:" prop="funding">
|
||||
<el-input v-model="form.funding" placeholder="请输入资助经费" />
|
||||
<el-form-item label="资助经费:" prop="amount">
|
||||
<el-input
|
||||
v-model="form.amount"
|
||||
oninput="value=value.replace(/[^\d.]/g, '').replace(/\.{2,}/g, '.').replace('.', '$#$').replace(/\./g, '').replace('$#$', '.').replace(/^(\-)*(\d+)\.(\d\d).*$/, '$1$2.$3').replace(/^\./g, '')"
|
||||
placeholder="请输入资助经费"
|
||||
/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="资助来源:" prop="sources">
|
||||
<el-input v-model="form.sources" placeholder="请输入资助来源" />
|
||||
<el-form-item label="资助来源:" prop="source">
|
||||
<el-input v-model="form.source" placeholder="请输入资助来源" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="开始日期:" prop="beginTime">
|
||||
<el-form-item label="开始日期:" prop="begin_at">
|
||||
<el-date-picker
|
||||
v-model="form.beginTime"
|
||||
v-model="form.begin_at"
|
||||
type="date"
|
||||
value-format="YYYY-MM-DD"
|
||||
placeholder="请选择开始日期"
|
||||
@ -139,9 +141,9 @@
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="结束日期:" prop="endTime">
|
||||
<el-form-item label="结束日期:" prop="finish_at">
|
||||
<el-date-picker
|
||||
v-model="form.endTime"
|
||||
v-model="form.finish_at"
|
||||
type="date"
|
||||
value-format="YYYY-MM-DD"
|
||||
placeholder="请选择结束日期"
|
||||
@ -151,17 +153,14 @@
|
||||
</el-row>
|
||||
<el-row>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="项目类型:" prop="projectType">
|
||||
<el-input
|
||||
v-model="form.projectType"
|
||||
placeholder="请输入项目类型"
|
||||
/>
|
||||
<el-form-item label="项目类型:" prop="kind">
|
||||
<el-input v-model="form.kind" placeholder="请输入项目类型" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="课题负责人:" prop="projectLeader">
|
||||
<el-form-item label="课题负责人:" prop="director">
|
||||
<el-input
|
||||
v-model="form.projectLeader"
|
||||
v-model="form.director"
|
||||
placeholder="请输入课题负责人"
|
||||
/>
|
||||
</el-form-item>
|
||||
@ -180,22 +179,12 @@
|
||||
|
||||
<script setup>
|
||||
import {
|
||||
addRole,
|
||||
changeRoleStatus,
|
||||
dataScope,
|
||||
delRole,
|
||||
getRole,
|
||||
listRole,
|
||||
updateRole,
|
||||
} from "@/api/system/role";
|
||||
import {
|
||||
roleMenuTreeselect,
|
||||
treeselect as menuTreeselect,
|
||||
} from "@/api/system/menu";
|
||||
import {
|
||||
treeselect as deptTreeselect,
|
||||
roleDeptTreeselect,
|
||||
} from "@/api/system/dept";
|
||||
expertProject,
|
||||
projectAdd,
|
||||
projectEdit,
|
||||
projectShelf,
|
||||
projectDelete,
|
||||
} from "@/api/admin/expert/technology";
|
||||
|
||||
const router = useRouter();
|
||||
const { proxy } = getCurrentInstance();
|
||||
@ -210,34 +199,32 @@ const title = ref("");
|
||||
const data = reactive({
|
||||
form: {},
|
||||
queryParams: {
|
||||
pageNum: 1,
|
||||
pageSize: 10,
|
||||
researchName: undefined,
|
||||
page_num: 1,
|
||||
page_size: 10,
|
||||
title: undefined,
|
||||
},
|
||||
rules: {
|
||||
researchName: [
|
||||
title: [
|
||||
{ required: true, message: "科研项目名称不能为空", trigger: "blur" },
|
||||
],
|
||||
funding: [{ required: true, message: "资助经费不能为空", trigger: "blur" }],
|
||||
sources: [{ required: true, message: "资助来源不能为空", trigger: "blur" }],
|
||||
beginTime: [
|
||||
amount: [{ required: true, message: "资助经费不能为空", trigger: "blur" }],
|
||||
source: [{ required: true, message: "资助来源不能为空", trigger: "blur" }],
|
||||
begin_at: [
|
||||
{
|
||||
required: true,
|
||||
message: "请选择开始日期",
|
||||
trigger: ["blur", "change"],
|
||||
},
|
||||
],
|
||||
endTime: [
|
||||
finish_at: [
|
||||
{
|
||||
required: true,
|
||||
message: "请选择结束日期",
|
||||
trigger: ["blur", "change"],
|
||||
},
|
||||
],
|
||||
projectType: [
|
||||
{ required: true, message: "项目类型不能为空", trigger: "blur" },
|
||||
],
|
||||
projectLeader: [
|
||||
kind: [{ required: true, message: "项目类型不能为空", trigger: "blur" }],
|
||||
director: [
|
||||
{ required: true, message: "课题负责人不能为空", trigger: "blur" },
|
||||
],
|
||||
},
|
||||
@ -248,16 +235,11 @@ const { queryParams, form, rules } = toRefs(data);
|
||||
/** 查询数据列表 */
|
||||
function getList() {
|
||||
loading.value = true;
|
||||
dataList.value = [1];
|
||||
total.value = 15;
|
||||
loading.value = false;
|
||||
// listRole(queryParams.value).then(
|
||||
// (response) => {
|
||||
// dataList.value = response.rows;
|
||||
// total.value = response.total;
|
||||
// loading.value = false;
|
||||
// }
|
||||
// );
|
||||
expertProject(queryParams.value).then((response) => {
|
||||
dataList.value = response.data.data;
|
||||
total.value = response.data.count;
|
||||
loading.value = false;
|
||||
});
|
||||
}
|
||||
/** 搜索按钮操作 */
|
||||
function handleQuery() {
|
||||
@ -269,12 +251,26 @@ function resetQuery() {
|
||||
proxy.resetForm("queryRef");
|
||||
handleQuery();
|
||||
}
|
||||
function handleShelf(row) {
|
||||
let text = row.shelf_status == 2 ? "上架" : "下架";
|
||||
proxy.$modal
|
||||
.confirm('确认要"' + text + '""' + row.id + '"的数据吗?')
|
||||
.then(function () {
|
||||
let status = row.shelf_status == 1 ? 2 : 1;
|
||||
return projectShelf({ id: row.id, status });
|
||||
})
|
||||
.then(() => {
|
||||
getList();
|
||||
proxy.$modal.msgSuccess(text + "成功");
|
||||
})
|
||||
.catch(() => {});
|
||||
}
|
||||
/** 删除按钮操作 */
|
||||
function handleDelete(row) {
|
||||
proxy.$modal
|
||||
.confirm('是否确认删除数据编号为"' + row.id + '"的数据项?')
|
||||
.then(function () {
|
||||
return delRole(researchIds);
|
||||
return projectDelete({ id: row.id });
|
||||
})
|
||||
.then(() => {
|
||||
getList();
|
||||
@ -286,15 +282,15 @@ function handleDelete(row) {
|
||||
/** 重置新增的表单以及其他数据 */
|
||||
function reset() {
|
||||
form.value = {
|
||||
researchId: undefined,
|
||||
researchName: undefined,
|
||||
company: "1",
|
||||
funding: undefined,
|
||||
sources: undefined,
|
||||
beginTime: undefined,
|
||||
endTime: undefined,
|
||||
projectType: undefined,
|
||||
projectLeader: undefined,
|
||||
id: undefined,
|
||||
title: undefined,
|
||||
role: 1,
|
||||
amount: undefined,
|
||||
source: undefined,
|
||||
begin_at: undefined,
|
||||
finish_at: undefined,
|
||||
kind: undefined,
|
||||
director: undefined,
|
||||
};
|
||||
proxy.resetForm("roleRef");
|
||||
}
|
||||
@ -315,20 +311,20 @@ function handleUpdate(row) {
|
||||
function submitForm() {
|
||||
proxy.$refs["roleRef"].validate((valid) => {
|
||||
if (valid) {
|
||||
console.log(form.value);
|
||||
// if (form.value.researchId != undefined) {
|
||||
// updateRole(form.value).then((response) => {
|
||||
// proxy.$modal.msgSuccess("修改成功");
|
||||
// open.value = false;
|
||||
// getList();
|
||||
// });
|
||||
// } else {
|
||||
// addRole(form.value).then((response) => {
|
||||
// proxy.$modal.msgSuccess("新增成功");
|
||||
// open.value = false;
|
||||
// getList();
|
||||
// });
|
||||
// }
|
||||
form.value.amount = form.value.amount - 0;
|
||||
if (form.value.id != undefined) {
|
||||
projectEdit(form.value).then((response) => {
|
||||
proxy.$modal.msgSuccess("修改成功");
|
||||
open.value = false;
|
||||
getList();
|
||||
});
|
||||
} else {
|
||||
projectAdd(form.value).then((response) => {
|
||||
proxy.$modal.msgSuccess("新增成功");
|
||||
open.value = false;
|
||||
getList();
|
||||
});
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
|
Reference in New Issue
Block a user