提交 7039a9d9 编写于 作者: guangjun.yang's avatar guangjun.yang

结束会话等

上级 505491eb
...@@ -5,7 +5,6 @@ import routes from './router/router' ...@@ -5,7 +5,6 @@ import routes from './router/router'
import store from './store/' import store from './store/'
const mixins = require('@/utils/mixins'); const mixins = require('@/utils/mixins');
import vueFilters from '@/utils/filter' import vueFilters from '@/utils/filter'
// import '@/utils/qiniu.min'
// 引入ElementUI // 引入ElementUI
import ElementUI from 'element-ui' import ElementUI from 'element-ui'
......
...@@ -280,74 +280,49 @@ export default { ...@@ -280,74 +280,49 @@ export default {
} }
}; };
}, },
watch: {
// 监听消息列表的变化,添加sessionFlag(会话结束标志)
messageList: {
handler(newMsgList) {
let l = newMsgList.length;
if(l >= 2) {
for(let i = 1; i < l - 1; i ++) {
if(newMsgList[i-1].taskLogId == newMsgList[i].taskLogId) {
newMsgList[i].sessionFlag = true;
}
}
}
},
deep: true
}
},
mounted: function() { mounted() {
// (function(window) { this.resizeHeight();
// var _element = document.querySelector(".scroll-box"),
// _refreshText = document.querySelector(".refreshText"),
// _startPos = 0,
// _transitionHeight = 0,
// _isMousedown = false,
// _canRefresh = false;
// _element.addEventListener(
// "mousedown",
// function(e) {
// var event = e || window.event;
// _isMousedown = true;
// _canRefresh = false;
// console.log("##########", event);
// console.log("初始位置:", event.pageX);
// _startPos = event.pageX;
// _element.style.position = "relative";
// _element.style.transition = "transform 0s";
// },
// false
// );
// _element.addEventListener(
// "mousemove",
// function(e) {
// if (!_isMousedown) return;
// var event = e || window.event;
// console.log("##########", event);
// console.log("当前位置:", event.pageX);
// _transitionHeight = event.pageX - _startPos;
// if (_transitionHeight > 0 && _transitionHeight < 40) {
// _canRefresh = true;
// // _refreshText.innerText = "下拉刷新";
// _refreshText.innerText = "";
// _element.style.transform =
// "translateY(" + _transitionHeight + "px)";
// if (_transitionHeight > 20) {
// // _refreshText.innerText = "释放更新";
// _refreshText.innerText = "";
// }
// }
// },
// false
// );
// _element.addEventListener(
// "mouseup",
// function(e) {
// _isMousedown = false;
// _element.style.transition = "transform 0.5s ease 1s";
// _element.style.transform = "translateY(0px)";
// // _refreshText.innerText = "更新中";
// _refreshText.innerText = "";
// // if (_canRefresh) {
// // _canRefresh = false;
// // _this.getOldMSGHistory();
// // }
// },
// false
// );
// })(window);
}, },
methods: { methods: {
//
resizeHeight(
cMinusHeight = 152,
iMinuxHeight = 210,
refHeightId = "slidebar-container",
containerHeightId = "screenSet"
) {
let containerHeight =
p_getElm(refHeightId).getBoundingClientRect().height - 15;
p_getElm(containerHeightId).style.height =
containerHeight - cMinusHeight + "px";
console.log('containerHeight', containerHeight);
window.onresize = function() {
console.log('containerHeight2', containerHeight);
containerHeight =
p_getElm(refHeightId).getBoundingClientRect().height - 15;
p_getElm(containerHeightId).style.height =
containerHeight - cMinusHeight + "px";
};
},
// 处理发送消息 // 处理发送消息
// 1: 先将消息体直接显示在对话框中 // 1: 先将消息体直接显示在对话框中
// 2: 设置一个时间戳,以便再次找回 // 2: 设置一个时间戳,以便再次找回
...@@ -375,10 +350,10 @@ export default { ...@@ -375,10 +350,10 @@ export default {
msg.realTimestamp = this.realTimestamp; msg.realTimestamp = this.realTimestamp;
console.log("####msg####", msg); console.log("####msg####", msg);
this.messageList.push(msg); this.messageList.push(msg);
this.$nextTick( () => { this.$nextTick(() => {
var element = document.querySelector(".scroll-box"); var element = document.querySelector(".scroll-box");
element.scrollTop = element.scrollHeight; element.scrollTop = element.scrollHeight;
}) });
}, },
// //
...mapMutations(["SET_IS_FROM_ASSIGN_TASK"]), ...mapMutations(["SET_IS_FROM_ASSIGN_TASK"]),
...@@ -473,7 +448,11 @@ export default { ...@@ -473,7 +448,11 @@ export default {
// type == custom时,18: PDF文件(showType:3); 19: 链接信息(showType:4); 1 ~ 17: 不支持的消息类型(showType:5); // type == custom时,18: PDF文件(showType:3); 19: 链接信息(showType:4); 1 ~ 17: 不支持的消息类型(showType:5);
// directFlag 1: 第一次取数据; 2: 拼接实时消息(push); 3: 拼接历史消息(unshift); // directFlag 1: 第一次取数据; 2: 拼接实时消息(push); 3: 拼接历史消息(unshift);
convertMessageList(messageList, directFlag = 1) { convertMessageList(messageList, directFlag = 1) {
console.log("@@@@@@messageList, directFlag@@@@@", messageList, directFlag); console.log(
"@@@@@@messageList, directFlag@@@@@",
messageList,
directFlag
);
messageList.sort((a, b) => { messageList.sort((a, b) => {
return a.timestamp - b.timestamp; return a.timestamp - b.timestamp;
}); });
...@@ -532,20 +511,13 @@ export default { ...@@ -532,20 +511,13 @@ export default {
msg.size = size; msg.size = size;
msg.url = url; msg.url = url;
msg.sessionFlag = false; msg.sessionFlag = false;
// 设置是否是会话结束标志
if (cMessageList.length >= 1) {
if (
cMessageList[cMessageList.length - 1].taskLogId !== msg.taskLogId
) {
msg.sessionFlag = true;
}
}
cMessageList.push(msg); cMessageList.push(msg);
}); });
console.log("$$$$$$$converted, cMessageList$$$$$$$", cMessageList); console.log("$$$$$$$converted, cMessageList$$$$$$$", cMessageList);
if (directFlag === 1) { if (directFlag === 1) {
forwardMsgIntervalId && clearInterval(forwardMsgIntervalId);
this.messageList = cMessageList; this.messageList = cMessageList;
this.$nextTick(() => { this.$nextTick(() => {
const scrollBoxDom = document.querySelector(".scroll-box"); const scrollBoxDom = document.querySelector(".scroll-box");
...@@ -562,7 +534,7 @@ export default { ...@@ -562,7 +534,7 @@ export default {
} else if (directFlag === 2) { } else if (directFlag === 2) {
this.contactForwardMessage(cMessageList); this.contactForwardMessage(cMessageList);
} else { } else {
if(cMessageList.length) { if (cMessageList.length) {
this.messageList.unshift(...cMessageList); this.messageList.unshift(...cMessageList);
this.$nextTick(() => { this.$nextTick(() => {
const scrollBoxDom = document.querySelector(".scroll-box"); const scrollBoxDom = document.querySelector(".scroll-box");
...@@ -580,8 +552,8 @@ export default { ...@@ -580,8 +552,8 @@ export default {
} }
} }
// 自己发送消息时,暂时不刷新消息
if (directFlag == 1) { if (directFlag == 1) {
forwardMsgIntervalId && clearInterval(forwardMsgIntervalId);
forwardMsgIntervalId = setInterval(() => { forwardMsgIntervalId = setInterval(() => {
this.getMSGForward(); this.getMSGForward();
}, 10000); }, 10000);
...@@ -592,15 +564,15 @@ export default { ...@@ -592,15 +564,15 @@ export default {
// 接接数据 // 接接数据
contactForwardMessage(cMessageList) { contactForwardMessage(cMessageList) {
let content = {}, let content = {},
signature = "", signature = "",
msgIndex = -1, msgIndex = -1,
newMsgList = [], newMsgList = [],
flag = false; flag = false;
cMessageList.forEach(item => { cMessageList.forEach(item => {
content = {}; content = {};
signature = ""; signature = "";
msgIndex = -1; msgIndex = -1;
newMsgList = []; newMsgList = [];
if (item.type.toLowerCase() == "custom") { if (item.type.toLowerCase() == "custom") {
content = JSON.parse(item.content); content = JSON.parse(item.content);
if (content.bizType == -1) { if (content.bizType == -1) {
...@@ -621,15 +593,25 @@ export default { ...@@ -621,15 +593,25 @@ export default {
} else { } else {
flag = true; flag = true;
this.messageList.push(item); this.messageList.push(item);
} }
}); });
if(flag){ if (flag) {
this.$nextTick( () => { this.$nextTick(() => {
var element = document.querySelector(".scroll-box"); var element = document.querySelector(".scroll-box");
// element.scrollTop, element.scrollHeight true 1866 1877 // element.scrollTop, element.scrollHeight true 1866 1877
console.log('element.scrollTop, element.scrollHeight', element.scrollHeight, element.scrollTop >= element.scrollHeight - element.offsetHeight - 500, element.scrollTop, element.scrollHeight - element.offsetHeight - 200); console.log(
// element.scrollTop, element.scrollHeight 1866 true 1066 1001 "element.scrollTop, element.scrollHeight",
if(element.scrollTop >= element.scrollHeight - element.offsetHeight - 500) { element.scrollHeight,
element.scrollTop >=
element.scrollHeight - element.offsetHeight - 500,
element.scrollTop,
element.scrollHeight - element.offsetHeight - 200
);
// element.scrollTop, element.scrollHeight 1866 true 1066 1001
if (
element.scrollTop >=
element.scrollHeight - element.offsetHeight - 500
) {
element.scrollTop = element.scrollHeight - element.offsetHeight; element.scrollTop = element.scrollHeight - element.offsetHeight;
} }
}); });
......
Markdown 格式
0% or
您添加了 0 到此讨论。请谨慎行事。
先完成此消息的编辑!
想要评论请 注册