触发动作配置
触发动作配置,可在列表信息时,触发相应的弹窗和打开页面操作
触发动作适用于
数据列表
、日历
控件

1.添加图表
以饼图为例,点击数据
选择数据列表
,即可添加数据列表组件
2.设置触发动作
配置操作类型以及弹窗组件和路径信息
3.项目集成
按钮点击会触发推送消息,项目集成WebSocket通讯,接受消息后,根据配置的按钮类型,进行对应弹窗或者路径跳转操作,详情可参考JeecgBoot前端项目的具体hook配置:
src/hooks/web/useDragNotice.ts
核心代码:
export function useDragNotice() {
//*******省略部分代码*****
//1.连接websocket
function initWebSocket() {
connectWebSocket(url);
onWebSocket(onWebSocketMessage);
}
//2.监听消息通知
async function onWebSocketMessage(data) {
//2.监听对应出发的动作
if (data.CMD === 'drag') {
//触发动作 (url:路径 / modal:弹窗)
const action = data.result.action;
//弹窗类型
const type = data.result.type;
//url地址(路由 / 外部链接)
const url = data.result.url;
//根据不同类型,触发后续不同的业务逻辑
switch (type) {
case 'task':
const { formData, formUrl } = await getTaskNodeInfo(record);
formData['PROCESS_TAB_TYPE'] = 'run';
handleOpenType('task', { formData, formUrl, title: '流程办理' });
break;
}
}
}
//*******省略部分代码*****