已合作企业
This commit is contained in:
@ -5,7 +5,7 @@ VITE_APP_TITLE = pro管理系统
|
||||
VITE_APP_ENV = 'production'
|
||||
|
||||
# xxx管理系统/生产环境
|
||||
VITE_APP_BASE_API = '/api'
|
||||
VITE_APP_BASE_API = '/web/api'
|
||||
|
||||
# 是否在打包时开启压缩,支持 gzip 和 brotli
|
||||
VITE_BUILD_COMPRESS = gzip,brotli
|
@ -1,54 +1,82 @@
|
||||
import request from '@/utils/request';
|
||||
|
||||
// 专家 - 需求
|
||||
// 专家 - 服务需求
|
||||
export function demand(data) {
|
||||
return request({
|
||||
url: '/enterprise/v1/technology/demand',
|
||||
url: '/enterprise/v1/service/demand',
|
||||
method:'post',
|
||||
data
|
||||
});
|
||||
}
|
||||
// 专家 - 需求 -- 添加
|
||||
// 专家 - 服务需求 -- 添加
|
||||
export function demandAdd(data) {
|
||||
return request({
|
||||
url: '/enterprise/v1/technology/demand/add',
|
||||
url: '/enterprise/v1/service/demand/add',
|
||||
method:'post',
|
||||
data
|
||||
});
|
||||
}
|
||||
// 专家 - 需求 -- 修改
|
||||
// 专家 - 服务需求 -- 修改
|
||||
export function demandEdit(data) {
|
||||
return request({
|
||||
url: '/enterprise/v1/technology/demand/edit',
|
||||
url: '/enterprise/v1/service/demand/edit',
|
||||
method:'post',
|
||||
data
|
||||
});
|
||||
}
|
||||
// 专家 - 需求 -- 详情
|
||||
// 专家 - 服务需求 -- 详情
|
||||
export function demandDetail(data) {
|
||||
return request({
|
||||
url: '/enterprise/v1/technology/demand/detail',
|
||||
url: '/enterprise/v1/service/demand/detail',
|
||||
method:'post',
|
||||
data
|
||||
});
|
||||
}
|
||||
// 专家 - 需求 -- 删除
|
||||
// 专家 - 服务需求 -- 删除
|
||||
export function demandDelete(data) {
|
||||
return request({
|
||||
url: '/enterprise/v1/technology/demand/delete',
|
||||
url: '/enterprise/v1/service/demand/delete',
|
||||
method:'post',
|
||||
data
|
||||
});
|
||||
}
|
||||
// ------------------------------------------------------
|
||||
// 专家 - 合作
|
||||
export function expertCooperate(data) {
|
||||
// 专家 - 已合作/想合作 (1/2)
|
||||
export function enterprise(data) {
|
||||
return request({
|
||||
url: '',
|
||||
url: '/enterprise/v1/manage/enterprise',
|
||||
method:'post',
|
||||
data
|
||||
});
|
||||
}
|
||||
// 专家 - 已合作/想合作 -- 新增
|
||||
export function enterpriseAdd(data) {
|
||||
return request({
|
||||
url: '/enterprise/v1/manage/enterprise/add',
|
||||
method:'post',
|
||||
data
|
||||
});
|
||||
}
|
||||
// 专家 - 已合作/想合作 -- 修改
|
||||
export function enterpriseEdit(data) {
|
||||
return request({
|
||||
url: '/enterprise/v1/manage/enterprise/edit',
|
||||
method:'post',
|
||||
data
|
||||
});
|
||||
}
|
||||
// 专家 - 已合作/想合作 -- 删除
|
||||
export function enterpriseDelete(data) {
|
||||
return request({
|
||||
url: '/enterprise/v1/manage/enterprise/delete',
|
||||
method:'post',
|
||||
data
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
// 专家 - 合作详情
|
||||
export function cooperateDetail(data) {
|
||||
return request({
|
||||
|
@ -41,6 +41,14 @@ export function achievementDelete(data) {
|
||||
});
|
||||
}
|
||||
// -----------------------------------------------------------
|
||||
// 专家 - 专利 -- 下拉
|
||||
export function patentSelect(data) {
|
||||
return request({
|
||||
url: '/enterprise/v1/technology/patent/select',
|
||||
method:'post',
|
||||
data
|
||||
});
|
||||
}
|
||||
// 专家 - 专利
|
||||
export function expertPatent(data) {
|
||||
return request({
|
||||
@ -83,6 +91,14 @@ export function patentDelete(data) {
|
||||
});
|
||||
}
|
||||
// -----------------------------------------------------------
|
||||
// 专家 - 论文 -- 下拉
|
||||
export function paperSelect(data) {
|
||||
return request({
|
||||
url: '/enterprise/v1/technology/paper/select',
|
||||
method:'post',
|
||||
data
|
||||
});
|
||||
}
|
||||
// 专家 - 论文
|
||||
export function expertPaper(data) {
|
||||
return request({
|
||||
|
@ -15,21 +15,31 @@
|
||||
|
||||
<!-- 表格数据 -->
|
||||
<el-table v-loading="loading" :data="dataList">
|
||||
<el-table-column label="数据编号" prop="researchId" />
|
||||
<el-table-column label="数据编号" prop="id" width="150" />
|
||||
<el-table-column
|
||||
label="合作企业名称"
|
||||
prop="researchName"
|
||||
:show-overflow-tooltip="true"
|
||||
align="center"
|
||||
prop="name"
|
||||
show-overflow-tooltip
|
||||
width="200"
|
||||
/>
|
||||
<el-table-column
|
||||
label="关联论文(2)"
|
||||
prop="roleKey"
|
||||
:show-overflow-tooltip="true"
|
||||
/>
|
||||
<el-table-column label="关联论文(1)" prop="roleSort" />
|
||||
<el-table-column label="创建日期" align="center" prop="createTime">
|
||||
<el-table-column label="关联论文" align="center" prop="paper_title">
|
||||
<template #default="scope">
|
||||
<span>{{ parseTime(scope.row.createTime) }}</span>
|
||||
<div v-for="(item, index) in scope.row.paper_title" :key="index">
|
||||
<div class="ellipsis" v-if="index <= 2">{{ item }}</div>
|
||||
</div>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="关联专利" align="center" prop="patent_title">
|
||||
<template #default="scope">
|
||||
<div v-for="(item, index) in scope.row.patent_title" :key="index">
|
||||
<div class="ellipsis text-left" v-if="index <= 2">{{ item }}</div>
|
||||
</div>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<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
|
||||
@ -65,41 +75,67 @@
|
||||
/>
|
||||
|
||||
<!-- 添加或修改数据配置对话框 -->
|
||||
<el-dialog :title="title" v-model="open" width="500px" append-to-body>
|
||||
<el-form ref="roleRef" :model="form" :rules="rules" label-width="100px">
|
||||
<el-form-item label="企业名称:" prop="researchName">
|
||||
<el-input v-model="form.researchName" placeholder="请输入企业名称" />
|
||||
<el-dialog
|
||||
:title="title"
|
||||
v-model="open"
|
||||
width="500px"
|
||||
:close-on-click-modal="false"
|
||||
append-to-body
|
||||
>
|
||||
<el-form
|
||||
ref="alreadyRef"
|
||||
:model="form"
|
||||
:rules="rules"
|
||||
label-width="100px"
|
||||
>
|
||||
<el-form-item label="企业名称:" prop="name">
|
||||
<el-input v-model="form.name" placeholder="请输入企业名称" />
|
||||
</el-form-item>
|
||||
<el-form-item label="关联论文:" prop="projectType">
|
||||
<el-form-item label="关联论文:" prop="papers">
|
||||
<el-select
|
||||
ref="selectDom"
|
||||
style="width: 100%"
|
||||
v-model="form.projectType"
|
||||
v-model="form.papers"
|
||||
value-key="id"
|
||||
multiple
|
||||
filterable
|
||||
remote
|
||||
reserve-keyword
|
||||
:remote-method="paperMethod"
|
||||
:loading="paperSelectLoading"
|
||||
placeholder="请选择关联论文"
|
||||
>
|
||||
<!-- <el-option
|
||||
v-for="item in options"
|
||||
:key="item.value"
|
||||
:label="item.label"
|
||||
:value="item.value"
|
||||
<el-option
|
||||
style="max-width: 360px"
|
||||
v-for="item in paperOptions"
|
||||
:key="item.id"
|
||||
:label="item.title"
|
||||
:value="item"
|
||||
>
|
||||
</el-option> -->
|
||||
</el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="关联专利:" prop="projectLeader">
|
||||
<el-form-item label="关联专利:" prop="patents">
|
||||
<el-select
|
||||
style="width: 100%"
|
||||
v-model="form.projectLeader"
|
||||
v-model="form.patents"
|
||||
value-key="id"
|
||||
multiple
|
||||
filterable
|
||||
remote
|
||||
reserve-keyword
|
||||
:remote-method="patentMethod"
|
||||
:loading="patentSelectLoading"
|
||||
placeholder="请选择关联专利"
|
||||
>
|
||||
<!-- <el-option
|
||||
v-for="item in options"
|
||||
:key="item.value"
|
||||
:label="item.label"
|
||||
:value="item.value"
|
||||
<el-option
|
||||
style="max-width: 360px"
|
||||
v-for="item in patentOptions"
|
||||
:key="item.id"
|
||||
:label="item.title"
|
||||
:value="item"
|
||||
>
|
||||
</el-option> -->
|
||||
</el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
@ -114,9 +150,14 @@
|
||||
</template>
|
||||
|
||||
<script setup>
|
||||
import { expertCooperate } from "@/api/admin/expert/demand";
|
||||
|
||||
import { addRole, delRole, updateRole } from "@/api/system/role";
|
||||
import {
|
||||
enterprise,
|
||||
enterpriseAdd,
|
||||
enterpriseDelete,
|
||||
enterpriseEdit,
|
||||
} from "@/api/admin/expert/demand";
|
||||
// 专利,论文
|
||||
import { patentSelect, paperSelect } from "@/api/admin/expert/technology";
|
||||
|
||||
const router = useRouter();
|
||||
const { proxy } = getCurrentInstance();
|
||||
@ -133,13 +174,11 @@ const data = reactive({
|
||||
queryParams: {
|
||||
page_num: 1,
|
||||
page_size: 10,
|
||||
researchName: undefined,
|
||||
mode: 1,
|
||||
},
|
||||
rules: {
|
||||
researchName: [
|
||||
{ required: true, message: "企业名称不能为空", trigger: "blur" },
|
||||
],
|
||||
projectType: [
|
||||
name: [{ required: true, message: "企业名称不能为空", trigger: "blur" }],
|
||||
papers: [
|
||||
{
|
||||
type: "array",
|
||||
required: true,
|
||||
@ -147,7 +186,7 @@ const data = reactive({
|
||||
trigger: ["blur", "change"],
|
||||
},
|
||||
],
|
||||
projectLeader: [
|
||||
patents: [
|
||||
{
|
||||
type: "array",
|
||||
required: true,
|
||||
@ -157,20 +196,48 @@ const data = reactive({
|
||||
],
|
||||
},
|
||||
});
|
||||
|
||||
const { queryParams, form, rules } = toRefs(data);
|
||||
// 论文
|
||||
const paperOptions = ref([]);
|
||||
const paperSelectLoading = ref(false);
|
||||
const paperMethod = (title) => {
|
||||
if (title) {
|
||||
paperSelectLoading.value = true;
|
||||
paperSelect({ title }).then((res) => {
|
||||
paperSelectLoading.value = false;
|
||||
paperOptions.value = res.data;
|
||||
});
|
||||
} else {
|
||||
paperOptions.value = [];
|
||||
}
|
||||
};
|
||||
// 专利
|
||||
const patentOptions = ref([]);
|
||||
const patentSelectLoading = ref(false);
|
||||
const patentMethod = (title) => {
|
||||
if (title) {
|
||||
patentSelectLoading.value = true;
|
||||
patentSelect({ title }).then((res) => {
|
||||
patentSelectLoading.value = false;
|
||||
patentOptions.value = res.data;
|
||||
});
|
||||
} else {
|
||||
patentOptions.value = [];
|
||||
}
|
||||
};
|
||||
|
||||
/** 查询数据列表 */
|
||||
function getList() {
|
||||
loading.value = true;
|
||||
dataList.value = [1];
|
||||
total.value = 15;
|
||||
enterprise(queryParams.value).then((response) => {
|
||||
response.data.data.map((item) => {
|
||||
item.paper_title = item.paper_title.split("&&");
|
||||
item.patent_title = item.patent_title.split("&&");
|
||||
});
|
||||
dataList.value = response.data.data;
|
||||
total.value = response.data.count;
|
||||
loading.value = false;
|
||||
// expertCooperate(queryParams.value).then((response) => {
|
||||
// dataList.value = response.data.data;
|
||||
// total.value = response.data.count;
|
||||
// loading.value = false;
|
||||
// });
|
||||
});
|
||||
}
|
||||
/** 搜索按钮操作 */
|
||||
function handleQuery() {
|
||||
@ -187,7 +254,7 @@ function handleDelete(row) {
|
||||
proxy.$modal
|
||||
.confirm('是否确认删除数据编号为"' + row.id + '"的数据项?')
|
||||
.then(function () {
|
||||
return delRole(researchIds);
|
||||
return enterpriseDelete({ id: row.id });
|
||||
})
|
||||
.then(() => {
|
||||
getList();
|
||||
@ -199,12 +266,13 @@ function handleDelete(row) {
|
||||
/** 重置新增的表单以及其他数据 */
|
||||
function reset() {
|
||||
form.value = {
|
||||
researchId: undefined,
|
||||
researchName: undefined,
|
||||
projectType: [],
|
||||
projectLeader: [],
|
||||
id: undefined,
|
||||
name: undefined,
|
||||
mode: 1,
|
||||
papers: [],
|
||||
patents: [],
|
||||
};
|
||||
proxy.resetForm("roleRef");
|
||||
proxy.resetForm("alreadyRef");
|
||||
}
|
||||
/** 添加数据 */
|
||||
function handleAdd() {
|
||||
@ -214,29 +282,60 @@ function handleAdd() {
|
||||
}
|
||||
/** 修改数据 */
|
||||
function handleUpdate(row) {
|
||||
reset();
|
||||
form.value = Object.assign({}, row);
|
||||
// reset();
|
||||
let formData = Object.assign({}, row);
|
||||
let papers = [];
|
||||
let patents = [];
|
||||
formData.papers.map((item, index) => {
|
||||
papers.push({
|
||||
id: item,
|
||||
title: formData.paper_title[index],
|
||||
});
|
||||
});
|
||||
formData.patents.map((item, index) => {
|
||||
patents.push({
|
||||
id: item,
|
||||
title: formData.patent_title[index],
|
||||
});
|
||||
});
|
||||
paperOptions.value = formData.papers = papers;
|
||||
patentOptions.value = formData.patents = patents;
|
||||
form.value = formData;
|
||||
open.value = true;
|
||||
title.value = "修改数据";
|
||||
|
||||
nextTick(() => {
|
||||
console.log(proxy.$refs["selectDom"]); // .cachedOptions
|
||||
});
|
||||
}
|
||||
/** 提交按钮 */
|
||||
function submitForm() {
|
||||
proxy.$refs["roleRef"].validate((valid) => {
|
||||
proxy.$refs["alreadyRef"].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();
|
||||
// });
|
||||
// }
|
||||
let formData = Object.assign({}, form.value);
|
||||
let papers = [];
|
||||
let patents = [];
|
||||
formData.papers.map((item) => {
|
||||
papers.push(item.id);
|
||||
});
|
||||
formData.patents.map((item) => {
|
||||
patents.push(item.id);
|
||||
});
|
||||
formData.papers = papers;
|
||||
formData.patents = patents;
|
||||
if (form.value.id != undefined) {
|
||||
enterpriseEdit(formData).then((response) => {
|
||||
proxy.$modal.msgSuccess("修改成功");
|
||||
open.value = false;
|
||||
getList();
|
||||
});
|
||||
} else {
|
||||
enterpriseAdd(formData).then((response) => {
|
||||
proxy.$modal.msgSuccess("新增成功");
|
||||
open.value = false;
|
||||
getList();
|
||||
});
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
|
@ -17,9 +17,9 @@
|
||||
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="1">待受理</el-radio-button>
|
||||
<el-radio-button :label="2">已受理</el-radio-button>
|
||||
<el-radio-button :label="3">已结束</el-radio-button>
|
||||
</el-radio-group>
|
||||
|
||||
<el-table v-loading="loading" :data="postList" style="margin-top: 20px">
|
||||
@ -103,10 +103,9 @@ const dateRange = ref([]);
|
||||
const data = reactive({
|
||||
form: {},
|
||||
queryParams: {
|
||||
pageNum: 1,
|
||||
pageSize: 10,
|
||||
postCode: undefined,
|
||||
type: "1",
|
||||
page_num: 1,
|
||||
page_size: 10,
|
||||
type: 1,
|
||||
},
|
||||
rules: {
|
||||
name: [{ required: true, message: "公司名称不能为空", trigger: "blur" }],
|
||||
@ -137,18 +136,13 @@ const { queryParams, form, rules } = toRefs(data);
|
||||
|
||||
/** 查询列表 */
|
||||
function getList() {
|
||||
// console.log(proxy.addDateRange(queryParams.value, dateRange.value));
|
||||
postList.value = [1];
|
||||
total.value = 15;
|
||||
loading.value = true;
|
||||
demand(queryParams.value).then((response) => {
|
||||
console.log(response);
|
||||
// postList.value = response.data.data;
|
||||
// total.value = response.data.count;
|
||||
loading.value = false;
|
||||
// loading.value = true;
|
||||
// demand(proxy.addDateRange(queryParams.value, dateRange.value)).then(
|
||||
// (response) => {
|
||||
// postList.value = response.rows;
|
||||
// total.value = response.total;
|
||||
// loading.value = false;
|
||||
// }
|
||||
// );
|
||||
});
|
||||
}
|
||||
/** 搜索按钮操作 */
|
||||
function handleQuery() {
|
||||
|
@ -58,6 +58,7 @@
|
||||
<div>快捷功能</div>
|
||||
</template>
|
||||
<div class="card_body">
|
||||
<router-link to="/technology/release">
|
||||
<div class="card_item">
|
||||
<img
|
||||
style="width: 70px; height: 70px; border-radius: 50%"
|
||||
@ -65,6 +66,8 @@
|
||||
/>
|
||||
<div>发布成果</div>
|
||||
</div>
|
||||
</router-link>
|
||||
<router-link to="/demand/release">
|
||||
<div class="card_item">
|
||||
<img
|
||||
style="width: 70px; height: 70px; border-radius: 50%"
|
||||
@ -72,6 +75,7 @@
|
||||
/>
|
||||
<div>发布需求</div>
|
||||
</div>
|
||||
</router-link>
|
||||
</div>
|
||||
</el-card>
|
||||
|
||||
|
@ -27,6 +27,7 @@ export default defineConfig(({ mode, command }) => {
|
||||
'/api': {
|
||||
// target: 'http://localhost:8080',
|
||||
target: 'http://192.168.0.149:8000',
|
||||
// target: 'http://101.34.131.16:8000',
|
||||
// target: 'http://zky.server.ipeace.org.cn',
|
||||
changeOrigin: true,
|
||||
rewrite: (p) => p.replace(/^\/api/, '/api')
|
||||
|
Reference in New Issue
Block a user