提交 11b6ec4d 编写于 作者: Shine-zwj's avatar Shine-zwj

新增消息组件环境配置-是否启用工作流

上级 8b12dd51
...@@ -84,140 +84,142 @@ ...@@ -84,140 +84,142 @@
</template> </template>
<script lang="ts"> <script lang="ts">
import {Vue, Component, Prop, Model, Emit} from "vue-property-decorator"; import {Vue, Component, Prop, Model, Emit} from "vue-property-decorator";
import {Subject} from "rxjs"; import {Environment} from '@/environments/environment';
import {Environment} from '@/environments/environment'; import moment from 'moment';
import moment from 'moment';
@Component({}) @Component({})
export default class AppMessagePopover extends Vue { export default class AppMessagePopover extends Vue {
// 是否显示小圆点 // 是否显示小圆点
public showIsDot: any = false; public showIsDot: any = false;
// 默认显示的tab页 // 默认显示的tab页
public default_tab_pane: any = "first"; public default_tab_pane: any = "first";
// 待办列表 // 待办列表
public myTasks: any = []; public myTasks: any = [];
// 待办面板标签 // 待办面板标签
public myTasksLabel: any = "待办"; public myTasksLabel: any = "待办";
// 待办面板显示条数 // 待办面板显示条数
public taskShowCnt:number = 0; public taskShowCnt:number = 0;
// 消息列表 // 消息列表
public myMsgs: any = []; public myMsgs: any = [];
// 消息面板标签 // 消息面板标签
public myMsgsLabel: any = "消息"; public myMsgsLabel: any = "消息";
// 信息面板显示条数 // 信息面板显示条数
public msgShowCnt:number = 0; public msgShowCnt:number = 0;
/** /**
* vue创建 * vue创建
*/ */
created(): void {} created(): void {}
/** /**
* vue挂载 * vue挂载
*/ */
mounted(): void { mounted(): void {
// 首次获取待办列表 if(!Environment.workflow){
this.getMyTasks(); return;
// 定时器:每隔1分钟重新获取待办列表
const timer = setInterval(()=>{
this.getMyTasks();
},60000);
// 监听定时器,在vue销毁前清除定时器
this.$once('hook:beforeDestroy',()=>{
// 清除定时器
clearInterval(timer);
});
} }
// 首次获取待办列表
this.getMyTasks();
// 定时器:每隔1分钟重新获取待办列表
const timer = setInterval(()=>{
this.getMyTasks();
},60000);
// 监听定时器,在vue销毁前清除定时器
this.$once('hook:beforeDestroy',()=>{
// 清除定时器
clearInterval(timer);
});
}
/** /**
* 获取待办列表 * 获取待办列表
*/ */
public getMyTasks() { public getMyTasks() {
let url: any = '/wfcore/mytasks'; let url: any = '/wfcore/mytasks';
this.$http.get(url).then((response: any) => { this.$http.get(url).then((response: any) => {
if (response && response.status == 200) { if (response && response.status == 200) {
const data: any = response.data; const data: any = response.data;
if (data && data.length > 0) { if (data && data.length > 0) {
this.myTasks = data; this.myTasks = data;
this.showIsDot = true; this.showIsDot = true;
} else { } else {
this.myTasks = []; this.myTasks = [];
}
// 获取消息列表
this.getMyMsgs();
} }
}).catch((error: any) => { // 获取消息列表
console.warn("加载数据错误"); this.getMyMsgs();
})
}
/**
* 获取消息列表
*/
public getMyMsgs(){
// TODO:接口获取消息列表,这里用的待办数据
this.myMsgs = this.myTasks;
if (this.myMsgs.length > 0 && this.myTasks.length == 0) {
// 显示小圆点
this.showIsDot = true;
} }
} }).catch((error: any) => {
console.warn("加载数据错误");
})
}
/** /**
* 点击标签事件 * 获取消息列表
*/ */
public handleTag(data: any) { public getMyMsgs(){
if (!data) return this.$message.error("未获取到标签内容"); // TODO:接口获取消息列表,这里用的待办数据
// 拼接要打开的窗口地址 this.myMsgs = this.myTasks;
const baseUrl:any = Environment.BaseUrl; if (this.myMsgs.length > 0 && this.myTasks.length == 0) {
const openUrl:any = baseUrl + `/wfcore/mytasks/${data.processDefinitionKey}/web/${data.processInstanceBusinessKey}/usertasks/${data.taskDefinitionKey}`; // 显示小圆点
// 打开新窗口 this.showIsDot = true;
window.open(openUrl,'_blank');
} }
}
/** /**
* 销毁之前 * 点击标签事件
*/ */
beforeDestroy(): void { public handleTag(data: any) {
// 清空数据 if (!data) return this.$message.error("未获取到标签内容");
this.showIsDot = false; // 拼接要打开的窗口地址
this.myTasks = []; const baseUrl:any = Environment.BaseUrl;
this.myMsgs = []; const openUrl:any = baseUrl + `/wfcore/mytasks/${data.processDefinitionKey}/web/${data.processInstanceBusinessKey}/usertasks/${data.taskDefinitionKey}`;
} // 打开新窗口
window.open(openUrl,'_blank');
}
/** /**
* 时间格式转换 * 销毁之前
*/ */
public formatDate(date: string, format: string) { beforeDestroy(): void {
if(date && format) { // 清空数据
return moment(date).format(format); this.showIsDot = false;
} this.myTasks = [];
return date; this.myMsgs = [];
} }
/** /**
* 加载更多 * 时间格式转换
*/ */
public showMore(cnt: string) { public formatDate(date: string, format: string) {
if(Object.is('taskShowCnt', cnt)) { if(date && format) {
this.taskShowCnt + 10 < this.myTasks.length ? this.taskShowCnt += 10 : this.taskShowCnt += this.myTasks.length-this.taskShowCnt; return moment(date).format(format);
}
if(Object.is('msgShowCnt', cnt)) {
this.msgShowCnt + 10 < this.myMsgs.length ? this.msgShowCnt += 10 : this.msgShowCnt += this.myMsgs.length-this.msgShowCnt;
}
} }
return date;
}
/** /**
* 弹出框 显示/隐藏 时显示条数初始化 * 加载更多
*/ */
public initTabCnt() { public showMore(cnt: string) {
this.taskShowCnt = this.myTasks.length >= 10 ? 10 : this.myTasks.length; if(Object.is('taskShowCnt', cnt)) {
this.msgShowCnt = this.myMsgs.length >= 10 ? 10 : this.myMsgs.length; this.taskShowCnt + 10 < this.myTasks.length ? this.taskShowCnt += 10 : this.taskShowCnt += this.myTasks.length-this.taskShowCnt;
}
if(Object.is('msgShowCnt', cnt)) {
this.msgShowCnt + 10 < this.myMsgs.length ? this.msgShowCnt += 10 : this.msgShowCnt += this.myMsgs.length-this.msgShowCnt;
} }
}
/**
* 弹出框 显示/隐藏 时显示条数初始化
*/
public initTabCnt() {
this.taskShowCnt = this.myTasks.length >= 10 ? 10 : this.myTasks.length;
this.msgShowCnt = this.myMsgs.length >= 10 ? 10 : this.myMsgs.length;
} }
}
</script> </script>
<style lang='less'> <style lang='less'>
......
Markdown 格式
0% or
您添加了 0 到此讨论。请谨慎行事。
先完成此消息的编辑!
想要评论请 注册