专家成果编辑操作
This commit is contained in:
10
src/api/admin/expert/activity.js
Normal file
10
src/api/admin/expert/activity.js
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
import request from '@/utils/request';
|
||||||
|
|
||||||
|
// 专家 - 活动列表
|
||||||
|
export function activityList(data) {
|
||||||
|
return request({
|
||||||
|
url: '/enterprise/v1/activity/joins',
|
||||||
|
method:'post',
|
||||||
|
data
|
||||||
|
});
|
||||||
|
}
|
@ -28,7 +28,7 @@ import './permission' // permission control
|
|||||||
|
|
||||||
import { useDict } from '@/utils/dict'
|
import { useDict } from '@/utils/dict'
|
||||||
import { parseTime, resetForm, addDateRange, handleTree, selectDictLabel } from '@/utils/ruoyi'
|
import { parseTime, resetForm, addDateRange, handleTree, selectDictLabel } from '@/utils/ruoyi'
|
||||||
import { modeOptions, educationOptions, enterpriseOptions ,maturityOptions,leadOptions,patentOptions} from '@/utils/parameter'
|
import { modeOptions, educationOptions, enterpriseOptions ,maturityOptions,leadOptions,patentOptions,cooperationOptions} from '@/utils/parameter'
|
||||||
|
|
||||||
// 分页组件
|
// 分页组件
|
||||||
import Pagination from '@/components/Pagination'
|
import Pagination from '@/components/Pagination'
|
||||||
@ -65,6 +65,7 @@ app.config.globalProperties.enterpriseOptions = enterpriseOptions
|
|||||||
app.config.globalProperties.maturityOptions = maturityOptions
|
app.config.globalProperties.maturityOptions = maturityOptions
|
||||||
app.config.globalProperties.leadOptions = leadOptions
|
app.config.globalProperties.leadOptions = leadOptions
|
||||||
app.config.globalProperties.patentOptions = patentOptions
|
app.config.globalProperties.patentOptions = patentOptions
|
||||||
|
app.config.globalProperties.cooperationOptions = cooperationOptions
|
||||||
app.config.globalProperties.md5 = md5;
|
app.config.globalProperties.md5 = md5;
|
||||||
|
|
||||||
// 全局组件挂载
|
// 全局组件挂载
|
||||||
|
@ -55,4 +55,15 @@ export const patentOptions = [
|
|||||||
{ key: 2, value: '外观设计' },
|
{ key: 2, value: '外观设计' },
|
||||||
{ key: 3, value: '实用新型' },
|
{ key: 3, value: '实用新型' },
|
||||||
]
|
]
|
||||||
|
// 合作模式
|
||||||
|
export const cooperationOptions = [
|
||||||
|
{ key: 101, value: '技术转让' },
|
||||||
|
{ key: 102, value: '技术许可' },
|
||||||
|
{ key: 103, value: '技术入股' },
|
||||||
|
{ key: 104, value: '合作开发' },
|
||||||
|
{ key: 105, value: '融资' },
|
||||||
|
{ key: 106, value: '公司' },
|
||||||
|
{ key: 107, value: '代理加盟' },
|
||||||
|
{ key: 108, value: '市场推广' },
|
||||||
|
{ key: 109, value: '其他' },
|
||||||
|
]
|
||||||
|
@ -6,9 +6,9 @@
|
|||||||
v-show="showSearch"
|
v-show="showSearch"
|
||||||
:inline="true"
|
:inline="true"
|
||||||
>
|
>
|
||||||
<el-form-item label="活动名称" prop="researchName">
|
<el-form-item label="活动名称" prop="title">
|
||||||
<el-input
|
<el-input
|
||||||
v-model="queryParams.researchName"
|
v-model="queryParams.title"
|
||||||
placeholder="请输入活动名称"
|
placeholder="请输入活动名称"
|
||||||
clearable
|
clearable
|
||||||
size="small"
|
size="small"
|
||||||
@ -16,11 +16,12 @@
|
|||||||
@keyup.enter="handleQuery"
|
@keyup.enter="handleQuery"
|
||||||
/>
|
/>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="活动状态" prop="type">
|
<el-form-item label="活动状态" prop="status">
|
||||||
<el-select v-model="queryParams.type" placeholder="请选择">
|
<el-select v-model="queryParams.status" placeholder="请选择">
|
||||||
<el-option label="未开始" value="1"></el-option>
|
<!-- 1:未开始,2:进行中,3:随便 -->
|
||||||
<el-option label="进行中" value="2"></el-option>
|
<el-option label="未开始" :value="1"></el-option>
|
||||||
<el-option label="已结束" value="3"></el-option>
|
<el-option label="进行中" :value="2"></el-option>
|
||||||
|
<el-option label="已结束" :value="3"></el-option>
|
||||||
</el-select>
|
</el-select>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item>
|
<el-form-item>
|
||||||
@ -38,7 +39,7 @@
|
|||||||
<el-table-column label="数据编号" prop="researchId" />
|
<el-table-column label="数据编号" prop="researchId" />
|
||||||
<el-table-column
|
<el-table-column
|
||||||
label="活动名称"
|
label="活动名称"
|
||||||
prop="researchName"
|
prop="title"
|
||||||
:show-overflow-tooltip="true"
|
:show-overflow-tooltip="true"
|
||||||
/>
|
/>
|
||||||
<el-table-column
|
<el-table-column
|
||||||
@ -68,9 +69,11 @@
|
|||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column label="状态" align="center" prop="status">
|
<el-table-column label="状态" align="center" prop="status">
|
||||||
<template #default="scope">
|
<template #default="scope">
|
||||||
<el-tag type="info">未开始</el-tag>
|
<el-tag type="info" v-if="scope.row.status == 1">未开始</el-tag>
|
||||||
<el-tag type="success">进行中</el-tag>
|
<el-tag type="success" v-else-if="scope.row.status == 2">
|
||||||
<el-tag type="danger">已结束</el-tag>
|
进行中
|
||||||
|
</el-tag>
|
||||||
|
<el-tag type="danger" v-else>已结束</el-tag>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
</el-table>
|
</el-table>
|
||||||
@ -78,8 +81,8 @@
|
|||||||
<pagination
|
<pagination
|
||||||
v-show="total > 0"
|
v-show="total > 0"
|
||||||
:total="total"
|
:total="total"
|
||||||
v-model:page="queryParams.pageNum"
|
v-model:page="queryParams.page_num"
|
||||||
v-model:limit="queryParams.pageSize"
|
v-model:limit="queryParams.page_size"
|
||||||
@pagination="getList"
|
@pagination="getList"
|
||||||
/>
|
/>
|
||||||
|
|
||||||
@ -129,23 +132,7 @@
|
|||||||
<script setup>
|
<script setup>
|
||||||
import CityOptions from "@/views/identity/components/CityOptions";
|
import CityOptions from "@/views/identity/components/CityOptions";
|
||||||
import FieldSingle from "@/views/identity/components/FieldSingle";
|
import FieldSingle from "@/views/identity/components/FieldSingle";
|
||||||
import {
|
import { activityList } from "@/api/admin/expert/activity";
|
||||||
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";
|
|
||||||
|
|
||||||
const router = useRouter();
|
const router = useRouter();
|
||||||
const { proxy } = getCurrentInstance();
|
const { proxy } = getCurrentInstance();
|
||||||
@ -164,10 +151,10 @@ const formData = reactive({
|
|||||||
const data = reactive({
|
const data = reactive({
|
||||||
form: {},
|
form: {},
|
||||||
queryParams: {
|
queryParams: {
|
||||||
pageNum: 1,
|
page_num: 1,
|
||||||
pageSize: 10,
|
page_size: 10,
|
||||||
researchName: undefined,
|
title: undefined,
|
||||||
type: undefined,
|
status: undefined,
|
||||||
},
|
},
|
||||||
rules: {
|
rules: {
|
||||||
name: [{ required: true, message: "活动名称不能为空", trigger: "blur" }],
|
name: [{ required: true, message: "活动名称不能为空", trigger: "blur" }],
|
||||||
@ -183,20 +170,15 @@ const { queryParams, form, rules } = toRefs(data);
|
|||||||
/** 查询数据列表 */
|
/** 查询数据列表 */
|
||||||
function getList() {
|
function getList() {
|
||||||
loading.value = true;
|
loading.value = true;
|
||||||
dataList.value = [1];
|
activityList(queryParams.value).then((response) => {
|
||||||
total.value = 15;
|
dataList.value = response.data.data;
|
||||||
|
total.value = response.data.count;
|
||||||
loading.value = false;
|
loading.value = false;
|
||||||
// listRole(queryParams.value).then(
|
});
|
||||||
// (response) => {
|
|
||||||
// dataList.value = response.rows;
|
|
||||||
// total.value = response.total;
|
|
||||||
// loading.value = false;
|
|
||||||
// }
|
|
||||||
// );
|
|
||||||
}
|
}
|
||||||
/** 搜索按钮操作 */
|
/** 搜索按钮操作 */
|
||||||
function handleQuery() {
|
function handleQuery() {
|
||||||
queryParams.value.pageNum = 1;
|
queryParams.value.page_num = 1;
|
||||||
getList();
|
getList();
|
||||||
}
|
}
|
||||||
/** 重置按钮操作 */
|
/** 重置按钮操作 */
|
||||||
@ -204,19 +186,6 @@ function resetQuery() {
|
|||||||
proxy.resetForm("queryRef");
|
proxy.resetForm("queryRef");
|
||||||
handleQuery();
|
handleQuery();
|
||||||
}
|
}
|
||||||
/** 删除按钮操作 */
|
|
||||||
function handleDelete(row) {
|
|
||||||
proxy.$modal
|
|
||||||
.confirm('是否确认删除数据编号为"' + row.id + '"的数据项?')
|
|
||||||
.then(function () {
|
|
||||||
return delRole(researchIds);
|
|
||||||
})
|
|
||||||
.then(() => {
|
|
||||||
getList();
|
|
||||||
proxy.$modal.msgSuccess("删除成功");
|
|
||||||
})
|
|
||||||
.catch(() => {});
|
|
||||||
}
|
|
||||||
|
|
||||||
/** 重置新增的表单以及其他数据 */
|
/** 重置新增的表单以及其他数据 */
|
||||||
function reset() {
|
function reset() {
|
||||||
|
@ -62,14 +62,6 @@
|
|||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
</el-row>
|
</el-row>
|
||||||
<!-- <CityOptions v-model="modelValue" :labelWidth="labelWidth" ref="cityForm" />
|
|
||||||
<el-row>
|
|
||||||
<el-col :span="24">
|
|
||||||
<el-form-item label="详细地址:">
|
|
||||||
<el-input v-model="modelValue.address"></el-input>
|
|
||||||
</el-form-item>
|
|
||||||
</el-col>
|
|
||||||
</el-row> -->
|
|
||||||
|
|
||||||
<FieldOptions
|
<FieldOptions
|
||||||
v-model="modelValue"
|
v-model="modelValue"
|
||||||
@ -83,7 +75,7 @@
|
|||||||
title="应用客户"
|
title="应用客户"
|
||||||
placeholder="请输入应用客户"
|
placeholder="请输入应用客户"
|
||||||
fieldKey="customer"
|
fieldKey="customer"
|
||||||
ref="directionsForm"
|
ref="customerForm"
|
||||||
/>
|
/>
|
||||||
|
|
||||||
<el-row>
|
<el-row>
|
||||||
@ -92,7 +84,7 @@
|
|||||||
<el-select
|
<el-select
|
||||||
v-model="modelValue.maturity"
|
v-model="modelValue.maturity"
|
||||||
clearable
|
clearable
|
||||||
placeholder="请选择"
|
placeholder="请选择成果成熟度"
|
||||||
>
|
>
|
||||||
<el-option
|
<el-option
|
||||||
v-for="item in maturityOptions"
|
v-for="item in maturityOptions"
|
||||||
@ -111,7 +103,7 @@
|
|||||||
<el-select
|
<el-select
|
||||||
v-model="modelValue.lead_standard"
|
v-model="modelValue.lead_standard"
|
||||||
clearable
|
clearable
|
||||||
placeholder="请选择"
|
placeholder="请选择成果领先性"
|
||||||
>
|
>
|
||||||
<el-option
|
<el-option
|
||||||
v-for="item in leadOptions"
|
v-for="item in leadOptions"
|
||||||
@ -126,12 +118,19 @@
|
|||||||
</el-row>
|
</el-row>
|
||||||
<el-row>
|
<el-row>
|
||||||
<el-col :span="24">
|
<el-col :span="24">
|
||||||
<el-form-item label="合作模式:" prop="lead_standard">
|
<el-form-item label="合作模式:">
|
||||||
<el-select
|
<el-select
|
||||||
v-model="modelValue.province"
|
v-model="modelValue.cooperation_mode"
|
||||||
clearable
|
clearable
|
||||||
placeholder="请选择"
|
placeholder="请选择合作模式"
|
||||||
>
|
>
|
||||||
|
<el-option
|
||||||
|
v-for="item in cooperationOptions"
|
||||||
|
:key="item.key"
|
||||||
|
:label="item.value"
|
||||||
|
:value="item.key"
|
||||||
|
>
|
||||||
|
</el-option>
|
||||||
</el-select>
|
</el-select>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
@ -153,28 +152,24 @@
|
|||||||
title="关键词"
|
title="关键词"
|
||||||
placeholder="请输入关键词"
|
placeholder="请输入关键词"
|
||||||
fieldKey="keywords"
|
fieldKey="keywords"
|
||||||
ref="directionsForm"
|
ref="keywordsForm"
|
||||||
/>
|
/>
|
||||||
|
|
||||||
<el-row>
|
<el-row>
|
||||||
<el-col :span="24">
|
<el-col :span="24">
|
||||||
<el-form-item label="成果简介:" prop="introduce">
|
<el-form-item label="成果简介:" prop="description">
|
||||||
<Editor
|
<el-input
|
||||||
v-model="modelValue.introduce"
|
v-model="modelValue.description"
|
||||||
:minHeight="150"
|
type="textarea"
|
||||||
ref="introduceRef"
|
:autosize="{ minRows: 2, maxRows: 8 }"
|
||||||
/>
|
/>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
</el-row>
|
</el-row>
|
||||||
<el-row v-if="modelValue.mode == 1">
|
<el-row v-if="modelValue.mode == 1">
|
||||||
<el-col :span="24">
|
<el-col :span="24">
|
||||||
<el-form-item label="成果来源:" prop="introduce">
|
<el-form-item label="成果来源:">
|
||||||
<Editor
|
<Editor v-model="modelValue.introduce" :minHeight="150" />
|
||||||
v-model="modelValue.introduce"
|
|
||||||
:minHeight="150"
|
|
||||||
ref="introduceRef"
|
|
||||||
/>
|
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
</el-row>
|
</el-row>
|
||||||
@ -194,7 +189,7 @@
|
|||||||
</p>
|
</p>
|
||||||
<el-row>
|
<el-row>
|
||||||
<el-col :span="24">
|
<el-col :span="24">
|
||||||
<el-form-item label="成熟度证明材料:" prop="file">
|
<el-form-item label="成熟度证明材料:">
|
||||||
<FileUpload
|
<FileUpload
|
||||||
v-model="modelValue.file"
|
v-model="modelValue.file"
|
||||||
:limit="1"
|
:limit="1"
|
||||||
@ -234,52 +229,14 @@ export default {
|
|||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
rules: {
|
rules: {
|
||||||
product: [{ required: true, message: "请输入", trigger: "blur" }],
|
|
||||||
title: [{ required: true, message: "请输入", trigger: "blur" }],
|
title: [{ required: true, message: "请输入", trigger: "blur" }],
|
||||||
kind: [{ required: true, message: "请选择", trigger: "change" }],
|
|
||||||
code: [{ required: true, message: "请输入", trigger: "blur" }],
|
|
||||||
mobile: [
|
|
||||||
{ required: true, message: "请输入", trigger: "blur" },
|
|
||||||
{
|
|
||||||
pattern: /^1[3|4|5|6|7|8|9][0-9]\d{8}$/,
|
|
||||||
message: "请输入正确的手机号码",
|
|
||||||
trigger: "blur",
|
|
||||||
},
|
|
||||||
],
|
|
||||||
research_id: [{ required: true, message: "请选择", trigger: "change" }],
|
|
||||||
maturity: [{ required: true, message: "请选择", trigger: "change" }],
|
maturity: [{ required: true, message: "请选择", trigger: "change" }],
|
||||||
tenant_id: [
|
|
||||||
{
|
|
||||||
required: true,
|
|
||||||
message: "请选择",
|
|
||||||
trigger: ["blur", "change"],
|
|
||||||
},
|
|
||||||
],
|
|
||||||
school: [{ required: true, message: "请输入", trigger: "blur" }],
|
|
||||||
education: [{ required: true, message: "请选择", trigger: "change" }],
|
|
||||||
major: [{ required: true, message: "请输入", trigger: "blur" }],
|
|
||||||
job: [{ required: true, message: "请输入", trigger: "blur" }],
|
|
||||||
title: [{ required: true, message: "请输入", trigger: "blur" }],
|
|
||||||
work_at: [
|
|
||||||
{
|
|
||||||
required: true,
|
|
||||||
message: "从业时间不能为空",
|
|
||||||
trigger: ["change", "blur"],
|
|
||||||
},
|
|
||||||
],
|
|
||||||
lead_standard: [
|
lead_standard: [
|
||||||
{
|
{ required: true, message: "请选择", trigger: "change" },
|
||||||
required: true,
|
|
||||||
message: "请上传",
|
|
||||||
trigger: ["blur", "change"],
|
|
||||||
},
|
|
||||||
],
|
],
|
||||||
introduce: [
|
description: [{ required: true, message: "请输入", trigger: "blur" }],
|
||||||
{
|
image: [
|
||||||
required: true,
|
{ required: true, message: "请上传", trigger: ["change", "blur"] },
|
||||||
message: "请输入",
|
|
||||||
trigger: ["change", "blur"],
|
|
||||||
},
|
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
@ -288,10 +245,10 @@ export default {
|
|||||||
submitForm() {
|
submitForm() {
|
||||||
let flag = false;
|
let flag = false;
|
||||||
this.$refs["formRef"].validate((valid) => {
|
this.$refs["formRef"].validate((valid) => {
|
||||||
const cityForm = this.$refs.cityForm.submitForm(); // 城市
|
|
||||||
const fieldForm = this.$refs.fieldForm.submitForm();
|
const fieldForm = this.$refs.fieldForm.submitForm();
|
||||||
const directionsForm = this.$refs.directionsForm.submitForm();
|
const customerForm = this.$refs.customerForm.submitForm();
|
||||||
if (valid && cityForm && fieldForm && directionsForm) {
|
const keywordsForm = this.$refs.keywordsForm.submitForm();
|
||||||
|
if (valid && fieldForm && customerForm && keywordsForm) {
|
||||||
flag = !flag;
|
flag = !flag;
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
@ -76,8 +76,8 @@
|
|||||||
<pagination
|
<pagination
|
||||||
v-show="total > 0"
|
v-show="total > 0"
|
||||||
:total="total"
|
:total="total"
|
||||||
v-model:page="queryParams.pageNum"
|
v-model:page="queryParams.page_num"
|
||||||
v-model:limit="queryParams.pageSize"
|
v-model:limit="queryParams.page_size"
|
||||||
@pagination="getList"
|
@pagination="getList"
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
@ -144,7 +144,7 @@ function getList() {
|
|||||||
}
|
}
|
||||||
/** 搜索按钮操作 */
|
/** 搜索按钮操作 */
|
||||||
function handleQuery() {
|
function handleQuery() {
|
||||||
queryParams.value.pageNum = 1;
|
queryParams.value.page_num = 1;
|
||||||
getList();
|
getList();
|
||||||
}
|
}
|
||||||
/** 重置按钮操作 */
|
/** 重置按钮操作 */
|
||||||
|
@ -20,16 +20,26 @@ import ReleaseForm from "../components/ReleaseForm";
|
|||||||
const { proxy } = getCurrentInstance();
|
const { proxy } = getCurrentInstance();
|
||||||
const labelWidth = 140;
|
const labelWidth = 140;
|
||||||
const form = reactive({
|
const form = reactive({
|
||||||
|
id: undefined,
|
||||||
mode: 1,
|
mode: 1,
|
||||||
});
|
});
|
||||||
|
const route = useRoute();
|
||||||
|
const { id } = route.query;
|
||||||
|
if (id) {
|
||||||
|
// 编辑操作
|
||||||
|
form.id = id;
|
||||||
|
// achievementDetail({ id }).then((res) => {
|
||||||
|
// console.log(res);
|
||||||
|
// });
|
||||||
|
}
|
||||||
|
|
||||||
function submitForm(is_submit) {
|
function submitForm(is_submit) {
|
||||||
form["is_submit"] = is_submit;
|
form["is_submit"] = is_submit;
|
||||||
if (proxy.$refs.releaseForm.submitForm()) {
|
if (proxy.$refs.releaseForm.submitForm()) {
|
||||||
console.log(form);
|
achievementAdd(form).then((res) => {
|
||||||
// achievementAdd(form).then((res) => {
|
proxy.$modal.msgSuccess("新增成功");
|
||||||
// proxy.$modal.msgSuccess("新增成功");
|
proxy.$router.go(-1);
|
||||||
// proxy.$router.go(-1);
|
});
|
||||||
// });
|
|
||||||
} else {
|
} else {
|
||||||
console.log("校验未通过");
|
console.log("校验未通过");
|
||||||
}
|
}
|
||||||
|
@ -219,6 +219,7 @@ getCookie();
|
|||||||
|
|
||||||
.login-form {
|
.login-form {
|
||||||
width: 516px;
|
width: 516px;
|
||||||
|
min-width: 455px;
|
||||||
height: 517px;
|
height: 517px;
|
||||||
background: #ffffff;
|
background: #ffffff;
|
||||||
box-sizing: border-box;
|
box-sizing: border-box;
|
||||||
|
Reference in New Issue
Block a user