Commit ff0fd7b0 by 杨琪琪

刑事审判指导平台

parent eb47f27e
ENV = 'development' ENV = 'development'
VUE_APP_BASE_API = 'http://192.168.11.45:9888' VUE_APP_BASE_API = 'http://192.168.0.150:9888'
VUE_APP_WS_API = 'ws://192.168..11.45:9888' VUE_APP_WS_API = 'ws://192.168.0.150:9888'
VUE_APP_FILE_API = 'http://192.168.11.45:9888' VUE_APP_FILE_API = 'http://192.168.0.150:9888'
VUE_APP_LOGIN_API = 'http://171.106.48.55:36003/cas/login?service=http://192.168.11.45:9888/oauth/login?systemTag=oa-interInformation' VUE_APP_LOGIN_API = 'http://171.106.48.55:36003/cas/login?service=http://192.168.0.150:9888/oauth/login?systemTag=oa-interInformation'
#获取菜单标识 #获取菜单标识
VUE_APP_SYSTEAMTAG = '' VUE_APP_SYSTEAMTAG = ''
......
...@@ -5,7 +5,7 @@ ...@@ -5,7 +5,7 @@
<meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width,initial-scale=1.0"> <meta name="viewport" content="width=device-width,initial-scale=1.0">
<link rel="icon" href="<%= BASE_URL %>favicon.ico"> <link rel="icon" href="<%= BASE_URL %>favicon.ico">
<title>内部信息网</title> <title></title>
<!-- <title></title> --> <!-- <title></title> -->
</head> </head>
<body> <body>
......
import request from '@/utils/request'
//获取本院栏目树
export const getIndexBoardTree = (data) => {
return request({
url: 'websiteCluster/board/tree',
method: 'POST',
data
})
}
//获取本院栏目树
export const getBoardTree = (data) => {
return request({
url: 'websiteCluster/board/treeForTrial',
method: 'POST',
data
})
}
//添加信息
export const createNews = (data) => {
return request({
url: 'websiteCluster/website/createNews',
method: 'POST',
data
})
}
//获取本院部门
export const findCurrentDepts = (data) => {
return request({
url: 'websiteCluster/website/findCurrentDepts',
method: 'GET',
data
})
}
//新闻管理列表
export const getManageList = (data) => {
return request({
url: 'websiteCluster/website/manageList',
method: 'POST',
data
})
}
//修改信息
export const updateNews = (data) => {
return request({
url: 'websiteCluster/website/updateNews',
method: 'POST',
data
})
}
//管理列表--删除信息
export const deleteNews = (data) => {
return request({
url: 'websiteCluster/website/deleteNews',
method: 'POST',
data
})
}
//用户法院等级
export const userCourtLevel = (data) => {
return request({
url: 'websiteCluster/website/userCourtLevel',
method: 'POST',
data
})
}
//获取该用户审核信息列表
export const assInfoList = (data) => {
return request({
url: 'websiteCluster/website/getAssInfoListForTrial',
method: 'POST',
data
})
}
//获取收报信息列表---接收
export const getSBReceiveList = (data) => {
return request({
url: 'websiteCluster/website/getSBList',
method: 'POST',
data
})
}
//获取收报信息列表---报送
export const getSBSubmittedList = (data) => {
return request({
url: 'websiteCluster/website/getReportList',
method: 'POST',
data
})
}
//管理列表--新闻详情
export const newsDetail = (data) => {
return request({
url: 'websiteCluster/website/newsDetail',
method: 'POST',
data
})
}
//审核列表--提建议
export const giveAdvise = (data) => {
return request({
url: 'websiteCluster/website/advise',
method: 'POST',
data
})
}
//建议详情
export const adviceDetail = (data) => {
return request({
url: 'websiteCluster/website/adviceDetail',
method: 'POST',
data
})
}
//留言详情
export const messageDetail = (data) => {
return request({
url: 'websiteCluster/website/messageDetail',
method: 'POST',
data
})
}
//新增留言
// export const createMessage = (data) => {
// return request({
// url: 'websiteCluster/website/createMessage',
// method: 'POST',
// data
// })
// }
//审核信息批量打开
export const assInfoBatch = (data) => {
return request({
url: 'websiteCluster/website/assInfoBatch',
method: 'POST',
data
})
}
//审核信息批量操作
export const assInfoBatchOp = (data) => {
return request({
url: 'websiteCluster/website/assInfoBatchOp',
method: 'POST',
data
})
}
// 收报批量打开
export const sbBatch = (data) => {
return request({
url: 'websiteCluster/website/sbBatch',
method: 'POST',
data
})
}
// 收报批量采用或不采用
export const sbBatchUseOrNot = (data) => {
return request({
url: 'websiteCluster/website/sbBatchUseOrNot',
method: 'POST',
data
})
}
//日志详情
export const logDetail = (data) => {
return request({
url: 'websiteCluster/website/logDetail',
method: 'POST',
data
})
}
//查询信息
export const findNews = (data) => {
return request({
url: 'websiteCluster/website/findNews',
method: 'POST',
data
})
}
//删除附件
export const delFile = (data) => {
return request({
url: 'websiteCluster/website/delFile',
method: 'POST',
data
})
}
// 批量打开新闻
export const batchOpenNews = (data) => {
return request({
url: 'websiteCluster/website/batchOpenNews',
method: 'POST',
data
})
}
//批量发送审核提醒信息
export const sendBatchAssRemindSms = (data) => {
return request({
url: 'websiteCluster/website/sendBatchAssRemindSms',
method: 'POST',
data
})
}
//获取指定栏目审核人
export const getAssUserList = (data) => {
return request({
url: 'websiteCluster/website/getAssUserList',
method: 'POST',
data
})
}
export const getAssUserRecently = (data) => {
return request({
url: 'websiteCluster/website/getAssUserRecently',
method: 'POST',
data
})
}
export const boardList = (data) => {
return request({
url: 'websiteCluster/website/boardList',
method: 'POST',
data
})
}
export const boardDetail = (data) => {
return request({
url: 'websiteCluster/board/boardDetail',
method: 'POST',
data
})
}
// 是否可以进入管理系统
export function enableTurnOnSystem(data) {
return request({
url: `websiteCluster/website/enableTurnOnSystemForTrial`,
method: 'POST',
data,
})
}
import request from "@/utils/request";
//搜索新闻
export function searchForNews(data) {
return request({
url: `websiteCluster/web/searchForNewsForTrial`,
method: "POST",
data,
});
}
...@@ -5,38 +5,31 @@ import ElementUI from "element-ui"; ...@@ -5,38 +5,31 @@ import ElementUI from "element-ui";
import "element-ui/lib/theme-chalk/index.css"; import "element-ui/lib/theme-chalk/index.css";
import store from "./store"; import store from "./store";
//路由 //路由
import router from "./router/routers"; // import router from "./router/routers";
import router from "./router";
//css //css
import "./assets/style/index.scss"; import "./assets/style/index.scss";
import "./assets/style/kui.scss"; import "./assets/style/kui.scss";
import scroll from 'vue-seamless-scroll' import scroll from "vue-seamless-scroll";
// import Router from "vue-router";
import Router from 'vue-router' // const originalPush = Router.prototype.push;
const originalPush = Router.prototype.push // Router.prototype.push = function push(location) {
Router.prototype.push = function push(location) { // return originalPush.call(this, location).catch((err) => err);
return originalPush.call(this, location).catch(err => err) // };
}
Vue.config.productionTip = false; Vue.config.productionTip = false;
Vue.use(ElementUI, { Vue.use(ElementUI, {
size: "small", // set element-ui default size size: "small", // set element-ui default size
}); });
// router.beforeEach((to,from,next)=>{ Vue.use(scroll);
// if(to.meta.title){
// document.title=to.meta.title;
// }
// next();
// })
Vue.use(scroll)
new Vue({ new Vue({
router, router,
store, store,
render: (h) => h(App), render: (h) => h(App),
}).$mount("#app"); }).$mount("#app");
\ No newline at end of file
...@@ -8,4 +8,6 @@ router.beforeEach((to, from, next) => { ...@@ -8,4 +8,6 @@ router.beforeEach((to, from, next) => {
document.title = to.meta.title document.title = to.meta.title
} }
next() next()
}) })
\ No newline at end of file
export default router;
\ No newline at end of file
...@@ -7,99 +7,130 @@ Vue.use(Router); ...@@ -7,99 +7,130 @@ Vue.use(Router);
const originalPush = Vue.prototype.push; const originalPush = Vue.prototype.push;
Vue.prototype.push = function push(location) { Vue.prototype.push = function push(location) {
return originalPush.call(this, location).catch((err) => err); return originalPush.call(this, location).catch((err) => err);
}; };
const constantRouterMap = [ const constantRouterMap = [
{
{
path: "/", path: "/",
name: "home", name: "home",
meta: { title: "首页", icon: "" }, meta: { title: "首页", icon: "" },
component: home, component: home,
redirect: "/homePage", redirect: "/homePage",
children: [ children: [
{ {
path: "/homePage", path: "/homePage",
name: 'homePage', name: "homePage",
meta: { title: '首页', icon: '' }, meta: { title: "首页", icon: "" },
component: resolve => require(["@/views/homePage"], resolve), component: (resolve) => require(["@/views/homePage"], resolve),
}, },
{ {
path: "/show", path: "/show",
name: 'show', name: "show",
meta: { title: '详情', icon: '' }, meta: { title: "详情", icon: "" },
component: resolve => require(["@/views/show"], resolve), component: (resolve) => require(["@/views/show"], resolve),
}, },
{ {
path: "/news", path: "/news",
name: 'news', name: "news",
meta: { title: '法院新闻', icon: '' }, meta: { title: "法院新闻", icon: "" },
component: resolve => require(["@/views/news"], resolve), component: (resolve) => require(["@/views/news"], resolve),
}, },
{ {
path: "/list", path: "/list",
name: 'list', name: "list",
meta: { title: '新闻列表', icon: '' }, meta: { title: "新闻列表", icon: "" },
component: resolve => require(["@/views/list"], resolve), component: (resolve) => require(["@/views/list"], resolve),
}, },
{ {
path: "/detail", path: "/detail",
name: 'detail', name: "detail",
meta: { title: '详情', icon: '' }, meta: { title: "详情", icon: "" },
component: resolve => require(["@/views/detail"], resolve), component: (resolve) => require(["@/views/detail"], resolve),
}, },
{ {
path: "/manage", path: "/manage",
name: 'manage', name: "manage",
meta: { title: '信息发布系统', icon: '' }, meta: { title: "信息发布系统", icon: "" },
component: resolve => require(["@/views/manage"], resolve), component: (resolve) => require(["@/views/manage"], resolve),
}, },
{ {
path: "/search", path: "/search",
name: 'search', name: "search",
meta: { title: '搜索', icon: '' }, meta: { title: "搜索", icon: "" },
component: resolve => require(["@/views/search"], resolve), component: (resolve) => require(["@/views/search"], resolve),
}, },
{ {
path: "/more", path: "/more",
name: 'more', name: "more",
meta: { title: '更多', icon: '' }, meta: { title: "更多", icon: "" },
component: resolve => require(["@/views/more"], resolve), component: (resolve) => require(["@/views/more"], resolve),
}, },
{ {
path: "/zone", path: "/zone",
name: 'zone', name: "zone",
meta: { title: '更多', icon: '' }, meta: { title: "更多", icon: "" },
component: resolve => require(["@/views/zone"], resolve), component: (resolve) => require(["@/views/zone"], resolve),
}, },
// { // {
// path: "/homePage", // path: "/homePage",
// name: 'homePage', // name: 'homePage',
// meta: { title: '首页', icon: '' }, // meta: { title: '首页', icon: '' },
// component: resolve => require(["@/views/homePage"], resolve), // component: resolve => require(["@/views/homePage"], resolve),
// }, // },
], ],
}, },
// { // 审判
// path: "/manage", {
// name: 'manage', path: "/gPath",
// meta: { title: '栏目', icon: '' }, name: "guidance",
// component: resolve => require(["@/views/manage"], resolve), meta: { title: "首页", icon: "" },
// }, component: (resolve) => require(["@/views/guidance"], resolve),
redirect: "/gHomePage",
{ children: [
{
path: "/gHomePage",
name: "gHomePage",
meta: { title: "首页", icon: "" },
component: (resolve) => require(["@/views/guidance/homepage"], resolve),
},
{
path: "/gList",
name: "gList",
meta: { title: "刑事审判指导平台", icon: "" },
component: (resolve) => require(["@/views/guidance/list"], resolve),
},
{
path: "/gDetail",
name: "gDetail",
meta: { title: "详情", icon: "" },
component: (resolve) => require(["@/views/guidance/detail"], resolve),
},
{
path: "/gSearch",
name: "gSearch",
meta: { title: "搜索", icon: "" },
component: (resolve) => require(["@/views/guidance/search"], resolve),
},
{
path: "/gManage",
name: "gManage",
meta: { title: "信息发布系统", icon: "" },
component: (resolve) => require(["@/views/guidance/manage"], resolve),
},
],
},
{
path: "/verifyLogin", path: "/verifyLogin",
name: 'verifyLogin', name: "verifyLogin",
component: resolve => require(["@/views/verifyLogin"], resolve), component: (resolve) => require(["@/views/verifyLogin"], resolve),
}, },
]; ];
export default new Router({ export default new Router({
mode: "hash", mode: "hash",
// mode: 'history', // mode: 'history',
scrollBehavior: () => ({ y: 0 }), scrollBehavior: () => ({ y: 0 }),
routes: constantRouterMap, routes: constantRouterMap,
}); });
\ No newline at end of file
...@@ -137,10 +137,6 @@ ...@@ -137,10 +137,6 @@
</div> </div>
</div> </div>
<!-- <div>
<button size="mini" type="primary">回复</button>
</div>-->
<el-input <el-input
class="mt-15" class="mt-15"
type="textarea" type="textarea"
......
<template>
<div>
<el-row>
<el-col :span="18" :offset="3">
<el-row class="mt-20" :gutter="20">
<el-col :span="24">
<div class="zone-style">
<div style>
<div style>
<span>当前位置:</span>
<el-breadcrumb
style="display: inline-block"
separator-class="el-icon-arrow-right"
>
<el-breadcrumb-item v-for="(v,i) in breadList" :key="i">
<router-link :to="{name: v.name}">{{ v.meta.title}}</router-link>
</el-breadcrumb-item>
</el-breadcrumb>
</div>
<!-- 文章内容 -->
<el-row>
<h2 style=" text-align: center;">{{article.subject}}</h2>
<div
v-if="article.newsTime"
style="color: #999999; font-size: 12px;text-align:right"
>发布时间:{{article.newsTime.substring(0,10)}}</div>
<div class="article-img">
<el-image
style="margin-top:5px;width:100%;margin-bottom:5px;"
fit="contain"
v-for="item in attachList"
:key="item.id"
:src="item.downloadPath"
></el-image>
</div>
<div class="view-html" style="width:100%;" v-html="article.content"></div>
<div class="wiriter-intro">作者: {{ article.provider }}</div>
</el-row>
</div>
<!--下载附件-->
<el-row
class="mt-15"
:gutter="20"
style="border-top: 1px solid #eee; padding: 35px 0"
>
<el-col>
<el-row :gutter="40">
<el-col v-for="item in attachList" :key="item.id" class="mb-10" :span="24">
<div @click="downLoadFile(item)" class="k-flex k-align-center">
<img class="mr-5 gong-icon" style src="../../../assets/home/file.png" />
<div>下载附件:</div>
<div class="file-name">{{item.attachName}}</div>
</div>
</el-col>
</el-row>
</el-col>
</el-row>
<!--评论-->
<el-row>
<h5 v-if="messageDetailData.length==0" style="text-align: center">暂无评论</h5>
<h5 v-else style="text-align: center">评论</h5>
<div v-for="(item,index) in messageDetailData" :key="item.id" class="k-flex mb-15">
<el-image
style="width:30px;height:30px;"
fit="contain"
:src="require('../../../assets/home/user-o.png')"
></el-image>
<div class="ml-5 k-all">
<div class="k-flex k-space-between" style="font-size:12px;color:#ccc;">
<div class="ml-5">{{item.userId}}</div>
<div class="mr-15">{{item.reTime}}</div>
</div>
<div class="mt-10" style="font-size:9px;">{{item.content}}</div>
<div
v-if="item.subComments.length>0"
style="margin-top:10px;font-size:9px;background:#eee;border-radius:5px;padding:15px;"
>
<div class="mb-5" v-for="tab in item.subComments" :key="tab.id">
<span>{{tab.nickName}}</span>
<span>{{ tab.content }}</span>
</div>
</div>
<div
@click="returnEvent(item,index)"
v-if=" user.id && !item.returnFlag"
class="mt-10"
style="font-size:10px;margin-left:10px;color:blue;"
>回复</div>
<!-- 回复开始 -->
<div v-if="item.returnFlag" class="k-flex k-align-center return-comment mt-15">
<el-input
class
type="textarea"
:rows="1"
v-model="reCommentContent"
placeholder="请输入回复内容"
></el-input>
<el-button
class="ml-10"
type="primary"
size="mini"
@click="commentEvent(1,item.content,item.id)"
>发送</el-button>
</div>
<!-- 回复结束 -->
</div>
</div>
<el-input
class="mt-15"
type="textarea"
:rows="10"
v-model="commentContent"
placeholder="发表评论"
></el-input>
<div v-if="user.id" style="text-align:center;">
<el-button
class="mt-15"
s
type="danger"
size="mini"
@click="commentEvent(0,'','')"
>发表</el-button>
</div>
<div v-if="!user.id" style="text-align: center; font-size: 14px; margin-top: 15px">
您必须先的
<span style="color: #d33237" @click="loginEvent">登录</span>才能发表评论或者回复
</div>
</el-row>
</div>
</el-col>
</el-row>
</el-col>
</el-row>
</div>
</template>
<script>
import { newsDetail } from "@/api/homePage.js";
import { messageDetail } from "@/api/manage/manage";
import { removeToken } from "@/utils/auth";
import { createMessage, commentRaking, monthClickRanking } from "@/api/detail";
import { mapGetters } from "vuex";
import {
highlights //精彩回顾
} from "@/api/news.js";
export default {
name: "show",
data() {
return {
highlightsData: [], //精彩回顾集合
commentRankData: [], //本月评论
reCommentContent: "", //回复内容
messageDetailData: [], //评论详情
returnFlag: false, //回复判断
commentContent: "", //评论内容
activeItem: 0,
topList: [
{
name:
"开展司法教助全集中发放活动尽量克服冠军费德勒冠军费德勒空军航空发货过来会考虑好看",
date: "09-23"
},
{
name: "开展司法教助全集中发放活动",
date: "09-23"
},
{
name: "开展司法教助全集中发放活动",
date: "09-23"
},
{
name: "开展司法教助全集中发放活动",
date: "09-23"
},
{
name: "开展司法教助全集中发放活动",
date: "09-23"
},
{
name: "开展司法教助全集中发放活动",
date: "09-23"
},
{
name: "开展司法教助全集中发放活动",
date: "09-23"
}
],
article: {},
attachList: [], //附件
breadList: [] //面包屑列表
};
},
created() {
this.getBreadcrumb();
var self = this;
self.getParams();
},
//从vuex store获取用户信息判断是否登录
computed: {
...mapGetters(["user"])
},
//监听路由获取面包屑
watch: {
$route(to, from) {
console.log("to===", to);
console.log("from===", from);
this.getBreadcrumb();
}
},
methods: {
seeMoreEvent(type) {
// type=3;3是最新消息,1是关注自己的法院 5,精彩回顾
console.log("更多", type);
this.$router.push({
path: "/more", //跳转路由
query: {
//参数对象
type: type
}
});
},
// 获取面包屑
getBreadcrumb() {
this.breadList = this.$route.matched.filter(
item => item.meta && item.meta.title
);
console.log("this.breadList==", this.breadList);
console.log("this.$route==", this.$route);
},
// 获取精彩回顾
highlights() {
highlights({ page: 1, size: 5, fyId: 32 }).then(res => {
if (res.success) {
this.highlightsData = res.data.records;
this.highlightsData.forEach(item => {
item.date = item.newsTime.substring(5, 10);
});
}
});
},
//本月阅读排行
monthClickRanking() {
let params = {};
var myDate = new Date();
var curMonth = myDate.getMonth(); //获取当前月份(0-11,0代表1月);
params.fyId = 32; //传法院id,固定写死32,是固定的高院内网所以传 32
params.byMonth = curMonth; //按月
console.log("当前月份==", curMonth); //当前月份
monthClickRanking(JSON.stringify(params)).then(res => {
if (res.success) {
this.commentRankData = res.data;
}
});
},
//本月评论排行
commentRaking() {
let params = {};
var myDate = new Date();
var curMonth = myDate.getMonth(); //获取当前月份(0-11,0代表1月);
params.fyId = 32; //传法院id,固定写死32,是固定的高院内网所以传 32
params.byMonth = curMonth; //按月
console.log("当前月份==", curMonth); //当前月份
commentRaking(JSON.stringify(params)).then(res => {
if (res.success) {
this.commentRankData = res.data;
}
});
},
returnEvent(item, index) {
console.log("回复");
this.messageDetailData[index].returnFlag = !item.returnFlag;
this.$forceUpdate();
console.log("回复==", this.messageDetailData);
},
//下载文件
downLoadFile(item) {
console.log("下载附件==", item);
// 创建a标签
let link = document.createElement("a");
// href链接
link.download = item.attachName; //下载后文件名
link.setAttribute("href", item.downloadPath);
// 自执行点击事件
link.click();
},
getParams() {
//接收函数
console.log(this.$router.history.current.query.newsId);
this.newsDetailFun(this.$router.history.current.query.newsId);
this.messageDetail(this.$router.history.current.query.newsId); //获取评论详情
// this.commentRaking();//获取本月评论排行
this.monthClickRanking(); //获取本月阅读排行
this.highlights(); //获取精彩回顾
},
newsDetailFun(val) {
newsDetail({ newsId: val }).then(res => {
let { newsDetail, attachList } = res.data;
this.article = newsDetail;
this.attachList = attachList;
});
},
//评论详情
messageDetail(newsId) {
let params = {};
params.newsId = newsId;
messageDetail(JSON.stringify(params)).then(res => {
if (res.success) {
this.messageDetailData = res.data;
this.messageDetailData.forEach(item => {
item.returnFlag = false;
});
}
});
},
switchBtn(i) {
console.log("111===", i);
this.activeItem = i;
if (this.activeItem == 0) {
this.monthClickRanking(); //本月阅读排行
} else {
this.commentRaking(); //获取评论排行
}
},
//发表评论
commentEvent(type, content, commentId) {
var params = {};
// type=1是回复,type=0是发表评论
if (type == 0) {
if (this.commentContent == "") {
this.$message({
message: "请输入评论内容!",
type: "success"
});
return;
}
params.content = this.commentContent;
params.newsId = this.$router.history.current.query.newsId;
}
if (type == 1) {
if (this.reCommentContent == "") {
this.$message({
message: "请输入回复内容!",
type: "success"
});
return;
}
params.content = "回复:" + this.reCommentContent + "。";
params.newsId = this.$router.history.current.query.newsId;
params.parentId = commentId;
}
createMessage(JSON.stringify(params)).then(res => {
this.messageDetail(this.$router.history.current.query.newsId);
if (res.success) {
this.$message({
message: "评论成功!",
type: "success"
});
}
});
},
loginEvent() {
removeToken();
console.log("loginURL222222222222==", process.env.VUE_APP_LOGIN_API);
location.href = process.env.VUE_APP_LOGIN_API;
},
// 查看详情
seeParams(val) {
this.$router.push({
path: "/detail", //跳转路由
query: {
//参数对象
newsId: val.newsId
}
});
this.getParams();
}
}
};
</script>
<style lang="scss" scoped>
.wiriter-intro {
text-align: right;
margin-top: 10px;
font-size: 13px;
}
// 切换气泡按钮
.btns-switch .btn-item {
display: inline-block;
text-align: center;
border: 1px solid #ff756d;
border-radius: 5px;
color: #ff756d;
}
.btns-switch .sanjiao {
background: #d33237;
color: #fff;
position: relative;
}
.sanjiao:after {
position: absolute;
display: inline-block;
border-left: 8px solid transparent;
border-right: 8px solid transparent;
border-top: 8px solid #d33237;
left: 30px;
bottom: -8px;
content: "";
}
.zone-style {
background-color: #fff;
padding: 15px 15px;
border-radius: 5px;
box-shadow: -5px 0px 20px 5px rgba(0, 0, 0, 0.05);
}
.top-list {
padding: 5px 0;
font-size: 10px;
// color:#999999;
color: black;
}
.top-list .article-name {
width: 85%;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
color: #999999;
}
.file-name {
font-size: 14px;
}
.top-list:hover {
color: red;
}
.top-list:hover .article-name {
color: red;
}
.top-list .num {
// background:#D33237;
background: #cccccc;
color: #fff;
padding: 0 5px;
border-radius: 2px;
}
.top-list:hover .num {
background: #d33237;
}
.top-list .article-name .right-line {
padding-right: 2px;
// border-right:2px solid black;
margin-right: 5px;
position: relative;
color: black;
}
.top-list:hover .right-line {
color: red;
}
.line-div {
position: absolute;
right: 0;
top: 0;
height: 30px;
width: 2px;
background: black;
}
// 公告
.gong-icon {
width: 13px;
height: 13px;
}
.gonggao-text {
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
color: #ff756d;
font-family: PingFang SC, PingFang SC-Medium;
font-size: 13px;
}
.top-info {
margin: 15px 0;
border-bottom: 2px solid #34bab2;
padding-bottom: 15px;
}
.fist-text {
display: inline-block;
width: 26px;
height: 26px;
line-height: 26px;
text-align: center;
font-size: 15px;
color: #fff;
border-radius: 50%;
background: #1a3784;
margin-right: 3px;
}
.list-container {
border: 2px solid #34bab2;
padding: 15px 15px;
margin-top: 40px;
}
.list-title {
border-bottom: 1px dashed #ccc;
line-height: 35px;
}
// 列表start
.type-list li {
list-style-type: square;
// color: #0099ff;
color: blue;
font-size: 16px;
line-height: 35px;
border-bottom: 1px dashed #ccc;
}
.type-list li a {
color: #333;
font-size: 14px;
text-decoration: none;
}
.type-list li:hover {
// color: #ff6900;
color: red;
}
.type-list li:hover a {
// color: #ff6900
color: red;
}
.type-list li:last-of-type {
border-bottom: none;
}
// 列表end
ul {
margin: 0px;
padding: 0px;
padding-left: 15px;
}
// 回复评论
.return-comment {
background: #eee;
color: #fff;
position: relative;
padding: 10px;
margin-top: 10px;
margin-bottom: 10px;
border-radius: 5px;
border: 1px solid #eee;
}
.return-comment:after {
position: absolute;
display: inline-block;
border-left: 8px solid transparent;
border-right: 8px solid transparent;
border-bottom: 8px solid #eee;
left: 30px;
top: -8px;
content: "";
}
// 图片溢出
::v-deep {
.view-html p {
img {
width: 100% !important;
}
}
}
</style>
\ No newline at end of file
<template>
<div>
<el-row>
<el-col :span="18" :offset="3">
<!--法律法规 --- 开始-->
<el-row class="mt-15 out-zone-style" :gutter="20">
<el-col :span="24">
<div class="k-flex-between-center">
<div class="k-flex k-align-center">
<img
class="mr-5 gong-icon"
style
src="../../../assets/home/third.png"
/>
<div>法律法规</div>
</div>
<div
@click="toMorelist(6000)"
style="font-size: 12px; color: #999999"
>
<span>MORE></span>
</div>
</div>
<el-row class="mt-10" :gutter="20">
<el-col :span="10" style="background: #fafafa; padding: 15px">
<div style="height: 250px; overflow-y: auto">
<div class="tree-search mb-15">
<el-input
v-model="filterText1"
placeholder="请输入内容"
clearable
>
</el-input>
</div>
<el-tree
ref="tree-6000"
default-expand-all
:filter-node-method="filterNode"
:data="dataTreeFile1"
:props="defaultProps"
@node-click="handleNodeClick"
></el-tree>
</div>
</el-col>
<el-col :span="14">
<ul class="business-ul" v-if="tableData1.length != 0">
<li
v-for="(item, index) in tableData1"
:key="index"
class="k-flex k-space-between"
@click="setParams(item)"
>
<div class="article-name">
<span></span>
<span>{{ item.boardName }}</span>
<span></span>
<span>{{ item.subject }}</span>
</div>
<div>
<span class v-if="item.newsTime">{{
item.newsTime.substring(5, 10)
}}</span>
</div>
</li>
</ul>
<ul class="business-ul" v-if="tableData1.length == 0">
<li style="text-align: center">暂无数据</li>
</ul>
</el-col>
</el-row>
</el-col>
</el-row>
<!--法律法规 --- 结束-->
<!-- 区内规范性文件 --- 开始 -->
<el-row class="mt-15 out-zone-style" :gutter="20">
<el-col :span="24">
<div class="k-flex-between-center">
<div class="k-flex k-align-center">
<img
class="mr-5 gong-icon"
style
src="../../../assets/home/third.png"
/>
<div>区内规范性文件</div>
</div>
<div
@click="toMorelist(7000)"
style="font-size: 12px; color: #999999"
>
<span>MORE></span>
</div>
</div>
<el-row class="mt-10" :gutter="20">
<el-col :span="10" style="background: #fafafa; padding: 15px">
<div style="height: 250px; overflow-y: auto">
<div class="tree-search mb-15">
<el-input
v-model="filterText2"
placeholder="请输入内容"
clearable
>
</el-input>
</div>
<el-tree
ref="tree-7000"
default-expand-all
:filter-node-method="filterNode"
:data="dataTreeFile2"
:props="defaultProps"
@node-click="handleNodeClick"
></el-tree>
</div>
</el-col>
<el-col :span="14">
<ul class="business-ul" v-if="tableData2.length != 0">
<li
v-for="(item, index) in tableData2"
:key="index"
class="k-flex k-space-between"
@click="setParams(item)"
>
<div class="article-name">
<span></span>
<span>{{ item.boardName }}</span>
<span></span>
<span>{{ item.subject }}</span>
</div>
<div>
<span class v-if="item.newsTime">{{
item.newsTime.substring(5, 10)
}}</span>
</div>
</li>
</ul>
<ul class="business-ul" v-if="tableData2.length == 0">
<li style="text-align: center">暂无数据</li>
</ul>
</el-col>
</el-row>
</el-col>
</el-row>
<!-- 区内规范性文件 --- 结束 -->
<!-- 案例参考 --- 开始 -->
<el-row class="mt-15 out-zone-style" :gutter="20">
<el-col :span="24">
<div class="k-flex-between-center">
<div class="k-flex k-align-center">
<img
class="mr-5 gong-icon"
style
src="../../../assets/home/third.png"
/>
<div>案例参考</div>
</div>
<div
@click="toMorelist(8000)"
style="font-size: 12px; color: #999999"
>
<span>MORE></span>
</div>
</div>
<el-row class="mt-10" :gutter="20">
<el-col :span="10" style="background: #fafafa; padding: 15px">
<div style="height: 250px; overflow-y: auto">
<div class="tree-search mb-15">
<el-input
v-model="filterText3"
placeholder="请输入内容"
clearable
>
</el-input>
</div>
<el-tree
ref="tree-8000"
default-expand-all
:filter-node-method="filterNode"
:data="dataTreeFile3"
:props="defaultProps"
@node-click="handleNodeClick"
></el-tree>
</div>
</el-col>
<el-col :span="14">
<ul class="business-ul" v-if="tableData3.length != 0">
<li
v-for="(item, index) in tableData3"
:key="index"
class="k-flex k-space-between"
@click="setParams(item)"
>
<div class="article-name">
<span></span>
<span>{{ item.boardName }}</span>
<span></span>
<span>{{ item.subject }}</span>
</div>
<div>
<span class v-if="item.newsTime">{{
item.newsTime.substring(5, 10)
}}</span>
</div>
</li>
</ul>
<ul class="business-ul" v-if="tableData3.length == 0">
<li style="text-align: center">暂无数据</li>
</ul>
</el-col>
</el-row>
</el-col>
</el-row>
<!-- 案例参考 --- 结束 -->
<!-- 优秀文书 --- 开始 -->
<el-row class="mt-15 out-zone-style" :gutter="20">
<el-col :span="24">
<div class="k-flex-between-center">
<div class="k-flex k-align-center">
<img
class="mr-5 gong-icon"
style
src="../../../assets/home/third.png"
/>
<div>优秀文书</div>
</div>
<div
@click="toMorelist(9000)"
style="font-size: 12px; color: #999999"
>
<span>MORE></span>
</div>
</div>
<el-row class="mt-10" :gutter="20">
<el-col :span="10" style="background: #fafafa; padding: 15px">
<div style="height: 250px; overflow-y: auto">
<div class="tree-search mb-15">
<el-input
v-model="filterText4"
placeholder="请输入内容"
clearable
>
</el-input>
</div>
<el-tree
ref="tree-9000"
default-expand-all
:filter-node-method="filterNode"
:data="dataTreeFile4"
:props="defaultProps"
@node-click="handleNodeClick"
></el-tree>
</div>
</el-col>
<el-col :span="14">
<ul class="business-ul" v-if="tableData4.length != 0">
<li
v-for="(item, index) in tableData4"
:key="index"
class="k-flex k-space-between"
@click="setParams(item)"
>
<div class="article-name">
<span></span>
<span>{{ item.boardName }}</span>
<span></span>
<span>{{ item.subject }}</span>
</div>
<div>
<span class v-if="item.newsTime">{{
item.newsTime.substring(5, 10)
}}</span>
</div>
</li>
</ul>
<ul class="business-ul" v-if="tableData4.length == 0">
<li style="text-align: center">暂无数据</li>
</ul>
</el-col>
</el-row>
</el-col>
</el-row>
<!-- 优秀文书 --- 结束 -->
</el-col>
</el-row>
</div>
</template>
<script>
import {
topList,
newsFromBoard,
getSubLevelBoard,
getAllCourts, //获取全区法院
getBoardAndSubAllNews, //获取栏目及子栏目全部新闻列表
getSelectedBoardTree, //获取指定栏目树
findBoard, //按栏目名搜索栏目
} from "@/api/homePage.js";
import { getIndexBoardTree } from "@/api/guidance/manage.js";
export default {
data() {
return {
// boardNameSearch:'',//按栏目名搜索栏目
workActive: 0, //工作信息选中
workList: [], //工作信息
allCourtsData: [], //全区法院
input: "",
activeItem: 0,
activeItemPolice: 0,
policeOfficer: [],
fiveNews: [],
topList: [],
headlineRotation: [],
tableDataAll: [], //法院业务轮播图
tableData: [],
dataTreeFile: [],
defaultProps: {
children: "children",
label: "boardName",
},
WorkButton: [
{
boardName: "全部",
boardId: "1929",
},
],
videoLiet: [],
whole: [],
// 版块数据
filterText1: "", //按栏目名搜索栏目
filterText2: "", //按栏目名搜索栏目
filterText3: "", //按栏目名搜索栏目
filterText4: "", //按栏目名搜索栏目
dataTreeFile1: [],
tableData1: [],
dataTreeFile2: [],
tableData2: [],
dataTreeFile3: [],
tableData3: [],
dataTreeFile4: [],
tableData4: [],
};
},
watch: {
filterText1(val) {
this.$refs["tree-6000"].filter(val);
},
filterText2(val) {
this.$refs["tree-7000"].filter(val);
},
filterText3(val) {
this.$refs["tree-8000"].filter(val);
},
filterText4(val) {
this.$refs["tree-9000"].filter(val);
},
},
created() {
this.getSubLevelBoardF(6000);
this.getSubLevelBoardF(7000);
this.getSubLevelBoardF(8000);
this.getSubLevelBoardF(9000);
// this.getBoardTree();
this.topListFun();
},
methods: {
//获取所有栏目树
getBoardTree() {
getIndexBoardTree().then((res) => {
if (res.success) {
res.data.forEach((item) => {
if (parseInt(item.boardId) == 6000) {
this.initializationList(parseInt(item.boardId));
this.dataTreeFile1.push(item);
}
if (parseInt(item.boardId) == 7000) {
this.initializationList(parseInt(item.boardId));
this.dataTreeFile2.push(item);
}
if (parseInt(item.boardId) == 8000) {
this.initializationList(parseInt(item.boardId));
this.dataTreeFile3.push(item);
}
if (parseInt(item.boardId) == 9000) {
this.initializationList(parseInt(item.boardId));
this.dataTreeFile4.push(item);
}
console.log(
this.dataTreeFile1,
this.dataTreeFile2,
this.dataTreeFile3,
this.dataTreeFile4
);
});
}
});
},
initializationList(boardId) {
//获取初始加载全部信息
getBoardAndSubAllNews({ boardId: boardId, page: 1, size: 10 }).then(
(res) => {
if (res.success) {
if (boardId == 6000) {
this.tableData1 = res.data.records;
}
if (boardId == 7000) {
this.tableData2 = res.data.records;
}
if (boardId == 8000) {
this.tableData3 = res.data.records;
}
if (boardId == 9000) {
this.tableData4 = res.data.records;
}
}
}
);
},
filterNode(value, data) {
if (!value) return true;
return data.boardName.indexOf(value) !== -1;
},
// 按栏目名搜索栏目
findBoard() {
findBoard({ boardName: this.boardNameSearch, deptId: 32 }).then((res) => {
if (res.success) {
//
}
});
},
//获取全区法院
getAllCourts() {
getAllCourts().then((res) => {
if (res.success) {
this.allCourtsData = res.data;
}
});
},
setParams(val) {
window.open(`/#/gDetail?newsId=${val.newsId}`, "_blank");
},
newsFromBoard(val) {
newsFromBoard({ boardId: val.boardId, page: 1, size: 5 }).then((res) => {
this.workList = res.data.newsList.records; //工作信息
});
},
// 工作信息切换
informationSelection(val, index) {
console.log(val);
this.workActive = index;
if (val.boardName == "全部") {
this.getBoardAndSubAllNews(1929); //获取全部新闻 即工作信息大栏目1929id
} else {
this.newsFromBoard(val);
}
},
topListFun() {
topList({ fyId: 32, page: 1, size: 5 }).then((res) => {
this.topList = res.data.records;
this.headlineRotation = res.data.records;
});
},
getSubLevelBoardF(boardId) {
getSelectedBoardTree({ boardId: boardId }).then((res) => {
console.log("获取指定栏目树=", res);
if (boardId == 6000) {
this.dataTreeFile1 = res.data;
}
if (boardId == 7000) {
this.dataTreeFile2 = res.data;
}
if (boardId == 8000) {
this.dataTreeFile3 = res.data;
}
if (boardId == 9000) {
this.dataTreeFile4 = res.data;
}
this.initializationList(parseInt(boardId));
});
},
showHide(e) {
console.log(e);
},
showMeetingInfo() {},
switchBtn(i) {
console.log("111===", i);
this.activeItem = i;
if (i == 0) {
this.topListFun();
} else {
getSubLevelBoard({ boardId: 1929 }).then((res) => {
this.WorkButton = [{ boardName: "全部", boardId: 1929 }];
res.data.forEach((item) => {
this.WorkButton.push(item);
});
});
this.getBoardAndSubAllNews(1929); //获取全部的新闻的列表,工作信息1929
}
},
// 获取栏目及子栏目全部新闻列表
getBoardAndSubAllNews(boardId) {
getBoardAndSubAllNews({ boardId: boardId, page: 1, size: 10 }).then(
(res) => {
if (res.success) {
this.workList = res.data.records;
}
}
);
},
switchBtnPolice(i) {
console.log("2222===", i);
this.activeItemPolice = i;
},
searchEvent() {},
handleNodeClick(data, node, obj) {
console.log(data, node, obj);
let boardId = parseInt(data.boardId);
newsFromBoard({ boardId: data.boardId, page: 1, size: 5 }).then((res) => {
if(boardId >= 6000 && boardId < 7000){
this.tableData1 = res.data.newsList.records;
}else if(boardId >= 7000 && boardId < 8000){
this.tableData2 = res.data.newsList.records;
}else if(boardId >= 8000 && boardId < 9000){
this.tableData3 = res.data.newsList.records;
}else if(boardId >= 9000 && boardId < 10000){
this.tableData4 = res.data.newsList.records;
}
});
},
// 跳转到更所模块
toMorelist(boardId) {
this.$router.push({
path: "/gList", //跳转路由
query: {
//参数对象
boardId: boardId,
type: "menu",
},
});
},
},
};
</script>
<style lang="scss" scoped>
.el-col {
border-radius: 4px;
}
.bg-purple-dark {
background: #99a9bf;
}
.bg-purple {
background: #d3dce6;
}
.bg-purple-light {
background: #e5e9f2;
}
.grid-content {
border-radius: 4px;
min-height: 36px;
}
// 切换气泡按钮
.btns-switch .btn-item {
display: inline-block;
text-align: center;
border: 1px solid #ff756d;
border-radius: 5px;
color: #ff756d;
}
.btns-switch .sanjiao {
background: #d33237;
color: #fff;
position: relative;
}
.sanjiao:after {
position: absolute;
display: inline-block;
border-left: 8px solid transparent;
border-right: 8px solid transparent;
border-top: 8px solid #d33237;
left: 30px;
bottom: -8px;
content: "";
}
// 公告
.gong-icon {
width: 13px;
height: 13px;
}
.gonggao-text {
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
color: #ff756d;
font-family: PingFang SC, PingFang SC-Medium;
font-size: 13px;
}
.partnerInfo ul li {
list-style: none;
line-height: 1;
}
.ul-list li {
border-radius: 5px;
background: #fff;
padding: 10px 10px;
font-size: 12px;
}
.ul-list li .el-image {
width: 30px;
height: 30px;
}
.ul-list li:hover {
background: #d33237;
color: #fff;
}
// 按钮模块
.item-btns {
}
// 工作信息
.work-tab-list .tab-item:not(:nth-child(1)) {
margin-top: 5px;
}
.work-tab-list .tab-item {
padding: 5px 0;
text-align: center;
background: #ccc;
cursor: pointer;
// font-size:10px;
font-size: 10px !important;
border-radius: 5px;
color: #fff;
}
.work-tab-list .tab-item:hover {
background: red;
}
.work-tab-list .tab-item-active {
background: red;
}
.work-top-list {
padding: 5px 0;
font-size: 10px;
}
.work-top-list:hover {
color: red;
}
.article-name {
width: 85%;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
}
.search-container {
width: 100%;
height: 500px;
background-image: url("../../../assets/pic.jpg");
background-repeat: no-repeat;
background-size: 100% 100%;
}
.index-div {
position: absolute;
width: 100%;
border-radius: 5px;
top: 30%;
}
.indexConFind {
// position:absolute;
width: 60%;
height: 180px;
background-color: rgba(5, 23, 17, 0.21);
margin: 0 auto;
// top:20%;
border-radius: 5px;
}
.seach-input {
width: 60%;
}
.button-list {
margin-top: 15px;
}
.button-list .el-button {
border-color: red;
font-size: 12px;
color: black;
// width:11%;
}
::v-deep {
.button-list .el-button .el-icon-message {
color: red;
}
// 设置轮播图指示器大小
.el-carousel__button {
width: 5px;
}
// .el-carousel__indicators--horizontal{
// right:0;
// }
}
.top-info {
margin: 15px 0 5px 0;
border-bottom: 2px solid #34bab2;
padding-bottom: 5px;
}
.fist-text {
display: inline-block;
width: 26px;
height: 26px;
line-height: 26px;
text-align: center;
font-size: 15px;
color: #fff;
border-radius: 50%;
background: #1a3784;
margin-right: 3px;
}
// 轮播图
.carousel-div {
position: relative;
height: 100%;
}
.carousel-intro {
position: absolute;
width: 100%;
height: 25px;
line-height: 25px;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
background: rgba(5, 23, 17, 0.21);
color: #fff;
padding: 0 5px;
font-size: 12px;
left: 0;
bottom: 0;
}
.top-line {
padding: 5px 15px;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
border-bottom: 1px solid #ccc;
}
.right-line {
display: inline-block;
// width:20%;
overflow: hidden;
text-overflow: ellipsis;
padding-right: 2px;
border-right: 2px solid black;
margin-right: 5px;
color: black;
}
.top-list {
padding: 5px 0;
font-size: 10px;
color: #999999;
}
.top-list:hover {
color: red;
}
.top-list :hover .right-line {
color: red !important;
}
.left-tab-list .tab-item:not(:nth-child(1)) {
margin-top: 5px;
}
.tab-item {
// margin: 10px 0;
margin: 7px 0;
padding: 10px 0;
text-align: center;
background: #ccc;
cursor: pointer;
}
.left-tab-list .tab-item:hover {
background: red;
}
.right-list {
padding: 5px 10px;
font-size: 10px;
}
.job-btn-list .el-button {
width: 100%;
color: #fff;
font-size: 15px;
padding: 10px;
}
.job-btn-list .el-button + .el-button {
margin-left: 0;
}
.job-btn-list .el-button .button-inner {
width: 100%;
background: red;
padding: 8px 0;
// padding-left:40%;
letter-spacing: 10px;
}
.job-btn-list .el-button .el-image {
width: 20px;
height: 20px;
margin-right: 10px;
margin-left: 15%;
}
.business-ul {
margin: 0;
margin-top: 10px;
width: 100%;
// white-space:nowrap;
// overflow:hidden;
// text-overflow:ellipsis;
list-style: none;
margin: 0;
padding: 0;
}
.business-ul li {
width: 100%;
font-size: 13px;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
}
.business-ul li:hover {
color: red;
}
// .business-ul li .el-link{
// display:inline-block;
// text-decoration:none;
// width:100%;
// white-space:nowrap;
// overflow:hidden;
// text-overflow:ellipsis;
// }
// .business-ul li .el-link:hover {
// text-decoration:none;
// color:red;
// }
// .business-ul li:hover .el-link{
// text-decoration:none;
// }
.business-ul li + li {
margin-top: 5px;
}
// 树形菜单开始
.search-box {
display: flex;
justify-content: flex-start;
align-items: center;
margin-bottom: 25px;
}
.left-box {
height: 100%;
display: flex;
flex-direction: column;
align-items: flex-start;
}
.meeting-item {
display: flex;
flex-direction: column;
align-items: flex-start;
justify-content: center;
}
.collect-box {
display: flex;
flex-direction: row;
justify-content: flex-start;
align-items: center;
width: 100%;
margin-right: 15px;
.collect {
width: 12%;
img {
width: 100%;
}
}
}
.file {
&-container {
width: 100%;
}
&-box {
margin-left: 5%;
padding-left: 15%;
height: 100%;
display: flex;
flex-direction: column;
border-left: 1px dashed #6e6e6e;
}
&-title {
width: 90%;
height: 30px;
// color: #fff;
font-size: 12px;
display: flex;
justify-content: flex-start;
align-items: center;
img {
width: 15%;
margin-right: 7px;
}
}
&-item {
height: 50px;
border-left: 1px dashed #6e6e6e;
display: flex;
flex-direction: row;
justify-content: flex-start;
align-items: center;
color: #6e6e6e;
.line-row {
width: 15%;
border-top: 1px dashed #6e6e6e;
}
.item-box {
display: flex;
align-items: center;
line-height: 50px;
padding: 0 15px;
border-radius: 5px;
font-size: 12px;
img {
margin-right: 5px;
width: 15%;
}
&-blue {
background-color: #304d79;
}
}
.item-box:hover {
background-color: #304d79;
cursor: default;
}
&:last-child {
margin-bottom: 40px;
}
}
}
.detail {
&-container {
overflow-y: scroll;
height: 55vh;
padding: 5px 10px;
}
&-content {
height: 60vh;
}
}
::v-deep {
.resourceSearch-btn {
background: none;
font-weight: bolder;
span {
display: flex;
flex-direction: row;
justify-content: center;
align-items: center;
}
}
.search {
color: #fff;
border: none;
background: none;
background-color: #456e94;
font-size: 15px;
img {
margin-right: 5px;
}
}
.check {
color: #456e94;
img {
margin-right: 5px;
}
}
.el-input__inner {
background: none;
border-color: #363636;
height: 45px;
}
}
// 树形菜单结束
// 图片墙
.imgs-div {
position: relative;
height: 100%;
}
.imgs-div {
margin-bottom: 10px;
}
.imgs-intro {
position: absolute;
// width:100%;
height: 25px;
line-height: 25px;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
// background:rgba(5, 23, 17, 0.21);
background: #ccc;
color: #fff;
// padding:0 5px;
font-size: 12px;
left: 0;
bottom: 0;
}
.group-list {
border: 1px solid #34bab2;
padding: 15px;
}
// 网站群
.group-ul {
margin: 0;
padding: 0;
list-style: none;
}
.group-ul li {
float: left;
// padding:0 10px;
width: 60px;
margin-right: 6px;
text-align: center;
font-size: 12px;
margin-bottom: 10px;
}
// 树形菜单图标start-----------------------
.el-tree /deep/ .el-tree-node__expand-icon.expanded {
-webkit-transform: rotate(0deg);
transform: rotate(0deg);
}
/*//有子节点 且未展开*/
.el-tree /deep/ .el-icon-caret-right:before {
background: url("../../../assets/wjjg.png") no-repeat 0 3px;
content: "";
display: block;
width: 16px;
height: 16px;
font-size: 16px;
background-size: 16px;
}
/*//有子节点 且已展开*/
.el-tree /deep/ .el-tree-node__expand-icon.expanded.el-icon-caret-right:before {
background: url("../../../assets/wjjk.png") no-repeat 0 3px;
content: "";
display: block;
width: 16px;
height: 16px;
font-size: 16px;
background-size: 16px;
}
/*//没有子节点*/
.el-tree /deep/ .el-tree-node__expand-icon.is-leaf::before {
background: url("../../../assets/wj.png") no-repeat 0 3px;
content: "";
display: block;
width: 16px;
height: 16px;
font-size: 16px;
background-size: 16px;
}
// 树形菜单图标end-----------------------
::v-deep {
.tree-search {
margin: 0 15px;
.el-input__inner {
height: 30px;
line-height: 30px;
}
}
}
.zone-style {
background-color: #fff;
padding: 15px 15px;
border-radius: 5px;
box-shadow: -5px 0px 20px 5px rgba(0, 0, 0, 0.05);
}
.out-zone-style {
background-color: #fff;
margin-left: 0 !important;
margin-right: 0 !important;
padding: 15px;
border-radius: 5px;
box-shadow: -5px 0px 20px 5px rgba(0, 0, 0, 0.05);
}
.first-zone-style {
margin-left: 0 !important;
margin-right: 0 !important;
// padding:15px;
}
.info-tap {
position: relative;
}
.line-div {
width: 1px;
height: 30px;
background: #ccc;
position: absolute;
right: -1px;
top: 10px;
}
</style>
<template>
<div class="page">
<!-- 顶部标题工具栏 -->
<el-row>
<el-col class="" :span="18" :offset="3">
<div
style="
float: right;
margin-top: 15px;
color: #d33237;
font-size: 10px;
padding-right: 25px;
"
>
<div
v-if="!userInfo.id"
@click="loginEvent"
class="k-flex k-align-center"
>
<div>
<el-image
style="
width: 15px;
height: 16px;
display: block;
margin-right: 5px;
"
:src="require('../../assets/home/denglu.png')"
></el-image>
</div>
<div>登录</div>
</div>
<div v-if="userInfo.id" class="k-flex k-align-center">
<el-image
style="
width: 15px;
height: 16px;
display: block;
margin-right: 5px;
"
:src="require('../../assets/home/denglu.png')"
></el-image>
<div class="center-txt mr-10" v-if="userInfo.id">
法院:{{ userInfo.courtCode }}&ensp;部门:{{
userInfo.dept ? userInfo.dept.name : ""
}}&ensp;姓名:{{ userInfo.nickName }}
</div>
<div @click="loginOut" class="k-flex k-align-center">
<el-image
style="
width: 15px;
height: 16px;
display: block;
margin-right: 5px;
"
:src="require('../../assets/home/tuichu.png')"
></el-image>
<div>退出</div>
</div>
</div>
</div>
<el-row :gutter="4" class="top-content">
<img :src="require('../../assets/fyLogo.png')" alt="" />
<h1 style="color: #d33237;font-weight: bold;margin-left: 10px;">刑事审判指导平台</h1>
</el-row>
</el-col>
</el-row>
<el-container class="my-container">
<el-header>
<menuHead />
</el-header>
<el-main class="content-main">
<router-view />
</el-main>
</el-container>
<el-footer>
<div class="foot-div">
<el-row>
<span>电话:0771-5788527 0771-5788292 0771-5788394</span>
</el-row>
<el-row>
<span>Copyright 2015 by chinacourt.org All Rights Reserved</span>
</el-row>
</div>
</el-footer>
</div>
</template>
<script>
import menuHead from "@/views/guidance/layout/menu";
import { mapGetters, mapMutations } from "vuex";
import { setUserInfo } from "@/utils/auth";
import { getInfo, logout } from "@/api/login";
import { removeToken, getToken } from "@/utils/auth";
export default {
components: {
menuHead,
},
data() {
return {
userInfo: {},
};
},
created() {
if (getToken()) {
this.getUserInfo();
}
},
computed: {
...mapGetters(["user"]),
},
methods: {
...mapMutations(["SET_USER"]),
getUserInfo() {
getInfo().then((res) => {
this.userInfo = res.user;
this.SET_USER(res.user);
setUserInfo(res.user);
sessionStorage.setItem("userInfo", this.userInfo);
});
},
loginOut() {
logout().then((res) => {
removeToken();
window.localStorage.removeItem("publishFlag");
location.href = res.data;
});
},
//登录
loginEvent() {
removeToken();
console.log("loginURL222222222222==", process.env.VUE_APP_LOGIN_API);
location.href = process.env.VUE_APP_LOGIN_API;
},
},
};
</script>
<style lang="scss" scoped>
.page {
background-color: #fffcdf;
width: 100%;
height: 100%;
// height: 100vh;
}
::v-deep {
.el-header {
// height: 12vh;
padding: 0;
height: auto !important;
}
.el-main {
padding: 0;
}
}
.top-content {
position: relative;
width: 100%;
height: 12vh;
display: flex;
justify-content: flex-start;
align-items: center;
padding: 15px 15px;
background-repeat: no-repeat;
background-position: center center;
background-size: cover;
}
.top-title {
display: flex;
align-items: center;
img {
width: 2.5vw;
margin-right: 15px;
}
.title-txt {
font-size: 1.6vw;
font-weight: bolder;
}
}
.center-txt {
font-size: 0.8vw;
}
.top-btn {
display: flex;
justify-content: space-around;
align-items: center;
&-item {
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
width: 33.3%;
img {
width: inherit;
margin-bottom: 5px;
}
&-text {
font-size: 1vw;
}
}
}
.el-footer {
margin-top: 20px;
border-top: 1px solid #ccc;
width: 100%;
text-align: center;
height: auto !important;
}
.foot-div {
padding: 25px 10px;
}
</style>
<template>
<div>
<el-row>
<el-col class="my-menu" :span="18" :offset="3">
<div class="nav k-flex-between-center">
<div class="nav-a">
<ul class="nav-a-ul">
<li
class="nav-a-li"
:class="classA == index ? 'main-active' : ''"
v-for="(item, index) in routesList"
:key="index"
>
<el-link
@click.native="menuRouterClick(item, index)"
class="nav-a-text"
:underline="false"
>{{ item.meta.title }}</el-link
>
<div
v-if="item.children && item.children.length > 0"
class="submenu-container"
>
<ul class="menu_ul" :class="{ active: index === isShow }">
<li
class="menu_li"
v-for="(nav, index) in item.children"
:class="classB == nav ? 'active' : ''"
@click.stop="menuselected(item, nav)"
:key="index"
>
<el-link
class="menu_ul_text"
:underline="false"
:class="{ active: nav.path == linkClick }"
>{{ nav.meta.title }}</el-link
>
</li>
</ul>
</div>
</li>
</ul>
</div>
<div class="k-flex seach-input k-align-center" style="width: 180px">
<el-input
v-model="searchSubject"
placeholder="请输入内容"
clearable
>
<i
@click="searchEvent"
slot="suffix"
class="el-input__icon el-icon-search"
></i>
</el-input>
</div>
</div>
</el-col>
</el-row>
<el-row>
<el-col class="my-menu k-flex-between-center" :span="18" :offset="3">
</el-col>
</el-row>
</div>
</template>
<script>
import { mapGetters } from "vuex";
import { enableTurnOnSystem } from "@/api/guidance/manage.js";
export default {
data() {
return {
searchSubject: "", //搜索内容
allCourtsData: [], //全区法院
childFlag: false,
activeIndex: "/homePage",
classA: 0,
classB: 0,
isShow: 0,
linkClick: "",
routesList: [
{
name: "gHomePage",
path: "/gHomePage",
meta: { title: "首页" },
},
{
name: "laws",
path: "/laws",
boardId: 6000,
meta: { title: "法律法规" },
children: [
{
path: "",
boardId: 6001,
meta: { title: "最新刑事法律" },
},
{
path: "",
boardId: 6002,
meta: { title: "司法解释" },
},
{
path: "",
boardId: 6003,
meta: { title: "司法文件纪要" },
},
],
},
{
name: "normativeDoc",
path: "",
boardId: 7000,
meta: { title: "区内规范性文件" },
children: [
{
path: "",
boardId: 7001,
meta: { title: "程序规范" },
},
{
path: "",
boardId: 7002,
meta: { title: "审判实务" },
},
{
path: "",
boardId: 7003,
meta: { title: "其他" },
},
],
},
{
name: "caseReference",
path: "",
boardId: 8000,
meta: { title: "案例参考" },
children: [
{
path: "",
boardId: 8001,
meta: { title: "最高法指导案例" },
},
{
path: "",
boardId: 8002,
meta: { title: "外省参考案例" },
},
{
path: "",
boardId: 8003,
meta: { title: "全区参阅案例" },
},
],
},
{
name: "excellentDoc",
path: "",
boardId: 9000,
meta: { title: "优秀文书" },
children: [
{
path: "",
boardId: 9001,
meta: { title: "优秀裁判文书" },
},
{
path: "",
boardId: 9002,
meta: { title: "优秀学术报告" },
},
],
},
{
name: "gManage",
path: "/gManage",
meta: { title: "信息发布系统" },
},
],
isAdmmin: false, // 当前用户是否为高院内部人员
};
},
computed: {
...mapGetters(["user"]),
},
created() {},
methods: {
//1、点击一级导航
menuRouterClick(item, index) {
console.log("menuRouterClick-index==", index);
console.log("menuRouterClick-item==", item);
console.log("this.routesList==", this.routesList);
console.log("this.classA==", this.classA);
this.classA = index;
item = this.routesList[this.classA];
if (item.name == "gManage") {
var userInfo = sessionStorage.getItem("userInfo");
console.log("user==", userInfo);
if (!userInfo) {
this.$message({
message: "请先登录!",
type: "error",
});
return;
} else {
enableTurnOnSystem().then((res) => {
if (res.success) {
res.data == "K00"
? (this.isAdmmin = true)
: (this.isAdmmin = false);
if (!this.isAdmmin) {
this.$message.error("无访问权限");
} else {
this.$router.push({
path: item.path, //跳转路由
});
}
} else {
this.$message({
message: "您的账号没有权限!",
type: "error",
});
return;
}
});
}
} else if (item.name == "gHomePage") {
this.$router.push({
path: item.path, //跳转路由
});
} else {
this.$router.push({
path: "/gList", //跳转路由
query: {
//参数对象
boardId: item.boardId,
type: "menu",
},
});
}
},
// 2、点击二级子栏目--跳转到列表
menuselected(item, subItem) {
console.log("点击子菜单1==", item);
console.log("点击子菜单2==", subItem);
console.log("this.routesList==", this.routesList);
for (var i = 0; i < this.routesList.length; i++) {
if (this.routesList[i].name == item.name) {
this.classA = i;
}
}
this.$router.push({
path: "/gList", //跳转路由
query: {
//参数对象
boardId: subItem.boardId,
type: "sub",
},
});
},
openManage() {
window.open("/#/manage");
},
searchEvent() {
console.log("搜索");
this.$router.push({
path: "/gSearch", //跳转路由
query: {
//参数对象
subject: this.searchSubject,
},
});
},
},
};
</script>
<style lang="scss" scoped>
.my-menu {
background: #d33237;
border-radius: 7px;
padding: 0 15px;
}
::v-deep {
.el-menu {
border-radius: 7px 0 0 7px;
}
.el-menu-item {
font-size: 13px;
padding: 0 15px;
}
.el-submenu__title {
padding: 0 15px;
}
.el-menu--horizontal > .el-submenu .el-submenu__title {
font-size: 13px;
}
}
// $childs: false;
//横向展示需要样式修改
.el-menu--horizontal .el-menu-item {
// float: left;
// float: if($childs, left, none);
// float: none;
height: 60px;
line-height: 60px;
margin: 0;
border-bottom: 2px solid transparent;
border-bottom-width: 2px;
border-bottom-style: solid;
border-bottom-color: transparent;
color: #909399;
}
.el-submenu__icon-arrow {
position: static;
vertical-align: middle;
margin-left: 8px;
margin-top: -3px;
color: #fff;
}
.el-menu--horizontal .el-submenu.is-active .el-submenu__title {
height: 60px;
line-height: 60px;
border-bottom: 2px solid #409eff;
color: #303133;
}
// 自己画的横向导航
ul,
li {
padding: 0;
margin: 0;
}
.nav {
width: 100%;
height: auto;
margin: 0px auto;
border-bottom: none;
line-height: 55px;
box-sizing: border-box;
}
.nav-a {
cursor: pointer;
letter-spacing: 4px;
position: relative;
text-align: center;
}
.nav-a-ul {
list-style: none;
line-height: 55px;
}
.nav-a-li {
display: inline-block;
margin: 0 16px;
}
.nav-a-text {
font-size: 15px;
color: #fff;
font-weight: bold;
text-decoration: none;
}
.menu_ul {
list-style: none;
background: #fff;
border-radius: 3px;
z-index: 999;
}
.menu_li {
position: relative;
float: left;
height: 30px;
line-height: 30px;
padding: 0 10px;
margin-bottom: 10px;
}
.menu_li::after {
content: "";
position: absolute;
width: 2px;
height: 12px;
background: #666;
right: 0;
top: 30%;
}
.menu_ul_text {
font-size: 14px;
color: #666;
letter-spacing: 0;
line-height: 30px;
height: 30px;
text-decoration: none;
// padding-left: 6px;
}
.submenu-container {
display: none;
width: 100%;
position: absolute;
border-radius: 5px;
padding: 15px;
bottom: -65;
}
.nav-a-li:hover .submenu-container {
display: block;
width: 100%;
max-width: 350px;
z-index: 19;
background: #fff;
box-shadow: -5px 0px 20px 5px rgba(0, 0, 0, 0.05);
}
.nav-a-li:hover .nav-a-text {
color: #ffd04b;
}
.main-active {
border-bottom: 2px solid #ffd04b;
}
.main-active .nav-a-text {
color: #ffd04b !important;
}
.menu_ul_text:hover {
color: #2589ff;
}
.menu_li.active .menu_ul_text {
color: #2589ff;
}
.submenu-container-first {
display: none;
position: absolute;
width: 170px;
border-radius: 5px;
bottom: -65;
z-index: 19;
}
.nav-a-li:hover .submenu-container-first {
display: block;
// width: 100%;
// max-width:350px;
z-index: 20;
background: #fff;
box-shadow: -5px 0px 20px 5px rgba(0, 0, 0, 0.05);
padding: 5px 0;
}
.menu_li_court {
position: relative;
height: 40px;
line-height: 40px;
padding: 0 5px;
}
.submenu-container-court {
display: none;
width: 100%;
position: absolute;
border-radius: 5px;
// padding:15px;
top: 0;
right: -100%;
}
.menu_li_court:hover .submenu-container-court {
display: block;
width: 100%;
//max-width:350px;
z-index: 19;
background: #fff;
box-shadow: -5px 0px 20px 5px rgba(0, 0, 0, 0.05);
}
.nav-a-li:hover .nav-a-text {
color: #ffd04b;
}
// 搜索
.search-container {
width: 100%;
height: 500px;
background-image: url("../../../assets/pic.jpg");
background-repeat: no-repeat;
background-size: 100% 100%;
}
.index-div {
position: absolute;
width: 100%;
border-radius: 5px;
top: 30%;
}
.indexConFind {
width: 60%;
height: 180px;
background-color: rgba(5, 23, 17, 0.21);
margin: 0 auto;
border-radius: 5px;
}
.seach-input {
width: 60%;
}
</style>
<template>
<div>
<el-row>
<el-col :span="18" :offset="3">
<el-row class="mt-20" :gutter="20">
<!--左边栏目开始-->
<el-col :span="5">
<div class="list-container">
<div class="list-title mb-10" style="">按分类查看</div>
<div style="height: 65vh; over-flow: hidden; overflow: auto">
<el-tree
default-expand-all
:data="dataTreeFile"
:props="defaultProps"
@node-click="handleNodeClick"
></el-tree>
</div>
</div>
</el-col>
<!--左边栏目结束-->
<el-col :span="19">
<div class="zone-style">
<div style="height: 66vh; over-flow: hidden; overflow: auto">
<div style="">
<span>当前位置:</span>
<span v-if="currentBoardPName!=''">{{ currentBoardPName }}</span>
<span v-if="currentBoardSName!=''"> -> {{ currentBoardSName }}</span>
</div>
<el-table
:header-cell-style="{
'text-align': 'center',
'font-size': '15px',
color: 'black',
}"
:cell-style="{ 'font-size': '13px', 'border-bottom': 'none' }"
ref="singleTable"
:data="newsList"
highlight-current-row
style="width: 100%"
>
<el-table-column align="left" prop="subject" label="标题">
<template slot-scope="scope">
<span
style="
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
"
>{{ scope.row.subject }}</span
>
</template>
</el-table-column>
<el-table-column
align="center"
prop="newsTime"
label="时间"
width="150"
>
</el-table-column>
<el-table-column
align="center"
prop="clickCount"
label="点击"
width="120"
>
</el-table-column>
<el-table-column
align="center"
prop="commentCount"
label="评论"
width="50"
>
</el-table-column>
<el-table-column label="操作" width="50" align="center">
<template slot-scope="scope">
<el-button
@click="setParams(scope.row)"
type="text"
size="mini"
>
查看
</el-button>
</template>
</el-table-column>
</el-table>
<div style="margin-top: 10px">
<el-pagination
prev-text="上一页"
next-text="下一页"
layout="total,sizes,prev, pager, next,jumper"
:total="pageInfo.total"
:page-size="pageInfo.size"
:current-page="pageInfo.page"
@current-change="pageChange"
@size-change="sizeChange"
/>
</div>
</div>
</div>
</el-col>
</el-row>
</el-col>
</el-row>
</div>
</template>
<script>
import {
newsFromBoard, //获取栏目下的新闻列表
} from "@/api/list.js";
import {
getSelectedBoardTree, //获取指定栏目树
getBoardAndSubAllNews, //获取栏目及子栏目全部新闻列表
} from "@/api/homePage.js";
export default {
name: "show",
data() {
return {
breadList: [], //面包屑列表
pageInfo: {
page: 1,
size: 5,
// total
},
newsList: [],
dataTreeFile: [],
defaultProps: {
children: "children",
label: "boardName",
},
currentBoardPName: "",
currentBoardSName: ""
};
},
created() {
console.log("xxxxxxxxxxxx", this.$route.query);
this.getSubLevelBoardF(this.$route.query.boardId);
//如果是点击主菜单则显示主模块的全部数据,某个子菜单栏目就显示栏目的数据
var type = this.$route.query.type;
if (type == "menu") {
this.getBoardAndSubAllNews();
} else if (type == "sub") {
this.newsFromBoard();
}
},
//监听路由获取面包屑
watch: {
$route() {
console.log("xxxxxxxxxxxxroute", this.$route.query);
if (this.$route.query.boardId && this.$route.query.type) {
this.getSubLevelBoardF(this.$route.query.boardId);
//如果是点击主菜单则显示主模块的全部数据,某个子菜单栏目就显示栏目的数据
var type = this.$route.query.type;
if (type == "menu") {
this.getBoardAndSubAllNews();
} else if (type == "sub") {
this.newsFromBoard();
}
}
},
},
methods: {
//获取树形菜单
getSubLevelBoardF(boardId) {
var params = {};
params.boardId = boardId;
getSelectedBoardTree(params).then((res) => {
console.log("获取指定栏目树=", res);
this.dataTreeFile = res.data;
this.currentBoardPName = res.data[0].boardName;
this.currentBoardSName = ""
});
},
//获取法院新闻列表
newsFromBoard() {
this.pageInfo.boardId = this.$route.query.boardId;
newsFromBoard(JSON.stringify(this.pageInfo)).then((res) => {
if (res.success) {
console.log(res);
let { newsList } = res.data;
this.newsList = newsList.records;
this.pageInfo.total = newsList.total;
}
});
},
// 获取栏目及子栏目全部新闻列表
getBoardAndSubAllNews() {
this.pageInfo.boardId = this.$route.query.boardId;
getBoardAndSubAllNews(this.pageInfo).then((res) => {
if (res.success) {
this.newsList = res.data.records;
this.pageInfo.total = res.data.total;
}
});
},
handleNodeClick(data, node, obj) {
console.log(data, node, obj);
this.pageInfo.boardId = data.boardId;
this.currentBoardSName = data.boardName;
newsFromBoard(this.pageInfo).then((res) => {
if (res.success) {
this.newsList = res.data.newsList.records;
}
});
},
pageChange(e) {
this.pageInfo.page = e;
//如果是点击主菜单则显示主模块的全部数据,某个子菜单栏目就显示栏目的数据
var type = this.$route.query.type;
if (type == "menu") {
this.getBoardAndSubAllNews();
} else if (type == "sub") {
this.newsFromBoard();
}
},
sizeChange(e) {
this.pageInfo.size = e;
this.pageChange(1);
},
// 查看详情
setParams(val) {
window.open(`/#/gDetail?newsId=${val.newsId}`, "_blank");
this.$router.push({
path: "/gDetail", //跳转路由
query: {
//参数对象
newsId: val.newsId,
},
});
},
},
};
</script>
<style lang="scss" scoped>
// 树形菜单图标start-----------------------
.el-tree {
background: transparent;
}
.el-tree /deep/ .el-tree-node__expand-icon.expanded {
-webkit-transform: rotate(0deg);
transform: rotate(0deg);
}
/*//有子节点 且未展开*/
.el-tree /deep/ .el-icon-caret-right:before {
background: url("../../../assets/wjjg.png") no-repeat 0 3px;
content: "";
display: block;
width: 16px;
height: 16px;
font-size: 16px;
background-size: 16px;
}
/*//有子节点 且已展开*/
.el-tree /deep/ .el-tree-node__expand-icon.expanded.el-icon-caret-right:before {
background: url("../../../assets/wjjk.png") no-repeat 0 3px;
content: "";
display: block;
width: 16px;
height: 16px;
font-size: 16px;
background-size: 16px;
}
/*//没有子节点*/
.el-tree /deep/ .el-tree-node__expand-icon.is-leaf::before {
background: url("../../../assets/wj.png") no-repeat 0 3px;
content: "";
display: block;
width: 16px;
height: 16px;
font-size: 16px;
background-size: 16px;
}
// 树形菜单图标end-----------------------
.top-info {
margin: 15px 0;
border-bottom: 2px solid #34bab2;
padding-bottom: 15px;
}
.fist-text {
display: inline-block;
width: 26px;
height: 26px;
line-height: 26px;
text-align: center;
font-size: 15px;
color: #fff;
border-radius: 50%;
background: #1a3784;
margin-right: 3px;
}
.list-container {
// border:2px solid #34bab2;
// padding:15px 15px;
// margin-top:40px;
}
.list-title {
border-bottom: 1px dashed #ccc;
line-height: 35px;
}
// 列表start
.type-list li {
list-style-type: square;
// color: #0099ff;
color: blue;
font-size: 16px;
line-height: 35px;
border-bottom: 1px dashed #ccc;
}
.type-list li a {
color: #333;
font-size: 14px;
text-decoration: none;
}
.type-list li:hover {
// color: #ff6900;
color: red;
}
.type-list li:hover a {
// color: #ff6900
color: red;
}
.type-list li:last-of-type {
border-bottom: none;
}
// 列表end
ul {
margin: 0px;
padding: 0px;
padding-left: 15px;
}
.zone-style {
background-color: #fff;
padding: 15px 15px;
border-radius: 5px;
box-shadow: -5px 0px 20px 5px rgba(0, 0, 0, 0.05);
}
::v-deep {
.el-table th:first-child > .cell {
text-align: left !important;
}
}
</style>
\ No newline at end of file
<template>
<div>
<el-dialog :visible.sync="visible" title="提交审核" width="380px">
<div>
<el-input
type="textarea"
disabled
placeholder="请选择用户"
:value="selectUser.nickName || ''"
></el-input>
</div>
<div class="mt-10 text-center">
<el-button @click="getAssUserRecently" size="mini"
>最近联系人</el-button
>
<el-button @click="userShow = true" size="mini">选择审核用户</el-button>
<el-button @click="selectUser = {}" size="mini">清空</el-button>
</div>
<div class="mt-15 text-center">
<el-button @click="submit" size="mini" type="primary"
>确认</el-button
>
<el-button @click="visible = false" size="mini" type="danger"
>关闭</el-button
>
</div>
</el-dialog>
<el-dialog :visible.sync="userShow" title="选择审核人" width="380px">
<div>
<div>
<div class="title">板块负责人</div>
<div
v-for="(item, index) in assUserList.moderatorList"
:key="index"
class="list"
@click="select(item)"
>
{{ item.nickName }}
</div>
</div>
<div class="mt-20">
<div class="title">板块审核人</div>
<div
v-for="(item, index) in assUserList.assessorList"
:key="index"
class="list"
@click="select(item)"
>
{{ item.nickName }}
</div>
</div>
</div>
</el-dialog>
</div>
</template>
<script>
import { getAssUserList, getAssUserRecently } from "@/api/manage/manage";
export default {
data() {
return {
visible: false,
param: {},
//审核列表
userShow: false,
assUserList: {},
selectUser: {},
};
},
created() {},
methods: {
//显示审核框
dialogShow(param) {
console.log(param);
this.visible = true;
this.param = param;
this.getAssUserList();
},
//隐藏提交审核框
dialogClose() {
this.visible = false;
},
select(item) {
this.selectUser = item;
console.log(item);
this.userShow = false;
},
//获取审核人员
getAssUserList() {
getAssUserList({
boardId: this.param.boardId,
}).then((res) => {
if (res) {
this.assUserList = res.data;
} else {
this.$message.error(res.errMsg);
}
});
},
//最近审核人
getAssUserRecently() {
getAssUserRecently({
boardId: this.param.boardId,
}).then((res) => {
if (res.success) {
this.selectUser = res.data.id ? res.data : {};
} else {
this.$message.error(res.errMsg);
}
});
},
//提交
submit() {
this.$emit("submit", this.selectUser);
this.dialogClose();
},
},
};
</script>
<style lang="scss" scoped>
::v-deep {
.el-textarea__inner {
font-size: 18px;
}
.el-textarea.is-disabled .el-textarea__inner {
color: #303133;
}
}
.title {
line-height: 30px;
color: #333333;
background: #eeeeee;
text-align: center;
}
.list {
line-height: 30px;
// border-radius: 4px;
padding: 0 10px;
margin-top: 5px;
// text-align: center;
}
.list:hover {
background: #e6a23c;
// border-radius: 4px;
color: #ffffff;
font-weight: bold;
cursor: pointer;
}
</style>
\ No newline at end of file
<template>
<div>
<el-row>
<el-col :span="18" :offset="3">
<el-row class="mt-20 zone-style" :gutter="20">
<!--左边栏目开始-->
<el-col :span="5" class="border-zone">
<div class="list-container" style>
<div class="list-title mb-10" @click="loginEvent">选择栏目</div>
<el-tree :data="dataTreeFile" :props="defaultProps" @node-click="handleNodeClick"></el-tree>
</div>
</el-col>
<!--左边栏目结束-->
<el-col :span="19">
<div v-if="!curBoardId == ''">
<div>
<el-tabs type="border-card" v-model="activeName" @tab-click="handleTabClick">
<el-tab-pane name="first">
<span slot="label">
<i class="el-icon-date"></i> 管理列表
</span>
<el-table
border
ref="multipleTable"
:data="manageList"
style="width: 100%"
height="550"
@selection-change="handleSelectionChange1"
>
<el-table-column type="selection" width="55"></el-table-column>
<el-table-column label="标题" prop="subject">
<template slot-scope="scope">
<span
class="subject"
@click="handleEdit(scope.row.newsId)"
>{{ scope.row.subject }}</span>
</template>
</el-table-column>
<el-table-column prop="boardName" label="所属栏目"></el-table-column>
<el-table-column prop="provider" label="责任编辑"></el-table-column>
<el-table-column prop="newsTime" label="创建/修改时间"></el-table-column>
<el-table-column prop="clickCount" label="点击次数" width="50" align="center">
<template slot-scope="scope">
<span v-if="scope.row.clickCount == null">0</span>
<span v-else>{{ scope.row.clickCount }}</span>
</template>
</el-table-column>
<el-table-column prop="commentCount" label="评论(条)" width="50" align="center"></el-table-column>
<el-table-column prop="adviceCount" label="建议(条)" width="50" align="center"></el-table-column>
<el-table-column prop="publish" label="审核发布状态">
<template slot-scope="scope">
<el-tag
:type="scope.row.publish | statusFilters"
>{{ scope.row.publish | getStatus }}</el-tag>
</template>
</el-table-column>
<!-- <el-table-column label="报送状态">
<template slot-scope="scope">
<div v-if="scope.row.sbGy == '1'">已报高院,未读</div>
<div v-if="scope.row.sbGy == '2'">已报高院,已阅</div>
<div v-if="scope.row.sbGy == '3'">已报高院,采用</div>
<div v-if="scope.row.sbZy == '1'">已报中院,未读</div>
<div v-if="scope.row.sbZy == '2'">已报中院,已阅</div>
<div v-if="scope.row.sbZy == '3'">已报中院,采用</div>
</template>
</el-table-column> -->
<el-table-column label="操作">
<template slot-scope="scope">
<el-button
@click="logDetailEvent(scope.row.newsId)"
type="text"
size="mini"
>日志</el-button>
<el-button
@click="handleCheck(scope.row.newsId)"
type="text"
size="mini"
>查看</el-button>
<el-button
@click="handleEdit(scope.row.newsId)"
type="text"
size="mini"
>修改</el-button>
<el-button
@click="handleDelete(scope.row.newsId)"
type="text"
size="mini"
>删除</el-button>
<el-button
@click="commentEvent(scope.row.newsId)"
type="text"
size="mini"
>评论</el-button>
<el-button
v-if="
scope.row.publish == 5 || scope.row.publish == 3
"
@click="
newsFormEdit = scope.row;
updateNews('4');
"
type="text"
size="mini"
>提交审核</el-button>
<el-button
@click="openCheckSuggest(scope.row.newsId)"
type="text"
size="mini"
>建议查看</el-button>
</template>
</el-table-column>
</el-table>
<el-row class="mt-10">
<el-button type="primary" size="mini" @click="upLetterEvent">发送审批提醒短信</el-button>
</el-row>
<div style="margin-top: 10px">
<el-pagination
prev-text="上一页"
next-text="下一页"
layout="total,sizes,prev, pager, next,jumper"
:total="pageInfo.total"
:page-size="pageInfo.size"
:current-page="pageInfo.page"
@current-change="pageChange"
@size-change="sizeChange"
/>
</div>
</el-tab-pane>
<el-tab-pane name="second">
<span slot="label">
<i class="el-icon-date"></i>添加信息
</span>
<el-form ref="form" :model="newsForm" label-width="120px">
<el-form-item label="格式">
<el-select v-model="newsForm.geshi" placeholder="请选择格式">
<el-option label="普通格式" value="0"></el-option>
</el-select>
<span class="ml-15">提示:在word文档中编辑好后,复制黏贴到编辑框</span>
</el-form-item>
<el-form-item label="所属栏目">
<el-row>
<el-col :span="6">
<!-- 工作信息->最高人民法院简报 -->
<span style="color: red">
{{
newsForm.boardName
}}
</span>
</el-col>
</el-row>
</el-form-item>
<el-form-item label="标题">
<el-input v-model="newsForm.subject"></el-input>
</el-form-item>
<el-form-item label="多附件上传">
<el-upload
class="upload-demo"
ref="fileUpload"
multiple
:file-list="fileList"
:auto-upload="false"
action="#"
accept=".doc, .docx, application/msword, application/vnd.openxmlformats-officedocument.wordprocessingml.document, .pdf, image/*, audio/*, video/*, .xls, .xlsx, .xml, .txt"
name="fileList"
:show-file-list="true"
:on-change="uploadSuccess"
:on-remove="handleRemove"
>
<el-button class="area-btn">浏览文件</el-button>
</el-upload>
</el-form-item>
<div class="mb-15" style="width: 100%">
<vue-ueditor-wrap v-model="htmlContent" :config="myConfig"></vue-ueditor-wrap>
</div>
<!-- 如果是高院的就都没有上报高院和上报中院,中院有上报高院 ,就是sbGy,基层院有上报高院 还要上报中院 sbZy -->
<el-form-item label="上报高院" v-if="userLevel != '高院'">
<el-checkbox v-model="newsForm.sbGy" true-label="1" false-label="0"></el-checkbox>
</el-form-item>
<el-form-item label="上报中院" v-if="userLevel != '高院' && userLevel != '中院'">
<el-checkbox v-model="newsForm.sbZy" true-label="1" false-label="0"></el-checkbox>
</el-form-item>
<el-form-item align="center">
<!-- // 然后是publish ,点击发布的话是1,提交审核是4,保存是5 -->
<el-button type="primary" @click="createNewsEvent('5')">保存</el-button>
<el-button>取消</el-button>
</el-form-item>
</el-form>
<!-- UEditor -->
</el-tab-pane>
<el-tab-pane name="third">
<span slot="label">
<i class="el-icon-date"></i>审核列表
</span>
<el-table
ref="multipleTable1"
:data="assList"
tooltip-effect="dark"
style="width: 100%"
border
height="550"
@selection-change="handleSelectionChange2"
>
<el-table-column type="selection" width="55"></el-table-column>
<el-table-column prop="subject" label="标题" width></el-table-column>
<el-table-column prop="boardName" label="所属栏目" width></el-table-column>
<el-table-column prop="provider" label="责任编辑" show-overflow-tooltip></el-table-column>
<el-table-column prop="newsTime" label="创建/修改时间" width></el-table-column>
<el-table-column prop="clickCount" label="点击次数" width="70" align="center">
<template slot-scope="scope">
<span v-if="scope.row.clickCount == null">0</span>
<span v-else>{{ scope.row.clickCount }}</span>
</template>
</el-table-column>
<el-table-column prop="commentCount" label="评论(条)" width="70" align="center"></el-table-column>
<el-table-column prop="adviceCount" label="建议(条)" width="70" align="center"></el-table-column>
<el-table-column prop="publish" label="状态" width>
<template slot-scope="scope">
<el-tag
:type="scope.row.publish | statusFilters"
>{{ scope.row.publish | getStatus }}</el-tag>
</template>
</el-table-column>
<el-table-column label="操作" width="120">
<template slot-scope="scope">
<el-button
@click="openAudit(scope.row.newsId)"
type="text"
size="small"
>审核</el-button>
<el-button
@click="openSuggest(scope.row.newsId)"
type="text"
size="small"
>提建议</el-button>
</template>
</el-table-column>
</el-table>
<el-row class="mt-10">
<!-- 创建未提交审核为5,提交审核为4,审核不通过为3,通过已发布为1 -->
<el-button type="primary" size="mini" @click="assInfoBatch">批量打开</el-button>
<el-button type="primary" size="mini" @click="assInfoBatchOp(1)">批量审核通过并发布</el-button>
<el-button type="primary" size="mini" @click="assInfoBatchOp(3)">批量审核不通过</el-button>
</el-row>
<div style="margin-top: 10px">
<el-pagination
prev-text="上一页"
next-text="下一页"
layout="total,sizes,prev, pager, next,jumper"
:total="pageInfoAss.total"
:page-size="pageInfoAss.size"
:current-page="pageInfoAss.page"
@current-change="pageChangeAss"
@size-change="sizeChangeAss"
/>
</div>
</el-tab-pane>
<el-tab-pane name="fourth">
<span slot="label">
<i class="el-icon-date"></i>查询
</span>
<el-form ref="searchForm" :model="form" label-width="80px">
<el-form-item label="格式">
<el-select v-model="pageInfoSearch.geshi" placeholder="请选择格式" clearable>
<el-option label="普通格式" value="0"></el-option>
</el-select>
</el-form-item>
<el-form-item label="类型">
<!-- 创建未提交审核为5,提交审核为4,审核不通过为3,通过已发布为1 -->
<el-select
v-model="pageInfoSearch.boardId"
disabled
placeholder="栏目类型"
clearable
>
<el-option
:label="item.boardName"
:value="item.boardId"
v-for="item in boardLists"
:key="item.boardId"
></el-option>
</el-select>
</el-form-item>
<el-form-item label="状态">
<!-- 创建未提交审核为5,提交审核为4,审核不通过为3,通过已发布为1 -->
<el-select v-model="pageInfoSearch.publish" placeholder="请选择状态" clearable>
<el-option label="创建未提交审核" value="5"></el-option>
<el-option label="提交审核" value="4"></el-option>
<el-option label="审核不通过" value="3"></el-option>
<el-option label="通过已发布" value="1"></el-option>
</el-select>
</el-form-item>
<el-form-item label="标题">
<el-col :span="11" style="padding-left: 0; padding-right: 0">
<el-input v-model="pageInfoSearch.subject"></el-input>
</el-col>
</el-form-item>
<el-form-item label="发布日期">
<el-col :span="11" style="padding-left: 0; padding-right: 0">
<el-date-picker
v-model="pageInfoSearch.stime"
type="datetime"
placeholder="选择开始日期时间"
default-time="00:00:00"
value-format="yyyy-MM-dd HH:mm:ss"
style="width: 100%"
></el-date-picker>
</el-col>
<el-col class="line" :span="2" style="text-align: center">-</el-col>
<el-col :span="11">
<el-date-picker
v-model="pageInfoSearch.etime"
type="datetime"
placeholder="选择结束日期时间"
default-time="00:00:00"
value-format="yyyy-MM-dd HH:mm:ss"
style="width: 100%"
></el-date-picker>
</el-col>
</el-form-item>
<el-form-item label="内容">
<el-col :span="11" style="padding-left: 0; padding-right: 0">
<el-input v-model="pageInfoSearch.content"></el-input>
</el-col>
</el-form-item>
<el-form-item label="点击次数">
<el-col :span="11" style="padding-left: 0; padding-right: 0">
<el-input
v-model="pageInfoSearch.minClick"
@input="changeInput1"
placeholder="只能输入大于0的正整数"
></el-input>
</el-col>
<el-col
class="line"
:span="2"
style="
text-align: center;
white-space: nowrap;
font-size: 12px;
"
></el-col>
<el-col :span="11">
<el-input
type="number"
v-model="pageInfoSearch.maxClick"
@input="changeInput2"
placeholder="只能输入大于0的正整数"
></el-input>
</el-col>
</el-form-item>
<el-form-item>
<el-button type="primary" @click="findNews()">查询</el-button>
<el-button @click="resetSearch()">重置</el-button>
</el-form-item>
</el-form>
<el-row>
<el-table border :data="manageListSearch" style="width: 100%">
<el-table-column label="标题" prop="subject"></el-table-column>
<el-table-column prop="boardName" label="所属栏目"></el-table-column>
<el-table-column prop="provider" label="责任编辑"></el-table-column>
<el-table-column prop="newsTime" label="创建/修改时间"></el-table-column>
<el-table-column prop="clickCount" label="点击次数" align="center">
<template slot-scope="scope">
<span v-if="scope.row.clickCount == null">0</span>
<span v-else>{{ scope.row.clickCount }}</span>
</template>
</el-table-column>
<el-table-column prop="commentCount" label="评论(条)" align="center"></el-table-column>
<el-table-column prop="adviceCount" label="建议(条)" align="center"></el-table-column>
<el-table-column prop="publish" label="审核发布状态">
<template slot-scope="scope">
<el-tag
:type="scope.row.publish | statusFilters"
>{{ scope.row.publish | getStatus }}</el-tag>
</template>
</el-table-column>
<!-- <el-table-column prop label="报送状态">
<template slot-scope="scope">
<div v-if="scope.row.sbGy == '1'">已报高院,未读</div>
<div v-if="scope.row.sbGy == '2'">已报高院,已阅</div>
<div v-if="scope.row.sbGy == '3'">已报高院,采用</div>
<div v-if="scope.row.sbZy == '1'">已报中院,未读</div>
<div v-if="scope.row.sbZy == '2'">已报中院,已阅</div>
<div v-if="scope.row.sbZy == '3'">已报中院,采用</div>
</template>
</el-table-column> -->
</el-table>
<div style="margin-top: 10px">
<el-pagination
prev-text="上一页"
next-text="下一页"
layout="total,sizes,prev, pager, next,jumper"
:total="pageInfoSearch.total"
:page-size="pageInfoSearch.size"
:current-page="pageInfoSearch.page"
@current-change="pageChangeSearch"
@size-change="sizeChangeSearch"
/>
</div>
</el-row>
</el-tab-pane>
</el-tabs>
</div>
</div>
</el-col>
</el-row>
</el-col>
</el-row>
<!--0、管理列表---查看管理列表弹窗开始 -->
<el-dialog title="查看" width="70%" :visible.sync="checkVisible" :before-close="handleCloseCheck">
<el-form ref="form" :model="newsFormEdit" label-width="120px">
<el-form-item label="格式">
<el-select disabled v-model="newsFormEdit.geshi" placeholder="请选择格式">
<el-option label="普通格式" value="0"></el-option>
</el-select>
<span class="ml-15">提示:仅查看不可编辑</span>
</el-form-item>
<el-form-item label="标题">
<el-input disabled v-model="newsFormEdit.subject"></el-input>
</el-form-item>
<el-form-item label="多附件上传">
<el-upload
disabled
class="upload-demo"
ref="fileUpload"
multiple
:file-list="fileListEdit"
:auto-upload="false"
action="#"
name="fileList"
:show-file-list="true"
:on-change="uploadSuccessEdit"
:on-remove="handleRemoveEdit"
:on-preview="handlePreviewEdit"
>
<el-button disabled class="area-btn">浏览文件</el-button>
</el-upload>
</el-form-item>
<div class="mb-15" style="width: 100%">
<vue-ueditor-wrap v-model="newsFormEdit.content" :config="checkConfig"></vue-ueditor-wrap>
</div>
<el-form-item label="上报高院" v-if="userLevel != '高院'">
<el-checkbox disabled v-model="newsFormEdit.sbGy" true-label="1" false-label="0"></el-checkbox>
</el-form-item>
<el-form-item label="上报中院" v-if="userLevel != '高院' && userLevel != '中院'">
<el-checkbox disabled v-model="newsFormEdit.sbZy" true-label="1" false-label="0"></el-checkbox>
</el-form-item>
<el-form-item align="center">
<el-button @click="handleCloseCheck">关闭</el-button>
</el-form-item>
</el-form>
</el-dialog>
<!--1、管理列表---修改管理列表弹窗开始 -->
<el-dialog title="修改" width="70%" :visible.sync="editVisible" :before-close="handleCloseEdit">
<el-form ref="form" :model="newsFormEdit" label-width="120px">
<el-form-item label="格式">
<el-select v-model="newsFormEdit.geshi" placeholder="请选择格式">
<el-option label="普通格式" value="0"></el-option>
</el-select>
<span class="ml-15">提示:在word文档中编辑好后,复制黏贴到编辑框</span>
</el-form-item>
<el-form-item label="标题">
<el-input v-model="newsFormEdit.subject"></el-input>
</el-form-item>
<el-form-item label="多附件上传">
<el-upload
class="upload-demo"
ref="fileUpload"
multiple
:file-list="fileListEdit"
:auto-upload="false"
action="#"
name="fileList"
:show-file-list="true"
accept=".doc, .docx, application/msword, application/vnd.openxmlformats-officedocument.wordprocessingml.document, .pdf, image/*, audio/*, video/*, .xls, .xlsx, .xml, .txt"
:on-change="uploadSuccessEdit"
:on-remove="handleRemoveEdit"
:on-preview="handlePreviewEdit"
>
<el-button class="area-btn">浏览文件</el-button>
</el-upload>
</el-form-item>
<div class="mb-15" style="width: 100%">
<vue-ueditor-wrap v-model="newsFormEdit.content" :config="myConfig"></vue-ueditor-wrap>
</div>
<el-form-item label="上报高院" v-if="userLevel != '高院'">
<el-checkbox v-model="newsFormEdit.sbGy" true-label="1" false-label="0"></el-checkbox>
</el-form-item>
<el-form-item label="上报中院" v-if="userLevel != '高院' && userLevel != '中院'">
<el-checkbox v-model="newsFormEdit.sbZy" true-label="1" false-label="0"></el-checkbox>
</el-form-item>
<el-form-item align="center">
<!-- //创建未提交审核即保存为5,提交审核为4,审核不通过为3,通过已发布为1 -->
<el-button type="primary" @click="updateNews('4')">提交审核</el-button>
<el-button type="primary" @click="openSuggest(newsFormEdit.newsId)">建议</el-button>
<el-button type="primary" @click="updateNews('5')">保存</el-button>
<el-button @click="handleCloseEdit">关闭</el-button>
</el-form-item>
</el-form>
</el-dialog>
<!-- 1、管理列表---修改管理列表弹窗结束 -->
<!-- 2、管理列表---评论弹窗start-->
<el-dialog title="评论列表" :visible.sync="commentDialog" width="40%" :before-close="handleComment">
<div>
<el-table
:data="messageDetailDataList"
border
:header-cell-style="{ 'text-align': 'center', color: '#606266' }"
style="width: 100%"
row-key="id"
default-expand-all
:tree-props="{ children: 'children', hasChildren: 'hasChildren' }"
>
<el-table-column prop="content" label="评论内容"></el-table-column>
<el-table-column prop="userId" label="评论人"></el-table-column>
<el-table-column prop="reTime" label="时间"></el-table-column>
</el-table>
</div>
<span slot="footer" class="dialog-footer">
<el-button type="primary" @click="handleComment">关闭</el-button>
</span>
</el-dialog>
<!--2、管理列表---评论弹窗end-->
<!--3、审核列表--审核弹窗开始 -->
<el-dialog width="70%" :visible.sync="auditVisible" :before-close="handleCloseAudit">
<el-form ref="form" :model="newsForm" label-width="120px">
<el-form-item label="格式">
<el-select v-model="newsFormEdit.geshi" placeholder="请选择格式" disabled>
<el-option label="普通格式" value="0"></el-option>
</el-select>
<span class="ml-15">提示:在word文档中编辑好后,复制黏贴到编辑框</span>
</el-form-item>
<el-form-item label="所属栏目">
<el-row>
<el-col :span="6">
<!-- 工作信息->最高人民法院简报 -->
{{ newsFormEdit.boardName }}
</el-col>
</el-row>
</el-form-item>
<el-form-item label="标题">
<el-input v-model="newsFormEdit.subject" disabled></el-input>
</el-form-item>
<el-form-item label="多附件上传">
<el-upload
disabled
class="upload-demo"
ref="fileUpload"
multiple
:file-list="fileListEdit"
:auto-upload="false"
action="#"
accept=".doc, .docx, application/msword, application/vnd.openxmlformats-officedocument.wordprocessingml.document, .pdf, image/*, audio/*, video/*, .xls, .xlsx, .xml, .txt"
name="fileList"
:show-file-list="true"
:on-change="uploadSuccessEdit"
:on-remove="handleRemoveEdit"
:on-preview="handlePreviewEdit"
>
<el-button class="area-btn">浏览文件</el-button>
</el-upload>
</el-form-item>
<el-form-item label="内容">
<div class="mb-15" style="width: 100%">
<div v-html="newsFormEdit.content"></div>
</div>
</el-form-item>
<el-form-item align="center">
<!-- //创建未提交审核保存为5,提交审核为4,审核不通过为3,通过已发布为1 -->
<el-button type="primary" @click="updateNews('1')">通过</el-button>
<el-button @click="updateNews('3')">不通过</el-button>
</el-form-item>
</el-form>
</el-dialog>
<!--3、审核列表-- 审核弹窗结束 -->
<!---4、审核列表--提建议弹窗start-->
<el-dialog
title="提建议"
:visible.sync="suggestVisible"
width="40%"
:before-close="handleCloseSuggest"
>
<div>
<el-form ref="refAdviceForm" :model="adviceForm" label-width="80px">
<el-form-item label="内容:">
<el-input type="textarea" v-model="adviceForm.content" :rows="5"></el-input>
</el-form-item>
<el-form-item>
<el-button type="primary" @click="saveAdvise">确 定</el-button>
<el-button @click="clearSuggestForm">重置</el-button>
</el-form-item>
</el-form>
<el-card class="box-card">
<div slot="header" class="clearfix">
<span>历史建议</span>
<!-- <el-button style="float: right; padding: 3px 0" type="text">操作按钮</el-button> -->
</div>
<el-table :data="adviceDetailData" border style="width: 100%">
<el-table-column prop="fromId" label="建议人" width="180"></el-table-column>
<el-table-column prop="content" label="内容" width="180"></el-table-column>
<el-table-column prop="sendTime" label="时间"></el-table-column>
</el-table>
</el-card>
</div>
<span slot="footer" class="dialog-footer">
<el-button type="primary" @click="handleCloseSuggest">关闭</el-button>
</span>
</el-dialog>
<!---4、审核列表--提建议弹窗end-->
<!---5、收报信息--留言弹窗start-->
<el-dialog title="留言" :visible.sync="leaveVisible" width="40%" :before-close="handleCloseLeave">
<div>
<el-table
:data="messageDetailDataList"
border
:header-cell-style="{ 'text-align': 'center', color: '#606266' }"
style="width: 100%"
row-key="id"
default-expand-all
:tree-props="{ children: 'children', hasChildren: 'hasChildren' }"
>
<el-table-column prop="content" label="评论内容"></el-table-column>
<el-table-column prop="userId" label="评论人"></el-table-column>
<el-table-column prop="reTime" label="时间"></el-table-column>
</el-table>
</div>
<span slot="footer" class="dialog-footer">
<el-button type="primary" @click="handleCloseLeave">关闭</el-button>
</span>
</el-dialog>
<!---5、收报信息--留言弹窗end-->
<!---6、所属部门弹窗start-->
<dept-list ref="refDept" :deptVisible.sync="deptVisible"></dept-list>
<!---6、所属部门弹窗end-->
<!-- 7、日志弹窗start-->
<el-dialog title="日志" :visible.sync="logVisible" width="40%" :before-close="handleCloseLog">
<div class="log-detail-dialog">
<el-scrollbar style="height: 100%">
<p v-for="(item, index) in logContent" :key="index">{{ item }}</p>
</el-scrollbar>
</div>
<span slot="footer" class="dialog-footer">
<el-button type="primary" @click="handleCloseLog">关闭</el-button>
</span>
</el-dialog>
<!-- 7、日志弹窗end -->
<!-- 8、审核批量打开start -->
<el-dialog
title="批量打开新闻"
:visible.sync="batchDialogVisible"
top="3%"
width="60%"
:before-close="handleColseAssInfo"
center
>
<div style="height: 650px; over-flow: hidden; overflow-y: auto">
<el-checkbox-group v-model="checkedCities" @change="handleCheckedCitiesChange">
<el-row style="padding: 0 15px">
<div class="mb-30" v-for="(item, index) in batchList" :key="index">
<h2
style="
color: red;
font-size: 13px;
text-align: center !important;
"
>{{ item.newsDetail.subject }}</h2>
<div
v-if="item.newsDetail.newsTime"
style="color: #999999; font-size: 12px; text-align: right"
>发布时间:{{ item.newsDetail.newsTime.substring(0, 10) }}</div>
<div v-if="item.attachList">
<el-image
style="margin-top: 5px; width: 100%; margin-bottom: 5px"
fit="contain"
v-for="v in item.attachList"
:key="v.id"
:src="v.downloadPath"
></el-image>
</div>
<div class="view-html" style="width: 100%" v-html="item.newsDetail.content"></div>
<div class="wiriter-intro">作者: {{ item.newsDetail.provider }}</div>
<div style="text-align: center; margin-top: 10px">
<el-checkbox :label="item.newsDetail.newsId" :key="item.newsDetail.newsId">标记</el-checkbox>
<el-button
class="ml-15"
type="primary"
@click="openSuggest(item.newsDetail.newsId)"
>提建议</el-button>
</div>
</div>
</el-row>
</el-checkbox-group>
</div>
<span slot="footer" class="dialog-footer">
<el-checkbox
:indeterminate="isIndeterminate"
v-model="checkAll"
@change="handleCheckAllChange"
>全部标记</el-checkbox>
<el-button class="ml-15" type="primary" @click="assInfoBatchOp(1)">通过</el-button>
<el-button @click="assInfoBatchOp(3)">不通过</el-button>
<el-button @click="handleColseAssInfo">关闭</el-button>
</span>
</el-dialog>
<!-- 8、审核批量打开end -->
<!-- 9、收报批量打开start -->
<el-dialog
title="批量打开新闻"
:visible.sync="opendialogVisible"
top="3%"
width="60%"
:before-close="handleCloseGet"
center
>
<div style="height: 650px; over-flow: hidden; overflow-y: auto">
<el-checkbox-group v-model="checkedCities" @change="handleCheckedCitiesChangegGet">
<el-row style="padding: 0 15px">
<div class="mb-30" v-for="(item, index) in batchList" :key="index">
<h2
style="
color: red;
font-size: 13px;
text-align: center !important;
"
>{{ item.newsDetail.subject }}</h2>
<div
v-if="item.newsDetail.newsTime"
style="color: #999999; font-size: 12px; text-align: right"
>发布时间:{{ item.newsDetail.newsTime.substring(0, 10) }}</div>
<div v-if="item.attachList">
<el-image
style="margin-top: 5px; width: 100%; margin-bottom: 5px"
fit="contain"
v-for="v in item.attachList"
:key="v.id"
:src="v.downloadPath"
></el-image>
</div>
<div class="view-html" style="width: 100%" v-html="item.newsDetail.content"></div>
<div class="wiriter-intro">作者: {{ item.newsDetail.provider }}</div>
<div style="text-align: center; margin-top: 10px">
<el-checkbox :label="item.newsDetail.newsId" :key="item.newsDetail.newsId">标记</el-checkbox>
<el-button
class="ml-15"
type="primary"
@click="openSuggest(item.newsDetail.newsId)"
>提建议</el-button>
</div>
</div>
</el-row>
</el-checkbox-group>
</div>
<span slot="footer" class="dialog-footer">
<el-checkbox v-model="checkAll" @change="handleCheckAllChange2">全部标记</el-checkbox>
<el-button class="ml-15" type="primary" @click="sbBatchUseOrNot(3)">采用</el-button>
<el-button @click="sbBatchUseOrNot(1)">不采用</el-button>
<el-button @click="handleCloseGet">关闭</el-button>
</span>
</el-dialog>
<!-- 9、收报批量打开end -->
<!-- 10、查看建议 -->
<el-dialog
title="查看建议"
:visible.sync="suggestCheckVisible"
width="40%"
:before-close="handleCloseSuggestCheck"
>
<div>
<el-card class="box-card">
<el-table :data="adviceDetailData" border style="width: 100%">
<el-table-column prop="fromId" label="建议人" width="180"></el-table-column>
<el-table-column prop="content" label="内容" width="180"></el-table-column>
<el-table-column prop="sendTime" label="时间"></el-table-column>
</el-table>
</el-card>
</div>
<span slot="footer" class="dialog-footer">
<el-button type="primary" @click="handleCloseSuggestCheck">关闭</el-button>
</span>
</el-dialog>
<audit ref="audit" @submit="getAuditUser"></audit>
</div>
</template>
<script>
import vueUeditorWrap from "vue-ueditor-wrap";
import deptList from "@/components/deptList";
import {
getBoardTree,
createNews,
findCurrentDepts,
getManageList,
userCourtLevel,
assInfoList, //审核列表
getSBReceiveList, //收报信息--接收
getSBSubmittedList, //收报信息--报送
deleteNews, //删除信息
newsDetail, //新闻详情
giveAdvise, //提建议
messageDetail, //留言详情
updateNews, //修改信息
assInfoBatch, //审核信息批量打开
assInfoBatchOp, //审核信息批量操作
batchOpenNews, //批量打开新闻
sbBatch, //收报批量打开
sbBatchUseOrNot, //收报批量采用或不采用
adviceDetail, //建议详情
logDetail, //日志详情
findNews, //搜索信息
delFile, //删除附件
sendBatchAssRemindSms, //批量短信
boardList,
boardDetail // 栏目详情
} from "@/api/guidance/manage.js";
import { removeToken } from "@/utils/auth";
import { getInfo, logout } from "@/api/login";
import { getUserInfo } from "@/utils/auth";
import audit from "./audit";
export default {
name: "show",
components: {
vueUeditorWrap,
deptList, //所属部门组件
audit
},
data() {
return {
checkAll: false,
checkedCities: [], //批量打开审核的选择的标记集合
isIndeterminate: false,
batchList: [], //批量打开集合
batchDialogVisible: false, // 审核批量打开弹窗
opendialogVisible: false, //收报批量打开弹窗
messageDetailDataList: [],
delFileList: [], //删除附件
userInfo: {}, //用户信息
// selectData:'',//所属部门
logVisible: false, //日志弹窗
logDetailData: {}, //日志详情
messageDetailData: {}, //留言详情
searchTxt: "", //所属部门
deptListData: [], //所属部门
deptVisible: false, //所属部门弹窗
newsFormEdit: {}, //新闻编辑修改
multipleSelection1: [], //勾选1
multipleSelection2: [], //勾选1
multipleSelection3: [], //勾选1
manageSearchList: [], //管理列表查询搜索
adviceForm: {
content: ""
}, //提建议
adviceDetailData: [], //历史建议列表
commentDialog: false, //管理列表--评论弹窗
commentForm: {}, //评论弹窗
pageInfo: {
page: 1,
size: 10,
total: 0
}, //管理
pageInfoSearch: {
page: 1,
size: 10,
total: 0
}, //管理
manageListSearch: [],
pageInfoAss: {
page: 1,
size: 10,
total: 0
}, //审核列表
pageInfoRe: {
page: 1,
size: 10,
total: 0
}, //收报信息
assList: [], //审核列表
reportList: [], //收报信息
editVisible: false, //修改管理列表
checkVisible: false, //查看管理列表
userLevel: "", //用户法院等级
auditVisible: false, //审核弹窗
suggestVisible: false, //提建议弹窗
leaveVisible: false, //收报信息--留言
curBoardId: "", //当前栏目id
fileList: [], //上传附件
fileListEdit: [], //编辑附件
htmlContent: "",
// 富文本配置
myConfig: {
//是否自动清除编辑器初始内容
autoClearinitialContent: true,
// 编辑器不自动被内容撑高
autoHeightEnabled: false,
enableAutoSave: false,
// 初始容器高度
initialFrameHeight: 300,
// 初始容器宽度
initialFrameWidth: "99%",
// 上传文件接口
// serverUrl: "",
UEDITOR_HOME_URL: "/UEditor/"
},
checkConfig: {
//查看功能的富文本编辑器
//编辑区域是否是只读的
readonly: true,
// 编辑器不自动被内容撑高
autoHeightEnabled: false,
// 初始容器高度
initialFrameHeight: 300,
// 初始容器宽度
initialFrameWidth: "99%",
// 上传文件接口
// serverUrl: "",
UEDITOR_HOME_URL: "/UEditor/"
},
deptList: [], //本院部门
manageList: [], //获取管理列表
newsForm: {
geshi: "0", //格式
subject: "", //标题
boardName: "", //当前栏目名
boardId: "", //当前栏目id
isTop: "0", //是否头条 0否1是
typeIds: [], //信息所属分类
// deptId:2547,//用户部门id
sendToBoards: "0", //发送到教育整顿
// labelDept:null,//信息所属部门
sbGy: "0", //上报高院
sbZy: "0" //上报中院
// name: '',
// region: '',
// date1: '',
// date2: '',
// delivery: false,
// type: [],
// resource: '',
// desc: ''
},
form: {
name: "",
region: "",
date1: "",
date2: "",
delivery: false,
type: [],
resource: "",
desc: ""
},
activeName: "first",
dataTreeFile: [],
defaultProps: {
children: "children",
label: "boardName"
},
logContent: [], // 正则后日志详情
userCourt: "", // 当前用户所在法院
reportRadio: 1, // 收报信息---1:接收,2:报送
reportListLoading: false, // 收报信息列表加载
isShowColumn: false, // 添加信息---是否显示所属栏目
boardLists: [],
suggestCheckVisible: false
};
},
mounted() {},
created() {
console.log("登录路径==", process.env.VUE_APP_LOGIN_API);
this.getBoardTree(); //获取左边栏目树
this.findCurrentDepts(); //获取本院部门
this.getUserCourtLevel(); //用户法院等级
this.getUserInfo();
},
filters: {
statusFilters(status) {
// 0是引用1是正常
const statusMap = { 3: "danger", 1: "success", 4: "info", 5: "warning" };
return statusMap[status];
},
// 创建未提交审核为5,提交审核为4,审核不通过为3,通过已发布为1
getStatus(data) {
switch (data) {
case "1":
return "通过";
case "3":
return "审核不通过";
case "4":
return "提交审核";
case "5":
return "未提交审核";
default:
return data;
}
}
},
// 模糊搜索所属部门start
computed: {
searchResult() {
if (this.searchTxt) {
return this.deptListData.filter(item =>
item.name.includes(this.searchTxt)
);
} else {
return this.deptListData;
}
},
VUE_APP_LOGIN_API() {
console.log("登录路径", process.env.VUE_APP_LOGIN_API);
return process.env.VUE_APP_LOGIN_API;
}
},
// 模糊搜索所属部门end
methods: {
selectUser() {
this.$refs.audit.dialogShow({ boardId: this.newsForm.boardId });
},
getAuditUser(param) {
console.log(param);
this.$set(this.newsForm, "assUser", param.userName);
this.$set(this.newsForm, "nickName", param.nickName);
},
boardList(boardId) {
boardDetail({ boardId: boardId }).then(res => {
if (res.success) {
this.boardLists = [];
this.boardLists.push(res.data);
this.pageInfoSearch.boardId = res.data.boardId;
this.$forceUpdate();
console.log("----------------栏目类型获取", this.boardLists);
} else {
this.$message.error(res.errMsg);
}
});
},
//选择标记--审核
handleCheckedCitiesChange(value) {
console.log("批量选择标记=", value);
this.multipleSelection2 = value; //复制给勾选的值
},
// 全部标记----审核
handleCheckAllChange(val) {
console.log("批量选择标记全选=", val);
let arr = [];
this.batchList.forEach(item => {
arr.push(item.newsDetail.newsId);
});
this.checkedCities = val ? arr : [];
console.log("批量选择标记全选值=", this.checkedCities);
this.multipleSelection3 = this.checkedCities; //复制给勾选的值
this.isIndeterminate = false;
},
//选择标记--收报
handleCheckedCitiesChangegGet(value) {
console.log("批量选择标记=", value);
this.multipleSelection2 = value; //复制给勾选的值
},
// 全部标记--收报
handleCheckAllChange2(val) {
console.log("批量选择标记全选=", val);
let arr = [];
this.batchList.forEach(item => {
arr.push(item.newsDetail.newsId);
});
this.checkedCities = val ? arr : [];
console.log("批量选择标记全选值=", this.checkedCities);
this.multipleSelection3 = this.checkedCities; //复制给勾选的值
this.isIndeterminate = false;
},
getUserInfo() {
getInfo().then(res => {
this.userInfo = res.user;
console.log("userInfo=======================", this.userInfo);
});
},
//勾选管理列表
handleSelectionChange1(val) {
console.log("勾选1==", val);
// this.multipleSelection1 = val;
var newsIdArr = [];
val.forEach(item => {
newsIdArr.push(item.newsId);
});
this.multipleSelection1 = newsIdArr;
},
// 管理列表批量短信
upLetterEvent() {
let params = {};
params.newsIds = this.multipleSelection1;
// params.publish=publish;
sendBatchAssRemindSms(JSON.stringify(params)).then(res => {
if (res.success) {
this.getManageList(); //刷新列表
this.$message({
message: "发送审核提醒成功!",
type: "success"
});
} else {
this.$message.error(res.errMsg);
}
});
},
//勾选审核列表----接口用不了
handleSelectionChange2(val) {
console.log("勾选2==", val);
var newsIdArr = [];
val.forEach(item => {
newsIdArr.push(item.newsId);
});
this.multipleSelection2 = newsIdArr;
},
//勾选收报列表
handleSelectionChange3(val) {
console.log("勾选3==", val);
// this.multipleSelection3 = val;
var newsIdArr = [];
val.forEach(item => {
newsIdArr.push(item.newsId);
});
this.multipleSelection3 = newsIdArr;
},
// 审核信息批量打开
assInfoBatch() {
if (this.multipleSelection2.length == 0) {
this.$message({
message: "请选择新闻!",
type: "warning"
});
return;
}
this.batchDialogVisible = true; //批量打开弹窗
let params = {};
params.newsIds = this.multipleSelection2;
batchOpenNews(JSON.stringify(params)).then(res => {
if (res.success) {
this.batchList = res.data;
}
});
},
//审核信息批量操作--通过/不通过
assInfoBatchOp(publish) {
let params = {};
params.newsIds = this.multipleSelection2;
params.publish = publish;
assInfoBatchOp(JSON.stringify(params)).then(res => {
if (res.success) {
this.getAssInfoList(); //刷新列表
this.$message({
message: "批量审核成功!",
type: "success"
});
}
});
},
//关闭批量审核弹窗
handleColseAssInfo() {
console.log("-==-==-=-=-==--=关闭批量新闻");
this.batchDialogVisible = false;
this.multipleSelection2 = []; //选择为空
this.checkedCities = []; //选择为空
this.$refs.multipleTable1.clearSelection(); // 删除后清空之前选择的数据
this.$forceUpdate();
},
//收报批量打开
sbBatch() {
if (this.multipleSelection3.length == 0) {
this.$message({
message: "请选择新闻!",
type: "warning"
});
return;
}
this.opendialogVisible = true; //批量打开弹窗
let params = {};
params.newsIds = this.multipleSelection3;
batchOpenNews(JSON.stringify(params)).then(res => {
if (res.success) {
this.batchList = res.data;
}
});
},
//关闭批量收报弹窗
handleCloseGet() {
this.batchDialogVisible = false;
this.opendialogVisible = false;
this.multipleSelection2 = []; //选择为空
this.checkedCities = []; //选择为空
this.$refs.multipleTable2.clearSelection(); // 删除后清空之前选择的数据
this.$forceUpdate();
},
// 收报批量采用不采用
sbBatchUseOrNot(status) {
// 是否采用,3为采用,2为不采用即已阅
let params = {};
params.isUse = status.toString();
params.newsIds = this.multipleSelection3;
// params.publish=publish;
sbBatchUseOrNot(JSON.stringify(params)).then(res => {
if (res.success) {
this.getReportList(); //刷新列表
var msg = "收报批量采用成功!";
if (status == 2) {
msg = "收报批量不采用成功!";
} else if (status == 3) {
msg = "收报批量采用成功!";
}
this.$message({
message: msg,
type: "success"
});
this.opendialogVisible = false;
} else {
this.$message.error(res.errMsg);
}
});
},
listHtml(item) {
return item.name.replace(
new RegExp(this.searchTxt, "g"),
'<b style="color:red;">' + this.searchTxt + "</b>"
);
},
//限制只能输入正整数
changeInput2() {
var pattern = /^[1-9][0-9]*$/; // 正整数的正则表达式
// 不符合正整数时
if (!pattern.test(this.pageInfo.maxClick)) {
// input 框绑定的内容为空
this.pageInfo.maxClick = "";
}
},
//限制只能输入正整数
changeInput1() {
var pattern = /^[1-9][0-9]*$/; // 正整数的正则表达式
// 不符合正整数时
if (!pattern.test(this.pageInfo.minClick)) {
// input 框绑定的内容为空
this.pageInfo.minClick = 0;
}
},
//切换选项卡
handleTabClick(tab, event) {
console.log(tab, event);
if (tab.name == "first") {
this.pageInfo.page = 1;
this.getManageList(); //获取管理列表
} else if (tab.name == "second") {
return;
} else if (tab.name == "third") {
this.pageInfoAss.page = 1;
this.getAssInfoList(); //获取审核列表
}else if (tab.name == "fourth") {
return;
}
},
//用户法院等级
getUserCourtLevel() {
userCourtLevel().then(res => {
console.log("用户等级==", res);
if (res.success) {
let { courtCode, courtLevel } = res.data;
this.userLevel = courtLevel;
this.userCourt = courtCode;
if (courtCode == "K00") {
this.isShowColumn = true;
} else {
this.isShowColumn = false;
}
console.log("用户等级11==", this.userLevel);
}
});
},
//获取左边栏目树
getBoardTree() {
getBoardTree().then(res => {
if (res.success) {
this.dataTreeFile = res.data;
}
});
},
//获取用户所在法院部门
findCurrentDepts() {
findCurrentDepts().then(res => {
if (res.success) {
for (var i = 0; i < res.data.length; i++) {
if (res.data[i].courtCode != "K00") {
if (res.data[i].pid != res.data[i + 1].pid) {
this.userCourt = res.data[i].deptId;
break;
}
} else if (res.data[i].courtCode == "K00") {
if (res.data[i].pid == null) {
this.userCourt = res.data[i].deptId;
break;
}
}
}
let newArr = res.data.filter(item => {
return item.pid == this.userCourt;
});
this.deptListData = newArr;
}
});
},
//获取管理列表
getManageList() {
this.pageInfo.boardId = this.curBoardId;
if (this.pageInfo.stime && this.pageInfo.etime) {
var oDateStart = new Date(this.pageInfo.stime);
var oDateEnd = new Date(this.pageInfo.etime);
if (oDateStart >= oDateEnd) {
console.log(222);
this.$message({
type: "error",
message: "结束时间不能小于开始时间"
});
return;
}
}
if (this.pageInfo.maxClick && this.pageInfo.minClick) {
console.log("this.pageInfo.maxClick==", this.pageInfo.maxClick);
if (this.pageInfo.minClick >= this.pageInfo.maxClick) {
this.$message({
type: "error",
message: "最大点击数不能小于最小点击数"
});
return;
}
}
console.log("获取管理列表 管理列表参数==", this.pageInfo);
getManageList(JSON.stringify(this.pageInfo)).then(res => {
console.log("获取管理列表==", res);
if (res.success) {
this.manageList = res.data.records;
this.pageInfo.total = res.data.total;
this.boardList(this.curBoardId);
} else {
this.$message({
type: "error",
message: res.errMsg
});
}
});
},
// 查询
findNews() {
this.pageInfoSearch.boardId = this.curBoardId;
console.log("=-----------当前栏目", this.pageInfoSearch.boardId);
if (this.pageInfoSearch.stime && this.pageInfoSearch.etime) {
var oDateStart = new Date(this.pageInfoSearch.stime);
var oDateEnd = new Date(this.pageInfoSearch.etime);
if (oDateStart >= oDateEnd) {
console.log(222);
this.$message({
type: "error",
message: "结束时间不能小于开始时间"
});
return;
}
}
if (this.pageInfoSearch.maxClick && this.pageInfoSearch.minClick) {
console.log(
"this.pageInfoSearch.maxClick==",
this.pageInfoSearch.maxClick
);
if (this.pageInfoSearch.minClick >= this.pageInfoSearch.maxClick) {
this.$message({
type: "error",
message: "最大点击数不能小于最小点击数"
});
return;
}
}
for (let key in this.pageInfoSearch) {
if (
this.pageInfoSearch[key] == "" ||
this.pageInfoSearch[key] == null ||
this.pageInfoSearch[key] == []
) {
delete this.pageInfoSearch[key];
}
}
console.log("管理查询参数==", this.pageInfoSearch);
findNews(JSON.stringify(this.pageInfoSearch)).then(res => {
console.log("获取查询列表==", res);
if (res.success) {
this.manageListSearch = res.data.records;
this.pageInfoSearch.total = res.data.total;
}
});
},
//resetSearch重置
resetSearch() {
this.$refs["searchForm"].resetFields();
this.pageInfoSearch = {};
this.pageInfoSearch = {
page: 1,
size: 10,
total: 0
}; //管理
},
// 管理列表--页面切换
pageChangeSearch(e) {
this.pageInfoSearch.page = e;
this.findNews();
},
sizeChangeSearch(e) {
this.pageInfo.size = e;
this.pageChange(1);
},
//上传附件
uploadSuccess(file, list) {
let fileSize = Number(file.size / 1024 / 1024);
if (fileSize > 20) {
this.$msgbox({
title: "",
message: "文件大小不能超过20MB,请重新上传。",
type: "warning"
});
list.forEach((el,index)=> {
if(file.uid == el.uid){
list.splice(index,1)
}
})
this.fileList = list;
return list;
} else {
this.fileList = list;
}
console.log("fileList----", this.fileList);
},
handleRemove(file, list) {
console.log("fileListHandleRemove----", list);
this.fileList = list;
},
//上传附件--编辑
uploadSuccessEdit(file, list) {
let fileSize = Number(file.size / 1024 / 1024);
if (fileSize > 20) {
this.$msgbox({
title: "",
message: "文件大小不能超过20MB,请重新上传。",
type: "warning"
});
list.forEach((el,index)=> {
if(file.uid == el.uid){
list.splice(index,1)
}
})
this.fileListEdit = list;
return list;
} else {
this.fileListEdit = list;
}
console.log("编辑新增----", this.fileListEdit);
},
handleRemoveEdit(file, list) {
console.log("fileListHandleRemove----", list);
for (var j = 0; j < this.fileListEdit.length; j++) {
// 含 status: ready 表示该附件为新增附件
if (this.fileListEdit[j].status == "ready") {
//新上传的附件
if (this.fileListEdit[j].uid == file.uid) {
this.fileListEdit.splice(j, 1);
console.log("-=-==-==-=-=-==-=--删除新增附件", this.fileListEdit);
break;
}
} else if (this.fileListEdit[j].status == "success") {
//原来的附件
if (this.fileListEdit[j].id == file.id) {
this.fileListEdit.splice(j, 1);
console.log("-=-==-==-=-=-==-=--删除原附件", this.fileListEdit);
this.delFileList.push(file.id);
break;
}
}
}
},
saveAs(blob, filename) {
if (window.navigator.msSaveOrOpenBlob) {
navigator.msSaveBlob(blob, filename);
} else {
var link = document.createElement("a");
var body = document.querySelector("body");
link.href = window.URL.createObjectURL(blob);
link.download = filename; // fix Firefox
link.style.display = "none";
body.appendChild(link);
link.click();
body.removeChild(link);
window.URL.revokeObjectURL(link.href);
}
},
download(url, filename) {
this.getBlob(url, blob => {
this.saveAs(blob, filename);
});
},
downloadFiles(file) {
this.download(file.downloadPath, file.attachName);
},
getBlob(url, cb) {
var xhr = new XMLHttpRequest();
xhr.open("GET", url, true);
xhr.responseType = "blob";
xhr.onload = function() {
if (xhr.status === 200) {
cb(xhr.response);
}
};
xhr.send();
},
// 点击已上传文件
handlePreviewEdit(file){
this.downloadFiles(file);
},
// 发布新闻
createNewsEvent(num) {
// params.publish=num;// 然后是publish ,点击发布的话是1,提交审核是4,保存是5
if (this.newsForm.subject == "") {
this.$message({
message: "请输入标题!",
type: "warning"
});
return;
}
// 总文件大小不超过50M
var allFileSize = 0;
this.fileList.forEach(el => {
allFileSize += el.size;
})
let fileSize = Number(allFileSize / 1024 / 1024);
if (fileSize > 50) {
this.$msgbox({
title: "",
message: "总文件大小不能超过50MB,请重新选择。",
type: "warning"
});
return
}
if (this.newsForm.sendToBoards == "0") {
delete this.newsForm["sendToBoards"]; // 选 无 则不传该字段
}
let formData = new FormData();
formData.append("deptId", this.userInfo.dept.id); //用户部门id
for (let key in this.newsForm) {
formData.append(key, this.newsForm[key]);
}
formData.append("content", this.htmlContent);
this.fileList.forEach(item => {
formData.append("fileList", item.raw);
});
formData.append("publish", num); // 然后是publish ,点击发布的话是1,提交审核是4,保存是5
console.log("formData==", formData);
createNews(formData).then(res => {
this.newsForm.subject = "";
if (res.success) {
this.$message({
message: "添加信息成功!",
type: "success"
});
this.newsForm.sendToBoards == "0";
this.activeName = "first"; //跳转到管理
this.getManageList(); //刷新列表
this.htmlContent = ""; //添加信息成功之后编辑器内容为空
this.fileList = []; //添加信息成功之后上传附件为空
this.newsForm = {
geshi: "0", //格式
subject: "", //标题
boardName: "", //当前栏目名
boardId: "", //当前栏目id
isTop: "0", //是否头条 0否1是
typeIds: [], //信息所属分类
// deptId:2547,//用户部门id
sendToBoards: "0", //发送到教育整顿
// labelDept:null,//信息所属部门
sbGy: "0", //上报高院
sbZy: "0" //上报中院
};
} else {
this.$message({
type: "error",
message: res.errMsg
});
}
});
},
//修改信息
updateNews(num) {
if (this.newsFormEdit.subject == "") {
this.$message({
message: "请输入标题!",
type: "warning"
});
return;
}
let formData = new FormData();
this.newsFormEdit.publish = num;
if (this.newsFormEdit.clickCount == null) {
console.log("111");
this.newsFormEdit.clickCount = 0;
}
console.log("xxxxxxxxxxxxxxxxxxxxxxxxxxxx提交审核", this.newsFormEdit);
delete this.newsFormEdit.attInfoList; //删除attInfoList参数不传这个参数否则接口报错
if (this.newsFormEdit.labelDept == null) {
delete this.newsFormEdit.labelDept;
}
for (let key in this.newsFormEdit) {
formData.append(key, this.newsFormEdit[key]);
}
//调用删除附件接口
if (this.delFileList.length != 0) {
var delFileList = {};
delFileList.delFileList = this.delFileList;
delFile(JSON.stringify(delFileList)).then(res => {
if (res.success) {
// console.log("-=-=-=-=-=-=-=-=-==-===-=-=删除附件接口", res);
}
});
}
this.fileListEdit = [...new Set(this.fileListEdit)];
var allFileSize2 = 0;
this.fileListEdit.forEach(el => {
if(el.attachSize){
allFileSize2 += el.attachSize;
}else if(el.size){
allFileSize2 += el.size;
}
})
let fileSize = Number(allFileSize2 / 1024 / 1024);
if (fileSize > 50) {
this.$msgbox({
title: "",
message: "总文件大小不能超过50MB,请重新选择。",
type: "warning"
});
return
}
this.fileListEdit.forEach(item => {
if (item.raw) {
formData.append("fileList", item.raw);
console.log(11111);
} else {
console.log(2222);
}
// console.log(
// "-=-=-=-=-=-=-=--=需提交的附件列表",
// formData.get("fileList")
// );
});
// formData.append('publish',num);// 然后是publish ,点击发布的话是1,提交审核是4,保存是5
console.log("formData==", formData);
// console.log('formData==',formData);
updateNews(formData).then(res => {
// <!-- //创建未提交审核保存为5,提交审核为4,审核不通过为3,通过已发布为1 -->
var msg = "修改保存成功!";
if (num == "4") {
this.activeName = "third";
//刷新列表
// this.getManageList();
this.getAssInfoList(); //获取审核列表
msg = "提交审核成功!";
//关闭弹窗
this.editVisible = false;
}
if (num == "1" || num == "3") {
this.activeName = "first";
// this.getAssInfoList();//获取审核列表
this.getManageList();
this.auditVisible = false; //关闭弹窗
msg = "审核完毕!";
}
if (num == "5") {
this.activeName = "first";
this.getAssInfoList(); //获取审核列表
//关闭弹窗
this.editVisible = false;
}
if (res.success) {
this.$message({
message: msg,
type: "success"
});
}
});
},
handleNodeClick(param) {
console.log("点击的栏目", param);
let { boardId, boardName } = param;
this.newsForm.boardId = boardId; //当前栏目id
this.curBoardId = boardId;
this.newsForm.boardName = boardName; //当前栏目名
this.getManageList(); //获取管理列表
// this.getAssInfoList();//获取审核列表
// this.getReportList();//获取收报信息列表
// this.curTreeDeptId=id;
// this.getDeptUserList(this.rowData.sid,id);
},
loginEvent() {
removeToken();
location.href = process.env.VUE_APP_LOGIN_API;
},
loginOut() {
location.href = process.env.VUE_APP_LOGIN_API;
},
// 管理列表--页面切换
pageChange(e) {
this.pageInfo.page = e;
this.getManageList();
},
sizeChange(e) {
this.pageInfo.size = e;
this.pageChange(1);
},
// 管理列表--查看
handleCheck(newsId) {
console.log("编辑", newsId);
let params = {};
params.newsId = newsId;
console.log("修改", newsId);
newsDetail(JSON.stringify(params)).then(res => {
if (res.success) {
let { newsDetail, attachList } = res.data;
// this.newsListDetail=res.data;
Object.assign({}, this.newsFormEdit, newsDetail);
this.newsFormEdit = newsDetail;
this.newsFormEdit.geshi = "0";
this.fileListEdit = attachList;
// });
console.log("详情this.newsFormEdit===", this.newsFormEdit);
console.log("文件this.fileList===", this.fileListEdit);
if (attachList.length > 0) {
//显示已上传附件列表
for (let i = 0; i < this.fileListEdit.length; i++) {
this.fileListEdit[i].name = this.fileListEdit[i].attachName;
}
}
}
});
this.checkVisible = true;
},
// 管理列表--查看--关闭弹窗
handleCloseCheck() {
this.checkVisible = false;
},
// 管理列表--修改
handleEdit(newsId) {
console.log("编辑", newsId);
let params = {};
params.newsId = newsId;
console.log("修改", newsId);
newsDetail(JSON.stringify(params)).then(res => {
if (res.success) {
let { newsDetail, attachList } = res.data;
// this.newsListDetail=res.data;
Object.assign({}, this.newsFormEdit, newsDetail);
this.newsFormEdit = newsDetail;
this.newsFormEdit.geshi = "0";
this.fileListEdit = attachList;
// });
console.log("详情this.newsFormEdit===", this.newsFormEdit);
console.log("文件this.fileList===", this.fileListEdit);
if (attachList.length > 0) {
//显示已上传附件列表
for (let i = 0; i < this.fileListEdit.length; i++) {
this.fileListEdit[i].name = this.fileListEdit[i].attachName;
}
}
}
});
this.editVisible = true;
},
// 管理列表--修改--关闭弹窗
handleCloseEdit() {
this.editVisible = false;
},
// 管理列表--删除文章
handleDelete(newsId) {
let params = {};
params.newsId = newsId;
console.log("删除", newsId);
this.$confirm("确定删除吗?", "提示", {
confirmButtonText: "确定",
cancelButtonText: "取消",
type: "warning"
})
.then(() => {
deleteNews(JSON.stringify(params)).then(res => {
if (res.success) {
//刷新列表
this.getManageList();
this.$message({
message: "删除成功",
type: "success"
});
}
});
})
.catch(() => {});
},
// 管理列表--评论
commentEvent(newsId) {
console.log("评论", newsId);
let params = {};
params.newsId = newsId;
// params.newsId='f4bf8ffc4ec54e98a180f36b95668ec6';
messageDetail(JSON.stringify(params)).then(res => {
if (res.success) {
this.messageDetailDataList = res.data;
//改变回复的属性名
this.messageDetailDataList.forEach(item => {
if (item.subComments) {
item.children = item.subComments;
delete item.subComments;
// item = JSON.parse(JSON.stringify(item).replace(/subComments/g, 'children'))
}
});
console.log(
"this.messageDetailDataList==",
this.messageDetailDataList
);
// this.messageDetailDataList = JSON.parse(JSON.stringify(this.messageDetailData).replace(/subComments/g, 'children'))
//navigationName 修改前的属性名 name要修改的属性名
}
});
this.commentDialog = true;
},
//日志详情
logDetailEvent(newsId) {
let params = {};
params.newsId = newsId;
var reg = new RegExp();
reg = /\*\d+-\d+-\d+\s\d+:\d+:\d+\s[\u4e00-\u9fa5]+\u3002/g;
logDetail(JSON.stringify(params)).then(res => {
if (res.success) {
this.logDetailData = res.data;
// var str = res.data.match(reg);
// this.logContent = str;
// console.log( this.logDetailData,str);
let strArr = res.data.split("*");
this.logContent = strArr;
}
});
this.logVisible = true;
},
// 管理列表--关闭评论弹窗
handleComment(id) {
console.log("评论", id);
this.commentDialog = false;
},
// 获取审核列表
getAssInfoList() {
console.log("审核列表参数==", this.pageInfoAss);
assInfoList(JSON.stringify(this.pageInfoAss)).then(res => {
if (res.success) {
this.assList = res.data.records;
this.pageInfoAss.total = res.data.total;
} else {
this.$message({
type: "error",
message: res.errMsg
});
}
});
},
// 审核列表--页面切换
pageChangeAss(e) {
this.pageInfoAss.page = e;
this.getAssInfoList();
},
// 审核列表
sizeChangeAss(e) {
this.pageInfoAss.size = e;
this.pageChangeAss(1);
},
// 收报信息切换----1:接收,2:报送
reportRadioChange(lable) {
this.reportRadio = lable;
if (lable == 1) {
this.getReportList();
} else if (lable == 2) {
this.getReportList();
}
},
// 收报信息---列表
getReportList() {
this.pageInfoRe.boardId = this.curBoardId;
this.reportListLoading = true;
if (this.reportRadio == 1) {
// 接收
getSBReceiveList(JSON.stringify(this.pageInfoRe)).then(res => {
if (res.success) {
this.reportListLoading = false;
this.reportList = res.data.records;
this.pageInfoRe.total = res.data.total;
} else {
this.$message.error(res.errMsg);
}
});
} else if (this.reportRadio == 2) {
// 报送
getSBSubmittedList({
page: this.pageInfoRe.page,
size: this.pageInfoRe.size
}).then(res => {
if (res.success) {
this.reportListLoading = false;
this.reportList = res.data.records;
this.pageInfoRe.total = res.data.total;
} else {
this.$message.error(res.errMsg);
}
});
}
},
// 收报信息--页面切换
pageChangeRe(e) {
this.pageInfoRe.page = e;
this.getReportList();
},
// 收报信息--页面切换
sizeChangeRe(e) {
this.pageInfoRe.size = e;
this.getReportList();
},
// 审核列表--审核按钮弹窗
openAudit(newsId) {
console.log("审核", newsId);
let params = {};
params.newsId = newsId;
console.log("修改", newsId);
newsDetail(JSON.stringify(params)).then(res => {
if (res.success) {
let { newsDetail, attachList } = res.data;
// this.newsListDetail=res.data;
Object.assign({}, this.newsFormEdit, res.data.newsDetail);
this.newsFormEdit = newsDetail;
this.newsFormEdit.geshi = "0";
if (
newsDetail.sendToBoards.length == 0 ||
newsDetail.sendToBoards == null
) {
this.newsFormEdit.sendToBoards = "0";
} else {
this.newsFormEdit.sendToBoards = newsDetail.sendToBoards[0];
}
this.fileListEdit = attachList;
if (attachList.length > 0) {
//显示已上传附件列表
for (let i = 0; i < this.fileListEdit.length; i++) {
this.fileListEdit[i].name = this.fileListEdit[i].attachName;
}
}
}
});
this.auditVisible = true;
// this.$refs.introduction.setDisabled();
},
// 审核列表--关闭审核弹窗
handleCloseAudit() {
this.auditVisible = false;
},
// 审核列表-提建议按钮弹窗
openSuggest(newsId) {
this.adviceForm.proId = newsId; //新闻 ID
this.adviceDetail(); //建议历史列表
// 打开弹窗
this.suggestVisible = true;
},
//历史建议列表
adviceDetail() {
let params = {};
params.newsId = this.adviceForm.proId;
adviceDetail(JSON.stringify(params)).then(res => {
if (res.success) {
this.adviceDetailData = res.data;
}
});
},
//提建议----重置
clearSuggestForm() {
this.$refs["refAdviceForm"].resetFields();
this.adviceForm.content = "";
},
//审核列表提建议保存
saveAdvise() {
if (this.adviceForm.content == "") {
this.$message({
message: "请输入内容!",
type: "warning"
});
return;
}
let params = {};
params.content = this.adviceForm.content;
params.proId = this.adviceForm.proId;
giveAdvise(JSON.stringify(params)).then(res => {
if (res.success) {
this.$message({
message: "提建议成功!",
type: "success"
});
this.clearSuggestForm();
// 刷新列表
this.adviceDetail();
// 关闭弹窗
// this.suggestVisible=false;
}
});
},
// 审核列表-提建议
handleCloseSuggest() {
this.suggestVisible = false;
},
// 收报信息--留言
leaveDia(newsId) {
let params = {};
// params.newsId=newsId;
params.newsId = "f4bf8ffc4ec54e98a180f36b95668ec6";
messageDetail(JSON.stringify(params)).then(res => {
if (res.success) {
this.messageDetailDataList = res.data;
this.messageDetailDataList.forEach(item => {
//改变回复的属性名
if (item.subComments) {
item.children = item.subComments;
delete item.subComments;
}
});
console.log(
"this.messageDetailDataList==",
this.messageDetailDataList
);
}
});
this.leaveVisible = true;
},
// 收报信息--留言
handleCloseLeave() {
this.leaveVisible = false;
},
//关闭日志
handleCloseLog() {
this.logVisible = false;
},
// 打开--查看建议弹窗
openCheckSuggest(newsId) {
var params = {};
params.newsId = newsId;
this.suggestCheckVisible = true;
adviceDetail(JSON.stringify(params)).then(res => {
if (res.success) {
this.adviceDetailData = res.data;
}
});
},
handleCloseSuggestCheck() {
this.suggestCheckVisible = false;
}
}
};
</script>
<style lang="scss" scoped>
// .searchSelect{
// width: 200px;
// margin: 300px auto;
// }
// .el-scrollbar{
// display: block !important;
// }
// 树形菜单图标start-----------------------
.el-tree {
background: transparent;
}
.el-tree /deep/ .el-tree-node__expand-icon.expanded {
-webkit-transform: rotate(0deg);
transform: rotate(0deg);
}
/*//有子节点 且未展开*/
.el-tree /deep/ .el-icon-caret-right:before {
background: url("../../../assets/wjjg.png") no-repeat 0 3px;
content: "";
display: block;
width: 16px;
height: 16px;
font-size: 16px;
background-size: 16px;
}
/*//有子节点 且已展开*/
.el-tree /deep/ .el-tree-node__expand-icon.expanded.el-icon-caret-right:before {
background: url("../../../assets/wjjk.png") no-repeat 0 3px;
content: "";
display: block;
width: 16px;
height: 16px;
font-size: 16px;
background-size: 16px;
}
/*//没有子节点*/
.el-tree /deep/ .el-tree-node__expand-icon.is-leaf::before {
background: url("../../../assets/wj.png") no-repeat 0 3px;
content: "";
display: block;
width: 16px;
height: 16px;
font-size: 16px;
background-size: 16px;
}
// 树形菜单图标end-----------------------
.top-info {
margin: 15px 0;
border-bottom: 2px solid #34bab2;
padding-bottom: 15px;
}
.fist-text {
display: inline-block;
width: 26px;
height: 26px;
line-height: 26px;
text-align: center;
font-size: 15px;
color: #fff;
border-radius: 50%;
background: #1a3784;
margin-right: 3px;
}
.list-container {
// border:2px solid #34bab2;
// padding:15px 15px;
// margin-top:40px;
}
.list-title {
border-bottom: 1px dashed #ccc;
line-height: 35px;
}
// 列表start
.type-list li {
list-style-type: square;
// color: #0099ff;
color: blue;
font-size: 16px;
line-height: 35px;
border-bottom: 1px dashed #ccc;
}
.type-list li a {
color: #333;
font-size: 14px;
text-decoration: none;
}
.type-list li:hover {
// color: #ff6900;
color: red;
}
.type-list li:hover a {
// color: #ff6900
color: red;
}
.type-list li:last-of-type {
border-bottom: none;
}
// 列表end
ul {
margin: 0px;
padding: 0px;
padding-left: 15px;
}
.zone-style {
background-color: #fff;
padding: 15px 15px;
border-radius: 5px;
box-shadow: -5px 0px 20px 5px rgba(0, 0, 0, 0.05);
margin-left: 0 !important;
margin-right: 0 !important;
}
.upload {
background-color: #161616;
// height: 50px;
display: flex;
justify-content: space-between;
align-items: center;
// padding: 0 15px;
padding: 15px;
border-bottom: 1px solid #6e6e6e;
}
::v-deep {
.el-tabs {
border-radius: 5px;
}
.el-tabs__content {
height: 69vh;
overflow: auto;
}
.el-table th:first-child > .cell {
text-align: left !important;
}
.note-btn {
background: none;
color: #fff;
border: none;
background: none;
background-color: #456e94;
font-weight: bolder;
// margin: 10px 0;
img {
margin-right: 5px;
}
span {
display: flex;
flex-direction: row;
justify-content: center;
align-items: center;
font-size: 15px;
}
}
}
.border-zone {
border: 1px solid #eee;
border-radius: 5px;
height: 76vh;
overflow: hidden;
overflow-y: auto;
overflow-x: auto;
}
.wiriter-intro {
text-align: right;
margin-top: 10px;
font-size: 13px;
}
.log-detail-dialog {
height: 35vh;
/deep/.el-scrollbar__wrap {
overflow-x: hidden;
}
}
::v-deep {
.el-checkbox__input.is-disabled.is-checked .el-checkbox__inner {
border-color: #092678;
}
.el-checkbox__input.is-disabled.is-checked .el-checkbox__inner::after {
border-color: #092678;
}
.el-radio__input.is-disabled.is-checked .el-radio__inner {
border-color: #092678;
}
.el-radio__input.is-disabled.is-checked .el-radio__inner::after {
background-color: #092678;
}
}
.report-radiogroup {
margin-bottom: 15px;
}
// 图片溢出
::v-deep {
.view-html p {
img {
width: 100% !important;
}
}
}
</style>
\ No newline at end of file
<template>
<div>
<el-row>
<el-col :span="18" :offset="3">
<el-row class="mt-20" :gutter="20">
<div class="zone-style">
<div style="min-height: 76vh">
<el-table
:header-cell-style="{
'text-align': 'center',
'font-size': '15px',
color: 'black',
}"
:cell-style="{ 'font-size': '13px', 'border-bottom': 'none' }"
:data="searchNewsList"
highlight-current-row
style="width: 100%"
>
<el-table-column align="left" property="subject" label="标题">
</el-table-column>
<el-table-column
align="center"
property="newsTime"
label="时间"
width="150"
>
</el-table-column>
<el-table-column
align="center"
property="clickCount"
label="点击"
width="120"
>
</el-table-column>
<el-table-column
align="center"
property="commentCount"
label="评论"
width="50"
>
</el-table-column>
<el-table-column label="操作" width="50" align="center">
<template slot-scope="scope">
<el-button
@click="setParams(scope.row)"
type="text"
size="mini"
>
查看
</el-button>
</template>
</el-table-column>
</el-table>
<div style="margin-top: 10px">
<el-pagination
prev-text="上一页"
next-text="下一页"
layout="total,sizes,prev, pager, next,jumper"
:total="pageInfo.total"
:page-size="pageInfo.size"
:current-page="pageInfo.page"
@current-change="pageChange"
@size-change="sizeChange"
/>
</div>
</div>
</div>
</el-row>
</el-col>
</el-row>
</div>
</template>
<script>
import {
searchForNews, //搜索新闻
} from "@/api/guidance/search.js";
export default {
name: "show",
data() {
return {
pageInfo: {
page: 1,
size: 10,
total: 0,
},
searchNewsList: [], //搜索出来的新闻
defaultProps: {
children: "children",
label: "label",
},
};
},
created() {
this.searchForNews(); //搜索新闻
},
//监听路由获取面包屑
watch: {
$route() {
if (this.$route.query.subject) {
this.searchForNews(); //搜索新闻
}
},
},
methods: {
searchForNews() {
console.log("搜索");
let newsTitle = this.$route.query.subject;
this.pageInfo.subject = newsTitle;
searchForNews(this.pageInfo).then((res) => {
if (res.success) {
this.searchNewsList = res.data.records;
this.pageInfo.total = res.data.total;
}
});
},
pageChange(e) {
this.pageInfo.page = e;
this.searchForNews();
},
sizeChange(e) {
this.pageInfo.size = e;
this.pageChange(1);
},
// 查看详情
setParams(val) {
this.$router.push({
path: "/detail", //跳转路由
query: {
//参数对象
newsId: val.newsId,
},
});
},
},
};
</script>
<style lang="scss" scoped>
// 树形菜单图标start-----------------------
.el-tree {
background: transparent;
}
.el-tree /deep/ .el-tree-node__expand-icon.expanded {
-webkit-transform: rotate(0deg);
transform: rotate(0deg);
}
/*//有子节点 且未展开*/
.el-tree /deep/ .el-icon-caret-right:before {
background: url("../../../assets/wjjg.png") no-repeat 0 3px;
content: "";
display: block;
width: 16px;
height: 16px;
font-size: 16px;
background-size: 16px;
}
/*//有子节点 且已展开*/
.el-tree /deep/ .el-tree-node__expand-icon.expanded.el-icon-caret-right:before {
background: url("../../../assets/wjjk.png") no-repeat 0 3px;
content: "";
display: block;
width: 16px;
height: 16px;
font-size: 16px;
background-size: 16px;
}
/*//没有子节点*/
.el-tree /deep/ .el-tree-node__expand-icon.is-leaf::before {
background: url("../../../assets/wj.png") no-repeat 0 3px;
content: "";
display: block;
width: 16px;
height: 16px;
font-size: 16px;
background-size: 16px;
}
// 树形菜单图标end-----------------------
.top-info {
margin: 15px 0;
border-bottom: 2px solid #34bab2;
padding-bottom: 15px;
}
.fist-text {
display: inline-block;
width: 26px;
height: 26px;
line-height: 26px;
text-align: center;
font-size: 15px;
color: #fff;
border-radius: 50%;
background: #1a3784;
margin-right: 3px;
}
.list-container {
// border:2px solid #34bab2;
// padding:15px 15px;
// margin-top:40px;
}
.list-title {
border-bottom: 1px dashed #ccc;
line-height: 35px;
}
// 列表start
.type-list li {
list-style-type: square;
// color: #0099ff;
color: blue;
font-size: 16px;
line-height: 35px;
border-bottom: 1px dashed #ccc;
}
.type-list li a {
color: #333;
font-size: 14px;
text-decoration: none;
}
.type-list li:hover {
// color: #ff6900;
color: red;
}
.type-list li:hover a {
// color: #ff6900
color: red;
}
.type-list li:last-of-type {
border-bottom: none;
}
// 列表end
ul {
margin: 0px;
padding: 0px;
padding-left: 15px;
}
.zone-style {
background-color: #fff;
padding: 15px 15px;
border-radius: 5px;
box-shadow: -5px 0px 20px 5px rgba(0, 0, 0, 0.05);
}
::v-deep {
.el-table th:first-child > .cell {
text-align: left !important;
}
}
</style>
\ No newline at end of file
...@@ -15,8 +15,12 @@ ...@@ -15,8 +15,12 @@
@click.native="menuRouterClick(item, index)" @click.native="menuRouterClick(item, index)"
class="nav-a-text" class="nav-a-text"
:underline="false" :underline="false"
>{{ item.meta.title }}</el-link> >{{ item.meta.title }}</el-link
<div v-if="item.children && item.children.length > 0" class="submenu-container"> >
<div
v-if="item.children && item.children.length > 0"
class="submenu-container"
>
<ul class="menu_ul" :class="{ active: index === isShow }"> <ul class="menu_ul" :class="{ active: index === isShow }">
<li <li
class="menu_li" class="menu_li"
...@@ -29,11 +33,15 @@ ...@@ -29,11 +33,15 @@
class="menu_ul_text" class="menu_ul_text"
:underline="false" :underline="false"
:class="{ active: nav.path == linkClick }" :class="{ active: nav.path == linkClick }"
>{{ nav.meta.title }}</el-link> >{{ nav.meta.title }}</el-link
>
</li> </li>
</ul> </ul>
</div> </div>
<div v-if="item.name == 'allCourt'" class="submenu-container-first"> <div
v-if="item.name == 'allCourt'"
class="submenu-container-first"
>
<ul class="menu_ul" :class="{ active: index === isShow }"> <ul class="menu_ul" :class="{ active: index === isShow }">
<li <li
class="menu_li_court" class="menu_li_court"
...@@ -47,7 +55,10 @@ ...@@ -47,7 +55,10 @@
v-if="item.children && item.children.length > 0" v-if="item.children && item.children.length > 0"
class="submenu-container-court" class="submenu-container-court"
> >
<ul class="menu_ul" :class="{ active: index === isShow }"> <ul
class="menu_ul"
:class="{ active: index === isShow }"
>
<li <li
class="menu_li_court" class="menu_li_court"
v-for="(nav, index) in item.children" v-for="(nav, index) in item.children"
...@@ -67,8 +78,16 @@ ...@@ -67,8 +78,16 @@
</div> </div>
<div class="k-flex seach-input k-align-center" style="width: 180px"> <div class="k-flex seach-input k-align-center" style="width: 180px">
<el-input v-model="searchSubject" placeholder="请输入内容" clearable> <el-input
<i @click="searchEvent" slot="suffix" class="el-input__icon el-icon-search"></i> v-model="searchSubject"
placeholder="请输入内容"
clearable
>
<i
@click="searchEvent"
slot="suffix"
class="el-input__icon el-icon-search"
></i>
</el-input> </el-input>
</div> </div>
</div> </div>
...@@ -218,7 +237,7 @@ import { ...@@ -218,7 +237,7 @@ import {
getAllCourts, //获取全区法院 getAllCourts, //获取全区法院
getSubLevelBoard, //获取子栏目 getSubLevelBoard, //获取子栏目
searchForNews, //搜索新闻 searchForNews, //搜索新闻
enableTurnOnSystem enableTurnOnSystem,
} from "@/api/homePage.js"; } from "@/api/homePage.js";
export default { export default {
components: { sideItem, items }, components: { sideItem, items },
...@@ -236,7 +255,12 @@ export default { ...@@ -236,7 +255,12 @@ export default {
{ {
name: "homePage", name: "homePage",
path: "/homePage", path: "/homePage",
meta: { title: "首页" } meta: { title: "首页" },
},
{
name: "gHomePage",
path: "/gPath",
meta: { title: "刑事审判指导" },
}, },
{ {
name: "news", name: "news",
...@@ -248,80 +272,45 @@ export default { ...@@ -248,80 +272,45 @@ export default {
path: "", path: "",
boardId: "", boardId: "",
type: "top", type: "top",
meta: { title: "今日头条" } meta: { title: "今日头条" },
}, },
{ {
name: "all", name: "all",
path: "", path: "",
type: "all", type: "all",
meta: { title: "全区速递" } meta: { title: "全区速递" },
}, },
{ {
name: "vedio", name: "vedio",
path: "", path: "",
boardId: 1965, boardId: 1965,
type: "vedio", type: "vedio",
meta: { title: "视频点播" } meta: { title: "视频点播" },
} },
] ],
// children:[
// {
// name: "news",
// path:'/news',
// boardId:129,
// meta:{title:'法院新闻',},
// },
// {
// name: "list",
// path:'/list',
// meta:{title:'列表1',},
// children:[
// {
// name: "子---",
// path:'3-1',
// meta:{title:'子-3-2',},
// },
// {
// name: "",
// path:'',
// meta:{title:'列表2',},
// },
// ]
// },
// {
// name: "show",
// path:'/show',
// meta:{title:'列表2',},
// },
// ]
}, },
{ {
name: "job", name: "job",
path: "", path: "",
boardId: 1929, boardId: 1929,
meta: { title: "工作信息" } meta: { title: "工作信息" },
}, },
{ {
name: "business", name: "business",
path: "", path: "",
boardId: 130, boardId: 130,
meta: { title: "法院业务" } meta: { title: "法院业务" },
}, },
{ {
name: "work", name: "work",
path: "", path: "",
boardId: 135, boardId: 135,
meta: { title: "干警作品" } meta: { title: "干警作品" },
}, },
{ {
name: "fun", name: "fun",
path: "", path: "",
meta: { title: "娱乐" } meta: { title: "娱乐" },
// children: [ // children: [
// { // {
// name: "fun1", // name: "fun1",
...@@ -338,29 +327,29 @@ export default { ...@@ -338,29 +327,29 @@ export default {
{ {
name: "allCourt", name: "allCourt",
path: "", path: "",
meta: { title: "全区法院" } meta: { title: "全区法院" },
}, },
{ {
name: "manage", name: "manage",
path: "/manage", path: "/manage",
meta: { title: "信息发布系统" } meta: { title: "信息发布系统" },
} },
], ],
isAdmmin: false // 当前用户是否为高院内部人员 isAdmmin: false, // 当前用户是否为高院内部人员
}; };
}, },
computed: { computed: {
// ...mapGetters(["get_routes"]), // ...mapGetters(["get_routes"]),
...mapGetters(["user"]) ...mapGetters(["user"]),
}, },
created() { created() {
// this.isPublishOut(); // this.isPublishOut();
this.getAllCourts(); //获取全区法院 this.getAllCourts(); //获取全区法院
// this.getSubLevelBoard(1, 129); //法院新闻 // this.getSubLevelBoard(1, 129); //法院新闻
this.getSubLevelBoard(2, 1929); //工作信息 this.getSubLevelBoard(3, 1929); //工作信息
this.getSubLevelBoard(4, 130); //法院业务
this.getSubLevelBoard(5, 135); //干警作品
this.getSubLevelBoard(3, 130); //法院业务 this.getSubLevelBoard(3, 130); //法院业务
this.getSubLevelBoard(4, 135); //干警作品
this.getSubLevelBoard(2, 130); //法院业务
}, },
methods: { methods: {
//1、点击一级导航 //1、点击一级导航
...@@ -370,6 +359,10 @@ export default { ...@@ -370,6 +359,10 @@ export default {
console.log("this.routesList==", this.routesList); console.log("this.routesList==", this.routesList);
// this.classA = index; // this.classA = index;
console.log("this.classA==", this.classA); console.log("this.classA==", this.classA);
// new --- start 记录上一个被点击菜单
var lastClass;
lastClass = this.classA;
// new --- end
this.classA = index; this.classA = index;
item = this.routesList[this.classA]; item = this.routesList[this.classA];
if (item.name == "manage") { if (item.name == "manage") {
...@@ -382,11 +375,11 @@ export default { ...@@ -382,11 +375,11 @@ export default {
if (!userInfo) { if (!userInfo) {
this.$message({ this.$message({
message: "请先登录!", message: "请先登录!",
type: "error" type: "error",
}); });
return; return;
} else { } else {
enableTurnOnSystem().then(res => { enableTurnOnSystem().then((res) => {
if (res.success) { if (res.success) {
res.data == "K00" res.data == "K00"
? (this.isAdmmin = true) ? (this.isAdmmin = true)
...@@ -396,13 +389,13 @@ export default { ...@@ -396,13 +389,13 @@ export default {
this.$message.error("无访问权限"); this.$message.error("无访问权限");
} else { } else {
this.$router.push({ this.$router.push({
path: item.path //跳转路由 path: item.path, //跳转路由
}); });
} }
} else { } else {
this.$message({ this.$message({
message: "您的账号没有权限!", message: "您的账号没有权限!",
type: "error" type: "error",
}); });
return; return;
} }
...@@ -410,23 +403,27 @@ export default { ...@@ -410,23 +403,27 @@ export default {
} }
} else if (item.name == "homePage" || item.name == "news") { } else if (item.name == "homePage" || item.name == "news") {
this.$router.push({ this.$router.push({
path: item.path //跳转路由 path: item.path, //跳转路由
}); });
} else if (item.name == "fun") { } else if (item.name == "fun") {
this.$message({ this.$message({
message: "维护中...", message: "维护中...",
type: "error", type: "error",
duration: 1000 duration: 1000,
}); });
return; return;
} else if (item.name == "gHomePage") {
let routeData = this.$router.resolve({ path: item.path });
window.open(routeData.href, "_blank");
this.classA = lastClass;
} else { } else {
this.$router.push({ this.$router.push({
path: "/list", //跳转路由 path: "/list", //跳转路由
query: { query: {
//参数对象 //参数对象
boardId: item.boardId, boardId: item.boardId,
type: "menu" type: "menu",
} },
}); });
} }
}, },
...@@ -460,8 +457,8 @@ export default { ...@@ -460,8 +457,8 @@ export default {
query: { query: {
//参数对象 //参数对象
boardId: subItem.boardId, boardId: subItem.boardId,
type: subItem.type type: subItem.type,
} },
}); });
} else { } else {
this.$router.push({ this.$router.push({
...@@ -469,15 +466,15 @@ export default { ...@@ -469,15 +466,15 @@ export default {
query: { query: {
//参数对象 //参数对象
boardId: subItem.boardId, boardId: subItem.boardId,
type: "sub" type: "sub",
} },
}); });
} }
}, },
// treeNavSwitch(){}, // treeNavSwitch(){},
//获取全区法院 //获取全区法院
getAllCourts() { getAllCourts() {
getAllCourts().then(res => { getAllCourts().then((res) => {
if (res.success) { if (res.success) {
this.allCourtsData = res.data; this.allCourtsData = res.data;
} }
...@@ -489,11 +486,11 @@ export default { ...@@ -489,11 +486,11 @@ export default {
// params.boardId='1929' // params.boardId='1929'
params.boardId = boardId; params.boardId = boardId;
getSubLevelBoard(JSON.stringify(params)).then(res => { getSubLevelBoard(JSON.stringify(params)).then((res) => {
if (res.success) { if (res.success) {
// this.allCourtsData=res.data; // this.allCourtsData=res.data;
var arr = []; var arr = [];
res.data.forEach(item => { res.data.forEach((item) => {
var obj = {}; var obj = {};
obj.boardId = item.boardId; obj.boardId = item.boardId;
obj.meta = {}; obj.meta = {};
...@@ -531,15 +528,15 @@ export default { ...@@ -531,15 +528,15 @@ export default {
path: "/search", //跳转路由 path: "/search", //跳转路由
query: { query: {
//参数对象 //参数对象
subject: this.searchSubject subject: this.searchSubject,
} },
}); });
}, },
toNews() { toNews() {
console.log(4556); console.log(4556);
this.$router.push({ name: "news" }); this.$router.push({ name: "news" });
} },
} },
}; };
</script> </script>
<style lang="scss" scoped> <style lang="scss" scoped>
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment