提交 8969437d 编写于 作者: guangjun.yang's avatar guangjun.yang

关闭会话等

上级 ca3d46e3
......@@ -64,6 +64,7 @@
</section>
</template>
<script>
import { mapGetters, mapMutations } from 'vuex';
let clipboard = null;
export default {
props: {
......@@ -88,10 +89,24 @@ export default {
stickerIdList: []
};
},
computed: {
...mapGetters(['stickerCacheMap']),
},
watch: {
taskLogId(newVal) {
if(this.stickerCacheMap[newVal]) {
this.stickerIdList = this.stickerCacheMap[newVal];
} else {
this.stickerIdList = [];
}
}
},
created() {
this.getStickerList();
},
methods: {
...mapMutations(['SET_STICKER_CACHE_MAP']),
// 查询所有的问题分类
getStickerList() {
this.GET(`/im/sticker/list`).then(res => {
......@@ -109,8 +124,9 @@ export default {
// 保存用户问题分类
stickerSave(status) {
// 下拉框出现或者选项为空时,直接退出
// 下拉框出现(status==true)或者选项为空时,直接退出
if(status || !this.stickerIdList.length) return;
this.SET_STICKER_CACHE_MAP({key: this.taskLogId, idList: this.stickerIdList});
let params = {
stickerIdList: this.stickerIdList,
taskLogId: this.taskLogId,
......@@ -135,6 +151,7 @@ export default {
// .footer:文档的CSS类名
text: function(trigger) {
console.log(_this.userInfo.mobilePhoneCopy);
_this.$message.success('复制成功');
return _this.userInfo.mobilePhoneCopy; // 要粘贴的文案
}
});
......
const common = {
state: {
_token: '',
// 问题归类
stickerCacheMap: {
}
},
mutations: {
CHANGE_TOKEN: (state, data) => {
state._token = data
},
SET_STICKER_CACHE_MAP: (state, chcheMap) => {
state.stickerCacheMap[chcheMap.key] = chcheMap.idList;
},
},
actions: {
changeToken({ commit }, tokenData) {
......
const getters = {
_token: state => state.common._token,
stickerCacheMap: state => state.common.stickerCacheMap,
}
export default getters
......@@ -4,62 +4,62 @@ const vueFilter = {
return new Date(value).format("yyyy-MM-dd hh:mm:ss");
},
liveFilter: (value) => {
if(value.liveStatus == 1){
if (value.liveStatus == 1) {
return '未开始'
} else if(value.liveStatus == 5) {
} else if (value.liveStatus == 5) {
return '直播中'
}else if(value.liveStatus == 10 && value.lookBackStatus == 2){
} else if (value.liveStatus == 10 && value.lookBackStatus == 2) {
return '已结束(不可回看)'
}else if(value.liveStatus == 10 && value.lookBackStatus == 1) {
} else if (value.liveStatus == 10 && value.lookBackStatus == 1) {
return '已结束(可回看)'
}
},
liveStatusFilter: (value) => {
if(value == 1) return "隐藏"
if (value == 1) return "隐藏"
else return "发布"
},
liveTeacherType: (value) => {
let doctorName = []
if(value.length > 3) {
for(let i = 0; i < 3; i++) {
if (value.length > 3) {
for (let i = 0; i < 3; i++) {
doctorName.push(value[i].doctorName)
}
return doctorName.join("、") + '...'
}else{
for(let i = 0; i < value.length; i++) {
} else {
for (let i = 0; i < value.length; i++) {
doctorName.push(value[i].doctorName)
}
return doctorName.join("、")
}
},
controlType: (value) => {
if(value == 1) {
if (value == 1) {
return '分页1'
}else if(value == 2) {
} else if (value == 2) {
return '分页2'
}else if(value == 3) {
} else if (value == 3) {
return '图片1'
}else if(value == 4) {
} else if (value == 4) {
return '图片2'
}else if(value == 6) {
} else if (value == 6) {
return '视频'
}
},
tabControlType: (value) => {
if(value == 3) {
if (value == 3) {
return '图片1'
}else if(value == 4) {
} else if (value == 4) {
return '图片2'
}else if(value == 6) {
} else if (value == 6) {
return '视频'
}
},
refreshType: (value) => {
if(value == 1) return "支持"
if (value == 1) return "支持"
else return "不支持"
},
moudleType: (value) => {
if(value == 1) return "未激活"
if (value == 1) return "未激活"
else return "激活"
},
dateFilter: (value) => {
......@@ -67,110 +67,140 @@ const vueFilter = {
return new Date(value).format("yyyy-MM-dd hh:mm");
},
appColumnStatusFilter: (value) => {
if(value == 1) return "未提交"
else if(value == 4) return "已提交"
if (value == 1) return "未提交"
else if (value == 4) return "已提交"
},
statusFilter: (value) => {
if(value == 1) return "已创建"
else if(value == 5) return "已发布"
if (value == 1) return "已创建"
else if (value == 5) return "已发布"
else return "已下架"
},
linkTypeFilter: (value) => { // 跳转类型
if(value == 1) return '链接'
else if(value == 4) return '模块'
if (value == 1) return '链接'
else if (value == 4) return '模块'
else return '无跳转'
},
teacherStatusFilter: (value) => {
if(value == 1) return "已下架"
if (value == 1) return "已下架"
else return "已发布"
},
moduleTypeFilter: (value,data) => { // 模块类型
for(let key in data) {
if(value == key) {
moduleTypeFilter: (value, data) => { // 模块类型
for (let key in data) {
if (value == key) {
return data[key]
}
}
},
contentCreatedType: (value,data) => {
for(let i = 0; i< data.length;i++) {
if(value == data[i].id) {
contentCreatedType: (value, data) => {
for (let i = 0; i < data.length; i++) {
if (value == data[i].id) {
return data[i].name
}
}
},
contentModifiedType: (value,data) => {
for(var i=0; i < data.length;i++) {
if(value == data[i].id) {
contentModifiedType: (value, data) => {
for (var i = 0; i < data.length; i++) {
if (value == data[i].id) {
return data[i].name
}
}
},
columnPositionType: (value,data) => { // 位置
for(let key in data) {
if(value == key) {
columnPositionType: (value, data) => { // 位置
for (let key in data) {
if (value == key) {
return data[key]
}
}
},
// 项目组件
statusFileter: (value) => {
if(value == 1) {
if (value == 1) {
return '草稿'
}else if(value == 2) {
} else if (value == 2) {
return '未启用'
}else if(value == 3) {
} else if (value == 3) {
return '已启用'
}else {
} else {
return '已禁用'
}
},
//项目管理
statusProject: (value) => {
if(value == 1) {
if (value == 1) {
return '草稿'
}else if(value == 2) {
} else if (value == 2) {
return '未上架'
}else if(value == 3) {
} else if (value == 3) {
return '审批中'
}else if(value == 4) {
} else if (value == 4) {
return '已上架'
}else if(value == 5) {
} else if (value == 5) {
return '已下架'
}else {
} else {
return '已拒绝'
}
},
projeceRoleType: (value) => {
if(value == "L1") {
if (value == "L1") {
return '内部管理员'
}else if(value == "L2") {
} else if (value == "L2") {
return '项目负责人'
}else if(value == "L3") {
} else if (value == "L3") {
return '次级负责人'
} else if(value == "L4") {
} else if (value == "L4") {
return '普通用户'
}
},
// 问卷
questionStatus: (value) => {
if(value == 1) {
if (value == 1) {
return '下线'
}else {
} else {
return '上线'
}
},
modifyType: (value,data) => {
modifyType: (value, data) => {
let userName = ''
for(let i=0; i < data.length;i++) {
if(value == data[i].id) {
for (let i = 0; i < data.length; i++) {
if (value == data[i].id) {
userName = data[i].userName
break
}else {
} else {
userName = ''
}
}
return userName
},
// 时间处理
timeFormat: (value) => {
let cTime = new Date().getTime();
// var $time = document.getElementById("share-time");
// var date = $time.innerHTML.trim();
var tt = new Date(parseInt(value));
var days = parseInt((cTime - value) / 86400000);
var today = new Date().getDate();
var year = tt.getFullYear();
var mouth = tt.getMonth() + 1;
var day = tt.getDate();
var time = tt.getHours() < 10 ? "0" + tt.getHours() : tt.getHours();
var min = tt.getMinutes() < 10 ? "0" + tt.getMinutes() : tt.getMinutes();
var result, offset;
offset = Math.abs(today - day);
if (days < 4 && offset < 4) {
if (offset === 0) {
result = "今天" + time + ":" + min;
} else if (offset === 1) {
result = "昨天" + time + ":" + min;
} else if (offset === 2) {
result = "前天" + time + ":" + min;
}
} else {
result = year + "-" + mouth + "-" + day + " " + time + ":" + min;
}
// $time.innerHTML = result;
return result;
}
}
export default vueFilter
\ No newline at end of file
......@@ -188,3 +188,4 @@ export function getPhomeDemain() {
return getConfigByEnvType('phomeDemain')
}
......@@ -194,9 +194,10 @@
color: #2f86f6;
}
& > .mid-pdf {
max-width: 260px;
width: 260px;
display: flex;
flex-direction: row;
justify-content: space-between;
text-align: left;
padding: 10px 15px;
background: #f0f1f2;
......@@ -207,6 +208,7 @@
display: flex;
flex-direction: column;
justify-content: space-around;
margin-right: 10px;
.name {
font-size: 13px;
color: #333333;
......
......@@ -22,7 +22,7 @@
<div class="desc">
<div class="top">
<span class="name">{{session.toName}}</span>
<span class="time small">{{session.lastMsgTime}}</span>
<span class="time small">{{session.lastMsgTime | timeFormat}}</span>
</div>
<div class="bottom">
<span>{{session.text}}</span>
......@@ -62,7 +62,7 @@
<img :src="item.avatarImg" alt />
</div>
<div class="msg-item-detail">
<span class="mid-time">{{item.timestamp}}</span>
<span class="mid-time">{{item.timestamp | timeFormat}}</span>
<div v-if="item.showType == 1" class="mid-text-wrapper" style="max-width: 520px;">
<img v-show="item.sendFlag" src="../../../assets/image/IM/icon-no-send.png" alt />
<div class="mid-text">{{item.text}}</div>
......@@ -201,8 +201,8 @@ export default {
historyTimestamp: 0,
realTimestamp: 0,
doctorInfo: {
name: "杨Song",
mobilePhone: "138****7261",
name: "",
mobilePhone: "",
isShowCopyBtn: true
},
containerHeight: CONTAINER_HEIGHT,
......@@ -594,11 +594,14 @@ export default {
// 关闭一个任务
closeOneTask(session) {
let params = {
taskLogId: session.id
taskLogId: session.taskLogId
};
this.POST(`/im/session/kf/closeOneTask`, params).then(res => {
if (res.code === "000000") {
console.log("in closeOneTask", res);
if(res.data == 1) {
this.getSessionList();
}
} else {
this.$message({
message: res.message,
......
Markdown 格式
0% or
您添加了 0 到此讨论。请谨慎行事。
先完成此消息的编辑!
想要评论请 注册