跳到主要内容

门户设计和配置

1.进到设计器页面,新增一个表格组件和列表组件

2.将数据类型配置成 动态数据api

数据配置完成后,可以点击刷新,查看是否配置正常

3.交互配置

  • 表格:按钮配置
  • 列表:触发动作 1.按钮交互 配置交互按钮,新增一个打开弹窗的按钮,task为jeecg-boot-vue3项目的对应弹窗类型(可自己定义);

或者配置打开路由或者外部链接

2.触发动作

配置同按钮配置类似,这里直接配置 触发动作 即可,无需新增,参数的传递和定义均相同

4.信息显示

保存后,按钮信息会回显到表格上,列表测直接点击对应列即可

5.仪表盘配置到jeecgboot项目菜单 参考

6.按钮或列表点击,触发相应操作

  • 传参介绍
参数描述
CMD"drag"仪表盘类型
result{"records": {},"action": "modal","type": "task","url": "" }参数

result介绍 :

参数描述
records业务数据
action触发动作 modal:弹窗 url:路径
type弹窗类型
url路径地址
  • jeecgboot-vue3前端集成方式,详情可参考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;
}
}
}
//*******省略部分代码*****