政策库的完成,前端配置页面的初始化

This commit is contained in:
熊丽君
2021-07-16 15:02:51 +08:00
parent a0e05c3a20
commit 89c45fc684
10 changed files with 608 additions and 647 deletions

4
.prettierrc Normal file
View File

@ -0,0 +1,4 @@
{
"semi": true,
"singleQuote": true
}

View File

@ -1,19 +1,78 @@
import request from '@/utils/request';
// 获取标签列表
export function getLabel(params) {
// 获取政策列表
export function getPolicy(data) {
return request({
url: '/label/getLabel123',
method: 'get',
params
});
}
// 新增更新信号量
export function save(data) {
return request({
url: '/system/signal/save',
url:
'/policy/getPolicy?pageNum=' +
data.pageNum +
'&pageSize=' +
data.pageSize,
method: 'post',
data
});
}
// 删除政策信息 body里ids数组
export function delPolicy(data) {
return request({
url: '/policy/delPolicy',
method: 'post',
data
});
}
// 获取政策标签管理初始化数据
export function getLabelSetting(params) {
return request({
url: '/policy/getLabelSetting',
method: 'get',
params
});
}
// 设置政策标签 body里id(政策),ids(标签id数组)
export function setPolicyLabel(data) {
return request({
url: '/policy/setPolicyLabel',
method: 'post',
data
});
}
// 修改政策信息/截止时间设置
export function updatePolicy(data) {
return request({
url: '/policy/updatePolicy',
method: 'post',
data
});
}
// 批量推送政策标签 body里ids(政策id数组)
export function pushPolicy(data) {
return request({
url: '/policy/pushPolicy',
method: 'post',
data
});
}
// 取消推送
export function noPushPolicy(params) {
return request({
url: '/policy/noPushPolicy',
method: 'get',
params
});
}
// 添加政策
export function addPolicy(data) {
return request({
url: '/policy/addPolicy',
method: 'post',
data
});
}
// 编辑政策的数据回显
export function getPolicyInfo(params) {
return request({
url: '/policy/getPolicyInfo',
method: 'get',
params
});
}

BIN
src/assets/logo/logo2.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.3 KiB

View File

@ -194,7 +194,11 @@ aside {
.operate-container .btn-add {
float: right;
}
//表格栏样式
// 表格栏样式
.table-container {
margin-top: 20px;
}
// 操作栏样式
.operate-container{
margin-top: 20px;
}

View File

@ -1,20 +1,25 @@
<template>
<div class="sidebar-logo-container" :class="{'collapse':collapse}">
<div class="sidebar-logo-container" :class="{ collapse: collapse }">
<transition name="sidebarLogoFade">
<router-link v-if="collapse" key="collapse" class="sidebar-logo-link" to="/">
<img v-if="logo" :src="logo" class="sidebar-logo">
<h1 v-else class="sidebar-title">{{ title }}<span>管理端</span></h1>
<router-link
v-if="collapse"
key="collapse"
class="sidebar-logo-link"
to="/"
>
<img v-if="logo" :src="logo" class="sidebar-logo" />
<!-- <h1 v-else class="sidebar-title">{{ title }}<span>管理端</span></h1> -->
</router-link>
<router-link v-else key="expand" class="sidebar-logo-link" to="/">
<img v-if="logo" :src="logo" class="sidebar-logo">
<h1 class="sidebar-title">{{ title }}<span>管理端</span></h1>
<img v-if="logo" :src="logo" class="sidebar-logo" />
<!-- <h1 class="sidebar-title">{{ title }}<span>管理端</span></h1> -->
</router-link>
</transition>
</div>
</template>
<script>
import logoImg from '@/assets/logo/logo.png'
import logoImg from '@/assets/logo/logo2.png';
export default {
name: 'SidebarLogo',
@ -26,12 +31,12 @@ export default {
},
data() {
return {
title: '嘉策',
// logo: logoImg,
logo: ''
title: '',
logo: logoImg
// logo: ''
};
}
}
}
};
</script>
<style lang="scss" scoped>
@ -58,8 +63,8 @@ export default {
width: 100%;
& .sidebar-logo {
width: 32px;
height: 32px;
// width: 32px;
// height: 32px;
vertical-align: middle;
margin-right: 12px;
}

View File

@ -21,7 +21,7 @@ router.beforeEach((to, from, next) => {
// 判断当前用户是否已拉取完user_info信息
store.dispatch('GetInfo').then(res => {
// 拉取user_info
console.log(res.roles);
// console.log(res.roles);
const roles = res.roles
store.dispatch('GenerateRoutes', { roles }).then(accessRoutes => {
// 测试 默认静态页面

View File

@ -1,6 +1,6 @@
/** When your routing table is too long, you can split it into small modules **/
import Layout from '@/layout'
import Layout from '@/layout';
// 政策管理
const nestedRouter = {
path: '/policy',
@ -10,11 +10,17 @@ const nestedRouter = {
children: [
{
path: 'library',
component: resolve =>
require(['@/views/policy/library/index'], resolve),
component: resolve => require(['@/views/policy/library/index'], resolve),
name: 'library',
meta: { title: '政策库' }
},
{
path: 'add',
component: resolve => require(['@/views/policy/library/add'], resolve),
name: 'add',
meta: { title: '添加' },
hidden: true
},
{
path: 'tag',
component: resolve => require(['@/views/policy/tag/index'], resolve),
@ -22,7 +28,6 @@ const nestedRouter = {
meta: { title: '政策标签' }
}
]
}
};
export default nestedRouter
export default nestedRouter;

View File

@ -18,7 +18,7 @@ const permission = {
// 生成路由
GenerateRoutes({ commit }) {
return new Promise(resolve => {
console.log(DynamicRoutes);
// console.log(DynamicRoutes);
const accessedRoutes = filterAsyncRouter(DynamicRoutes)
accessedRoutes.push({ path: '*', redirect: '/404', hidden: true })
commit('SET_ROUTES', accessedRoutes)

View File

@ -0,0 +1,168 @@
<template>
<div class="app-container">
<div>添加政策</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="发布日期" required>
<el-form-item prop="listDate">
<el-date-picker
type="date"
placeholder="选择日期"
value-format="yyyy-MM-dd"
v-model="ruleForm.listDate"
style="width: 30%;"
></el-date-picker>
</el-form-item>
</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="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: '',
listDate: '',
source: '',
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' }
],
listDate: [
{
// type: 'date',
required: true,
message: '请选择日期',
trigger: 'change'
}
],
source: [{ 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>

File diff suppressed because it is too large Load Diff