This commit is contained in:
熊丽君
2021-07-20 09:54:22 +08:00
parent 755acb7c8a
commit 916685aa02
9 changed files with 920 additions and 49 deletions

View File

@ -0,0 +1,165 @@
<template>
<div class="app-container">
<div>{{ editPage ? '修改' : '添加' }}成果</div>
<el-form
style="width:50%;margin:15px 0 0 15px"
label-position="left"
:model="ruleForm"
:rules="rules"
ref="ruleForm"
label-width="80px"
>
<el-form-item label="成果标题" prop="title">
<el-input placeholder="请输入" v-model="ruleForm.title"></el-input>
</el-form-item>
<el-form-item label="成果图片" prop="image">
<multi-upload v-model="ruleForm.image"></multi-upload>
</el-form-item>
<el-form-item label="技术领域" prop="level">
<el-select v-model="ruleForm.level" placeholder="请选择">
<el-option
v-for="item in levelOptions"
:key="item.value"
:label="item.label"
:value="item.value"
/>
</el-select>
</el-form-item>
<el-form-item label="成熟度" prop="attribute">
<el-select v-model="ruleForm.attribute" placeholder="请选择">
<el-option
v-for="item in attributeOptions"
:key="item.value"
:label="item.label"
:value="item.value"
/>
</el-select>
</el-form-item>
<el-form-item label="成果企业" prop="source">
<el-input placeholder="请输入" v-model="ruleForm.source"></el-input>
</el-form-item>
<el-form-item label="合作标签" prop="attribute">
<el-select v-model="ruleForm.attribute" placeholder="请选择">
<el-option
v-for="item in attributeOptions"
:key="item.value"
:label="item.label"
:value="item.value"
/>
</el-select>
</el-form-item>
<el-form-item label="正文" prop="text">
<editor v-model="ruleForm.text" :min-height="192" />
</el-form-item>
<el-form-item>
<el-button type="primary" @click="submitForm('ruleForm')"
>确定</el-button
>
<!-- <el-button @click="resetForm('ruleForm')">重置</el-button> -->
</el-form-item>
</el-form>
</div>
</template>
<script>
import Editor from '@/components/Editor';
import { addPolicy, updatePolicy, getPolicyInfo } from '@/api/policy/library';
import MultiUpload from '@/components/Upload/multiUpload';
export default {
components: {
Editor,
MultiUpload
},
data() {
return {
aaa: '',
bbb: '',
editPage: false,
ruleForm: {
title: '',
level: '',
attribute: '',
source: '',
source2: '',
text: ''
},
// 归口选项
attributeOptions: [
{
value: 'KJJ',
label: '科技'
},
{
value: 'JXJ',
label: '经信'
},
{
value: 'FGW',
label: '发改'
},
{
value: 'qita',
label: '其他'
}
],
// 级别选项
levelOptions: [
{
value: 1,
label: '省级'
},
{
value: 2,
label: '市级'
},
{
value: 3,
label: '区级'
}
],
rules: {
title: [{ required: true, message: '请输入', trigger: 'blur' }],
level: [{ required: true, message: '请选择', trigger: 'change' }],
attribute: [{ required: true, message: '请选择', trigger: 'change' }],
source: [{ required: true, message: '请填写', trigger: 'blur' }],
source2: [{ required: true, message: '请填写', trigger: 'blur' }],
text: [{ required: true, message: '请填写内容', trigger: 'blur' }]
}
};
},
methods: {
submitForm(formName) {
this.$refs[formName].validate(valid => {
if (valid) {
if (this.editPage) {
// 修改
updatePolicy(this.ruleForm).then(({ message }) => {
this.msgSuccess(message);
});
} else {
// 添加
addPolicy(this.ruleForm).then(({ message }) => {
this.msgSuccess(message);
});
}
this.$router.go(-1);
} else {
console.log('error submit!!');
return false;
}
});
}
// resetForm(formName) {
// this.$refs[formName].resetFields();
// }
},
created() {
let { id } = this.$route.query;
if (id) {
this.editPage = true;
getPolicyInfo({ policyId: id }).then(({ data }) => {
this.ruleForm = data;
});
}
}
};
</script>

View File

