专家成果编辑操作

This commit is contained in:
熊丽君
2022-03-21 13:39:30 +08:00
parent 640e70894c
commit 766d9e2484
8 changed files with 99 additions and 140 deletions

View File

@ -0,0 +1,10 @@
import request from '@/utils/request';
// 专家 - 活动列表
export function activityList(data) {
return request({
url: '/enterprise/v1/activity/joins',
method:'post',
data
});
}

View File

@ -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;
// 全局组件挂载 // 全局组件挂载

View File

@ -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: '其他' },
]

View File

@ -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() {

View File

@ -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;
} }
}); });

View File

@ -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();
} }
/** 重置按钮操作 */ /** 重置按钮操作 */

View File

@ -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("校验未通过");
} }

View File

@ -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;