Commit d5e12337 authored by 夏敏伟's avatar 夏敏伟

提交修改内容

parent dff9e823
......@@ -8,6 +8,7 @@
html body {
height: 100%;
margin: 0px !important;
overflow: hidden;
}
</style>
</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 { get, post, delete_util, fileUpload_PUT, addParam } from "../util/http_util";
import { post_technique } from "../util/http_util";
//命名实体识别 api_technique_entity
//热词 api_technique_hotWord
//消息摘要算法 api_technique_summary
//情感 api_technique_emotion
const PREFIX_NEWTECHNIQUE = "http://192.168.168.117:8080/kg/input/news";
//命名实体识别
export const entity = data => {
return post(`api_technique_entity/entitu_extract_model_mapping`, data);
}
//热词
export const hotWord = data=>{
return post(`${PREFIX_NEWTECHNIQUE}hotWord`,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
......@@ -12,4 +12,21 @@ export const queryDoc = (pageNum, pageSize, params) => {
export const searchFiles = (pageNum, pageSize, params) => {
return post(`${PREFIX_ELASTIC}searchFiles?pageNum=${pageNum}&pageSize=${pageSize}`, params);
}
\ No newline at end of file
}
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 = {}) => {
})
};
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 {
get,
......@@ -609,5 +635,6 @@ export {
get_exame,
post_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>
<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">
<el-form ref="form" :model="form" label-width="80px">
<el-form-item label="标题">
......@@ -45,4 +45,35 @@ export default {
this.dialogVisible = this.$props.visible;
}
}
</script>
\ No newline at end of file
</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;
}
.el-upload-dragger{
background-color: transparent;
}
}
</style>
\ No newline at end of file
......@@ -131,7 +131,7 @@
</div>
<div class="sendMessageButtonList">
<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>
</div>
</div>
......@@ -142,6 +142,11 @@
</div>
</transition>
<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>
</template>
......@@ -152,6 +157,8 @@ import goBack from '../../assets/img/xjs/4.png';
import arrow from '../../assets/img/ddkz/8.png';
import avatar from '../../assets/img/ddkz/headPhoto.jpg';
import NoticeDialog from '../../view/ddkz/components/noticeDialog.vue';
import ChatRoomDialog from "./components/chatRoomDialog.vue";
import ChatRoomPeople from "./components/chatRoomPeople.vue";
export default {
data() {
return {
......@@ -519,11 +526,15 @@ export default {
// ]),
avatar: avatar,
sendMessage: '',
visible: false
visible: false,
chatRoomVisible: false,
chatRoomPeopleVisible: false
}
},
components: {
'noticeDialog-a': NoticeDialog
'noticeDialog-a': NoticeDialog,
ChatRoomDialog: ChatRoomDialog,
ChatRoomPeople: ChatRoomPeople
},
methods: {
onSearch() {
......@@ -542,7 +553,7 @@ export default {
this.keepBottom();
this.sendMessage = '';
}, 100);
}else{
} else {
this.$message.warning('不能发送空白信息');
}
},
......@@ -555,6 +566,18 @@ export default {
},
sendNotice() {
this.visible = true;
},
closeDialogChatRoom() {
this.chatRoomVisible = false;
},
test() {
this.chatRoomVisible = true;
},
closeDialogChatRoomPeople() {
this.chatRoomPeopleVisible = false;
},
test1(){
this.chatRoomPeopleVisible = true;
}
},
mounted() {
......@@ -566,6 +589,7 @@ export default {
.ddkz {
width: 100%;
height: 100%;
overflow-x: hidden;
.ddkz-all {
width: 100%;
......@@ -682,8 +706,9 @@ export default {
display: flex;
justify-content: center;
align-items: center;
animation:scaleDraw1 ease-in-out infinite 1s alternate;
animation: scaleDraw1 ease-in-out infinite 1s alternate;
opacity: 1;
.circle {
width: 16px;
height: 16px;
......@@ -702,15 +727,17 @@ export default {
background-color: #f4c659;
}
}
@keyframes scaleDraw1 {
from{
transform: scale(1.2);
opacity: 1;
}
to{
transform: scale(1);
opacity: 0.5;
}
from {
transform: scale(1.2);
opacity: 1;
}
to {
transform: scale(1);
opacity: 0.5;
}
}
&>div:first-child {
......@@ -1097,7 +1124,15 @@ export default {
}
}
}
.el-icon-setting{
position: absolute;
right: -10px;
bottom: 30px;
font-size: 35px;
&:hover{
right: 10px;
}
}
}
</style>
\ No newline at end of file
This diff is collapsed.
......@@ -838,6 +838,7 @@ export default {
mounted() {
let _this = this;
_this.format_files = format_file();
this.searchs(1);
//默认查询数据
// _this.searchs(1);
// _this.options = [];
......
......@@ -287,7 +287,7 @@ export default {
console.log(err);
});
//ws创建
this.$store.dispatch("initWebsocket");
// this.$store.dispatch("initWebsocket");
//获取通知消息数量
// get("api/rest/system/user/countNotification?account=" + this.userInfo.account)
// .then(res => {
......
......@@ -129,8 +129,8 @@
width: calc(15% - 10px);
height: 100%;
margin-left: 10px;
border: 1px solid #146a80 !important;
box-shadow: 0 0 10px #1b6097;
border: 1px solid #535353 !important;
box-shadow: 0 0 10px #535353;
.jsgl-tree {
width: 100%;
......@@ -206,8 +206,8 @@
width: 85%;
height: 100%;
margin-left: 10px;
border: 1px solid #146a80 !important;
box-shadow: 0 0 10px #1b6097;
border: 1px solid #535353 !important;
box-shadow: 0 0 10px #535353;
.new-user {
width: 120px;
......@@ -325,8 +325,8 @@
.el-input__inner {
background: none;
color: #ffff;
border: 1px solid #146a80 !important;
box-shadow: 0 0 10px #1b6097;
border: 1px solid #535353 !important;
box-shadow: 0 0 10px #535353;
}
.el-input__count {
......
......@@ -302,8 +302,8 @@
.el-input__inner {
background: none;
color: #ffff;
border: 1px solid #3a5f94c9 !important;
box-shadow: 0 0 10px #3a5f94c9;
border: 1px solid #535353 !important;
box-shadow: 0 0 10px #535353;
}
.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 @@
background: linear-gradient( to bottom,rgb(92 204 211),rgb(102, 166, 255),rgb(92 204 211));
font-weight: 900;
letter-spacing: 2;
">开始试用</el-button>
" @click="startUsing">开始试用</el-button>
</div>
</div>
</div>
</transition>
<NewTechniqueDialog v-if="visible" :visible="visible" :type="obj_xq.type" @handleCancel="closeDialog"></NewTechniqueDialog>
</div>
</template>
<script>
import VanillaTilt from "vanilla-tilt";
import "animate.css";
import NewTechniqueDialog from '../xjssy/components/newTechniqueDialog.vue';
export default {
data() {
return {
......@@ -250,8 +253,12 @@ export default {
},
],
obj_xq: {},
visible: false
};
},
components: {
'NewTechniqueDialog': NewTechniqueDialog
},
// props: {
// clientDetails: {
// type: Object,
......@@ -267,6 +274,12 @@ export default {
}
this.xqIsShow = !this.xqIsShow;
},
closeDialog() {
this.visible = false;
},
startUsing() {
this.visible = true;
}
},
mounted() {
let _this = this;
......@@ -289,6 +302,7 @@ export default {
height: 100%;
display: flex;
align-items: center;
.left-divs {
width: 20%;
height: 100%;
......@@ -404,7 +418,7 @@ export default {
padding: 2%;
border: 1px solid #3a5f94c9;
border-radius: 0px 50px;
.el-divider--horizontal {
margin: 20px 6px;
......
......@@ -111,6 +111,12 @@ module.exports = {
pathRewrite: {
'^/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