@ -1,5 +1,157 @@
<template>
<div>
成就
<div class="app-container">
<el-card shadow="never">
<div>
<i class="el-icon-search"></i>
<span>筛选搜索</span>
<div style="float:right">
<el-button type="primary" @click="handleSearchList" size="small">
查询
</el-button>
</div>
</div>
<div style="margin-top: 15px">
<el-form
size="small"
:model="queryParams"
ref="queryForm"
:inline="true"
@submit.native.prevent
>
<el-form-item label="成果标题">
<el-input v-model="queryParams.title" placeholder="请输入" />
</el-form-item>
</el-form>
</div>
</el-card>
<el-card class="operate-container" shadow="never">
<i class="el-icon-tickets"></i>
<span>数据列表</span>
<el-button class="btn-add" @click="handlePage(null)" size="mini">
添加成果
</el-button>
</el-card>
<el-table
style="width: 100%"
class="table-container"
:data="unscrambleList"
>
<el-table-column
label="序号"
align="center"
type="index"
></el-table-column>
<el-table-column label="成果标题" prop="name" align="center">
<template slot-scope="scope">
<el-link type="primary" :underline="false">{{
scope.row.title
}}</el-link>
</template>
</el-table-column>
<el-table-column
label="技术领域"
align="center"
prop="listDate"
></el-table-column>
<el-table-column
label="成熟度"
align="center"
prop="source"
></el-table-column>
<el-table-column
label="合作标签"
align="center"
prop="source"
></el-table-column>
<el-table-column
label="成果企业"
align="center"
prop="source"
></el-table-column>
<el-table-column
label="发布日期"
align="center"
prop="source"
></el-table-column>
<el-table-column label="操作" align="center">
<template slot-scope="scope">
<el-button @click="handlePage(scope.row.id)" type="text" size="small"
>编辑</el-button
>
<el-button
@click="handleDelete(scope.row.id)"
type="text"
size="small"
>删除</el-button
>
</template>
</el-table-column>
</el-table>
</div>
</template>
<script>
import { getPolicyRead, delRead } from '@/api/front/unscramble';
export default {
data() {
return {
queryParams: {
pageNum: 1,
pageSize: 100
},
unscrambleList: [],
// 归口选项
attributeOptions: [
{
value: 'KJJ',
label: '科技'
},
{
value: 'JXJ',
label: '经信'
},
{
value: 'FGW',
label: '发改'
},
{
value: 'qita',
label: '其他'
}
]
};
},
methods: {
handleSearchList() {
this.queryParams.pageNum = 1;
this.getList();
},
getList() {
getPolicyRead(this.queryParams).then(({ data }) => {
this.unscrambleList = data.list;
});
},
// 跳转页面
handlePage(id) {
this.$router.push({ path: '/technology/addAchievement', query: { id } });
},
/** 删除按钮操作 */
handleDelete(id) {
this.$confirm('确认删除该数据?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
})
.then(function() {
return delRead({ id });
})
.then(() => {
this.getList();
this.msgSuccess('删除成功');
});
}
},
created() {
this.getList();
}
};
</script>

View File

@ -0,0 +1,151 @@
<template>
<div class="app-container">
<div>{{ editPage ? '修改' : '添加' }}需求</div>
<el-form
style="width:50%;margin:15px 0 0 15px"
label-position="left"
:model="ruleForm"
:rules="rules"
ref="ruleForm"
label-width="80px"
>
<el-form-item label="需求标题" prop="title">
<el-input placeholder="请输入" v-model="ruleForm.title"></el-input>
</el-form-item>
<el-form-item label="技术领域" prop="level">
<el-select v-model="ruleForm.level" placeholder="请选择">
<el-option
v-for="item in levelOptions"
:key="item.value"
:label="item.label"
:value="item.value"
/>
</el-select>
</el-form-item>
<el-form-item label="需求类型" prop="attribute">
<el-select v-model="ruleForm.attribute" placeholder="请选择">
<el-option
v-for="item in attributeOptions"
:key="item.value"
:label="item.label"
:value="item.value"
/>
</el-select>
</el-form-item>
<el-form-item label="需求企业" prop="source">
<el-input placeholder="请输入" v-model="ruleForm.source"></el-input>
</el-form-item>
<el-form-item label="价格" prop="source2">
<el-input placeholder="请输入" v-model="ruleForm.source2"></el-input>
</el-form-item>
<el-form-item label="正文" prop="text">
<editor v-model="ruleForm.text" :min-height="192" />
</el-form-item>
<el-form-item>
<el-button type="primary" @click="submitForm('ruleForm')"
>确定</el-button
>
<!-- <el-button @click="resetForm('ruleForm')">重置</el-button> -->
</el-form-item>
</el-form>
</div>
</template>
<script>
import Editor from '@/components/Editor';
import { addPolicy, updatePolicy, getPolicyInfo } from '@/api/policy/library';
export default {
components: {
Editor
},
data() {
return {
editPage: false,
ruleForm: {
title: '',
level: '',
attribute: '',
source: '',
source2: '',
text: ''
},
// 归口选项
attributeOptions: [
{
value: 'KJJ',
label: '科技'
},
{
value: 'JXJ',
label: '经信'
},
{
value: 'FGW',
label: '发改'
},
{
value: 'qita',
label: '其他'
}
],
// 级别选项
levelOptions: [
{
value: 1,
label: '省级'
},
{
value: 2,
label: '市级'
},
{
value: 3,
label: '区级'
}
],
rules: {
title: [{ required: true, message: '请输入', trigger: 'blur' }],
level: [{ required: true, message: '请选择', trigger: 'change' }],
attribute: [{ required: true, message: '请选择', trigger: 'change' }],
source: [{ required: true, message: '请填写', trigger: 'blur' }],
source2: [{ required: true, message: '请填写', trigger: 'blur' }],
text: [{ required: true, message: '请填写内容', trigger: 'blur' }]
}
};
},
methods: {
submitForm(formName) {
this.$refs[formName].validate(valid => {
if (valid) {
if (this.editPage) {
// 修改
updatePolicy(this.ruleForm).then(({ message }) => {
this.msgSuccess(message);
});
} else {
// 添加
addPolicy(this.ruleForm).then(({ message }) => {
this.msgSuccess(message);
});
}
this.$router.go(-1);
} else {
console.log('error submit!!');
return false;
}
});
}
// resetForm(formName) {
// this.$refs[formName].resetFields();
// }
},
created() {
let { id } = this.$route.query;
if (id) {
this.editPage = true;
getPolicyInfo({ policyId: id }).then(({ data }) => {
this.ruleForm = data;
});
}
}
};
</script>

View File

@ -1,5 +1,157 @@
<template>
<div>
需求
<div class="app-container">
<el-card shadow="never">
<div>
<i class="el-icon-search"></i>
<span>筛选搜索</span>
<div style="float:right">
<el-button type="primary" @click="handleSearchList" size="small">
查询
</el-button>
</div>
</div>
<div style="margin-top: 15px">
<el-form
size="small"
:model="queryParams"
ref="queryForm"
:inline="true"
@submit.native.prevent
>
<el-form-item label="需求标题">
<el-input v-model="queryParams.title" placeholder="请输入" />
</el-form-item>
</el-form>
</div>
</el-card>
<el-card class="operate-container" shadow="never">
<i class="el-icon-tickets"></i>
<span>数据列表</span>
<el-button class="btn-add" @click="handlePage(null)" size="mini">
添加需求
</el-button>
</el-card>
<el-table
style="width: 100%"
class="table-container"
:data="unscrambleList"
>
<el-table-column
label="序号"
align="center"
type="index"
></el-table-column>
<el-table-column label="需求标题" prop="name" align="center">
<template slot-scope="scope">
<el-link type="primary" :underline="false">{{
scope.row.title
}}</el-link>
</template>
</el-table-column>
<el-table-column
label="技术领域"
align="center"
prop="listDate"
></el-table-column>
<el-table-column
label="需求类型"
align="center"
prop="source"
></el-table-column>
<el-table-column
label="需求企业"
align="center"
prop="source"
></el-table-column>
<el-table-column
label="价格"
align="center"
prop="source"
></el-table-column>
<el-table-column
label="发布日期"
align="center"
prop="source"
></el-table-column>
<el-table-column label="操作" align="center">
<template slot-scope="scope">
<el-button @click="handlePage(scope.row.id)" type="text" size="small"
>编辑</el-button
>
<el-button
@click="handleDelete(scope.row.id)"
type="text"
size="small"
>删除</el-button
>
</template>
</el-table-column>
</el-table>
</div>
</template>
<script>
import { getPolicyRead, delRead } from '@/api/front/unscramble';
export default {
data() {
return {
queryParams: {
pageNum: 1,
pageSize: 100
},
unscrambleList: [],
// 归口选项
attributeOptions: [
{
value: 'KJJ',
label: '科技'
},
{
value: 'JXJ',
label: '经信'
},
{
value: 'FGW',
label: '发改'
},
{
value: 'qita',
label: '其他'
}
]
};
},
methods: {
handleSearchList() {
this.queryParams.pageNum = 1;
this.getList();
},
getList() {
getPolicyRead(this.queryParams).then(({ data }) => {
this.unscrambleList = data.list;
});
},
// 跳转页面
handlePage(id) {
this.$router.push({ path: '/technology/addDemand', query: { id } });
},
/** 删除按钮操作 */
handleDelete(id) {
this.$confirm('确认删除该数据?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
})
.then(function() {
return delRead({ id });
})
.then(() => {
this.getList();
this.msgSuccess('删除成功');
});
}
},
created() {
this.getList();
}
};
</script>