1. 首页
  2. 全部文档
  3. 开发框架模块手册
  4. 电脑端自定义生成菜单

电脑端自定义生成菜单

电脑端自定义生成菜单

  • 模块项目:
    • 我们为客户和学员提供的框架及演示项目中,均有此成熟模块,这个菜单自定义添加生成逻辑由我们设计但更多是提供一种设计思路,开发者可以设计自己的菜单生成逻辑模块
    • 目前的逻辑中没有太多复杂功能,需要更复杂功能,比如菜单也需要授权查看使用需另外添加开发逻辑,开发者可以自己尝试处理

模块及逻辑说明

菜单名称添加及菜单分组显示

  • 我们为框架项目设计了一个“sys_menu”名称的菜单数据库表,菜单用一条条记录存入此库表
  • 菜单名称我们实际是设计了一个菜单输入弹窗,通过将菜单名部分名称以“菜单序号-菜单名称”格式进行录入,其中菜单序号我们第一位为子系统标识,前两位是菜单组标记,名称为菜单组名称,三位序号为菜单组下各页面标识,菜单名称就是三位序号后面的字符,如下图为我们录入数据库的菜单记录

菜单输入弹窗如下:

菜单输入后刷新系统显示如下菜单页面:

菜单功能添加及查看

  • 我们设计的菜单自定义页面中,还包括了功能点名称、功能使用说明管理、用户点击功能名称后弹出说明弹窗查看功能是什么,新的框架还有上传功能操作手册文件、用户可以下载操作手册的功能
    • 注意功能名称添加是在菜单定义弹窗最下部的输入框中处理的,各功能之间用“-”进行分隔地,但在显示时和后台处理时,各功能生成一条条独立的数据库表记录
    • 功能对应的记录是设计在框架的“sys_functions”库表中的
    • 功能管理包括添加、删除、功能说明等内容,以下为功能说明和开发者开发说明提交的窗口,这个功能主要是开发者用的,目的是为客户提供使用信息和为开发者维护者提供开发参考信息

菜单记录查询显示转为系统框架左侧菜单栏项目

  • 菜单记录提交后存入“sys_menu”数据库表中,而在我们的系统框架左侧菜单区,预处理逻辑中,生成显示的菜单名称逻辑是:
    • 先查询系统设定的菜单第一序号名称的记录,注意如果系统只有一个左菜单右内容框架页面,则应只有一个1位序号的序号标识和系统名称,将此字符输入作为相似查询条件,比如“1-”来查询其开头的所有记录
      • 如果要设计好几个子系统,则参考我们料卡项目案例(学员赠送学习的项目),需要对多个左菜单右内容框架页面中的菜单逻辑进行不同的等值查询设定
    • 查询出的记录,需要按前2位序号进行分组,比如以“1.1-xxx”和“1.2-xxx”的记录分别就会生成两组,这两个记录就是菜单组名称,菜单组名称显示在菜单标签中,但菜单组名称标签中没有显示页面的逻辑,只有显示下属菜单名称的逻辑
    • 在显示菜单名称逻辑中,会将序号标识和名称以“-”符号分开,名称显示在菜单显示元件中,而序号标识作为页面名称来使用;在每个菜单显示行中,都有一个点击事件,点击事件有很关键的两个逻辑:
      • 将当前点击的菜单和其他菜单的显示样式区分开来,去掉之前的显示菜单的背景色样式设定值、为当前菜单设定显示样式
      • 用菜单的前部序号标识,来将右侧内容区中同名的显示页面设定显示属性为Yes,而之前显示的页面是否显示属性设定为No不显示

  • 这个框架是用页面中“<Visible>”固定名称的属性,来定义此页面是否显示的,默认除了首页页面是不显示外,其他在设计时都是直接传入No值不显示的,当然也可以有不生成状态来处理启动时的不显示,然后传入Yes时再显示此页,且系统中每个这样的页面,属性中都设定了占满右侧内容区全部空间来显示,所以一个带标识的显示块就是一个页面(下图中样式属性hepa在样式文件中就是高度100%,宽度100%)