Commit 3e5c552e authored by 高飞's avatar 高飞
parents d3c50273 d5e12337
...@@ -8,6 +8,7 @@ ...@@ -8,6 +8,7 @@
html body { html body {
height: 100%; height: 100%;
margin: 0px !important; margin: 0px !important;
overflow: hidden;
} }
</style> </style>
</head> </head>
......
import { get, post, addParam } from "../util/http_util";
const PREFIX_RECORDS = 'api/rest/chat/chatRecords';
//分页查询群聊记录
export const getRecordsByPaging = (chatRoomId, currPage, pageSize, startTime, endTime, fromUserId) => {
let url = `${PREFIX_CHATROOM}/chatRecords/page`;
url += addParam({ chatRoomId, currPage, pageSize, startTime, endTime, fromUserId });
return get(url);
}
//分页查询私信信息
export const getPrivateLetterByPaging = (currPage, pageSize, startTime, endTime, userId1, userId2) => {
let url = `${PREFIX_CHATROOM}/chatRecords/direct`;
url += addParam({ currPage, pageSize, startTime, endTime, userId1, userId2 });
return get(url);
}
//查询群聊中未读信息
export const getListUnread = (chatRoomId, userId) => {
return get(`${PREFIX_RECORDS}/chatRecords/listUnread?chatRoomId=${chatRoomId}&userId=${userId}`);
}
\ No newline at end of file
import { get, post, addParam } from "../util/http_util";
const PREFIX_CHATROOM = 'api/rest/chat/chatroom';
//增加聊天室(群组)议题
export const addIssue = data => {
return post(`${PREFIX_CHATROOM}/addIssue`, data);
}
//创建聊天室(群组)
export const createChatRoom = data => {
return post(`${PREFIX_CHATROOM}/create`, data);
}
//查询某个聊天室(群组)详情信息
export const getChatRoomInfo = id => {
return get(`${PREFIX_CHATROOM}/info?id=${id}`);
}
//加入聊天室(群组)
export const joinChatRoom = (chatRoomId, userId) => {
return get(`${PREFIX_CHATROOM}/join?chatRoomId=${chatRoomId}&userId=${userId}`);
}
//离开聊天室(群组)
export const leaveChatRoom = (userId) => {
return get(`${PREFIX_CHATROOM}/leave?chatRoomId=${id}&userId=${userId}`);
}
//查询某个用户所有聊天室(群组)
export const getChatRoomList = (userId) => {
return get(`${PREFIX_CHATROOM}/list?userId=${userId}`);
}
//阅读(群组)信息
export const readChatRoom = (chatRoomId,userId) => {
return get(`${PREFIX_CHATROOM}/readChatRoom?chatRoomId=${chatRoomId}&userId=${userId}`);
}
//设置聊天室(群组)当前议题
export const setChatRoomCurrentIssue = (chatRoomId,currentIssue) => {
return get(`${PREFIX_CHATROOM}/setChatRoomCurrentIssue?chatRoomId=${chatRoomId}&currentIssue=${currentIssue}`);
}
//设置聊天室(群组)状态
export const setChatRoomStatus = (chatRoomId) => {
return get(`${PREFIX_CHATROOM}/setChatRoomStatus?chatRoomId=${chatRoomId}`);
}
import { post_technique } from "../util/http_util";
//命名实体识别 api_technique_entity
//热词 api_technique_hotWord
//消息摘要算法 api_technique_summary
//情感 api_technique_emotion
//命名实体识别
export const entity = data => {
return post(`api_technique_entity/entitu_extract_model_mapping`, data);
}
//热词
export const hotWord = data => {
return post(`api_technique_hotWord/Seqment`, data);
}
//总结
export const summary = data => {
return post(` api_technique_summary/service`, data);
}
//情感
// export const emotionContact = data => {
// return post(`api_technique/service`, data);
// }
//情感 -- 新闻
export const emotionNews = data => {
return post_technique(`api_technique_emotion/service`, data);
}
\ No newline at end of file
import { get, post, delete_util, fileUpload_PUT, addParam } from "../../util/http_util";
const PREFIX_DOCUMENT = "api/rest/3z/document/";
const PREFIX_RESOURCE = "api/rest/3z/resource/";
const PREFIX_ELASTIC = "api/rest/elastic/";
export const queryDoc = (pageNum, pageSize, params) => {
return post(`${PREFIX_DOCUMENT}queryDoc?pageNum=${pageNum}&pageSize=${pageSize}`, params);
}
export const searchFiles = (pageNum, pageSize, params) => {
return post(`${PREFIX_ELASTIC}searchFiles?pageNum=${pageNum}&pageSize=${pageSize}`, params);
}
export const queryDocumentTree = (module) => {
return get(`${PREFIX_DOCUMENT}queryDocumentTree?module=${module}`);
}
export const updateDocumentTreeItem = (data) => {
return post(`${PREFIX_DOCUMENT}updateDocumentTreeItem`,data);
}
export const addDocumentTreeItem = (data) => {
return post(`${PREFIX_DOCUMENT}addDocumentTreeItem`,data);
}
export const removeDocumentTreeItem = (id) => {
return delete_util(`${PREFIX_DOCUMENT}removeDocumentTreeItem/${id}`);
}
...@@ -579,6 +579,32 @@ let fileUpload_PUT = (url, formData, headers = {}) => { ...@@ -579,6 +579,32 @@ let fileUpload_PUT = (url, formData, headers = {}) => {
}) })
}; };
let post_technique = (url, data, headers = {}) => {
return new Promise((resolve, reject) => {
fetch(url, {
method: "POST",
body: typeof data == "object" ? JSON.stringify(data) : data,
headers: new Headers(addHeaders(headers))
}).then(res => {
if (res.status == 200) {
return res.text();
} else {
console.log(res.statusText);
reject(HTTP_STATUS);
}
}).then(res => {
let result = JSON.parse(res);
if (result.status == 'success') {
resolve(JSON.parse(result.data));
} else {
console.log(result);
reject(result);
}
}).catch(err => reject(err));
})
};
export { export {
get, get,
...@@ -609,5 +635,6 @@ export { ...@@ -609,5 +635,6 @@ export {
get_exame, get_exame,
post_exame, post_exame,
delete_util_exame, delete_util_exame,
fileUpload_PUT fileUpload_PUT,
post_technique
} }
\ No newline at end of file
<template>
<el-dialog title="聊天室" :visible.sync="dialogVisible" width="40%" :before-close="handleClose">
<div class="info-messageInfo">
<!-- <div class="title">
<img :src="arrow" alt="">
<span>内部通讯</span>
</div> -->
<div class="messageInfo-content">
<div class="chatPerson">
<span :style="{ backgroundColor: chatPerson.isLine ? '#30d64d' : '#686a6b' }"
v-show="chatPerson.isLine != undefined"></span>&nbsp;
<span v-text="chatPerson.name"></span>
</div>
<div id="chatContent" class="chatContent">
<div v-for="item in chatMessageList" class="everyMessage">
<div v-for="item1 in item.list" :style="{ justifyContent: item.isMe ? 'flex-end' : 'flex-start' }">
<template v-if="!item.isMe">
<img :src="avatar" alt="">
<div v-text="item1" style="background-color:white"></div>
</template>
<template v-else-if="item.isMe">
<div v-text="item1" style="background-color: #85ce61;"></div>
<img :src="avatar" alt="">
</template>
</div>
</div>
</div>
<div class="chatSendMessage">
<div class="messageContent">
<el-input type="textarea" autosize placeholder="请输入内容" v-model="sendMessage">
</el-input>
</div>
<div class="sendMessageButtonList">
<el-button size="mini" type="info" @click="sendNotice">发送公告</el-button>
<el-button size="mini" type="info" @click="test">邮箱</el-button>
<el-button size="mini" type="success" @click="sendMessageFn">发送</el-button>
</div>
</div>
</div>
</div>
</el-dialog>
</template>
<script>
import avatar from '../../../assets/img/ddkz/headPhoto.jpg';
export default {
data() {
return {
dialogVisible: false,
avatar: avatar,
chatPerson: {
name: '',
isLine: undefined
},
chatMessageList: [
{ id: 1, name: 'xxx', isMe: false, list: ['会议主题是xxx', '主要强调两个方面'] },
{ id: 2, name: 'summer', isMe: true, list: ['确定主题', '同意'] },
{ id: 1, name: 'xxx', isMe: false, list: ['会议主题是xxx', '主要强调两个方面'] },
{ id: 2, name: 'summer', isMe: true, list: ['确定主题', '同意'] },
{ id: 1, name: 'xxx', isMe: false, list: ['会议主题是xxx', '主要强调两个方面'] },
{ id: 2, name: 'summer', isMe: true, list: ['确定主题', '同意'] }
],
}
},
props: {
visible: Boolean
},
methods: {
handleClose() {
this.$emit('handleCancel');
}
},
mounted() {
this.dialogVisible = this.$props.visible;
}
}
</script>
<style lang="scss">
.info-messageInfo {
width: 100%;
height: 70%;
.title {
width: 100%;
height: 30px;
line-height: 30px;
img {
width: 20px;
height: 20px;
}
span {
font-size: 16px;
font-weight: 500;
color: white;
vertical-align: text-bottom;
}
}
.messageInfo-content {
width: 100%;
height: calc(100% - 40px);
margin-top: 10px;
padding: 0px 10px;
border: 1px solid #254751;
box-sizing: border-box;
.chatPerson {
width: 100%;
height: 40px;
line-height: 40px;
display: flex;
justify-content: center;
font-size: 13px;
border-bottom: 1px solid #37383f;
display: none;
&>span:first-child {
width: 10px;
height: 10px;
border-radius: 50%;
display: block;
float: left;
margin-top: 15px;
margin-left: 5px;
}
&>span:last-child {
float: left;
margin-left: 10px;
}
}
.chatContent {
width: 100%;
height: 60%;
border-bottom: 1px solid #37383f;
padding: 10px 0px;
box-sizing: border-box;
overflow-y: auto;
.everyMessage {
width: 100%;
margin-top: 10px;
&>div {
width: 100%;
display: flex;
align-items: center;
margin-top: 10px;
font-size: 13px;
img {
width: 20px;
height: 20px;
margin: 0px 10px;
}
&>div {
padding: 5px 10px;
border-radius: 5px;
color: black;
}
}
}
}
.chatSendMessage {
width: 100%;
height: calc(40% - 42px);
position: relative;
.messageContent {
width: 100%;
height: 100%;
padding: 5px;
box-sizing: border-box;
.el-textarea__inner {
height: 100% !important;
color: white !important;
background-color: transparent !important;
border: 1px solid #37383f !important;
}
}
.sendMessageButtonList {
position: absolute;
right: 10px;
bottom: 10px;
}
}
}
}
</style>
\ No newline at end of file
<template>
<el-dialog title="人员情况" :visible.sync="dialogVisible" width="40%" :before-close="handleClose">
<div class="info-personInfo">
<!-- <div class="title">
<img :src="arrow" alt="">
<span>人员情况</span>
</div> -->
<div class="personInfo-content">
<div v-for="item in personList" class="everyPersonList">
<span v-for="item1 in item" @click="selectPerson(item1);">
<span v-text="item1.name"></span>
<span :style="{ backgroundColor: item1.isLine ? '#30d64d' : '#686a6b' }"></span>&nbsp;
</span>
</div>
</div>
</div>
</el-dialog>
</template>
<script>
export default {
data() {
return {
dialogVisible: false,
personList: [[
{
name: '部长 李叔',
isLine: true
},
{
name: '副部长 李文',
isLine: false
},
{
name: '助理 李叔文',
isLine: true
}
], [
{
name: '部长 李叔',
isLine: false
},
{
name: '副部长 李文',
isLine: true
},
{
name: '助理 李叔文',
isLine: true
}
], [
{
name: '部长 李叔',
isLine: true
},
{
name: '副部长 李文',
isLine: false
},
{
name: '助理 李叔文',
isLine: false
}
]],
}
},
props: {
visible: Boolean
},
methods: {
handleClose() {
this.$emit('handleCancel');
}
},
mounted() {
this.dialogVisible = this.$props.visible;
}
}
</script>
<style lang="scss">
.info-personInfo {
width: 100%;
height: 30%;
.title {
width: 100%;
height: 30px;
line-height: 30px;
img {
width: 20px;
height: 20px;
}
span {
font-size: 16px;
font-weight: 500;
color: white;
vertical-align: text-bottom;
}
}
.personInfo-content {
width: 100%;
height: calc(100% - 30px);
.everyPersonList {
width: 100%;
height: 35px;
line-height: 35px;
margin-top: 10px;
padding: 0px 10px;
font-size: 13px;
color: #f1f1f7;
box-sizing: border-box;
&:nth-child(3n) {
background-image: url(../../../assets/img/ddkz/12.png);
background-size: 100% 100%;
}
&:nth-child(3n+1) {
background-image: url(../../../assets/img/ddkz/13.png);
background-size: 100% 100%;
}
&:nth-child(3n+2) {
background-image: url(../../../assets/img/ddkz/14.png);
background-size: 100% 100%;
}
&>span {
float: left;
margin-left: 10px;
&:hover {
color: green;
cursor: pointer;
}
&>span:first-child {
float: left;
}
&>span:last-child {
width: 10px;
height: 10px;
border-radius: 50%;
display: block;
float: left;
margin-top: 12.5px;
margin-left: 5px;
}
}
}
}
}
</style>
\ No newline at end of file
<template> <template>
<el-dialog title="提示" :visible.sync="dialogVisible" width="30%" :before-close="handleClose"> <el-dialog title="发送公告" :visible.sync="dialogVisible" width="30%" :before-close="handleClose">
<div class="notice"> <div class="notice">
<el-form ref="form" :model="form" label-width="80px"> <el-form ref="form" :model="form" label-width="80px">
<el-form-item label="标题"> <el-form-item label="标题">
...@@ -45,4 +45,35 @@ export default { ...@@ -45,4 +45,35 @@ export default {
this.dialogVisible = this.$props.visible; this.dialogVisible = this.$props.visible;
} }
} }
</script> </script>
\ No newline at end of file
<style lang="scss">
.el-dialog {
padding: 20px;
box-sizing: border-box;
background-color: transparent;
background-image: url(../../../assets/img/home/dialog.png);
background-size: 100% 100%;
background-repeat: no-repeat;
.el-input__inner {
border: 1px solid #535353 !important;
box-shadow: 0 0 10px #535353;
}
.el-dialog__header {
text-align: center;
}
.el-textarea__inner {
color: white;
border: 1px solid #535353 !important;
box-shadow: 0 0 10px #535353;
background-color: transparent;
}
.el-upload-dragger{
background-color: transparent;
}
}
</style>
\ No newline at end of file
...@@ -131,7 +131,7 @@ ...@@ -131,7 +131,7 @@
</div> </div>
<div class="sendMessageButtonList"> <div class="sendMessageButtonList">
<el-button size="mini" type="info" @click="sendNotice">发送公告</el-button> <el-button size="mini" type="info" @click="sendNotice">发送公告</el-button>
<el-button size="mini" type="info">邮箱</el-button> <el-button size="mini" type="info" @click="test">邮箱</el-button>
<el-button size="mini" type="success" @click="sendMessageFn">发送</el-button> <el-button size="mini" type="success" @click="sendMessageFn">发送</el-button>
</div> </div>
</div> </div>
...@@ -142,6 +142,11 @@ ...@@ -142,6 +142,11 @@
</div> </div>
</transition> </transition>
<noticeDialog-a v-if="visible" :visible="visible" @handleCancel="closeDialog"></noticeDialog-a> <noticeDialog-a v-if="visible" :visible="visible" @handleCancel="closeDialog"></noticeDialog-a>
<ChatRoomDialog v-if="chatRoomVisible" :visible="chatRoomVisible" @handleCancel="closeDialogChatRoom">
</ChatRoomDialog>
<ChatRoomPeople v-if="chatRoomPeopleVisible" :visible="chatRoomPeopleVisible"
@handleCancel="closeDialogChatRoomPeople"></ChatRoomPeople>
<span class="el-icon-setting" @click="test1"></span>
</div> </div>
</template> </template>
...@@ -152,7 +157,8 @@ import goBack from '../../assets/img/xjs/4.png'; ...@@ -152,7 +157,8 @@ import goBack from '../../assets/img/xjs/4.png';
import arrow from '../../assets/img/ddkz/8.png'; import arrow from '../../assets/img/ddkz/8.png';
import avatar from '../../assets/img/ddkz/headPhoto.jpg'; import avatar from '../../assets/img/ddkz/headPhoto.jpg';
import NoticeDialog from '../../view/ddkz/components/noticeDialog.vue'; import NoticeDialog from '../../view/ddkz/components/noticeDialog.vue';
import "animate.css"; import ChatRoomDialog from "./components/chatRoomDialog.vue";
import ChatRoomPeople from "./components/chatRoomPeople.vue";
export default { export default {
data() { data() {
return { return {
...@@ -520,11 +526,15 @@ export default { ...@@ -520,11 +526,15 @@ export default {
// ]), // ]),
avatar: avatar, avatar: avatar,
sendMessage: '', sendMessage: '',
visible: false visible: false,
chatRoomVisible: false,
chatRoomPeopleVisible: false
} }
}, },
components: { components: {
'noticeDialog-a': NoticeDialog 'noticeDialog-a': NoticeDialog,
ChatRoomDialog: ChatRoomDialog,
ChatRoomPeople: ChatRoomPeople
}, },
methods: { methods: {
onSearch() { onSearch() {
...@@ -543,7 +553,7 @@ export default { ...@@ -543,7 +553,7 @@ export default {
this.keepBottom(); this.keepBottom();
this.sendMessage = ''; this.sendMessage = '';
}, 100); }, 100);
}else{ } else {
this.$message.warning('不能发送空白信息'); this.$message.warning('不能发送空白信息');
} }
}, },
...@@ -557,6 +567,18 @@ export default { ...@@ -557,6 +567,18 @@ export default {
sendNotice() { sendNotice() {
this.visible = true; this.visible = true;
}, },
closeDialogChatRoom() {
this.chatRoomVisible = false;
},
test() {
this.chatRoomVisible = true;
},
closeDialogChatRoomPeople() {
this.chatRoomPeopleVisible = false;
},
test1(){
this.chatRoomPeopleVisible = true;
},
query_selector(selector) { query_selector(selector) {
return Array.from(document.querySelectorAll(selector)); return Array.from(document.querySelectorAll(selector));
}, },
...@@ -595,6 +617,7 @@ export default { ...@@ -595,6 +617,7 @@ export default {
.ddkz { .ddkz {
width: 100%; width: 100%;
height: 100%; height: 100%;
overflow-x: hidden;
.ddkz-all { .ddkz-all {
width: 100%; width: 100%;
...@@ -711,8 +734,9 @@ export default { ...@@ -711,8 +734,9 @@ export default {
display: flex; display: flex;
justify-content: center; justify-content: center;
align-items: center; align-items: center;
animation:scaleDraw1 ease-in-out infinite 1s alternate; animation: scaleDraw1 ease-in-out infinite 1s alternate;
opacity: 1; opacity: 1;
.circle { .circle {
width: 16px; width: 16px;
height: 16px; height: 16px;
...@@ -731,15 +755,17 @@ export default { ...@@ -731,15 +755,17 @@ export default {
background-color: #f4c659; background-color: #f4c659;
} }
} }
@keyframes scaleDraw1 { @keyframes scaleDraw1 {
from{ from {
transform: scale(1.2); transform: scale(1.2);
opacity: 1; opacity: 1;
} }
to{
transform: scale(1); to {
opacity: 0.5; transform: scale(1);
} opacity: 0.5;
}
} }
&>div:first-child { &>div:first-child {
...@@ -1126,7 +1152,15 @@ export default { ...@@ -1126,7 +1152,15 @@ export default {
} }
} }
} }
.el-icon-setting{
position: absolute;
right: -10px;
bottom: 30px;
font-size: 35px;
&:hover{
right: 10px;
}
}
} }
</style> </style>
\ No newline at end of file
...@@ -29,8 +29,8 @@ ...@@ -29,8 +29,8 @@
<div class="card-content"> <div class="card-content">
<div class="content-img"> <div class="content-img">
<div v-for="(item1, index1) in item.img"> <div v-for="(item1, index1) in item.img">
<img :src="LiteraturePictureUrl + item1.folder + '/' + item1.image" alt="" @click="viewLiterature(item1)" <img :src="item1.coverUrl" alt=""
@contextmenu.prevent.stop="showInfo(item1)" /> @click="viewLiterature(item1)" @contextmenu.prevent.stop="showInfo(item1)" />
</div> </div>
</div> </div>
<div class="content-list"> <div class="content-list">
...@@ -65,8 +65,8 @@ ...@@ -65,8 +65,8 @@
<div class="card-content"> <div class="card-content">
<div class="content-img"> <div class="content-img">
<div v-for="(item1, index1) in item.img"> <div v-for="(item1, index1) in item.img">
<img :src="LiteraturePictureUrl + item1.folder + '/' + item1.image" alt="" @click="viewLiterature(item1)" <img :src="item1.coverUrl" alt=""
@dblclick="showInfo(item1)" /> @click="viewLiterature(item1)" @dblclick="showInfo(item1)" />
</div> </div>
</div> </div>
<div class="content-list"> <div class="content-list">
...@@ -101,8 +101,8 @@ ...@@ -101,8 +101,8 @@
<div class="card-content"> <div class="card-content">
<div class="content-img"> <div class="content-img">
<div v-for="(item1, index1) in item.img"> <div v-for="(item1, index1) in item.img">
<img :src="LiteraturePictureUrl + item1.folder + '/' + item1.image" alt="" @click="viewLiterature(item1)" <img :src="item1.coverUrl" alt=""
@contextmenu.prevent.stop="showInfo(item1)" /> @click="viewLiterature(item1)" @contextmenu.prevent.stop="showInfo(item1)" />
</div> </div>
</div> </div>
<div class="content-list"> <div class="content-list">
...@@ -330,6 +330,7 @@ ...@@ -330,6 +330,7 @@
box-sizing: border-box; box-sizing: border-box;
overflow-y: auto; overflow-y: auto;
color: white; color: white;
.search { .search {
width: 100%; width: 100%;
height: 50px; height: 50px;
...@@ -1470,6 +1471,10 @@ import { ...@@ -1470,6 +1471,10 @@ import {
delete_util, delete_util,
dateChangeFormat, dateChangeFormat,
} from "../../util/http_util"; } from "../../util/http_util";
import {
searchLiterature, queryLiterature, addRelatedInfo, addLiteratureLabel, queryCollectionFolder, addCollection, addCollectionFolder, removeCollectionFolder,
multiQueryLiterature, queryLiteratureFolder, previewPdf, queryLiteratureById, queryRecommendLiterature
} from '../../api/xxxl/llxx'
import leftTitle from "../../assets/img/flfg/leftTitle.png"; import leftTitle from "../../assets/img/flfg/leftTitle.png";
import rightTitle from "../../assets/img/flfg/rightTitle.png"; import rightTitle from "../../assets/img/flfg/rightTitle.png";
import "animate.css"; import "animate.css";
...@@ -1628,26 +1633,18 @@ export default { ...@@ -1628,26 +1633,18 @@ export default {
}, },
//根据文本信息查询文件 //根据文本信息查询文件
searchLiterature() { searchLiterature() {
post( searchLiterature(this.fulltextPagination.currentPage, this.fulltextPagination.everySize, this.input).then((res) => {
"api/rest/fulltext/searchLiterature?pageNum=" + res.list.forEach((item) => {
this.fulltextPagination.currentPage + item.createTime = dateChangeFormat(
"&pageSize=" + "YYYY-mm-dd HH:MM:SS",
this.fulltextPagination.everySize + item.createTime
"&module=法律法规", );
this.input item["name"] = item.id;
) });
.then((res) => { this.fulltextLiteratureList = res.list;
res.list.forEach((item) => { this.fulltextPagination.total = res.totals;
item.createTime = dateChangeFormat( endLoading();
"YYYY-mm-dd HH:MM:SS", })
item.createTime
);
item["name"] = item.id;
});
this.fulltextLiteratureList = res.list;
this.fulltextPagination.total = res.totals;
endLoading();
})
.catch((err) => { .catch((err) => {
endLoading(); endLoading();
this.$message.warning(err.message); this.$message.warning(err.message);
...@@ -1678,14 +1675,7 @@ export default { ...@@ -1678,14 +1675,7 @@ export default {
}, },
//查询上传的文件 //查询上传的文件
queryLiterature(pageNum, pageSize, title) { queryLiterature(pageNum, pageSize, title) {
get( queryLiterature("法律法规", pageNum, pageSize, title)
"api/rest/document/queryLiterature?module=法律法规&pageNum=" +
pageNum +
"&pageSize=" +
pageSize +
"&origin_name=" +
title
)
.then((res) => { .then((res) => {
this.literatureList = res.list; this.literatureList = res.list;
this.total = res.totals; this.total = res.totals;
...@@ -1703,23 +1693,13 @@ export default { ...@@ -1703,23 +1693,13 @@ export default {
}, },
//以pdf形式预览 //以pdf形式预览
viewLiterature(item) { viewLiterature(item) {
window.open( previewPdf('LiteraturePDF', item.name);
"api/rest/document/viewLiterature/" + item.folder + "/" + item.name
);
}, },
queryLiteratureKinds(pageNum, pageSize, type) { queryLiteratureKinds(pageNum, pageSize, type) {
get( queryLiterature("法律法规", pageNum, pageSize, null, type).then((res) => {
"api/rest/document/queryLiterature?module=法律法规&pageNum=" + this.literatureListKinds = res.list;
pageNum + this.totalKinds = res.totals;
"&pageSize=" + })
pageSize +
"&folder=" +
type
)
.then((res) => {
this.literatureListKinds = res.list;
this.totalKinds = res.totals;
})
.catch((err) => { .catch((err) => {
this.$message.warning(err.message); this.$message.warning(err.message);
}); });
...@@ -1736,7 +1716,7 @@ export default { ...@@ -1736,7 +1716,7 @@ export default {
showInfo(item) { showInfo(item) {
this.xgtj_news_data = []; this.xgtj_news_data = [];
this.xgtj_news(item.id); this.xgtj_news(item.id);
get("api/rest/fulltext/queryLiteratureById?id=" + item.name) queryLiteratureById(item.name)
.then((res) => { .then((res) => {
this.flag = 4; this.flag = 4;
this.pickObj = res; this.pickObj = res;
...@@ -1747,7 +1727,7 @@ export default { ...@@ -1747,7 +1727,7 @@ export default {
}); });
}, },
xgtj_news(id) { xgtj_news(id) {
post("api/rest/fulltext/queryRecommendLiterature?id=" + id) queryRecommendLiterature(id)
.then((res) => { .then((res) => {
if (res.length > 0) { if (res.length > 0) {
this.xgtj_news_data = res; this.xgtj_news_data = res;
...@@ -1919,7 +1899,7 @@ export default { ...@@ -1919,7 +1899,7 @@ export default {
obj["subject"] = this.pickItem.address; obj["subject"] = this.pickItem.address;
obj["relation"] = this.personType; obj["relation"] = this.personType;
obj["objectType"] = "文献"; obj["objectType"] = "文献";
post(`api/rest/resource/addRelatedInfo`, obj) addRelatedInfo(obj)
.then((res) => { .then((res) => {
if (res == 1) { if (res == 1) {
this.$message.success("关联人员成功!"); this.$message.success("关联人员成功!");
...@@ -1948,7 +1928,7 @@ export default { ...@@ -1948,7 +1928,7 @@ export default {
obj["subject"] = this.pickItem.address; obj["subject"] = this.pickItem.address;
obj["relation"] = this.organizationType; obj["relation"] = this.organizationType;
obj["objectType"] = "文献"; obj["objectType"] = "文献";
post(`api/rest/resource/addRelatedInfo`, obj) addRelatedInfo(obj)
.then((res) => { .then((res) => {
if (res == 1) { if (res == 1) {
this.$message.success("关联机构成功!"); this.$message.success("关联机构成功!");
...@@ -1986,10 +1966,7 @@ export default { ...@@ -1986,10 +1966,7 @@ export default {
//确定新增标签 //确定新增标签
defineAddTag() { defineAddTag() {
let labels = this.dynamicTags; let labels = this.dynamicTags;
post( addLiteratureLabel(this.literatureObj.id, labels)
"api/rest/document/addLiteratureLabel?id=" + this.literatureObj.id,
labels
)
.then((res) => { .then((res) => {
if (res == 1) { if (res == 1) {
this.$message.success("添加标签成功!"); this.$message.success("添加标签成功!");
...@@ -2009,10 +1986,7 @@ export default { ...@@ -2009,10 +1986,7 @@ export default {
//收藏 //收藏
//查询收藏目录 //查询收藏目录
searchCollectionFolder() { searchCollectionFolder() {
get( queryCollectionFolder(this.userInfo.account).then((res) => {
"api/rest/resource/queryCollectionFolder?collector=" +
this.userInfo.account
).then((res) => {
this.collectionFolder = res; this.collectionFolder = res;
}); });
}, },
...@@ -2032,7 +2006,7 @@ export default { ...@@ -2032,7 +2006,7 @@ export default {
//选择收藏夹完成上传 //选择收藏夹完成上传
defineAddCollection() { defineAddCollection() {
if (this.collectionData.folderId != undefined) { if (this.collectionData.folderId != undefined) {
post("api/rest/resource/addCollection", this.collectionData).then( addCollection(this.collectionData).then(
(res) => { (res) => {
if (res == 1) { if (res == 1) {
this.$message.success("收藏成功!"); this.$message.success("收藏成功!");
...@@ -2052,7 +2026,7 @@ export default { ...@@ -2052,7 +2026,7 @@ export default {
//新增收藏夹名称 //新增收藏夹名称
addCollectionFolder() { addCollectionFolder() {
if (this.collectionName != "" && this.collectionName != null) { if (this.collectionName != "" && this.collectionName != null) {
post("api/rest/resource/addCollectionFolder", { addCollectionFolder({
name: this.collectionName, name: this.collectionName,
collector: this.userInfo.account, collector: this.userInfo.account,
}) })
...@@ -2073,7 +2047,7 @@ export default { ...@@ -2073,7 +2047,7 @@ export default {
}, },
//删除收藏夹目录 //删除收藏夹目录
delectCollectionFolder(id) { delectCollectionFolder(id) {
delete_util("api/rest/resource/removeCollectionFolder?folderId=" + id) removeCollectionFolder(id)
.then((res) => { .then((res) => {
if (res == 1) { if (res == 1) {
this.$message.success("删除成功!"); this.$message.success("删除成功!");
...@@ -2121,7 +2095,7 @@ export default { ...@@ -2121,7 +2095,7 @@ export default {
//多板块文献资料查询 //多板块文献资料查询
//所有版块id集合 //所有版块id集合
let ids = []; let ids = [];
get("api/rest/document/queryLiteratureFolder?module=法律法规") queryLiteratureFolder("法律法规")
.then((res) => { .then((res) => {
this.moduleList = res; this.moduleList = res;
this.treeData = [ this.treeData = [
...@@ -2165,7 +2139,7 @@ export default { ...@@ -2165,7 +2139,7 @@ export default {
}); });
}) })
.then(() => { .then(() => {
post("api/rest/document/multiQueryLiterature?module=" + "法律法规", ids) multiQueryLiterature("法律法规",false, ids)
.then((res) => { .then((res) => {
this.viewData = res; this.viewData = res;
//国际法 //国际法
...@@ -2191,10 +2165,7 @@ export default { ...@@ -2191,10 +2165,7 @@ export default {
.catch((err) => { }); .catch((err) => { });
//多板块文献资料图片查询 //多板块文献资料图片查询
post( multiQueryLiterature("法律法规",true, ids)
"api/rest/document/multiQueryLiterature?showPic=true&module=法律法规",
ids
)
.then((res) => { .then((res) => {
//三战业务理论 //三战业务理论
this.internationalLaw[0].img = res[1]; this.internationalLaw[0].img = res[1];
......
...@@ -413,6 +413,7 @@ body, ...@@ -413,6 +413,7 @@ body,
<script> <script>
import { get, post } from '../../util/http_util'; import { get, post } from '../../util/http_util';
import { queryLiterature, previewPdf } from "../../api/xxxl/llxx"
export default { export default {
name: 'flfgKinds', name: 'flfgKinds',
data() { data() {
...@@ -430,7 +431,7 @@ export default { ...@@ -430,7 +431,7 @@ export default {
this.selectPane = tab.name; this.selectPane = tab.name;
}, },
queryLiterature(pageNum, pageSize, type) { queryLiterature(pageNum, pageSize, type) {
get('api/rest/document/queryLiterature?module=法律法规&pageNum=' + pageNum + '&pageSize=' + pageSize + '&folder=' + type).then(res => { queryLiterature('法律法规', pageNum, pageSize, null, type).then(res => {
this.literatureList = res.list; this.literatureList = res.list;
this.total = res.totals; this.total = res.totals;
}); });
...@@ -444,7 +445,7 @@ export default { ...@@ -444,7 +445,7 @@ export default {
}, },
//以pdf形式预览 //以pdf形式预览
viewLiterature(item) { viewLiterature(item) {
window.open('api/rest/document/viewLiterature/' + item.folder + '/' + item.name); previewPdf('LiteraturePDF', item.name);
}, },
//返回分类缩写 //返回分类缩写
returnType(type) { returnType(type) {
......
<template> <template>
<div id="wjfx_fzjc"> <div id="wjfx_fzjc">
<div class="left-div"> <div class="left-div">
<el-input <el-input class="public-input" placeholder="输入关键字进行过滤" suffix-icon="el-icon-search" v-model="filterText"></el-input>
class="public-input" <el-tree :data="tree_data" node-key="id" :expand-on-click-node="false" :filter-node-method="filterNode"
placeholder="输入关键字进行过滤" highlight-current :props="defaultProps" ref="tree" :current-node-key="4" :default-expanded-keys="[4]"
suffix-icon="el-icon-search" @node-click="handleNodeClick">
v-model="filterText"
></el-input>
<el-tree
:data="tree_data"
node-key="id"
:expand-on-click-node="false"
:filter-node-method="filterNode"
highlight-current
:props="defaultProps"
ref="tree"
:current-node-key="4"
:default-expanded-keys="[4]"
@node-click="handleNodeClick"
>
<span class="custom-tree-node" slot-scope="{ node, data }"> <span class="custom-tree-node" slot-scope="{ node, data }">
<span class="first-span" :title="node.label">{{ node.label }}</span> <span class="first-span" :title="node.label">{{ node.label }}</span>
<!-- <span class="list-span"> <!-- <span class="list-span">
...@@ -53,11 +39,10 @@ ...@@ -53,11 +39,10 @@
</el-tree> </el-tree>
</div> </div>
<div class="right-div"> <div class="right-div">
<component :is="currentRole" :clientDetails="clientDetails" ref="mychild"/> <component :is="currentRole" :clientDetails="clientDetails" ref="mychild" />
</div> </div>
<el-dialog title="新增文件夹" :visible.sync="dialogVisible"> <el-dialog title="新增文件夹" :visible.sync="dialogVisible">
<span class="dialogContent" <span class="dialogContent"><span>名称:</span>
><span>名称:</span>
<el-input v-model="name" placeholder="请输入名称"></el-input> <el-input v-model="name" placeholder="请输入名称"></el-input>
</span> </span>
<span slot="footer" class="dialog-footer"> <span slot="footer" class="dialog-footer">
...@@ -66,13 +51,13 @@ ...@@ -66,13 +51,13 @@
</span> </span>
</el-dialog> </el-dialog>
<el-dialog title="编辑文件夹" :visible.sync="dialogVisible_edit"> <el-dialog title="编辑文件夹" :visible.sync="dialogVisible_edit">
<span class="dialogContent"><span>名称:</span> <span class="dialogContent"><span>名称:</span>
<el-input v-model="name_edit" placeholder="请输入名称"></el-input> <el-input v-model="name_edit" placeholder="请输入名称"></el-input>
</span> </span>
<span slot="footer" class="dialog-footer"> <span slot="footer" class="dialog-footer">
<el-button @click="dialogVisible_edit = false">取 消</el-button> <el-button @click="dialogVisible_edit = false">取 消</el-button>
<el-button type="primary" @click="edit_xzzj()">确 定</el-button> <el-button type="primary" @click="edit_xzzj()">确 定</el-button>
</span> </span>
</el-dialog> </el-dialog>
<el-dialog class="importData" :title="title" :visible.sync="dialogVisibleImport" id="impor_file"> <el-dialog class="importData" :title="title" :visible.sync="dialogVisibleImport" id="impor_file">
<span> <span>
...@@ -80,7 +65,7 @@ ...@@ -80,7 +65,7 @@
<el-button size="small" type="primary" style="margin-bottom:15px;">读取excel文件</el-button> <el-button size="small" type="primary" style="margin-bottom:15px;">读取excel文件</el-button>
</el-upload> </el-upload>
<el-table :data="tableDataFromExcel" style="width: 100%" height="300px"> <el-table :data="tableDataFromExcel" style="width: 100%" height="300px">
<template v-for="(item,index) in tableDataFromExcelHead"> <template v-for="(item, index) in tableDataFromExcelHead">
<el-table-column :prop="item.column_name" :label="item.column_comment"></el-table-column> <el-table-column :prop="item.column_name" :label="item.column_comment"></el-table-column>
</template> </template>
<el-table-column label="操作"> <el-table-column label="操作">
...@@ -99,6 +84,7 @@ ...@@ -99,6 +84,7 @@
</template> </template>
<script> <script>
import { get, post, delete_util } from "../../util/http_util"; import { get, post, delete_util } from "../../util/http_util";
import { queryDocumentTree, updateDocumentTreeItem, addDocumentTreeItem } from '../../api/zfclk/wxgl';
import XLSX from "xlsx"; import XLSX from "xlsx";
import navs from "./znfx.vue"; import navs from "./znfx.vue";
// import navs1 from "./znjsfx.vue"; // import navs1 from "./znjsfx.vue";
...@@ -111,8 +97,8 @@ export default { ...@@ -111,8 +97,8 @@ export default {
currentRole: "navs", currentRole: "navs",
tree_data: [], //左侧树结构的数据 tree_data: [], //左侧树结构的数据
dialogVisible: false, //新增子节点弹出框 dialogVisible: false, //新增子节点弹出框
dialogVisible_edit:false, dialogVisible_edit: false,
name_edit:'', name_edit: '',
name: "", //新增子节点的名称 name: "", //新增子节点的名称
this_data: "", this_data: "",
this_node: "", this_node: "",
...@@ -127,43 +113,43 @@ export default { ...@@ -127,43 +113,43 @@ export default {
pickNew: "", pickNew: "",
tableDataFromExcelHead: [], tableDataFromExcelHead: [],
tableDataFromExcel: [], tableDataFromExcel: [],
module_name:'辅助决策文档', module_name: '辅助决策文档',
}; };
}, },
methods: { methods: {
edit(node,data){ edit(node, data) {
this.name_edit = data.label; this.name_edit = data.label;
this.dialogVisible_edit = true; this.dialogVisible_edit = true;
this.this_data = data; this.this_data = data;
this.this_node = node; this.this_node = node;
}, },
edit_xzzj(){ edit_xzzj() {
if (this.name_edit.trim() == "") { if (this.name_edit.trim() == "") {
this.$message({
type: "warning",
message: "名称不能为空",
});
return;
}
let paramDatas = {
id: this.this_data.id,
label: this.name_edit.trim(),
};
updateDocumentTreeItem(paramDatas)
.then((data) => {
if (data == 1) {
this.$message({ this.$message({
type: "warning", type: "success",
message: "名称不能为空", message: "文件夹编辑成功",
});
return;
}
let paramDatas = {
id:this.this_data.id,
label: this.name_edit.trim(),
};
post("api/rest/document/updateDocumentTreeItem", paramDatas)
.then((data) => {
if (data == 1) {
this.$message({
type: "success",
message: "文件夹编辑成功",
});
this.dialogVisible_edit = false;
this.$refs.mychild.searchs(1);
this.query_tree();
}
})
.catch((err) => {
console.log(err);
}); });
this.dialogVisible_edit = false;
this.$refs.mychild.searchs(1);
this.query_tree();
}
})
.catch((err) => {
console.log(err);
});
}, },
//添加子模块弹出框 //添加子模块弹出框
append(node, data) { append(node, data) {
...@@ -186,9 +172,9 @@ export default { ...@@ -186,9 +172,9 @@ export default {
level: this.this_node.data.level + 1, level: this.this_node.data.level + 1,
module: this.module_name, module: this.module_name,
parentCode: this.this_node.data.code, parentCode: this.this_node.data.code,
createId:this.$store.state.userInfo.account, createId: this.$store.state.userInfo.account,
}; };
post("api/rest/document/addDocumentTreeItem", paramDatas) addDocumentTreeItem(paramDatas)
.then((data) => { .then((data) => {
if (data == 1) { if (data == 1) {
this.$message({ this.$message({
...@@ -215,9 +201,7 @@ export default { ...@@ -215,9 +201,7 @@ export default {
} }
) )
.then(() => { .then(() => {
delete_util( removeDocumentTreeItem(node.data.id)
"api/rest/document/removeDocumentTreeItem/" + node.data.id
)
.then((data) => { .then((data) => {
if (data == 1) { if (data == 1) {
this.$message({ this.$message({
...@@ -243,13 +227,13 @@ export default { ...@@ -243,13 +227,13 @@ export default {
//查询tree数据 //查询tree数据
query_tree() { query_tree() {
this.tree_data = []; this.tree_data = [];
get("api/rest/document/queryDocumentTree?module="+this.module_name) queryDocumentTree(this.module_name)
.then((res) => { .then((res) => {
this.tree_data = [{ this.tree_data = [{
id:4, id: 4,
label:'文档列表', label: '文档列表',
level:0, level: 0,
children:res children: res
}]; }];
this.currentRole = "navs"; this.currentRole = "navs";
this.clientDetails = { type: 4 }; this.clientDetails = { type: 4 };
...@@ -264,8 +248,8 @@ export default { ...@@ -264,8 +248,8 @@ export default {
}, },
//节点点击事件 //节点点击事件
handleNodeClick(node, data) { handleNodeClick(node, data) {
this.currentRole = "navs"; this.currentRole = "navs";
this.clientDetails = { type: node.id }; this.clientDetails = { type: node.id };
// if (node.id == 21 || this.getparentNode(data) == 21) { // if (node.id == 21 || this.getparentNode(data) == 21) {
// this.currentRole = "navs"; // this.currentRole = "navs";
// this.clientDetails = { type: node.id }; // this.clientDetails = { type: node.id };
...@@ -401,61 +385,76 @@ export default { ...@@ -401,61 +385,76 @@ export default {
width: calc(100% - 50px); width: calc(100% - 50px);
height: calc(100% - 70px); height: calc(100% - 70px);
margin: 20px; margin: 20px;
.left-div { .left-div {
width: 15%; width: 15%;
height: 100%; height: 100%;
box-sizing: border-box; box-sizing: border-box;
padding: 20px; padding: 20px;
float: left; float: left;
input { input {
color: white; color: white;
background-color: transparent; background-color: transparent;
} }
.el-input { .el-input {
position: relative; position: relative;
font-size: 14px; font-size: 14px;
display: inline-block; display: inline-block;
width: 100%; width: 100%;
} }
.el-button + .el-button {
.el-button+.el-button {
margin-left: 0px !important; margin-left: 0px !important;
} }
.el-tree { .el-tree {
color: white; color: white;
background: transparent; background: transparent;
height: calc(100% - 50px); height: calc(100% - 50px);
margin-top: 10px; margin-top: 10px;
.el-tree-node__content { .el-tree-node__content {
height: 40px; height: 40px;
.el-icon-circle-plus { .el-icon-circle-plus {
display: none; display: none;
} }
.el-icon-error { .el-icon-error {
display: none; display: none;
} }
.el-icon-upload { .el-icon-upload {
display: none; display: none;
} }
.el-icon-edit-outline { .el-icon-edit-outline {
display: none; display: none;
} }
.list-span{
.list-span {
display: none; display: none;
} }
} }
} }
.el-tree > .el-tree-node > .el-tree-node__content {
.el-tree>.el-tree-node>.el-tree-node__content {
height: 40px; height: 40px;
// background-image: url(../../assets/img/yqjc/24.png); // background-image: url(../../assets/img/yqjc/24.png);
background-image: url("../../assets/img/dfzy/new/6.png"); background-image: url("../../assets/img/dfzy/new/6.png");
background-repeat: no-repeat; background-repeat: no-repeat;
background-size: 100% 100%; background-size: 100% 100%;
.el-icon-error { .el-icon-error {
display: none !important; display: none !important;
} }
.el-icon-edit-outline { .el-icon-edit-outline {
display: none !important; display: none !important;
} }
// .list-span{ // .list-span{
// display: none !important; // display: none !important;
// } // }
...@@ -463,19 +462,18 @@ export default { ...@@ -463,19 +462,18 @@ export default {
// margin-left: -50px; // margin-left: -50px;
// } // }
} }
.el-tree
> .el-tree-node .el-tree>.el-tree-node>.el-tree-node__children>.el-tree-node>.el-tree-node__content {
> .el-tree-node__children
> .el-tree-node
> .el-tree-node__content {
height: 40px; height: 40px;
// background-image: url(../../assets/img/yqjc/24.png); // background-image: url(../../assets/img/yqjc/24.png);
background-repeat: no-repeat; background-repeat: no-repeat;
background-size: 100% 100%; background-size: 100% 100%;
} }
.el-tree > .el-tree-node > .el-tree-node__content > .el-tree-node__label {
.el-tree>.el-tree-node>.el-tree-node__content>.el-tree-node__label {
font-size: 16px !important; font-size: 16px !important;
} }
.custom-tree-node { .custom-tree-node {
flex: 1; flex: 1;
display: flex; display: flex;
...@@ -484,6 +482,7 @@ export default { ...@@ -484,6 +482,7 @@ export default {
font-size: 12px; font-size: 12px;
padding-right: 8px; padding-right: 8px;
width: 82%; width: 82%;
.first-span { .first-span {
width: 100%; width: 100%;
float: left; float: left;
...@@ -491,22 +490,26 @@ export default { ...@@ -491,22 +490,26 @@ export default {
text-overflow: ellipsis; text-overflow: ellipsis;
white-space: nowrap; white-space: nowrap;
} }
.list-span{
.list-span {
position: absolute; position: absolute;
right: 20px; right: 20px;
} }
} }
.el-tree > .el-tree-node > .el-tree-node__children {
.el-tree>.el-tree-node>.el-tree-node__children {
// background-color: #1d2d46ad !important; // background-color: #1d2d46ad !important;
width: 100%; width: 100%;
height: calc(100% - 44px); height: calc(100% - 44px);
overflow: auto; overflow: auto;
position: relative; position: relative;
.el-tree-node{
.el-tree-node {
// width: 300px; // width: 300px;
} }
} }
.el-tree-node:focus > .el-tree-node__content {
.el-tree-node:focus>.el-tree-node__content {
background-color: #00648a78 !important; background-color: #00648a78 !important;
// border-radius: 5px; // border-radius: 5px;
} }
...@@ -514,37 +517,44 @@ export default { ...@@ -514,37 +517,44 @@ export default {
.el-tree-node__content:hover, .el-tree-node__content:hover,
.el-tree-node__content:focus { .el-tree-node__content:focus {
background-color: #00638a50 !important; background-color: #00638a50 !important;
// border-radius: 5px; // border-radius: 5px;
.el-icon-circle-plus { .el-icon-circle-plus {
display: block; display: block;
} }
.el-icon-edit-outline { .el-icon-edit-outline {
display: block; display: block;
} }
.el-icon-error { .el-icon-error {
display: block; display: block;
} }
.el-icon-upload { .el-icon-upload {
display: block; display: block;
} }
.list-span{
.list-span {
display: block; display: block;
} }
} }
.el-tree--highlight-current
.el-tree-node.is-current .el-tree--highlight-current .el-tree-node.is-current>.el-tree-node__content {
> .el-tree-node__content {
background-color: #00648a96 !important; background-color: #00648a96 !important;
// border-radius: 5px; // border-radius: 5px;
} }
.el-icon-circle-plus { .el-icon-circle-plus {
font-size: 16px; font-size: 16px;
color: #00a6f5; color: #00a6f5;
} }
.el-icon-edit-outline { .el-icon-edit-outline {
font-size: 16px; font-size: 16px;
color: #2ae209; color: #2ae209;
} }
// .list-span{ // .list-span{
// // background: #0b4c6dba; // // background: #0b4c6dba;
// } // }
...@@ -552,11 +562,13 @@ export default { ...@@ -552,11 +562,13 @@ export default {
font-size: 16px; font-size: 16px;
color: #ff5454; color: #ff5454;
} }
.el-icon-upload { .el-icon-upload {
font-size: 16px; font-size: 16px;
color: #2bce0e; color: #2bce0e;
} }
} }
.right-div { .right-div {
width: calc(85% - 10px); width: calc(85% - 10px);
height: 100%; height: 100%;
......
...@@ -2,32 +2,15 @@ ...@@ -2,32 +2,15 @@
<div id="znfx"> <div id="znfx">
<div v-show="wjfx_qh"> <div v-show="wjfx_qh">
<div class="top-div"> <div class="top-div">
<el-input <el-input v-model="wd_name" suffix-icon="el-icon-search" placeholder="请输入关键字"></el-input>
v-model="wd_name"
suffix-icon="el-icon-search"
placeholder="请输入关键字"
></el-input>
<div class="block sjxz"> <div class="block sjxz">
<el-date-picker <el-date-picker value-format="yyyy-MM-dd HH:mm:ss" v-model="sc_time" type="daterange" range-separator="至"
value-format="yyyy-MM-dd HH:mm:ss" start-placeholder="上传起始时间" end-placeholder="上传结束时间" :default-time="['00:00:00', '23:59:59']">
v-model="sc_time"
type="daterange"
range-separator="至"
start-placeholder="上传起始时间"
end-placeholder="上传结束时间"
:default-time="['00:00:00', '23:59:59']"
>
</el-date-picker> </el-date-picker>
</div> </div>
<div class="toggle-switch"> <div class="toggle-switch">
<el-switch <el-switch style="display: block" v-model="toggle_value" active-color="#09e8e4" inactive-color="#409eff"
style="display: block" active-text="全文检索" inactive-text="列表检索">
v-model="toggle_value"
active-color="#09e8e4"
inactive-color="#409eff"
active-text="全文检索"
inactive-text="列表检索"
>
</el-switch> </el-switch>
</div> </div>
<div class="button-discuss" @click="searchs">搜索</div> <div class="button-discuss" @click="searchs">搜索</div>
...@@ -110,30 +93,22 @@ ...@@ -110,30 +93,22 @@
</div> --> </div> -->
<div class="card-div"> <div class="card-div">
<template v-for="(item, index) in tableData"> <template v-for="(item, index) in tableData">
<div <div class="cards-div animate__animated bk-xxzp-animation" :class="[
class="cards-div animate__animated bk-xxzp-animation" index % 4 == 0
:class="[ ? 'animate__lightSpeedInLeft'
index % 4 == 0 : index % 4 == 1
? 'animate__lightSpeedInLeft'
: index % 4 == 1
? 'animate__zoomIn' ? 'animate__zoomIn'
: index % 4 == 2 : index % 4 == 2
? 'animate__zoomIn' ? 'animate__zoomIn'
: 'animate__lightSpeedInRight', : 'animate__lightSpeedInRight',
]" ]">
> <div :class="[
<div 'tilts',
:class="[ tab_actives == index ? 'table-active' : '',
'tilts', ]" @click="handleView(index, item)">
tab_actives == index ? 'table-active' : '',
]"
@click="handleView(index, item)"
>
<div class="img-div"> <div class="img-div">
<!-- <img class="tx-bg" :src="item.photos" :onerror="errimg" /> --> <!-- <img class="tx-bg" :src="item.photos" :onerror="errimg" /> -->
<div <div class="tx-bg animate__animated animate__infinite animate__pulse">
class="tx-bg animate__animated animate__infinite animate__pulse"
>
<span> <span>
{{ item.file.type.toUpperCase() }} {{ item.file.type.toUpperCase() }}
</span> </span>
...@@ -155,17 +130,9 @@ ...@@ -155,17 +130,9 @@
</div> </div>
<div class="page-div"> <div class="page-div">
<el-pagination <el-pagination class="myPagination" background layout="total, sizes, prev, pager, next, jumper"
class="myPagination" @size-change="handleSizeChange" :page-size="pageSize" :current-page="current_page" :total="total"
background @current-change="handleCurrentChange_lb" :page-sizes="[10, 20, 30, 40, 50, 60, 70, 80, 90, 100]">
layout="total, sizes, prev, pager, next, jumper"
@size-change="handleSizeChange"
:page-size="pageSize"
:current-page="current_page"
:total="total"
@current-change="handleCurrentChange_lb"
:page-sizes="[10, 20, 30, 40, 50, 60, 70, 80, 90, 100]"
>
</el-pagination> </el-pagination>
</div> </div>
</div> </div>
...@@ -174,47 +141,24 @@ ...@@ -174,47 +141,24 @@
<div v-if="toggle_value_qw" class="transition-box"> <div v-if="toggle_value_qw" class="transition-box">
<div class="bottom-content"> <div class="bottom-content">
<div class="content-title"> <div class="content-title">
<span <span>为您提供<span class="new-num" v-text="totals_qw"></span>条数据</span>
>为您提供<span class="new-num" v-text="totals_qw"></span
>条数据</span
>
</div> </div>
<div class="content-text"> <div class="content-text">
<div class="content-news" v-for="(item, index) in get_files"> <div class="content-news" v-for="(item, index) in get_files">
<div class="news-title"> <div class="news-title">
<div class="first-div"> <div class="first-div">
<span <span>文档名称:<span v-text="item.fileInfo.name" class="span_cl"></span></span>
>文档名称:<span
v-text="item.fileInfo.name"
class="span_cl"
></span
></span>
</div> </div>
<div class="last-div"> <div class="last-div">
<span <span>文件原名称:<span v-text="item.fileInfo.file.name" class="span_cl"></span></span>
>文件原名称:<span
v-text="item.fileInfo.file.name"
class="span_cl"
></span
></span>
</div> </div>
</div> </div>
<div class="news-content" v-html="item.highLight"></div> <div class="news-content" v-html="item.highLight"></div>
<div class="news-info"> <div class="news-info">
<span class="news-info-from" <span class="news-info-from">类型:<span v-text="item.fileInfo.file.type"></span></span>&emsp;
>类型:<span <span class="news-info-channel">上传时间:<span v-text="item.create_time"></span></span>&emsp;
v-text="item.fileInfo.file.type"
></span></span
>&emsp;
<span class="news-info-channel"
>上传时间:<span v-text="item.create_time"></span></span
>&emsp;
<div class="news-info-tool"> <div class="news-info-tool">
<i <i class="el-icon-view views" @click="handleView_qwss(item)" title="预览"></i>
class="el-icon-view views"
@click="handleView_qwss(item)"
title="预览"
></i>
<!-- &nbsp; <!-- &nbsp;
<i <i
class="el-icon-download" class="el-icon-download"
...@@ -229,17 +173,10 @@ ...@@ -229,17 +173,10 @@
<div class="page-div"> <div class="page-div">
<div class="pagination-div"> <div class="pagination-div">
<el-pagination <el-pagination class="myPagination" background layout="total, sizes, prev, pager, next, jumper"
class="myPagination" @size-change="handleSizeChange_qw" :page-size="pageSize_qw" :current-page="current_page_qw"
background :total="totals_qw" @current-change="handleCurrentChange_qw"
layout="total, sizes, prev, pager, next, jumper" :page-sizes="[10, 20, 30, 40, 50, 60, 70, 80, 90, 100]">
@size-change="handleSizeChange_qw"
:page-size="pageSize_qw"
:current-page="current_page_qw"
:total="totals_qw"
@current-change="handleCurrentChange_qw"
:page-sizes="[10, 20, 30, 40, 50, 60, 70, 80, 90, 100]"
>
</el-pagination> </el-pagination>
</div> </div>
</div> </div>
...@@ -249,50 +186,20 @@ ...@@ -249,50 +186,20 @@
</div> </div>
<div v-show="!wjfx_qh"> <div v-show="!wjfx_qh">
<div v-show="tab_jsfx" style="position: relative"> <div v-show="tab_jsfx" style="position: relative">
<el-input <el-input style="width: 30%; margin-left: 35%; margin-top: 20%" v-model="gjc_input" placeholder="请输入关键词 回车搜索"
style="width: 30%; margin-left: 35%; margin-top: 20%" suffix-icon="el-icon-search" @keyup.enter.native="onSubmit"></el-input>
v-model="gjc_input" <el-tooltip class="item" effect="light" content="文件分析" placement="top-start">
placeholder="请输入关键词 回车搜索" <el-button type="primary" icon="el-icon-data-line" size="small" style="right: 75px; position: absolute"
suffix-icon="el-icon-search" @click="wjfx_cli()" circle></el-button>
@keyup.enter.native="onSubmit"
></el-input>
<el-tooltip
class="item"
effect="light"
content="文件分析"
placement="top-start"
>
<el-button
type="primary"
icon="el-icon-data-line"
size="small"
style="right: 75px; position: absolute"
@click="wjfx_cli()"
circle
></el-button>
</el-tooltip> </el-tooltip>
<el-tooltip <el-tooltip class="item" effect="light" content="智能检索分析" placement="top-start">
class="item" <el-button type="info" icon="el-icon-data-board" size="small"
effect="light" style="right: 35px; position: absolute; pointer-events: none" circle></el-button>
content="智能检索分析"
placement="top-start"
>
<el-button
type="info"
icon="el-icon-data-board"
size="small"
style="right: 35px; position: absolute; pointer-events: none"
circle
></el-button>
</el-tooltip> </el-tooltip>
</div> </div>
<div v-show="!tab_jsfx"> <div v-show="!tab_jsfx">
<div class="top-div"> <div class="top-div">
<el-input <el-input v-model="znjsfx_name" suffix-icon="el-icon-search" placeholder="请输入关键字"></el-input>
v-model="znjsfx_name"
suffix-icon="el-icon-search"
placeholder="请输入关键字"
></el-input>
<div class="button-discuss" @click="seach_znjsfx(1)">搜索</div> <div class="button-discuss" @click="seach_znjsfx(1)">搜索</div>
<!-- <el-tooltip <!-- <el-tooltip
class="item" class="item"
...@@ -326,12 +233,7 @@ ...@@ -326,12 +233,7 @@
</div> </div>
<div class="bottom-div"> <div class="bottom-div">
<div class="table-div"> <div class="table-div">
<el-table <el-table :data="tableData_znjsfx" height="100%" border style="width: 100%">
:data="tableData_znjsfx"
height="100%"
border
style="width: 100%"
>
<el-table-column type="index" label="序号" width="80"> <el-table-column type="index" label="序号" width="80">
</el-table-column> </el-table-column>
<el-table-column prop="name" label="文档名称" width="250"> <el-table-column prop="name" label="文档名称" width="250">
...@@ -344,75 +246,33 @@ ...@@ -344,75 +246,33 @@
</el-table-column> </el-table-column>
<el-table-column prop="file.type" label="文档类型" width="110"> <el-table-column prop="file.type" label="文档类型" width="110">
</el-table-column> </el-table-column>
<el-table-column <el-table-column prop="cz" label="操作" width="150" show-overflow-tooltip>
prop="cz"
label="操作"
width="150"
show-overflow-tooltip
>
<template slot-scope="scope"> <template slot-scope="scope">
<i <i class="el-icon-view" @click="handleView(scope.$index, scope.row)" title="预览"></i>&nbsp;
class="el-icon-view"
@click="handleView(scope.$index, scope.row)"
title="预览"
></i
>&nbsp;
<!-- <i <!-- <i
class="el-icon-download" class="el-icon-download"
@click="handleDownload(scope.$index, scope.row)" @click="handleDownload(scope.$index, scope.row)"
title="下载" title="下载"
></i ></i
>&nbsp; --> >&nbsp; -->
<i <i class="el-icon-edit" @click="handleEdit(scope.$index, scope.row)" title="编辑"></i>&nbsp;
class="el-icon-edit" <i class="el-icon-delete-solid" @click="handleDelete(scope.$index, scope.row)" title="删除"></i>
@click="handleEdit(scope.$index, scope.row)"
title="编辑"
></i
>&nbsp;
<i
class="el-icon-delete-solid"
@click="handleDelete(scope.$index, scope.row)"
title="删除"
></i>
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
</div> </div>
<div class="page-div"> <div class="page-div">
<el-pagination <el-pagination class="myPagination" background layout="prev, pager, next" :total="total_znjsfx"
class="myPagination" :page-size="pageSize" :current-page="current_page_znjsfx" @current-change="seach_znjsfx">
background
layout="prev, pager, next"
:total="total_znjsfx"
:page-size="pageSize"
:current-page="current_page_znjsfx"
@current-change="seach_znjsfx"
>
</el-pagination> </el-pagination>
</div> </div>
</div> </div>
</div> </div>
</div> </div>
<el-dialog <el-dialog title="新增文档" :visible.sync="centerDialogVisible_add" width="30%" center class="xzwd">
title="新增文档" <el-form ref="form" :model="form_add" label-width="80px" style="margin-bottom: 0px">
:visible.sync="centerDialogVisible_add"
width="30%"
center
class="xzwd"
>
<el-form
ref="form"
:model="form_add"
label-width="80px"
style="margin-bottom: 0px"
>
<el-form-item label="文档名称"> <el-form-item label="文档名称">
<el-input <el-input v-model="form_add.name" maxlength="20" show-word-limit placeholder="请输入文档名称"></el-input>
v-model="form_add.name"
maxlength="20"
show-word-limit
placeholder="请输入文档名称"
></el-input>
</el-form-item> </el-form-item>
<!-- <el-form-item label="文档类别"> <!-- <el-form-item label="文档类别">
<el-select v-model="form_add.region" placeholder="请选择文档类别"> <el-select v-model="form_add.region" placeholder="请选择文档类别">
...@@ -426,39 +286,17 @@ ...@@ -426,39 +286,17 @@
</el-select> </el-select>
</el-form-item> --> </el-form-item> -->
<el-form-item label="关键词"> <el-form-item label="关键词">
<el-input <el-input v-model="form_add.gjc" show-word-limit placeholder="请输入关键词,多个关键词使用英文逗号,隔开"></el-input>
v-model="form_add.gjc"
show-word-limit
placeholder="请输入关键词,多个关键词使用英文逗号,隔开"
></el-input>
</el-form-item> </el-form-item>
<el-form-item label="文档描述"> <el-form-item label="文档描述">
<el-input <el-input type="textarea" placeholder="请输入文档描述" v-model="form_add.ms" maxlength="100" show-word-limit :rows="4">
type="textarea"
placeholder="请输入文档描述"
v-model="form_add.ms"
maxlength="100"
show-word-limit
:rows="4"
>
</el-input> </el-input>
</el-form-item> </el-form-item>
<el-form-item label="选择文件" style="margin-bottom: 0px"> <el-form-item label="选择文件" style="margin-bottom: 0px">
<el-upload <el-upload class="upload-demo" ref="upload" action="uploadUrl" :file-list="form_add.fileList"
class="upload-demo" :on-change="handleChange" :show-file-list="true" :auto-upload="false" :multiple="false"
ref="upload" :on-remove="handleRemove" :accept="format_files">
action="uploadUrl" <el-button slot="trigger" size="small" type="primary">选取文件</el-button>
:file-list="form_add.fileList"
:on-change="handleChange"
:show-file-list="true"
:auto-upload="false"
:multiple="false"
:on-remove="handleRemove"
:accept="format_files"
>
<el-button slot="trigger" size="small" type="primary"
>选取文件</el-button
>
<div slot="tip" class="el-upload__tip"> <div slot="tip" class="el-upload__tip">
允许上传DOC、PPT、JPG、PNG、MP4等等 ,且不超过100M 允许上传DOC、PPT、JPG、PNG、MP4等等 ,且不超过100M
</div> </div>
...@@ -471,19 +309,10 @@ ...@@ -471,19 +309,10 @@
</span> </span>
</el-dialog> </el-dialog>
<el-dialog <el-dialog title="编辑文档" :visible.sync="centerDialogVisible_edit" width="30%" center>
title="编辑文档"
:visible.sync="centerDialogVisible_edit"
width="30%"
center
>
<el-form ref="form" :model="form_edit" label-width="80px"> <el-form ref="form" :model="form_edit" label-width="80px">
<el-form-item label="文档名称"> <el-form-item label="文档名称">
<el-input <el-input v-model="form_edit.name" maxlength="20" show-word-limit></el-input>
v-model="form_edit.name"
maxlength="20"
show-word-limit
></el-input>
</el-form-item> </el-form-item>
<!-- <el-form-item label="文档类别"> <!-- <el-form-item label="文档类别">
<el-select v-model="form_edit.region" placeholder="请选择文档类别"> <el-select v-model="form_edit.region" placeholder="请选择文档类别">
...@@ -497,21 +326,11 @@ ...@@ -497,21 +326,11 @@
</el-select> </el-select>
</el-form-item> --> </el-form-item> -->
<el-form-item label="关键词"> <el-form-item label="关键词">
<el-input <el-input v-model="form_edit.gjc" show-word-limit placeholder="请输入关键词,多个关键词使用英文逗号,隔开"></el-input>
v-model="form_edit.gjc"
show-word-limit
placeholder="请输入关键词,多个关键词使用英文逗号,隔开"
></el-input>
</el-form-item> </el-form-item>
<el-form-item label="文档描述"> <el-form-item label="文档描述">
<el-input <el-input type="textarea" placeholder="请输入文档描述" v-model="form_edit.ms" maxlength="100" show-word-limit
type="textarea" :rows="4">
placeholder="请输入文档描述"
v-model="form_edit.ms"
maxlength="100"
show-word-limit
:rows="4"
>
</el-input> </el-input>
</el-form-item> </el-form-item>
</el-form> </el-form>
...@@ -520,41 +339,15 @@ ...@@ -520,41 +339,15 @@
<el-button type="primary" @click="submit_bj">确 定</el-button> <el-button type="primary" @click="submit_bj">确 定</el-button>
</span> </span>
</el-dialog> </el-dialog>
<el-dialog <el-dialog :title="title" :visible.sync="centerDialogVisible_video" center width="800px">
:title="title"
:visible.sync="centerDialogVisible_video"
center
width="800px"
>
<div style="height: 400px; position: relative"> <div style="height: 400px; position: relative">
<video <video id="video" class="" preload="meta" controls width="100%" object-fit="fill" height="100%"
id="video" controlslist="nodownload" :src="video_src" disablePictureInPicture></video>
class=""
preload="meta"
controls
width="100%"
object-fit="fill"
height="100%"
controlslist="nodownload"
:src="video_src"
disablePictureInPicture
></video>
</div> </div>
</el-dialog> </el-dialog>
<el-dialog <el-dialog :title="title_sound" :visible.sync="centerDialogVisible_sound" center width="500px">
:title="title_sound" <audio controls id="sound_id" :src="sound_src" controlslist="nodownload" class="audio-class"></audio>
:visible.sync="centerDialogVisible_sound"
center
width="500px"
>
<audio
controls
id="sound_id"
:src="sound_src"
controlslist="nodownload"
class="audio-class"
></audio>
</el-dialog> </el-dialog>
</div> </div>
</template> </template>
...@@ -575,6 +368,7 @@ import { ...@@ -575,6 +368,7 @@ import {
import { uuid } from "../../util/data_util"; import { uuid } from "../../util/data_util";
import VanillaTilt from "vanilla-tilt"; import VanillaTilt from "vanilla-tilt";
import "animate.css"; import "animate.css";
import { queryDoc, searchFiles } from '../../api/zfclk/wxgl';
export default { export default {
data() { data() {
return { return {
...@@ -689,23 +483,16 @@ export default { ...@@ -689,23 +483,16 @@ export default {
// startLoading(); // startLoading();
_this.tableData = []; _this.tableData = [];
_this.total = 0; _this.total = 0;
post( queryDoc(pageNum, _this.pageSize, _this.paramData).then((data) => {
"api/rest/document/queryDoc?pageNum=" + setTimeout(() => {
pageNum + if (data.list.length != 0) {
"&pageSize=" + _this.tableData = data.list;
_this.pageSize, }
_this.paramData _this.total = data.totals;
) _this.current_page = pageNum;
.then((data) => { }, 500);
setTimeout(() => { // endLoading();
if (data.list.length != 0) { })
_this.tableData = data.list;
}
_this.total = data.totals;
_this.current_page = pageNum;
}, 500);
// endLoading();
})
.catch((err) => { .catch((err) => {
this.$message.warning(err.message); this.$message.warning(err.message);
}); });
...@@ -737,26 +524,19 @@ export default { ...@@ -737,26 +524,19 @@ export default {
startLoading(); startLoading();
_this.get_files = []; _this.get_files = [];
_this.totals_qw = 0; _this.totals_qw = 0;
post( searchFiles(pageNum, _this.pageSize_qw, paramDatas).then((data) => {
"api/rest/fulltext/searchFiles?pageNum=" + if (data.list.length != 0) {
pageNum + data.list.forEach((item, index) => {
"&pageSize=" + data.list[index].create_time = new Date(
_this.pageSize_qw, data.list[index].create_time
paramDatas ).Format("yyyy-MM-dd HH:mm:ss");
) });
.then((data) => { _this.get_files = data.list;
if (data.list.length != 0) { _this.totals_qw = data.totals;
data.list.forEach((item, index) => { _this.current_page_qw = pageNum;
data.list[index].create_time = new Date( }
data.list[index].create_time endLoading();
).Format("yyyy-MM-dd HH:mm:ss"); })
});
_this.get_files = data.list;
_this.totals_qw = data.totals;
_this.current_page_qw = pageNum;
}
endLoading();
})
.catch((err) => { .catch((err) => {
endLoading(); endLoading();
this.$message.warning(err.message); this.$message.warning(err.message);
...@@ -853,11 +633,11 @@ export default { ...@@ -853,11 +633,11 @@ export default {
.then(() => { .then(() => {
delete_util( delete_util(
"api/rest/document/delDoc/" + "api/rest/document/delDoc/" +
ids + ids +
"?folder=" + "?folder=" +
_this.type_folder + _this.type_folder +
"&name=" + "&name=" +
row.file.uuid row.file.uuid
) )
.then((data) => { .then((data) => {
if (data == 1) { if (data == 1) {
...@@ -1018,9 +798,9 @@ export default { ...@@ -1018,9 +798,9 @@ export default {
_this.total_znjsfx = 0; _this.total_znjsfx = 0;
post( post(
"api/rest/document/queryDoc?pageNum=" + "api/rest/document/queryDoc?pageNum=" +
pageNum + pageNum +
"&pageSize=" + "&pageSize=" +
_this.pageSize, _this.pageSize,
paramDatas paramDatas
).then((data) => { ).then((data) => {
if (data.list.length != 0) { if (data.list.length != 0) {
...@@ -1058,6 +838,7 @@ export default { ...@@ -1058,6 +838,7 @@ export default {
mounted() { mounted() {
let _this = this; let _this = this;
_this.format_files = format_file(); _this.format_files = format_file();
this.searchs(1);
//默认查询数据 //默认查询数据
// _this.searchs(1); // _this.searchs(1);
// _this.options = []; // _this.options = [];
...@@ -1137,70 +918,89 @@ export default { ...@@ -1137,70 +918,89 @@ export default {
overflow: hidden; overflow: hidden;
background-size: 100% 100%; background-size: 100% 100%;
color: white; color: white;
.el-tabs--card > .el-tabs__header {
.el-tabs--card>.el-tabs__header {
border-bottom: 1px solid #146a80; border-bottom: 1px solid #146a80;
} }
.el-tabs--card > .el-tabs__header .el-tabs__nav {
.el-tabs--card>.el-tabs__header .el-tabs__nav {
border: 1px solid #146a80; border: 1px solid #146a80;
} }
.el-tabs--card > .el-tabs__header .el-tabs__item.is-active {
.el-tabs--card>.el-tabs__header .el-tabs__item.is-active {
border-bottom-color: #3b9cff; border-bottom-color: #3b9cff;
} }
.el-tabs__item { .el-tabs__item {
color: #656565; color: #656565;
} }
.el-tabs--card > .el-tabs__header .el-tabs__item {
.el-tabs--card>.el-tabs__header .el-tabs__item {
border-left: 1px solid #146a80; border-left: 1px solid #146a80;
} }
.el-tabs__item.is-active { .el-tabs__item.is-active {
color: #409eff !important; color: #409eff !important;
} }
.el-input__count { .el-input__count {
color: #229dbd; color: #229dbd;
background: #1d2d4600; background: #1d2d4600;
} }
.el-input__count-inner { .el-input__count-inner {
color: #229dbd; color: #229dbd;
background: #1d2d46; background: #1d2d46;
} }
.top-div { .top-div {
width: 100%; width: 100%;
height: 60px; height: 60px;
.el-button{
.el-button {
float: left; float: left;
margin-left: 10px; margin-left: 10px;
margin-top: 3px; margin-top: 3px;
} }
.el-input { .el-input {
float: left; float: left;
width: 200px; width: 200px;
margin-right: 30px; margin-right: 30px;
.el-input__inner { .el-input__inner {
background: none; background: none;
color: #ffff; color: #ffff;
border: 1px solid #3a5f94c9 !important; border: 1px solid #3a5f94c9 !important;
} }
} }
.el-select { .el-select {
float: left; float: left;
} }
.sjxz { .sjxz {
width: 350px; width: 350px;
float: left; float: left;
.el-date-editor { .el-date-editor {
background: none; background: none;
span { span {
color: white; color: white;
} }
.el-range-input { .el-range-input {
color: white; color: white;
background: none; background: none;
} }
} }
.el-input__inner { .el-input__inner {
border: 1px solid #3a5f94c9 !important; border: 1px solid #3a5f94c9 !important;
} }
} }
.button-discuss { .button-discuss {
width: 100px; width: 100px;
height: 30px; height: 30px;
...@@ -1215,6 +1015,7 @@ export default { ...@@ -1215,6 +1015,7 @@ export default {
background-repeat: no-repeat; background-repeat: no-repeat;
background-size: 100% 100%; background-size: 100% 100%;
} }
.button-discuss1 { .button-discuss1 {
width: 100px; width: 100px;
height: 30px; height: 30px;
...@@ -1229,28 +1030,35 @@ export default { ...@@ -1229,28 +1030,35 @@ export default {
background-repeat: no-repeat; background-repeat: no-repeat;
background-size: 100% 100%; background-size: 100% 100%;
} }
.toggle-switch { .toggle-switch {
float: left; float: left;
margin-top: 10px; margin-top: 10px;
margin-left: 20px; margin-left: 20px;
.el-switch__label.is-active { .el-switch__label.is-active {
color: #409eff !important; color: #409eff !important;
} }
.el-switch__label { .el-switch__label {
display: unset; display: unset;
color: #5a5a5a; color: #5a5a5a;
span { span {
font-size: 15px; font-size: 15px;
} }
} }
} }
} }
.bottom-div { .bottom-div {
width: 100%; width: 100%;
height: calc(100% - 55px); height: calc(100% - 55px);
.table-div { .table-div {
width: 100%; width: 100%;
height: calc(100% - 50px); height: calc(100% - 50px);
.el-table tr { .el-table tr {
background-color: transparent !important; background-color: transparent !important;
color: #ffffffc7; color: #ffffffc7;
...@@ -1262,13 +1070,13 @@ export default { ...@@ -1262,13 +1070,13 @@ export default {
background-size: 100% 100%; background-size: 100% 100%;
} }
.el-table th{ .el-table th {
background-color: transparent; background-color: transparent;
} }
tbody tr { tbody tr {
border-bottom: 1px solid #252631; border-bottom: 1px solid #252631;
} }
.el-table td { .el-table td {
border-bottom: 1px solid #252631; border-bottom: 1px solid #252631;
...@@ -1313,16 +1121,19 @@ export default { ...@@ -1313,16 +1121,19 @@ export default {
background-color: unset; background-color: unset;
} }
} }
.card-div { .card-div {
width: 100%; width: 100%;
height: calc(100% - 50px); height: calc(100% - 50px);
overflow-y: auto; overflow-y: auto;
overflow-x: hidden; overflow-x: hidden;
.cards-div { .cards-div {
width: 23%; width: 23%;
height: 160px; height: 160px;
margin: 1%; margin: 1%;
float: left; float: left;
.tilts { .tilts {
width: 100%; width: 100%;
height: 100%; height: 100%;
...@@ -1331,9 +1142,11 @@ export default { ...@@ -1331,9 +1142,11 @@ export default {
cursor: pointer; cursor: pointer;
transform: perspective(1000px); transform: perspective(1000px);
} }
.tilts:hover { .tilts:hover {
transform-style: preserve-3d; transform-style: preserve-3d;
background-image: url("../../assets/img/fzjc/new/1.png"); background-image: url("../../assets/img/fzjc/new/1.png");
// .span-div { // .span-div {
// .span-div-bg { // .span-div-bg {
// background-image: url("../../assets/img/dfzy/new/5.png"); // background-image: url("../../assets/img/dfzy/new/5.png");
...@@ -1345,8 +1158,10 @@ export default { ...@@ -1345,8 +1158,10 @@ export default {
color: transparent; color: transparent;
} }
} }
.table-active { .table-active {
background-image: url("../../assets/img/dfzy/new/1.png"); background-image: url("../../assets/img/dfzy/new/1.png");
// .span-div { // .span-div {
// .span-div-bg { // .span-div-bg {
// background-image: url("../../assets/img/dfzy/new/5.png"); // background-image: url("../../assets/img/dfzy/new/5.png");
...@@ -1358,6 +1173,7 @@ export default { ...@@ -1358,6 +1173,7 @@ export default {
color: transparent; color: transparent;
} }
} }
.img-div { .img-div {
width: 70px; width: 70px;
height: 70px; height: 70px;
...@@ -1368,6 +1184,7 @@ export default { ...@@ -1368,6 +1184,7 @@ export default {
transform: translateZ(20px); transform: translateZ(20px);
display: flex; display: flex;
align-items: center; align-items: center;
.tx-bg { .tx-bg {
width: 100%; width: 100%;
background-size: 100% 100%; background-size: 100% 100%;
...@@ -1375,6 +1192,7 @@ export default { ...@@ -1375,6 +1192,7 @@ export default {
text-align: center; text-align: center;
letter-spacing: 2; letter-spacing: 2;
font-weight: 900; font-weight: 900;
span { span {
background: linear-gradient(to bottom, #fffe7f, #54ff88); background: linear-gradient(to bottom, #fffe7f, #54ff88);
-webkit-background-clip: text; -webkit-background-clip: text;
...@@ -1382,12 +1200,14 @@ export default { ...@@ -1382,12 +1200,14 @@ export default {
} }
} }
} }
.text-div { .text-div {
width: calc(100% - 140px); width: calc(100% - 140px);
height: 54px; height: 54px;
float: left; float: left;
margin-top: 40px; margin-top: 40px;
transform: translateZ(20px); transform: translateZ(20px);
.name-div { .name-div {
width: 100%; width: 100%;
height: 100%; height: 100%;
...@@ -1395,6 +1215,7 @@ export default { ...@@ -1395,6 +1215,7 @@ export default {
// background-size: 100% 100%; // background-size: 100% 100%;
// text-align: center; // text-align: center;
color: white; color: white;
.top-span { .top-span {
font-size: 13px; font-size: 13px;
letter-spacing: 1px; letter-spacing: 1px;
...@@ -1407,10 +1228,12 @@ export default { ...@@ -1407,10 +1228,12 @@ export default {
overflow: hidden; overflow: hidden;
} }
} }
.bottom-span { .bottom-span {
text-align: center; text-align: center;
font-size: 12px; font-size: 12px;
} }
.synopsis-div { .synopsis-div {
color: #ffffff87; color: #ffffff87;
font-size: 15px; font-size: 15px;
...@@ -1425,6 +1248,7 @@ export default { ...@@ -1425,6 +1248,7 @@ export default {
word-break: break-all; word-break: break-all;
white-space: pre-line; white-space: pre-line;
} }
.xq-div { .xq-div {
width: calc(100% - 40px); width: calc(100% - 40px);
padding-left: 28px; padding-left: 28px;
...@@ -1433,6 +1257,7 @@ export default { ...@@ -1433,6 +1257,7 @@ export default {
margin-top: 5px; margin-top: 5px;
float: left; float: left;
} }
.el-tag { .el-tag {
float: left; float: left;
margin-right: 10px; margin-right: 10px;
...@@ -1443,9 +1268,11 @@ export default { ...@@ -1443,9 +1268,11 @@ export default {
} }
} }
} }
.bottom-content { .bottom-content {
width: 100%; width: 100%;
height: calc(100% - 50px); height: calc(100% - 50px);
.content-title { .content-title {
width: 100%; width: 100%;
height: 40px; height: 40px;
...@@ -1453,18 +1280,22 @@ export default { ...@@ -1453,18 +1280,22 @@ export default {
padding-left: 20px; padding-left: 20px;
box-sizing: border-box; box-sizing: border-box;
background: #263b5d; background: #263b5d;
.new-num { .new-num {
color: #09c69c; color: #09c69c;
} }
} }
.content-text { .content-text {
width: 100%; width: 100%;
height: calc(100% - 40px); height: calc(100% - 40px);
padding: 10px; padding: 10px;
overflow-y: auto; overflow-y: auto;
box-sizing: border-box; box-sizing: border-box;
.content-news { .content-news {
border-bottom: 1px solid #156677; border-bottom: 1px solid #156677;
.news-title { .news-title {
width: 100%; width: 100%;
height: 40px; height: 40px;
...@@ -1472,19 +1303,23 @@ export default { ...@@ -1472,19 +1303,23 @@ export default {
padding-left: 20px; padding-left: 20px;
cursor: pointer; cursor: pointer;
box-sizing: border-box; box-sizing: border-box;
.first-div { .first-div {
font-size: 18px; font-size: 18px;
float: left; float: left;
} }
.last-div { .last-div {
font-size: 15px; font-size: 15px;
float: left; float: left;
margin-left: 50px; margin-left: 50px;
} }
.span_cl { .span_cl {
color: #28d0ff; color: #28d0ff;
} }
} }
.news-content { .news-content {
font-size: 18px; font-size: 18px;
text-indent: 25px; text-indent: 25px;
...@@ -1497,6 +1332,7 @@ export default { ...@@ -1497,6 +1332,7 @@ export default {
-webkit-line-clamp: 2; -webkit-line-clamp: 2;
overflow: hidden; overflow: hidden;
color: #08addb; color: #08addb;
em { em {
color: red; color: red;
font-size: 22px; font-size: 22px;
...@@ -1504,37 +1340,47 @@ export default { ...@@ -1504,37 +1340,47 @@ export default {
font-weight: 600; font-weight: 600;
} }
} }
.news-info { .news-info {
width: 100%; width: 100%;
height: 30px; height: 30px;
margin-top: 10px; margin-top: 10px;
.news-info-from { .news-info-from {
margin-left: 20px; margin-left: 20px;
span { span {
color: #28d0ff; color: #28d0ff;
} }
} }
.news-info-channel { .news-info-channel {
margin-left: 20px; margin-left: 20px;
span { span {
color: #28d0ff; color: #28d0ff;
} }
} }
.news-info-time { .news-info-time {
margin-left: 20px; margin-left: 20px;
} }
.news-info-feeling { .news-info-feeling {
margin-left: 20px; margin-left: 20px;
} }
.news-info-tool { .news-info-tool {
width: 100px; width: 100px;
float: right; float: right;
} }
.el-icon-download { .el-icon-download {
color: #1172d8; color: #1172d8;
cursor: pointer; cursor: pointer;
font-size: 20px; font-size: 20px;
} }
.views { .views {
color: #00ffff; color: #00ffff;
font-size: 20px; font-size: 20px;
......
...@@ -287,7 +287,7 @@ export default { ...@@ -287,7 +287,7 @@ export default {
console.log(err); console.log(err);
}); });
//ws创建 //ws创建
this.$store.dispatch("initWebsocket"); // this.$store.dispatch("initWebsocket");
//获取通知消息数量 //获取通知消息数量
// get("api/rest/system/user/countNotification?account=" + this.userInfo.account) // get("api/rest/system/user/countNotification?account=" + this.userInfo.account)
// .then(res => { // .then(res => {
......
...@@ -129,8 +129,8 @@ ...@@ -129,8 +129,8 @@
width: calc(15% - 10px); width: calc(15% - 10px);
height: 100%; height: 100%;
margin-left: 10px; margin-left: 10px;
border: 1px solid #146a80 !important; border: 1px solid #535353 !important;
box-shadow: 0 0 10px #1b6097; box-shadow: 0 0 10px #535353;
.jsgl-tree { .jsgl-tree {
width: 100%; width: 100%;
...@@ -206,8 +206,8 @@ ...@@ -206,8 +206,8 @@
width: 85%; width: 85%;
height: 100%; height: 100%;
margin-left: 10px; margin-left: 10px;
border: 1px solid #146a80 !important; border: 1px solid #535353 !important;
box-shadow: 0 0 10px #1b6097; box-shadow: 0 0 10px #535353;
.new-user { .new-user {
width: 120px; width: 120px;
...@@ -325,8 +325,8 @@ ...@@ -325,8 +325,8 @@
.el-input__inner { .el-input__inner {
background: none; background: none;
color: #ffff; color: #ffff;
border: 1px solid #146a80 !important; border: 1px solid #535353 !important;
box-shadow: 0 0 10px #1b6097; box-shadow: 0 0 10px #535353;
} }
.el-input__count { .el-input__count {
......
...@@ -302,8 +302,8 @@ ...@@ -302,8 +302,8 @@
.el-input__inner { .el-input__inner {
background: none; background: none;
color: #ffff; color: #ffff;
border: 1px solid #3a5f94c9 !important; border: 1px solid #535353 !important;
box-shadow: 0 0 10px #3a5f94c9; box-shadow: 0 0 10px #535353;
} }
.el-input__count { .el-input__count {
......
<template>
<el-dialog title="技术展示" :visible.sync="dialogVisible" width="30%" :before-close="handleClose">
<div class="notice">
<el-form ref="form" :model="form" label-width="80px">
<el-form-item label="新技术">
<el-select v-model="form.technique" placeholder="请选择新技术" @change="changeOption">
<el-option v-for="item in techniqueList" :key="item.value" :label="item.label"
:value="item.value"></el-option>
</el-select>
</el-form-item>
<el-form-item label="识别文本">
<el-input type="textarea" autosize v-model="form.text"></el-input>
<el-button style="margin-top: 10px;" type="success" @click="identifyText" size="small">识别</el-button>
</el-form-item>
<el-form-item label="识别结果">
<el-input type="textarea" v-model="form.result"></el-input>
</el-form-item>
</el-form>
</div>
</el-dialog>
</template>
<script>
import { entity, hotWord, summary, emotionNews } from '../../../api/newTechnique';
export default {
data() {
return {
dialogVisible: false,
form: {
technique: '',
text: '',
result: '',
},
techniqueList: [
{ label: "命名实体识别", value: 1 },
{ label: "热词", value: 2 },
{ label: "消息摘要算法", value: 3 },
{ label: "情感识别", value: 4 },
]
}
},
props: {
visible: Boolean,
type: Number
},
methods: {
handleClose() {
this.$emit('handleCancel');
},
changeOption(val) {
this.form.text = '';
this.form.result = '';
},
identifyText() {
if (this.form.technique == 1) {
if (this.form.text.trim() != '') {
entity({ action: "entity_extract", language: "zh", text: this.form.text.trim() }).then(res => {
this.form.result = res.score;
})
} else {
alert('未识别到主体!');
}
} else if (this.form.technique == 2) {
if (this.form.text.trim() != '') {
hotWord({ action: "entity_extract", language: "zh", text: this.form.text.trim() }).then(res => {
this.form.result = res.score;
})
} else {
alert('未识别到主体!');
}
} else if (this.form.technique == 3) {
if (this.form.text.trim() != '') {
summary({ language: "zh", text: this.form.text.trim() }).then(res => {
this.form.result = res.score;
})
} else {
alert('未识别到主体!');
}
} else if (this.form.technique == 4) {
if (this.form.text.trim() != '') {
emotionNews({ data: this.form.text.trim() }).then(res => {
this.form.result = res.score;
})
} else {
alert('未识别到主体!');
}
} else {
alert("敬请期待");
}
}
},
mounted() {
this.dialogVisible = this.$props.visible;
this.form.technique = this.$props.type;
}
}
</script>
<style lang="scss">
.el-dialog {
padding: 20px;
box-sizing: border-box;
background-color: transparent;
background-image: url(../../../assets/img/home/dialog.png);
background-size: 100% 100%;
background-repeat: no-repeat;
.el-input__inner {
border: 1px solid #535353 !important;
box-shadow: 0 0 10px #535353;
}
.el-dialog__header {
text-align: center;
}
.el-textarea__inner {
color: white;
border: 1px solid #535353 !important;
box-shadow: 0 0 10px #535353;
background-color: transparent;
}
}
</style>
\ No newline at end of file
...@@ -158,16 +158,19 @@ ...@@ -158,16 +158,19 @@
background: linear-gradient( to bottom,rgb(92 204 211),rgb(102, 166, 255),rgb(92 204 211)); background: linear-gradient( to bottom,rgb(92 204 211),rgb(102, 166, 255),rgb(92 204 211));
font-weight: 900; font-weight: 900;
letter-spacing: 2; letter-spacing: 2;
">开始试用</el-button> " @click="startUsing">开始试用</el-button>
</div> </div>
</div> </div>
</div> </div>
</transition> </transition>
<NewTechniqueDialog v-if="visible" :visible="visible" :type="obj_xq.type" @handleCancel="closeDialog"></NewTechniqueDialog>
</div> </div>
</template> </template>
<script> <script>
import VanillaTilt from "vanilla-tilt"; import VanillaTilt from "vanilla-tilt";
import "animate.css"; import "animate.css";
import NewTechniqueDialog from '../xjssy/components/newTechniqueDialog.vue';
export default { export default {
data() { data() {
return { return {
...@@ -250,8 +253,12 @@ export default { ...@@ -250,8 +253,12 @@ export default {
}, },
], ],
obj_xq: {}, obj_xq: {},
visible: false
}; };
}, },
components: {
'NewTechniqueDialog': NewTechniqueDialog
},
// props: { // props: {
// clientDetails: { // clientDetails: {
// type: Object, // type: Object,
...@@ -267,6 +274,12 @@ export default { ...@@ -267,6 +274,12 @@ export default {
} }
this.xqIsShow = !this.xqIsShow; this.xqIsShow = !this.xqIsShow;
}, },
closeDialog() {
this.visible = false;
},
startUsing() {
this.visible = true;
}
}, },
mounted() { mounted() {
let _this = this; let _this = this;
...@@ -289,6 +302,7 @@ export default { ...@@ -289,6 +302,7 @@ export default {
height: 100%; height: 100%;
display: flex; display: flex;
align-items: center; align-items: center;
.left-divs { .left-divs {
width: 20%; width: 20%;
height: 100%; height: 100%;
...@@ -404,7 +418,7 @@ export default { ...@@ -404,7 +418,7 @@ export default {
padding: 2%; padding: 2%;
border: 1px solid #3a5f94c9; border: 1px solid #3a5f94c9;
border-radius: 0px 50px; border-radius: 0px 50px;
.el-divider--horizontal { .el-divider--horizontal {
margin: 20px 6px; margin: 20px 6px;
......
...@@ -111,6 +111,12 @@ module.exports = { ...@@ -111,6 +111,12 @@ module.exports = {
pathRewrite: { pathRewrite: {
'^/api_wmts/': '/' '^/api_wmts/': '/'
} }
},
'/api_technique_emotion/': {
target: 'http://192.168.168.212:7550',
pathRewrite: {
'^/api_technique_emotion/': '/'
}
} }
} }
} }
......
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